mirror of
https://github.com/zoriya/vim.git
synced 2025-12-11 17:56:17 +00:00
Compare commits
860 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8b055d170 | ||
|
|
56c860c315 | ||
|
|
e9bd57286a | ||
|
|
4dd751b956 | ||
|
|
df70775555 | ||
|
|
c7226684c8 | ||
|
|
ff9f27cdc7 | ||
|
|
026587b35c | ||
|
|
4ad62155a1 | ||
|
|
69cbbecf54 | ||
|
|
315244d85b | ||
|
|
d5cf89872e | ||
|
|
a3891681f7 | ||
|
|
413c04e8d5 | ||
|
|
9174639a82 | ||
|
|
9c272a9e52 | ||
|
|
24278d2407 | ||
|
|
ea94c85516 | ||
|
|
427dddf014 | ||
|
|
2f710afe7f | ||
|
|
c8fd33d18b | ||
|
|
78d629a385 | ||
|
|
9a2fddcf04 | ||
|
|
973d5304a4 | ||
|
|
52953194af | ||
|
|
7e6feb9eeb | ||
|
|
28e67e0c14 | ||
|
|
5dd143e223 | ||
|
|
9bca58f36d | ||
|
|
a4b2699e28 | ||
|
|
185d68a9d0 | ||
|
|
93344c2d70 | ||
|
|
6ace95e981 | ||
|
|
45311b5274 | ||
|
|
f077db2423 | ||
|
|
9570aacdb8 | ||
|
|
d5e3cc11d3 | ||
|
|
52992feafe | ||
|
|
0b5dc64446 | ||
|
|
08cc374dab | ||
|
|
4999a7fb65 | ||
|
|
a9ab391a3a | ||
|
|
fd8ca21b3f | ||
|
|
22a0c0c4ec | ||
|
|
0c779e8e48 | ||
|
|
820680b9ff | ||
|
|
2514315fc2 | ||
|
|
088e8e3443 | ||
|
|
a576f50662 | ||
|
|
39de6413c8 | ||
|
|
5184132ec0 | ||
|
|
47ed553fd5 | ||
|
|
8c5a278fc5 | ||
|
|
b59e735772 | ||
|
|
5bcc5a1ff9 | ||
|
|
d7663c22c6 | ||
|
|
0acae7acc4 | ||
|
|
f97d46f816 | ||
|
|
761fdf01c6 | ||
|
|
1b6d9c4215 | ||
|
|
b4a88a0441 | ||
|
|
6f33b893c6 | ||
|
|
fcfe1a9b89 | ||
|
|
7a4ea1df2f | ||
|
|
5d458a7b3d | ||
|
|
2debf1c16b | ||
|
|
fb06d767a8 | ||
|
|
c363fe1599 | ||
|
|
b8350abef0 | ||
|
|
a74e4946de | ||
|
|
e4ce825a55 | ||
|
|
25e42231d3 | ||
|
|
7cc535175a | ||
|
|
6cd57d4466 | ||
|
|
3c8ee62974 | ||
|
|
ac92e25a33 | ||
|
|
b2129068a5 | ||
|
|
505e43a20e | ||
|
|
c6538bcc1c | ||
|
|
749fa0af85 | ||
|
|
eda35f7127 | ||
|
|
edd680f364 | ||
|
|
72e1b39111 | ||
|
|
c7f1e40021 | ||
|
|
f2d8b7a0a6 | ||
|
|
1ccaa35abf | ||
|
|
dd00035cb5 | ||
|
|
50f91d22bd | ||
|
|
8750026a7f | ||
|
|
90f3e7ac56 | ||
|
|
f4fd7ecbc0 | ||
|
|
9bcb70c18a | ||
|
|
13b11eddca | ||
|
|
b66bab381c | ||
|
|
3f9bdeb2a5 | ||
|
|
dff2adc8dd | ||
|
|
5477506a9f | ||
|
|
0e6bfb9b2e | ||
|
|
70576f70f7 | ||
|
|
674e2bde6e | ||
|
|
8edf0e3132 | ||
|
|
8c8b88d0cc | ||
|
|
f386f08ccb | ||
|
|
4641a122f2 | ||
|
|
eee9f65b2a | ||
|
|
3c610c9638 | ||
|
|
13d5c3f616 | ||
|
|
b78564d022 | ||
|
|
d4404b4391 | ||
|
|
56c0c4749d | ||
|
|
ac3150d385 | ||
|
|
bca9c30193 | ||
|
|
f96ae0b5a2 | ||
|
|
2a9c9f6d89 | ||
|
|
8453807911 | ||
|
|
f91aac5e3e | ||
|
|
5328cb8986 | ||
|
|
9f9fe37f67 | ||
|
|
c273405188 | ||
|
|
4248111497 | ||
|
|
9800bfe0fc | ||
|
|
14371ed697 | ||
|
|
d5c8234517 | ||
|
|
2984666291 | ||
|
|
1417c766f5 | ||
|
|
0aca293fed | ||
|
|
4f0d002cf9 | ||
|
|
e865dcbce1 | ||
|
|
7b73d7ebf7 | ||
|
|
9d5ffceb3f | ||
|
|
8a5c29aee9 | ||
|
|
736cd2cfbe | ||
|
|
74da39373c | ||
|
|
fbfb757d4c | ||
|
|
94f82cbacf | ||
|
|
1f164b1968 | ||
|
|
07d1356648 | ||
|
|
bbca7732e8 | ||
|
|
7dfb016d25 | ||
|
|
4ef18dcc2e | ||
|
|
d08b8c4c04 | ||
|
|
06029a857a | ||
|
|
9bc4dde45d | ||
|
|
949f1989cb | ||
|
|
c3328169d5 | ||
|
|
c61a48d259 | ||
|
|
29b7d7a9aa | ||
|
|
e5e6950193 | ||
|
|
f03e328348 | ||
|
|
26b654a5df | ||
|
|
1e78e69680 | ||
|
|
ecaa75b4ce | ||
|
|
5f32ece459 | ||
|
|
defa067c54 | ||
|
|
ed997adaa1 | ||
|
|
663bbc09ba | ||
|
|
b4fe0eb4b4 | ||
|
|
2458200729 | ||
|
|
61343f0c44 | ||
|
|
63187f7932 | ||
|
|
2a5b52758b | ||
|
|
331bafd481 | ||
|
|
cb5ff34c1b | ||
|
|
f914a33c9c | ||
|
|
ab0a789808 | ||
|
|
06e6377009 | ||
|
|
85850f3a5e | ||
|
|
7964873afe | ||
|
|
df9c6cad8c | ||
|
|
d6bcff4577 | ||
|
|
acf7544cf6 | ||
|
|
4a0a161a9b | ||
|
|
403d090e39 | ||
|
|
3fb4f4762b | ||
|
|
cfdbc5adde | ||
|
|
99a764bccd | ||
|
|
4c6d90458b | ||
|
|
69a5b86794 | ||
|
|
6138640806 | ||
|
|
c7283078c3 | ||
|
|
7ce2aa01c2 | ||
|
|
250e3112c6 | ||
|
|
2ac6e82a4e | ||
|
|
5d6844566a | ||
|
|
c9afd15bc8 | ||
|
|
cea2a15687 | ||
|
|
f49a692259 | ||
|
|
41a8260445 | ||
|
|
f9cc9f209e | ||
|
|
b8be54dcc5 | ||
|
|
37d9f175a4 | ||
|
|
0346413c24 | ||
|
|
660a10ad41 | ||
|
|
1850b14c0d | ||
|
|
ecaa70ea29 | ||
|
|
2898ebb44c | ||
|
|
a099da3572 | ||
|
|
396e829fa3 | ||
|
|
fa55cfc69d | ||
|
|
d5abb4c877 | ||
|
|
809ce4d317 | ||
|
|
0fb286e82d | ||
|
|
63d0dad874 | ||
|
|
eaa49e40d7 | ||
|
|
a901a37bae | ||
|
|
b073da8929 | ||
|
|
017c269938 | ||
|
|
7b73f914c4 | ||
|
|
4e63f9425e | ||
|
|
b4f0628fc5 | ||
|
|
d94ac0caca | ||
|
|
b7b9efbccf | ||
|
|
0231f8312b | ||
|
|
efef9fea72 | ||
|
|
8ccabf624e | ||
|
|
8071cb2c64 | ||
|
|
bd42b31780 | ||
|
|
b420747478 | ||
|
|
847a5d69a8 | ||
|
|
1072768b91 | ||
|
|
e28cfb2812 | ||
|
|
247bf0de46 | ||
|
|
7780e5c1c5 | ||
|
|
b05caa782d | ||
|
|
3b849af90a | ||
|
|
7ba343e634 | ||
|
|
e089c3fd69 | ||
|
|
3dabd718f4 | ||
|
|
8a7383b6d2 | ||
|
|
0d07155c8b | ||
|
|
49fe95f225 | ||
|
|
9992244226 | ||
|
|
ee9e604124 | ||
|
|
3e35d05b1f | ||
|
|
3f3e954d96 | ||
|
|
d84b2c3d88 | ||
|
|
56a6312099 | ||
|
|
b3d17a20d2 | ||
|
|
5b19e5b919 | ||
|
|
899f20deae | ||
|
|
ec572ad6a6 | ||
|
|
6cc7e21412 | ||
|
|
c2f5054be9 | ||
|
|
28fc247f8d | ||
|
|
3940ec6d41 | ||
|
|
4f5b0e5355 | ||
|
|
437a746b4c | ||
|
|
b4d9b893d3 | ||
|
|
981d9dc8f3 | ||
|
|
b7ed839976 | ||
|
|
48ac671fe5 | ||
|
|
4e038571aa | ||
|
|
e809a4ed30 | ||
|
|
790c18bfa5 | ||
|
|
6bf2c6264b | ||
|
|
931a277145 | ||
|
|
6cb39f924a | ||
|
|
5ca1ac373a | ||
|
|
bc2cfe4672 | ||
|
|
0d702028fe | ||
|
|
e4b407f536 | ||
|
|
e296e3177b | ||
|
|
80edda1cf5 | ||
|
|
ba45f1f4fb | ||
|
|
435f9f06ca | ||
|
|
9ee3d161f7 | ||
|
|
d529ba58dc | ||
|
|
8531dc66e8 | ||
|
|
7866b87958 | ||
|
|
f8a0712655 | ||
|
|
a83e70000f | ||
|
|
5b8cfedfbd | ||
|
|
892ae723ab | ||
|
|
15e248e37f | ||
|
|
2e62b568e9 | ||
|
|
b60d8514b8 | ||
|
|
f9c85f580b | ||
|
|
548be7f126 | ||
|
|
4340fc95d5 | ||
|
|
13b47c37a6 | ||
|
|
d74af4227b | ||
|
|
711d02c96d | ||
|
|
8da4181631 | ||
|
|
4cd583c6da | ||
|
|
6efd76ae4a | ||
|
|
53a95d6584 | ||
|
|
68acb41f99 | ||
|
|
c2a4316500 | ||
|
|
88c47aa692 | ||
|
|
2eed9bafa0 | ||
|
|
6a7af8e2db | ||
|
|
5c381eb9e7 | ||
|
|
7d491c4253 | ||
|
|
6c6a603cd2 | ||
|
|
75fb0854e9 | ||
|
|
e96a2498f9 | ||
|
|
2b044ffb5a | ||
|
|
b2cda0dd1d | ||
|
|
e7eb92708e | ||
|
|
0a1f56fcfe | ||
|
|
7be3ab2589 | ||
|
|
0fcf26ba4f | ||
|
|
7a39dd7f00 | ||
|
|
c662ec9978 | ||
|
|
6c1e1570b1 | ||
|
|
adc6714aac | ||
|
|
dfc1455728 | ||
|
|
693f7dc818 | ||
|
|
405bb42734 | ||
|
|
75a1a9415b | ||
|
|
a3fce62c91 | ||
|
|
37e66cf0f6 | ||
|
|
e9726e31fe | ||
|
|
a956bf6ca3 | ||
|
|
4dff4aed09 | ||
|
|
bf8c3adef2 | ||
|
|
87652a7e3b | ||
|
|
db51730df1 | ||
|
|
517f71ab17 | ||
|
|
9b283523f2 | ||
|
|
394c5d8870 | ||
|
|
6e5000d493 | ||
|
|
ad24a71e22 | ||
|
|
ae943150d3 | ||
|
|
6313c4f41d | ||
|
|
eb2310d47d | ||
|
|
a730e55cc2 | ||
|
|
983f2f1403 | ||
|
|
8a5c7ef9bb | ||
|
|
8cdbd5b3c4 | ||
|
|
1c196e7b17 | ||
|
|
dc2ce58b5a | ||
|
|
f85e40afc2 | ||
|
|
6c17543b56 | ||
|
|
51c3131040 | ||
|
|
61eeeea8e6 | ||
|
|
a42d945efc | ||
|
|
26910de8b0 | ||
|
|
0331faf712 | ||
|
|
45aa07d3c1 | ||
|
|
b46fecd345 | ||
|
|
b6e3b88ec8 | ||
|
|
d7c9687947 | ||
|
|
bffc50494d | ||
|
|
0abb4273f6 | ||
|
|
9937a05543 | ||
|
|
dfa97f2aed | ||
|
|
fc06cbbf86 | ||
|
|
1755ec4278 | ||
|
|
650a63748c | ||
|
|
bd75b5333d | ||
|
|
2fc39aeeb5 | ||
|
|
d2cea96f6c | ||
|
|
0554fa478d | ||
|
|
f42397c395 | ||
|
|
21606676d9 | ||
|
|
b4086ffa32 | ||
|
|
a540f8aa3b | ||
|
|
37df9a4401 | ||
|
|
b53fb31a1e | ||
|
|
b0f94c1ff3 | ||
|
|
8d24104031 | ||
|
|
68d48f40a4 | ||
|
|
7c7f01e2b2 | ||
|
|
451d4b5b7c | ||
|
|
06e2c81f6d | ||
|
|
202d982b36 | ||
|
|
12ee7ff00b | ||
|
|
4c063a0dab | ||
|
|
640d4f0c97 | ||
|
|
82febc16e4 | ||
|
|
01257a7a8e | ||
|
|
3ff5f0f05d | ||
|
|
38ea784fec | ||
|
|
ac2450a9a8 | ||
|
|
80dad48c50 | ||
|
|
954bb06363 | ||
|
|
541faf7a73 | ||
|
|
a90998d93a | ||
|
|
b29cfb8c28 | ||
|
|
8ed75cb0b4 | ||
|
|
ef23c527bd | ||
|
|
ffa60dda0a | ||
|
|
427f5b66ce | ||
|
|
260addf795 | ||
|
|
21f8d93c71 | ||
|
|
24a5ac5d4d | ||
|
|
c024b46678 | ||
|
|
aef5c62a6f | ||
|
|
acc682bd7c | ||
|
|
1748c7f77e | ||
|
|
6c009a3974 | ||
|
|
33796b39b9 | ||
|
|
7c348bb5ad | ||
|
|
6064073841 | ||
|
|
4e0bf84627 | ||
|
|
64416127fc | ||
|
|
150f0550f4 | ||
|
|
62a88f498a | ||
|
|
1253704591 | ||
|
|
773a97c254 | ||
|
|
c07f67ad0e | ||
|
|
75ee544f99 | ||
|
|
5d30ff1964 | ||
|
|
f6d50f1da8 | ||
|
|
12e71eb8a8 | ||
|
|
8e228e21cc | ||
|
|
133c737357 | ||
|
|
18250e291a | ||
|
|
c7500f9cb5 | ||
|
|
9c0cec65f8 | ||
|
|
db294adc65 | ||
|
|
9aeb33639f | ||
|
|
4a792c87b9 | ||
|
|
61da1bfa6c | ||
|
|
de6dbb452a | ||
|
|
32e1977012 | ||
|
|
6d718c4c38 | ||
|
|
66761db11d | ||
|
|
d0380dc782 | ||
|
|
d6ec1730ba | ||
|
|
58a7f87c86 | ||
|
|
a37833dbd7 | ||
|
|
cea254f5a7 | ||
|
|
277e79adc4 | ||
|
|
c974022c31 | ||
|
|
ddd3308782 | ||
|
|
02e15072be | ||
|
|
3f6aeba18b | ||
|
|
0b4c9eddb5 | ||
|
|
87abab92f5 | ||
|
|
98fb65cb05 | ||
|
|
1762731f20 | ||
|
|
6116b6abb1 | ||
|
|
3397f74ac2 | ||
|
|
b0ebbda06c | ||
|
|
ca2f7037c1 | ||
|
|
399d898ac1 | ||
|
|
042fb4b449 | ||
|
|
988c43310a | ||
|
|
7b29dd8507 | ||
|
|
9eaac89650 | ||
|
|
790498b509 | ||
|
|
3bfd04e672 | ||
|
|
2fd8e35e16 | ||
|
|
8caaf82569 | ||
|
|
bf0eff0b72 | ||
|
|
2d247849ce | ||
|
|
c47ed44be7 | ||
|
|
815b76bff6 | ||
|
|
3a97bb3f0f | ||
|
|
7dd64a3e57 | ||
|
|
c28cb5b16d | ||
|
|
5d508dd39e | ||
|
|
1ab74a5af3 | ||
|
|
eea1699836 | ||
|
|
ccd6e3471d | ||
|
|
c6896e20f8 | ||
|
|
402502d0e4 | ||
|
|
ac1f1bc222 | ||
|
|
cc31ad9f9b | ||
|
|
54fabd4b5e | ||
|
|
b42301247d | ||
|
|
89adc3a137 | ||
|
|
5c3fb04623 | ||
|
|
cacc6a5c98 | ||
|
|
8c2a600f72 | ||
|
|
1714696600 | ||
|
|
88c4e1f069 | ||
|
|
68a4b04a8d | ||
|
|
868b7b6712 | ||
|
|
1bbebab525 | ||
|
|
bc133543b8 | ||
|
|
59edb00e22 | ||
|
|
c799fe206e | ||
|
|
b58a4b938c | ||
|
|
72fcf07b06 | ||
|
|
7833dab73c | ||
|
|
60cdb3004a | ||
|
|
b43683729b | ||
|
|
bf0ecb2cb6 | ||
|
|
7a8d0278bd | ||
|
|
2cd0dce898 | ||
|
|
68e6560b84 | ||
|
|
20c023aee0 | ||
|
|
9d591525a5 | ||
|
|
35d5af6c0b | ||
|
|
51fe3b14f6 | ||
|
|
076073950c | ||
|
|
9c27b1c6d1 | ||
|
|
ec58384afa | ||
|
|
a8c99fb78e | ||
|
|
80f95425cf | ||
|
|
193ffd1d9f | ||
|
|
adfde115d5 | ||
|
|
a5e44600eb | ||
|
|
51e14387f1 | ||
|
|
682725c141 | ||
|
|
4d784b21d1 | ||
|
|
8f46e4c4bd | ||
|
|
7b31a181c8 | ||
|
|
f0884c5f3f | ||
|
|
d79eef2eb1 | ||
|
|
18a4ba29ae | ||
|
|
71de720c2c | ||
|
|
964b3746b9 | ||
|
|
d33a764123 | ||
|
|
3020a87cb1 | ||
|
|
d22a6f8aaf | ||
|
|
fa8f861957 | ||
|
|
8239c62067 | ||
|
|
701ff0a3e5 | ||
|
|
fcc4d921d6 | ||
|
|
e2ad826f43 | ||
|
|
984f031fb0 | ||
|
|
c97582b029 | ||
|
|
0ab190c057 | ||
|
|
1c6fd1e100 | ||
|
|
99499b1c05 | ||
|
|
05b8b07e27 | ||
|
|
294d9bf966 | ||
|
|
e09244ee35 | ||
|
|
7e800c6047 | ||
|
|
110289e781 | ||
|
|
5357552140 | ||
|
|
5c017b2de2 | ||
|
|
e0b5949a3b | ||
|
|
c79745a82f | ||
|
|
0b0ad35c33 | ||
|
|
80341bcd89 | ||
|
|
f3333b02f3 | ||
|
|
386b43e594 | ||
|
|
999dc14644 | ||
|
|
8471e57026 | ||
|
|
16e9b85113 | ||
|
|
f5842c5a53 | ||
|
|
2b39d806f0 | ||
|
|
e9ebc9a91c | ||
|
|
338dfdad38 | ||
|
|
dc6855af97 | ||
|
|
cf0bfd9ade | ||
|
|
f8191c5f07 | ||
|
|
bd2d68c2f4 | ||
|
|
7f3a28490a | ||
|
|
6349e9411f | ||
|
|
0d3cb73012 | ||
|
|
8055d17388 | ||
|
|
787880a86d | ||
|
|
80e737cc6a | ||
|
|
bfd451283f | ||
|
|
dabfde04fe | ||
|
|
0ebe12be86 | ||
|
|
5c65e6a062 | ||
|
|
17aca707f9 | ||
|
|
dda4144d39 | ||
|
|
eda652215a | ||
|
|
45dd07f10a | ||
|
|
fe1ade0a78 | ||
|
|
fb222df28d | ||
|
|
9e58787de7 | ||
|
|
957f85d54e | ||
|
|
bc4fd43160 | ||
|
|
a9b2535f44 | ||
|
|
8aad88d8de | ||
|
|
97b0075b0d | ||
|
|
b73fbc76c6 | ||
|
|
5d0183b706 | ||
|
|
6e75e0a400 | ||
|
|
a334772967 | ||
|
|
6d2399bd10 | ||
|
|
6ed8819822 | ||
|
|
ec28d1516e | ||
|
|
3f86ca0faa | ||
|
|
dc9f9e93f5 | ||
|
|
d6896731ec | ||
|
|
afd78266c5 | ||
|
|
c049b52b90 | ||
|
|
63d2555c9c | ||
|
|
4ca41534b7 | ||
|
|
23b5139234 | ||
|
|
42ae78cfff | ||
|
|
6b528fa062 | ||
|
|
f90b6e03a9 | ||
|
|
a6c27c47dd | ||
|
|
d4aa83af1d | ||
|
|
eae1b91fea | ||
|
|
691ddeefb5 | ||
|
|
68cbb14bae | ||
|
|
be0a2597ae | ||
|
|
06bd824869 | ||
|
|
0b75f7c97c | ||
|
|
2f10658b06 | ||
|
|
a5c6a0b6c7 | ||
|
|
5416b75031 | ||
|
|
240f7abab0 | ||
|
|
27821260c0 | ||
|
|
98ffe4c6d8 | ||
|
|
93d77b2cbe | ||
|
|
fda9784dc9 | ||
|
|
ba9ea91beb | ||
|
|
1063f3d200 | ||
|
|
fd31e45e4b | ||
|
|
b6cb26ffe1 | ||
|
|
9ce3fa828d | ||
|
|
7e1a5af540 | ||
|
|
4fa06870e5 | ||
|
|
f0ab01f6d8 | ||
|
|
d136221129 | ||
|
|
c7a10b35de | ||
|
|
91882cf712 | ||
|
|
8ffc7c8b5f | ||
|
|
25c9c680ec | ||
|
|
9a061cb78c | ||
|
|
58187f1c8a | ||
|
|
8fc0271e9a | ||
|
|
de24a87013 | ||
|
|
cf6a55c4b0 | ||
|
|
ce79353ace | ||
|
|
f653a6bcff | ||
|
|
711f02da65 | ||
|
|
b3de6c4a76 | ||
|
|
9dfa313919 | ||
|
|
ed5ab2a959 | ||
|
|
510671a055 | ||
|
|
4b8366b56e | ||
|
|
8caef443b2 | ||
|
|
bedf091a95 | ||
|
|
d2fad67e3e | ||
|
|
66f8311152 | ||
|
|
bb8476be87 | ||
|
|
25190db225 | ||
|
|
e4f5f3aa3d | ||
|
|
e5c83286bb | ||
|
|
9404a18ad9 | ||
|
|
819d3e52a1 | ||
|
|
3ff33114d7 | ||
|
|
12e91862c1 | ||
|
|
61df0c7996 | ||
|
|
92b9e60cb5 | ||
|
|
1776a28e9c | ||
|
|
2cb9f02532 | ||
|
|
d788543ac6 | ||
|
|
c6b1cc967f | ||
|
|
92fd599e0d | ||
|
|
d0621d85a6 | ||
|
|
bb7e1b4ba8 | ||
|
|
36d502225c | ||
|
|
1ee36d6ff5 | ||
|
|
26f0cb145a | ||
|
|
0fef0aeb1c | ||
|
|
b731689e85 | ||
|
|
d96dbd6f95 | ||
|
|
a9dd2d3c75 | ||
|
|
a0e67fc166 | ||
|
|
52111f8231 | ||
|
|
fe368edcc0 | ||
|
|
602abeb20f | ||
|
|
c0af78fa08 | ||
|
|
701df4eb64 | ||
|
|
c779c674ac | ||
|
|
1b243eafb0 | ||
|
|
67cf86bfff | ||
|
|
afde13b62b | ||
|
|
ab4cece605 | ||
|
|
45e18cbdc4 | ||
|
|
7a9df9dd00 | ||
|
|
6c60f47fb9 | ||
|
|
1e44968780 | ||
|
|
f720d0a77e | ||
|
|
564344ace9 | ||
|
|
dcaa54dded | ||
|
|
ad6dc49a75 | ||
|
|
0ee1bdff7d | ||
|
|
6ee9658774 | ||
|
|
00aa069db8 | ||
|
|
2155a6abaa | ||
|
|
c1b8160b44 | ||
|
|
49543fbced | ||
|
|
c6b37db1ba | ||
|
|
e13a3901ca | ||
|
|
520e245237 | ||
|
|
e61e548dd6 | ||
|
|
ac9fb18020 | ||
|
|
5431589d25 | ||
|
|
c8cc0ad477 | ||
|
|
1f3601e92e | ||
|
|
d1f90bbcab | ||
|
|
a68e595909 | ||
|
|
a561a41a70 | ||
|
|
69ea587289 | ||
|
|
c2d09c9f2c | ||
|
|
725310d89e | ||
|
|
31fc39e47b | ||
|
|
8485be4e49 | ||
|
|
958eabe5e5 | ||
|
|
c75e812623 | ||
|
|
7bde95a461 | ||
|
|
eead75c5e8 | ||
|
|
911ead1269 | ||
|
|
ad3ec76bb8 | ||
|
|
037c54f261 | ||
|
|
4c25bd785a | ||
|
|
0fdd943595 | ||
|
|
93a4879c20 | ||
|
|
abc7c7fc5a | ||
|
|
d2e716e6df | ||
|
|
3a4c53ba51 | ||
|
|
334ad41504 | ||
|
|
86ec6d7e1e | ||
|
|
137c14bb4f | ||
|
|
b49e3563b9 | ||
|
|
b9cdb37176 | ||
|
|
2b00b9b0f3 | ||
|
|
113bf0672b | ||
|
|
696d637728 | ||
|
|
4945219b99 | ||
|
|
1a4dce7cad | ||
|
|
7f27976589 | ||
|
|
e3e3828f93 | ||
|
|
8dc4c72923 | ||
|
|
a8356bc173 | ||
|
|
74e3d4ec11 | ||
|
|
316c16797a | ||
|
|
a0aaf3c4df | ||
|
|
837854d1bc | ||
|
|
87dcfd75c2 | ||
|
|
39f76c6ac0 | ||
|
|
9c35d05f45 | ||
|
|
ca57ab54d7 | ||
|
|
700dfaa86a | ||
|
|
5d48e0d99a | ||
|
|
f587ef345e | ||
|
|
1d79ce81e7 | ||
|
|
c8b3ddab51 | ||
|
|
a8d22e3a40 | ||
|
|
04af19637c | ||
|
|
f9b89b4679 | ||
|
|
d489c9801b | ||
|
|
3fbd2d7c31 | ||
|
|
496555fd18 | ||
|
|
9a419ffb93 | ||
|
|
7edf0baef4 | ||
|
|
679beba800 | ||
|
|
29a9baa077 | ||
|
|
26096cc96f | ||
|
|
730f48fe36 | ||
|
|
a60e536a29 | ||
|
|
ef8c83c550 | ||
|
|
a7be0f2451 | ||
|
|
862f1e17ea | ||
|
|
8f130eda47 | ||
|
|
3fb01a53c6 | ||
|
|
1b55797e90 | ||
|
|
46ad288b9b | ||
|
|
9845f36aa6 | ||
|
|
d7f246c68c | ||
|
|
62e1bb4a11 | ||
|
|
049736fa8a | ||
|
|
905dd905de | ||
|
|
d85c396d51 | ||
|
|
39803d82db | ||
|
|
08499f5a4d | ||
|
|
616aeef21f | ||
|
|
16c34c3765 | ||
|
|
1164023828 | ||
|
|
2d7260d665 | ||
|
|
94a7242ad1 | ||
|
|
6bc9305a02 | ||
|
|
3d3f21764a | ||
|
|
fa1e90cd4d | ||
|
|
d9eefe3155 | ||
|
|
73655cf0ca | ||
|
|
9d40128afd | ||
|
|
4a5711b5ea | ||
|
|
543c9b1921 | ||
|
|
577fadfc10 | ||
|
|
652de23dc7 | ||
|
|
1cd4dc444a | ||
|
|
558ca4ae55 | ||
|
|
8f4aeb5572 | ||
|
|
0f248b006c | ||
|
|
eb93f3f0e2 | ||
|
|
87f59b09ea | ||
|
|
fda1bff39f | ||
|
|
e5e4e22c1c | ||
|
|
39b76b7df8 | ||
|
|
723dd946f9 | ||
|
|
7a66627cf4 | ||
|
|
b4e6a2d075 | ||
|
|
449ac47f93 | ||
|
|
5da04ef1b4 | ||
|
|
796cc42d3a | ||
|
|
0eb035c974 | ||
|
|
b26705afb5 | ||
|
|
690a905a01 | ||
|
|
fd700393be | ||
|
|
b4a6020ac6 | ||
|
|
95946f1209 | ||
|
|
4fc8e2f8bb | ||
|
|
b70a47b774 | ||
|
|
8662189736 | ||
|
|
5209334c55 | ||
|
|
96428dd4e9 | ||
|
|
372674fca3 | ||
|
|
f0908e6fe1 | ||
|
|
2d04a91d69 | ||
|
|
b44b7add8a | ||
|
|
9e1e358d37 | ||
|
|
7559dcef6c | ||
|
|
abab0b0fdd | ||
|
|
bd9bf266fc | ||
|
|
aff749145e | ||
|
|
8bb41b3d06 | ||
|
|
ab62c19ea0 | ||
|
|
433a5eb9de | ||
|
|
ef7f0e367e | ||
|
|
48aed0824e | ||
|
|
5f8069bbf5 | ||
|
|
9a2c091a74 | ||
|
|
7591bb39d5 | ||
|
|
de5b380042 | ||
|
|
bfd3603670 | ||
|
|
e73f911c53 | ||
|
|
8ee4c01b8c | ||
|
|
2912abb3a2 | ||
|
|
e46736b23b | ||
|
|
8ac8a77f24 | ||
|
|
fd133323d4 | ||
|
|
723d165c2f | ||
|
|
89828e9fe6 | ||
|
|
47cf1cc257 | ||
|
|
c701f320e8 | ||
|
|
37db642083 | ||
|
|
a16123a666 | ||
|
|
0e97b94875 | ||
|
|
760285dd4f | ||
|
|
90d0cf69aa | ||
|
|
3a731ee0c2 | ||
|
|
6a95c889bf | ||
|
|
e99be0e6d2 | ||
|
|
75bf3d22f4 | ||
|
|
6fb5c97242 | ||
|
|
d6c3f1fa2b | ||
|
|
553e5a5c56 | ||
|
|
a4c2a24cc7 | ||
|
|
3dd174abbf | ||
|
|
a84a3dd663 | ||
|
|
b45125b374 | ||
|
|
63b74a8362 | ||
|
|
db77b84ac2 | ||
|
|
82b033eff8 | ||
|
|
63dbfd33c1 | ||
|
|
c3e92c161d | ||
|
|
b782869033 | ||
|
|
832615be12 | ||
|
|
295e3ba31f | ||
|
|
b99abaa480 | ||
|
|
e37368c496 | ||
|
|
dc4fa190e7 | ||
|
|
6b6f7aae4a |
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
custom: https://www.vim.org/sponsor/index.php
|
||||||
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
34
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve Vim
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Instructions: Replace the template text and remove irrelevant text (including this line)_
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Detailed steps to reproduce the behavior:
|
||||||
|
1. Run `vim --clean` (or `gvim --clean`, etc.)
|
||||||
|
2. Edit `filename`
|
||||||
|
3. Type '....'
|
||||||
|
4. Describe the error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, copy/paste the text or add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Environment (please complete the following information):**
|
||||||
|
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
|
||||||
|
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
|
||||||
|
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
||||||
22
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
22
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an enhancement for Vim
|
||||||
|
title: ''
|
||||||
|
labels: enhancement
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
_Instructions: Replace the template text and remove irrelevant text (including this line)_
|
||||||
|
|
||||||
|
**Is your feature request related something that is currently hard to do? Please describe.**
|
||||||
|
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
|
||||||
|
(If it is related to runtime files, please check their header for where to discuss enhancements.)
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
||||||
35
.gitignore
vendored
35
.gitignore
vendored
@@ -6,16 +6,15 @@ src/auto/if_perl.c
|
|||||||
src/auto/gui_gtk_gresources.c
|
src/auto/gui_gtk_gresources.c
|
||||||
src/auto/gui_gtk_gresources.h
|
src/auto/gui_gtk_gresources.h
|
||||||
src/objects/.dirstamp
|
src/objects/.dirstamp
|
||||||
|
src/objects
|
||||||
src/tags
|
src/tags
|
||||||
|
|
||||||
# We do need src/auto/configure.
|
# We do need src/auto/configure.
|
||||||
src/auto/config.aap
|
|
||||||
src/auto/config.cache
|
src/auto/config.cache
|
||||||
src/auto/config.h
|
src/auto/config.h
|
||||||
src/auto/config.log
|
src/auto/config.log
|
||||||
src/auto/config.mk
|
src/auto/config.mk
|
||||||
src/auto/config.status
|
src/auto/config.status
|
||||||
src/auto/configure.aap
|
|
||||||
src/auto/osdef.h
|
src/auto/osdef.h
|
||||||
src/auto/link.log
|
src/auto/link.log
|
||||||
src/auto/link.sed
|
src/auto/link.sed
|
||||||
@@ -26,6 +25,7 @@ src/auto/pathdef.c
|
|||||||
*.idb
|
*.idb
|
||||||
*.manifest
|
*.manifest
|
||||||
*.exp
|
*.exp
|
||||||
|
*.map
|
||||||
*.obj
|
*.obj
|
||||||
*.pdb
|
*.pdb
|
||||||
*.ilk
|
*.ilk
|
||||||
@@ -33,22 +33,17 @@ src/auto/pathdef.c
|
|||||||
*.suo
|
*.suo
|
||||||
*.res
|
*.res
|
||||||
*.RES
|
*.RES
|
||||||
src/if_perl.c
|
vim*.dll
|
||||||
src/pathdef.c
|
vim*.lib
|
||||||
|
src/dobj*/pathdef.c
|
||||||
|
src/gobj*/pathdef.c
|
||||||
|
src/obj*/pathdef.c
|
||||||
src/Obj*/pathdef.c
|
src/Obj*/pathdef.c
|
||||||
gvimext.dll
|
gvimext.dll
|
||||||
gvimext.lib
|
gvimext.lib
|
||||||
gvim.lib
|
gvim.lib
|
||||||
runtime/doc/uganda.nsis.txt
|
runtime/doc/uganda.nsis.txt
|
||||||
|
nsis/icons/*
|
||||||
# Borland C++
|
|
||||||
bcc.cfg
|
|
||||||
*.ilc
|
|
||||||
*.ild
|
|
||||||
*.ilf
|
|
||||||
*.ils
|
|
||||||
*.map
|
|
||||||
*.tds
|
|
||||||
|
|
||||||
# NetBeans
|
# NetBeans
|
||||||
nbproject/*
|
nbproject/*
|
||||||
@@ -68,6 +63,7 @@ src/po/vim.pot
|
|||||||
|
|
||||||
# Generated by "make test"
|
# Generated by "make test"
|
||||||
src/po/*.ck
|
src/po/*.ck
|
||||||
|
src/po/*.desktop
|
||||||
src/testdir/mbyte.vim
|
src/testdir/mbyte.vim
|
||||||
src/testdir/mzscheme.vim
|
src/testdir/mzscheme.vim
|
||||||
src/testdir/lua.vim
|
src/testdir/lua.vim
|
||||||
@@ -85,3 +81,16 @@ src/memfile_test
|
|||||||
src/json_test
|
src/json_test
|
||||||
src/message_test
|
src/message_test
|
||||||
src/kword_test
|
src/kword_test
|
||||||
|
|
||||||
|
# Generated by "make install"
|
||||||
|
runtime/doc/tags
|
||||||
|
|
||||||
|
# Generated by "make shadow". The directory names could be anything but we
|
||||||
|
# restrict them to shadow (the default) or shadow-*
|
||||||
|
src/shadow
|
||||||
|
src/shadow-*
|
||||||
|
src/runtime
|
||||||
|
src/pixmaps
|
||||||
|
|
||||||
|
# other possible files build by tools
|
||||||
|
src/cscope.out
|
||||||
|
|||||||
98
.hgignore
Normal file
98
.hgignore
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
syntax: glob
|
||||||
|
|
||||||
|
# Unixen: object and executable files.
|
||||||
|
*.o
|
||||||
|
src/vim
|
||||||
|
src/xxd/xxd
|
||||||
|
src/auto/if_perl.c
|
||||||
|
src/auto/gui_gtk_gresources.c
|
||||||
|
src/auto/gui_gtk_gresources.h
|
||||||
|
src/objects/.dirstamp
|
||||||
|
src/objects
|
||||||
|
src/tags
|
||||||
|
|
||||||
|
# We do need src/auto/configure.
|
||||||
|
src/auto/config.cache
|
||||||
|
src/auto/config.h
|
||||||
|
src/auto/config.log
|
||||||
|
src/auto/config.mk
|
||||||
|
src/auto/config.status
|
||||||
|
src/auto/osdef.h
|
||||||
|
src/auto/link.log
|
||||||
|
src/auto/link.sed
|
||||||
|
src/auto/pathdef.c
|
||||||
|
|
||||||
|
# Windows
|
||||||
|
*.exe
|
||||||
|
*.idb
|
||||||
|
*.manifest
|
||||||
|
*.exp
|
||||||
|
*.map
|
||||||
|
*.obj
|
||||||
|
*.pdb
|
||||||
|
*.ilk
|
||||||
|
*.sln
|
||||||
|
*.suo
|
||||||
|
*.res
|
||||||
|
*.RES
|
||||||
|
vim*.dll
|
||||||
|
vim*.lib
|
||||||
|
src/dobj*/pathdef.c
|
||||||
|
src/gobj*/pathdef.c
|
||||||
|
src/obj*/pathdef.c
|
||||||
|
src/Obj*/pathdef.c
|
||||||
|
gvimext.dll
|
||||||
|
gvimext.lib
|
||||||
|
gvim.lib
|
||||||
|
runtime/doc/uganda.nsis.txt
|
||||||
|
nsis/icons/*
|
||||||
|
|
||||||
|
# NetBeans
|
||||||
|
nbproject/*
|
||||||
|
|
||||||
|
# Mac OSX
|
||||||
|
src/xxd/xxd.dSYM
|
||||||
|
|
||||||
|
# All platforms
|
||||||
|
*.rej
|
||||||
|
*.orig
|
||||||
|
*.mo
|
||||||
|
*.swp
|
||||||
|
*~
|
||||||
|
*.pyc
|
||||||
|
*.log
|
||||||
|
src/po/vim.pot
|
||||||
|
|
||||||
|
# Generated by "make test"
|
||||||
|
src/po/*.ck
|
||||||
|
src/po/*.desktop
|
||||||
|
src/testdir/mbyte.vim
|
||||||
|
src/testdir/mzscheme.vim
|
||||||
|
src/testdir/lua.vim
|
||||||
|
src/testdir/small.vim
|
||||||
|
src/testdir/tiny.vim
|
||||||
|
src/testdir/test*.out
|
||||||
|
src/testdir/test*.failed
|
||||||
|
src/testdir/test.log
|
||||||
|
src/testdir/dostmp/*
|
||||||
|
src/testdir/messages
|
||||||
|
src/testdir/viminfo
|
||||||
|
src/testdir/opt_test.vim
|
||||||
|
runtime/indent/testdir/*.out
|
||||||
|
src/memfile_test
|
||||||
|
src/json_test
|
||||||
|
src/message_test
|
||||||
|
src/kword_test
|
||||||
|
|
||||||
|
# Generated by "make install"
|
||||||
|
runtime/doc/tags
|
||||||
|
|
||||||
|
# Generated by "make shadow". The directory names could be anything but we
|
||||||
|
# restrict them to shadow (the default) or shadow-*
|
||||||
|
src/shadow
|
||||||
|
src/shadow-*
|
||||||
|
src/runtime
|
||||||
|
src/pixmaps
|
||||||
|
|
||||||
|
# other possible files build by tools
|
||||||
|
src/cscope.out
|
||||||
330
.travis.yml
330
.travis.yml
@@ -1,131 +1,120 @@
|
|||||||
language: c
|
language: c
|
||||||
dist: trusty
|
|
||||||
|
|
||||||
os:
|
anchors:
|
||||||
- osx
|
envs:
|
||||||
- linux
|
- &tiny-nogui
|
||||||
|
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
- &tiny
|
||||||
|
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
- &small
|
||||||
|
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
- &normal
|
||||||
|
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
|
||||||
|
- &linux-huge
|
||||||
|
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||||
|
- &osx-huge # macOS build
|
||||||
|
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
||||||
|
- &unittests
|
||||||
|
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||||
|
- &asan # ASAN build
|
||||||
|
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||||
|
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
|
|
||||||
compiler:
|
linux: &linux
|
||||||
- clang
|
os: linux
|
||||||
- gcc
|
dist: trusty
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
sources:
|
||||||
|
# Need msgfmt 0.19.8 to be able to generate .desktop files
|
||||||
|
- sourceline: 'ppa:ricotz/toolchain'
|
||||||
|
packages:
|
||||||
|
- autoconf
|
||||||
|
- clang
|
||||||
|
- lcov
|
||||||
|
- gettext
|
||||||
|
- libcanberra-dev
|
||||||
|
- libperl-dev
|
||||||
|
- python-dev
|
||||||
|
- python3-dev
|
||||||
|
- liblua5.2-dev
|
||||||
|
- lua5.2
|
||||||
|
- ruby-dev
|
||||||
|
- tcl-dev
|
||||||
|
- cscope
|
||||||
|
- libgtk2.0-dev
|
||||||
|
- desktop-file-utils
|
||||||
|
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 [[ "$(which python3)" =~ ^/opt/python/ ]]; then
|
||||||
|
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
|
||||||
|
fi
|
||||||
|
- |
|
||||||
|
if [[ "${COVERAGE}" = "yes" ]]; then
|
||||||
|
pip install --user cpp-coveralls
|
||||||
|
fi
|
||||||
|
# needed for https support for coveralls
|
||||||
|
# building cffi only works with gcc, not with clang
|
||||||
|
- |
|
||||||
|
if [[ "${COVERAGE}" = "yes" ]]; then
|
||||||
|
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
|
||||||
|
fi
|
||||||
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
|
- |
|
||||||
|
if [[ "${CC}" = "clang" ]]; then
|
||||||
|
ln -sf "$(which llvm-cov)" /home/travis/bin/gcov
|
||||||
|
fi
|
||||||
|
before_script:
|
||||||
|
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
||||||
|
- export DISPLAY=:99.0
|
||||||
|
- sh -e /etc/init.d/xvfb start && sleep 3
|
||||||
|
- sudo modprobe snd-dummy
|
||||||
|
- sudo usermod -a -G audio $USER
|
||||||
|
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
|
|
||||||
env:
|
osx: &osx
|
||||||
- &tiny-nogui
|
os: osx
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
addons:
|
||||||
- &tiny
|
homebrew:
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
packages:
|
||||||
- &asan # ASAN build
|
- lua
|
||||||
BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
update: true
|
||||||
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"
|
cache:
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
directories:
|
||||||
- &linux-huge
|
- /usr/local/Homebrew/Library/Homebrew/vendor/
|
||||||
BUILD=yes TEST="scripttests test_libvterm" COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
- /usr/local/Homebrew/Library/Taps/
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
before_install:
|
||||||
- &unittests
|
- rvm reset
|
||||||
BUILD=no TEST=unittests COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
# Lua is not installed on Travis OSX
|
||||||
- &normal
|
- export LUA_PREFIX=/usr/local
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
|
before_script:
|
||||||
- &small
|
- do_test() { "$@"; }
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
|
||||||
- &osx-huge # Mac OSX build
|
coverage: &coverage
|
||||||
BUILD=yes TEST=test COVERAGE=no FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR
|
||||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp'"
|
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
|
||||||
|
|
||||||
|
asan_symbolize: &asan_symbolize
|
||||||
|
- |
|
||||||
|
while read log; do
|
||||||
|
asan_symbolize < "${log}"
|
||||||
|
done < <(find . -type f -name 'asan.*' -size +0)
|
||||||
|
|
||||||
sudo: false
|
sudo: false
|
||||||
|
|
||||||
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
|
||||||
# exclude some builds on mac os x and linux
|
|
||||||
# on mac os x "tiny" is always without GUI
|
|
||||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
|
||||||
matrix:
|
|
||||||
exclude:
|
|
||||||
- os: osx
|
|
||||||
env: *tiny
|
|
||||||
- os: osx
|
|
||||||
env: *normal
|
|
||||||
- os: osx
|
|
||||||
env: *unittests
|
|
||||||
- os: osx
|
|
||||||
env: *small
|
|
||||||
- os: osx
|
|
||||||
env: *linux-huge
|
|
||||||
- os: osx
|
|
||||||
env: *asan
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
env: *asan
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
env: *unittests
|
|
||||||
- os: linux
|
|
||||||
compiler: clang
|
|
||||||
env: *small
|
|
||||||
- os: linux
|
|
||||||
env: *osx-huge
|
|
||||||
|
|
||||||
branches:
|
branches:
|
||||||
except:
|
except:
|
||||||
- /^v[0-9]/
|
- /^v[0-9]/
|
||||||
|
|
||||||
addons:
|
|
||||||
apt:
|
|
||||||
packages:
|
|
||||||
- autoconf
|
|
||||||
- clang
|
|
||||||
- lcov
|
|
||||||
- libperl-dev
|
|
||||||
- python-dev
|
|
||||||
- python3-dev
|
|
||||||
- liblua5.2-dev
|
|
||||||
- lua5.2
|
|
||||||
- ruby-dev
|
|
||||||
- tcl-dev
|
|
||||||
- cscope
|
|
||||||
- libgtk2.0-dev
|
|
||||||
homebrew:
|
|
||||||
packages:
|
|
||||||
- lua
|
|
||||||
update: true
|
|
||||||
|
|
||||||
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)" =~ ^/opt/python/ ]]; then
|
|
||||||
export PATH=$(py3=$(which python3); echo ${PATH//${py3%/python3}:/})
|
|
||||||
fi
|
|
||||||
- |
|
|
||||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
|
||||||
pip install --user cpp-coveralls
|
|
||||||
fi
|
|
||||||
# needed for https support for coveralls
|
|
||||||
# building cffi only works with gcc, not with clang
|
|
||||||
- |
|
|
||||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
|
||||||
CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1
|
|
||||||
fi
|
|
||||||
# Lua is not installed on Travis OSX
|
|
||||||
- |
|
|
||||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
|
|
||||||
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
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
# Start virtual framebuffer to be able to test the GUI. Does not work on OS X.
|
|
||||||
- |
|
|
||||||
if [[ "${TRAVIS_OS_NAME}" = "linux" ]]; then
|
|
||||||
export DISPLAY=:99.0
|
|
||||||
sh -e /etc/init.d/xvfb start && sleep 3
|
|
||||||
fi
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||||
|
- set -o errexit
|
||||||
|
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||||
- |
|
- |
|
||||||
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
|
if [[ "${CHECK_AUTOCONF}" = "yes" ]] && [[ "${CC}" = "gcc" ]]; then
|
||||||
make -C src autoconf
|
make -C src autoconf
|
||||||
@@ -134,13 +123,17 @@ script:
|
|||||||
if [[ -n "${SHADOWOPT}" ]]; then
|
if [[ -n "${SHADOWOPT}" ]]; then
|
||||||
make -C src shadow
|
make -C src shadow
|
||||||
fi
|
fi
|
||||||
|
# "./configure" changes its working directory into "$SRCDIR".
|
||||||
|
- ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
|
||||||
|
- echo -en "travis_fold:end:configure\\r\\033[0K"
|
||||||
|
- echo -e "\\033[33;1mBuilding Vim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
|
||||||
- |
|
- |
|
||||||
(
|
if [[ "${BUILD}" = "yes" ]]; then
|
||||||
cd "${SRCDIR}" \
|
|
||||||
&& ./configure --with-features=${FEATURES} ${CONFOPT} --enable-fail-if-missing
|
|
||||||
) && if [[ "${BUILD}" = "yes" ]]; then
|
|
||||||
make ${SHADOWOPT} -j${NPROC}
|
make ${SHADOWOPT} -j${NPROC}
|
||||||
fi
|
fi
|
||||||
|
- echo -en "travis_fold:end:build\\r\\033[0K"
|
||||||
|
- set +o errexit
|
||||||
|
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||||
# Show Vim version and also if_xx versions.
|
# Show Vim version and also if_xx versions.
|
||||||
- |
|
- |
|
||||||
if [[ "${BUILD}" = "yes" ]]; then
|
if [[ "${BUILD}" = "yes" ]]; then
|
||||||
@@ -149,23 +142,92 @@ script:
|
|||||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.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
|
cat if_ver.txt
|
||||||
fi
|
fi
|
||||||
- make ${SHADOWOPT} ${TEST}
|
|
||||||
- |
|
- |
|
||||||
if [[ -n "${ASAN_OPTIONS}" ]]; then
|
if do_test make ${SHADOWOPT} ${TEST}; then
|
||||||
while read log; do
|
echo -en "travis_fold:end:test\\r\\033[0K"
|
||||||
asan_symbolize < "${log}"
|
else
|
||||||
done < <(find . -type f -name 'asan.*' -size +0)
|
exit 1
|
||||||
[[ -z "${log}" ]] # exit 1 if there are ASAN logs
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
after_success:
|
|
||||||
- |
|
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
||||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
# exclude some builds on mac os x and linux
|
||||||
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR
|
# on mac os x "tiny" is always without GUI
|
||||||
fi
|
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
||||||
- |
|
matrix:
|
||||||
if [[ "${COVERAGE}" = "yes" ]]; then
|
include:
|
||||||
(cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
|
- <<: *osx
|
||||||
fi
|
name: tiny-nogui/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *tiny-nogui
|
||||||
|
- <<: *osx
|
||||||
|
name: tiny-nogui/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *tiny-nogui
|
||||||
|
- <<: *osx
|
||||||
|
name: huge/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *osx-huge
|
||||||
|
- <<: *osx
|
||||||
|
name: huge/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *osx-huge
|
||||||
|
- <<: *linux
|
||||||
|
name: tiny-nogui/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *tiny-nogui
|
||||||
|
- <<: *linux
|
||||||
|
name: tiny-nogui/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *tiny-nogui
|
||||||
|
- <<: *linux
|
||||||
|
name: tiny/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *tiny
|
||||||
|
- <<: *linux
|
||||||
|
name: tiny/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *tiny
|
||||||
|
- <<: *linux
|
||||||
|
name: small/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *small
|
||||||
|
- <<: *linux
|
||||||
|
name: normal/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *normal
|
||||||
|
- <<: *linux
|
||||||
|
name: normal/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *normal
|
||||||
|
- <<: *linux
|
||||||
|
name: huge+coverage/clang
|
||||||
|
compiler: clang
|
||||||
|
env: *linux-huge
|
||||||
|
after_success: *coverage
|
||||||
|
- <<: *linux
|
||||||
|
name: huge+coverage/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *linux-huge
|
||||||
|
after_success: *coverage
|
||||||
|
- <<: *linux
|
||||||
|
name: unittests+coverage/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env: *unittests
|
||||||
|
after_success: *coverage
|
||||||
|
- <<: *linux # ASAN
|
||||||
|
name: huge+asan/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env:
|
||||||
|
- *linux-huge
|
||||||
|
- *asan
|
||||||
|
after_failure: *asan_symbolize
|
||||||
|
- <<: *linux
|
||||||
|
name: huge-testgui+coverage/gcc
|
||||||
|
compiler: gcc
|
||||||
|
env:
|
||||||
|
- *linux-huge
|
||||||
|
- TEST="-C src testgui"
|
||||||
|
after_success: *coverage
|
||||||
|
|
||||||
# vim:set sts=2 sw=2 tw=0 et:
|
# vim:set sts=2 sw=2 tw=0 et:
|
||||||
|
|||||||
@@ -4,14 +4,23 @@ Patches are welcome in whatever form.
|
|||||||
Discussions about patches happen on the vim-dev maillist.
|
Discussions about patches happen on the vim-dev maillist.
|
||||||
If you create a pull request on GitHub it will be
|
If you create a pull request on GitHub it will be
|
||||||
forwarded to the vim-dev maillist. You can also send your patch there
|
forwarded to the vim-dev maillist. You can also send your patch there
|
||||||
directly. An attachment with a unified diff format is preferred.
|
directly. In that case an attachment with a unified diff format is preferred.
|
||||||
Information about the maillist can be found [on the Vim website].
|
Information about the maillist can be found [on the Vim website].
|
||||||
|
|
||||||
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
|
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
|
||||||
|
|
||||||
Please consider adding a test. Test coverage isn't very good yet, this needs
|
A pull request has the advantage that it will trigger the Continuous
|
||||||
to improve. Look through recent patches for examples. The tests are located
|
Integration tests, you will be warned of problems (you can ignore the coverage
|
||||||
under "src/testdir".
|
warning, it's noisy).
|
||||||
|
|
||||||
|
Please consider adding a test. All new functionality should be tested and bug
|
||||||
|
fixes should be tested for regressions: the test should fail before the fix and
|
||||||
|
pass after the fix. Look through recent patches for examples and find help
|
||||||
|
with ":help testing". The tests are located under "src/testdir".
|
||||||
|
|
||||||
|
Contributions will be distributed with Vim under the Vim license. Providing a
|
||||||
|
change to be included implies that you agree with this and your contribution
|
||||||
|
does not cause us trouble with trademarks or patents. There is no CLA to sign.
|
||||||
|
|
||||||
|
|
||||||
# Reporting issues
|
# Reporting issues
|
||||||
@@ -21,9 +30,9 @@ maillist is also fine.
|
|||||||
|
|
||||||
Please use the GitHub issues only for actual issues. If you are not 100% sure
|
Please use the GitHub issues only for actual issues. If you are not 100% sure
|
||||||
that your problem is a Vim issue, please first discuss this on the Vim user
|
that your problem is a Vim issue, please first discuss this on the Vim user
|
||||||
maillist. Try reproducing the problem without any plugins or settings:
|
maillist. Try reproducing the problem without any of your plugins or settings:
|
||||||
|
|
||||||
vim -N -u NONE
|
vim --clean
|
||||||
|
|
||||||
If you report an issue, please describe exactly how to reproduce it.
|
If you report an issue, please describe exactly how to reproduce it.
|
||||||
For example, don't say "insert some text" but say what you did exactly:
|
For example, don't say "insert some text" but say what you did exactly:
|
||||||
@@ -56,12 +65,14 @@ If the maintainer does not respond, contact the vim-dev maillist.
|
|||||||
|
|
||||||
# Translations
|
# Translations
|
||||||
|
|
||||||
Translating messages and runtime files is very much appreciated! These things can be translated:
|
Translating messages and runtime files is very much appreciated! These things
|
||||||
|
can be translated:
|
||||||
* Messages in Vim, see [src/po/README.txt][1]
|
* Messages in Vim, see [src/po/README.txt][1]
|
||||||
|
Also used for the desktop icons.
|
||||||
* Menus, see [runtime/lang/README.txt][2]
|
* Menus, see [runtime/lang/README.txt][2]
|
||||||
* Vim tutor, see [runtime/tutor/README.txt][3]
|
* Vim tutor, see [runtime/tutor/README.txt][3]
|
||||||
* Manual pages, see [runtime/doc/\*.1][4] for examples
|
* Manual pages, see [runtime/doc/\*.1][4] for examples
|
||||||
* Desktop icon, see [runtime/vim.desktop][5] and [runtime/gvim.desktop][6]
|
* Installer, see [nsis/lang/\*.nsi][5] for examples
|
||||||
|
|
||||||
The help files can be translated and made available separately.
|
The help files can be translated and made available separately.
|
||||||
See https://www.vim.org/translations.php for examples.
|
See https://www.vim.org/translations.php for examples.
|
||||||
@@ -70,5 +81,4 @@ See https://www.vim.org/translations.php for examples.
|
|||||||
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
|
[2]: https://github.com/vim/vim/blob/master/runtime/lang/README.txt
|
||||||
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
|
[3]: https://github.com/vim/vim/blob/master/runtime/tutor/README.txt
|
||||||
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
|
[4]: https://github.com/vim/vim/blob/master/runtime/doc/vim.1
|
||||||
[5]: https://github.com/vim/vim/blob/master/runtime/vim.desktop
|
[5]: https://github.com/vim/vim/blob/master/nsis/lang/english.nsi
|
||||||
[6]: https://github.com/vim/vim/blob/master/runtime/gvim.desktop
|
|
||||||
|
|||||||
51
Filelist
51
Filelist
@@ -3,16 +3,17 @@
|
|||||||
|
|
||||||
# source files for all source archives
|
# source files for all source archives
|
||||||
SRC_ALL = \
|
SRC_ALL = \
|
||||||
|
.gitignore \
|
||||||
.hgignore \
|
.hgignore \
|
||||||
.lgtm.yml \
|
.lgtm.yml \
|
||||||
.travis.yml \
|
.travis.yml \
|
||||||
appveyor.yml \
|
appveyor.yml \
|
||||||
ci/appveyor.bat \
|
ci/appveyor.bat \
|
||||||
src/Make_all.mak \
|
src/Make_all.mak \
|
||||||
src/README.txt \
|
src/README.md \
|
||||||
src/alloc.h \
|
src/alloc.h \
|
||||||
src/arabic.c \
|
src/arabic.c \
|
||||||
src/arabic.h \
|
src/arglist.c \
|
||||||
src/ascii.h \
|
src/ascii.h \
|
||||||
src/autocmd.c \
|
src/autocmd.c \
|
||||||
src/beval.c \
|
src/beval.c \
|
||||||
@@ -20,10 +21,13 @@ SRC_ALL = \
|
|||||||
src/blob.c \
|
src/blob.c \
|
||||||
src/blowfish.c \
|
src/blowfish.c \
|
||||||
src/buffer.c \
|
src/buffer.c \
|
||||||
|
src/change.c \
|
||||||
src/channel.c \
|
src/channel.c \
|
||||||
src/charset.c \
|
src/charset.c \
|
||||||
|
src/cmdhist.c \
|
||||||
src/crypt.c \
|
src/crypt.c \
|
||||||
src/crypt_zip.c \
|
src/crypt_zip.c \
|
||||||
|
src/debugger.c \
|
||||||
src/dict.c \
|
src/dict.c \
|
||||||
src/diff.c \
|
src/diff.c \
|
||||||
src/digraph.c \
|
src/digraph.c \
|
||||||
@@ -48,7 +52,9 @@ SRC_ALL = \
|
|||||||
src/gui_beval.c \
|
src/gui_beval.c \
|
||||||
src/hardcopy.c \
|
src/hardcopy.c \
|
||||||
src/hashtab.c \
|
src/hashtab.c \
|
||||||
|
src/highlight.c \
|
||||||
src/indent.c \
|
src/indent.c \
|
||||||
|
src/insexpand.c \
|
||||||
src/json.c \
|
src/json.c \
|
||||||
src/json_test.c \
|
src/json_test.c \
|
||||||
src/kword_test.c \
|
src/kword_test.c \
|
||||||
@@ -56,6 +62,7 @@ SRC_ALL = \
|
|||||||
src/keymap.h \
|
src/keymap.h \
|
||||||
src/macros.h \
|
src/macros.h \
|
||||||
src/main.c \
|
src/main.c \
|
||||||
|
src/map.c \
|
||||||
src/mark.c \
|
src/mark.c \
|
||||||
src/mbyte.c \
|
src/mbyte.c \
|
||||||
src/memfile.c \
|
src/memfile.c \
|
||||||
@@ -76,14 +83,18 @@ SRC_ALL = \
|
|||||||
src/option.c \
|
src/option.c \
|
||||||
src/option.h \
|
src/option.h \
|
||||||
src/popupmnu.c \
|
src/popupmnu.c \
|
||||||
|
src/popupwin.c \
|
||||||
|
src/profiler.c \
|
||||||
src/quickfix.c \
|
src/quickfix.c \
|
||||||
src/regexp.c \
|
src/regexp.c \
|
||||||
src/regexp_nfa.c \
|
src/regexp_nfa.c \
|
||||||
src/regexp.h \
|
src/regexp.h \
|
||||||
src/screen.c \
|
src/screen.c \
|
||||||
src/search.c \
|
src/search.c \
|
||||||
|
src/session.c \
|
||||||
src/sha256.c \
|
src/sha256.c \
|
||||||
src/sign.c \
|
src/sign.c \
|
||||||
|
src/sound.c \
|
||||||
src/spell.c \
|
src/spell.c \
|
||||||
src/spell.h \
|
src/spell.h \
|
||||||
src/spellfile.c \
|
src/spellfile.c \
|
||||||
@@ -94,13 +105,16 @@ SRC_ALL = \
|
|||||||
src/terminal.c \
|
src/terminal.c \
|
||||||
src/term.h \
|
src/term.h \
|
||||||
src/termlib.c \
|
src/termlib.c \
|
||||||
|
src/testing.c \
|
||||||
src/textprop.c \
|
src/textprop.c \
|
||||||
src/ui.c \
|
src/ui.c \
|
||||||
src/undo.c \
|
src/undo.c \
|
||||||
|
src/usercmd.c \
|
||||||
src/userfunc.c \
|
src/userfunc.c \
|
||||||
src/version.c \
|
src/version.c \
|
||||||
src/version.h \
|
src/version.h \
|
||||||
src/vim.h \
|
src/vim.h \
|
||||||
|
src/viminfo.c \
|
||||||
src/winclip.c \
|
src/winclip.c \
|
||||||
src/window.c \
|
src/window.c \
|
||||||
src/tee/tee.c \
|
src/tee/tee.c \
|
||||||
@@ -113,9 +127,12 @@ SRC_ALL = \
|
|||||||
src/testdir/lsan-suppress.txt \
|
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/summarize.vim \
|
||||||
|
src/testdir/check.vim \
|
||||||
src/testdir/shared.vim \
|
src/testdir/shared.vim \
|
||||||
src/testdir/screendump.vim \
|
src/testdir/screendump.vim \
|
||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
|
src/testdir/term_util.vim \
|
||||||
src/testdir/setup.vim \
|
src/testdir/setup.vim \
|
||||||
src/testdir/gui_init.vim \
|
src/testdir/gui_init.vim \
|
||||||
src/testdir/setup_gui.vim \
|
src/testdir/setup_gui.vim \
|
||||||
@@ -144,18 +161,24 @@ SRC_ALL = \
|
|||||||
src/testdir/samples/test000 \
|
src/testdir/samples/test000 \
|
||||||
src/testdir/if_ver*.vim \
|
src/testdir/if_ver*.vim \
|
||||||
src/testdir/color_ramp.vim \
|
src/testdir/color_ramp.vim \
|
||||||
|
src/testdir/silent.wav \
|
||||||
|
src/testdir/popupbounce.vim \
|
||||||
src/proto.h \
|
src/proto.h \
|
||||||
src/protodef.h \
|
src/protodef.h \
|
||||||
src/proto/arabic.pro \
|
src/proto/arabic.pro \
|
||||||
|
src/proto/arglist.pro \
|
||||||
src/proto/autocmd.pro \
|
src/proto/autocmd.pro \
|
||||||
src/proto/beval.pro \
|
src/proto/beval.pro \
|
||||||
src/proto/blob.pro \
|
src/proto/blob.pro \
|
||||||
src/proto/blowfish.pro \
|
src/proto/blowfish.pro \
|
||||||
src/proto/buffer.pro \
|
src/proto/buffer.pro \
|
||||||
|
src/proto/change.pro \
|
||||||
src/proto/channel.pro \
|
src/proto/channel.pro \
|
||||||
src/proto/charset.pro \
|
src/proto/charset.pro \
|
||||||
|
src/proto/cmdhist.pro \
|
||||||
src/proto/crypt.pro \
|
src/proto/crypt.pro \
|
||||||
src/proto/crypt_zip.pro \
|
src/proto/crypt_zip.pro \
|
||||||
|
src/proto/debugger.pro \
|
||||||
src/proto/dict.pro \
|
src/proto/dict.pro \
|
||||||
src/proto/diff.pro \
|
src/proto/diff.pro \
|
||||||
src/proto/digraph.pro \
|
src/proto/digraph.pro \
|
||||||
@@ -175,10 +198,13 @@ SRC_ALL = \
|
|||||||
src/proto/gui_beval.pro \
|
src/proto/gui_beval.pro \
|
||||||
src/proto/hardcopy.pro \
|
src/proto/hardcopy.pro \
|
||||||
src/proto/hashtab.pro \
|
src/proto/hashtab.pro \
|
||||||
|
src/proto/highlight.pro \
|
||||||
src/proto/indent.pro \
|
src/proto/indent.pro \
|
||||||
|
src/proto/insexpand.pro \
|
||||||
src/proto/json.pro \
|
src/proto/json.pro \
|
||||||
src/proto/list.pro \
|
src/proto/list.pro \
|
||||||
src/proto/main.pro \
|
src/proto/main.pro \
|
||||||
|
src/proto/map.pro \
|
||||||
src/proto/mark.pro \
|
src/proto/mark.pro \
|
||||||
src/proto/mbyte.pro \
|
src/proto/mbyte.pro \
|
||||||
src/proto/memfile.pro \
|
src/proto/memfile.pro \
|
||||||
@@ -193,12 +219,16 @@ SRC_ALL = \
|
|||||||
src/proto/ops.pro \
|
src/proto/ops.pro \
|
||||||
src/proto/option.pro \
|
src/proto/option.pro \
|
||||||
src/proto/popupmnu.pro \
|
src/proto/popupmnu.pro \
|
||||||
|
src/proto/popupwin.pro \
|
||||||
|
src/proto/profiler.pro \
|
||||||
src/proto/quickfix.pro \
|
src/proto/quickfix.pro \
|
||||||
src/proto/regexp.pro \
|
src/proto/regexp.pro \
|
||||||
src/proto/screen.pro \
|
src/proto/screen.pro \
|
||||||
src/proto/search.pro \
|
src/proto/search.pro \
|
||||||
|
src/proto/session.pro \
|
||||||
src/proto/sha256.pro \
|
src/proto/sha256.pro \
|
||||||
src/proto/sign.pro \
|
src/proto/sign.pro \
|
||||||
|
src/proto/sound.pro \
|
||||||
src/proto/spell.pro \
|
src/proto/spell.pro \
|
||||||
src/proto/spellfile.pro \
|
src/proto/spellfile.pro \
|
||||||
src/proto/syntax.pro \
|
src/proto/syntax.pro \
|
||||||
@@ -206,11 +236,14 @@ SRC_ALL = \
|
|||||||
src/proto/term.pro \
|
src/proto/term.pro \
|
||||||
src/proto/terminal.pro \
|
src/proto/terminal.pro \
|
||||||
src/proto/termlib.pro \
|
src/proto/termlib.pro \
|
||||||
|
src/proto/testing.pro \
|
||||||
src/proto/textprop.pro \
|
src/proto/textprop.pro \
|
||||||
src/proto/ui.pro \
|
src/proto/ui.pro \
|
||||||
src/proto/undo.pro \
|
src/proto/undo.pro \
|
||||||
|
src/proto/usercmd.pro \
|
||||||
src/proto/userfunc.pro \
|
src/proto/userfunc.pro \
|
||||||
src/proto/version.pro \
|
src/proto/version.pro \
|
||||||
|
src/proto/viminfo.pro \
|
||||||
src/proto/winclip.pro \
|
src/proto/winclip.pro \
|
||||||
src/proto/window.pro \
|
src/proto/window.pro \
|
||||||
src/libvterm/.bzrignore \
|
src/libvterm/.bzrignore \
|
||||||
@@ -415,11 +448,8 @@ SRC_DOS = \
|
|||||||
src/GvimExt/uninst.bat \
|
src/GvimExt/uninst.bat \
|
||||||
README_srcdos.txt \
|
README_srcdos.txt \
|
||||||
src/INSTALLpc.txt \
|
src/INSTALLpc.txt \
|
||||||
src/Make_bc5.mak \
|
|
||||||
src/Make_cyg.mak \
|
src/Make_cyg.mak \
|
||||||
src/Make_cyg_ming.mak \
|
src/Make_cyg_ming.mak \
|
||||||
src/Make_ivc.mak \
|
|
||||||
src/Make_dvc.mak \
|
|
||||||
src/Make_ming.mak \
|
src/Make_ming.mak \
|
||||||
src/Make_mvc.mak \
|
src/Make_mvc.mak \
|
||||||
tools/rename.bat \
|
tools/rename.bat \
|
||||||
@@ -470,7 +500,6 @@ SRC_DOS = \
|
|||||||
src/xpm_w32.c \
|
src/xpm_w32.c \
|
||||||
src/xpm_w32.h \
|
src/xpm_w32.h \
|
||||||
src/tee/Make_mvc.mak \
|
src/tee/Make_mvc.mak \
|
||||||
src/xxd/Make_bc5.mak \
|
|
||||||
src/xxd/Make_ming.mak \
|
src/xxd/Make_ming.mak \
|
||||||
src/xxd/Make_mvc.mak \
|
src/xxd/Make_mvc.mak \
|
||||||
nsis/gvim.nsi \
|
nsis/gvim.nsi \
|
||||||
@@ -508,13 +537,14 @@ SRC_DOS_BIN = \
|
|||||||
src/vim.tlb \
|
src/vim.tlb \
|
||||||
src/xpm/COPYRIGHT \
|
src/xpm/COPYRIGHT \
|
||||||
src/xpm/README.txt \
|
src/xpm/README.txt \
|
||||||
|
src/xpm/arm64/lib-vc14/libXpm.lib \
|
||||||
src/xpm/include/*.h \
|
src/xpm/include/*.h \
|
||||||
|
src/xpm/x64/lib-vc14/libXpm.lib \
|
||||||
src/xpm/x64/lib/libXpm.a \
|
src/xpm/x64/lib/libXpm.a \
|
||||||
src/xpm/x64/lib/libXpm.lib \
|
src/xpm/x64/lib/libXpm.lib \
|
||||||
src/xpm/x64/lib-vc14/libXpm.lib \
|
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||||
src/xpm/x86/lib/libXpm.a \
|
src/xpm/x86/lib/libXpm.a \
|
||||||
src/xpm/x86/lib/libXpm.lib \
|
src/xpm/x86/lib/libXpm.lib \
|
||||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
|
||||||
nsis/icons.zip \
|
nsis/icons.zip \
|
||||||
|
|
||||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||||
@@ -526,10 +556,7 @@ SRC_AMI = \
|
|||||||
README_amisrc.txt.info \
|
README_amisrc.txt.info \
|
||||||
src.info \
|
src.info \
|
||||||
src/INSTALLami.txt \
|
src/INSTALLami.txt \
|
||||||
src/Make_dice.mak \
|
|
||||||
src/Make_manx.mak \
|
|
||||||
src/Make_morph.mak \
|
src/Make_morph.mak \
|
||||||
src/Make_sas.mak \
|
|
||||||
src/os_amiga.c \
|
src/os_amiga.c \
|
||||||
src/os_amiga.h \
|
src/os_amiga.h \
|
||||||
src/proto/os_amiga.pro \
|
src/proto/os_amiga.pro \
|
||||||
@@ -936,6 +963,8 @@ LANG_SRC = \
|
|||||||
src/po/Make_cyg.mak \
|
src/po/Make_cyg.mak \
|
||||||
src/po/Make_ming.mak \
|
src/po/Make_ming.mak \
|
||||||
src/po/Make_mvc.mak \
|
src/po/Make_mvc.mak \
|
||||||
|
src/po/vim.desktop.in \
|
||||||
|
src/po/gvim.desktop.in \
|
||||||
src/po/sjiscorr.c \
|
src/po/sjiscorr.c \
|
||||||
src/po/*.po \
|
src/po/*.po \
|
||||||
|
|
||||||
|
|||||||
7
Makefile
7
Makefile
@@ -43,13 +43,18 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
|
|||||||
@if test "$@" = "test"; then \
|
@if test "$@" = "test"; then \
|
||||||
$(MAKE) indenttest; \
|
$(MAKE) indenttest; \
|
||||||
fi
|
fi
|
||||||
|
@# When the target is "clean" also clean for the indent tests.
|
||||||
|
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
|
||||||
|
cd runtime/indent && \
|
||||||
|
$(MAKE) clean; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Executable used for running the indent tests.
|
# Executable used for running the indent tests.
|
||||||
VIM_FOR_INDENTTEST = ../../src/vim
|
VIM_FOR_INDENTTEST = ../../src/vim
|
||||||
|
|
||||||
indenttest:
|
indenttest:
|
||||||
cd runtime/indent && \
|
cd runtime/indent && \
|
||||||
$(MAKE) clean VIM="$(VIM_FOR_INDENTTEST)" && \
|
$(MAKE) clean && \
|
||||||
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
|
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,8 +22,10 @@ if "%FEATURE%" == "HUGE" (
|
|||||||
)
|
)
|
||||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
||||||
|
|
||||||
|
:: Filter out the progress bar from the build log
|
||||||
|
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||||
|
|
||||||
echo "Building MSVC 64bit console Version"
|
echo "Building MSVC 64bit console Version"
|
||||||
sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
|
||||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||||
nmake -f Make_mvc2.mak clean
|
nmake -f Make_mvc2.mak clean
|
||||||
|
|
||||||
|
|||||||
2
configure
vendored
2
configure
vendored
@@ -3,4 +3,4 @@
|
|||||||
# This is just a stub for the Unix configure script, to provide support for
|
# This is just a stub for the Unix configure script, to provide support for
|
||||||
# doing "./configure" in the top Vim directory.
|
# doing "./configure" in the top Vim directory.
|
||||||
|
|
||||||
cd src && exec ./configure "$@"
|
cd "${SRCDIR:-src}" && exec ./configure "$@"
|
||||||
|
|||||||
@@ -47,6 +47,11 @@ Unicode true
|
|||||||
|
|
||||||
!include gvim_version.nsh # for version number
|
!include gvim_version.nsh # for version number
|
||||||
|
|
||||||
|
# Definition of Patch for Vim
|
||||||
|
!ifndef PATCHLEVEL
|
||||||
|
!define PATCHLEVEL 0
|
||||||
|
!endif
|
||||||
|
|
||||||
# ----------- No configurable settings below this line -----------
|
# ----------- No configurable settings below this line -----------
|
||||||
|
|
||||||
!include "Library.nsh" # For DLL install
|
!include "Library.nsh" # For DLL install
|
||||||
@@ -173,6 +178,16 @@ Page custom SetCustom ValidateCustom
|
|||||||
!include "lang\tradchinese.nsi"
|
!include "lang\tradchinese.nsi"
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
# Version resources
|
||||||
|
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
|
||||||
|
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
|
||||||
|
VIProductVersion "${VER_MAJOR}.${VER_MINOR}.${PATCHLEVEL}.0"
|
||||||
|
|
||||||
# Global variables
|
# Global variables
|
||||||
Var vim_dialog
|
Var vim_dialog
|
||||||
@@ -322,6 +337,9 @@ Section "$(str_section_exe)" id_section_exe
|
|||||||
|
|
||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
File /oname=gvim.exe ${VIMSRC}\gvim_ole.exe
|
||||||
|
!if /FileExists "${VIMSRC}\vim${BIT}.dll"
|
||||||
|
File ${VIMSRC}\vim${BIT}.dll
|
||||||
|
!endif
|
||||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||||
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
|
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
|
||||||
File ${VIMSRC}\vimrun.exe
|
File ${VIMSRC}\vimrun.exe
|
||||||
@@ -354,42 +372,10 @@ Section "$(str_section_exe)" id_section_exe
|
|||||||
File ${VIMRT}\indent\*.*
|
File ${VIMRT}\indent\*.*
|
||||||
|
|
||||||
SetOutPath $0\macros
|
SetOutPath $0\macros
|
||||||
File ${VIMRT}\macros\*.*
|
File /r ${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
|
||||||
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
File /r ${VIMRT}\pack\*.*
|
||||||
SetOutPath $0\pack\dist\opt\dvorak\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\editexisting\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\justify\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\matchit\doc
|
|
||||||
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
|
|
||||||
SetOutPath $0\pack\dist\opt\matchit\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
|
|
||||||
SetOutPath $0\pack\dist\opt\matchit\autoload
|
|
||||||
File ${VIMRT}\pack\dist\opt\matchit\autoload\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\shellmenu\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\swapmouse\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\termdebug\plugin
|
|
||||||
File ${VIMRT}\pack\dist\opt\termdebug\plugin\*.*
|
|
||||||
|
|
||||||
SetOutPath $0\plugin
|
SetOutPath $0\plugin
|
||||||
File ${VIMRT}\plugin\*.*
|
File ${VIMRT}\plugin\*.*
|
||||||
@@ -1128,7 +1114,9 @@ Section "un.$(str_unsection_rootdir)" id_unsection_rootdir
|
|||||||
Call un.GetParent
|
Call un.GetParent
|
||||||
Pop $0
|
Pop $0
|
||||||
|
|
||||||
Delete $0\_vimrc
|
${IfNot} ${Silent}
|
||||||
|
Delete $0\_vimrc
|
||||||
|
${Endif}
|
||||||
RMDir $0
|
RMDir $0
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
|||||||
@@ -45,37 +45,37 @@ LangString str_type_full ${LANG_SIMPCHINESE} \
|
|||||||
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
|
LangString str_section_old_ver ${LANG_SIMPCHINESE} \
|
||||||
"卸载旧版本"
|
"卸载旧版本"
|
||||||
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
|
LangString str_desc_old_ver ${LANG_SIMPCHINESE} \
|
||||||
"卸载系统上旧版本的 Vim。"
|
"卸载系统上已存在的 Vim 版本"
|
||||||
|
|
||||||
LangString str_section_exe ${LANG_SIMPCHINESE} \
|
LangString str_section_exe ${LANG_SIMPCHINESE} \
|
||||||
"安装 Vim 图形界面"
|
"安装 Vim 图形界面"
|
||||||
LangString str_desc_exe ${LANG_SIMPCHINESE} \
|
LangString str_desc_exe ${LANG_SIMPCHINESE} \
|
||||||
"安装 Vim 图形界面及脚本。此为必选安装。"
|
"安装 Vim 图形界面及运行时文件。此项为必选。"
|
||||||
|
|
||||||
LangString str_section_console ${LANG_SIMPCHINESE} \
|
LangString str_section_console ${LANG_SIMPCHINESE} \
|
||||||
"安装 Vim 命令行程序"
|
"安装 Vim 控制台版本"
|
||||||
LangString str_desc_console ${LANG_SIMPCHINESE} \
|
LangString str_desc_console ${LANG_SIMPCHINESE} \
|
||||||
"安装 Vim 命令行程序 (vim.exe)。该程序在命令行窗口中运行。"
|
"安装 Vim 的控制台版本(vim.exe)。"
|
||||||
|
|
||||||
LangString str_section_batch ${LANG_SIMPCHINESE} \
|
LangString str_section_batch ${LANG_SIMPCHINESE} \
|
||||||
"安装批处理文件"
|
"安装批处理文件"
|
||||||
LangString str_desc_batch ${LANG_SIMPCHINESE} \
|
LangString str_desc_batch ${LANG_SIMPCHINESE} \
|
||||||
"为 Vim 的各种变体创建批处理程序,以便在命令行下运行 Vim。"
|
"为 Vim 的各种变体创建批处理文件,以便在命令行下运行 Vim。"
|
||||||
|
|
||||||
LangString str_group_icons ${LANG_SIMPCHINESE} \
|
LangString str_group_icons ${LANG_SIMPCHINESE} \
|
||||||
"创建 Vim 图标"
|
"创建图标"
|
||||||
LangString str_desc_icons ${LANG_SIMPCHINESE} \
|
LangString str_desc_icons ${LANG_SIMPCHINESE} \
|
||||||
"为 Vim 创建若干图标,以方便使用 Vim。"
|
"为 Vim 创建若干图标,以方便使用 Vim。"
|
||||||
|
|
||||||
LangString str_section_desktop ${LANG_SIMPCHINESE} \
|
LangString str_section_desktop ${LANG_SIMPCHINESE} \
|
||||||
"在桌面上"
|
"桌面图标"
|
||||||
LangString str_desc_desktop ${LANG_SIMPCHINESE} \
|
LangString str_desc_desktop ${LANG_SIMPCHINESE} \
|
||||||
"在桌面上为 Vim 创建若干图标,以方便启动 Vim。"
|
"创建 Vim 的桌面快捷方式图标。"
|
||||||
|
|
||||||
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
|
LangString str_section_start_menu ${LANG_SIMPCHINESE} \
|
||||||
"在启动菜单的程序菜单下"
|
"「开始」菜单程序组"
|
||||||
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
|
LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
|
||||||
"在启动菜单的程序菜单下添加 Vim 组。适用于 Windows 95 及以上版本。"
|
"在开始菜单中添加 Vim 程序组(适用于 Windows 95 及以上版本)"
|
||||||
|
|
||||||
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
|
#LangString str_section_quick_launch ${LANG_SIMPCHINESE} \
|
||||||
# "在快速启动启动栏中"
|
# "在快速启动启动栏中"
|
||||||
@@ -83,9 +83,9 @@ LangString str_desc_start_menu ${LANG_SIMPCHINESE} \
|
|||||||
# "在快速启动栏中添加 Vim 图标。"
|
# "在快速启动栏中添加 Vim 图标。"
|
||||||
|
|
||||||
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
|
LangString str_section_edit_with ${LANG_SIMPCHINESE} \
|
||||||
"安装快捷菜单"
|
"添加到快捷菜单"
|
||||||
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
|
LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
|
||||||
"将 Vim 添加到“打开方式”快捷菜单中。"
|
"将“用 Vim 编辑”添加到快捷菜单中。"
|
||||||
|
|
||||||
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
|
#LangString str_section_edit_with32 ${LANG_SIMPCHINESE} \
|
||||||
# "32 位版本"
|
# "32 位版本"
|
||||||
@@ -98,10 +98,10 @@ LangString str_desc_edit_with ${LANG_SIMPCHINESE} \
|
|||||||
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
|
# "将 Vim 添加到 64 位程序的“打开方式”快捷菜单中。"
|
||||||
|
|
||||||
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
|
LangString str_section_vim_rc ${LANG_SIMPCHINESE} \
|
||||||
"创建缺省配置文件"
|
"创建默认配置文件"
|
||||||
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
|
LangString str_desc_vim_rc ${LANG_SIMPCHINESE} \
|
||||||
"在安装目录下生成缺省的 Vim 配置文件(_vimrc)。\
|
"在安装目录下生成默认的 Vim 配置文件(_vimrc)。\
|
||||||
如果该文件已经存在,则略过此项。"
|
如果该文件已经存在,则跳过该项。"
|
||||||
|
|
||||||
LangString str_group_plugin ${LANG_SIMPCHINESE} \
|
LangString str_group_plugin ${LANG_SIMPCHINESE} \
|
||||||
"创建插件目录"
|
"创建插件目录"
|
||||||
@@ -121,9 +121,9 @@ LangString str_desc_plugin_vim ${LANG_SIMPCHINESE} \
|
|||||||
该目录下的扩展插件。"
|
该目录下的扩展插件。"
|
||||||
|
|
||||||
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
|
LangString str_section_vis_vim ${LANG_SIMPCHINESE} \
|
||||||
"安装 VisVim 插件"
|
"VisVim 插件"
|
||||||
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
|
LangString str_desc_vis_vim ${LANG_SIMPCHINESE} \
|
||||||
"安装用于与微软 Microsoft Visual Studio 进行集成的 VisVim 插件。"
|
"安装与 Visual Studio 集成的 VisVim 插件。"
|
||||||
|
|
||||||
LangString str_section_nls ${LANG_SIMPCHINESE} \
|
LangString str_section_nls ${LANG_SIMPCHINESE} \
|
||||||
"安装多语言支持"
|
"安装多语言支持"
|
||||||
@@ -153,12 +153,12 @@ LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
|
|||||||
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
|
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
|
||||||
"公共插件目录"
|
"公共插件目录"
|
||||||
LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
|
LangString str_desc_rm_plugin_vim ${LANG_SIMPCHINESE} \
|
||||||
"Remove the plugin directories from Vim install directory."
|
"从 Vim 安装目录下移除插件目录。"
|
||||||
|
|
||||||
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
|
LangString str_unsection_rootdir ${LANG_SIMPCHINESE} \
|
||||||
"Remove the Vim root directory"
|
"移除 Vim 主目录"
|
||||||
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
|
LangString str_desc_rm_rootdir ${LANG_SIMPCHINESE} \
|
||||||
"Remove the Vim root directory. It contains your Vim configuration files!"
|
"移除 Vim 的主目录,该目录包含您的配置文件!"
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@@ -225,13 +225,13 @@ LangString str_msg_rm_exe_fail ${LANG_SIMPCHINESE} \
|
|||||||
# 该目录下仍有其他文件。"
|
# 该目录下仍有其他文件。"
|
||||||
|
|
||||||
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
|
LangString str_msg_uninstalling ${LANG_SIMPCHINESE} \
|
||||||
"Uninstalling the old version..."
|
"正在卸载旧版本..."
|
||||||
|
|
||||||
LangString str_msg_registering ${LANG_SIMPCHINESE} \
|
LangString str_msg_registering ${LANG_SIMPCHINESE} \
|
||||||
"Registering..."
|
"正在注册..."
|
||||||
|
|
||||||
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
|
LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
|
||||||
"Unregistering..."
|
"正在取消注册..."
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@@ -239,12 +239,12 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
|
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
|
||||||
"Choose _vimrc settings"
|
"设置 _vimrc"
|
||||||
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
|
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
|
||||||
"Choose the settings for enhancement, keyboard and mouse."
|
"选择键盘、鼠标和增强选项。"
|
||||||
|
|
||||||
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
|
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
|
||||||
" Vi / Vim behavior "
|
"Vi / Vim 行为"
|
||||||
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
|
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
|
||||||
"&Compatibility and enhancements"
|
"&Compatibility and enhancements"
|
||||||
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
|
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
|
||||||
@@ -257,7 +257,7 @@ LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
|
|||||||
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
||||||
|
|
||||||
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
|
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
|
||||||
" Mappings "
|
"键盘映射"
|
||||||
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
|
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
|
||||||
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||||
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
|
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
|
||||||
@@ -266,7 +266,7 @@ LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
|
|||||||
"Remap a few keys"
|
"Remap a few keys"
|
||||||
|
|
||||||
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
|
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
|
||||||
" Mouse "
|
"鼠标"
|
||||||
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
|
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
|
||||||
"&Behavior of right and left buttons"
|
"&Behavior of right and left buttons"
|
||||||
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
|
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
|
||||||
|
|||||||
2
runtime/autoload/dist/ft.vim
vendored
2
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
|||||||
" Vim functions for file type detection
|
" Vim functions for file type detection
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2019 Jan 18
|
" Last Change: 2019 Mar 08
|
||||||
|
|
||||||
" These functions are moved here from runtime/filetype.vim to make startup
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
" faster.
|
" faster.
|
||||||
|
|||||||
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
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: All languages, uses existing syntax highlighting rules
|
" Language: All languages, uses existing syntax highlighting rules
|
||||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||||
" Version: 13.0
|
" Version: 13.0
|
||||||
" Last Change: 2013 May 14
|
" Last Change: 2019 Aug 08
|
||||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||||
|
|
||||||
" History
|
" History
|
||||||
@@ -597,7 +597,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
|||||||
" Remove all non-word characters
|
" Remove all non-word characters
|
||||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
||||||
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
||||||
" Do this by using the outer substitue() call to gather all
|
" Do this by using the outer substitute() call to gather all
|
||||||
" text between the match /.../ tags.
|
" text between the match /.../ tags.
|
||||||
" The inner substitute() call operates on the text selected
|
" The inner substitute() call operates on the text selected
|
||||||
" and replaces all non-word characters.
|
" and replaces all non-word characters.
|
||||||
|
|||||||
@@ -1,13 +1,14 @@
|
|||||||
" This script tests a color scheme for some errors. Load the scheme and source
|
" This script tests a color scheme for some errors and lists potential errors.
|
||||||
" this script. e.g. :e colors/desert.vim | :so check_colors.vim
|
" Load the scheme and source this script, like this:
|
||||||
" Will output possible errors.
|
" :edit colors/desert.vim | :so colors/tools/check_colors.vim
|
||||||
|
|
||||||
let s:save_cpo= &cpo
|
let s:save_cpo= &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
func! Test_check_colors()
|
func! Test_check_colors()
|
||||||
|
let l:savedview = winsaveview()
|
||||||
call cursor(1,1)
|
call cursor(1,1)
|
||||||
let err={}
|
let err = {}
|
||||||
|
|
||||||
" 1) Check g:colors_name is existing
|
" 1) Check g:colors_name is existing
|
||||||
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
||||||
@@ -17,48 +18,115 @@ func! Test_check_colors()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" 2) Check for some well-defined highlighting groups
|
" 2) Check for some well-defined highlighting groups
|
||||||
" Some items, check several groups, e.g. Diff, Spell
|
let hi_groups = [
|
||||||
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
|
\ 'ColorColumn',
|
||||||
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
|
\ 'Comment',
|
||||||
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
|
\ 'Conceal',
|
||||||
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
|
\ 'Constant',
|
||||||
let groups={}
|
\ 'Cursor',
|
||||||
|
\ 'CursorColumn',
|
||||||
|
\ 'CursorLine',
|
||||||
|
\ 'CursorLineNr',
|
||||||
|
\ 'DiffAdd',
|
||||||
|
\ 'DiffChange',
|
||||||
|
\ 'DiffDelete',
|
||||||
|
\ 'DiffText',
|
||||||
|
\ 'Directory',
|
||||||
|
\ 'EndOfBuffer',
|
||||||
|
\ 'Error',
|
||||||
|
\ 'ErrorMsg',
|
||||||
|
\ 'FoldColumn',
|
||||||
|
\ 'Folded',
|
||||||
|
\ 'Identifier',
|
||||||
|
\ 'Ignore',
|
||||||
|
\ 'IncSearch',
|
||||||
|
\ 'LineNr',
|
||||||
|
\ 'MatchParen',
|
||||||
|
\ 'ModeMsg',
|
||||||
|
\ 'MoreMsg',
|
||||||
|
\ 'NonText',
|
||||||
|
\ 'Normal',
|
||||||
|
\ 'Pmenu',
|
||||||
|
\ 'PmenuSbar',
|
||||||
|
\ 'PmenuSel',
|
||||||
|
\ 'PmenuThumb',
|
||||||
|
\ 'PreProc',
|
||||||
|
\ 'Question',
|
||||||
|
\ 'QuickFixLine',
|
||||||
|
\ 'Search',
|
||||||
|
\ 'SignColumn',
|
||||||
|
\ 'Special',
|
||||||
|
\ 'SpecialKey',
|
||||||
|
\ 'SpellBad',
|
||||||
|
\ 'SpellCap',
|
||||||
|
\ 'SpellLocal',
|
||||||
|
\ 'SpellRare',
|
||||||
|
\ 'Statement',
|
||||||
|
\ 'StatusLine',
|
||||||
|
\ 'StatusLineNC',
|
||||||
|
\ 'StatusLineTerm',
|
||||||
|
\ 'StatusLineTermNC',
|
||||||
|
\ 'TabLine',
|
||||||
|
\ 'TabLineFill',
|
||||||
|
\ 'TabLineSel',
|
||||||
|
\ 'Title',
|
||||||
|
\ 'Todo',
|
||||||
|
\ 'ToolbarButton',
|
||||||
|
\ 'ToolbarLine',
|
||||||
|
\ 'Type',
|
||||||
|
\ 'Underlined',
|
||||||
|
\ 'VertSplit',
|
||||||
|
\ 'Visual',
|
||||||
|
\ 'VisualNOS',
|
||||||
|
\ 'WarningMsg',
|
||||||
|
\ 'WildMenu',
|
||||||
|
\ ]
|
||||||
|
let groups = {}
|
||||||
for group in hi_groups
|
for group in hi_groups
|
||||||
if search('\c@suppress\s\+'.group, 'cnW')
|
if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW')
|
||||||
" skip check, if the script contains a line like
|
" skip check, if the script contains a line like
|
||||||
" @suppress Visual:
|
" @suppress Visual:
|
||||||
let groups[group] = 'Ignoring '.group
|
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
if !search('hi\%[ghlight] \+'.group, 'cnW')
|
if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') " Linked group
|
||||||
let groups[group] = 'No highlight definition for '.group
|
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
|
if !search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW')
|
||||||
let groups[group] = 'Missing foreground color for '.group
|
let groups[group] = 'No highlight definition for ' .. group
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
|
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW')
|
||||||
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
|
let groups[group] = 'Missing foreground or background color for ' .. group
|
||||||
let groups[group] = 'Missing bg terminal color for '.group
|
|
||||||
continue
|
continue
|
||||||
endif
|
endif
|
||||||
call search('hi\%[ghlight] \+'.group, 'cW')
|
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') &&
|
||||||
" only check in the current line
|
\ !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW')
|
||||||
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
|
\ && group != 'Cursor'
|
||||||
" do not check for background colors, they could be intentionally left out
|
let groups[group] = 'Missing bg terminal color for ' .. group
|
||||||
let groups[group] = 'Missing fg definition for '.group
|
continue
|
||||||
endif
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW')
|
||||||
|
\ && group !~ '^Diff'
|
||||||
|
let groups[group] = 'Missing guifg definition for ' .. group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW')
|
||||||
|
\ && group !~ '^Diff'
|
||||||
|
\ && group != 'Cursor'
|
||||||
|
let groups[group] = 'Missing ctermfg definition for ' .. group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
" do not check for background colors, they could be intentionally left out
|
||||||
call cursor(1,1)
|
call cursor(1,1)
|
||||||
endfor
|
endfor
|
||||||
let err['highlight'] = groups
|
let err['highlight'] = groups
|
||||||
|
|
||||||
" 3) Check, that it does not set background highlighting
|
" 3) Check, that it does not set background highlighting
|
||||||
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
|
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
|
||||||
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
|
let bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
|
||||||
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
|
let bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
|
||||||
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
|
let bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
|
||||||
let line=search(bg_pat, 'cnW')
|
let line = search(bg_pat, 'cnW')
|
||||||
if search(bg_pat, 'cnW')
|
if search(bg_pat, 'cnW')
|
||||||
exe line
|
exe line
|
||||||
if search('hi \U\w\+\s\+\S', 'cbnW')
|
if search('hi \U\w\+\s\+\S', 'cbnW')
|
||||||
@@ -80,7 +148,7 @@ func! Test_check_colors()
|
|||||||
" if exists("syntax_on")
|
" if exists("syntax_on")
|
||||||
" syntax reset
|
" syntax reset
|
||||||
" endif
|
" endif
|
||||||
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
|
let pat = 'hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
|
||||||
if !search(pat, 'cnW')
|
if !search(pat, 'cnW')
|
||||||
let err['init'] = 'No initialization'
|
let err['init'] = 'No initialization'
|
||||||
endif
|
endif
|
||||||
@@ -91,15 +159,43 @@ func! Test_check_colors()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" 7) Does not define filetype specific groups like vimCommand, htmlTag,
|
" 7) Does not define filetype specific groups like vimCommand, htmlTag,
|
||||||
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
|
let hi_groups = filter(getcompletion('', 'filetype'), { _,v -> v !~# '\%[no]syn\%(color\|load\|tax\)' })
|
||||||
|
let ft_groups = []
|
||||||
|
" let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative
|
||||||
for group in hi_groups
|
for group in hi_groups
|
||||||
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
|
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\w\+\>\ze \+.' " Skips `hi clear`
|
||||||
|
if search(pat, 'cW')
|
||||||
|
call add(ft_groups, matchstr(getline('.'), pat))
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
endfor
|
||||||
|
if !empty(ft_groups)
|
||||||
|
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . join(uniq(sort(ft_groups)))
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 8) Were debugPC and debugBreakpoint defined?
|
||||||
|
for group in ['debugPC', 'debugBreakpoint']
|
||||||
|
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\>'
|
||||||
if search(pat, 'cnW')
|
if search(pat, 'cnW')
|
||||||
let line = search(pat, 'cW')
|
let line = search(pat, 'cW')
|
||||||
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
|
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
|
||||||
endif
|
endif
|
||||||
call cursor(1,1)
|
call cursor(1,1)
|
||||||
endfor
|
endfor
|
||||||
|
|
||||||
|
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||||
|
call cursor(1,1)
|
||||||
|
let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
|
||||||
|
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||||
|
if getline('.') !~# '\m\<Normal\>'
|
||||||
|
let err['highlight']['Normal'] = 'Should be defined first'
|
||||||
|
elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
|
||||||
|
let err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
|
||||||
|
elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
|
||||||
|
let err['highlight']['Normal'] = 'Should not use reverse mode'
|
||||||
|
endif
|
||||||
|
|
||||||
|
call winrestview(l:savedview)
|
||||||
let g:err = err
|
let g:err = err
|
||||||
|
|
||||||
" print Result
|
" print Result
|
||||||
@@ -107,11 +203,11 @@ func! Test_check_colors()
|
|||||||
endfu
|
endfu
|
||||||
|
|
||||||
fu! Result(err)
|
fu! Result(err)
|
||||||
let do_roups = 0
|
let do_groups = 0
|
||||||
echohl Title|echomsg "---------------"|echohl Normal
|
echohl Title|echomsg "---------------"|echohl Normal
|
||||||
for key in sort(keys(a:err))
|
for key in sort(keys(a:err))
|
||||||
if key is# 'highlight'
|
if key is# 'highlight'
|
||||||
let do_groups = 1
|
let do_groups = !empty(a:err[key])
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
if a:err[key] !~ 'OK'
|
if a:err[key] !~ 'OK'
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Microsoft Visual Studio C#
|
" Compiler: Microsoft Visual Studio C#
|
||||||
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
|
" Maintainer: Yichao Zhou (broken.zhou@gmail.com)
|
||||||
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
|
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
|
||||||
" Last Change: 2012 Apr 30
|
" Last Change: Jul 22, 2019
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -20,7 +20,7 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
|
|||||||
\%trror%*[^:]:\ %m,
|
\%trror%*[^:]:\ %m,
|
||||||
\%tarning%*[^:]:\ %m
|
\%tarning%*[^:]:\ %m
|
||||||
|
|
||||||
CompilerSet makeprg=csc\ %
|
CompilerSet makeprg=csc\ %:S
|
||||||
|
|
||||||
let &cpo = s:keepcpo
|
let &cpo = s:keepcpo
|
||||||
unlet s:keepcpo
|
unlet s:keepcpo
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Erlang
|
" Compiler: Erlang
|
||||||
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
|
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
|
||||||
" Last Change: 2012-02-13
|
" Last Change: 2019 Jul 23
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let current_compiler = "erlang"
|
let current_compiler = "erlang"
|
||||||
|
|
||||||
CompilerSet makeprg=erlc\ -Wall\ %
|
CompilerSet makeprg=erlc\ -Wall\ %:S
|
||||||
|
|
||||||
CompilerSet errorformat=%f:%l:\ %m
|
CompilerSet errorformat=%f:%l:\ %m
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ CompilerSet errorformat=
|
|||||||
\%-Z%p%^%.%#,
|
\%-Z%p%^%.%#,
|
||||||
\%-G%.%#,
|
\%-G%.%#,
|
||||||
" Compiler call
|
" Compiler call
|
||||||
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %
|
CompilerSet makeprg=df\ /nologo\ /noobj\ /c\ %:S
|
||||||
" Visual fortran defaults to printing output on stderr
|
" Visual fortran defaults to printing output on stderr
|
||||||
" Adjust option shellpipe accordingly
|
" Adjust option shellpipe accordingly
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
" Compiler: GNU C Compiler
|
" Compiler: GNU C Compiler
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2010-10-14
|
" Latest Revision: 2010-10-14
|
||||||
|
" changed pattern for entering/leaving directories
|
||||||
|
" by Daniel Hahler, 2019 Jul 12
|
||||||
" added line suggested by Anton Lindqvist 2016 Mar 31
|
" added line suggested by Anton Lindqvist 2016 Mar 31
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
@@ -27,10 +29,10 @@ CompilerSet errorformat=
|
|||||||
\%f:%l:\ %m,
|
\%f:%l:\ %m,
|
||||||
\%f:\\(%*[^\\)]\\):\ %m,
|
\%f:\\(%*[^\\)]\\):\ %m,
|
||||||
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
|
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
|
||||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
|
\%D%*\\a[%*\\d]:\ Entering\ directory\ %*[`']%f',
|
||||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
|
\%X%*\\a[%*\\d]:\ Leaving\ directory\ %*[`']%f',
|
||||||
\%D%*\\a:\ Entering\ directory\ [`']%f',
|
\%D%*\\a:\ Entering\ directory\ %*[`']%f',
|
||||||
\%X%*\\a:\ Leaving\ directory\ [`']%f',
|
\%X%*\\a:\ Leaving\ directory\ %*[`']%f',
|
||||||
\%DMaking\ %*\\a\ in\ %f
|
\%DMaking\ %*\\a\ in\ %f
|
||||||
|
|
||||||
if exists('g:compiler_gcc_ignore_unmatched_lines')
|
if exists('g:compiler_gcc_ignore_unmatched_lines')
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim Compiler File
|
" Vim Compiler File
|
||||||
" Compiler: Jikes
|
" Compiler: Jikes
|
||||||
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
|
||||||
" Last Change: 20 Jan 2009
|
" Last Change: 2019 Jul 23
|
||||||
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
|
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
@@ -14,5 +14,5 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Jikes defaults to printing output on stderr
|
" Jikes defaults to printing output on stderr
|
||||||
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%\"
|
CompilerSet makeprg=jikes\ -Xstdout\ +E\ \"%:S\"
|
||||||
CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
|
CompilerSet errorformat=%f:%l:%v:%*\\d:%*\\d:%*\\s%m
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
" Vim Compiler File
|
" Vim Compiler File
|
||||||
" Compiler: ocaml
|
" Compiler: ocaml
|
||||||
" Maintainer: See ftplugin/ocaml.vim (?)
|
" Maintainer: Markus Mottl <markus.mottl@gmail.com>
|
||||||
" Last Change: June 2013 by Marc Weber
|
" URL: https://github.com/rgrinberg/vim-ocaml
|
||||||
|
" Last Change:
|
||||||
|
" 2017 Nov 26 - Improved error format (Markus Mottl)
|
||||||
|
" 2013 Aug 27 - Added a new OCaml error format (Markus Mottl)
|
||||||
|
" 2013 Jun 30 - Initial version (Marc Weber)
|
||||||
"
|
"
|
||||||
" Marc Weber's comments:
|
" Marc Weber's comments:
|
||||||
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
|
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
|
||||||
@@ -17,7 +21,6 @@
|
|||||||
"
|
"
|
||||||
" So having it here makes people opt-in
|
" So having it here makes people opt-in
|
||||||
|
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -28,6 +31,7 @@ set cpo&vim
|
|||||||
|
|
||||||
CompilerSet errorformat =
|
CompilerSet errorformat =
|
||||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
|
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
|
||||||
|
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d\ %.%#,
|
||||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
|
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
|
||||||
\%+EReference\ to\ unbound\ regexp\ name\ %m,
|
\%+EReference\ to\ unbound\ regexp\ name\ %m,
|
||||||
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
|
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
|
||||||
@@ -38,6 +42,12 @@ CompilerSet errorformat =
|
|||||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
||||||
\%D%*\\a:\ Entering\ directory\ `%f',
|
\%D%*\\a:\ Entering\ directory\ `%f',
|
||||||
\%X%*\\a:\ Leaving\ directory\ `%f',
|
\%X%*\\a:\ Leaving\ directory\ `%f',
|
||||||
|
\%D%*\\a[%*\\d]:\ Entering\ directory\ '%f',
|
||||||
|
\%X%*\\a[%*\\d]:\ Leaving\ directory\ '%f',
|
||||||
|
\%D%*\\a:\ Entering\ directory\ '%f',
|
||||||
|
\%X%*\\a:\ Leaving\ directory\ '%f',
|
||||||
|
\%DEntering\ directory\ '%f',
|
||||||
|
\%XLeaving\ directory\ '%f',
|
||||||
\%DMaking\ %*\\a\ in\ %f
|
\%DMaking\ %*\\a\ in\ %f
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: onsgmls
|
" Compiler: onsgmls
|
||||||
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
|
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
|
||||||
" Last Change: 2004 Mar 27
|
" Last Change: 2019 Jul 23
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -15,7 +15,7 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo-=C
|
set cpo-=C
|
||||||
|
|
||||||
CompilerSet makeprg=onsgmls\ -s\ %
|
CompilerSet makeprg=onsgmls\ -s\ %:S
|
||||||
|
|
||||||
CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
|
CompilerSet errorformat=onsgmls:%f:%l:%c:%t:%m,
|
||||||
\onsgmls:%f:%l:%c:%m
|
\onsgmls:%f:%l:%c:%m
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim Compiler File
|
" Vim Compiler File
|
||||||
" Compiler: Perl syntax checks (perl -Wc)
|
" Compiler: Perl syntax checks (perl -Wc)
|
||||||
" Maintainer: Christian J. Robinson <heptite@gmail.com>
|
" Maintainer: Christian J. Robinson <heptite@gmail.com>
|
||||||
" Last Change: 2006 Aug 13
|
" Last Change: 2019 Jul 22
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -27,7 +27,7 @@ else
|
|||||||
let s:taintopt = ''
|
let s:taintopt = ''
|
||||||
endif
|
endif
|
||||||
|
|
||||||
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %'
|
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %:S'
|
||||||
|
|
||||||
CompilerSet errorformat=
|
CompilerSet errorformat=
|
||||||
\%-G%.%#had\ compilation\ errors.,
|
\%-G%.%#had\ compilation\ errors.,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ endif
|
|||||||
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
|
if exists("g:rustc_makeprg_no_percent") && g:rustc_makeprg_no_percent != 0
|
||||||
CompilerSet makeprg=rustc
|
CompilerSet makeprg=rustc
|
||||||
else
|
else
|
||||||
CompilerSet makeprg=rustc\ \%
|
CompilerSet makeprg=rustc\ \%:S
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Old errorformat (before nightly 2016/08/10)
|
" Old errorformat (before nightly 2016/08/10)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Compiler: splint/lclint (C source code checker)
|
" Compiler: splint/lclint (C source code checker)
|
||||||
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
" Splint Home: http://www.splint.org/
|
" Splint Home: http://www.splint.org/
|
||||||
" Last Change: 2005 Apr 21
|
" Last Change: 2019 Jul 23
|
||||||
" $Revision: 1.3 $
|
" $Revision: 1.3 $
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
@@ -19,7 +19,7 @@ set cpo-=C
|
|||||||
|
|
||||||
" adapt this if you want to check more than one file at a time.
|
" adapt this if you want to check more than one file at a time.
|
||||||
" put command line options in .splintrc or ~/.splintrc
|
" put command line options in .splintrc or ~/.splintrc
|
||||||
CompilerSet makeprg=splint\ %
|
CompilerSet makeprg=splint\ %:S
|
||||||
|
|
||||||
" Note: when using the new array bounds checking flags: Each warning
|
" Note: when using the new array bounds checking flags: Each warning
|
||||||
" usually has several lines and several references to source code mostly
|
" usually has several lines and several references to source code mostly
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim Compiler File
|
" Vim Compiler File
|
||||||
" Compiler: xmlwf
|
" Compiler: xmlwf
|
||||||
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
|
" Maintainer: Robert Rowsome <rowsome@wam.umd.edu>
|
||||||
" Last Change: 2004 Mar 27
|
" Last Change: 2019 Jul 23
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@@ -15,7 +15,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CompilerSet makeprg=xmlwf\ %
|
CompilerSet makeprg=xmlwf\ %:S
|
||||||
|
|
||||||
CompilerSet errorformat=%f:%l%c:%m
|
CompilerSet errorformat=%f:%l%c:%m
|
||||||
|
|
||||||
|
|||||||
@@ -83,6 +83,7 @@ DOCS = \
|
|||||||
pi_tar.txt \
|
pi_tar.txt \
|
||||||
pi_vimball.txt \
|
pi_vimball.txt \
|
||||||
pi_zip.txt \
|
pi_zip.txt \
|
||||||
|
popup.txt \
|
||||||
print.txt \
|
print.txt \
|
||||||
quickfix.txt \
|
quickfix.txt \
|
||||||
quickref.txt \
|
quickref.txt \
|
||||||
@@ -102,6 +103,7 @@ DOCS = \
|
|||||||
tagsrch.txt \
|
tagsrch.txt \
|
||||||
term.txt \
|
term.txt \
|
||||||
terminal.txt \
|
terminal.txt \
|
||||||
|
testing.txt \
|
||||||
textprop.txt \
|
textprop.txt \
|
||||||
tips.txt \
|
tips.txt \
|
||||||
todo.txt \
|
todo.txt \
|
||||||
@@ -220,6 +222,7 @@ HTMLS = \
|
|||||||
pi_tar.html \
|
pi_tar.html \
|
||||||
pi_vimball.html \
|
pi_vimball.html \
|
||||||
pi_zip.html \
|
pi_zip.html \
|
||||||
|
popup.html \
|
||||||
print.html \
|
print.html \
|
||||||
quickfix.html \
|
quickfix.html \
|
||||||
quickref.html \
|
quickref.html \
|
||||||
@@ -239,6 +242,7 @@ HTMLS = \
|
|||||||
tagsrch.html \
|
tagsrch.html \
|
||||||
term.html \
|
term.html \
|
||||||
terminal.html \
|
terminal.html \
|
||||||
|
testing.html \
|
||||||
textprop.html \
|
textprop.html \
|
||||||
tips.html \
|
tips.html \
|
||||||
todo.html \
|
todo.html \
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
|
*arabic.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
Arabic Language support (options & mappings) for Vim *Arabic*
|
Arabic Language support (options & mappings) for Vim *Arabic*
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
*E800*
|
*E800*
|
||||||
In order to use right-to-left and Arabic mapping support, it is
|
In order to use right-to-left and Arabic mapping support, it is
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.1. Last change: 2019 Mar 13
|
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jun 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -20,7 +20,6 @@ For a basic explanation, see section |40.3| in the user manual.
|
|||||||
10. Using autocommands |autocmd-use|
|
10. Using autocommands |autocmd-use|
|
||||||
11. Disabling autocommands |autocmd-disable|
|
11. Disabling autocommands |autocmd-disable|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Introduction *autocmd-intro*
|
1. Introduction *autocmd-intro*
|
||||||
@@ -52,7 +51,7 @@ effects. Be careful not to destroy your text.
|
|||||||
2. Defining autocommands *autocmd-define*
|
2. Defining autocommands *autocmd-define*
|
||||||
|
|
||||||
*:au* *:autocmd*
|
*:au* *:autocmd*
|
||||||
:au[tocmd] [group] {event} {pat} [nested] {cmd}
|
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
|
||||||
Add {cmd} to the list of commands that Vim will
|
Add {cmd} to the list of commands that Vim will
|
||||||
execute automatically on {event} for a file matching
|
execute automatically on {event} for a file matching
|
||||||
{pat} |autocmd-patterns|.
|
{pat} |autocmd-patterns|.
|
||||||
@@ -60,7 +59,13 @@ effects. Be careful not to destroy your text.
|
|||||||
:autocmd and won't start a comment.
|
:autocmd and won't start a comment.
|
||||||
Vim always adds the {cmd} after existing autocommands,
|
Vim always adds the {cmd} after existing autocommands,
|
||||||
so that the autocommands execute in the order in which
|
so that the autocommands execute in the order in which
|
||||||
they were given. See |autocmd-nested| for [nested].
|
they were given.
|
||||||
|
See |autocmd-nested| for [++nested]. "nested"
|
||||||
|
(without the ++) can also be used, for backwards
|
||||||
|
compatibility.
|
||||||
|
*autocmd-once*
|
||||||
|
If [++once] is supplied the command is executed once,
|
||||||
|
then removed ("one shot").
|
||||||
|
|
||||||
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
|
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
|
||||||
See |autocmd-buflocal|.
|
See |autocmd-buflocal|.
|
||||||
@@ -128,10 +133,11 @@ prompt. When one command outputs two messages this can happen anyway.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
3. Removing autocommands *autocmd-remove*
|
3. Removing autocommands *autocmd-remove*
|
||||||
|
|
||||||
:au[tocmd]! [group] {event} {pat} [nested] {cmd}
|
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
|
||||||
Remove all autocommands associated with {event} and
|
Remove all autocommands associated with {event} and
|
||||||
{pat}, and add the command {cmd}. See
|
{pat}, and add the command {cmd}.
|
||||||
|autocmd-nested| for [nested].
|
See |autocmd-once| for [++once].
|
||||||
|
See |autocmd-nested| for [++nested].
|
||||||
|
|
||||||
:au[tocmd]! [group] {event} {pat}
|
:au[tocmd]! [group] {event} {pat}
|
||||||
Remove all autocommands associated with {event} and
|
Remove all autocommands associated with {event} and
|
||||||
@@ -360,6 +366,7 @@ Name triggered by ~
|
|||||||
|SessionLoadPost| after loading a session file
|
|SessionLoadPost| after loading a session file
|
||||||
|
|
||||||
|MenuPopup| just before showing the popup menu
|
|MenuPopup| just before showing the popup menu
|
||||||
|
|CompleteChanged| after Insert mode completion menu changed
|
||||||
|CompleteDone| after Insert mode completion is done
|
|CompleteDone| after Insert mode completion is done
|
||||||
|
|
||||||
|User| to be used in combination with ":doautocmd"
|
|User| to be used in combination with ":doautocmd"
|
||||||
@@ -400,8 +407,8 @@ BufFilePost After changing the name of the current buffer
|
|||||||
BufFilePre Before changing the name of the current buffer
|
BufFilePre Before changing the name of the current buffer
|
||||||
with the ":file" or ":saveas" command.
|
with the ":file" or ":saveas" command.
|
||||||
*BufHidden*
|
*BufHidden*
|
||||||
BufHidden Just after a buffer has become hidden. That
|
BufHidden Just before a buffer becomes hidden. That is,
|
||||||
is, when there are no longer windows that show
|
when there are no longer windows that show
|
||||||
the buffer, but the buffer is not unloaded or
|
the buffer, but the buffer is not unloaded or
|
||||||
deleted. Not used for ":qa" or ":q" when
|
deleted. Not used for ":qa" or ":q" when
|
||||||
exiting Vim.
|
exiting Vim.
|
||||||
@@ -572,6 +579,25 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
|||||||
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||||
Useful to setup removing things added by a
|
Useful to setup removing things added by a
|
||||||
color scheme, before another one is loaded.
|
color scheme, before another one is loaded.
|
||||||
|
CompleteChanged *CompleteChanged*
|
||||||
|
After each time the Insert mode completion
|
||||||
|
menu changed. Not fired on popup menu hide,
|
||||||
|
use |CompleteDone| for that. Never triggered
|
||||||
|
recursively.
|
||||||
|
|
||||||
|
Sets these |v:event| keys:
|
||||||
|
completed_item See |complete-items|.
|
||||||
|
height nr of items visible
|
||||||
|
width screen cells
|
||||||
|
row top screen row
|
||||||
|
col leftmost screen column
|
||||||
|
size total nr of items
|
||||||
|
scrollbar TRUE if visible
|
||||||
|
|
||||||
|
It is not allowed to change the text |textlock|.
|
||||||
|
|
||||||
|
The size and position of the popup are also
|
||||||
|
available by calling |pum_getpos()|.
|
||||||
|
|
||||||
*CompleteDone*
|
*CompleteDone*
|
||||||
CompleteDone After Insert mode completion is done. Either
|
CompleteDone After Insert mode completion is done. Either
|
||||||
@@ -667,13 +693,14 @@ DiffUpdated After diffs have been updated. Depending on
|
|||||||
change or when doing |:diffupdate|.
|
change or when doing |:diffupdate|.
|
||||||
*DirChanged*
|
*DirChanged*
|
||||||
DirChanged The working directory has changed in response
|
DirChanged The working directory has changed in response
|
||||||
to the |:cd| or |:lcd| commands, or as a
|
to the |:cd| or |:tcd| or |:lcd| commands, or
|
||||||
result of the 'autochdir' option.
|
as a result of the 'autochdir' option.
|
||||||
The pattern can be:
|
The pattern can be:
|
||||||
"window" to trigger on `:lcd`
|
"window" to trigger on `:lcd`
|
||||||
"global" to trigger on `:cd`
|
"tabpage" to trigger on `:tcd`
|
||||||
"auto" to trigger on 'autochdir'.
|
"global" to trigger on `:cd`
|
||||||
"drop" to trigger on editing a file
|
"auto" to trigger on 'autochdir'.
|
||||||
|
"drop" to trigger on editing a file
|
||||||
<afile> is set to the new directory name.
|
<afile> is set to the new directory name.
|
||||||
*ExitPre*
|
*ExitPre*
|
||||||
ExitPre When using `:quit`, `:wq` in a way it makes
|
ExitPre When using `:quit`, `:wq` in a way it makes
|
||||||
@@ -850,15 +877,32 @@ MenuPopup Just before showing the popup menu (under the
|
|||||||
*OptionSet*
|
*OptionSet*
|
||||||
OptionSet After setting an option. The pattern is
|
OptionSet After setting an option. The pattern is
|
||||||
matched against the long option name.
|
matched against the long option name.
|
||||||
The |v:option_old| variable indicates the
|
|<amatch>| indicates what option has been set.
|
||||||
old option value, |v:option_new| variable
|
|
||||||
indicates the newly set value, the
|
|
||||||
|v:option_type| variable indicates whether
|
|
||||||
it's global or local scoped and |<amatch>|
|
|
||||||
indicates what option has been set.
|
|
||||||
|
|
||||||
Is not triggered on startup and for the 'key'
|
|v:option_type| indicates whether it's global
|
||||||
option for obvious reasons.
|
or local scoped.
|
||||||
|
|v:option_command| indicates what type of
|
||||||
|
set/let command was used (follow the tag to
|
||||||
|
see the table).
|
||||||
|
|v:option_new| indicates the newly set value.
|
||||||
|
|v:option_oldlocal| has the old local value.
|
||||||
|
|v:option_oldglobal| has the old global value.
|
||||||
|
|v:option_old| indicates the old option value.
|
||||||
|
|
||||||
|
|v:option_oldlocal| is only set when |:set|
|
||||||
|
or |:setlocal| or a |modeline| was used to set
|
||||||
|
the option. Similarly |v:option_oldglobal| is
|
||||||
|
only set when |:set| or |:setglobal| was used.
|
||||||
|
|
||||||
|
Note that when setting a |global-local| string
|
||||||
|
option with |:set|, then |v:option_old| is the
|
||||||
|
old global value. However, for all other kinds
|
||||||
|
of options (local string options, global-local
|
||||||
|
number options, ...) it is the old local
|
||||||
|
value.
|
||||||
|
|
||||||
|
OptionSet is not triggered on startup and for
|
||||||
|
the 'key' option for obvious reasons.
|
||||||
|
|
||||||
Usage example: Check for the existence of the
|
Usage example: Check for the existence of the
|
||||||
directory in the 'backupdir' and 'undodir'
|
directory in the 'backupdir' and 'undodir'
|
||||||
@@ -872,7 +916,6 @@ OptionSet After setting an option. The pattern is
|
|||||||
|
|
||||||
When using |:set| in the autocommand the event
|
When using |:set| in the autocommand the event
|
||||||
is not triggered again.
|
is not triggered again.
|
||||||
|
|
||||||
*QuickFixCmdPre*
|
*QuickFixCmdPre*
|
||||||
QuickFixCmdPre Before a quickfix command is run (|:make|,
|
QuickFixCmdPre Before a quickfix command is run (|:make|,
|
||||||
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|
||||||
@@ -1343,7 +1386,7 @@ have changed autocommands, or when Vim has executed the wrong autocommands
|
|||||||
Note that the 'eventignore' option applies here too. Events listed in this
|
Note that the 'eventignore' option applies here too. Events listed in this
|
||||||
option will not cause any commands to be executed.
|
option will not cause any commands to be executed.
|
||||||
|
|
||||||
*:do* *:doau* *:doautocmd* *E217*
|
*:do* *:doau* *:doaut* *:doautocmd* *E217*
|
||||||
:do[autocmd] [<nomodeline>] [group] {event} [fname]
|
:do[autocmd] [<nomodeline>] [group] {event} [fname]
|
||||||
Apply the autocommands matching [fname] (default:
|
Apply the autocommands matching [fname] (default:
|
||||||
current file name) for {event} to the current buffer.
|
current file name) for {event} to the current buffer.
|
||||||
@@ -1473,7 +1516,7 @@ By default, autocommands do not nest. For example, if you use ":e" or ":w" in
|
|||||||
an autocommand, Vim does not execute the BufRead and BufWrite autocommands for
|
an autocommand, Vim does not execute the BufRead and BufWrite autocommands for
|
||||||
those commands. If you do want this, use the "nested" flag for those commands
|
those commands. If you do want this, use the "nested" flag for those commands
|
||||||
in which you want nesting. For example: >
|
in which you want nesting. For example: >
|
||||||
:autocmd FileChangedShell *.c nested e!
|
:autocmd FileChangedShell *.c ++nested e!
|
||||||
The nesting is limited to 10 levels to get out of recursive loops.
|
The nesting is limited to 10 levels to get out of recursive loops.
|
||||||
|
|
||||||
It's possible to use the ":au" command in an autocommand. This can be a
|
It's possible to use the ":au" command in an autocommand. This can be a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
|
*change.txt* For Vim version 8.1. Last change: 2019 Jul 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -34,7 +34,7 @@ For inserting text see |insert.txt|.
|
|||||||
deletes the last character of the count.
|
deletes the last character of the count.
|
||||||
See |:fixdel| if the <Del> key does not do what you
|
See |:fixdel| if the <Del> key does not do what you
|
||||||
want. See |'whichwrap'| for deleting a line break
|
want. See |'whichwrap'| for deleting a line break
|
||||||
(join lines). {Vi does not support <Del>}
|
(join lines).
|
||||||
|
|
||||||
*X* *dh*
|
*X* *dh*
|
||||||
["x]X Delete [count] characters before the cursor [into
|
["x]X Delete [count] characters before the cursor [into
|
||||||
@@ -59,7 +59,7 @@ For inserting text see |insert.txt|.
|
|||||||
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
|
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
|
||||||
{Visual}["x]d or
|
{Visual}["x]d or
|
||||||
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
|
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
|
||||||
{Visual} see |Visual-mode|). {not in Vi}
|
{Visual} see |Visual-mode|).
|
||||||
|
|
||||||
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
|
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
|
||||||
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
|
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
|
||||||
@@ -69,7 +69,7 @@ For inserting text see |insert.txt|.
|
|||||||
{Visual}["x]D Delete the highlighted lines [into register x] (for
|
{Visual}["x]D Delete the highlighted lines [into register x] (for
|
||||||
{Visual} see |Visual-mode|). In Visual block mode,
|
{Visual} see |Visual-mode|). In Visual block mode,
|
||||||
"D" deletes the highlighted text plus all text until
|
"D" deletes the highlighted text plus all text until
|
||||||
the end of the line. {not in Vi}
|
the end of the line.
|
||||||
|
|
||||||
*:d* *:de* *:del* *:delete* *:dl* *:dp*
|
*:d* *:de* *:del* *:delete* *:dl* *:dp*
|
||||||
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
|
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
|
||||||
@@ -116,16 +116,15 @@ J Join [count] lines, with a minimum of two lines.
|
|||||||
*v_J*
|
*v_J*
|
||||||
{Visual}J Join the highlighted lines, with a minimum of two
|
{Visual}J Join the highlighted lines, with a minimum of two
|
||||||
lines. Remove the indent and insert up to two spaces
|
lines. Remove the indent and insert up to two spaces
|
||||||
(see below). {not in Vi}
|
(see below).
|
||||||
|
|
||||||
*gJ*
|
*gJ*
|
||||||
gJ Join [count] lines, with a minimum of two lines.
|
gJ Join [count] lines, with a minimum of two lines.
|
||||||
Don't insert or remove any spaces. {not in Vi}
|
Don't insert or remove any spaces.
|
||||||
|
|
||||||
*v_gJ*
|
*v_gJ*
|
||||||
{Visual}gJ Join the highlighted lines, with a minimum of two
|
{Visual}gJ Join the highlighted lines, with a minimum of two
|
||||||
lines. Don't insert or remove any spaces. {not in
|
lines. Don't insert or remove any spaces.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*:j* *:join*
|
*:j* *:join*
|
||||||
:[range]j[oin][!] [flags]
|
:[range]j[oin][!] [flags]
|
||||||
@@ -134,7 +133,6 @@ gJ Join [count] lines, with a minimum of two lines.
|
|||||||
If a [range] has equal start and end values, this
|
If a [range] has equal start and end values, this
|
||||||
command does nothing. The default behavior is to
|
command does nothing. The default behavior is to
|
||||||
join the current line with the line below it.
|
join the current line with the line below it.
|
||||||
{not in Vi: !}
|
|
||||||
See |ex-flags| for [flags].
|
See |ex-flags| for [flags].
|
||||||
|
|
||||||
:[range]j[oin][!] {count} [flags]
|
:[range]j[oin][!] {count} [flags]
|
||||||
@@ -142,7 +140,6 @@ gJ Join [count] lines, with a minimum of two lines.
|
|||||||
current line |cmdline-ranges|). Same as "J", except
|
current line |cmdline-ranges|). Same as "J", except
|
||||||
with [!] the join does not insert or delete any
|
with [!] the join does not insert or delete any
|
||||||
spaces.
|
spaces.
|
||||||
{not in Vi: !}
|
|
||||||
See |ex-flags| for [flags].
|
See |ex-flags| for [flags].
|
||||||
|
|
||||||
These commands delete the <EOL> between lines. This has the effect of joining
|
These commands delete the <EOL> between lines. This has the effect of joining
|
||||||
@@ -209,8 +206,7 @@ gR Enter Virtual Replace mode: Each character you type
|
|||||||
|
|
||||||
{Visual}["x]c or *v_c* *v_s*
|
{Visual}["x]c or *v_c* *v_s*
|
||||||
{Visual}["x]s Delete the highlighted text [into register x] and
|
{Visual}["x]s Delete the highlighted text [into register x] and
|
||||||
start insert (for {Visual} see |Visual-mode|). {not
|
start insert (for {Visual} see |Visual-mode|).
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*v_r*
|
*v_r*
|
||||||
{Visual}["x]r{char} Replace all selected characters by {char}.
|
{Visual}["x]r{char} Replace all selected characters by {char}.
|
||||||
@@ -218,14 +214,13 @@ gR Enter Virtual Replace mode: Each character you type
|
|||||||
*v_C*
|
*v_C*
|
||||||
{Visual}["x]C Delete the highlighted lines [into register x] and
|
{Visual}["x]C Delete the highlighted lines [into register x] and
|
||||||
start insert. In Visual block mode it works
|
start insert. In Visual block mode it works
|
||||||
differently |v_b_C|. {not in Vi}
|
differently |v_b_C|.
|
||||||
*v_S*
|
*v_S*
|
||||||
{Visual}["x]S Delete the highlighted lines [into register x] and
|
{Visual}["x]S Delete the highlighted lines [into register x] and
|
||||||
start insert (for {Visual} see |Visual-mode|). {not
|
start insert (for {Visual} see |Visual-mode|).
|
||||||
in Vi}
|
|
||||||
*v_R*
|
*v_R*
|
||||||
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
|
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
|
||||||
it might work differently. {not in Vi}
|
it might work differently.
|
||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- You can end Insert and Replace mode with <Esc>.
|
- You can end Insert and Replace mode with <Esc>.
|
||||||
@@ -273,8 +268,6 @@ r{char} Replace the character under the cursor with {char}.
|
|||||||
If {char} is a <CR> or <NL>, a line break replaces the
|
If {char} is a <CR> or <NL>, a line break replaces the
|
||||||
character. To replace with a real <CR>, use CTRL-V
|
character. To replace with a real <CR>, use CTRL-V
|
||||||
<CR>. CTRL-V <NL> replaces with a <Nul>.
|
<CR>. CTRL-V <NL> replaces with a <Nul>.
|
||||||
{Vi: CTRL-V <CR> still replaces with a line break,
|
|
||||||
cannot replace something with a <CR>}
|
|
||||||
|
|
||||||
If {char} is CTRL-E or CTRL-Y the character from the
|
If {char} is CTRL-E or CTRL-Y the character from the
|
||||||
line below or above is used, just like with |i_CTRL-E|
|
line below or above is used, just like with |i_CTRL-E|
|
||||||
@@ -315,28 +308,26 @@ The following commands change the case of letters. The currently active
|
|||||||
*~*
|
*~*
|
||||||
~ 'notildeop' option: Switch case of the character
|
~ 'notildeop' option: Switch case of the character
|
||||||
under the cursor and move the cursor to the right.
|
under the cursor and move the cursor to the right.
|
||||||
If a [count] is given, do that many characters. {Vi:
|
If a [count] is given, do that many characters.
|
||||||
no count}
|
|
||||||
|
|
||||||
~{motion} 'tildeop' option: switch case of {motion} text. {Vi:
|
~{motion} 'tildeop' option: switch case of {motion} text.
|
||||||
tilde cannot be used as an operator}
|
|
||||||
|
|
||||||
*g~*
|
*g~*
|
||||||
g~{motion} Switch case of {motion} text. {not in Vi}
|
g~{motion} Switch case of {motion} text.
|
||||||
|
|
||||||
g~g~ *g~g~* *g~~*
|
g~g~ *g~g~* *g~~*
|
||||||
g~~ Switch case of current line. {not in Vi}.
|
g~~ Switch case of current line.
|
||||||
|
|
||||||
*v_~*
|
*v_~*
|
||||||
{Visual}~ Switch case of highlighted text (for {Visual} see
|
{Visual}~ Switch case of highlighted text (for {Visual} see
|
||||||
|Visual-mode|). {not in Vi}
|
|Visual-mode|).
|
||||||
|
|
||||||
*v_U*
|
*v_U*
|
||||||
{Visual}U Make highlighted text uppercase (for {Visual} see
|
{Visual}U Make highlighted text uppercase (for {Visual} see
|
||||||
|Visual-mode|). {not in Vi}
|
|Visual-mode|).
|
||||||
|
|
||||||
*gU* *uppercase*
|
*gU* *uppercase*
|
||||||
gU{motion} Make {motion} text uppercase. {not in Vi}
|
gU{motion} Make {motion} text uppercase.
|
||||||
Example: >
|
Example: >
|
||||||
:map! <C-F> <Esc>gUiw`]a
|
:map! <C-F> <Esc>gUiw`]a
|
||||||
< This works in Insert mode: press CTRL-F to make the
|
< This works in Insert mode: press CTRL-F to make the
|
||||||
@@ -345,27 +336,27 @@ gU{motion} Make {motion} text uppercase. {not in Vi}
|
|||||||
|
|
||||||
|
|
||||||
gUgU *gUgU* *gUU*
|
gUgU *gUgU* *gUU*
|
||||||
gUU Make current line uppercase. {not in Vi}.
|
gUU Make current line uppercase.
|
||||||
|
|
||||||
*v_u*
|
*v_u*
|
||||||
{Visual}u Make highlighted text lowercase (for {Visual} see
|
{Visual}u Make highlighted text lowercase (for {Visual} see
|
||||||
|Visual-mode|). {not in Vi}
|
|Visual-mode|).
|
||||||
|
|
||||||
*gu* *lowercase*
|
*gu* *lowercase*
|
||||||
gu{motion} Make {motion} text lowercase. {not in Vi}
|
gu{motion} Make {motion} text lowercase.
|
||||||
|
|
||||||
gugu *gugu* *guu*
|
gugu *gugu* *guu*
|
||||||
guu Make current line lowercase. {not in Vi}.
|
guu Make current line lowercase.
|
||||||
|
|
||||||
*g?* *rot13*
|
*g?* *rot13*
|
||||||
g?{motion} Rot13 encode {motion} text. {not in Vi}
|
g?{motion} Rot13 encode {motion} text.
|
||||||
|
|
||||||
*v_g?*
|
*v_g?*
|
||||||
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
|
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
|
||||||
|Visual-mode|). {not in Vi}
|
|Visual-mode|).
|
||||||
|
|
||||||
g?g? *g?g?* *g??*
|
g?g? *g?g?* *g??*
|
||||||
g?? Rot13 encode current line. {not in Vi}.
|
g?? Rot13 encode current line.
|
||||||
|
|
||||||
To turn one line into title caps, make every first letter of a word
|
To turn one line into title caps, make every first letter of a word
|
||||||
uppercase: >
|
uppercase: >
|
||||||
@@ -375,18 +366,18 @@ uppercase: >
|
|||||||
Adding and subtracting ~
|
Adding and subtracting ~
|
||||||
*CTRL-A*
|
*CTRL-A*
|
||||||
CTRL-A Add [count] to the number or alphabetic character at
|
CTRL-A Add [count] to the number or alphabetic character at
|
||||||
or after the cursor. {not in Vi}
|
or after the cursor.
|
||||||
|
|
||||||
*v_CTRL-A*
|
*v_CTRL-A*
|
||||||
{Visual}CTRL-A Add [count] to the number or alphabetic character in
|
{Visual}CTRL-A Add [count] to the number or alphabetic character in
|
||||||
the highlighted text. {not in Vi}
|
the highlighted text.
|
||||||
|
|
||||||
*v_g_CTRL-A*
|
*v_g_CTRL-A*
|
||||||
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
|
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
|
||||||
the highlighted text. If several lines are
|
the highlighted text. If several lines are
|
||||||
highlighted, each one will be incremented by an
|
highlighted, each one will be incremented by an
|
||||||
additional [count] (so effectively creating a
|
additional [count] (so effectively creating a
|
||||||
[count] incrementing sequence). {not in Vi}
|
[count] incrementing sequence).
|
||||||
For Example, if you have this list of numbers:
|
For Example, if you have this list of numbers:
|
||||||
1. ~
|
1. ~
|
||||||
1. ~
|
1. ~
|
||||||
@@ -401,11 +392,11 @@ CTRL-A Add [count] to the number or alphabetic character at
|
|||||||
|
|
||||||
*CTRL-X*
|
*CTRL-X*
|
||||||
CTRL-X Subtract [count] from the number or alphabetic
|
CTRL-X Subtract [count] from the number or alphabetic
|
||||||
character at or after the cursor. {not in Vi}
|
character at or after the cursor.
|
||||||
|
|
||||||
*v_CTRL-X*
|
*v_CTRL-X*
|
||||||
{Visual}CTRL-X Subtract [count] from the number or alphabetic
|
{Visual}CTRL-X Subtract [count] from the number or alphabetic
|
||||||
character in the highlighted text. {not in Vi}
|
character in the highlighted text.
|
||||||
|
|
||||||
On MS-Windows, this is mapped to cut Visual text
|
On MS-Windows, this is mapped to cut Visual text
|
||||||
|dos-standard-mappings|. If you want to disable the
|
|dos-standard-mappings|. If you want to disable the
|
||||||
@@ -417,7 +408,7 @@ CTRL-X Subtract [count] from the number or alphabetic
|
|||||||
character in the highlighted text. If several lines
|
character in the highlighted text. If several lines
|
||||||
are highlighted, each value will be decremented by an
|
are highlighted, each value will be decremented by an
|
||||||
additional [count] (so effectively creating a [count]
|
additional [count] (so effectively creating a [count]
|
||||||
decrementing sequence). {not in Vi}
|
decrementing sequence).
|
||||||
|
|
||||||
The CTRL-A and CTRL-X commands can work for:
|
The CTRL-A and CTRL-X commands can work for:
|
||||||
- signed and unsigned decimal numbers
|
- signed and unsigned decimal numbers
|
||||||
@@ -485,8 +476,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
|
|||||||
|
|
||||||
*v_<*
|
*v_<*
|
||||||
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
|
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
|
||||||
leftwards (for {Visual} see |Visual-mode|). {not in
|
leftwards (for {Visual} see |Visual-mode|).
|
||||||
Vi}
|
|
||||||
|
|
||||||
*>*
|
*>*
|
||||||
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
|
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
|
||||||
@@ -500,8 +490,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
|
|||||||
|
|
||||||
*v_>*
|
*v_>*
|
||||||
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
|
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
|
||||||
rightwards (for {Visual} see |Visual-mode|). {not in
|
rightwards (for {Visual} see |Visual-mode|).
|
||||||
Vi}
|
|
||||||
|
|
||||||
*:<*
|
*:<*
|
||||||
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
|
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
|
||||||
@@ -512,7 +501,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
|
|||||||
Repeat '<' for shifting multiple 'shiftwidth's.
|
Repeat '<' for shifting multiple 'shiftwidth's.
|
||||||
|
|
||||||
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
|
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
|
||||||
lines to [indent] (default 0). {not in Vi}
|
lines to [indent] (default 0).
|
||||||
|
|
||||||
*:>*
|
*:>*
|
||||||
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
|
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
|
||||||
@@ -579,7 +568,6 @@ comment (starting with '"') after the `:!` command.
|
|||||||
*v_!*
|
*v_!*
|
||||||
{Visual}!{filter} Filter the highlighted lines through the external
|
{Visual}!{filter} Filter the highlighted lines through the external
|
||||||
program {filter} (for {Visual} see |Visual-mode|).
|
program {filter} (for {Visual} see |Visual-mode|).
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:{range}![!]{filter} [!][arg] *:range!*
|
:{range}![!]{filter} [!][arg] *:range!*
|
||||||
Filter {range} lines through the external program
|
Filter {range} lines through the external program
|
||||||
@@ -613,7 +601,6 @@ comment (starting with '"') after the `:!` command.
|
|||||||
|
|
||||||
*v_=*
|
*v_=*
|
||||||
{Visual}= Filter the highlighted lines like with ={motion}.
|
{Visual}= Filter the highlighted lines like with ={motion}.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
*tempfile* *setuid*
|
*tempfile* *setuid*
|
||||||
@@ -678,15 +665,13 @@ g& Synonym for `:%s//~/&` (repeat last substitute with
|
|||||||
For example, when you first do a substitution with
|
For example, when you first do a substitution with
|
||||||
`:s/pattern/repl/flags` and then `/search` for
|
`:s/pattern/repl/flags` and then `/search` for
|
||||||
something else, `g&` will do `:%s/search/repl/flags`.
|
something else, `g&` will do `:%s/search/repl/flags`.
|
||||||
Mnemonic: global substitute. {not in Vi}
|
Mnemonic: global substitute.
|
||||||
|
|
||||||
*:snomagic* *:sno*
|
*:snomagic* *:sno*
|
||||||
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
|
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:smagic* *:sm*
|
*:smagic* *:sm*
|
||||||
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
|
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:s_flags*
|
*:s_flags*
|
||||||
The flags that you can use for the substitute commands:
|
The flags that you can use for the substitute commands:
|
||||||
@@ -697,7 +682,6 @@ The flags that you can use for the substitute commands:
|
|||||||
:&&
|
:&&
|
||||||
:s/this/that/&
|
:s/this/that/&
|
||||||
< Note that `:s` and `:&` don't keep the flags.
|
< Note that `:s` and `:&` don't keep the flags.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
[c] Confirm each substitution. Vim highlights the matching string (with
|
[c] Confirm each substitution. Vim highlights the matching string (with
|
||||||
|hl-IncSearch|). You can type: *:s_c*
|
|hl-IncSearch|). You can type: *:s_c*
|
||||||
@@ -705,16 +689,15 @@ The flags that you can use for the substitute commands:
|
|||||||
'l' to substitute this match and then quit ("last")
|
'l' to substitute this match and then quit ("last")
|
||||||
'n' to skip this match
|
'n' to skip this match
|
||||||
<Esc> to quit substituting
|
<Esc> to quit substituting
|
||||||
'a' to substitute this and all remaining matches {not in Vi}
|
'a' to substitute this and all remaining matches
|
||||||
'q' to quit substituting {not in Vi}
|
'q' to quit substituting
|
||||||
CTRL-E to scroll the screen up {not in Vi, not available when
|
CTRL-E to scroll the screen up {not available when compiled
|
||||||
compiled without the |+insert_expand| feature}
|
without the |+insert_expand| feature}
|
||||||
CTRL-Y to scroll the screen down {not in Vi, not available when
|
CTRL-Y to scroll the screen down {not available when compiled
|
||||||
compiled without the |+insert_expand| feature}
|
without the |+insert_expand| feature}
|
||||||
If the 'edcompatible' option is on, Vim remembers the [c] flag and
|
If the 'edcompatible' option is on, Vim remembers the [c] flag and
|
||||||
toggles it each time you use it, but resets it when you give a new
|
toggles it each time you use it, but resets it when you give a new
|
||||||
search pattern.
|
search pattern.
|
||||||
{not in Vi: highlighting of the match, other responses than 'y' or 'n'}
|
|
||||||
|
|
||||||
*:s_e*
|
*:s_e*
|
||||||
[e] When the search pattern fails, do not issue an error message and, in
|
[e] When the search pattern fails, do not issue an error message and, in
|
||||||
@@ -726,7 +709,6 @@ The flags that you can use for the substitute commands:
|
|||||||
No previous substitute regular expression
|
No previous substitute regular expression
|
||||||
Trailing characters
|
Trailing characters
|
||||||
Interrupted
|
Interrupted
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:s_g*
|
*:s_g*
|
||||||
[g] Replace all occurrences in the line. Without this argument,
|
[g] Replace all occurrences in the line. Without this argument,
|
||||||
@@ -739,12 +721,10 @@ The flags that you can use for the substitute commands:
|
|||||||
*:s_i*
|
*:s_i*
|
||||||
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
|
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
|
||||||
are not used.
|
are not used.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:s_I*
|
*:s_I*
|
||||||
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
|
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
|
||||||
options are not used.
|
options are not used.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:s_n*
|
*:s_n*
|
||||||
[n] Report the number of matches, do not actually substitute. The [c]
|
[n] Report the number of matches, do not actually substitute. The [c]
|
||||||
@@ -776,7 +756,6 @@ The flags that you can use for the substitute commands:
|
|||||||
/green
|
/green
|
||||||
:&
|
:&
|
||||||
< The last command will replace "blue" with "red".
|
< The last command will replace "blue" with "red".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
Note that there is no flag to change the "magicness" of the pattern. A
|
Note that there is no flag to change the "magicness" of the pattern. A
|
||||||
different command is used instead, or you can use |/\v| and friends. The
|
different command is used instead, or you can use |/\v| and friends. The
|
||||||
@@ -1002,7 +981,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
|
|||||||
a single tabstop. Each value in the list represents
|
a single tabstop. Each value in the list represents
|
||||||
the width of one tabstop, except the final value which
|
the width of one tabstop, except the final value which
|
||||||
applies to all following tabstops.
|
applies to all following tabstops.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*retab-example*
|
*retab-example*
|
||||||
Example for using autocommands and ":retab" to edit a file which is stored
|
Example for using autocommands and ":retab" to edit a file which is stored
|
||||||
@@ -1026,17 +1004,16 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
:reg[isters] Display the contents of all numbered and named
|
:reg[isters] Display the contents of all numbered and named
|
||||||
registers. If a register is written to for |:redir|
|
registers. If a register is written to for |:redir|
|
||||||
it will not be listed.
|
it will not be listed.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
:reg[isters] {arg} Display the contents of the numbered and named
|
:reg[isters] {arg} Display the contents of the numbered and named
|
||||||
registers that are mentioned in {arg}. For example: >
|
registers that are mentioned in {arg}. For example: >
|
||||||
:reg 1a
|
:reg 1a
|
||||||
< to display registers '1' and 'a'. Spaces are allowed
|
< to display registers '1' and 'a'. Spaces are allowed
|
||||||
in {arg}. {not in Vi}
|
in {arg}.
|
||||||
|
|
||||||
*:di* *:display*
|
*:di* *:display*
|
||||||
:di[splay] [arg] Same as :registers. {not in Vi}
|
:di[splay] [arg] Same as :registers.
|
||||||
|
|
||||||
*y* *yank*
|
*y* *yank*
|
||||||
["x]y{motion} Yank {motion} text [into register x]. When no
|
["x]y{motion} Yank {motion} text [into register x]. When no
|
||||||
@@ -1055,11 +1032,11 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
|
|
||||||
*v_y*
|
*v_y*
|
||||||
{Visual}["x]y Yank the highlighted text [into register x] (for
|
{Visual}["x]y Yank the highlighted text [into register x] (for
|
||||||
{Visual} see |Visual-mode|). {not in Vi}
|
{Visual} see |Visual-mode|).
|
||||||
|
|
||||||
*v_Y*
|
*v_Y*
|
||||||
{Visual}["x]Y Yank the highlighted lines [into register x] (for
|
{Visual}["x]Y Yank the highlighted lines [into register x] (for
|
||||||
{Visual} see |Visual-mode|). {not in Vi}
|
{Visual} see |Visual-mode|).
|
||||||
|
|
||||||
*:y* *:yank* *E850*
|
*:y* *:yank* *E850*
|
||||||
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
|
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
|
||||||
@@ -1073,11 +1050,11 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
|
|
||||||
*p* *put* *E353*
|
*p* *put* *E353*
|
||||||
["x]p Put the text [from register x] after the cursor
|
["x]p Put the text [from register x] after the cursor
|
||||||
[count] times. {Vi: no count}
|
[count] times.
|
||||||
|
|
||||||
*P*
|
*P*
|
||||||
["x]P Put the text [from register x] before the cursor
|
["x]P Put the text [from register x] before the cursor
|
||||||
[count] times. {Vi: no count}
|
[count] times.
|
||||||
|
|
||||||
*<MiddleMouse>*
|
*<MiddleMouse>*
|
||||||
["x]<MiddleMouse> Put the text from a register before the cursor [count]
|
["x]<MiddleMouse> Put the text from a register before the cursor [count]
|
||||||
@@ -1086,7 +1063,6 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
Leaves the cursor at the end of the new text.
|
Leaves the cursor at the end of the new text.
|
||||||
Using the mouse only works when 'mouse' contains 'n'
|
Using the mouse only works when 'mouse' contains 'n'
|
||||||
or 'a'.
|
or 'a'.
|
||||||
{not in Vi}
|
|
||||||
If you have a scrollwheel and often accidentally paste
|
If you have a scrollwheel and often accidentally paste
|
||||||
text, you can use these mappings to disable the
|
text, you can use these mappings to disable the
|
||||||
pasting with the middle mouse button: >
|
pasting with the middle mouse button: >
|
||||||
@@ -1097,11 +1073,11 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
|
|
||||||
*gp*
|
*gp*
|
||||||
["x]gp Just like "p", but leave the cursor just after the new
|
["x]gp Just like "p", but leave the cursor just after the new
|
||||||
text. {not in Vi}
|
text.
|
||||||
|
|
||||||
*gP*
|
*gP*
|
||||||
["x]gP Just like "P", but leave the cursor just after the new
|
["x]gP Just like "P", but leave the cursor just after the new
|
||||||
text. {not in Vi}
|
text.
|
||||||
|
|
||||||
*:pu* *:put*
|
*:pu* *:put*
|
||||||
:[line]pu[t] [x] Put the text [from register x] after [line] (default
|
:[line]pu[t] [x] Put the text [from register x] after [line] (default
|
||||||
@@ -1129,14 +1105,14 @@ inside of strings can change! Also see 'softtabstop' option. >
|
|||||||
["x]]p or *]p* *]<MiddleMouse>*
|
["x]]p or *]p* *]<MiddleMouse>*
|
||||||
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
|
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
|
||||||
Using the mouse only works when 'mouse' contains 'n'
|
Using the mouse only works when 'mouse' contains 'n'
|
||||||
or 'a'. {not in Vi}
|
or 'a'.
|
||||||
|
|
||||||
["x][P or *[P*
|
["x][P or *[P*
|
||||||
["x]]P or *]P*
|
["x]]P or *]P*
|
||||||
["x][p or *[p* *[<MiddleMouse>*
|
["x][p or *[p* *[<MiddleMouse>*
|
||||||
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
|
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
|
||||||
Using the mouse only works when 'mouse' contains 'n'
|
Using the mouse only works when 'mouse' contains 'n'
|
||||||
or 'a'. {not in Vi}
|
or 'a'.
|
||||||
|
|
||||||
You can use these commands to copy text from one place to another. Do this
|
You can use these commands to copy text from one place to another. Do this
|
||||||
by first getting the text into a register with a yank, delete or change
|
by first getting the text into a register with a yank, delete or change
|
||||||
@@ -1203,9 +1179,9 @@ There are ten types of registers: *registers* *E354*
|
|||||||
2. 10 numbered registers "0 to "9
|
2. 10 numbered registers "0 to "9
|
||||||
3. The small delete register "-
|
3. The small delete register "-
|
||||||
4. 26 named registers "a to "z or "A to "Z
|
4. 26 named registers "a to "z or "A to "Z
|
||||||
5. three read-only registers ":, "., "%
|
5. Three read-only registers ":, "., "%
|
||||||
6. alternate buffer register "#
|
6. Alternate buffer register "#
|
||||||
7. the expression register "=
|
7. The expression register "=
|
||||||
8. The selection and drop registers "*, "+ and "~
|
8. The selection and drop registers "*, "+ and "~
|
||||||
9. The black hole register "_
|
9. The black hole register "_
|
||||||
10. Last search pattern register "/
|
10. Last search pattern register "/
|
||||||
@@ -1246,7 +1222,6 @@ not exist}
|
|||||||
3. Small delete register "- *quote_-* *quote-*
|
3. Small delete register "- *quote_-* *quote-*
|
||||||
This register contains text from commands that delete less than one line,
|
This register contains text from commands that delete less than one line,
|
||||||
except when the command specifies a register with ["x].
|
except when the command specifies a register with ["x].
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
|
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
|
||||||
Vim fills these registers only when you say so. Specify them as lowercase
|
Vim fills these registers only when you say so. Specify them as lowercase
|
||||||
@@ -1256,7 +1231,7 @@ a line break is inserted before the appended text.
|
|||||||
|
|
||||||
5. Read-only registers ":, ". and "%
|
5. Read-only registers ":, ". and "%
|
||||||
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
|
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
|
||||||
and ":put" commands and with CTRL-R. {not in Vi}
|
and ":put" commands and with CTRL-R.
|
||||||
*quote_.* *quote.* *E29*
|
*quote_.* *quote.* *E29*
|
||||||
". Contains the last inserted text (the same as what is inserted
|
". Contains the last inserted text (the same as what is inserted
|
||||||
with the insert mode commands CTRL-A and CTRL-@). Note: this
|
with the insert mode commands CTRL-A and CTRL-@). Note: this
|
||||||
@@ -1310,13 +1285,13 @@ an error message (use string() to convert).
|
|||||||
|
|
||||||
If the "= register is used for the "p" command, the String is split up at <NL>
|
If the "= register is used for the "p" command, the String is split up at <NL>
|
||||||
characters. If the String ends in a <NL>, it is regarded as a linewise
|
characters. If the String ends in a <NL>, it is regarded as a linewise
|
||||||
register. {not in Vi}
|
register.
|
||||||
|
|
||||||
8. Selection and drop registers "*, "+ and "~
|
8. Selection and drop registers "*, "+ and "~
|
||||||
Use these registers for storing and retrieving the selected text for the GUI.
|
Use these registers for storing and retrieving the selected text for the GUI.
|
||||||
See |quotestar| and |quoteplus|. When the clipboard is not available or not
|
See |quotestar| and |quoteplus|. When the clipboard is not available or not
|
||||||
working, the unnamed register is used instead. For Unix systems the clipboard
|
working, the unnamed register is used instead. For Unix systems the clipboard
|
||||||
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
|
is only available when the |+xterm_clipboard| feature is present.
|
||||||
|
|
||||||
Note that there is only a distinction between "* and "+ for X11 systems. For
|
Note that there is only a distinction between "* and "+ for X11 systems. For
|
||||||
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
|
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
|
||||||
@@ -1327,7 +1302,7 @@ The read-only "~ register stores the dropped text from the last drag'n'drop
|
|||||||
operation. When something has been dropped onto Vim, the "~ register is
|
operation. When something has been dropped onto Vim, the "~ register is
|
||||||
filled in and the <Drop> pseudo key is sent for notification. You can remap
|
filled in and the <Drop> pseudo key is sent for notification. You can remap
|
||||||
this key if you want; the default action (for all modes) is to insert the
|
this key if you want; the default action (for all modes) is to insert the
|
||||||
contents of the "~ register at the cursor position. {not in Vi}
|
contents of the "~ register at the cursor position.
|
||||||
{only available when compiled with the |+dnd| feature, currently only with the
|
{only available when compiled with the |+dnd| feature, currently only with the
|
||||||
GTK GUI}
|
GTK GUI}
|
||||||
|
|
||||||
@@ -1337,7 +1312,7 @@ Drag'n'drop of URI lists is handled internally.
|
|||||||
9. Black hole register "_ *quote_*
|
9. Black hole register "_ *quote_*
|
||||||
When writing to this register, nothing happens. This can be used to delete
|
When writing to this register, nothing happens. This can be used to delete
|
||||||
text without affecting the normal registers. When reading from this register,
|
text without affecting the normal registers. When reading from this register,
|
||||||
nothing is returned. {not in Vi}
|
nothing is returned.
|
||||||
|
|
||||||
10. Last search pattern register "/ *quote_/* *quote/*
|
10. Last search pattern register "/ *quote_/* *quote/*
|
||||||
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
|
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
|
||||||
@@ -1346,7 +1321,6 @@ other matches without actually searching. You can't yank or delete into this
|
|||||||
register. The search direction is available in |v:searchforward|.
|
register. The search direction is available in |v:searchforward|.
|
||||||
Note that the value is restored when returning from a function
|
Note that the value is restored when returning from a function
|
||||||
|function-search-undo|.
|
|function-search-undo|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*@/*
|
*@/*
|
||||||
You can write to a register with a `:let` command |:let-@|. Example: >
|
You can write to a register with a `:let` command |:let-@|. Example: >
|
||||||
@@ -1377,17 +1351,15 @@ The next three commands always work on whole lines.
|
|||||||
:[range]ce[nter] [width] *:ce* *:center*
|
:[range]ce[nter] [width] *:ce* *:center*
|
||||||
Center lines in [range] between [width] columns
|
Center lines in [range] between [width] columns
|
||||||
(default 'textwidth' or 80 when 'textwidth' is 0).
|
(default 'textwidth' or 80 when 'textwidth' is 0).
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:[range]ri[ght] [width] *:ri* *:right*
|
:[range]ri[ght] [width] *:ri* *:right*
|
||||||
Right-align lines in [range] at [width] columns
|
Right-align lines in [range] at [width] columns
|
||||||
(default 'textwidth' or 80 when 'textwidth' is 0).
|
(default 'textwidth' or 80 when 'textwidth' is 0).
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:le* *:left*
|
*:le* *:left*
|
||||||
:[range]le[ft] [indent]
|
:[range]le[ft] [indent]
|
||||||
Left-align lines in [range]. Sets the indent in the
|
Left-align lines in [range]. Sets the indent in the
|
||||||
lines to [indent] (default 0). {not in Vi}
|
lines to [indent] (default 0).
|
||||||
|
|
||||||
*gq*
|
*gq*
|
||||||
gq{motion} Format the lines that {motion} moves over.
|
gq{motion} Format the lines that {motion} moves over.
|
||||||
@@ -1414,24 +1386,24 @@ gq{motion} Format the lines that {motion} moves over.
|
|||||||
|
|
||||||
gqgq *gqgq* *gqq*
|
gqgq *gqgq* *gqq*
|
||||||
gqq Format the current line. With a count format that
|
gqq Format the current line. With a count format that
|
||||||
many lines. {not in Vi}
|
many lines.
|
||||||
|
|
||||||
*v_gq*
|
*v_gq*
|
||||||
{Visual}gq Format the highlighted text. (for {Visual} see
|
{Visual}gq Format the highlighted text. (for {Visual} see
|
||||||
|Visual-mode|). {not in Vi}
|
|Visual-mode|).
|
||||||
|
|
||||||
*gw*
|
*gw*
|
||||||
gw{motion} Format the lines that {motion} moves over. Similar to
|
gw{motion} Format the lines that {motion} moves over. Similar to
|
||||||
|gq| but puts the cursor back at the same position in
|
|gq| but puts the cursor back at the same position in
|
||||||
the text. However, 'formatprg' and 'formatexpr' are
|
the text. However, 'formatprg' and 'formatexpr' are
|
||||||
not used. {not in Vi}
|
not used.
|
||||||
|
|
||||||
gwgw *gwgw* *gww*
|
gwgw *gwgw* *gww*
|
||||||
gww Format the current line as with "gw". {not in Vi}
|
gww Format the current line as with "gw".
|
||||||
|
|
||||||
*v_gw*
|
*v_gw*
|
||||||
{Visual}gw Format the highlighted text as with "gw". (for
|
{Visual}gw Format the highlighted text as with "gw". (for
|
||||||
{Visual} see |Visual-mode|). {not in Vi}
|
{Visual} see |Visual-mode|).
|
||||||
|
|
||||||
Example: To format the current paragraph use: *gqap* >
|
Example: To format the current paragraph use: *gqap* >
|
||||||
gqap
|
gqap
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
|
*channel.txt* For Vim version 8.1. Last change: 2019 Jul 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -18,13 +18,14 @@ The Netbeans interface also uses a channel. |netbeans|
|
|||||||
5. Channel commands |channel-commands|
|
5. Channel commands |channel-commands|
|
||||||
6. Using a RAW or NL channel |channel-raw|
|
6. Using a RAW or NL channel |channel-raw|
|
||||||
7. More channel functions |channel-more|
|
7. More channel functions |channel-more|
|
||||||
8. Starting a job with a channel |job-start|
|
8. Channel functions details |channel-functions-details|
|
||||||
9. Starting a job without a channel |job-start-nochannel|
|
9. Starting a job with a channel |job-start|
|
||||||
10. Job options |job-options|
|
10. Starting a job without a channel |job-start-nochannel|
|
||||||
11. Controlling a job |job-control|
|
11. Job functions |job-functions-details|
|
||||||
12. Using a prompt buffer |prompt-buffer|
|
12. Job options |job-options|
|
||||||
|
13. Controlling a job |job-control|
|
||||||
|
14. Using a prompt buffer |prompt-buffer|
|
||||||
|
|
||||||
{Vi does not have any of these features}
|
|
||||||
{only when compiled with the |+channel| feature for channel stuff}
|
{only when compiled with the |+channel| feature for channel stuff}
|
||||||
You can check this with: `has('channel')`
|
You can check this with: `has('channel')`
|
||||||
{only when compiled with the |+job| feature for job stuff}
|
{only when compiled with the |+job| feature for job stuff}
|
||||||
@@ -156,7 +157,10 @@ Use |ch_status()| to see if the channel could be opened.
|
|||||||
func MyCloseHandler(channel)
|
func MyCloseHandler(channel)
|
||||||
< Vim will invoke callbacks that handle data before invoking
|
< Vim will invoke callbacks that handle data before invoking
|
||||||
close_cb, thus when this function is called no more data will
|
close_cb, thus when this function is called no more data will
|
||||||
be passed to the callbacks.
|
be passed to the callbacks. However, if a callback causes Vim
|
||||||
|
to check for messages, the close_cb may be invoked while still
|
||||||
|
in the callback. The plugin must handle this somehow, it can
|
||||||
|
be useful to know that no more data is coming.
|
||||||
*channel-drop*
|
*channel-drop*
|
||||||
"drop" Specifies when to drop messages:
|
"drop" Specifies when to drop messages:
|
||||||
"auto" When there is no callback to handle a message.
|
"auto" When there is no callback to handle a message.
|
||||||
@@ -308,9 +312,10 @@ higher.
|
|||||||
|
|
||||||
Command "redraw" ~
|
Command "redraw" ~
|
||||||
|
|
||||||
The other commands do not update the screen, so that you can send a sequence
|
The other commands do not explicitly update the screen, so that you can send a
|
||||||
of commands without the cursor moving around. You must end with the "redraw"
|
sequence of commands without the cursor moving around. A redraw can happen as
|
||||||
command to show any changed text and show the cursor where it belongs.
|
a side effect of some commands. You must end with the "redraw" command to
|
||||||
|
show any changed text and show the cursor where it belongs.
|
||||||
|
|
||||||
The argument is normally an empty string:
|
The argument is normally an empty string:
|
||||||
["redraw", ""] ~
|
["redraw", ""] ~
|
||||||
@@ -457,7 +462,211 @@ For a JS or JSON channel this returns one decoded message.
|
|||||||
This includes any sequence number.
|
This includes any sequence number.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Starting a job with a channel *job-start* *job*
|
8. Channel functions details *channel-functions-details*
|
||||||
|
|
||||||
|
ch_canread({handle}) *ch_canread()*
|
||||||
|
Return non-zero when there is something to read from {handle}.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
|
This is useful to read from a channel at a convenient time,
|
||||||
|
e.g. from a timer.
|
||||||
|
|
||||||
|
Note that messages are dropped when the channel does not have
|
||||||
|
a callback. Add a close callback to avoid that.
|
||||||
|
|
||||||
|
|
||||||
|
ch_close({handle}) *ch_close()*
|
||||||
|
Close {handle}. See |channel-close|.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
A close callback is not invoked.
|
||||||
|
|
||||||
|
|
||||||
|
ch_close_in({handle}) *ch_close_in()*
|
||||||
|
Close the "in" part of {handle}. See |channel-close-in|.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
A close callback is not invoked.
|
||||||
|
|
||||||
|
|
||||||
|
ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
|
||||||
|
Send {expr} over {handle}. The {expr} is encoded
|
||||||
|
according to the type of channel. The function cannot be used
|
||||||
|
with a raw channel. See |channel-use|.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
*E917*
|
||||||
|
{options} must be a Dictionary. It must not have a "callback"
|
||||||
|
entry. It can have a "timeout" entry to specify the timeout
|
||||||
|
for this specific request.
|
||||||
|
|
||||||
|
ch_evalexpr() waits for a response and returns the decoded
|
||||||
|
expression. When there is an error or timeout it returns an
|
||||||
|
empty string.
|
||||||
|
|
||||||
|
|
||||||
|
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
||||||
|
Send {string} over {handle}.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
|
Works like |ch_evalexpr()|, but does not encode the request or
|
||||||
|
decode the response. The caller is responsible for the
|
||||||
|
correct contents. Also does not add a newline for a channel
|
||||||
|
in NL mode, the caller must do that. The NL in the response
|
||||||
|
is removed.
|
||||||
|
Note that Vim does not know when the text received on a raw
|
||||||
|
channel is complete, it may only return the first part and you
|
||||||
|
need to use |ch_readraw()| to fetch the rest.
|
||||||
|
See |channel-use|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
|
||||||
|
Get the buffer number that {handle} is using for {what}.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
{what} can be "err" for stderr, "out" for stdout or empty for
|
||||||
|
socket output.
|
||||||
|
Returns -1 when there is no buffer.
|
||||||
|
|
||||||
|
|
||||||
|
ch_getjob({channel}) *ch_getjob()*
|
||||||
|
Get the Job associated with {channel}.
|
||||||
|
If there is no job calling |job_status()| on the returned Job
|
||||||
|
will result in "fail".
|
||||||
|
|
||||||
|
|
||||||
|
ch_info({handle}) *ch_info()*
|
||||||
|
Returns a Dictionary with information about {handle}. The
|
||||||
|
items are:
|
||||||
|
"id" number of the channel
|
||||||
|
"status" "open", "buffered" or "closed", like
|
||||||
|
ch_status()
|
||||||
|
When opened with ch_open():
|
||||||
|
"hostname" the hostname of the address
|
||||||
|
"port" the port of the address
|
||||||
|
"sock_status" "open" or "closed"
|
||||||
|
"sock_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
|
"sock_io" "socket"
|
||||||
|
"sock_timeout" timeout in msec
|
||||||
|
When opened with job_start():
|
||||||
|
"out_status" "open", "buffered" or "closed"
|
||||||
|
"out_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
|
"out_io" "null", "pipe", "file" or "buffer"
|
||||||
|
"out_timeout" timeout in msec
|
||||||
|
"err_status" "open", "buffered" or "closed"
|
||||||
|
"err_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
|
"err_io" "out", "null", "pipe", "file" or "buffer"
|
||||||
|
"err_timeout" timeout in msec
|
||||||
|
"in_status" "open" or "closed"
|
||||||
|
"in_mode" "NL", "RAW", "JSON" or "JS"
|
||||||
|
"in_io" "null", "pipe", "file" or "buffer"
|
||||||
|
"in_timeout" timeout in msec
|
||||||
|
|
||||||
|
|
||||||
|
ch_log({msg} [, {handle}]) *ch_log()*
|
||||||
|
Write {msg} in the channel log file, if it was opened with
|
||||||
|
|ch_logfile()|.
|
||||||
|
When {handle} is passed the channel number is used for the
|
||||||
|
message.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel. The
|
||||||
|
Channel must be open for the channel number to be used.
|
||||||
|
|
||||||
|
|
||||||
|
ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||||
|
Start logging channel activity to {fname}.
|
||||||
|
When {fname} is an empty string: stop logging.
|
||||||
|
|
||||||
|
When {mode} is omitted or "a" append to the file.
|
||||||
|
When {mode} is "w" start with an empty file.
|
||||||
|
|
||||||
|
Use |ch_log()| to write log messages. The file is flushed
|
||||||
|
after every message, on Unix you can use "tail -f" to see what
|
||||||
|
is going on in real time.
|
||||||
|
|
||||||
|
This function is not available in the |sandbox|.
|
||||||
|
NOTE: the channel communication is stored in the file, be
|
||||||
|
aware that this may contain confidential and privacy sensitive
|
||||||
|
information, e.g. a password you type in a terminal window.
|
||||||
|
|
||||||
|
|
||||||
|
ch_open({address} [, {options}]) *ch_open()*
|
||||||
|
Open a channel to {address}. See |channel|.
|
||||||
|
Returns a Channel. Use |ch_status()| to check for failure.
|
||||||
|
|
||||||
|
{address} has the form "hostname:port", e.g.,
|
||||||
|
"localhost:8765".
|
||||||
|
|
||||||
|
If {options} is given it must be a |Dictionary|.
|
||||||
|
See |channel-open-options|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_read({handle} [, {options}]) *ch_read()*
|
||||||
|
Read from {handle} and return the received message.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
For a NL channel this waits for a NL to arrive, except when
|
||||||
|
there is nothing more to read (channel was closed).
|
||||||
|
See |channel-more|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_readblob({handle} [, {options}]) *ch_readblob()*
|
||||||
|
Like ch_read() but reads binary data and returns a |Blob|.
|
||||||
|
See |channel-more|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_readraw({handle} [, {options}]) *ch_readraw()*
|
||||||
|
Like ch_read() but for a JS and JSON channel does not decode
|
||||||
|
the message. For a NL channel it does not block waiting for
|
||||||
|
the NL to arrive, but otherwise works like ch_read().
|
||||||
|
See |channel-more|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
|
||||||
|
Send {expr} over {handle}. The {expr} is encoded
|
||||||
|
according to the type of channel. The function cannot be used
|
||||||
|
with a raw channel.
|
||||||
|
See |channel-use|. *E912*
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
|
|
||||||
|
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
|
||||||
|
Send |String| or |Blob| {expr} over {handle}.
|
||||||
|
Works like |ch_sendexpr()|, but does not encode the request or
|
||||||
|
decode the response. The caller is responsible for the
|
||||||
|
correct contents. Also does not add a newline for a channel
|
||||||
|
in NL mode, the caller must do that. The NL in the response
|
||||||
|
is removed.
|
||||||
|
See |channel-use|.
|
||||||
|
|
||||||
|
|
||||||
|
ch_setoptions({handle}, {options}) *ch_setoptions()*
|
||||||
|
Set options on {handle}:
|
||||||
|
"callback" the channel callback
|
||||||
|
"timeout" default read timeout in msec
|
||||||
|
"mode" mode for the whole channel
|
||||||
|
See |ch_open()| for more explanation.
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
|
||||||
|
Note that changing the mode may cause queued messages to be
|
||||||
|
lost.
|
||||||
|
|
||||||
|
These options cannot be changed:
|
||||||
|
"waittime" only applies to |ch_open()|
|
||||||
|
|
||||||
|
|
||||||
|
ch_status({handle} [, {options}]) *ch_status()*
|
||||||
|
Return the status of {handle}:
|
||||||
|
"fail" failed to open the channel
|
||||||
|
"open" channel can be used
|
||||||
|
"buffered" channel can be read, not written to
|
||||||
|
"closed" channel can not be used
|
||||||
|
{handle} can be a Channel or a Job that has a Channel.
|
||||||
|
"buffered" is used when the channel was closed but there is
|
||||||
|
still data that can be obtained with |ch_read()|.
|
||||||
|
|
||||||
|
If {options} is given it can contain a "part" entry to specify
|
||||||
|
the part of the channel to return the status for: "out" or
|
||||||
|
"err". For example, to get the error status: >
|
||||||
|
ch_status(job, {"part": "err"})
|
||||||
|
<
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
9. Starting a job with a channel *job-start* *job*
|
||||||
|
|
||||||
To start a job and open a channel for stdin/stdout/stderr: >
|
To start a job and open a channel for stdin/stdout/stderr: >
|
||||||
let job = job_start(command, {options})
|
let job = job_start(command, {options})
|
||||||
@@ -549,7 +758,7 @@ add a close callback and read the output there: >
|
|||||||
You will want to do something more useful than "echomsg".
|
You will want to do something more useful than "echomsg".
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
9. Starting a job without a channel *job-start-nochannel*
|
10. Starting a job without a channel *job-start-nochannel*
|
||||||
|
|
||||||
To start another process without creating a channel: >
|
To start another process without creating a channel: >
|
||||||
let job = job_start(command,
|
let job = job_start(command,
|
||||||
@@ -576,7 +785,164 @@ Note that the waittime for ch_open() gives the job one second to make the port
|
|||||||
available.
|
available.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
10. Job options *job-options*
|
11. Job functions *job-functions-details*
|
||||||
|
|
||||||
|
job_getchannel({job}) *job_getchannel()*
|
||||||
|
Get the channel handle that {job} is using.
|
||||||
|
To check if the job has no channel: >
|
||||||
|
if string(job_getchannel()) == 'channel fail'
|
||||||
|
<
|
||||||
|
|
||||||
|
job_info([{job}]) *job_info()*
|
||||||
|
Returns a Dictionary with information about {job}:
|
||||||
|
"status" what |job_status()| returns
|
||||||
|
"channel" what |job_getchannel()| returns
|
||||||
|
"cmd" List of command arguments used to start the job
|
||||||
|
"process" process ID
|
||||||
|
"tty_in" terminal input name, empty when none
|
||||||
|
"tty_out" terminal output name, empty when none
|
||||||
|
"exitval" only valid when "status" is "dead"
|
||||||
|
"exit_cb" function to be called on exit
|
||||||
|
"stoponexit" |job-stoponexit|
|
||||||
|
|
||||||
|
Only in Unix:
|
||||||
|
"termsig" the signal which terminated the process
|
||||||
|
(See |job_stop()| for the values)
|
||||||
|
only valid when "status" is "dead"
|
||||||
|
|
||||||
|
Only in MS-Windows:
|
||||||
|
"tty_type" Type of virtual console in use.
|
||||||
|
Values are "winpty" or "conpty".
|
||||||
|
See 'termwintype'.
|
||||||
|
|
||||||
|
Without any arguments, returns a List with all Job objects.
|
||||||
|
|
||||||
|
|
||||||
|
job_setoptions({job}, {options}) *job_setoptions()*
|
||||||
|
Change options for {job}. Supported are:
|
||||||
|
"stoponexit" |job-stoponexit|
|
||||||
|
"exit_cb" |job-exit_cb|
|
||||||
|
|
||||||
|
|
||||||
|
job_start({command} [, {options}]) *job_start()*
|
||||||
|
Start a job and return a Job object. Unlike |system()| and
|
||||||
|
|:!cmd| this does not wait for the job to finish.
|
||||||
|
To start a job in a terminal window see |term_start()|.
|
||||||
|
|
||||||
|
If the job fails to start then |job_status()| on the returned
|
||||||
|
Job object results in "fail" and none of the callbacks will be
|
||||||
|
invoked.
|
||||||
|
|
||||||
|
{command} can be a String. This works best on MS-Windows. On
|
||||||
|
Unix it is split up in white-separated parts to be passed to
|
||||||
|
execvp(). Arguments in double quotes can contain white space.
|
||||||
|
|
||||||
|
{command} can be a List, where the first item is the executable
|
||||||
|
and further items are the arguments. All items are converted
|
||||||
|
to String. This works best on Unix.
|
||||||
|
|
||||||
|
On MS-Windows, job_start() makes a GUI application hidden. If
|
||||||
|
want to show it, Use |:!start| instead.
|
||||||
|
|
||||||
|
The command is executed directly, not through a shell, the
|
||||||
|
'shell' option is not used. To use the shell: >
|
||||||
|
let job = job_start(["/bin/sh", "-c", "echo hello"])
|
||||||
|
< Or: >
|
||||||
|
let job = job_start('/bin/sh -c "echo hello"')
|
||||||
|
< Note that this will start two processes, the shell and the
|
||||||
|
command it executes. If you don't want this use the "exec"
|
||||||
|
shell command.
|
||||||
|
|
||||||
|
On Unix $PATH is used to search for the executable only when
|
||||||
|
the command does not contain a slash.
|
||||||
|
|
||||||
|
The job will use the same terminal as Vim. If it reads from
|
||||||
|
stdin the job and Vim will be fighting over input, that
|
||||||
|
doesn't work. Redirect stdin and stdout to avoid problems: >
|
||||||
|
let job = job_start(['sh', '-c', "myserver </dev/null >/dev/null"])
|
||||||
|
<
|
||||||
|
The returned Job object can be used to get the status with
|
||||||
|
|job_status()| and stop the job with |job_stop()|.
|
||||||
|
|
||||||
|
Note that the job object will be deleted if there are no
|
||||||
|
references to it. This closes the stdin and stderr, which may
|
||||||
|
cause the job to fail with an error. To avoid this keep a
|
||||||
|
reference to the job. Thus instead of: >
|
||||||
|
call job_start('my-command')
|
||||||
|
< use: >
|
||||||
|
let myjob = job_start('my-command')
|
||||||
|
< and unlet "myjob" once the job is not needed or is past the
|
||||||
|
point where it would fail (e.g. when it prints a message on
|
||||||
|
startup). Keep in mind that variables local to a function
|
||||||
|
will cease to exist if the function returns. Use a
|
||||||
|
script-local variable if needed: >
|
||||||
|
let s:myjob = job_start('my-command')
|
||||||
|
<
|
||||||
|
{options} must be a Dictionary. It can contain many optional
|
||||||
|
items, see |job-options|.
|
||||||
|
|
||||||
|
|
||||||
|
job_status({job}) *job_status()* *E916*
|
||||||
|
Returns a String with the status of {job}:
|
||||||
|
"run" job is running
|
||||||
|
"fail" job failed to start
|
||||||
|
"dead" job died or was stopped after running
|
||||||
|
|
||||||
|
On Unix a non-existing command results in "dead" instead of
|
||||||
|
"fail", because a fork happens before the failure can be
|
||||||
|
detected.
|
||||||
|
|
||||||
|
If an exit callback was set with the "exit_cb" option and the
|
||||||
|
job is now detected to be "dead" the callback will be invoked.
|
||||||
|
|
||||||
|
For more information see |job_info()|.
|
||||||
|
|
||||||
|
|
||||||
|
job_stop({job} [, {how}]) *job_stop()*
|
||||||
|
Stop the {job}. This can also be used to signal the job.
|
||||||
|
|
||||||
|
When {how} is omitted or is "term" the job will be terminated.
|
||||||
|
For Unix SIGTERM is sent. On MS-Windows the job will be
|
||||||
|
terminated forcedly (there is no "gentle" way).
|
||||||
|
This goes to the process group, thus children may also be
|
||||||
|
affected.
|
||||||
|
|
||||||
|
Effect for Unix:
|
||||||
|
"term" SIGTERM (default)
|
||||||
|
"hup" SIGHUP
|
||||||
|
"quit" SIGQUIT
|
||||||
|
"int" SIGINT
|
||||||
|
"kill" SIGKILL (strongest way to stop)
|
||||||
|
number signal with that number
|
||||||
|
|
||||||
|
Effect for MS-Windows:
|
||||||
|
"term" terminate process forcedly (default)
|
||||||
|
"hup" CTRL_BREAK
|
||||||
|
"quit" CTRL_BREAK
|
||||||
|
"int" CTRL_C
|
||||||
|
"kill" terminate process forcedly
|
||||||
|
Others CTRL_BREAK
|
||||||
|
|
||||||
|
On Unix the signal is sent to the process group. This means
|
||||||
|
that when the job is "sh -c command" it affects both the shell
|
||||||
|
and the command.
|
||||||
|
|
||||||
|
The result is a Number: 1 if the operation could be executed,
|
||||||
|
0 if "how" is not supported on the system.
|
||||||
|
Note that even when the operation was executed, whether the
|
||||||
|
job was actually stopped needs to be checked with
|
||||||
|
|job_status()|.
|
||||||
|
|
||||||
|
If the status of the job is "dead", the signal will not be
|
||||||
|
sent. This is to avoid to stop the wrong job (esp. on Unix,
|
||||||
|
where process numbers are recycled).
|
||||||
|
|
||||||
|
When using "kill" Vim will assume the job will die and close
|
||||||
|
the channel.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
12. Job options *job-options*
|
||||||
|
|
||||||
The {options} argument in job_start() is a dictionary. All entries are
|
The {options} argument in job_start() is a dictionary. All entries are
|
||||||
optional. Some options can be used after the job has started, using
|
optional. Some options can be used after the job has started, using
|
||||||
@@ -770,7 +1136,7 @@ accessible for others). Use |setfperm()| to change this.
|
|||||||
If the file already exists it is truncated.
|
If the file already exists it is truncated.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Controlling a job *job-control*
|
13. Controlling a job *job-control*
|
||||||
|
|
||||||
To get the status of a job: >
|
To get the status of a job: >
|
||||||
echo job_status(job)
|
echo job_status(job)
|
||||||
@@ -786,7 +1152,7 @@ signals. E.g. to force a job to stop, "kill it": >
|
|||||||
For more options see |job_stop()|.
|
For more options see |job_stop()|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
12. Using a prompt buffer *prompt-buffer*
|
14. Using a prompt buffer *prompt-buffer*
|
||||||
|
|
||||||
If you want to type input for the job in a Vim window you have a few options:
|
If you want to type input for the job in a Vim window you have a few options:
|
||||||
- Use a normal buffer and handle all possible commands yourself.
|
- Use a normal buffer and handle all possible commands yourself.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
|
*cmdline.txt* For Vim version 8.1. Last change: 2019 Aug 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -27,7 +27,6 @@ Basic command line editing is explained in chapter 20 of the user manual
|
|||||||
Normally characters are inserted in front of the cursor position. You can
|
Normally characters are inserted in front of the cursor position. You can
|
||||||
move around in the command-line with the left and right cursor keys. With the
|
move around in the command-line with the left and right cursor keys. With the
|
||||||
<Insert> key, you can toggle between inserting and overstriking characters.
|
<Insert> key, you can toggle between inserting and overstriking characters.
|
||||||
{Vi: can only alter the last character in the line}
|
|
||||||
|
|
||||||
Note that if your keyboard does not have working cursor keys or any of the
|
Note that if your keyboard does not have working cursor keys or any of the
|
||||||
other special keys, you can use ":cnoremap" to define another key for them.
|
other special keys, you can use ":cnoremap" to define another key for them.
|
||||||
@@ -66,7 +65,6 @@ Notes:
|
|||||||
- All searches are put in the search history, including the ones that come
|
- All searches are put in the search history, including the ones that come
|
||||||
from commands like "*" and "#". But for a mapping, only the last search is
|
from commands like "*" and "#". But for a mapping, only the last search is
|
||||||
remembered (to avoid that long mappings trash the history).
|
remembered (to avoid that long mappings trash the history).
|
||||||
{Vi: no history}
|
|
||||||
{not available when compiled without the |+cmdline_hist| feature}
|
{not available when compiled without the |+cmdline_hist| feature}
|
||||||
|
|
||||||
There is an automatic completion of names on the command-line; see
|
There is an automatic completion of names on the command-line; see
|
||||||
@@ -124,12 +122,12 @@ CTRL-U Remove all characters between the cursor position and
|
|||||||
:cnoremap <C-U> <C-E><C-U>
|
:cnoremap <C-U> <C-E><C-U>
|
||||||
<
|
<
|
||||||
*c_<Insert>* *c_Insert*
|
*c_<Insert>* *c_Insert*
|
||||||
<Insert> Toggle between insert and overstrike. {not in Vi}
|
<Insert> Toggle between insert and overstrike.
|
||||||
|
|
||||||
{char1} <BS> {char2} or *c_digraph*
|
{char1} <BS> {char2} or *c_digraph*
|
||||||
CTRL-K {char1} {char2} *c_CTRL-K*
|
CTRL-K {char1} {char2} *c_CTRL-K*
|
||||||
enter digraph (see |digraphs|). When {char1} is a special
|
enter digraph (see |digraphs|). When {char1} is a special
|
||||||
key, the code for that key is inserted in <> form. {not in Vi}
|
key, the code for that key is inserted in <> form.
|
||||||
|
|
||||||
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
|
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
|
||||||
Insert the contents of a numbered or named register. Between
|
Insert the contents of a numbered or named register. Between
|
||||||
@@ -165,7 +163,7 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
|
|||||||
too.
|
too.
|
||||||
When the result is a Float it's automatically
|
When the result is a Float it's automatically
|
||||||
converted to a String.
|
converted to a String.
|
||||||
See |registers| about registers. {not in Vi}
|
See |registers| about registers.
|
||||||
Implementation detail: When using the |expression| register
|
Implementation detail: When using the |expression| register
|
||||||
and invoking setcmdpos(), this sets the position before
|
and invoking setcmdpos(), this sets the position before
|
||||||
inserting the resulting string. Use CTRL-R CTRL-R to set the
|
inserting the resulting string. Use CTRL-R CTRL-R to set the
|
||||||
@@ -188,7 +186,6 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
|
|||||||
currently displayed match is used. With CTRL-W the part of
|
currently displayed match is used. With CTRL-W the part of
|
||||||
the word that was already typed is not inserted again.
|
the word that was already typed is not inserted again.
|
||||||
|
|
||||||
{not in Vi}
|
|
||||||
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
|
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
|
||||||
included}
|
included}
|
||||||
|
|
||||||
@@ -313,11 +310,9 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
|
|||||||
off, since you are expected to type a command. After
|
off, since you are expected to type a command. After
|
||||||
switching it on with CTRL-^, the new state is not used again
|
switching it on with CTRL-^, the new state is not used again
|
||||||
for the next command or Search pattern.
|
for the next command or Search pattern.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*c_CTRL-]*
|
*c_CTRL-]*
|
||||||
CTRL-] Trigger abbreviation, without inserting a character. {not in
|
CTRL-] Trigger abbreviation, without inserting a character.
|
||||||
Vi}
|
|
||||||
|
|
||||||
For Emacs-style editing on the command-line see |emacs-keys|.
|
For Emacs-style editing on the command-line see |emacs-keys|.
|
||||||
|
|
||||||
@@ -332,7 +327,6 @@ terminals)
|
|||||||
|
|
||||||
*:his* *:history*
|
*:his* *:history*
|
||||||
:his[tory] Print the history of last entered commands.
|
:his[tory] Print the history of last entered commands.
|
||||||
{not in Vi}
|
|
||||||
{not available when compiled without the |+cmdline_hist|
|
{not available when compiled without the |+cmdline_hist|
|
||||||
feature}
|
feature}
|
||||||
|
|
||||||
@@ -344,7 +338,6 @@ terminals)
|
|||||||
i[nput] or @ input line history
|
i[nput] or @ input line history
|
||||||
d[ebug] or > debug command history
|
d[ebug] or > debug command history
|
||||||
a[ll] all of the above
|
a[ll] all of the above
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
If the numbers {first} and/or {last} are given, the respective
|
If the numbers {first} and/or {last} are given, the respective
|
||||||
range of entries from a history is listed. These numbers can
|
range of entries from a history is listed. These numbers can
|
||||||
@@ -709,7 +702,7 @@ commands ":write" and ":global" have the whole file (1,$) as default.
|
|||||||
If more line specifiers are given than required for the command, the first
|
If more line specifiers are given than required for the command, the first
|
||||||
one(s) will be ignored.
|
one(s) will be ignored.
|
||||||
|
|
||||||
Line numbers may be specified with: *:range* *E14* *{address}*
|
Line numbers may be specified with: *:range* *{address}*
|
||||||
{number} an absolute line number
|
{number} an absolute line number
|
||||||
. the current line *:.*
|
. the current line *:.*
|
||||||
$ the last line in the file *:$*
|
$ the last line in the file *:$*
|
||||||
@@ -1071,8 +1064,7 @@ Also see |`=|.
|
|||||||
In the command-line window the command line can be edited just like editing
|
In the command-line window the command line can be edited just like editing
|
||||||
text in any window. It is a special kind of window, because you cannot leave
|
text in any window. It is a special kind of window, because you cannot leave
|
||||||
it in a normal way.
|
it in a normal way.
|
||||||
{not available when compiled without the |+cmdline_hist| or |+vertsplit|
|
{not available when compiled without the |+cmdline_hist| feature}
|
||||||
feature}
|
|
||||||
|
|
||||||
|
|
||||||
OPEN *c_CTRL-F* *q:* *q/* *q?*
|
OPEN *c_CTRL-F* *q:* *q/* *q?*
|
||||||
@@ -1147,7 +1139,6 @@ VARIOUS
|
|||||||
The command-line window cannot be used:
|
The command-line window cannot be used:
|
||||||
- when there already is a command-line window (no nesting)
|
- when there already is a command-line window (no nesting)
|
||||||
- for entering an encryption key or when using inputsecret()
|
- for entering an encryption key or when using inputsecret()
|
||||||
- when Vim was not compiled with the |+vertsplit| feature
|
|
||||||
|
|
||||||
Some options are set when the command-line window is opened:
|
Some options are set when the command-line window is opened:
|
||||||
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
|
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
|
*debug.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -78,15 +78,10 @@ matches the EXE (same date).
|
|||||||
If you built the executable yourself with the Microsoft Visual C++ compiler,
|
If you built the executable yourself with the Microsoft Visual C++ compiler,
|
||||||
then the PDB was built with the EXE.
|
then the PDB was built with the EXE.
|
||||||
|
|
||||||
Alternatively, if you have the source files, you can import Make_ivc.mak into
|
|
||||||
Visual Studio as a workspace. Then select a debug configuration, build and
|
|
||||||
you can do all kinds of debugging (set breakpoints, watch variables, etc.).
|
|
||||||
|
|
||||||
If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
|
If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
|
||||||
|
|
||||||
For other compilers, you should always use the corresponding debugger: TD for
|
For other compilers, you should always use the corresponding debugger: gdb
|
||||||
a Vim executable compiled with the Borland compiler; gdb (see above
|
(see above |debug-gcc|) for the Cygwin and MinGW compilers.
|
||||||
|debug-gcc|) for the Cygwin and MinGW compilers.
|
|
||||||
|
|
||||||
|
|
||||||
*debug-vs2005*
|
*debug-vs2005*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
|
*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@@ -6,18 +6,19 @@
|
|||||||
|
|
||||||
Debugger Support Features *debugger-support*
|
Debugger Support Features *debugger-support*
|
||||||
|
|
||||||
|
These features are for integration with a debugger or an Integrated
|
||||||
|
Programming Environment (IPE) or Integrated Development Environment (IDE).
|
||||||
|
For the debugger running in a Vim terminal window see |terminal-debugger|.
|
||||||
|
|
||||||
1. Debugger Features |debugger-features|
|
1. Debugger Features |debugger-features|
|
||||||
2. Vim Compile Options |debugger-compilation|
|
2. Vim Compile Options |debugger-compilation|
|
||||||
3. Integrated Debuggers |debugger-integration|
|
3. Integrated Debuggers |debugger-integration|
|
||||||
|
|
||||||
{Vi does not have any of these features}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Debugger Features *debugger-features*
|
1. Debugger Features *debugger-features*
|
||||||
|
|
||||||
The following features are available for an integration with a debugger or
|
The following features are available:
|
||||||
an Integrated Programming Environment (IPE) or Integrated Development
|
|
||||||
Environment (IDE):
|
|
||||||
|
|
||||||
Alternate Command Input |alt-input|
|
Alternate Command Input |alt-input|
|
||||||
Debug Signs |debug-signs|
|
Debug Signs |debug-signs|
|
||||||
@@ -88,7 +89,11 @@ This feature allows a debugger, or other external tool, to display dynamic
|
|||||||
information based on where the mouse is pointing. The purpose of this feature
|
information based on where the mouse is pointing. The purpose of this feature
|
||||||
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
|
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
|
||||||
However, the feature was implemented in as general a manner as possible and
|
However, the feature was implemented in as general a manner as possible and
|
||||||
could be used for displaying other information as well.
|
could be used for displaying other information as well. The functionality is
|
||||||
|
limited though, for advanced popups see |popup-window|.
|
||||||
|
|
||||||
|
Another way to use the balloon is with the 'balloonexpr' option. This is
|
||||||
|
completely user definable.
|
||||||
|
|
||||||
The Balloon Evaluation has some settable parameters too. For Motif the font
|
The Balloon Evaluation has some settable parameters too. For Motif the font
|
||||||
list and colors can be set via X resources (XmNballoonEvalFontList,
|
list and colors can be set via X resources (XmNballoonEvalFontList,
|
||||||
@@ -106,9 +111,6 @@ 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
|
||||||
other settings apply.
|
other settings apply.
|
||||||
|
|
||||||
Another way to use the balloon is with the 'balloonexpr' option. This is
|
|
||||||
completely user definable.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Vim Compile Options *debugger-compilation*
|
2. Vim Compile Options *debugger-compilation*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
|
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -278,7 +278,6 @@ wait don't use as argument to a function, conflicts with types.h
|
|||||||
index shadows global declaration
|
index shadows global declaration
|
||||||
time shadows global declaration
|
time shadows global declaration
|
||||||
new C++ reserved keyword
|
new C++ reserved keyword
|
||||||
try Borland C++ doesn't like it to be used as a variable.
|
|
||||||
|
|
||||||
clear Mac curses.h
|
clear Mac curses.h
|
||||||
echo Mac curses.h
|
echo Mac curses.h
|
||||||
@@ -530,7 +529,7 @@ the best method is. Alternatives:
|
|||||||
memory use, but takes a long time. On a fast PC it takes a couple of
|
memory use, but takes a long time. On a fast PC it takes a couple of
|
||||||
seconds for English, which can be acceptable for interactive use. But for
|
seconds for English, which can be acceptable for interactive use. But for
|
||||||
some languages it takes more than ten seconds (e.g., German, Catalan),
|
some languages it takes more than ten seconds (e.g., German, Catalan),
|
||||||
which is unacceptable slow. For batch processing (automatic corrections)
|
which is unacceptably slow. For batch processing (automatic corrections)
|
||||||
it's too slow for all languages.
|
it's too slow for all languages.
|
||||||
2. Use a trie for the soundfolded words, so that searching can be done just
|
2. Use a trie for the soundfolded words, so that searching can be done just
|
||||||
like how it works without soundfolding. This requires remembering a list
|
like how it works without soundfolding. This requires remembering a list
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 8.1. Last change: 2019 Feb 27
|
*diff.txt* For Vim version 8.1. Last change: 2019 Jul 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -16,8 +16,6 @@ The basics are explained in section |08.7| of the user manual.
|
|||||||
4. Copying diffs |copy-diffs|
|
4. Copying diffs |copy-diffs|
|
||||||
5. Diff options |diff-options|
|
5. Diff options |diff-options|
|
||||||
|
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting diff mode *start-vimdiff*
|
1. Starting diff mode *start-vimdiff*
|
||||||
|
|
||||||
@@ -187,7 +185,7 @@ hidden buffers. You can use ":hide" to close a window without unloading the
|
|||||||
buffer. If you don't want a buffer to remain used for the diff do ":set
|
buffer. If you don't want a buffer to remain used for the diff do ":set
|
||||||
nodiff" before hiding it.
|
nodiff" before hiding it.
|
||||||
|
|
||||||
*:dif* *:diffupdate*
|
*:dif* *:diff* *:diffupdate*
|
||||||
:dif[fupdate][!] Update the diff highlighting and folds.
|
:dif[fupdate][!] Update the diff highlighting and folds.
|
||||||
|
|
||||||
Vim attempts to keep the differences updated when you make changes to the
|
Vim attempts to keep the differences updated when you make changes to the
|
||||||
@@ -337,7 +335,7 @@ After setting this variable, reload the syntax script: >
|
|||||||
FINDING THE DIFFERENCES *diff-diffexpr*
|
FINDING THE DIFFERENCES *diff-diffexpr*
|
||||||
|
|
||||||
The 'diffexpr' option can be set to use something else than the standard
|
The 'diffexpr' option can be set to use something else than the standard
|
||||||
"diff" program to compare two files and find the differences.
|
"diff" program to compare two files and find the differences. *E959*
|
||||||
|
|
||||||
When 'diffexpr' is empty, Vim uses this command to find the differences
|
When 'diffexpr' is empty, Vim uses this command to find the differences
|
||||||
between file1 and file2: >
|
between file1 and file2: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
|
*digraph.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -18,7 +18,6 @@ An alternative is using the 'keymap' option.
|
|||||||
2. Using digraphs |digraphs-use|
|
2. Using digraphs |digraphs-use|
|
||||||
3. Default digraphs |digraphs-default|
|
3. Default digraphs |digraphs-default|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Defining digraphs *digraphs-define*
|
1. Defining digraphs *digraphs-define*
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
/* vim:set ts=4 sw=4:
|
/* vim:set ts=4 sw=4:
|
||||||
* this program makes a tags file for vim_ref.txt
|
|
||||||
*
|
*
|
||||||
* Usage: doctags vim_ref.txt vim_win.txt ... >tags
|
* This program makes a tags file for help text.
|
||||||
|
*
|
||||||
|
* Usage: doctags *.txt ... >tags
|
||||||
*
|
*
|
||||||
* A tag in this context is an identifier between stars, e.g. *c_files*
|
* A tag in this context is an identifier between stars, e.g. *c_files*
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.1. Last change: 2018 Dec 16
|
*editing.txt* For Vim version 8.1. Last change: 2019 Jun 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -44,14 +44,14 @@ An alternate file name is remembered for each window.
|
|||||||
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
|
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
|
||||||
name. Note that commands invoked indirectly (e.g.,
|
name. Note that commands invoked indirectly (e.g.,
|
||||||
with a function) may still set the alternate file
|
with a function) may still set the alternate file
|
||||||
name. {not in Vi}
|
name.
|
||||||
|
|
||||||
All file names are remembered in the buffer list. When you enter a file name,
|
All file names are remembered in the buffer list. When you enter a file name,
|
||||||
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
|
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
|
||||||
the file name is added to the list. You can use the buffer list to remember
|
the file name is added to the list. You can use the buffer list to remember
|
||||||
which files you edited and to quickly switch from one file to another (e.g.,
|
which files you edited and to quickly switch from one file to another (e.g.,
|
||||||
to copy text) with the |CTRL-^| command. First type the number of the file
|
to copy text) with the |CTRL-^| command. First type the number of the file
|
||||||
and then hit CTRL-^. {Vi: only one alternate file name is remembered}
|
and then hit CTRL-^.
|
||||||
|
|
||||||
|
|
||||||
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
|
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
|
||||||
@@ -60,14 +60,13 @@ CTRL-G or *CTRL-G* *:f* *:fi* *:file*
|
|||||||
option is set), and the file status (readonly,
|
option is set), and the file status (readonly,
|
||||||
modified, read errors, new file). See the 'shortmess'
|
modified, read errors, new file). See the 'shortmess'
|
||||||
option about how to make this message shorter.
|
option about how to make this message shorter.
|
||||||
{Vi does not include column number}
|
|
||||||
|
|
||||||
:f[ile]! like |:file|, but don't truncate the name even when
|
:f[ile]! like |:file|, but don't truncate the name even when
|
||||||
'shortmess' indicates this.
|
'shortmess' indicates this.
|
||||||
|
|
||||||
{count}CTRL-G Like CTRL-G, but prints the current file name with
|
{count}CTRL-G Like CTRL-G, but prints the current file name with
|
||||||
full path. If the count is higher than 1 the current
|
full path. If the count is higher than 1 the current
|
||||||
buffer number is also given. {not in Vi}
|
buffer number is also given.
|
||||||
|
|
||||||
*g_CTRL-G* *word-count* *byte-count*
|
*g_CTRL-G* *word-count* *byte-count*
|
||||||
g CTRL-G Prints the current position of the cursor in five
|
g CTRL-G Prints the current position of the cursor in five
|
||||||
@@ -80,7 +79,6 @@ g CTRL-G Prints the current position of the cursor in five
|
|||||||
column are shown, separated with a dash.
|
column are shown, separated with a dash.
|
||||||
Also see the 'ruler' option and the |wordcount()|
|
Also see the 'ruler' option and the |wordcount()|
|
||||||
function.
|
function.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*v_g_CTRL-G*
|
*v_g_CTRL-G*
|
||||||
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
|
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
|
||||||
@@ -88,7 +86,6 @@ g CTRL-G Prints the current position of the cursor in five
|
|||||||
displayed.
|
displayed.
|
||||||
In Blockwise mode, Column count is also shown. (For
|
In Blockwise mode, Column count is also shown. (For
|
||||||
{Visual} see |Visual-mode|.)
|
{Visual} see |Visual-mode|.)
|
||||||
{not in VI}
|
|
||||||
|
|
||||||
*:file_f*
|
*:file_f*
|
||||||
:f[ile][!] {name} Sets the current file name to {name}. The optional !
|
:f[ile][!] {name} Sets the current file name to {name}. The optional !
|
||||||
@@ -98,14 +95,12 @@ g CTRL-G Prints the current position of the cursor in five
|
|||||||
to hold the old name.
|
to hold the old name.
|
||||||
*:0file*
|
*:0file*
|
||||||
:0f[ile][!] Remove the name of the current buffer. The optional !
|
:0f[ile][!] Remove the name of the current buffer. The optional !
|
||||||
avoids truncating the message, as with |:file|. {not
|
avoids truncating the message, as with |:file|.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
:buffers
|
:buffers
|
||||||
:files
|
:files
|
||||||
:ls List all the currently known file names. See
|
:ls List all the currently known file names. See
|
||||||
'windows.txt' |:files| |:buffers| |:ls|. {not in
|
'windows.txt' |:files| |:buffers| |:ls|.
|
||||||
Vi}
|
|
||||||
|
|
||||||
Vim will remember the full path name of a file name that you enter. In most
|
Vim will remember the full path name of a file name that you enter. In most
|
||||||
cases when the file name is displayed only the name you typed is shown, but
|
cases when the file name is displayed only the name you typed is shown, but
|
||||||
@@ -202,7 +197,6 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
buffer and 'autowriteall' isn't set or the file can't
|
buffer and 'autowriteall' isn't set or the file can't
|
||||||
be written.
|
be written.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
*:edit!* *discard*
|
*:edit!* *discard*
|
||||||
:e[dit]! [++opt] [+cmd]
|
:e[dit]! [++opt] [+cmd]
|
||||||
@@ -210,7 +204,6 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
the current buffer. This is useful if you want to
|
the current buffer. This is useful if you want to
|
||||||
start all over again.
|
start all over again.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
*:edit_f*
|
*:edit_f*
|
||||||
:e[dit] [++opt] [+cmd] {file}
|
:e[dit] [++opt] [+cmd] {file}
|
||||||
@@ -219,14 +212,12 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
buffer, unless 'hidden' is set or 'autowriteall' is
|
buffer, unless 'hidden' is set or 'autowriteall' is
|
||||||
set and the file can be written.
|
set and the file can be written.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
*:edit!_f*
|
*:edit!_f*
|
||||||
:e[dit]! [++opt] [+cmd] {file}
|
:e[dit]! [++opt] [+cmd] {file}
|
||||||
Edit {file} always. Discard any changes to the
|
Edit {file} always. Discard any changes to the
|
||||||
current buffer.
|
current buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
:e[dit] [++opt] [+cmd] #[count]
|
:e[dit] [++opt] [+cmd] #[count]
|
||||||
Edit the [count]th buffer (as shown by |:files|).
|
Edit the [count]th buffer (as shown by |:files|).
|
||||||
@@ -234,7 +225,6 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
#" doesn't work if the alternate buffer doesn't have a
|
#" doesn't work if the alternate buffer doesn't have a
|
||||||
file name, while CTRL-^ still works then.
|
file name, while CTRL-^ still works then.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
*:ene* *:enew*
|
*:ene* *:enew*
|
||||||
:ene[w] Edit a new, unnamed buffer. This fails when changes
|
:ene[w] Edit a new, unnamed buffer. This fails when changes
|
||||||
@@ -244,19 +234,17 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
If 'fileformats' is not empty, the first format given
|
If 'fileformats' is not empty, the first format given
|
||||||
will be used for the new buffer. If 'fileformats' is
|
will be used for the new buffer. If 'fileformats' is
|
||||||
empty, the 'fileformat' of the current buffer is used.
|
empty, the 'fileformat' of the current buffer is used.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ene!* *:enew!*
|
*:ene!* *:enew!*
|
||||||
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
|
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
|
||||||
the current buffer.
|
the current buffer.
|
||||||
Set 'fileformat' like |:enew|.
|
Set 'fileformat' like |:enew|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:fin* *:find*
|
*:fin* *:find*
|
||||||
:fin[d][!] [++opt] [+cmd] {file}
|
:fin[d][!] [++opt] [+cmd] {file}
|
||||||
Find {file} in 'path' and then |:edit| it.
|
Find {file} in 'path' and then |:edit| it.
|
||||||
{not in Vi} {not available when the |+file_in_path|
|
{not available when the |+file_in_path| feature was
|
||||||
feature was disabled at compile time}
|
disabled at compile time}
|
||||||
|
|
||||||
:{count}fin[d][!] [++opt] [+cmd] {file}
|
:{count}fin[d][!] [++opt] [+cmd] {file}
|
||||||
Just like ":find", but use the {count} match in
|
Just like ":find", but use the {count} match in
|
||||||
@@ -278,7 +266,7 @@ If you want to keep the changed buffer without saving it, switch on the
|
|||||||
:vie[w][!] [++opt] [+cmd] file
|
:vie[w][!] [++opt] [+cmd] file
|
||||||
When used in Ex mode: Leave |Ex-mode|, go back to
|
When used in Ex mode: Leave |Ex-mode|, go back to
|
||||||
Normal mode. Otherwise same as |:edit|, but set
|
Normal mode. Otherwise same as |:edit|, but set
|
||||||
'readonly' option for this buffer. {not in Vi}
|
'readonly' option for this buffer.
|
||||||
|
|
||||||
*CTRL-^* *CTRL-6*
|
*CTRL-^* *CTRL-6*
|
||||||
CTRL-^ Edit the alternate file. Mostly the alternate file is
|
CTRL-^ Edit the alternate file. Mostly the alternate file is
|
||||||
@@ -297,7 +285,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
|||||||
":e #[count]"). This is a quick way to switch between
|
":e #[count]"). This is a quick way to switch between
|
||||||
files.
|
files.
|
||||||
See |CTRL-^| above for further details.
|
See |CTRL-^| above for further details.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
[count]]f *]f* *[f*
|
[count]]f *]f* *[f*
|
||||||
[count][f Same as "gf". Deprecated.
|
[count][f Same as "gf". Deprecated.
|
||||||
@@ -331,7 +318,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
|||||||
For Unix the '~' character is expanded, like in
|
For Unix the '~' character is expanded, like in
|
||||||
"~user/file". Environment variables are expanded too
|
"~user/file". Environment variables are expanded too
|
||||||
|expand-env|.
|
|expand-env|.
|
||||||
{not in Vi}
|
|
||||||
{not available when the |+file_in_path| feature was
|
{not available when the |+file_in_path| feature was
|
||||||
disabled at compile time}
|
disabled at compile time}
|
||||||
|
|
||||||
@@ -341,7 +327,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
|
|||||||
Leading blanks are skipped, otherwise all blanks and
|
Leading blanks are skipped, otherwise all blanks and
|
||||||
special characters are included in the file name.
|
special characters are included in the file name.
|
||||||
(For {Visual} see |Visual-mode|.)
|
(For {Visual} see |Visual-mode|.)
|
||||||
{not in VI}
|
|
||||||
|
|
||||||
*gF*
|
*gF*
|
||||||
[count]gF Same as "gf", except if a number follows the file
|
[count]gF Same as "gf", except if a number follows the file
|
||||||
@@ -608,7 +593,7 @@ You can use the argument list with the following commands, and with the
|
|||||||
expression functions |argc()| and |argv()|. These all work on the argument
|
expression functions |argc()| and |argv()|. These all work on the argument
|
||||||
list of the current window.
|
list of the current window.
|
||||||
|
|
||||||
*:ar* *:args*
|
*:ar* *:arg* *:args*
|
||||||
:ar[gs] Print the argument list, with the current file in
|
:ar[gs] Print the argument list, with the current file in
|
||||||
square brackets.
|
square brackets.
|
||||||
|
|
||||||
@@ -617,14 +602,12 @@ list of the current window.
|
|||||||
the first one. This fails when changes have been made
|
the first one. This fails when changes have been made
|
||||||
and Vim does not want to |abandon| the current buffer.
|
and Vim does not want to |abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
|
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
|
||||||
Define {arglist} as the new argument list and edit
|
Define {arglist} as the new argument list and edit
|
||||||
the first one. Discard any changes to the current
|
the first one. Discard any changes to the current
|
||||||
buffer.
|
buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{Vi: no ++opt}
|
|
||||||
|
|
||||||
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
|
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
|
||||||
Add {name}s to the argument list and edit it.
|
Add {name}s to the argument list and edit it.
|
||||||
@@ -637,7 +620,6 @@ list of the current window.
|
|||||||
still be added to the argument list, but won't be
|
still be added to the argument list, but won't be
|
||||||
edited. No check for duplicates is done.
|
edited. No check for duplicates is done.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
||||||
:[count]arga[dd]
|
:[count]arga[dd]
|
||||||
@@ -659,7 +641,6 @@ list of the current window.
|
|||||||
There is no check for duplicates, it is possible to
|
There is no check for duplicates, it is possible to
|
||||||
add a file to the argument list twice.
|
add a file to the argument list twice.
|
||||||
The currently edited file is not changed.
|
The currently edited file is not changed.
|
||||||
{not in Vi}
|
|
||||||
Note: you can also use this method: >
|
Note: you can also use this method: >
|
||||||
:args ## x
|
:args ## x
|
||||||
< This will add the "x" item and sort the new list.
|
< This will add the "x" item and sort the new list.
|
||||||
@@ -673,7 +654,6 @@ list of the current window.
|
|||||||
when it's deleted from the argument list.
|
when it's deleted from the argument list.
|
||||||
Example: >
|
Example: >
|
||||||
:argdel *.obj
|
:argdel *.obj
|
||||||
< {not in Vi}
|
|
||||||
|
|
||||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||||
Example: >
|
Example: >
|
||||||
@@ -688,7 +668,6 @@ list of the current window.
|
|||||||
< Removes all the files from the arglist.
|
< Removes all the files from the arglist.
|
||||||
When the last number in the range is too high, up to
|
When the last number in the range is too high, up to
|
||||||
the last argument is deleted.
|
the last argument is deleted.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:argu* *:argument*
|
*:argu* *:argument*
|
||||||
:[count]argu[ment] [count] [++opt] [+cmd]
|
:[count]argu[ment] [count] [++opt] [+cmd]
|
||||||
@@ -697,25 +676,21 @@ list of the current window.
|
|||||||
when changes have been made and Vim does not want to
|
when changes have been made and Vim does not want to
|
||||||
|abandon| the current buffer.
|
|abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:[count]argu[ment]! [count] [++opt] [+cmd]
|
:[count]argu[ment]! [count] [++opt] [+cmd]
|
||||||
Edit file [count] in the argument list, discard any
|
Edit file [count] in the argument list, discard any
|
||||||
changes to the current buffer. When [count] is
|
changes to the current buffer. When [count] is
|
||||||
omitted the current entry is used.
|
omitted the current entry is used.
|
||||||
Also see |++opt| and |+cmd|.
|
Also see |++opt| and |+cmd|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
|
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
|
||||||
Edit [count] next file. This fails when changes have
|
Edit [count] next file. This fails when changes have
|
||||||
been made and Vim does not want to |abandon| the
|
been made and Vim does not want to |abandon| the
|
||||||
current buffer. Also see |++opt| and |+cmd|. {Vi: no
|
current buffer. Also see |++opt| and |+cmd|.
|
||||||
count or ++opt}.
|
|
||||||
|
|
||||||
:[count]n[ext]! [++opt] [+cmd]
|
:[count]n[ext]! [++opt] [+cmd]
|
||||||
Edit [count] next file, discard any changes to the
|
Edit [count] next file, discard any changes to the
|
||||||
buffer. Also see |++opt| and |+cmd|. {Vi: no count
|
buffer. Also see |++opt| and |+cmd|.
|
||||||
or ++opt}.
|
|
||||||
|
|
||||||
:n[ext] [++opt] [+cmd] {arglist} *:next_f*
|
:n[ext] [++opt] [+cmd] {arglist} *:next_f*
|
||||||
Same as |:args_f|.
|
Same as |:args_f|.
|
||||||
@@ -727,65 +702,63 @@ list of the current window.
|
|||||||
Edit [count] previous file in argument list. This
|
Edit [count] previous file in argument list. This
|
||||||
fails when changes have been made and Vim does not
|
fails when changes have been made and Vim does not
|
||||||
want to |abandon| the current buffer.
|
want to |abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|. {Vi: no count or ++opt}.
|
Also see |++opt| and |+cmd|.
|
||||||
|
|
||||||
:[count]N[ext]! [count] [++opt] [+cmd]
|
:[count]N[ext]! [count] [++opt] [+cmd]
|
||||||
Edit [count] previous file in argument list. Discard
|
Edit [count] previous file in argument list. Discard
|
||||||
any changes to the buffer. Also see |++opt| and
|
any changes to the buffer. Also see |++opt| and
|
||||||
|+cmd|. {Vi: no count or ++opt}.
|
|+cmd|.
|
||||||
|
|
||||||
:[count]prev[ious] [count] [++opt] [+cmd] *:prev* *:previous*
|
:[count]prev[ious] [count] [++opt] [+cmd] *:prev* *:previous*
|
||||||
Same as :Next. Also see |++opt| and |+cmd|. {Vi:
|
Same as :Next. Also see |++opt| and |+cmd|.
|
||||||
only in some versions}
|
|
||||||
|
|
||||||
*:rew* *:rewind*
|
*:rew* *:rewind*
|
||||||
:rew[ind] [++opt] [+cmd]
|
:rew[ind] [++opt] [+cmd]
|
||||||
Start editing the first file in the argument list.
|
Start editing the first file in the argument list.
|
||||||
This fails when changes have been made and Vim does
|
This fails when changes have been made and Vim does
|
||||||
not want to |abandon| the current buffer.
|
not want to |abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|. {Vi: no ++opt}
|
Also see |++opt| and |+cmd|.
|
||||||
|
|
||||||
:rew[ind]! [++opt] [+cmd]
|
:rew[ind]! [++opt] [+cmd]
|
||||||
Start editing the first file in the argument list.
|
Start editing the first file in the argument list.
|
||||||
Discard any changes to the buffer. Also see |++opt|
|
Discard any changes to the buffer. Also see |++opt|
|
||||||
and |+cmd|. {Vi: no ++opt}
|
and |+cmd|.
|
||||||
|
|
||||||
*:fir* *:first*
|
*:fir* *:first*
|
||||||
:fir[st][!] [++opt] [+cmd]
|
:fir[st][!] [++opt] [+cmd]
|
||||||
Other name for ":rewind". {not in Vi}
|
Other name for ":rewind".
|
||||||
|
|
||||||
*:la* *:last*
|
*:la* *:last*
|
||||||
:la[st] [++opt] [+cmd]
|
:la[st] [++opt] [+cmd]
|
||||||
Start editing the last file in the argument list.
|
Start editing the last file in the argument list.
|
||||||
This fails when changes have been made and Vim does
|
This fails when changes have been made and Vim does
|
||||||
not want to |abandon| the current buffer.
|
not want to |abandon| the current buffer.
|
||||||
Also see |++opt| and |+cmd|. {not in Vi}
|
Also see |++opt| and |+cmd|.
|
||||||
|
|
||||||
:la[st]! [++opt] [+cmd]
|
:la[st]! [++opt] [+cmd]
|
||||||
Start editing the last file in the argument list.
|
Start editing the last file in the argument list.
|
||||||
Discard any changes to the buffer. Also see |++opt|
|
Discard any changes to the buffer. Also see |++opt|
|
||||||
and |+cmd|. {not in Vi}
|
and |+cmd|.
|
||||||
|
|
||||||
*:wn* *:wnext*
|
*:wn* *:wnext*
|
||||||
:[count]wn[ext] [++opt]
|
:[count]wn[ext] [++opt]
|
||||||
Write current file and start editing the [count]
|
Write current file and start editing the [count]
|
||||||
next file. Also see |++opt| and |+cmd|. {not in Vi}
|
next file. Also see |++opt| and |+cmd|.
|
||||||
|
|
||||||
:[count]wn[ext] [++opt] {file}
|
:[count]wn[ext] [++opt] {file}
|
||||||
Write current file to {file} and start editing the
|
Write current file to {file} and start editing the
|
||||||
[count] next file, unless {file} already exists and
|
[count] next file, unless {file} already exists and
|
||||||
the 'writeany' option is off. Also see |++opt| and
|
the 'writeany' option is off. Also see |++opt| and
|
||||||
|+cmd|. {not in Vi}
|
|+cmd|.
|
||||||
|
|
||||||
:[count]wn[ext]! [++opt] {file}
|
:[count]wn[ext]! [++opt] {file}
|
||||||
Write current file to {file} and start editing the
|
Write current file to {file} and start editing the
|
||||||
[count] next file. Also see |++opt| and |+cmd|. {not
|
[count] next file. Also see |++opt| and |+cmd|.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
|
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
|
||||||
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
|
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
|
||||||
Same as :wnext, but go to previous file instead of
|
Same as :wnext, but go to previous file instead of
|
||||||
next. {not in Vi}
|
next.
|
||||||
|
|
||||||
The [count] in the commands above defaults to one. For some commands it is
|
The [count] in the commands above defaults to one. For some commands it is
|
||||||
possible to use two counts. The last one (rightmost one) is used.
|
possible to use two counts. The last one (rightmost one) is used.
|
||||||
@@ -826,8 +799,6 @@ fourth file in the argument list. This happens when you do ":e file".
|
|||||||
|
|
||||||
LOCAL ARGUMENT LIST
|
LOCAL ARGUMENT LIST
|
||||||
|
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:arglocal*
|
*:arglocal*
|
||||||
:argl[ocal] Make a local copy of the global argument list.
|
:argl[ocal] Make a local copy of the global argument list.
|
||||||
Doesn't start editing another file.
|
Doesn't start editing another file.
|
||||||
@@ -878,7 +849,6 @@ USING THE ARGUMENT LIST
|
|||||||
autocommand event is disabled by adding it to
|
autocommand event is disabled by adding it to
|
||||||
'eventignore'. This considerably speeds up editing
|
'eventignore'. This considerably speeds up editing
|
||||||
each file.
|
each file.
|
||||||
{not in Vi}
|
|
||||||
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||||
|:cfdo| and |:lfdo|
|
|:cfdo| and |:lfdo|
|
||||||
|
|
||||||
@@ -970,12 +940,11 @@ slower (but safer).
|
|||||||
When 'filetype' is empty filetype detection is done
|
When 'filetype' is empty filetype detection is done
|
||||||
with the new name, before the file is written.
|
with the new name, before the file is written.
|
||||||
When the write was successful 'readonly' is reset.
|
When the write was successful 'readonly' is reset.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:up* *:update*
|
*:up* *:update*
|
||||||
:[range]up[date][!] [++opt] [>>] [file]
|
:[range]up[date][!] [++opt] [>>] [file]
|
||||||
Like ":write", but only write when the buffer has been
|
Like ":write", but only write when the buffer has been
|
||||||
modified. {not in Vi}
|
modified.
|
||||||
|
|
||||||
|
|
||||||
WRITING WITH MULTIPLE BUFFERS *buffer-write*
|
WRITING WITH MULTIPLE BUFFERS *buffer-write*
|
||||||
@@ -983,11 +952,11 @@ WRITING WITH MULTIPLE BUFFERS *buffer-write*
|
|||||||
*:wa* *:wall*
|
*:wa* *:wall*
|
||||||
:wa[ll] Write all changed buffers. Buffers without a file
|
:wa[ll] Write all changed buffers. Buffers without a file
|
||||||
name cause an error message. Buffers which are
|
name cause an error message. Buffers which are
|
||||||
readonly are not written. {not in Vi}
|
readonly are not written.
|
||||||
|
|
||||||
:wa[ll]! Write all changed buffers, even the ones that are
|
:wa[ll]! Write all changed buffers, even the ones that are
|
||||||
readonly. Buffers without a file name are not
|
readonly. Buffers without a file name are not
|
||||||
written and cause an error message. {not in Vi}
|
written and cause an error message.
|
||||||
|
|
||||||
|
|
||||||
Vim will warn you if you try to overwrite a file that has been changed
|
Vim will warn you if you try to overwrite a file that has been changed
|
||||||
@@ -1118,7 +1087,7 @@ The names can be in upper- or lowercase.
|
|||||||
|
|
||||||
: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
|
||||||
edited. See |:confirm| and 'confirm'. {not in Vi}
|
edited. See |:confirm| and 'confirm'.
|
||||||
|
|
||||||
:q[uit]! Quit without writing, also when the current buffer has
|
:q[uit]! Quit without writing, also when the current buffer has
|
||||||
changes. The buffer is unloaded, also when it has
|
changes. The buffer is unloaded, also when it has
|
||||||
@@ -1131,7 +1100,7 @@ The names can be in upper- or lowercase.
|
|||||||
|
|
||||||
:cq[uit] Quit always, without writing, and return an error
|
:cq[uit] Quit always, without writing, and return an error
|
||||||
code. See |:cq|. Used for Manx's QuickFix mode (see
|
code. See |:cq|. Used for Manx's QuickFix mode (see
|
||||||
|quickfix|). {not in Vi}
|
|quickfix|).
|
||||||
|
|
||||||
*:wq*
|
*:wq*
|
||||||
:wq [++opt] Write the current file and quit. Writing fails when
|
:wq [++opt] Write the current file and quit. Writing fails when
|
||||||
@@ -1169,7 +1138,7 @@ ZZ Write current file, if modified, and quit (same as
|
|||||||
|
|
||||||
*ZQ*
|
*ZQ*
|
||||||
ZQ Quit without checking for changes (same as ":q!").
|
ZQ Quit without checking for changes (same as ":q!").
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
MULTIPLE WINDOWS AND BUFFERS *window-exit*
|
MULTIPLE WINDOWS AND BUFFERS *window-exit*
|
||||||
|
|
||||||
@@ -1177,36 +1146,35 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
|
|||||||
:qa[ll] Exit Vim, unless there are some buffers which have been
|
:qa[ll] Exit Vim, unless there are some buffers which have been
|
||||||
changed. (Use ":bmod" to go to the next modified buffer).
|
changed. (Use ":bmod" to go to the next modified buffer).
|
||||||
When 'autowriteall' is set all changed buffers will be
|
When 'autowriteall' is set all changed buffers will be
|
||||||
written, like |:wqall|. {not in Vi}
|
written, like |:wqall|.
|
||||||
|
|
||||||
:conf[irm] qa[ll]
|
:conf[irm] qa[ll]
|
||||||
Exit Vim. Bring up a prompt when some buffers have been
|
Exit Vim. Bring up a prompt when some buffers have been
|
||||||
changed. See |:confirm|. {not in Vi}
|
changed. See |:confirm|.
|
||||||
|
|
||||||
:qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
|
:qa[ll]! Exit Vim. Any changes to buffers are lost.
|
||||||
Also see |:cquit|, it does the same but exits with a non-zero
|
Also see |:cquit|, it does the same but exits with a non-zero
|
||||||
value.
|
value.
|
||||||
|
|
||||||
*:quita* *:quitall*
|
*:quita* *:quitall*
|
||||||
:quita[ll][!] Same as ":qall". {not in Vi}
|
:quita[ll][!] Same as ":qall".
|
||||||
|
|
||||||
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
|
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
|
||||||
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
|
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
|
||||||
without a file name, which are readonly or which cannot be
|
without a file name, which are readonly or which cannot be
|
||||||
written for another reason, Vim will not quit. {not in Vi}
|
written for another reason, Vim will not quit.
|
||||||
|
|
||||||
:conf[irm] wqa[ll] [++opt]
|
:conf[irm] wqa[ll] [++opt]
|
||||||
:conf[irm] xa[ll]
|
:conf[irm] xa[ll]
|
||||||
Write all changed buffers and exit Vim. Bring up a prompt
|
Write all changed buffers and exit Vim. Bring up a prompt
|
||||||
when some buffers are readonly or cannot be written for
|
when some buffers are readonly or cannot be written for
|
||||||
another reason. See |:confirm|. {not in Vi}
|
another reason. See |:confirm|.
|
||||||
|
|
||||||
:wqa[ll]! [++opt]
|
:wqa[ll]! [++opt]
|
||||||
:xa[ll]! Write all changed buffers, even the ones that are readonly,
|
:xa[ll]! Write all changed buffers, even the ones that are readonly,
|
||||||
and exit Vim. If there are buffers without a file name or
|
and exit Vim. If there are buffers without a file name or
|
||||||
which cannot be written for another reason, or there is a
|
which cannot be written for another reason, or there is a
|
||||||
terminal with a running job, Vim will not quit.
|
terminal with a running job, Vim will not quit.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Dialogs *edit-dialogs*
|
6. Dialogs *edit-dialogs*
|
||||||
@@ -1304,9 +1272,10 @@ use has("browsefilter"): >
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
7. The current directory *current-directory*
|
7. The current directory *current-directory*
|
||||||
|
|
||||||
You may use the |:cd| and |:lcd| commands to change to another directory, so
|
You can use the |:cd|, |:tcd| and |:lcd| commands to change to another
|
||||||
you will not have to type that directory name in front of the file names. It
|
directory, so you will not have to type that directory name in front of the
|
||||||
also makes a difference for executing external commands, e.g. ":!ls".
|
file names. It also makes a difference for executing external commands, e.g.
|
||||||
|
":!ls".
|
||||||
|
|
||||||
Changing directory fails when the current buffer is modified, the '.' flag is
|
Changing directory fails when the current buffer is modified, the '.' flag is
|
||||||
present in 'cpoptions' and "!" is not used in the command.
|
present in 'cpoptions' and "!" is not used in the command.
|
||||||
@@ -1316,10 +1285,12 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
name. On Unix systems: Change the current directory
|
name. On Unix systems: Change the current directory
|
||||||
to the home directory. Use |:pwd| to print the
|
to the home directory. Use |:pwd| to print the
|
||||||
current directory on all systems.
|
current directory on all systems.
|
||||||
|
On Unix systems: clear any window-local directory.
|
||||||
|
|
||||||
:cd[!] {path} Change the current directory to {path}.
|
:cd[!] {path} Change the current directory to {path}.
|
||||||
If {path} is relative, it is searched for in the
|
If {path} is relative, it is searched for in the
|
||||||
directories listed in |'cdpath'|.
|
directories listed in |'cdpath'|.
|
||||||
|
Clear any window-local directory.
|
||||||
Does not change the meaning of an already opened file,
|
Does not change the meaning of an already opened file,
|
||||||
because its full path name is remembered. Files from
|
because its full path name is remembered. Files from
|
||||||
the |arglist| may change though!
|
the |arglist| may change though!
|
||||||
@@ -1329,36 +1300,54 @@ present in 'cpoptions' and "!" is not used in the command.
|
|||||||
<
|
<
|
||||||
*:cd-* *E186*
|
*:cd-* *E186*
|
||||||
:cd[!] - Change to the previous current directory (before the
|
:cd[!] - Change to the previous current directory (before the
|
||||||
previous ":cd {path}" command). {not in Vi}
|
previous ":cd {path}" command).
|
||||||
|
|
||||||
*:chd* *:chdir*
|
*:chd* *:chdir*
|
||||||
:chd[ir][!] [path] Same as |:cd|.
|
:chd[ir][!] [path] Same as |:cd|.
|
||||||
|
|
||||||
|
*:tcd*
|
||||||
|
:tcd[!] {path} Like |:cd|, but only set the directory for the current
|
||||||
|
tab. The current window will also use this directory.
|
||||||
|
The current directory is not changed for windows in
|
||||||
|
other tabs and for windows in the current tab that
|
||||||
|
have their own window-local directory.
|
||||||
|
|
||||||
|
*:tch* *:tchdir*
|
||||||
|
:tch[dir][!] Same as |:tcd|.
|
||||||
|
|
||||||
*:lc* *:lcd*
|
*:lc* *:lcd*
|
||||||
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||||
the cursor is in the current window. The current
|
the cursor is in the current window. The current
|
||||||
directory for other windows is not changed, switching
|
directory for other windows is not changed, switching
|
||||||
to another window will stop using {path}.
|
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|.
|
||||||
|
|
||||||
*:pw* *:pwd* *E187*
|
*:pw* *:pwd* *E187*
|
||||||
:pw[d] Print the current directory name. {Vi: no pwd}
|
:pw[d] Print the current directory name.
|
||||||
Also see |getcwd()|.
|
Also see |getcwd()|.
|
||||||
|
|
||||||
So long as no |:lcd| command has been used, all windows share the same current
|
So long as no |:lcd| or |:tcd| command has been used, all windows share the
|
||||||
directory. Using a command to jump to another window doesn't change anything
|
same current directory. Using a command to jump to another window doesn't
|
||||||
for the current directory.
|
change anything for the current directory.
|
||||||
|
|
||||||
When a |:lcd| command has been used for a window, the specified directory
|
When a |:lcd| command has been used for a window, the specified directory
|
||||||
becomes the current directory for that window. Windows where the |:lcd|
|
becomes the current directory for that window. Windows where the |:lcd|
|
||||||
command has not been used stick to the global current directory. When jumping
|
command has not been used stick to the global or tab-local current directory.
|
||||||
to another window the current directory will become the last specified local
|
When jumping to another window the current directory will become the last
|
||||||
current directory. If none was specified, the global current directory is
|
specified local current directory. If none was specified, the global or
|
||||||
used.
|
tab-local current directory is used.
|
||||||
When a |:cd| command is used, the current window will lose his local current
|
|
||||||
directory and will use the global current directory from now on.
|
When a |:tcd| command has been used for a tab page, the specified directory
|
||||||
|
becomes the current directory for the current tab page and the current window.
|
||||||
|
The current directory of other tab pages is not affected. When jumping to
|
||||||
|
another tab page, the current directory will become the last specified local
|
||||||
|
directory for that tab page. If the current tab has no local current directory
|
||||||
|
the global current directory is used.
|
||||||
|
|
||||||
|
When a |:cd| command is used, the current window and tab page will lose the
|
||||||
|
local current directory and will use the global current directory from now on.
|
||||||
|
|
||||||
After using |:cd| the full path name will be used for reading and writing
|
After using |:cd| the full path name will be used for reading and writing
|
||||||
files. On some networked file systems this may cause problems. The result of
|
files. On some networked file systems this may cause problems. The result of
|
||||||
@@ -1395,8 +1384,7 @@ There are a few things to remember when editing binary files:
|
|||||||
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
|
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
|
||||||
and when the file is written the <NL> will be replaced with <CR> <NL>.
|
and when the file is written the <NL> will be replaced with <CR> <NL>.
|
||||||
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
- <Nul> characters are shown on the screen as ^@. You can enter them with
|
||||||
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
|
"CTRL-V CTRL-@" or "CTRL-V 000"
|
||||||
file}
|
|
||||||
- To insert a <NL> character in the file split a line. When writing the
|
- To insert a <NL> character in the file split a line. When writing the
|
||||||
buffer to a file a <NL> will be written for the <EOL>.
|
buffer to a file a <NL> will be written for the <EOL>.
|
||||||
- Vim normally appends an <EOL> at the end of the file if there is none.
|
- Vim normally appends an <EOL> at the end of the file if there is none.
|
||||||
|
|||||||
2623
runtime/doc/eval.txt
2623
runtime/doc/eval.txt
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
*farsi.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||||
@@ -6,7 +6,6 @@
|
|||||||
|
|
||||||
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
|
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
*E27*
|
*E27*
|
||||||
Farsi support has been removed in patch 8.1.0932. At that time it was
|
Farsi support has been removed in patch 8.1.0932. At that time it was
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
|
*filetype.txt* For Vim version 8.1. Last change: 2019 Jul 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -12,7 +12,6 @@ Filetypes *filetype* *file-type*
|
|||||||
|
|
||||||
Also see |autocmd.txt|.
|
Also see |autocmd.txt|.
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Filetypes *filetypes* *file-types*
|
1. Filetypes *filetypes* *file-types*
|
||||||
@@ -643,6 +642,16 @@ To disable this behavior, set the following variable in your vimrc: >
|
|||||||
let g:python_recommended_style = 0
|
let g:python_recommended_style = 0
|
||||||
|
|
||||||
|
|
||||||
|
QF QUICKFIX *qf.vim* *ft-qf-plugin*
|
||||||
|
|
||||||
|
The "qf" filetype is used for the quickfix window, see |quickfix-window|.
|
||||||
|
|
||||||
|
The quickfix filetype plugin includes configuration for displaying the command
|
||||||
|
that produced the quickfix list in the |status-line|. To disable this setting,
|
||||||
|
configure as follows: >
|
||||||
|
:let g:qf_disable_statusline = 1
|
||||||
|
|
||||||
|
|
||||||
R MARKDOWN *ft-rmd-plugin*
|
R MARKDOWN *ft-rmd-plugin*
|
||||||
|
|
||||||
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
|
By default ftplugin/html.vim is not sourced. If you want it sourced, add to
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
|
*fold.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -14,7 +14,6 @@ You can find an introduction on folding in chapter 28 of the user manual.
|
|||||||
3. Fold options |fold-options|
|
3. Fold options |fold-options|
|
||||||
4. Behavior of folds |fold-behavior|
|
4. Behavior of folds |fold-behavior|
|
||||||
|
|
||||||
{Vi has no Folding}
|
|
||||||
{not available when compiled without the |+folding| feature}
|
{not available when compiled without the |+folding| feature}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -442,7 +441,7 @@ zk Move upwards to the end of the previous fold. A closed fold
|
|||||||
|
|
||||||
EXECUTING COMMANDS ON FOLDS ~
|
EXECUTING COMMANDS ON FOLDS ~
|
||||||
|
|
||||||
:[range]foldd[oopen] {cmd} *:foldd* *:folddoopen*
|
:[range]foldd[oopen] {cmd} *:foldd* *:folddo* *:folddoopen*
|
||||||
Execute {cmd} on all lines that are not in a closed fold.
|
Execute {cmd} on all lines that are not in a closed fold.
|
||||||
When [range] is given, only these lines are used.
|
When [range] is given, only these lines are used.
|
||||||
Each time {cmd} is executed the cursor is positioned on the
|
Each time {cmd} is executed the cursor is positioned on the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.1. Last change: 2019 Jan 06
|
*gui.txt* For Vim version 8.1. Last change: 2019 May 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11,14 +11,14 @@ Vim's Graphical User Interface *gui* *GUI*
|
|||||||
3. Mouse Control |gui-mouse|
|
3. Mouse Control |gui-mouse|
|
||||||
4. Making GUI Selections |gui-selections|
|
4. Making GUI Selections |gui-selections|
|
||||||
5. Menus |menus|
|
5. Menus |menus|
|
||||||
6. Extras |gui-extras|
|
6. Font |gui-font|
|
||||||
7. Shell Commands |gui-shell|
|
7. Extras |gui-extras|
|
||||||
|
8. Shell Commands |gui-shell|
|
||||||
|
|
||||||
Other GUI documentation:
|
Other GUI documentation:
|
||||||
|gui_x11.txt| For specific items of the X11 GUI.
|
|gui_x11.txt| For specific items of the X11 GUI.
|
||||||
|gui_w32.txt| For specific items of the Win32 GUI.
|
|gui_w32.txt| For specific items of the Win32 GUI.
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting the GUI *gui-start* *E229* *E233*
|
1. Starting the GUI *gui-start* *E229* *E233*
|
||||||
@@ -1037,7 +1037,136 @@ make a selection.
|
|||||||
Note that a menu that starts with ']' will not be displayed.
|
Note that a menu that starts with ']' will not be displayed.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Extras *gui-extras*
|
6. Font
|
||||||
|
|
||||||
|
This section describes font related options.
|
||||||
|
|
||||||
|
GUIFONT *gui-font*
|
||||||
|
|
||||||
|
'guifont' is the option that tells Vim what font to use. In its simplest form
|
||||||
|
the value is just one font name. It can also be a list of font names
|
||||||
|
separated with commas. The first valid font is used. When no valid font can
|
||||||
|
be found you will get an error message.
|
||||||
|
|
||||||
|
On systems where 'guifontset' is supported (X11) and 'guifontset' is not
|
||||||
|
empty, then 'guifont' is not used. See |xfontset|.
|
||||||
|
|
||||||
|
Note: As to the GTK GUIs, no error is given against any invalid names, and the
|
||||||
|
first element of the list is always picked up and made use of. This is
|
||||||
|
because, instead of identifying a given name with a font, the GTK GUIs use it
|
||||||
|
to construct a pattern and try to look up a font which best matches the
|
||||||
|
pattern among available fonts, and this way, the matching never fails. An
|
||||||
|
invalid name doesn't matter because a number of font properties other than
|
||||||
|
name will do to get the matching done.
|
||||||
|
|
||||||
|
Spaces after a comma are ignored. To include a comma in a font name precede
|
||||||
|
it with a backslash. Setting an option requires an extra backslash before a
|
||||||
|
space and a backslash. See also |option-backslash|. For example: >
|
||||||
|
:set guifont=Screen15,\ 7x13,font\\,with\\,commas
|
||||||
|
will make Vim try to use the font "Screen15" first, and if it fails it will
|
||||||
|
try to use "7x13" and then "font,with,commas" instead.
|
||||||
|
|
||||||
|
If none of the fonts can be loaded, Vim will keep the current setting. If an
|
||||||
|
empty font list is given, Vim will try using other resource settings (for X,
|
||||||
|
it will use the Vim.font resource), and finally it will try some builtin
|
||||||
|
default which should always be there ("7x13" in the case of X). The font
|
||||||
|
names given should be "normal" fonts. Vim will try to find the related bold
|
||||||
|
and italic fonts.
|
||||||
|
|
||||||
|
For Win32, GTK, Motif, Mac OS and Photon: >
|
||||||
|
:set guifont=*
|
||||||
|
will bring up a font requester, where you can pick the font you want.
|
||||||
|
|
||||||
|
The font name depends on the GUI used. See |setting-guifont| for a way to set
|
||||||
|
'guifont' for various systems.
|
||||||
|
|
||||||
|
For the GTK+ 2 and 3 GUIs, the font name looks like this: >
|
||||||
|
:set guifont=Andale\ Mono\ 11
|
||||||
|
That's all. XLFDs are not used. For Chinese this is reported to work well: >
|
||||||
|
if has("gui_gtk2")
|
||||||
|
set guifont=Bitstream\ Vera\ Sans\ Mono\ 12,Fixed\ 12
|
||||||
|
set guifontwide=Microsoft\ Yahei\ 12,WenQuanYi\ Zen\ Hei\ 12
|
||||||
|
endif
|
||||||
|
<
|
||||||
|
(Replace gui_gtk2 with gui_gtk3 for the GTK+ 3 GUI)
|
||||||
|
|
||||||
|
For Mac OSX you can use something like this: >
|
||||||
|
:set guifont=Monaco:h10
|
||||||
|
Also see 'macatsui', it can help fix display problems.
|
||||||
|
*E236*
|
||||||
|
Note that the fonts must be mono-spaced (all characters have the same width).
|
||||||
|
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
|
||||||
|
|
||||||
|
To preview a font on X11, you might be able to use the "xfontsel" program.
|
||||||
|
The "xlsfonts" program gives a list of all available fonts.
|
||||||
|
|
||||||
|
For the Win32 GUI *E244* *E245*
|
||||||
|
- Takes these options in the font name (use a ':' to separate the options):
|
||||||
|
hXX - height is XX (points, can be floating-point)
|
||||||
|
wXX - width is XX (points, can be floating-point)
|
||||||
|
WXX - weight is XX (see Note on Weights below)
|
||||||
|
b - bold. This is equivalent to setting the weight to 700.
|
||||||
|
i - italic
|
||||||
|
u - underline
|
||||||
|
s - strikeout
|
||||||
|
cXX - character set XX. Valid charsets are: ANSI, ARABIC, BALTIC,
|
||||||
|
CHINESEBIG5, DEFAULT, EASTEUROPE, GB2312, GREEK, HANGEUL,
|
||||||
|
HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS, SYMBOL, THAI,
|
||||||
|
TURKISH and VIETNAMESE. Normally you would use "cDEFAULT".
|
||||||
|
qXX - quality XX. Valid quality names are: PROOF, DRAFT, ANTIALIASED,
|
||||||
|
NONANTIALIASED, CLEARTYPE and DEFAULT. Normally you would use
|
||||||
|
"qDEFAULT".
|
||||||
|
Some quality values are not supported in legacy OSs.
|
||||||
|
- A '_' can be used in the place of a space, so you don't need to use
|
||||||
|
backslashes to escape the spaces.
|
||||||
|
Examples: >
|
||||||
|
:set guifont=courier_new:h12:w5:b:cRUSSIAN
|
||||||
|
:set guifont=Andale_Mono:h7.5:w4.5
|
||||||
|
|
||||||
|
See also |font-sizes|.
|
||||||
|
|
||||||
|
Note on Weights: Fonts often come with a variety of weights. "Normal" weights
|
||||||
|
in Windows have a value of 400 and, left unspecified, this is the value that
|
||||||
|
will be used when attempting to find fonts. Windows will often match fonts
|
||||||
|
based on their weight with higher priority than the font name which means a
|
||||||
|
Book or Medium variant of a font might be used despite specifying a Light or
|
||||||
|
ExtraLight variant. If you are experiencing heavier weight substitution, then
|
||||||
|
explicitly setting a lower weight value may mitigate against this unwanted
|
||||||
|
substitution.
|
||||||
|
|
||||||
|
|
||||||
|
GUIFONTWIDE *gui-fontwide*
|
||||||
|
|
||||||
|
When not empty, 'guifontwide' specifies a comma-separated list of fonts to be
|
||||||
|
used for double-width characters. The first font that can be loaded is used.
|
||||||
|
|
||||||
|
Note: The size of these fonts must be exactly twice as wide as the one
|
||||||
|
specified with 'guifont' and the same height. If there is a mismatch then the
|
||||||
|
text will not be drawn correctly.
|
||||||
|
|
||||||
|
All GUI versions but GTK+:
|
||||||
|
|
||||||
|
'guifontwide' is only used when 'encoding' is set to "utf-8" and 'guifontset'
|
||||||
|
is empty or invalid.
|
||||||
|
When 'guifont' is set and a valid font is found in it and 'guifontwide' is
|
||||||
|
empty Vim will attempt to find a matching double-width font and set
|
||||||
|
'guifontwide' to it.
|
||||||
|
|
||||||
|
GTK+ GUI only: *guifontwide_gtk*
|
||||||
|
|
||||||
|
If set and valid, 'guifontwide' is always used for double width characters,
|
||||||
|
even if 'encoding' is not set to "utf-8".
|
||||||
|
Vim does not attempt to find an appropriate value for 'guifontwide'
|
||||||
|
automatically. If 'guifontwide' is empty Pango/Xft will choose the font for
|
||||||
|
characters not available in 'guifont'. Thus you do not need to set
|
||||||
|
'guifontwide' at all unless you want to override the choice made by Pango/Xft.
|
||||||
|
|
||||||
|
Windows +multibyte only: *guifontwide_win_mbyte*
|
||||||
|
|
||||||
|
If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
7. Extras *gui-extras*
|
||||||
|
|
||||||
This section describes other features which are related to the GUI.
|
This section describes other features which are related to the GUI.
|
||||||
|
|
||||||
@@ -1049,7 +1178,8 @@ This section describes other features which are related to the GUI.
|
|||||||
get "<Modifiers-Key>".
|
get "<Modifiers-Key>".
|
||||||
|
|
||||||
- In the GUI, the modifiers SHIFT, CTRL, and ALT (or META) may be used within
|
- In the GUI, the modifiers SHIFT, CTRL, and ALT (or META) may be used within
|
||||||
mappings of special keys and mouse events. E.g.: :map <M-LeftDrag> <LeftDrag>
|
mappings of special keys and mouse events.
|
||||||
|
E.g.: :map <M-LeftDrag> <LeftDrag>
|
||||||
|
|
||||||
- In the GUI, several normal keys may have modifiers in mappings etc, these
|
- In the GUI, several normal keys may have modifiers in mappings etc, these
|
||||||
are <Space>, <Tab>, <NL>, <CR>, <Esc>.
|
are <Space>, <Tab>, <NL>, <CR>, <Esc>.
|
||||||
@@ -1081,13 +1211,13 @@ A recommended Japanese font is MS Mincho. You can find info here:
|
|||||||
http://www.lexikan.com/mincho.htm
|
http://www.lexikan.com/mincho.htm
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
7. Shell Commands *gui-shell*
|
8. Shell Commands *gui-shell*
|
||||||
|
|
||||||
For the X11 GUI the external commands are executed inside the gvim window.
|
For the X11 GUI the external commands are executed inside the gvim window.
|
||||||
See |gui-pty|.
|
See |gui-pty|.
|
||||||
|
|
||||||
WARNING: Executing an external command from the X11 GUI will not always
|
WARNING: Executing an external command from the X11 GUI will not always work.
|
||||||
work. "normal" commands like "ls", "grep" and "make" mostly work fine.
|
"normal" commands like "ls", "grep" and "make" mostly work fine.
|
||||||
Commands that require an intelligent terminal like "less" and "ispell" won't
|
Commands that require an intelligent terminal like "less" and "ispell" won't
|
||||||
work. Some may even hang and need to be killed from another terminal. So be
|
work. Some may even hang and need to be killed from another terminal. So be
|
||||||
careful!
|
careful!
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
|
*gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -19,7 +19,6 @@ Other relevant documentation:
|
|||||||
|gui.txt| For generic items of the GUI.
|
|gui.txt| For generic items of the GUI.
|
||||||
|os_win32.txt| For Win32 specific items.
|
|os_win32.txt| For Win32 specific items.
|
||||||
|
|
||||||
{Vi does not have a Windows GUI}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting the GUI *gui-w32-start*
|
1. Starting the GUI *gui-w32-start*
|
||||||
@@ -31,6 +30,17 @@ The GUI will always run in the Windows subsystem. Mostly shells automatically
|
|||||||
return with a command prompt after starting gvim. If not, you should use the
|
return with a command prompt after starting gvim. If not, you should use the
|
||||||
"start" command: >
|
"start" command: >
|
||||||
start gvim [options] file ..
|
start gvim [options] file ..
|
||||||
|
< *E988*
|
||||||
|
The console version with the |-g| option may also start the GUI by executing
|
||||||
|
gvim.exe: >
|
||||||
|
vim -g [options] file ..
|
||||||
|
To make this work, gvim.exe must exist in the same directory as the vim.exe,
|
||||||
|
and this feature must be enabled at compile time.
|
||||||
|
|
||||||
|
One may also use `:gui` from the console version. However, this is an
|
||||||
|
experimental feature and this feature must be enabled at compile time.
|
||||||
|
It uses a session file to recreate the current state of the console Vim in the
|
||||||
|
GUI Vim.
|
||||||
|
|
||||||
Note: All fonts (bold, italic) must be of the same size!!! If you don't do
|
Note: All fonts (bold, italic) must be of the same size!!! If you don't do
|
||||||
this, text will disappear or mess up the display. Vim does not check the font
|
this, text will disappear or mess up the display. Vim does not check the font
|
||||||
@@ -403,7 +413,7 @@ be opened as normal. See |drag-n-drop|.
|
|||||||
|
|
||||||
*:simalt* *:sim*
|
*:simalt* *:sim*
|
||||||
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
|
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
|
||||||
{not in Vi} {only for Win32 versions}
|
{only for Win32 versions}
|
||||||
Note: ":si" means ":s" with the "i" flag.
|
Note: ":si" means ":s" with the "i" flag.
|
||||||
|
|
||||||
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
|
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
|
*gui_x11.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -19,7 +19,6 @@ Vim's Graphical User Interface *gui-x11* *GUI-X11*
|
|||||||
Other relevant documentation:
|
Other relevant documentation:
|
||||||
|gui.txt| For generic items of the GUI.
|
|gui.txt| For generic items of the GUI.
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting the X11 GUI *gui-x11-start* *E665*
|
1. Starting the X11 GUI *gui-x11-start* *E665*
|
||||||
@@ -48,7 +47,7 @@ that waits for gvim to exit), start gvim with "gvim -f", "vim -gf" or use
|
|||||||
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
|
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
|
||||||
color.
|
color.
|
||||||
|
|
||||||
When using "gvim -f" and then ":gui", Vim will run in the foreground. The
|
When using "vim -f" and then ":gui", Vim will run in the foreground. The
|
||||||
"-f" argument will be remembered. To force running Vim in the background use
|
"-f" argument will be remembered. To force running Vim in the background use
|
||||||
":gui -b".
|
":gui -b".
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
|
*hebrew.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
||||||
@@ -10,10 +10,7 @@ The supporting 'rightleft' functionality was originally created by Avner
|
|||||||
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
|
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
|
||||||
currently helping support these features.
|
currently helping support these features.
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{only available when the |+rightleft| feature was enabled at compile time}
|
||||||
|
|
||||||
All this is only available when the |+rightleft| feature was enabled at
|
|
||||||
compile time.
|
|
||||||
|
|
||||||
|
|
||||||
Introduction
|
Introduction
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
*help.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -139,10 +139,12 @@ Advanced editing ~
|
|||||||
|fold.txt| hide (fold) ranges of lines
|
|fold.txt| hide (fold) ranges of lines
|
||||||
|
|
||||||
Special issues ~
|
Special issues ~
|
||||||
|
|testing.txt| testing Vim and Vim scripts
|
||||||
|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
|
|terminal.txt| Terminal window support
|
||||||
|
|popup.txt| popop window support
|
||||||
|
|
||||||
Programming language support ~
|
Programming language support ~
|
||||||
|indent.txt| automatic indenting for C and other languages
|
|indent.txt| automatic indenting for C and other languages
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
|
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -24,7 +24,6 @@ Help on help files *helphelp*
|
|||||||
the very top.
|
the very top.
|
||||||
The 'helplang' option is used to select a language, if
|
The 'helplang' option is used to select a language, if
|
||||||
the main help file is available in several languages.
|
the main help file is available in several languages.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*{subject}* *E149* *E661*
|
*{subject}* *E149* *E661*
|
||||||
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
|
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
|
||||||
@@ -97,7 +96,6 @@ Help on help files *helphelp*
|
|||||||
command from a following command. You need to type
|
command from a following command. You need to type
|
||||||
CTRL-V first to insert the <LF> or <CR>. Example: >
|
CTRL-V first to insert the <LF> or <CR>. Example: >
|
||||||
:help so<C-V><CR>only
|
:help so<C-V><CR>only
|
||||||
< {not in Vi}
|
|
||||||
|
|
||||||
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
|
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
|
||||||
find a tag in a file with the same language as the
|
find a tag in a file with the same language as the
|
||||||
@@ -133,7 +131,6 @@ Help on help files *helphelp*
|
|||||||
|:execute| when needed.
|
|:execute| when needed.
|
||||||
Compressed help files will not be searched (Fedora
|
Compressed help files will not be searched (Fedora
|
||||||
compresses the help files).
|
compresses the help files).
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:lh* *:lhelpgrep*
|
*:lh* *:lhelpgrep*
|
||||||
:lh[elpgrep] {pattern}[@xx]
|
:lh[elpgrep] {pattern}[@xx]
|
||||||
@@ -147,11 +144,11 @@ Help on help files *helphelp*
|
|||||||
|
|
||||||
*:exu* *:exusage*
|
*:exu* *:exusage*
|
||||||
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
|
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
*:viu* *:viusage*
|
*:viu* *:viusage*
|
||||||
:viu[sage] Show help on Normal mode commands. Added to simulate
|
:viu[sage] Show help on Normal mode commands. Added to simulate
|
||||||
the Nvi command. {not in Vi}
|
the Nvi command.
|
||||||
|
|
||||||
When no argument is given to |:help| the file given with the 'helpfile' option
|
When no argument is given to |:help| the file given with the 'helpfile' option
|
||||||
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
|
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
|
||||||
@@ -199,7 +196,6 @@ command: >
|
|||||||
Only for backwards compatibility. It now executes the
|
Only for backwards compatibility. It now executes the
|
||||||
ToolBar.FindHelp menu entry instead of using a builtin
|
ToolBar.FindHelp menu entry instead of using a builtin
|
||||||
dialog. {only when compiled with |+GUI_GTK|}
|
dialog. {only when compiled with |+GUI_GTK|}
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:helpt* *:helptags*
|
*:helpt* *:helptags*
|
||||||
*E154* *E150* *E151* *E152* *E153* *E670*
|
*E154* *E150* *E151* *E152* *E153* *E670*
|
||||||
@@ -224,8 +220,6 @@ command: >
|
|||||||
To rebuild the help tags in the runtime directory
|
To rebuild the help tags in the runtime directory
|
||||||
(requires write permission there): >
|
(requires write permission there): >
|
||||||
:helptags $VIMRUNTIME/doc
|
:helptags $VIMRUNTIME/doc
|
||||||
< {not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Translated help files *help-translated*
|
2. Translated help files *help-translated*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
|
*if_cscop.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -21,7 +21,6 @@ functions as you normally would with |tags|.
|
|||||||
7. Availability & Information |cscope-info|
|
7. Availability & Information |cscope-info|
|
||||||
|
|
||||||
This is currently for Unix and Win32 only.
|
This is currently for Unix and Win32 only.
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Cscope introduction *cscope-intro*
|
1. Cscope introduction *cscope-intro*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
|
*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Luis Carvalho
|
VIM REFERENCE MANUAL by Luis Carvalho
|
||||||
@@ -10,23 +10,21 @@ The Lua Interface to Vim *lua* *Lua*
|
|||||||
2. The vim module |lua-vim|
|
2. The vim module |lua-vim|
|
||||||
3. List userdata |lua-list|
|
3. List userdata |lua-list|
|
||||||
4. Dict userdata |lua-dict|
|
4. Dict userdata |lua-dict|
|
||||||
5. Funcref userdata |lua-funcref|
|
5. Blob userdata |lua-blob|
|
||||||
6. Buffer userdata |lua-buffer|
|
6. Funcref userdata |lua-funcref|
|
||||||
7. Window userdata |lua-window|
|
7. Buffer userdata |lua-buffer|
|
||||||
8. The luaeval function |lua-luaeval|
|
8. Window userdata |lua-window|
|
||||||
9. Dynamic loading |lua-dynamic|
|
9. luaeval() Vim function |lua-luaeval|
|
||||||
|
10. Dynamic loading |lua-dynamic|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{only available when Vim was compiled with the |+lua| feature}
|
||||||
|
|
||||||
The Lua interface is available only when Vim was compiled with the
|
|
||||||
|+lua| feature.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Commands *lua-commands*
|
1. Commands *lua-commands*
|
||||||
|
|
||||||
*:lua*
|
*:lua*
|
||||||
:[range]lua {chunk}
|
:[range]lua {chunk}
|
||||||
Execute Lua chunk {chunk}. {not in Vi}
|
Execute Lua chunk {chunk}.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
>
|
>
|
||||||
@@ -34,17 +32,19 @@ Examples:
|
|||||||
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
|
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
|
||||||
<
|
<
|
||||||
|
|
||||||
:[range]lua << {endmarker}
|
:[range]lua << [endmarker]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Lua script {script}. {not in Vi}
|
Execute Lua script {script}.
|
||||||
Note: This command doesn't work when the Lua
|
Note: This command doesn't work when the Lua
|
||||||
feature wasn't compiled in. To avoid errors, see
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
{endmarker} must NOT be preceded by any white space. If {endmarker} is
|
The {endmarker} must NOT be preceded by any white space.
|
||||||
omitted from after the "<<", a dot '.' must be used after {script}, like
|
|
||||||
for the |:append| and |:insert| commands.
|
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||||
|
{script}, like for the |:append| and |:insert| commands.
|
||||||
|
|
||||||
This form of the |:lua| command is mainly useful for including Lua code
|
This form of the |:lua| command is mainly useful for including Lua code
|
||||||
in Vim scripts.
|
in Vim scripts.
|
||||||
|
|
||||||
@@ -74,7 +74,6 @@ If you use LuaJIT you can also use this: >
|
|||||||
If the value returned by the function is a string it
|
If the value returned by the function is a string it
|
||||||
becomes the text of the line in the current turn. The
|
becomes the text of the line in the current turn. The
|
||||||
default for [range] is the whole file: "1,$".
|
default for [range] is the whole file: "1,$".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
>
|
>
|
||||||
@@ -88,7 +87,7 @@ Examples:
|
|||||||
|
|
||||||
*:luafile*
|
*:luafile*
|
||||||
:[range]luafile {file}
|
:[range]luafile {file}
|
||||||
Execute Lua script in {file}. {not in Vi}
|
Execute Lua script in {file}.
|
||||||
The whole argument is used as a single file name.
|
The whole argument is used as a single file name.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
@@ -140,6 +139,14 @@ Vim evaluation and command execution, and others.
|
|||||||
:echo luaeval('vim.dict(t)')
|
:echo luaeval('vim.dict(t)')
|
||||||
:" {'1': 3.141593, '2': v:false,
|
:" {'1': 3.141593, '2': v:false,
|
||||||
:" 'say': 'hi'}
|
:" 'say': 'hi'}
|
||||||
|
<
|
||||||
|
vim.blob([arg]) Returns an empty blob or, if "arg" is a Lua
|
||||||
|
string, returns a blob b such that b is
|
||||||
|
equivalent to "arg" as a byte string.
|
||||||
|
Examples: >
|
||||||
|
:lua s = "12ab\x00\x80\xfe\xff"
|
||||||
|
:echo luaeval('vim.blob(s)')
|
||||||
|
:" 0z31326162.0080FEFF
|
||||||
<
|
<
|
||||||
vim.funcref({name}) Returns a Funcref to function {name} (see
|
vim.funcref({name}) Returns a Funcref to function {name} (see
|
||||||
|Funcref|). It is equivalent to Vim's
|
|Funcref|). It is equivalent to Vim's
|
||||||
@@ -260,7 +267,34 @@ Examples:
|
|||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Funcref userdata *lua-funcref*
|
5. Blob userdata *lua-blob*
|
||||||
|
|
||||||
|
Blob userdata represent vim blobs. A blob "b" has the following properties:
|
||||||
|
|
||||||
|
Properties
|
||||||
|
----------
|
||||||
|
o "#b" is the length of blob "b", equivalent to "len(b)" in Vim.
|
||||||
|
o "b[k]" returns the k-th item in "b"; "b" is zero-indexed, as in Vim.
|
||||||
|
To modify the k-th item, simply do "b[k] = number"; in particular,
|
||||||
|
"b[#b] = number" can append a byte to tail.
|
||||||
|
|
||||||
|
Methods
|
||||||
|
-------
|
||||||
|
o "b:add(bytes)" appends "bytes" to the end of "b".
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
>
|
||||||
|
:let b = 0z001122
|
||||||
|
:lua b = vim.eval('b') -- same 'b'
|
||||||
|
:lua print(b, b[0], #b)
|
||||||
|
:lua b[1] = 32
|
||||||
|
:lua b[#b] = 0x33 -- append a byte to tail
|
||||||
|
:lua b:add("\x80\x81\xfe\xff")
|
||||||
|
:echo b
|
||||||
|
<
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
6. Funcref userdata *lua-funcref*
|
||||||
|
|
||||||
Funcref userdata represent funcref variables in Vim. Funcrefs that were
|
Funcref userdata represent funcref variables in Vim. Funcrefs that were
|
||||||
defined with a "dict" attribute need to be obtained as a dictionary key
|
defined with a "dict" attribute need to be obtained as a dictionary key
|
||||||
@@ -293,7 +327,7 @@ Examples:
|
|||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Buffer userdata *lua-buffer*
|
7. Buffer userdata *lua-buffer*
|
||||||
|
|
||||||
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
|
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
|
||||||
properties and methods:
|
properties and methods:
|
||||||
@@ -345,7 +379,7 @@ Examples:
|
|||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
7. Window userdata *lua-window*
|
8. Window userdata *lua-window*
|
||||||
|
|
||||||
Window objects represent vim windows. A window userdata "w" has the following
|
Window objects represent vim windows. A window userdata "w" has the following
|
||||||
properties and methods:
|
properties and methods:
|
||||||
@@ -377,7 +411,7 @@ Examples:
|
|||||||
<
|
<
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. The luaeval function *lua-luaeval* *lua-eval*
|
9. luaeval() Vim function *lua-luaeval* *lua-eval*
|
||||||
|
|
||||||
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
|
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
|
||||||
"luaeval". "luaeval" takes an expression string and an optional argument and
|
"luaeval". "luaeval" takes an expression string and an optional argument and
|
||||||
@@ -390,10 +424,10 @@ returns the result of the expression. It is semantically equivalent in Lua to:
|
|||||||
end
|
end
|
||||||
<
|
<
|
||||||
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
|
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
|
||||||
list, dict, and funcref userdata are converted to their Vim respective types,
|
list, dict, blob, and funcref userdata are converted to their Vim respective
|
||||||
while Lua booleans are converted to numbers. An error is thrown if conversion
|
types, while Lua booleans are converted to numbers. An error is thrown if
|
||||||
of any of the remaining Lua types, including userdata other than lists, dicts,
|
conversion of any of the remaining Lua types, including userdata other than
|
||||||
and funcrefs, is attempted.
|
lists, dicts, blobs, and funcrefs, is attempted.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
|
|
||||||
@@ -408,7 +442,7 @@ Examples: >
|
|||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
9. Dynamic loading *lua-dynamic*
|
10. Dynamic loading *lua-dynamic*
|
||||||
|
|
||||||
On MS-Windows and Unix the Lua library can be loaded dynamically. The
|
On MS-Windows and Unix the Lua library can be loaded dynamically. The
|
||||||
|:version| output then includes |+lua/dyn|.
|
|:version| output then includes |+lua/dyn|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
|
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@@ -15,10 +15,7 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
|
|||||||
7. Dynamic loading |mzscheme-dynamic|
|
7. Dynamic loading |mzscheme-dynamic|
|
||||||
8. MzScheme setup |mzscheme-setup|
|
8. MzScheme setup |mzscheme-setup|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{only available when Vim was compiled with the |+mzscheme| feature}
|
||||||
|
|
||||||
The MzScheme interface is available only if Vim was compiled with the
|
|
||||||
|+mzscheme| feature.
|
|
||||||
|
|
||||||
Based on the work of Brent Fulgham.
|
Based on the work of Brent Fulgham.
|
||||||
Dynamic loading added by Sergey Khorev
|
Dynamic loading added by Sergey Khorev
|
||||||
@@ -40,9 +37,9 @@ To speed up the process, you might also want to use --disable-gracket and
|
|||||||
|
|
||||||
*:mzscheme* *:mz*
|
*:mzscheme* *:mz*
|
||||||
:[range]mz[scheme] {stmt}
|
:[range]mz[scheme] {stmt}
|
||||||
Execute MzScheme statement {stmt}. {not in Vi}
|
Execute MzScheme statement {stmt}.
|
||||||
|
|
||||||
:[range]mz[scheme] << {endmarker}
|
:[range]mz[scheme] << [endmarker]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute inlined MzScheme script {script}.
|
Execute inlined MzScheme script {script}.
|
||||||
@@ -50,8 +47,15 @@ To speed up the process, you might also want to use --disable-gracket and
|
|||||||
feature wasn't compiled in. To avoid errors, see
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
|
The {endmarker} below the {script} must NOT be
|
||||||
|
preceded by any white space.
|
||||||
|
|
||||||
|
If [endmarker] is omitted from after the "<<", a dot
|
||||||
|
'.' must be used after {script}, like for the
|
||||||
|
|:append| and |:insert| commands.
|
||||||
|
|
||||||
*:mzfile* *:mzf*
|
*:mzfile* *:mzf*
|
||||||
:[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi}
|
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
|
||||||
|
|
||||||
All of these commands do essentially the same thing - they execute a piece of
|
All of these commands do essentially the same thing - they execute a piece of
|
||||||
MzScheme code, with the "current range" set to the given line
|
MzScheme code, with the "current range" set to the given line
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
|
*if_ole.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -12,10 +12,8 @@ The OLE Interface to Vim *ole-interface*
|
|||||||
4. Registration |ole-registration|
|
4. Registration |ole-registration|
|
||||||
5. MS Visual Studio integration |MSVisualStudio|
|
5. MS Visual Studio integration |MSVisualStudio|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{only available when compiled with the |+ole| feature. See
|
||||||
|
src/if_ole.INSTALL}
|
||||||
OLE is only available when compiled with the |+ole| feature. See
|
|
||||||
src/if_ole.INSTALL.
|
|
||||||
An alternative is using the client-server communication |clientserver|.
|
An alternative is using the client-server communication |clientserver|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@@ -11,9 +11,7 @@ Perl and Vim *perl* *Perl*
|
|||||||
3. Using the Perl interface |perl-using|
|
3. Using the Perl interface |perl-using|
|
||||||
4. Dynamic loading |perl-dynamic|
|
4. Dynamic loading |perl-dynamic|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{only available when Vim was compiled with the |+perl| feature}
|
||||||
|
|
||||||
The Perl interface only works when Vim was compiled with the |+perl| feature.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Editing Perl files *perl-editing*
|
1. Editing Perl files *perl-editing*
|
||||||
@@ -57,15 +55,18 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
|
|||||||
working: >
|
working: >
|
||||||
:perl VIM::Msg("Hello")
|
:perl VIM::Msg("Hello")
|
||||||
|
|
||||||
:pe[rl] << {endpattern}
|
:pe[rl] << [endpattern]
|
||||||
{script}
|
{script}
|
||||||
{endpattern}
|
{endpattern}
|
||||||
Execute Perl script {script}.
|
Execute Perl script {script}.
|
||||||
{endpattern} must NOT be preceded by any white space.
|
The {endpattern} after {script} must NOT be preceded
|
||||||
If {endpattern} is omitted, it defaults to a dot '.'
|
by any white space.
|
||||||
|
|
||||||
|
If [endpattern] is omitted, it defaults to a dot '.'
|
||||||
like for the |:append| and |:insert| commands. Using
|
like for the |:append| and |:insert| commands. Using
|
||||||
'.' helps when inside a function, because "$i;" looks
|
'.' helps when inside a function, because "$i;" looks
|
||||||
like the start of an |:insert| command to Vim.
|
like the start of an |:insert| command to Vim.
|
||||||
|
|
||||||
This form of the |:perl| command is mainly useful for
|
This form of the |:perl| command is mainly useful for
|
||||||
including perl code in vim scripts.
|
including perl code in vim scripts.
|
||||||
Note: This command doesn't work when the Perl feature
|
Note: This command doesn't work when the Perl feature
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
|
*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -19,8 +19,6 @@ The Python Interface to Vim *python* *Python*
|
|||||||
11. Python X |python_x|
|
11. Python X |python_x|
|
||||||
12. Building with Python support |python-building|
|
12. Building with Python support |python-building|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
The Python 2.x interface is available only when Vim was compiled with the
|
The Python 2.x interface is available only when Vim was compiled with the
|
||||||
|+python| feature.
|
|+python| feature.
|
||||||
The Python 3 interface is available only when Vim was compiled with the
|
The Python 3 interface is available only when Vim was compiled with the
|
||||||
@@ -36,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
|
|||||||
the `:python` command is working: >
|
the `:python` command is working: >
|
||||||
:python print "Hello"
|
:python print "Hello"
|
||||||
|
|
||||||
:[range]py[thon] << {endmarker}
|
:[range]py[thon] << [endmarker]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Python script {script}.
|
Execute Python script {script}.
|
||||||
@@ -44,9 +42,11 @@ Both can be available at the same time, but read |python-2-and-3|.
|
|||||||
feature wasn't compiled in. To avoid errors, see
|
feature wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
{endmarker} must NOT be preceded by any white space. If {endmarker} is
|
The {endmarker} below the {script} must NOT be preceded by any white space.
|
||||||
omitted from after the "<<", a dot '.' must be used after {script}, like
|
|
||||||
for the |:append| and |:insert| commands.
|
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||||
|
{script}, like for the |:append| and |:insert| commands.
|
||||||
|
|
||||||
This form of the |:python| command is mainly useful for including python code
|
This form of the |:python| command is mainly useful for including python code
|
||||||
in Vim scripts.
|
in Vim scripts.
|
||||||
|
|
||||||
@@ -76,7 +76,6 @@ and "EOF" do not have any indent.
|
|||||||
None. If a string is returned, it becomes the text of
|
None. If a string is returned, it becomes the text of
|
||||||
the line in the current turn. The default for [range]
|
the line in the current turn. The default for [range]
|
||||||
is the whole file: "1,$".
|
is the whole file: "1,$".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
>
|
>
|
||||||
@@ -98,7 +97,7 @@ python. For example: >
|
|||||||
*:pyfile* *:pyf*
|
*:pyfile* *:pyf*
|
||||||
:[range]pyf[ile] {file}
|
:[range]pyf[ile] {file}
|
||||||
Execute the Python script in {file}. The whole
|
Execute the Python script in {file}. The whole
|
||||||
argument is used as a single file name. {not in Vi}
|
argument is used as a single file name.
|
||||||
|
|
||||||
Both of these commands do essentially the same thing - they execute a piece of
|
Both of these commands do essentially the same thing - they execute a piece of
|
||||||
Python code, with the "current range" |python-range| set to the given line
|
Python code, with the "current range" |python-range| set to the given line
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Shugo Maeda
|
VIM REFERENCE MANUAL by Shugo Maeda
|
||||||
@@ -11,12 +11,12 @@ The Ruby Interface to Vim *ruby* *Ruby*
|
|||||||
3. Vim::Buffer objects |ruby-buffer|
|
3. Vim::Buffer objects |ruby-buffer|
|
||||||
4. Vim::Window objects |ruby-window|
|
4. Vim::Window objects |ruby-window|
|
||||||
5. Global variables |ruby-globals|
|
5. Global variables |ruby-globals|
|
||||||
6. Dynamic loading |ruby-dynamic|
|
6. rubyeval() Vim function |ruby-rubyeval|
|
||||||
|
7. Dynamic loading |ruby-dynamic|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
|
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
|
||||||
|
|
||||||
The Ruby interface only works when Vim was compiled with the |+ruby| feature.
|
{only available when Vim was compiled with the |+ruby| feature}
|
||||||
|
|
||||||
The home page for ruby is http://www.ruby-lang.org/. You can find links for
|
The home page for ruby is http://www.ruby-lang.org/. You can find links for
|
||||||
downloading Ruby there.
|
downloading Ruby there.
|
||||||
@@ -28,15 +28,19 @@ downloading Ruby there.
|
|||||||
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
||||||
:ruby print "Hello"
|
:ruby print "Hello"
|
||||||
|
|
||||||
:rub[y] << {endpattern}
|
:rub[y] << [endpattern]
|
||||||
{script}
|
{script}
|
||||||
{endpattern}
|
{endpattern}
|
||||||
Execute Ruby script {script}.
|
Execute Ruby script {script}.
|
||||||
{endpattern} must NOT be preceded by any white space.
|
The {endpattern} after {script} must NOT be preceded
|
||||||
If {endpattern} is omitted, it defaults to a dot '.'
|
by any white space.
|
||||||
like for the |:append| and |:insert| commands. This
|
|
||||||
form of the |:ruby| command is mainly useful for
|
If [endpattern] is omitted, it defaults to a dot '.'
|
||||||
|
like for the |:append| and |:insert| commands.
|
||||||
|
|
||||||
|
This form of the |:ruby| command is mainly useful for
|
||||||
including ruby code in vim scripts.
|
including ruby code in vim scripts.
|
||||||
|
|
||||||
Note: This command doesn't work when the Ruby feature
|
Note: This command doesn't work when the Ruby feature
|
||||||
wasn't compiled in. To avoid errors, see
|
wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
@@ -198,7 +202,16 @@ $curwin The current window object.
|
|||||||
$curbuf The current buffer object.
|
$curbuf The current buffer object.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Dynamic loading *ruby-dynamic*
|
6. rubyeval() Vim function *ruby-rubyeval*
|
||||||
|
|
||||||
|
To facilitate bi-directional interface, you can use |rubyeval()| function to
|
||||||
|
evaluate Ruby expressions and pass their values to Vim script.
|
||||||
|
|
||||||
|
The Ruby value "true", "false" and "nil" are converted to v:true, v:false and
|
||||||
|
v:null, respectively.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
7. Dynamic loading *ruby-dynamic*
|
||||||
|
|
||||||
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|
||||||
|:version| output then includes |+ruby/dyn|.
|
|:version| output then includes |+ruby/dyn|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
|
*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Ingo Wilken
|
VIM REFERENCE MANUAL by Ingo Wilken
|
||||||
@@ -16,9 +16,8 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
|
|||||||
8. Examples |tcl-examples|
|
8. Examples |tcl-examples|
|
||||||
9. Dynamic loading |tcl-dynamic|
|
9. Dynamic loading |tcl-dynamic|
|
||||||
|
|
||||||
{Vi does not have any of these commands} *E280*
|
*E280*
|
||||||
|
{only available when Vim was compiled with the |+tcl| feature}
|
||||||
The Tcl interface only works when Vim was compiled with the |+tcl| feature.
|
|
||||||
|
|
||||||
WARNING: There are probably still some bugs. Please send bug reports,
|
WARNING: There are probably still some bugs. Please send bug reports,
|
||||||
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||||
@@ -31,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
|||||||
is working: >
|
is working: >
|
||||||
:tcl puts "Hello"
|
:tcl puts "Hello"
|
||||||
|
|
||||||
:[range]tc[l] << {endmarker}
|
:[range]tc[l] << [endmarker]
|
||||||
{script}
|
{script}
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Execute Tcl script {script}.
|
Execute Tcl script {script}.
|
||||||
@@ -39,9 +38,11 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
|||||||
wasn't compiled in. To avoid errors, see
|
wasn't compiled in. To avoid errors, see
|
||||||
|script-here|.
|
|script-here|.
|
||||||
|
|
||||||
{endmarker} must NOT be preceded by any white space. If {endmarker} is
|
The {endmarker} after {script} must NOT be preceded by any white space.
|
||||||
omitted from after the "<<", a dot '.' must be used after {script}, like for
|
|
||||||
the |:append| and |:insert| commands.
|
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
|
||||||
|
{script}, like for the |:append| and |:insert| commands.
|
||||||
|
|
||||||
This form of the |:tcl| command is mainly useful for including tcl code in Vim
|
This form of the |:tcl| command is mainly useful for including tcl code in Vim
|
||||||
scripts.
|
scripts.
|
||||||
|
|
||||||
@@ -66,12 +67,11 @@ To see what version of Tcl you have: >
|
|||||||
possible to add or delete lines using this command.
|
possible to add or delete lines using this command.
|
||||||
If {cmd} returns an error, the command is interrupted.
|
If {cmd} returns an error, the command is interrupted.
|
||||||
The default for [range] is the whole file: "1,$".
|
The default for [range] is the whole file: "1,$".
|
||||||
See |tcl-var-line| and |tcl-var-lnum|. {not in Vi}
|
See |tcl-var-line| and |tcl-var-lnum|.
|
||||||
|
|
||||||
*:tclfile* *:tclf*
|
*:tclfile* *:tclf*
|
||||||
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
|
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
|
||||||
":tcl source {file}", but allows file name completion.
|
":tcl source {file}", but allows file name completion.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
Note that Tcl objects (like variables) persist from one command to the next,
|
Note that Tcl objects (like variables) persist from one command to the next,
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*indent.txt* For Vim version 8.1. Last change: 2019 Feb 21
|
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -901,7 +901,7 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
|||||||
optimizations won't be available.
|
optimizations won't be available.
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
*PHP_vintage_case_default_indent*
|
*PHP_vintage_case_default_indent*
|
||||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||||
:let g:PHP_vintage_case_default_indent = 1
|
:let g:PHP_vintage_case_default_indent = 1
|
||||||
|
|
||||||
@@ -928,6 +928,41 @@ You will obtain the following result: >
|
|||||||
->age()
|
->age()
|
||||||
->info();
|
->info();
|
||||||
|
|
||||||
|
-------------
|
||||||
|
|
||||||
|
*PHP_IndentFunctionCallParameters*
|
||||||
|
Extra indentation levels to add to parameters in multi-line function calls. >
|
||||||
|
let g:PHP_IndentFunctionCallParameters = 1
|
||||||
|
|
||||||
|
Function call arguments will indent 1 extra level. For two-space indentation: >
|
||||||
|
|
||||||
|
function call_the_thing(
|
||||||
|
$with_this,
|
||||||
|
$and_that
|
||||||
|
) {
|
||||||
|
$this->do_the_thing(
|
||||||
|
$with_this,
|
||||||
|
$and_that
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
-------------
|
||||||
|
|
||||||
|
*PHP_IndentFunctionDeclarationParameters*
|
||||||
|
Extra indentation levels to add to arguments in multi-line function definitions. >
|
||||||
|
let g:PHP_IndentFunctionDeclarationParameters = 1
|
||||||
|
|
||||||
|
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
|
||||||
|
|
||||||
|
function call_the_thing(
|
||||||
|
$with_this,
|
||||||
|
$and_that
|
||||||
|
) {
|
||||||
|
$this->do_the_thing(
|
||||||
|
$with_this,
|
||||||
|
$and_that
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
PYTHON *ft-python-indent*
|
PYTHON *ft-python-indent*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*index.txt* For Vim version 8.1. Last change: 2019 Mar 17
|
*index.txt* For Vim version 8.1. Last change: 2019 Aug 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -862,6 +862,10 @@ tag char note action in Normal mode ~
|
|||||||
position the cursor at the start (left
|
position the cursor at the start (left
|
||||||
side) of the screen
|
side) of the screen
|
||||||
|zt| zt redraw, cursor line at top of window
|
|zt| zt redraw, cursor line at top of window
|
||||||
|
|zuw| zuw undo |zw|
|
||||||
|
|zug| zug undo |zg|
|
||||||
|
|zuW| zuW undo |zW|
|
||||||
|
|zuG| zuG undo |zG|
|
||||||
|zv| zv open enough folds to view the cursor line
|
|zv| zv open enough folds to view the cursor line
|
||||||
|zw| zw mark word as wrong (bad) spelled word
|
|zw| zw mark word as wrong (bad) spelled word
|
||||||
|zx| zx re-apply 'foldlevel' and do "zv"
|
|zx| zx re-apply 'foldlevel' and do "zv"
|
||||||
@@ -1042,10 +1046,11 @@ tag command action in Command-line editing mode ~
|
|||||||
command-line from history.
|
command-line from history.
|
||||||
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
|
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
|
||||||
control flow
|
control flow
|
||||||
|c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|
|c_CTRL-R| CTRL-R {regname}
|
||||||
insert the contents of a register or object
|
insert the contents of a register or object
|
||||||
under the cursor as if typed
|
under the cursor as if typed
|
||||||
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
|
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {regname}
|
||||||
|
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
|
||||||
insert the contents of a register or object
|
insert the contents of a register or object
|
||||||
under the cursor literally
|
under the cursor literally
|
||||||
CTRL-S (used for terminal control flow)
|
CTRL-S (used for terminal control flow)
|
||||||
@@ -1106,10 +1111,10 @@ tag char action in Terminal-Job mode ~
|
|||||||
|t_CTRL-W_:| CTRL-W : enter an Ex command
|
|t_CTRL-W_:| CTRL-W : enter an Ex command
|
||||||
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
||||||
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||||
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|
||||||
paste register in the terminal
|
paste register in the terminal
|
||||||
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|
||||||
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|
||||||
|t_CTRL-W_gt| CTRL-W gt go to next tabpage, same as `gt`
|
|t_CTRL-W_gt| CTRL-W gt go to next tabpage, same as `gt`
|
||||||
|t_CTRL-W_gT| CTRL-W gT go to previous tabpage, same as `gT`
|
|t_CTRL-W_gT| CTRL-W gT go to previous tabpage, same as `gT`
|
||||||
|
|
||||||
@@ -1187,11 +1192,15 @@ tag command action ~
|
|||||||
|:cNfile| :cNf[ile] go to last error in previous file
|
|:cNfile| :cNf[ile] go to last error in previous file
|
||||||
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
||||||
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
||||||
|
|:cabove| :cabo[ve] go to error above current line
|
||||||
|:caddbuffer| :cad[dbuffer] add errors from buffer
|
|:caddbuffer| :cad[dbuffer] add errors from buffer
|
||||||
|:caddexpr| :cadde[xpr] add errors from expr
|
|:caddexpr| :cadde[xpr] add errors from expr
|
||||||
|:caddfile| :caddf[ile] add error message to current quickfix list
|
|:caddfile| :caddf[ile] add error message to current quickfix list
|
||||||
|
|:cafter| :caf[ter] go to error after current cursor
|
||||||
|:call| :cal[l] call a function
|
|:call| :cal[l] call a function
|
||||||
|:catch| :cat[ch] part of a :try command
|
|:catch| :cat[ch] part of a :try command
|
||||||
|
|:cbefore| :cbef[ore] go to error before current cursor
|
||||||
|
|:cbelow| :cbel[ow] go to error below current line
|
||||||
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|
||||||
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|
||||||
|:cc| :cc go to specific error
|
|:cc| :cc go to specific error
|
||||||
@@ -1232,6 +1241,7 @@ tag command action ~
|
|||||||
|:compiler| :comp[iler] do settings for a specific compiler
|
|:compiler| :comp[iler] do settings for a specific compiler
|
||||||
|:continue| :con[tinue] go back to :while
|
|:continue| :con[tinue] go back to :while
|
||||||
|:confirm| :conf[irm] prompt user when confirmation required
|
|:confirm| :conf[irm] prompt user when confirmation required
|
||||||
|
|:const| :cons[t] create a variable as a constant
|
||||||
|:copen| :cope[n] open quickfix window
|
|:copen| :cope[n] open quickfix window
|
||||||
|:cprevious| :cp[revious] go to previous error
|
|:cprevious| :cp[revious] go to previous error
|
||||||
|:cpfile| :cpf[ile] go to last error in previous file
|
|:cpfile| :cpf[ile] go to last error in previous file
|
||||||
@@ -1349,12 +1359,16 @@ tag command action ~
|
|||||||
|:lNext| :lN[ext] go to previous entry in location list
|
|:lNext| :lN[ext] go to previous entry in location list
|
||||||
|:lNfile| :lNf[ile] go to last entry in previous file
|
|:lNfile| :lNf[ile] go to last entry in previous file
|
||||||
|:list| :l[ist] print lines
|
|:list| :l[ist] print lines
|
||||||
|
|:labove| :lab[ove] go to location above current line
|
||||||
|:laddexpr| :lad[dexpr] add locations from expr
|
|:laddexpr| :lad[dexpr] add locations from expr
|
||||||
|:laddbuffer| :laddb[uffer] add locations from buffer
|
|:laddbuffer| :laddb[uffer] add locations from buffer
|
||||||
|:laddfile| :laddf[ile] add locations to current location list
|
|:laddfile| :laddf[ile] add locations to current location list
|
||||||
|
|:lafter| :laf[ter] go to location after current cursor
|
||||||
|:last| :la[st] go to the last file in the argument list
|
|:last| :la[st] go to the last file in the argument list
|
||||||
|:language| :lan[guage] set the language (locale)
|
|:language| :lan[guage] set the language (locale)
|
||||||
|:later| :lat[er] go to newer change, redo
|
|:later| :lat[er] go to newer change, redo
|
||||||
|
|:lbefore| :lbef[ore] go to location before current cursor
|
||||||
|
|:lbelow| :lbel[ow] go to location below current line
|
||||||
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|
||||||
|:lbuffer| :lb[uffer] parse locations and jump to first location
|
|:lbuffer| :lb[uffer] parse locations and jump to first location
|
||||||
|:lcd| :lc[d] change directory locally
|
|:lcd| :lc[d] change directory locally
|
||||||
@@ -1546,7 +1560,8 @@ tag command action ~
|
|||||||
|:sbrewind| :sbr[ewind] split window and go to first file in the
|
|:sbrewind| :sbr[ewind] split window and go to first file in the
|
||||||
buffer list
|
buffer list
|
||||||
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
|
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
|
||||||
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|
|:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|
||||||
|
|:scriptversion| :scriptv[ersion] version of Vim script used
|
||||||
|:scscope| :scs[cope] split window and execute cscope command
|
|:scscope| :scs[cope] split window and execute cscope command
|
||||||
|:set| :se[t] show or set options
|
|:set| :se[t] show or set options
|
||||||
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
|
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
|
||||||
@@ -1577,6 +1592,7 @@ tag command action ~
|
|||||||
|:spelldump| :spelld[ump] split window and fill with all correct words
|
|:spelldump| :spelld[ump] split window and fill with all correct words
|
||||||
|:spellgood| :spe[llgood] add good word for spelling
|
|:spellgood| :spe[llgood] add good word for spelling
|
||||||
|:spellinfo| :spelli[nfo] show info about loaded spell files
|
|:spellinfo| :spelli[nfo] show info about loaded spell files
|
||||||
|
|:spellrare| :spellra[re] add rare word for spelling
|
||||||
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|
||||||
|:spellundo| :spellu[ndo] remove good or bad word
|
|:spellundo| :spellu[ndo] remove good or bad word
|
||||||
|:spellwrong| :spellw[rong] add spelling mistake
|
|:spellwrong| :spellw[rong] add spelling mistake
|
||||||
@@ -1621,6 +1637,8 @@ tag command action ~
|
|||||||
|:tab| :tab create new tab when opening new window
|
|:tab| :tab create new tab when opening new window
|
||||||
|:tag| :ta[g] jump to tag
|
|:tag| :ta[g] jump to tag
|
||||||
|:tags| :tags show the contents of the tag stack
|
|:tags| :tags show the contents of the tag stack
|
||||||
|
|:tcd| :tcd change directory for tab page
|
||||||
|
|:tchdir| :tch[dir] change directory for tab page
|
||||||
|:tcl| :tc[l] execute Tcl command
|
|:tcl| :tc[l] execute Tcl command
|
||||||
|: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
|
||||||
@@ -1698,6 +1716,7 @@ tag command action ~
|
|||||||
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
||||||
|:xmap| :xm[ap] like ":map" but for Visual mode
|
|:xmap| :xm[ap] like ":map" but for Visual mode
|
||||||
|:xmenu| :xme[nu] add menu for Visual mode
|
|:xmenu| :xme[nu] add menu for Visual mode
|
||||||
|
|:xrestore| :xr[estore] restores the X server connection
|
||||||
|:xnoremap| :xn[oremap] like ":noremap" but for Visual mode
|
|:xnoremap| :xn[oremap] like ":noremap" but for Visual mode
|
||||||
|:xnoremenu| :xnoreme[nu] like ":noremenu" but for Visual mode
|
|:xnoremenu| :xnoreme[nu] like ":noremenu" but for Visual mode
|
||||||
|:xunmap| :xu[nmap] like ":unmap" but for Visual mode
|
|:xunmap| :xu[nmap] like ":unmap" but for Visual mode
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
*insert.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -59,23 +59,22 @@ CTRL-C Quit insert mode, go back to Normal mode. Do not check for
|
|||||||
event.
|
event.
|
||||||
|
|
||||||
*i_CTRL-@*
|
*i_CTRL-@*
|
||||||
CTRL-@ Insert previously inserted text and stop insert. {Vi: only
|
CTRL-@ Insert previously inserted text and stop insert.
|
||||||
when typed as first char, only up to 128 chars}
|
|
||||||
*i_CTRL-A*
|
*i_CTRL-A*
|
||||||
CTRL-A Insert previously inserted text. {not in Vi}
|
CTRL-A Insert previously inserted text.
|
||||||
|
|
||||||
*i_CTRL-H* *i_<BS>* *i_BS*
|
*i_CTRL-H* *i_<BS>* *i_BS*
|
||||||
<BS> or CTRL-H Delete the character before the cursor (see |i_backspacing|
|
<BS> or CTRL-H Delete the character before the cursor (see |i_backspacing|
|
||||||
about joining lines).
|
about joining lines).
|
||||||
See |:fixdel| if your <BS> key does not do what you want.
|
See |:fixdel| if your <BS> key does not do what you want.
|
||||||
{Vi: does not delete autoindents}
|
|
||||||
*i_<Del>* *i_DEL*
|
*i_<Del>* *i_DEL*
|
||||||
<Del> Delete the character under the cursor. If the cursor is at
|
<Del> Delete the character under the cursor. If the cursor is at
|
||||||
the end of the line, and the 'backspace' option includes
|
the end of the line, and the 'backspace' option includes
|
||||||
"eol", delete the <EOL>; the next line is appended after the
|
"eol", delete the <EOL>; the next line is appended after the
|
||||||
current one.
|
current one.
|
||||||
See |:fixdel| if your <Del> key does not do what you want.
|
See |:fixdel| if your <Del> key does not do what you want.
|
||||||
{not in Vi}
|
|
||||||
*i_CTRL-W*
|
*i_CTRL-W*
|
||||||
CTRL-W Delete the word before the cursor (see |i_backspacing| about
|
CTRL-W Delete the word before the cursor (see |i_backspacing| about
|
||||||
joining lines). See the section "word motions",
|
joining lines). See the section "word motions",
|
||||||
@@ -102,10 +101,10 @@ CTRL-K {char1} [char2]
|
|||||||
key, the code for that key is inserted in <> form. For
|
key, the code for that key is inserted in <> form. For
|
||||||
example, the string "<S-Space>" can be entered by typing
|
example, the string "<S-Space>" can be entered by typing
|
||||||
<C-K><S-Space> (two keys). Neither char is considered for
|
<C-K><S-Space> (two keys). Neither char is considered for
|
||||||
mapping. {not in Vi}
|
mapping.
|
||||||
|
|
||||||
CTRL-N Find next keyword (see |i_CTRL-N|). {not in Vi}
|
CTRL-N Find next keyword (see |i_CTRL-N|).
|
||||||
CTRL-P Find previous keyword (see |i_CTRL-P|). {not in Vi}
|
CTRL-P Find previous keyword (see |i_CTRL-P|).
|
||||||
|
|
||||||
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
||||||
Insert the contents of a register. Between typing CTRL-R and
|
Insert the contents of a register. Between typing CTRL-R and
|
||||||
@@ -142,7 +141,7 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
|||||||
converted to a String.
|
converted to a String.
|
||||||
When append() or setline() is invoked the undo
|
When append() or setline() is invoked the undo
|
||||||
sequence will be broken.
|
sequence will be broken.
|
||||||
See |registers| about registers. {not in Vi}
|
See |registers| about registers.
|
||||||
|
|
||||||
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
||||||
Insert the contents of a register. Works like using a single
|
Insert the contents of a register. Works like using a single
|
||||||
@@ -154,7 +153,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
|||||||
< Options 'textwidth', 'formatoptions', etc. still apply. If
|
< Options 'textwidth', 'formatoptions', etc. still apply. If
|
||||||
you also want to avoid these, use CTRL-R CTRL-O, see below.
|
you also want to avoid these, use CTRL-R CTRL-O, see below.
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed. {not in Vi}
|
typed.
|
||||||
|
|
||||||
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
||||||
Insert the contents of a register literally and don't
|
Insert the contents of a register literally and don't
|
||||||
@@ -163,31 +162,30 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
|||||||
insert the text above the current line, like with `P`.
|
insert the text above the current line, like with `P`.
|
||||||
Does not replace characters!
|
Does not replace characters!
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed. {not in Vi}
|
typed.
|
||||||
|
|
||||||
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
|
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
|
||||||
Insert the contents of a register literally and fix the
|
Insert the contents of a register literally and fix the
|
||||||
indent, like |[<MiddleMouse>|.
|
indent, like |[<MiddleMouse>|.
|
||||||
Does not replace characters!
|
Does not replace characters!
|
||||||
The '.' register (last inserted text) is still inserted as
|
The '.' register (last inserted text) is still inserted as
|
||||||
typed. {not in Vi}
|
typed.
|
||||||
|
|
||||||
*i_CTRL-T*
|
*i_CTRL-T*
|
||||||
CTRL-T Insert one shiftwidth of indent at the start of the current
|
CTRL-T Insert one shiftwidth of indent at the start of the current
|
||||||
line. The indent is always rounded to a 'shiftwidth' (this is
|
line. The indent is always rounded to a 'shiftwidth' (this is
|
||||||
vi compatible). {Vi: only when in indent}
|
vi compatible).
|
||||||
*i_CTRL-D*
|
*i_CTRL-D*
|
||||||
CTRL-D Delete one shiftwidth of indent at the start of the current
|
CTRL-D Delete one shiftwidth of indent at the start of the current
|
||||||
line. The indent is always rounded to a 'shiftwidth' (this is
|
line. The indent is always rounded to a 'shiftwidth' (this is
|
||||||
vi compatible). {Vi: CTRL-D works only when used after
|
vi compatible).
|
||||||
autoindent}
|
|
||||||
*i_0_CTRL-D*
|
*i_0_CTRL-D*
|
||||||
0 CTRL-D Delete all indent in the current line. {Vi: CTRL-D works
|
0 CTRL-D Delete all indent in the current line.
|
||||||
only when used after autoindent}
|
|
||||||
*i_^_CTRL-D*
|
*i_^_CTRL-D*
|
||||||
^ CTRL-D Delete all indent in the current line. The indent is
|
^ CTRL-D Delete all indent in the current line. The indent is
|
||||||
restored in the next line. This is useful when inserting a
|
restored in the next line. This is useful when inserting a
|
||||||
label. {Vi: CTRL-D works only when used after autoindent}
|
label.
|
||||||
|
|
||||||
*i_CTRL-V*
|
*i_CTRL-V*
|
||||||
CTRL-V Insert next non-digit literally. For special keys, the
|
CTRL-V Insert next non-digit literally. For special keys, the
|
||||||
@@ -195,7 +193,7 @@ CTRL-V Insert next non-digit literally. For special keys, the
|
|||||||
decimal, octal or hexadecimal value of a character
|
decimal, octal or hexadecimal value of a character
|
||||||
|i_CTRL-V_digit|.
|
|i_CTRL-V_digit|.
|
||||||
The characters typed right after CTRL-V are not considered for
|
The characters typed right after CTRL-V are not considered for
|
||||||
mapping. {Vi: no decimal byte entry}
|
mapping.
|
||||||
Note: When CTRL-V is mapped (e.g., to paste text) you can
|
Note: When CTRL-V is mapped (e.g., to paste text) you can
|
||||||
often use CTRL-Q instead |i_CTRL-Q|.
|
often use CTRL-Q instead |i_CTRL-Q|.
|
||||||
|
|
||||||
@@ -206,12 +204,12 @@ CTRL-Q Same as CTRL-V.
|
|||||||
|
|
||||||
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
||||||
be given to complete words or scroll the window. See
|
be given to complete words or scroll the window. See
|
||||||
|i_CTRL-X| and |ins-completion|. {not in Vi}
|
|i_CTRL-X| and |ins-completion|.
|
||||||
|
|
||||||
*i_CTRL-E*
|
*i_CTRL-E*
|
||||||
CTRL-E Insert the character which is below the cursor. {not in Vi}
|
CTRL-E Insert the character which is below the cursor.
|
||||||
*i_CTRL-Y*
|
*i_CTRL-Y*
|
||||||
CTRL-Y Insert the character which is above the cursor. {not in Vi}
|
CTRL-Y Insert the character which is above the cursor.
|
||||||
Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
|
Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
|
||||||
able to copy characters from a long line.
|
able to copy characters from a long line.
|
||||||
|
|
||||||
@@ -228,7 +226,6 @@ CTRL-_ Switch between languages, as follows:
|
|||||||
is set.
|
is set.
|
||||||
Please refer to |rileft.txt| for more information about
|
Please refer to |rileft.txt| for more information about
|
||||||
right-to-left mode.
|
right-to-left mode.
|
||||||
{not in Vi}
|
|
||||||
Only if compiled with the |+rightleft| feature.
|
Only if compiled with the |+rightleft| feature.
|
||||||
|
|
||||||
*i_CTRL-^*
|
*i_CTRL-^*
|
||||||
@@ -248,14 +245,12 @@ CTRL-^ Toggle the use of typing language characters.
|
|||||||
The language mappings are normally used to type characters
|
The language mappings are normally used to type characters
|
||||||
that are different from what the keyboard produces. The
|
that are different from what the keyboard produces. The
|
||||||
'keymap' option can be used to install a whole number of them.
|
'keymap' option can be used to install a whole number of them.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*i_CTRL-]*
|
*i_CTRL-]*
|
||||||
CTRL-] Trigger abbreviation, without inserting a character. {not in
|
CTRL-] Trigger abbreviation, without inserting a character.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*i_<Insert>*
|
*i_<Insert>*
|
||||||
<Insert> Toggle between Insert and Replace mode. {not in Vi}
|
<Insert> Toggle between Insert and Replace mode.
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
*i_backspacing*
|
*i_backspacing*
|
||||||
@@ -277,7 +272,6 @@ For backwards compatibility the values "0", "1" and "2" are also allowed, see
|
|||||||
If the 'backspace' option does contain "eol" and the cursor is in column 1
|
If the 'backspace' option does contain "eol" and the cursor is in column 1
|
||||||
when one of the three keys is used, the current line is joined with the
|
when one of the three keys is used, the current line is joined with the
|
||||||
previous line. This effectively deletes the <EOL> in front of the cursor.
|
previous line. This effectively deletes the <EOL> in front of the cursor.
|
||||||
{Vi: does not cross lines, does not delete past start position of insert}
|
|
||||||
|
|
||||||
*i_CTRL-V_digit*
|
*i_CTRL-V_digit*
|
||||||
With CTRL-V the decimal, octal or hexadecimal value of a character can be
|
With CTRL-V the decimal, octal or hexadecimal value of a character can be
|
||||||
@@ -379,8 +373,8 @@ CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
|
|||||||
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
|
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
|
||||||
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
|
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
|
||||||
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
|
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
|
||||||
movement (but only if the cursor stays
|
movement, if the cursor stays within
|
||||||
within same the line)
|
same the line
|
||||||
-----------------------------------------------------------------------
|
-----------------------------------------------------------------------
|
||||||
|
|
||||||
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
|
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
|
||||||
@@ -519,15 +513,14 @@ The 'expandtab' option is off by default. Note that in Replace mode, a single
|
|||||||
character is replaced with several spaces. The result of this is that the
|
character is replaced with several spaces. The result of this is that the
|
||||||
number of characters in the line increases. Backspacing will delete one
|
number of characters in the line increases. Backspacing will delete one
|
||||||
space at a time. The original character will be put back for only one space
|
space at a time. The original character will be put back for only one space
|
||||||
that you backspace over (the last one). {Vi does not have the 'expandtab'
|
that you backspace over (the last one).
|
||||||
option}
|
|
||||||
|
|
||||||
*ins-smarttab*
|
*ins-smarttab*
|
||||||
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
|
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
|
||||||
the beginning of a line and 'tabstop' positions in other places. This means
|
the beginning of a line and 'tabstop' positions in other places. This means
|
||||||
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
|
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
|
||||||
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
|
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
|
||||||
used for ">>" and the like. {not in Vi}
|
used for ">>" and the like.
|
||||||
|
|
||||||
*ins-softtabstop*
|
*ins-softtabstop*
|
||||||
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
|
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
|
||||||
@@ -567,14 +560,13 @@ If the 'expandtab' option is on, a <Tab> will replace one character with
|
|||||||
several spaces. The result of this is that the number of characters in the
|
several spaces. The result of this is that the number of characters in the
|
||||||
line increases. Backspacing will delete one space at a time. The original
|
line increases. Backspacing will delete one space at a time. The original
|
||||||
character will be put back for only one space that you backspace over (the
|
character will be put back for only one space that you backspace over (the
|
||||||
last one). {Vi does not have the 'expandtab' option}
|
last one).
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
|
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
|
||||||
|
|
||||||
Enter Virtual Replace mode with the "gR" command in normal mode.
|
Enter Virtual Replace mode with the "gR" command in normal mode.
|
||||||
{not available when compiled without the |+vreplace| feature}
|
{not available when compiled without the |+vreplace| feature}
|
||||||
{Vi does not have Virtual Replace mode}
|
|
||||||
|
|
||||||
Virtual Replace mode is similar to Replace mode, but instead of replacing
|
Virtual Replace mode is similar to Replace mode, but instead of replacing
|
||||||
actual characters in the file, you are replacing screen real estate, so that
|
actual characters in the file, you are replacing screen real estate, so that
|
||||||
@@ -642,6 +634,7 @@ and one of the CTRL-X commands. You exit CTRL-X mode by typing a key that is
|
|||||||
not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
|
not a valid CTRL-X mode command. Valid keys are the CTRL-X command itself,
|
||||||
CTRL-N (next), and CTRL-P (previous).
|
CTRL-N (next), and CTRL-P (previous).
|
||||||
|
|
||||||
|
To get the current completion information, |complete_info()| can be used.
|
||||||
Also see the 'infercase' option if you want to adjust the case of the match.
|
Also see the 'infercase' option if you want to adjust the case of the match.
|
||||||
|
|
||||||
*complete_CTRL-E*
|
*complete_CTRL-E*
|
||||||
@@ -1104,6 +1097,9 @@ items:
|
|||||||
icase when non-zero case is to be ignored when comparing
|
icase when non-zero case is to be ignored when comparing
|
||||||
items to be equal; when omitted zero is used, thus
|
items to be equal; when omitted zero is used, thus
|
||||||
items that only differ in case are added
|
items that only differ in case are added
|
||||||
|
equal when non-zero, always treat this item to be equal when
|
||||||
|
comparing. Which means, "equal=1" disables filtering
|
||||||
|
of this item.
|
||||||
dup when non-zero this match will be added even when an
|
dup when non-zero this match will be added even when an
|
||||||
item with the same word is already present.
|
item with the same word is already present.
|
||||||
empty when non-zero this match will be added even when it is
|
empty when non-zero this match will be added even when it is
|
||||||
@@ -1111,10 +1107,10 @@ items:
|
|||||||
user_data custom data which is associated with the item and
|
user_data custom data which is associated with the item and
|
||||||
available in |v:completed_item|
|
available in |v:completed_item|
|
||||||
|
|
||||||
All of these except "icase", "dup" and "empty" must be a string. If an item
|
All of these except "icase", "equal", "dup" and "empty" must be a string. If
|
||||||
does not meet these requirements then an error message is given and further
|
an item does not meet these requirements then an error message is given and
|
||||||
items in the list are not used. You can mix string and Dictionary items in
|
further items in the list are not used. You can mix string and Dictionary
|
||||||
the returned list.
|
items in the returned list.
|
||||||
|
|
||||||
The "menu" item is used in the popup menu and may be truncated, thus it should
|
The "menu" item is used in the popup menu and may be truncated, thus it should
|
||||||
be relatively short. The "info" item can be longer, it will be displayed in
|
be relatively short. The "info" item can be longer, it will be displayed in
|
||||||
@@ -1803,7 +1799,7 @@ I Insert text before the first non-blank in the line
|
|||||||
the last blank.
|
the last blank.
|
||||||
|
|
||||||
*gI*
|
*gI*
|
||||||
gI Insert text in column 1 [count] times. {not in Vi}
|
gI Insert text in column 1 [count] times.
|
||||||
|
|
||||||
*gi*
|
*gi*
|
||||||
gi Insert text in the same position as where Insert mode
|
gi Insert text in the same position as where Insert mode
|
||||||
@@ -1814,19 +1810,16 @@ gi Insert text in the same position as where Insert mode
|
|||||||
but NOT for inserted/deleted characters.
|
but NOT for inserted/deleted characters.
|
||||||
When the |:keepjumps| command modifier is used the |'^|
|
When the |:keepjumps| command modifier is used the |'^|
|
||||||
mark won't be changed.
|
mark won't be changed.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*o*
|
*o*
|
||||||
o Begin a new line below the cursor and insert text,
|
o Begin a new line below the cursor and insert text,
|
||||||
repeat [count] times. {Vi: blank [count] screen
|
repeat [count] times.
|
||||||
lines}
|
|
||||||
When the '#' flag is in 'cpoptions' the count is
|
When the '#' flag is in 'cpoptions' the count is
|
||||||
ignored.
|
ignored.
|
||||||
|
|
||||||
*O*
|
*O*
|
||||||
O Begin a new line above the cursor and insert text,
|
O Begin a new line above the cursor and insert text,
|
||||||
repeat [count] times. {Vi: blank [count] screen
|
repeat [count] times.
|
||||||
lines}
|
|
||||||
When the '#' flag is in 'cpoptions' the count is
|
When the '#' flag is in 'cpoptions' the count is
|
||||||
ignored.
|
ignored.
|
||||||
|
|
||||||
@@ -1881,7 +1874,6 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
|||||||
script, the insertion only starts after the function
|
script, the insertion only starts after the function
|
||||||
or script is finished.
|
or script is finished.
|
||||||
This command does not work from |:normal|.
|
This command does not work from |:normal|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:stopi* *:stopinsert*
|
*:stopi* *:stopinsert*
|
||||||
:stopi[nsert] Stop Insert mode as soon as possible. Works like
|
:stopi[nsert] Stop Insert mode as soon as possible. Works like
|
||||||
@@ -1898,12 +1890,10 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
|||||||
Note that when using this command in a function or
|
Note that when using this command in a function or
|
||||||
script that the replacement will only start after
|
script that the replacement will only start after
|
||||||
the function or script is finished.
|
the function or script is finished.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:startgreplace*
|
*:startgreplace*
|
||||||
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
|
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
|
||||||
mode, like with |gR|.
|
mode, like with |gR|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
10. Inserting a file *inserting-file*
|
10. Inserting a file *inserting-file*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.1. Last change: 2019 Jan 07
|
*intro.txt* For Vim version 8.1. Last change: 2019 Aug 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -34,9 +34,7 @@ It can be accessed from within Vim with the <Help> or <F1> key and with the
|
|||||||
is not located in the default place. You can jump to subjects like with tags:
|
is not located in the default place. You can jump to subjects like with tags:
|
||||||
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
|
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
|
||||||
|
|
||||||
Throughout this manual the differences between Vi and Vim are mentioned in
|
The differences between Vi and Vim are mentioned in |vi_diff.txt|.
|
||||||
curly braces, like this: {Vi does not have on-line help}. See |vi_diff.txt|
|
|
||||||
for a summary of the differences between Vim and Vi.
|
|
||||||
|
|
||||||
This manual refers to Vim on various machines. There may be small differences
|
This manual refers to Vim on various machines. There may be small differences
|
||||||
between different computers and terminals. Besides the remarks given in this
|
between different computers and terminals. Besides the remarks given in this
|
||||||
@@ -67,14 +65,21 @@ contain links to the most recent version of Vim. The FAQ is a list of
|
|||||||
Frequently Asked Questions. Read this if you have problems.
|
Frequently Asked Questions. Read this if you have problems.
|
||||||
|
|
||||||
Vim home page: https://www.vim.org/
|
Vim home page: https://www.vim.org/
|
||||||
Vim FAQ: https://vimhelp.appspot.com/vim_faq.txt.html
|
Vim FAQ: https://vimhelp.org/vim_faq.txt.html
|
||||||
Downloading: https://www.vim.org/download.php
|
Downloading: https://www.vim.org/download.php
|
||||||
|
|
||||||
|
|
||||||
|
Asking questions, finding answers: https://vi.stackexchange.com/
|
||||||
|
"Vi and Vim Stack Exchange is a question and answer site for people using the
|
||||||
|
vi and Vim families of text editors"
|
||||||
|
|
||||||
|
|
||||||
Usenet News group where Vim is discussed: *news* *usenet*
|
Usenet News group where Vim is discussed: *news* *usenet*
|
||||||
comp.editors
|
comp.editors
|
||||||
This group is also for other editors. If you write about Vim, don't forget to
|
This group is also for other editors. If you write about Vim, don't forget to
|
||||||
mention that.
|
mention that.
|
||||||
|
You can access it here:
|
||||||
|
https://groups.google.com/forum/#!topic/comp.editors
|
||||||
|
|
||||||
*mail-list* *maillist*
|
*mail-list* *maillist*
|
||||||
There are several mailing lists for Vim:
|
There are several mailing lists for Vim:
|
||||||
@@ -503,6 +508,9 @@ the ":map" command. The rules are:
|
|||||||
<M-a> Meta- a ('a' with bit 8 set)
|
<M-a> Meta- a ('a' with bit 8 set)
|
||||||
<M-A> Meta- A ('A' with bit 8 set)
|
<M-A> Meta- A ('A' with bit 8 set)
|
||||||
<t_kd> "kd" termcap entry (cursor down key)
|
<t_kd> "kd" termcap entry (cursor down key)
|
||||||
|
Although you can specify <M-{char}> with {char} being a multi-byte
|
||||||
|
character, Vim may not be able to know what byte sequence that is and then
|
||||||
|
it won't work.
|
||||||
|
|
||||||
If you want to use the full <> notation in Vim, you have to make sure the '<'
|
If you want to use the full <> notation in Vim, you have to make sure the '<'
|
||||||
flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is
|
flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is
|
||||||
@@ -648,11 +656,7 @@ Ex :vi -- -- -- -- --
|
|||||||
the command.
|
the command.
|
||||||
In the last case <Esc> may be the character defined with the 'wildchar'
|
In the last case <Esc> may be the character defined with the 'wildchar'
|
||||||
option, in which case it will start command-line completion. You can
|
option, in which case it will start command-line completion. You can
|
||||||
ignore that and type <Esc> again. {Vi: when hitting <Esc> the command-line
|
ignore that and type <Esc> again.
|
||||||
is executed. This is unexpected for most people; therefore it was changed
|
|
||||||
in Vim. But when the <Esc> is part of a mapping, the command-line is
|
|
||||||
executed. If you want the Vi behaviour also when typing <Esc>, use ":cmap
|
|
||||||
^V<Esc> ^V^M"}
|
|
||||||
*4 Go from Normal to Select mode by:
|
*4 Go from Normal to Select mode by:
|
||||||
- use the mouse to select text while 'selectmode' contains "mouse"
|
- use the mouse to select text while 'selectmode' contains "mouse"
|
||||||
- use a non-printable command to move the cursor while keeping the Shift
|
- use a non-printable command to move the cursor while keeping the Shift
|
||||||
@@ -703,7 +707,6 @@ gQ Switch to "Ex" mode like with "Q", but really behave
|
|||||||
like typing ":" commands after another. All command
|
like typing ":" commands after another. All command
|
||||||
line editing, completion etc. is available.
|
line editing, completion etc. is available.
|
||||||
Use the ":vi" command |:visual| to exit "Ex" mode.
|
Use the ":vi" command |:visual| to exit "Ex" mode.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
7. The window contents *window-contents*
|
7. The window contents *window-contents*
|
||||||
@@ -716,7 +719,6 @@ exceptions:
|
|||||||
character.
|
character.
|
||||||
- When inserting text in one window, other windows on the same text are not
|
- When inserting text in one window, other windows on the same text are not
|
||||||
updated until the insert is finished.
|
updated until the insert is finished.
|
||||||
{Vi: The screen is not always updated on slow terminals}
|
|
||||||
|
|
||||||
Lines longer than the window width will wrap, unless the 'wrap' option is off
|
Lines longer than the window width will wrap, unless the 'wrap' option is off
|
||||||
(see below). The 'linebreak' option can be set to wrap at a blank character.
|
(see below). The 'linebreak' option can be set to wrap at a blank character.
|
||||||
@@ -762,7 +764,6 @@ If there is a single line that is too long to fit in the window, this is a
|
|||||||
special situation. Vim will show only part of the line, around where the
|
special situation. Vim will show only part of the line, around where the
|
||||||
cursor is. There are no special characters shown, so that you can edit all
|
cursor is. There are no special characters shown, so that you can edit all
|
||||||
parts of this line.
|
parts of this line.
|
||||||
{Vi: gives an "internal error" on lines that do not fit in the window}
|
|
||||||
|
|
||||||
The '@' occasion in the 'highlight' option can be used to set special
|
The '@' occasion in the 'highlight' option can be used to set special
|
||||||
highlighting for the '@' and '~' characters. This makes it possible to
|
highlighting for the '@' and '~' characters. This makes it possible to
|
||||||
@@ -777,7 +778,7 @@ that is not shown, the screen is scrolled horizontally. The advantage of
|
|||||||
this method is that columns are shown as they are and lines that cannot fit
|
this method is that columns are shown as they are and lines that cannot fit
|
||||||
on the screen can be edited. The disadvantage is that you cannot see all the
|
on the screen can be edited. The disadvantage is that you cannot see all the
|
||||||
characters of a line at once. The 'sidescroll' option can be set to the
|
characters of a line at once. The 'sidescroll' option can be set to the
|
||||||
minimal number of columns to scroll. {Vi: has no 'wrap' option}
|
minimal number of columns to scroll.
|
||||||
|
|
||||||
All normal ASCII characters are displayed directly on the screen. The <Tab>
|
All normal ASCII characters are displayed directly on the screen. The <Tab>
|
||||||
is replaced with the number of spaces that it represents. Other non-printing
|
is replaced with the number of spaces that it represents. Other non-printing
|
||||||
@@ -809,16 +810,14 @@ command characters 'showcmd' on off
|
|||||||
cursor position 'ruler' off off
|
cursor position 'ruler' off off
|
||||||
|
|
||||||
The current mode is "-- INSERT --" or "-- REPLACE --", see |'showmode'|. The
|
The current mode is "-- INSERT --" or "-- REPLACE --", see |'showmode'|. The
|
||||||
command characters are those that you typed but were not used yet. {Vi: does
|
command characters are those that you typed but were not used yet.
|
||||||
not show the characters you typed or the cursor position}
|
|
||||||
|
|
||||||
If you have a slow terminal you can switch off the status messages to speed
|
If you have a slow terminal you can switch off the status messages to speed
|
||||||
up editing:
|
up editing:
|
||||||
:set nosc noru nosm
|
:set nosc noru nosm
|
||||||
|
|
||||||
If there is an error, an error message will be shown for at least one second
|
If there is an error, an error message will be shown for at least one second
|
||||||
(in reverse video). {Vi: error messages may be overwritten with other
|
(in reverse video).
|
||||||
messages before you have a chance to read them}
|
|
||||||
|
|
||||||
Some commands show how many lines were affected. Above which threshold this
|
Some commands show how many lines were affected. Above which threshold this
|
||||||
happens can be controlled with the 'report' option (default 2).
|
happens can be controlled with the 'report' option (default 2).
|
||||||
@@ -831,7 +830,7 @@ Make it at least 40 characters wide to be able to read most messages on the
|
|||||||
last line.
|
last line.
|
||||||
|
|
||||||
On most Unix systems, resizing the window is recognized and handled correctly
|
On most Unix systems, resizing the window is recognized and handled correctly
|
||||||
by Vim. {Vi: not ok}
|
by Vim.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Definitions *definitions*
|
8. Definitions *definitions*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.1. Last change: 2018 Dec 18
|
*map.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -53,7 +53,7 @@ modes.
|
|||||||
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
|
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
|
||||||
:map! {lhs} {rhs} |mapmode-ic| *:map!*
|
:map! {lhs} {rhs} |mapmode-ic| *:map!*
|
||||||
: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* *:lma* *: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*
|
: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
|
||||||
@@ -66,17 +66,17 @@ modes.
|
|||||||
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
:nn[oremap] {lhs} {rhs} |mapmode-n| *:nn* *:nnoremap*
|
||||||
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
:vn[oremap] {lhs} {rhs} |mapmode-v| *:vn* *:vnoremap*
|
||||||
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
:xn[oremap] {lhs} {rhs} |mapmode-x| *:xn* *:xnoremap*
|
||||||
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snoremap*
|
:snor[emap] {lhs} {rhs} |mapmode-s| *:snor* *:snore* *:snoremap*
|
||||||
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
:ono[remap] {lhs} {rhs} |mapmode-o| *:ono* *:onoremap*
|
||||||
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
:no[remap]! {lhs} {rhs} |mapmode-ic| *:no!* *:noremap!*
|
||||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inor* *: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* *:cnor* *:cnoremap*
|
||||||
:tno[remap] {lhs} {rhs} |mapmode-t| *:tno* *:tnoremap*
|
: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
|
||||||
used to redefine a command. {not in Vi}
|
used to redefine a command.
|
||||||
|
|
||||||
|
|
||||||
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
|
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
|
||||||
@@ -88,7 +88,7 @@ modes.
|
|||||||
:unm[ap]! {lhs} |mapmode-ic| *:unm!* *:unmap!*
|
:unm[ap]! {lhs} |mapmode-ic| *:unm!* *:unmap!*
|
||||||
: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* *:cun* *:cunmap*
|
||||||
:tunma[p] {lhs} |mapmode-t| *:tunma* *:tunmap*
|
: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
|
||||||
@@ -110,7 +110,7 @@ modes.
|
|||||||
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
||||||
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
|
: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.
|
||||||
Use the <buffer> argument to remove buffer-local
|
Use the <buffer> argument to remove buffer-local
|
||||||
mappings |:map-<buffer>|
|
mappings |:map-<buffer>|
|
||||||
Warning: This also removes the default mappings.
|
Warning: This also removes the default mappings.
|
||||||
@@ -143,7 +143,6 @@ modes.
|
|||||||
:tma[p] {lhs} |mapmode-t| *:tmap_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}
|
|
||||||
|
|
||||||
These commands are used to map a key or key sequence to a string of
|
These commands are used to map a key or key sequence to a string of
|
||||||
characters. You can use this to put command sequences under function keys,
|
characters. You can use this to put command sequences under function keys,
|
||||||
@@ -160,7 +159,6 @@ decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
|
|||||||
that mapping won't get expanded yet, Vim is waiting for another character.
|
that mapping won't get expanded yet, Vim is waiting for another character.
|
||||||
If you type a space, then "foo" will get inserted, plus the space. If you
|
If you type a space, then "foo" will get inserted, plus the space. If you
|
||||||
type "a", then "bar" will get inserted.
|
type "a", then "bar" will get inserted.
|
||||||
{Vi does not allow ambiguous mappings}
|
|
||||||
|
|
||||||
|
|
||||||
1.2 SPECIAL ARGUMENTS *:map-arguments*
|
1.2 SPECIAL ARGUMENTS *:map-arguments*
|
||||||
@@ -1016,45 +1014,40 @@ See |:verbose-cmd| for more information.
|
|||||||
|
|
||||||
*:norea* *:noreabbrev*
|
*:norea* *:noreabbrev*
|
||||||
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
same as ":ab", but no remapping for this {rhs} {not
|
Same as ":ab", but no remapping for this {rhs}.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*:ca* *:cabbrev*
|
*:ca* *:cab* *:cabbrev*
|
||||||
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
same as ":ab", but for Command-line mode only. {not
|
Same as ":ab", but for Command-line mode only.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*:cuna* *:cunabbrev*
|
*:cuna* *:cunabbrev*
|
||||||
:cuna[bbrev] {lhs} same as ":una", but for Command-line mode only. {not
|
:cuna[bbrev] {lhs} Same as ":una", but for Command-line mode only.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*:cnorea* *:cnoreabbrev*
|
*:cnorea* *:cnoreabbrev*
|
||||||
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
same as ":ab", but for Command-line mode only and no
|
same as ":ab", but for Command-line mode only and no
|
||||||
remapping for this {rhs} {not in Vi}
|
remapping for this {rhs}
|
||||||
|
|
||||||
*:ia* *:iabbrev*
|
*:ia* *:iabbrev*
|
||||||
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
same as ":ab", but for Insert mode only. {not in Vi}
|
Same as ":ab", but for Insert mode only.
|
||||||
|
|
||||||
*:iuna* *:iunabbrev*
|
*:iuna* *:iunabbrev*
|
||||||
:iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
|
:iuna[bbrev] {lhs} Same as ":una", but for insert mode only.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*:inorea* *:inoreabbrev*
|
*:inorea* *:inoreabbrev*
|
||||||
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
|
||||||
same as ":ab", but for Insert mode only and no
|
Same as ":ab", but for Insert mode only and no
|
||||||
remapping for this {rhs} {not in Vi}
|
remapping for this {rhs}.
|
||||||
|
|
||||||
*:abc* *:abclear*
|
*:abc* *:abclear*
|
||||||
:abc[lear] [<buffer>] Remove all abbreviations. {not in Vi}
|
:abc[lear] [<buffer>] Remove all abbreviations.
|
||||||
|
|
||||||
*:iabc* *:iabclear*
|
*:iabc* *:iabclear*
|
||||||
:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode. {not in Vi}
|
:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode.
|
||||||
|
|
||||||
*:cabc* *:cabclear*
|
*:cabc* *:cabclear*
|
||||||
:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode. {not
|
:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode.
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*using_CTRL-V*
|
*using_CTRL-V*
|
||||||
It is possible to use special characters in the rhs of an abbreviation.
|
It is possible to use special characters in the rhs of an abbreviation.
|
||||||
@@ -1147,8 +1140,7 @@ to find out what they are defined to.
|
|||||||
The |:scriptnames| command can be used to see which scripts have been sourced
|
The |:scriptnames| command can be used to see which scripts have been sourced
|
||||||
and what their <SNR> number is.
|
and what their <SNR> number is.
|
||||||
|
|
||||||
This is all {not in Vi} and {not available when compiled without the |+eval|
|
This is all {not available when compiled without the |+eval| feature}.
|
||||||
feature}.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. User-defined commands *user-commands*
|
4. User-defined commands *user-commands*
|
||||||
@@ -1193,9 +1185,10 @@ scripts.
|
|||||||
|
|
||||||
:com[mand] *:com* *:command*
|
:com[mand] *:com* *:command*
|
||||||
List all user-defined commands. When listing commands,
|
List all user-defined commands. When listing commands,
|
||||||
the characters in the first two columns are
|
the characters in the first columns are:
|
||||||
! Command has the -bang attribute
|
! Command has the -bang attribute
|
||||||
" Command has the -register attribute
|
" Command has the -register attribute
|
||||||
|
| Command has the -bar attribute
|
||||||
b Command is local to current buffer
|
b Command is local to current buffer
|
||||||
(see below for details on attributes)
|
(see below for details on attributes)
|
||||||
The list can be filtered on command name with
|
The list can be filtered on command name with
|
||||||
@@ -1390,7 +1383,7 @@ Possible attributes are:
|
|||||||
number.
|
number.
|
||||||
-count=N A count (default N) which is specified either in the line
|
-count=N A count (default N) which is specified either in the line
|
||||||
number position, or as an initial argument (like |:Next|).
|
number position, or as an initial argument (like |:Next|).
|
||||||
Specifying -count (without a default) acts like -count=0
|
-count acts like -count=0
|
||||||
|
|
||||||
Note that -range=N and -count=N are mutually exclusive - only one should be
|
Note that -range=N and -count=N are mutually exclusive - only one should be
|
||||||
specified.
|
specified.
|
||||||
@@ -1400,14 +1393,17 @@ It is possible that the special characters in the range like ., $ or % which
|
|||||||
by default correspond to the current line, last line and the whole buffer,
|
by default correspond to the current line, last line and the whole buffer,
|
||||||
relate to arguments, (loaded) buffers, windows or tab pages.
|
relate to arguments, (loaded) buffers, windows or tab pages.
|
||||||
|
|
||||||
Possible values are:
|
Possible values are (second column is the short name used in listing):
|
||||||
-addr=lines Range of lines (this is the default)
|
-addr=lines Range of lines (this is the default for -range)
|
||||||
-addr=arguments Range for arguments
|
-addr=arguments arg Range for arguments
|
||||||
-addr=buffers Range for buffers (also not loaded buffers)
|
-addr=buffers buf Range for buffers (also not loaded buffers)
|
||||||
-addr=loaded_buffers Range for loaded buffers
|
-addr=loaded_buffers load Range for loaded buffers
|
||||||
-addr=windows Range for windows
|
-addr=windows win Range for windows
|
||||||
-addr=tabs Range for tab pages
|
-addr=tabs tab Range for tab pages
|
||||||
-addr=other other kind of range
|
-addr=quickfix qf Range for quickfix entries
|
||||||
|
-addr=other ? other kind of range; can use ".", "$" and "%"
|
||||||
|
as with "lines" (this is the default for
|
||||||
|
-count)
|
||||||
|
|
||||||
|
|
||||||
Special cases ~
|
Special cases ~
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 8.1. Last change: 2018 Jan 21
|
*mbyte.txt* For Vim version 8.1. Last change: 2019 Jul 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -620,6 +620,21 @@ windows maintains a table of which groups of characters are required for a
|
|||||||
locale. You have to specify all the fonts that a locale requires in the
|
locale. You have to specify all the fonts that a locale requires in the
|
||||||
'guifontset' option.
|
'guifontset' option.
|
||||||
|
|
||||||
|
Setting the 'guifontset' option also means that all font names will be handled
|
||||||
|
as a fontset name. Also the ones used for the "font" argument of the
|
||||||
|
|:highlight| command.
|
||||||
|
|
||||||
|
Note the difference between 'guifont' and 'guifontset': In 'guifont'
|
||||||
|
the comma-separated names are alternative names, one of which will be
|
||||||
|
used. In 'guifontset' the whole string is one fontset name,
|
||||||
|
including the commas. It is not possible to specify alternative
|
||||||
|
fontset names.
|
||||||
|
This example works on many X11 systems: >
|
||||||
|
:set guifontset=-*-*-medium-r-normal--16-*-*-*-c-*-*-*
|
||||||
|
<
|
||||||
|
The fonts must match with the current locale. If fonts for the character sets
|
||||||
|
that the current locale uses are not included, setting 'guifontset' will fail.
|
||||||
|
|
||||||
NOTE: The fontset always uses the current locale, even though 'encoding' may
|
NOTE: The fontset always uses the current locale, even though 'encoding' may
|
||||||
be set to use a different charset. In that situation you might want to use
|
be set to use a different charset. In that situation you might want to use
|
||||||
'guifont' and 'guifontwide' instead of 'guifontset'.
|
'guifont' and 'guifontwide' instead of 'guifontset'.
|
||||||
@@ -928,11 +943,12 @@ To input multibyte characters on Windows, you can use an Input Method Editor
|
|||||||
IME many many many times. Because IME with status on is hooking all of your
|
IME many many many times. Because IME with status on is hooking all of your
|
||||||
key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
|
key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
|
||||||
|
|
||||||
This |+multi_byte_ime| feature help this. It reduce times of switch status of
|
The |+multi_byte_ime| feature helps for this. It reduces the number of times
|
||||||
IME manually. In normal mode, there are almost no need working IME, even
|
the IME status has to be switched manually. In Normal mode, there is almost
|
||||||
editing multibyte text. So exiting insert mode with ESC, Vim memorize last
|
no need to use IME, even when editing multibyte text. So when exiting Insert
|
||||||
status of IME and force turn off IME. When re-enter insert mode, Vim revert
|
mode, Vim memorizes the last status of IME and turns off IME. When
|
||||||
IME status to that memorized automatically.
|
re-entering Insert mode, Vim sets the IME status to that memorized status
|
||||||
|
automatically.
|
||||||
|
|
||||||
This works on not only insert-normal mode, but also search-command input and
|
This works on not only insert-normal mode, but also search-command input and
|
||||||
replace mode.
|
replace mode.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*message.txt* For Vim version 8.1. Last change: 2018 Dec 30
|
*message.txt* For Vim version 8.1. Last change: 2019 May 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -247,6 +247,9 @@ format of the file. The file will not be marked unmodified. If you care
|
|||||||
about the loss of information, set the 'fileencoding' option to another value
|
about the loss of information, set the 'fileencoding' option to another value
|
||||||
that can handle the characters in the buffer and write again. If you don't
|
that can handle the characters in the buffer and write again. If you don't
|
||||||
care, you can abandon the buffer or reset the 'modified' option.
|
care, you can abandon the buffer or reset the 'modified' option.
|
||||||
|
If there is a backup file, when 'writebackup' or 'backup' is set, it will not
|
||||||
|
be deleted, so you can move it back into place if you want to discard the
|
||||||
|
changes.
|
||||||
|
|
||||||
*E302* >
|
*E302* >
|
||||||
Could not rename swap file
|
Could not rename swap file
|
||||||
@@ -703,11 +706,13 @@ Or use ":set nocp".
|
|||||||
This happens when an Ex command with mandatory argument(s) was executed, but
|
This happens when an Ex command with mandatory argument(s) was executed, but
|
||||||
no argument has been specified.
|
no argument has been specified.
|
||||||
|
|
||||||
*E474* *E475* >
|
*E474* *E475* *E983* >
|
||||||
Invalid argument
|
Invalid argument
|
||||||
Invalid argument: {arg}
|
Invalid argument: {arg}
|
||||||
|
Duplicate argument: {arg}
|
||||||
|
|
||||||
An Ex command has been executed, but an invalid argument has been specified.
|
An Ex command or function has been executed, but an invalid argument has been
|
||||||
|
specified.
|
||||||
|
|
||||||
*E488* >
|
*E488* >
|
||||||
Trailing characters
|
Trailing characters
|
||||||
@@ -796,7 +801,6 @@ and the screen is about to be redrawn:
|
|||||||
like pressing <Space>. This makes it impossible to select text though.
|
like pressing <Space>. This makes it impossible to select text though.
|
||||||
-> For the GUI clicking the left mouse button in the last line works like
|
-> For the GUI clicking the left mouse button in the last line works like
|
||||||
pressing <Space>.
|
pressing <Space>.
|
||||||
{Vi: only ":" commands are interpreted}
|
|
||||||
|
|
||||||
If you accidentally hit <Enter> or <Space> and you want to see the displayed
|
If you accidentally hit <Enter> or <Space> and you want to see the displayed
|
||||||
text then use |g<|. This only works when 'more' is set.
|
text then use |g<|. This only works when 'more' is set.
|
||||||
@@ -828,10 +832,10 @@ Type effect ~
|
|||||||
G down all the way, until the hit-enter
|
G down all the way, until the hit-enter
|
||||||
prompt
|
prompt
|
||||||
|
|
||||||
<BS> or k or <Up> one line back (*)
|
<BS> or k or <Up> one line back
|
||||||
u up a page (half a screen) (*)
|
u up a page (half a screen)
|
||||||
b or <PageUp> back a screen (*)
|
b or <PageUp> back a screen
|
||||||
g back to the start (*)
|
g back to the start
|
||||||
|
|
||||||
q, <Esc> or CTRL-C stop the listing
|
q, <Esc> or CTRL-C stop the listing
|
||||||
: stop the listing and enter a
|
: stop the listing and enter a
|
||||||
@@ -840,13 +844,11 @@ Type effect ~
|
|||||||
the clipboard ("* and "+ registers)
|
the clipboard ("* and "+ registers)
|
||||||
{menu-entry} what the menu is defined to in
|
{menu-entry} what the menu is defined to in
|
||||||
Cmdline-mode.
|
Cmdline-mode.
|
||||||
<LeftMouse> (**) next page
|
<LeftMouse> next page (*)
|
||||||
|
|
||||||
Any other key causes the meaning of the keys to be displayed.
|
Any other key causes the meaning of the keys to be displayed.
|
||||||
|
|
||||||
(*) backwards scrolling is {not in Vi}. Only scrolls back to where messages
|
(*) Clicking the left mouse button only works:
|
||||||
started to scroll.
|
|
||||||
(**) Clicking the left mouse button only works:
|
|
||||||
- For the GUI: in the last line of the screen.
|
- For the GUI: in the last line of the screen.
|
||||||
- When 'r' is included in 'mouse' (but then selecting text won't work).
|
- When 'r' is included in 'mouse' (but then selecting text won't work).
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*mlang.txt* For Vim version 8.1. Last change: 2018 May 06
|
*mlang.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -17,7 +17,6 @@ The basics are explained in the user manual: |usr_45.txt|.
|
|||||||
|
|
||||||
Also see |help-translated| for multi-language help.
|
Also see |help-translated| for multi-language help.
|
||||||
|
|
||||||
{Vi does not have any of these features}
|
|
||||||
{not available when compiled without the |+multi_lang| feature}
|
{not available when compiled without the |+multi_lang| feature}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 8.1. Last change: 2019 Mar 02
|
*motion.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -53,6 +53,7 @@ or change text. The following operators are available:
|
|||||||
|!| ! filter through an external program
|
|!| ! filter through an external program
|
||||||
|=| = filter through 'equalprg' or C-indenting if empty
|
|=| = filter through 'equalprg' or C-indenting if empty
|
||||||
|gq| gq text formatting
|
|gq| gq text formatting
|
||||||
|
|gw| gw text formatting with no cursor movement
|
||||||
|g?| g? ROT13 encoding
|
|g?| g? ROT13 encoding
|
||||||
|>| > shift right
|
|>| > shift right
|
||||||
|<| < shift left
|
|<| < shift left
|
||||||
@@ -185,7 +186,7 @@ l or *l*
|
|||||||
TEXT column (if possible). Most other commands stay
|
TEXT column (if possible). Most other commands stay
|
||||||
in the same SCREEN column. <Home> works like "1|",
|
in the same SCREEN column. <Home> works like "1|",
|
||||||
which differs from "0" when the line starts with a
|
which differs from "0" when the line starts with a
|
||||||
<Tab>. {not in Vi}
|
<Tab>.
|
||||||
|
|
||||||
*^*
|
*^*
|
||||||
^ To the first non-blank character of the line.
|
^ To the first non-blank character of the line.
|
||||||
@@ -202,7 +203,7 @@ $ or <End> To the end of the line. When a count is given also go
|
|||||||
|
|
||||||
*g_*
|
*g_*
|
||||||
g_ To the last non-blank character of the line and
|
g_ To the last non-blank character of the line and
|
||||||
[count - 1] lines downward |inclusive|. {not in Vi}
|
[count - 1] lines downward |inclusive|.
|
||||||
|
|
||||||
*g0* *g<Home>*
|
*g0* *g<Home>*
|
||||||
g0 or g<Home> When lines wrap ('wrap' on): To the first character of
|
g0 or g<Home> When lines wrap ('wrap' on): To the first character of
|
||||||
@@ -211,7 +212,7 @@ g0 or g<Home> When lines wrap ('wrap' on): To the first character of
|
|||||||
When lines don't wrap ('wrap' off): To the leftmost
|
When lines don't wrap ('wrap' off): To the leftmost
|
||||||
character of the current line that is on the screen.
|
character of the current line that is on the screen.
|
||||||
Differs from "0" when the first character of the line
|
Differs from "0" when the first character of the line
|
||||||
is not on the screen. {not in Vi}
|
is not on the screen.
|
||||||
|
|
||||||
*g^*
|
*g^*
|
||||||
g^ When lines wrap ('wrap' on): To the first non-blank
|
g^ When lines wrap ('wrap' on): To the first non-blank
|
||||||
@@ -220,12 +221,11 @@ g^ When lines wrap ('wrap' on): To the first non-blank
|
|||||||
When lines don't wrap ('wrap' off): To the leftmost
|
When lines don't wrap ('wrap' off): To the leftmost
|
||||||
non-blank character of the current line that is on the
|
non-blank character of the current line that is on the
|
||||||
screen. Differs from "^" when the first non-blank
|
screen. Differs from "^" when the first non-blank
|
||||||
character of the line is not on the screen. {not in
|
character of the line is not on the screen.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*gm*
|
*gm*
|
||||||
gm Like "g0", but half a screenwidth to the right (or as
|
gm Like "g0", but half a screenwidth to the right (or as
|
||||||
much as possible). {not in Vi}
|
much as possible).
|
||||||
|
|
||||||
*g$* *g<End>*
|
*g$* *g<End>*
|
||||||
g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
||||||
@@ -240,7 +240,6 @@ g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
|||||||
instead of going to the end of the line.
|
instead of going to the end of the line.
|
||||||
When 'virtualedit' is enabled moves to the end of the
|
When 'virtualedit' is enabled moves to the end of the
|
||||||
screen line.
|
screen line.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*bar*
|
*bar*
|
||||||
| To screen column [count] in the current line.
|
| To screen column [count] in the current line.
|
||||||
@@ -296,12 +295,12 @@ CTRL-N [count] lines downward |linewise|.
|
|||||||
gk or *gk* *g<Up>*
|
gk or *gk* *g<Up>*
|
||||||
g<Up> [count] display lines upward. |exclusive| motion.
|
g<Up> [count] display lines upward. |exclusive| motion.
|
||||||
Differs from 'k' when lines wrap, and when used with
|
Differs from 'k' when lines wrap, and when used with
|
||||||
an operator, because it's not linewise. {not in Vi}
|
an operator, because it's not linewise.
|
||||||
|
|
||||||
gj or *gj* *g<Down>*
|
gj or *gj* *g<Down>*
|
||||||
g<Down> [count] display lines downward. |exclusive| motion.
|
g<Down> [count] display lines downward. |exclusive| motion.
|
||||||
Differs from 'j' when lines wrap, and when used with
|
Differs from 'j' when lines wrap, and when used with
|
||||||
an operator, because it's not linewise. {not in Vi}
|
an operator, because it's not linewise.
|
||||||
|
|
||||||
*-*
|
*-*
|
||||||
- <minus> [count] lines upward, on the first non-blank
|
- <minus> [count] lines upward, on the first non-blank
|
||||||
@@ -324,7 +323,7 @@ G Goto line [count], default last line, on the first
|
|||||||
|
|
||||||
*<C-End>*
|
*<C-End>*
|
||||||
<C-End> Goto line [count], default last line, on the last
|
<C-End> Goto line [count], default last line, on the last
|
||||||
character |inclusive|. {not in Vi}
|
character |inclusive|.
|
||||||
|
|
||||||
<C-Home> or *gg* *<C-Home>*
|
<C-Home> or *gg* *<C-Home>*
|
||||||
gg Goto line [count], default first line, on the first
|
gg Goto line [count], default first line, on the first
|
||||||
@@ -342,7 +341,7 @@ gg Goto line [count], default first line, on the first
|
|||||||
non-blank in the line |linewise|. To compute the new
|
non-blank in the line |linewise|. To compute the new
|
||||||
line number this formula is used:
|
line number this formula is used:
|
||||||
({count} * number-of-lines + 99) / 100
|
({count} * number-of-lines + 99) / 100
|
||||||
See also 'startofline' option. {not in Vi}
|
See also 'startofline' option.
|
||||||
|
|
||||||
:[range]go[to] [count] *:go* *:goto* *go*
|
:[range]go[to] [count] *:go* *:goto* *go*
|
||||||
[count]go Go to [count] byte in the buffer. Default [count] is
|
[count]go Go to [count] byte in the buffer. Default [count] is
|
||||||
@@ -352,7 +351,6 @@ gg Goto line [count], default first line, on the first
|
|||||||
'fileformat' setting.
|
'fileformat' setting.
|
||||||
Also see the |line2byte()| function, and the 'o'
|
Also see the |line2byte()| function, and the 'o'
|
||||||
option in 'statusline'.
|
option in 'statusline'.
|
||||||
{not in Vi}
|
|
||||||
{not available when compiled without the
|
{not available when compiled without the
|
||||||
|+byte_offset| feature}
|
|+byte_offset| feature}
|
||||||
|
|
||||||
@@ -412,9 +410,7 @@ WORD before the fold.
|
|||||||
|
|
||||||
Special case: "cw" and "cW" are treated like "ce" and "cE" if the cursor is
|
Special case: "cw" and "cW" are treated like "ce" and "cE" if the cursor is
|
||||||
on a non-blank. This is because "cw" is interpreted as change-word, and a
|
on a non-blank. This is because "cw" is interpreted as change-word, and a
|
||||||
word does not include the following white space. {Vi: "cw" when on a blank
|
word does not include the following white space.
|
||||||
followed by other blanks changes only the first blank; this is probably a
|
|
||||||
bug, because "dw" deletes all the blanks}
|
|
||||||
|
|
||||||
Another special case: When using the "w" motion in combination with an
|
Another special case: When using the "w" motion in combination with an
|
||||||
operator and the last word moved over is at the end of a line, the end of
|
operator and the last word moved over is at the end of a line, the end of
|
||||||
@@ -516,7 +512,6 @@ including white space, the commands starting with "i" select an "inner" object
|
|||||||
without white space, or just the white space. Thus the "inner" commands
|
without white space, or just the white space. Thus the "inner" commands
|
||||||
always select less text than the "a" commands.
|
always select less text than the "a" commands.
|
||||||
|
|
||||||
These commands are {not in Vi}.
|
|
||||||
These commands are not available when the |+textobjects| feature has been
|
These commands are not available when the |+textobjects| feature has been
|
||||||
disabled at compile time.
|
disabled at compile time.
|
||||||
Also see `gn` and `gN`, operating on the last search pattern.
|
Also see `gn` and `gN`, operating on the last search pattern.
|
||||||
@@ -780,7 +775,7 @@ m< or m> Set the |'<| or |'>| mark. Useful to change what the
|
|||||||
|
|
||||||
*'A* *'0* *`A* *`0*
|
*'A* *'0* *`A* *`0*
|
||||||
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
|
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
|
||||||
a motion command when in another file). {not in Vi}
|
a motion command when in another file).
|
||||||
|
|
||||||
*g'* *g'a* *g`* *g`a*
|
*g'* *g'a* *g`* *g`a*
|
||||||
g'{mark} g`{mark}
|
g'{mark} g`{mark}
|
||||||
@@ -790,18 +785,17 @@ g'{mark} g`{mark}
|
|||||||
< jumps to the last known position in a file. See
|
< jumps to the last known position in a file. See
|
||||||
$VIMRUNTIME/vimrc_example.vim.
|
$VIMRUNTIME/vimrc_example.vim.
|
||||||
Also see |:keepjumps|.
|
Also see |:keepjumps|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:marks*
|
*:marks*
|
||||||
:marks List all the current marks (not a motion command).
|
:marks List all the current marks (not a motion command).
|
||||||
The |'(|, |')|, |'{| and |'}| marks are not listed.
|
The |'(|, |')|, |'{| and |'}| marks are not listed.
|
||||||
The first column has number zero.
|
The first column has number zero.
|
||||||
{not in Vi}
|
|
||||||
*E283*
|
*E283*
|
||||||
:marks {arg} List the marks that are mentioned in {arg} (not a
|
:marks {arg} List the marks that are mentioned in {arg} (not a
|
||||||
motion command). For example: >
|
motion command). For example: >
|
||||||
:marks aB
|
:marks aB
|
||||||
< to list marks 'a' and 'B'. {not in Vi}
|
< to list marks 'a' and 'B'.
|
||||||
|
|
||||||
*:delm* *:delmarks*
|
*:delm* *:delmarks*
|
||||||
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted
|
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted
|
||||||
@@ -815,11 +809,9 @@ g'{mark} g`{mark}
|
|||||||
:delmarks p-z deletes marks in the range p to z
|
:delmarks p-z deletes marks in the range p to z
|
||||||
:delmarks ^.[] deletes marks ^ . [ ]
|
:delmarks ^.[] deletes marks ^ . [ ]
|
||||||
:delmarks \" deletes mark "
|
:delmarks \" deletes mark "
|
||||||
< {not in Vi}
|
|
||||||
|
|
||||||
:delm[arks]! Delete all marks for the current buffer, but not marks
|
:delm[arks]! Delete all marks for the current buffer, but not marks
|
||||||
A-Z or 0-9.
|
A-Z or 0-9.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
A mark is not visible in any way. It is just a position in the file that is
|
A mark is not visible in any way. It is just a position in the file that is
|
||||||
remembered. Do not confuse marks with named registers, they are totally
|
remembered. Do not confuse marks with named registers, they are totally
|
||||||
@@ -838,12 +830,12 @@ deletes the lines from the cursor position to mark 't'. Hint: Use mark 't' for
|
|||||||
Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and
|
Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and
|
||||||
redo.
|
redo.
|
||||||
|
|
||||||
Uppercase marks 'A to 'Z include the file name. {Vi: no uppercase marks} You
|
Uppercase marks 'A to 'Z include the file name. You can use them to jump from
|
||||||
can use them to jump from file to file. You can only use an uppercase mark
|
file to file. You can only use an uppercase mark with an operator if the mark
|
||||||
with an operator if the mark is in the current file. The line number of the
|
is in the current file. The line number of the mark remains correct, even if
|
||||||
mark remains correct, even if you insert/delete lines or edit another file for
|
you insert/delete lines or edit another file for a moment. When the 'viminfo'
|
||||||
a moment. When the 'viminfo' option is not empty, uppercase marks are kept in
|
option is not empty, uppercase marks are kept in the .viminfo file. See
|
||||||
the .viminfo file. See |viminfo-file-marks|.
|
|viminfo-file-marks|.
|
||||||
|
|
||||||
Numbered marks '0 to '9 are quite different. They can not be set directly.
|
Numbered marks '0 to '9 are quite different. They can not be set directly.
|
||||||
They are only present when using a viminfo file |viminfo-file|. Basically '0
|
They are only present when using a viminfo file |viminfo-file|. Basically '0
|
||||||
@@ -854,11 +846,11 @@ Numbered mark should be stored. See |viminfo-file-marks|.
|
|||||||
|
|
||||||
*'[* *`[*
|
*'[* *`[*
|
||||||
'[ `[ To the first character of the previously changed
|
'[ `[ To the first character of the previously changed
|
||||||
or yanked text. {not in Vi}
|
or yanked text.
|
||||||
|
|
||||||
*']* *`]*
|
*']* *`]*
|
||||||
'] `] To the last character of the previously changed or
|
'] `] To the last character of the previously changed or
|
||||||
yanked text. {not in Vi}
|
yanked text.
|
||||||
|
|
||||||
After executing an operator the Cursor is put at the beginning of the text
|
After executing an operator the Cursor is put at the beginning of the text
|
||||||
that was operated upon. After a put command ("p" or "P") the cursor is
|
that was operated upon. After a put command ("p" or "P") the cursor is
|
||||||
@@ -876,7 +868,7 @@ was made yet in the current file.
|
|||||||
'< `< To the first line or character of the last selected
|
'< `< To the first line or character of the last selected
|
||||||
Visual area in the current buffer. For block mode it
|
Visual area in the current buffer. For block mode it
|
||||||
may also be the last character in the first line (to
|
may also be the last character in the first line (to
|
||||||
be able to define the block). {not in Vi}.
|
be able to define the block).
|
||||||
|
|
||||||
*'>* *`>*
|
*'>* *`>*
|
||||||
'> `> To the last line or character of the last selected
|
'> `> To the last line or character of the last selected
|
||||||
@@ -884,7 +876,7 @@ was made yet in the current file.
|
|||||||
may also be the first character of the last line (to
|
may also be the first character of the last line (to
|
||||||
be able to define the block). Note that 'selection'
|
be able to define the block). Note that 'selection'
|
||||||
applies, the position may be just after the Visual
|
applies, the position may be just after the Visual
|
||||||
area. {not in Vi}.
|
area.
|
||||||
|
|
||||||
*''* *``*
|
*''* *``*
|
||||||
'' `` To the position before the latest jump, or where the
|
'' `` To the position before the latest jump, or where the
|
||||||
@@ -900,13 +892,12 @@ was made yet in the current file.
|
|||||||
Only one position is remembered per buffer, not one
|
Only one position is remembered per buffer, not one
|
||||||
for each window. As long as the buffer is visible in
|
for each window. As long as the buffer is visible in
|
||||||
a window the position won't be changed.
|
a window the position won't be changed.
|
||||||
{not in Vi}.
|
|
||||||
|
|
||||||
*'^* *`^*
|
*'^* *`^*
|
||||||
'^ `^ To the position where the cursor was the last time
|
'^ `^ To the position where the cursor was the last time
|
||||||
when Insert mode was stopped. This is used by the
|
when Insert mode was stopped. This is used by the
|
||||||
|gi| command. Not set when the |:keepjumps| command
|
|gi| command. Not set when the |:keepjumps| command
|
||||||
modifier was used. {not in Vi}
|
modifier was used.
|
||||||
|
|
||||||
*'.* *`.*
|
*'.* *`.*
|
||||||
'. `. To the position where the last change was made. The
|
'. `. To the position where the last change was made. The
|
||||||
@@ -916,30 +907,29 @@ was made yet in the current file.
|
|||||||
command changed. For example when inserting a word,
|
command changed. For example when inserting a word,
|
||||||
the position will be on the last character.
|
the position will be on the last character.
|
||||||
To jump to older changes use |g;|.
|
To jump to older changes use |g;|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*'(* *`(*
|
*'(* *`(*
|
||||||
'( `( To the start of the current sentence, like the |(|
|
'( `( To the start of the current sentence, like the |(|
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
*')* *`)*
|
*')* *`)*
|
||||||
') `) To the end of the current sentence, like the |)|
|
') `) To the end of the current sentence, like the |)|
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
*'{* *`{*
|
*'{* *`{*
|
||||||
'{ `{ To the start of the current paragraph, like the |{|
|
'{ `{ To the start of the current paragraph, like the |{|
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
*'}* *`}*
|
*'}* *`}*
|
||||||
'} `} To the end of the current paragraph, like the |}|
|
'} `} To the end of the current paragraph, like the |}|
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
These commands are not marks themselves, but jump to a mark:
|
These commands are not marks themselves, but jump to a mark:
|
||||||
|
|
||||||
*]'*
|
*]'*
|
||||||
]' [count] times to next line with a lowercase mark below
|
]' [count] times to next line with a lowercase mark below
|
||||||
the cursor, on the first non-blank character in the
|
the cursor, on the first non-blank character in the
|
||||||
line. {not in Vi}
|
line.
|
||||||
|
|
||||||
*]`*
|
*]`*
|
||||||
]` [count] times to lowercase mark after the cursor. {not
|
]` [count] times to lowercase mark after the cursor. {not
|
||||||
@@ -948,14 +938,13 @@ These commands are not marks themselves, but jump to a mark:
|
|||||||
*['*
|
*['*
|
||||||
[' [count] times to previous line with a lowercase mark
|
[' [count] times to previous line with a lowercase mark
|
||||||
before the cursor, on the first non-blank character in
|
before the cursor, on the first non-blank character in
|
||||||
the line. {not in Vi}
|
the line.
|
||||||
|
|
||||||
*[`*
|
*[`*
|
||||||
[` [count] times to lowercase mark before the cursor.
|
[` [count] times to lowercase mark before the cursor.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
:loc[kmarks] {command} *:loc* *:lockmarks*
|
:loc[kmarks] {command} *:loc* *:lock* *:lockmarks*
|
||||||
Execute {command} without adjusting marks. This is
|
Execute {command} without adjusting marks. This is
|
||||||
useful when changing text in a way that the line count
|
useful when changing text in a way that the line count
|
||||||
will be the same when the change has completed.
|
will be the same when the change has completed.
|
||||||
@@ -981,7 +970,7 @@ These commands are not marks themselves, but jump to a mark:
|
|||||||
- folds
|
- folds
|
||||||
- diffs
|
- diffs
|
||||||
|
|
||||||
:kee[pmarks] {command} *:kee* *:keepmarks*
|
:kee[pmarks] {command} *:kee* *:keep* *:keepmarks*
|
||||||
Currently only has effect for the filter command
|
Currently only has effect for the filter command
|
||||||
|:range!|:
|
|:range!|:
|
||||||
- When the number of lines after filtering is equal to
|
- When the number of lines after filtering is equal to
|
||||||
@@ -1030,23 +1019,19 @@ commands that start editing a new file.
|
|||||||
*CTRL-O*
|
*CTRL-O*
|
||||||
CTRL-O Go to [count] Older cursor position in jump list
|
CTRL-O Go to [count] Older cursor position in jump list
|
||||||
(not a motion command).
|
(not a motion command).
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
<Tab> or *CTRL-I* *<Tab>*
|
<Tab> or *CTRL-I* *<Tab>*
|
||||||
CTRL-I Go to [count] newer cursor position in jump list
|
CTRL-I Go to [count] newer cursor position in jump list
|
||||||
(not a motion command).
|
(not a motion command).
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
*:ju* *:jumps*
|
*:ju* *:jumps*
|
||||||
:ju[mps] Print the jump list (not a motion command).
|
:ju[mps] Print the jump list (not a motion command).
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
*:cle* *:clearjumps*
|
*:cle* *:clearjumps*
|
||||||
:cle[arjumps] Clear the jump list of the current window.
|
:cle[arjumps] Clear the jump list of the current window.
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
*jumplist*
|
*jumplist*
|
||||||
@@ -1131,14 +1116,12 @@ g; Go to [count] older position in change list.
|
|||||||
positions go to the oldest change.
|
positions go to the oldest change.
|
||||||
If there is no older change an error message is given.
|
If there is no older change an error message is given.
|
||||||
(not a motion command)
|
(not a motion command)
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
*g,* *E663*
|
*g,* *E663*
|
||||||
g, Go to [count] newer cursor position in change list.
|
g, Go to [count] newer cursor position in change list.
|
||||||
Just like |g;| but in the opposite direction.
|
Just like |g;| but in the opposite direction.
|
||||||
(not a motion command)
|
(not a motion command)
|
||||||
{not in Vi}
|
|
||||||
{not available without the |+jumplist| feature}
|
{not available without the |+jumplist| feature}
|
||||||
|
|
||||||
When using a count you jump as far back or forward as possible. Thus you can
|
When using a count you jump as far back or forward as possible. Thus you can
|
||||||
@@ -1229,19 +1212,19 @@ remembered.
|
|||||||
|
|
||||||
*[(*
|
*[(*
|
||||||
[( go to [count] previous unmatched '('.
|
[( go to [count] previous unmatched '('.
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
*[{*
|
*[{*
|
||||||
[{ go to [count] previous unmatched '{'.
|
[{ go to [count] previous unmatched '{'.
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
*])*
|
*])*
|
||||||
]) go to [count] next unmatched ')'.
|
]) go to [count] next unmatched ')'.
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
*]}*
|
*]}*
|
||||||
]} go to [count] next unmatched '}'.
|
]} go to [count] next unmatched '}'.
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
The above four commands can be used to go to the start or end of the current
|
The above four commands can be used to go to the start or end of the current
|
||||||
code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
|
code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
|
||||||
@@ -1254,25 +1237,25 @@ bring you back to the switch statement.
|
|||||||
similar structured language). When not before the
|
similar structured language). When not before the
|
||||||
start of a method, jump to the start or end of the
|
start of a method, jump to the start or end of the
|
||||||
class. When no '{' is found after the cursor, this is
|
class. When no '{' is found after the cursor, this is
|
||||||
an error. |exclusive| motion. {not in Vi}
|
an error. |exclusive| motion.
|
||||||
*]M*
|
*]M*
|
||||||
]M Go to [count] next end of a method (for Java or
|
]M Go to [count] next end of a method (for Java or
|
||||||
similar structured language). When not before the end
|
similar structured language). When not before the end
|
||||||
of a method, jump to the start or end of the class.
|
of a method, jump to the start or end of the class.
|
||||||
When no '}' is found after the cursor, this is an
|
When no '}' is found after the cursor, this is an
|
||||||
error. |exclusive| motion. {not in Vi}
|
error. |exclusive| motion.
|
||||||
*[m*
|
*[m*
|
||||||
[m Go to [count] previous start of a method (for Java or
|
[m Go to [count] previous start of a method (for Java or
|
||||||
similar structured language). When not after the
|
similar structured language). When not after the
|
||||||
start of a method, jump to the start or end of the
|
start of a method, jump to the start or end of the
|
||||||
class. When no '{' is found before the cursor this is
|
class. When no '{' is found before the cursor this is
|
||||||
an error. |exclusive| motion. {not in Vi}
|
an error. |exclusive| motion.
|
||||||
*[M*
|
*[M*
|
||||||
[M Go to [count] previous end of a method (for Java or
|
[M Go to [count] previous end of a method (for Java or
|
||||||
similar structured language). When not after the
|
similar structured language). When not after the
|
||||||
end of a method, jump to the start or end of the
|
end of a method, jump to the start or end of the
|
||||||
class. When no '}' is found before the cursor this is
|
class. When no '}' is found before the cursor this is
|
||||||
an error. |exclusive| motion. {not in Vi}
|
an error. |exclusive| motion.
|
||||||
|
|
||||||
The above two commands assume that the file contains a class with methods.
|
The above two commands assume that the file contains a class with methods.
|
||||||
The class definition is surrounded in '{' and '}'. Each method in the class
|
The class definition is surrounded in '{' and '}'. Each method in the class
|
||||||
@@ -1295,11 +1278,11 @@ Using "3[m" will jump to the start of the class.
|
|||||||
|
|
||||||
*[#*
|
*[#*
|
||||||
[# go to [count] previous unmatched "#if" or "#else".
|
[# go to [count] previous unmatched "#if" or "#else".
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
*]#*
|
*]#*
|
||||||
]# go to [count] next unmatched "#else" or "#endif".
|
]# go to [count] next unmatched "#else" or "#endif".
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
These two commands work in C programs that contain #if/#else/#endif
|
These two commands work in C programs that contain #if/#else/#endif
|
||||||
constructs. It brings you to the start or end of the #if/#else/#endif where
|
constructs. It brings you to the start or end of the #if/#else/#endif where
|
||||||
@@ -1307,11 +1290,11 @@ the current line is included. You can then use "%" to go to the matching line.
|
|||||||
|
|
||||||
*[star* *[/*
|
*[star* *[/*
|
||||||
[* or [/ go to [count] previous start of a C comment "/*".
|
[* or [/ go to [count] previous start of a C comment "/*".
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
*]star* *]/*
|
*]star* *]/*
|
||||||
]* or ]/ go to [count] next end of a C comment "*/".
|
]* or ]/ go to [count] next end of a C comment "*/".
|
||||||
|exclusive| motion. {not in Vi}
|
|exclusive| motion.
|
||||||
|
|
||||||
|
|
||||||
*H*
|
*H*
|
||||||
@@ -1339,6 +1322,6 @@ L To line [count] from bottom of window (default: Last
|
|||||||
<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
|
||||||
position is in a status line, that window is made the
|
position is in a status line, that window is made the
|
||||||
active window and the cursor is not moved. {not in Vi}
|
active window and the cursor is not moved.
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*netbeans.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
*netbeans.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||||
@@ -24,7 +24,6 @@ Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
|
|||||||
10.4. Obtaining the External Editor Module |obtaining-exted|
|
10.4. Obtaining the External Editor Module |obtaining-exted|
|
||||||
10.5. Setting up NetBeans to run with Vim |netbeans-setup|
|
10.5. Setting up NetBeans to run with Vim |netbeans-setup|
|
||||||
|
|
||||||
{Vi does not have any of these features}
|
|
||||||
{only available when compiled with the |+netbeans_intg| feature}
|
{only available when compiled with the |+netbeans_intg| feature}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*os_mac.txt* For Vim version 8.1. Last change: 2018 Jan 21
|
*os_mac.txt* For Vim version 8.1. Last change: 2019 Apr 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pattern.txt* For Vim version 8.1. Last change: 2019 Feb 21
|
*pattern.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -61,11 +61,11 @@ explanations are in chapter 27 |usr_27.txt|.
|
|||||||
n Repeat the latest "/" or "?" [count] times.
|
n Repeat the latest "/" or "?" [count] times.
|
||||||
If the cursor doesn't move the search is repeated with
|
If the cursor doesn't move the search is repeated with
|
||||||
count + 1.
|
count + 1.
|
||||||
|last-pattern| {Vi: no count}
|
|last-pattern|
|
||||||
|
|
||||||
*N*
|
*N*
|
||||||
N Repeat the latest "/" or "?" [count] times in
|
N Repeat the latest "/" or "?" [count] times in
|
||||||
opposite direction. |last-pattern| {Vi: no count}
|
opposite direction. |last-pattern|
|
||||||
|
|
||||||
*star* *E348* *E349*
|
*star* *E348* *E349*
|
||||||
* Search forward for the [count]'th occurrence of the
|
* Search forward for the [count]'th occurrence of the
|
||||||
@@ -78,24 +78,24 @@ N Repeat the latest "/" or "?" [count] times in
|
|||||||
4. the first non-blank word after the cursor,
|
4. the first non-blank word after the cursor,
|
||||||
in the current line
|
in the current line
|
||||||
Only whole keywords are searched for, like with the
|
Only whole keywords are searched for, like with the
|
||||||
command "/\<keyword\>". |exclusive| {not in Vi}
|
command "/\<keyword\>". |exclusive|
|
||||||
'ignorecase' is used, 'smartcase' is not.
|
'ignorecase' is used, 'smartcase' is not.
|
||||||
|
|
||||||
*#*
|
*#*
|
||||||
# Same as "*", but search backward. The pound sign
|
# Same as "*", but search backward. The pound sign
|
||||||
(character 163) also works. If the "#" key works as
|
(character 163) also works. If the "#" key works as
|
||||||
backspace, try using "stty erase <BS>" before starting
|
backspace, try using "stty erase <BS>" before starting
|
||||||
Vim (<BS> is CTRL-H or a real backspace). {not in Vi}
|
Vim (<BS> is CTRL-H or a real backspace).
|
||||||
|
|
||||||
*gstar*
|
*gstar*
|
||||||
g* Like "*", but don't put "\<" and "\>" around the word.
|
g* Like "*", but don't put "\<" and "\>" around the word.
|
||||||
This makes the search also find matches that are not a
|
This makes the search also find matches that are not a
|
||||||
whole word. {not in Vi}
|
whole word.
|
||||||
|
|
||||||
*g#*
|
*g#*
|
||||||
g# Like "#", but don't put "\<" and "\>" around the word.
|
g# Like "#", but don't put "\<" and "\>" around the word.
|
||||||
This makes the search also find matches that are not a
|
This makes the search also find matches that are not a
|
||||||
whole word. {not in Vi}
|
whole word.
|
||||||
|
|
||||||
*gd*
|
*gd*
|
||||||
gd Goto local Declaration. When the cursor is on a local
|
gd Goto local Declaration. When the cursor is on a local
|
||||||
@@ -113,22 +113,21 @@ gd Goto local Declaration. When the cursor is on a local
|
|||||||
searched use the commands listed in |include-search|.
|
searched use the commands listed in |include-search|.
|
||||||
After this command |n| searches forward for the next
|
After this command |n| searches forward for the next
|
||||||
match (not backward).
|
match (not backward).
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*gD*
|
*gD*
|
||||||
gD Goto global Declaration. When the cursor is on a
|
gD Goto global Declaration. When the cursor is on a
|
||||||
global variable that is defined in the file, this
|
global variable that is defined in the file, this
|
||||||
command will jump to its declaration. This works just
|
command will jump to its declaration. This works just
|
||||||
like "gd", except that the search for the keyword
|
like "gd", except that the search for the keyword
|
||||||
always starts in line 1. {not in Vi}
|
always starts in line 1.
|
||||||
|
|
||||||
*1gd*
|
*1gd*
|
||||||
1gd Like "gd", but ignore matches inside a {} block that
|
1gd Like "gd", but ignore matches inside a {} block that
|
||||||
ends before the cursor position. {not in Vi}
|
ends before the cursor position.
|
||||||
|
|
||||||
*1gD*
|
*1gD*
|
||||||
1gD Like "gD", but ignore matches inside a {} block that
|
1gD Like "gD", but ignore matches inside a {} block that
|
||||||
ends before the cursor position. {not in Vi}
|
ends before the cursor position.
|
||||||
|
|
||||||
*CTRL-C*
|
*CTRL-C*
|
||||||
CTRL-C Interrupt current (search) command. Use CTRL-Break on
|
CTRL-C Interrupt current (search) command. Use CTRL-Break on
|
||||||
@@ -152,6 +151,17 @@ use <Esc> to abandon the search.
|
|||||||
All matches for the last used search pattern will be highlighted if you set
|
All matches for the last used search pattern will be highlighted if you set
|
||||||
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
|
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
|
||||||
|
|
||||||
|
When 'shortmess' does not include the "S" flag, Vim will automatically show an
|
||||||
|
index, on which the cursor is. This can look like this: >
|
||||||
|
|
||||||
|
[1/5] Cursor is on first of 5 matches.
|
||||||
|
[1/>99] Cursor is on first of more than 99 matches.
|
||||||
|
[>99/>99] Cursor is after 99 match of more than 99 matches.
|
||||||
|
[?/??] Unknown how many matches exists, generating the
|
||||||
|
statistics was aborted because of search timeout.
|
||||||
|
|
||||||
|
Note: the count does not take offset into account.
|
||||||
|
|
||||||
When no match is found you get the error: *E486* Pattern not found
|
When no match is found you get the error: *E486* Pattern not found
|
||||||
Note that for the |:global| command this behaves like a normal message, for Vi
|
Note that for the |:global| command this behaves like a normal message, for Vi
|
||||||
compatibility. For the |:s| command the "e" flag can be used to avoid the
|
compatibility. For the |:s| command the "e" flag can be used to avoid the
|
||||||
@@ -160,7 +170,7 @@ error message |:s_flags|.
|
|||||||
*search-offset* *{offset}*
|
*search-offset* *{offset}*
|
||||||
These commands search for the specified pattern. With "/" and "?" an
|
These commands search for the specified pattern. With "/" and "?" an
|
||||||
additional offset may be given. There are two types of offsets: line offsets
|
additional offset may be given. There are two types of offsets: line offsets
|
||||||
and character offsets. {the character offsets are not in Vi}
|
and character offsets.
|
||||||
|
|
||||||
The offset gives the cursor position relative to the found match:
|
The offset gives the cursor position relative to the found match:
|
||||||
[num] [num] lines downwards, in column 1
|
[num] [num] lines downwards, in column 1
|
||||||
@@ -436,30 +446,28 @@ More explanation and examples below, follow the links. *E64* *E871*
|
|||||||
multi ~
|
multi ~
|
||||||
'magic' 'nomagic' matches of the preceding atom ~
|
'magic' 'nomagic' matches of the preceding atom ~
|
||||||
|/star| * \* 0 or more as many as possible
|
|/star| * \* 0 or more as many as possible
|
||||||
|/\+| \+ \+ 1 or more as many as possible (*)
|
|/\+| \+ \+ 1 or more as many as possible
|
||||||
|/\=| \= \= 0 or 1 as many as possible (*)
|
|/\=| \= \= 0 or 1 as many as possible
|
||||||
|/\?| \? \? 0 or 1 as many as possible (*)
|
|/\?| \? \? 0 or 1 as many as possible
|
||||||
|
|
||||||
|/\{| \{n,m} \{n,m} n to m as many as possible (*)
|
|/\{| \{n,m} \{n,m} n to m as many as possible
|
||||||
\{n} \{n} n exactly (*)
|
\{n} \{n} n exactly
|
||||||
\{n,} \{n,} at least n as many as possible (*)
|
\{n,} \{n,} at least n as many as possible
|
||||||
\{,m} \{,m} 0 to m as many as possible (*)
|
\{,m} \{,m} 0 to m as many as possible
|
||||||
\{} \{} 0 or more as many as possible (same as *) (*)
|
\{} \{} 0 or more as many as possible (same as *)
|
||||||
|
|
||||||
|/\{-| \{-n,m} \{-n,m} n to m as few as possible (*)
|
|/\{-| \{-n,m} \{-n,m} n to m as few as possible
|
||||||
\{-n} \{-n} n exactly (*)
|
\{-n} \{-n} n exactly
|
||||||
\{-n,} \{-n,} at least n as few as possible (*)
|
\{-n,} \{-n,} at least n as few as possible
|
||||||
\{-,m} \{-,m} 0 to m as few as possible (*)
|
\{-,m} \{-,m} 0 to m as few as possible
|
||||||
\{-} \{-} 0 or more as few as possible (*)
|
\{-} \{-} 0 or more as few as possible
|
||||||
|
|
||||||
*E59*
|
*E59*
|
||||||
|/\@>| \@> \@> 1, like matching a whole pattern (*)
|
|/\@>| \@> \@> 1, like matching a whole pattern
|
||||||
|/\@=| \@= \@= nothing, requires a match |/zero-width| (*)
|
|/\@=| \@= \@= nothing, requires a match |/zero-width|
|
||||||
|/\@!| \@! \@! nothing, requires NO match |/zero-width| (*)
|
|/\@!| \@! \@! nothing, requires NO match |/zero-width|
|
||||||
|/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width| (*)
|
|/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width|
|
||||||
|/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width| (*)
|
|/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width|
|
||||||
|
|
||||||
(*) {not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
Overview of ordinary atoms. */ordinary-atom*
|
Overview of ordinary atoms. */ordinary-atom*
|
||||||
@@ -488,7 +496,7 @@ More explanation and examples below, follow the links.
|
|||||||
|/\%c| \%23c \%23c in column 23 |/zero-width|
|
|/\%c| \%23c \%23c in column 23 |/zero-width|
|
||||||
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
|
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
|
||||||
|
|
||||||
Character classes {not in Vi}: */character-classes*
|
Character classes: */character-classes*
|
||||||
magic nomagic matches ~
|
magic nomagic matches ~
|
||||||
|/\i| \i \i identifier character (see 'isident' option)
|
|/\i| \i \i identifier character (see 'isident' option)
|
||||||
|/\I| \I \I like "\i", but excluding digits
|
|/\I| \I \I like "\i", but excluding digits
|
||||||
@@ -527,7 +535,7 @@ Character classes {not in Vi}: */character-classes*
|
|||||||
|/\b| \b \b <BS>
|
|/\b| \b \b <BS>
|
||||||
|/\n| \n \n end-of-line
|
|/\n| \n \n end-of-line
|
||||||
|/~| ~ \~ last given substitute string
|
|/~| ~ \~ last given substitute string
|
||||||
|/\1| \1 \1 same string as matched by first \(\) {not in Vi}
|
|/\1| \1 \1 same string as matched by first \(\)
|
||||||
|/\2| \2 \2 Like "\1", but uses second \(\)
|
|/\2| \2 \2 Like "\1", but uses second \(\)
|
||||||
...
|
...
|
||||||
|/\9| \9 \9 Like "\1", but uses ninth \(\)
|
|/\9| \9 \9 Like "\1", but uses ninth \(\)
|
||||||
@@ -605,20 +613,19 @@ overview.
|
|||||||
character at a time.
|
character at a time.
|
||||||
|
|
||||||
*/\+*
|
*/\+*
|
||||||
\+ Matches 1 or more of the preceding atom, as many as possible. {not in
|
\+ Matches 1 or more of the preceding atom, as many as possible.
|
||||||
Vi}
|
|
||||||
Example matches ~
|
Example matches ~
|
||||||
^.\+$ any non-empty line
|
^.\+$ any non-empty line
|
||||||
\s\+ white space of at least one character
|
\s\+ white space of at least one character
|
||||||
|
|
||||||
*/\=*
|
*/\=*
|
||||||
\= Matches 0 or 1 of the preceding atom, as many as possible. {not in Vi}
|
\= Matches 0 or 1 of the preceding atom, as many as possible.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
foo\= "fo" and "foo"
|
foo\= "fo" and "foo"
|
||||||
|
|
||||||
*/\?*
|
*/\?*
|
||||||
\? Just like \=. Cannot be used when searching backwards with the "?"
|
\? Just like \=. Cannot be used when searching backwards with the "?"
|
||||||
command. {not in Vi}
|
command.
|
||||||
|
|
||||||
*/\{* *E60* *E554* *E870*
|
*/\{* *E60* *E554* *E870*
|
||||||
\{n,m} Matches n to m of the preceding atom, as many as possible
|
\{n,m} Matches n to m of the preceding atom, as many as possible
|
||||||
@@ -632,7 +639,6 @@ overview.
|
|||||||
\{-n,} matches at least n of the preceding atom, as few as possible
|
\{-n,} matches at least n of the preceding atom, as few as possible
|
||||||
\{-,m} matches 0 to m of the preceding atom, as few as possible
|
\{-,m} matches 0 to m of the preceding atom, as few as possible
|
||||||
\{-} matches 0 or more of the preceding atom, as few as possible
|
\{-} matches 0 or more of the preceding atom, as few as possible
|
||||||
{Vi does not have any of these}
|
|
||||||
|
|
||||||
n and m are positive decimal numbers or zero
|
n and m are positive decimal numbers or zero
|
||||||
*non-greedy*
|
*non-greedy*
|
||||||
@@ -655,7 +661,7 @@ overview.
|
|||||||
The } may optionally be preceded with a backslash: \{n,m\}.
|
The } may optionally be preceded with a backslash: \{n,m\}.
|
||||||
|
|
||||||
*/\@=*
|
*/\@=*
|
||||||
\@= Matches the preceding atom with zero width. {not in Vi}
|
\@= Matches the preceding atom with zero width.
|
||||||
Like "(?=pattern)" in Perl.
|
Like "(?=pattern)" in Perl.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
foo\(bar\)\@= "foo" in "foobar"
|
foo\(bar\)\@= "foo" in "foobar"
|
||||||
@@ -675,7 +681,7 @@ overview.
|
|||||||
|
|
||||||
*/\@!*
|
*/\@!*
|
||||||
\@! Matches with zero width if the preceding atom does NOT match at the
|
\@! Matches with zero width if the preceding atom does NOT match at the
|
||||||
current position. |/zero-width| {not in Vi}
|
current position. |/zero-width|
|
||||||
Like "(?!pattern)" in Perl.
|
Like "(?!pattern)" in Perl.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
foo\(bar\)\@! any "foo" not followed by "bar"
|
foo\(bar\)\@! any "foo" not followed by "bar"
|
||||||
@@ -705,7 +711,7 @@ overview.
|
|||||||
|
|
||||||
*/\@<=*
|
*/\@<=*
|
||||||
\@<= Matches with zero width if the preceding atom matches just before what
|
\@<= Matches with zero width if the preceding atom matches just before what
|
||||||
follows. |/zero-width| {not in Vi}
|
follows. |/zero-width|
|
||||||
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
|
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
\(an\_s\+\)\@<=file "file" after "an" and white space or an
|
\(an\_s\+\)\@<=file "file" after "an" and white space or an
|
||||||
@@ -749,7 +755,7 @@ overview.
|
|||||||
\@<! Matches with zero width if the preceding atom does NOT match just
|
\@<! Matches with zero width if the preceding atom does NOT match just
|
||||||
before what follows. Thus this matches if there is no position in the
|
before what follows. Thus this matches if there is no position in the
|
||||||
current or previous line where the atom matches such that it ends just
|
current or previous line where the atom matches such that it ends just
|
||||||
before what follows. |/zero-width| {not in Vi}
|
before what follows. |/zero-width|
|
||||||
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
|
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
|
||||||
The match with the preceding atom is made to end just before the match
|
The match with the preceding atom is made to end just before the match
|
||||||
with what follows, thus an atom that ends in ".*" will work.
|
with what follows, thus an atom that ends in ".*" will work.
|
||||||
@@ -765,7 +771,7 @@ overview.
|
|||||||
slow.
|
slow.
|
||||||
|
|
||||||
*/\@>*
|
*/\@>*
|
||||||
\@> Matches the preceding atom like matching a whole pattern. {not in Vi}
|
\@> Matches the preceding atom like matching a whole pattern.
|
||||||
Like "(?>pattern)" in Perl.
|
Like "(?>pattern)" in Perl.
|
||||||
Example matches ~
|
Example matches ~
|
||||||
\(a*\)\@>a nothing (the "a*" takes all the "a"'s, there can't be
|
\(a*\)\@>a nothing (the "a*" takes all the "a"'s, there can't be
|
||||||
@@ -844,7 +850,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
/\(.\{-}\zsFab\)\{3}
|
/\(.\{-}\zsFab\)\{3}
|
||||||
< Finds the third occurrence of "Fab".
|
< Finds the third occurrence of "Fab".
|
||||||
This cannot be followed by a multi. *E888*
|
This cannot be followed by a multi. *E888*
|
||||||
{not in Vi} {not available when compiled without the |+syntax| feature}
|
{not available when compiled without the |+syntax| feature}
|
||||||
*/\ze*
|
*/\ze*
|
||||||
\ze Matches at any position, and sets the end of the match there: The
|
\ze Matches at any position, and sets the end of the match there: The
|
||||||
previous char is the last char of the whole match. |/zero-width|
|
previous char is the last char of the whole match. |/zero-width|
|
||||||
@@ -853,17 +859,17 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
|
||||||
"endfor".
|
"endfor".
|
||||||
This cannot be followed by a multi. |E888|
|
This cannot be followed by a multi. |E888|
|
||||||
{not in Vi} {not available when compiled without the |+syntax| feature}
|
{not available when compiled without the |+syntax| feature}
|
||||||
|
|
||||||
*/\%^* *start-of-file*
|
*/\%^* *start-of-file*
|
||||||
\%^ Matches start of the file. When matching with a string, matches the
|
\%^ Matches start of the file. When matching with a string, matches the
|
||||||
start of the string. {not in Vi}
|
start of the string.
|
||||||
For example, to find the first "VIM" in a file: >
|
For example, to find the first "VIM" in a file: >
|
||||||
/\%^\_.\{-}\zsVIM
|
/\%^\_.\{-}\zsVIM
|
||||||
<
|
<
|
||||||
*/\%$* *end-of-file*
|
*/\%$* *end-of-file*
|
||||||
\%$ Matches end of the file. When matching with a string, matches the
|
\%$ Matches end of the file. When matching with a string, matches the
|
||||||
end of the string. {not in Vi}
|
end of the string.
|
||||||
Note that this does NOT find the last "VIM" in a file: >
|
Note that this does NOT find the last "VIM" in a file: >
|
||||||
/VIM\_.\{-}\%$
|
/VIM\_.\{-}\%$
|
||||||
< It will find the next VIM, because the part after it will always
|
< It will find the next VIM, because the part after it will always
|
||||||
@@ -887,7 +893,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
|
|
||||||
*/\%#* *cursor-position*
|
*/\%#* *cursor-position*
|
||||||
\%# Matches with the cursor position. Only works when matching in a
|
\%# Matches with the cursor position. Only works when matching in a
|
||||||
buffer displayed in a window. {not in Vi}
|
buffer displayed in a window.
|
||||||
WARNING: When the cursor is moved after the pattern was used, the
|
WARNING: When the cursor is moved after the pattern was used, the
|
||||||
result becomes invalid. Vim doesn't automatically update the matches.
|
result becomes invalid. Vim doesn't automatically update the matches.
|
||||||
This is especially relevant for syntax highlighting and 'hlsearch'.
|
This is especially relevant for syntax highlighting and 'hlsearch'.
|
||||||
@@ -908,7 +914,6 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
< Note that two dots are required to include mark 'e in the match. That
|
< Note that two dots are required to include mark 'e in the match. That
|
||||||
is because "\%<'e" matches at the character before the 'e mark, and
|
is because "\%<'e" matches at the character before the 'e mark, and
|
||||||
since it's a |/zero-width| match it doesn't include that character.
|
since it's a |/zero-width| match it doesn't include that character.
|
||||||
{not in Vi}
|
|
||||||
WARNING: When the mark is moved after the pattern was used, the result
|
WARNING: When the mark is moved after the pattern was used, the result
|
||||||
becomes invalid. Vim doesn't automatically update the matches.
|
becomes invalid. Vim doesn't automatically update the matches.
|
||||||
Similar to moving the cursor for "\%#" |/\%#|.
|
Similar to moving the cursor for "\%#" |/\%#|.
|
||||||
@@ -918,7 +923,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
\%<23l Matches above a specific line (lower line number).
|
\%<23l Matches above a specific line (lower line number).
|
||||||
\%>23l Matches below a specific line (higher line number).
|
\%>23l Matches below a specific line (higher line number).
|
||||||
These three can be used to match specific lines in a buffer. The "23"
|
These three can be used to match specific lines in a buffer. The "23"
|
||||||
can be any line number. The first line is 1. {not in Vi}
|
can be any line number. The first line is 1.
|
||||||
WARNING: When inserting or deleting lines Vim does not automatically
|
WARNING: When inserting or deleting lines Vim does not automatically
|
||||||
update the matches. This means Syntax highlighting quickly becomes
|
update the matches. This means Syntax highlighting quickly becomes
|
||||||
wrong.
|
wrong.
|
||||||
@@ -934,7 +939,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
These three can be used to match specific columns in a buffer or
|
These three can be used to match specific columns in a buffer or
|
||||||
string. The "23" can be any column number. The first column is 1.
|
string. The "23" can be any column number. The first column is 1.
|
||||||
Actually, the column is the byte number (thus it's not exactly right
|
Actually, the column is the byte number (thus it's not exactly right
|
||||||
for multi-byte characters). {not in Vi}
|
for multi-byte characters).
|
||||||
WARNING: When inserting or deleting text Vim does not automatically
|
WARNING: When inserting or deleting text Vim does not automatically
|
||||||
update the matches. This means Syntax highlighting quickly becomes
|
update the matches. This means Syntax highlighting quickly becomes
|
||||||
wrong.
|
wrong.
|
||||||
@@ -956,7 +961,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
The "23" can be any column number. The first column is 1.
|
The "23" can be any column number. The first column is 1.
|
||||||
Note that some virtual column positions will never match, because they
|
Note that some virtual column positions will never match, because they
|
||||||
are halfway through a tab or other character that occupies more than
|
are halfway through a tab or other character that occupies more than
|
||||||
one screen character. {not in Vi}
|
one screen character.
|
||||||
WARNING: When inserting or deleting text Vim does not automatically
|
WARNING: When inserting or deleting text Vim does not automatically
|
||||||
update highlighted matches. This means Syntax highlighting quickly
|
update highlighted matches. This means Syntax highlighting quickly
|
||||||
becomes wrong.
|
becomes wrong.
|
||||||
@@ -979,7 +984,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
|||||||
where ".*" matches zero characters.
|
where ".*" matches zero characters.
|
||||||
<
|
<
|
||||||
|
|
||||||
Character classes: {not in Vi}
|
Character classes:
|
||||||
\i identifier character (see 'isident' option) */\i*
|
\i identifier character (see 'isident' option) */\i*
|
||||||
\I like "\i", but excluding digits */\I*
|
\I like "\i", but excluding digits */\I*
|
||||||
\k keyword character (see 'iskeyword' option) */\k*
|
\k keyword character (see 'iskeyword' option) */\k*
|
||||||
@@ -1039,7 +1044,7 @@ match ASCII characters, as indicated by the range.
|
|||||||
*E51* *E54* *E55* *E872* *E873*
|
*E51* *E54* *E55* *E872* *E873*
|
||||||
|
|
||||||
\1 Matches the same string that was matched by */\1* *E65*
|
\1 Matches the same string that was matched by */\1* *E65*
|
||||||
the first sub-expression in \( and \). {not in Vi}
|
the first sub-expression in \( and \).
|
||||||
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
|
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
|
||||||
\2 Like "\1", but uses second sub-expression, */\2*
|
\2 Like "\1", but uses second sub-expression, */\2*
|
||||||
... */\3*
|
... */\3*
|
||||||
@@ -1051,7 +1056,6 @@ match ASCII characters, as indicated by the range.
|
|||||||
\%(\) A pattern enclosed by escaped parentheses. */\%(\)* */\%(* *E53*
|
\%(\) A pattern enclosed by escaped parentheses. */\%(\)* */\%(* *E53*
|
||||||
Just like \(\), but without counting it as a sub-expression. This
|
Just like \(\), but without counting it as a sub-expression. This
|
||||||
allows using more groups and it's a little bit faster.
|
allows using more groups and it's a little bit faster.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
x A single character, with no special meaning, matches itself
|
x A single character, with no special meaning, matches itself
|
||||||
|
|
||||||
@@ -1152,7 +1156,7 @@ x A single character, with no special meaning, matches itself
|
|||||||
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
|
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
|
||||||
(Note: POSIX does not support the use of a backslash this way). For
|
(Note: POSIX does not support the use of a backslash this way). For
|
||||||
']' you can also make it the first character (following a possible
|
']' you can also make it the first character (following a possible
|
||||||
"^"): "[]xyz]" or "[^]xyz]" {not in Vi}.
|
"^"): "[]xyz]" or "[^]xyz]".
|
||||||
For '-' you can also make it the first or last character: "[-xyz]",
|
For '-' you can also make it the first or last character: "[-xyz]",
|
||||||
"[^-xyz]" or "[xyz-]". For '\' you can also let it be followed by
|
"[^-xyz]" or "[xyz-]". For '\' you can also let it be followed by
|
||||||
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
|
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
|
||||||
@@ -1161,7 +1165,7 @@ x A single character, with no special meaning, matches itself
|
|||||||
- Omitting the trailing ] is not considered an error. "[]" works like
|
- Omitting the trailing ] is not considered an error. "[]" works like
|
||||||
"[]]", it matches the ']' character.
|
"[]]", it matches the ']' character.
|
||||||
- The following translations are accepted when the 'l' flag is not
|
- The following translations are accepted when the 'l' flag is not
|
||||||
included in 'cpoptions' {not in Vi}:
|
included in 'cpoptions':
|
||||||
\e <Esc>
|
\e <Esc>
|
||||||
\t <Tab>
|
\t <Tab>
|
||||||
\r <CR> (NOT end-of-line!)
|
\r <CR> (NOT end-of-line!)
|
||||||
@@ -1242,7 +1246,7 @@ files. To match a <Nul> with a search pattern you can just enter CTRL-@ or
|
|||||||
"CTRL-V 000". This is probably just what you expect. Internally the
|
"CTRL-V 000". This is probably just what you expect. Internally the
|
||||||
character is replaced with a <NL> in the search pattern. What is unusual is
|
character is replaced with a <NL> in the search pattern. What is unusual is
|
||||||
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
|
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
|
||||||
in the file. {Vi cannot handle <Nul> characters in the file at all}
|
in the file.
|
||||||
|
|
||||||
*CR-used-for-NL*
|
*CR-used-for-NL*
|
||||||
When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
|
When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_gzip.txt* For Vim version 8.1. Last change: 2016 Nov 06
|
*pi_gzip.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -13,8 +13,6 @@ This plugin is only available if 'compatible' is not set.
|
|||||||
You can avoid loading this plugin by setting the "loaded_gzip" variable: >
|
You can avoid loading this plugin by setting the "loaded_gzip" variable: >
|
||||||
:let loaded_gzip = 1
|
:let loaded_gzip = 1
|
||||||
|
|
||||||
{Vi does not have any of this}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Autocommands *gzip-autocmd*
|
1. Autocommands *gzip-autocmd*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_netrw.txt* For Vim version 8.1. Last change: 2017 Nov 03
|
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@@ -114,8 +114,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
|||||||
13. Todo..................................................|netrw-todo|
|
13. Todo..................................................|netrw-todo|
|
||||||
14. Credits...............................................|netrw-credits|
|
14. Credits...............................................|netrw-credits|
|
||||||
|
|
||||||
{Vi does not have any of this}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Starting With Netrw *netrw-start* {{{1
|
2. Starting With Netrw *netrw-start* {{{1
|
||||||
|
|
||||||
@@ -1186,7 +1184,7 @@ One may easily "bookmark" the currently browsed directory by using >
|
|||||||
*.netrwbook*
|
*.netrwbook*
|
||||||
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||||
as a |List|, which is typically stored in the first directory on the user's
|
as a |List|, which is typically stored in the first directory on the user's
|
||||||
'|runtimepath|'; entries are kept in sorted order.
|
'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.
|
||||||
@@ -2096,7 +2094,7 @@ track netrw's browsing directory.
|
|||||||
|
|
||||||
However, given the default setting for g:netrw_keepdir of 1 where netrw
|
However, given the default setting for g:netrw_keepdir of 1 where netrw
|
||||||
maintains its own separate notion of the current directory, in order to make
|
maintains its own separate notion of the current directory, in order to make
|
||||||
the two directories the same, use the "c" map (just type c). That map will
|
the two directories the same, use the "cd" map (type cd). 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.
|
||||||
|
|
||||||
@@ -2741,7 +2739,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
=0 : show all
|
=0 : show all
|
||||||
=1 : show not-hidden files
|
=1 : show not-hidden files
|
||||||
=2 : show hidden files only
|
=2 : show hidden files only
|
||||||
default: =0
|
default: =1
|
||||||
|
|
||||||
*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
|
||||||
@@ -2942,14 +2940,23 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
|
|
||||||
netrwBak : *.bak
|
netrwBak : *.bak
|
||||||
netrwCompress: *.gz *.bz2 *.Z *.zip
|
netrwCompress: *.gz *.bz2 *.Z *.zip
|
||||||
|
netrwCoreDump: core.\d\+
|
||||||
netrwData : *.dat
|
netrwData : *.dat
|
||||||
|
netrwDoc : *.doc,*.txt,*.pdf,
|
||||||
|
*.pdf,*.docx
|
||||||
netrwHdr : *.h
|
netrwHdr : *.h
|
||||||
|
netrwLex : *.l *.lex
|
||||||
netrwLib : *.a *.so *.lib *.dll
|
netrwLib : *.a *.so *.lib *.dll
|
||||||
netrwMakefile: [mM]akefile *.mak
|
netrwMakefile: [mM]akefile *.mak
|
||||||
netrwObj : *.o *.obj
|
netrwObj : *.o *.obj
|
||||||
|
netrwPix : *.bmp,*.fit,*.fits,*.gif,
|
||||||
|
*.jpg,*.jpeg,*.pcx,*.ppc
|
||||||
|
*.pgm,*.png,*.psd,*.rgb
|
||||||
|
*.tif,*.xbm,*.xcf
|
||||||
netrwTags : tags ANmenu ANtags
|
netrwTags : tags ANmenu ANtags
|
||||||
netrwTilde : *
|
netrwTilde : *
|
||||||
netrwTmp : tmp* *tmp
|
netrwTmp : tmp* *tmp
|
||||||
|
netrwYacc : *.y
|
||||||
|
|
||||||
In addition, those groups mentioned in
|
In addition, those groups mentioned in
|
||||||
|'suffixes'| are also added to the special
|
|'suffixes'| are also added to the special
|
||||||
@@ -3034,8 +3041,9 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
current netrw buffer's window to be used for
|
current netrw buffer's window to be used for
|
||||||
the new window.
|
the new window.
|
||||||
If g:netrw_winsize is less than zero, then
|
If g:netrw_winsize is less than zero, then
|
||||||
the absolute value of g:netrw_winsize lines
|
the absolute value of g:netrw_winsize will be
|
||||||
or columns will be used for the new window.
|
used to specify the quantity of lines or
|
||||||
|
columns for the new window.
|
||||||
If g:netrw_winsize is zero, then a normal
|
If g:netrw_winsize is zero, then a normal
|
||||||
split will be made (ie. |'equalalways'| will
|
split will be made (ie. |'equalalways'| will
|
||||||
take effect, for example).
|
take effect, for example).
|
||||||
@@ -3373,7 +3381,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
(This section is likely to grow as I get feedback)
|
(This section is likely to grow as I get feedback)
|
||||||
(also see |netrw-debug|)
|
(also see |netrw-debug|)
|
||||||
*netrw-p1*
|
*netrw-p1*
|
||||||
P1. I use windows 95, and my ftp dumps four blank lines at the
|
P1. I use windows 95, and my ftp dumps four blank lines at the {{{2
|
||||||
end of every read.
|
end of every read.
|
||||||
|
|
||||||
See |netrw-fixup|, and put the following into your
|
See |netrw-fixup|, and put the following into your
|
||||||
@@ -3382,7 +3390,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
let g:netrw_win95ftp= 1
|
let g:netrw_win95ftp= 1
|
||||||
|
|
||||||
*netrw-p2*
|
*netrw-p2*
|
||||||
P2. I use Windows, and my network browsing with ftp doesn't sort by
|
P2. I use Windows, and my network browsing with ftp doesn't sort by {{{2
|
||||||
time or size! -or- The remote system is a Windows server; why
|
time or size! -or- The remote system is a Windows server; why
|
||||||
don't I get sorts by time or size?
|
don't I get sorts by time or size?
|
||||||
|
|
||||||
@@ -3409,7 +3417,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
|
|
||||||
*netrw-p3*
|
*netrw-p3*
|
||||||
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw
|
P3. I tried rcp://user@host/ (or protocol other than ftp) and netrw {{{2
|
||||||
used ssh! That wasn't what I asked for...
|
used ssh! That wasn't what I asked for...
|
||||||
|
|
||||||
Netrw has two methods for browsing remote directories: ssh
|
Netrw has two methods for browsing remote directories: ssh
|
||||||
@@ -3418,7 +3426,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
listing), netrw will use the given protocol to do so.
|
listing), netrw will use the given protocol to do so.
|
||||||
|
|
||||||
*netrw-p4*
|
*netrw-p4*
|
||||||
P4. I would like long listings to be the default.
|
P4. I would like long listings to be the default. {{{2
|
||||||
|
|
||||||
Put the following statement into your |.vimrc|: >
|
Put the following statement into your |.vimrc|: >
|
||||||
|
|
||||||
@@ -3428,7 +3436,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
you can set.
|
you can set.
|
||||||
|
|
||||||
*netrw-p5*
|
*netrw-p5*
|
||||||
P5. My times come up oddly in local browsing
|
P5. My times come up oddly in local browsing {{{2
|
||||||
|
|
||||||
Does your system's strftime() accept the "%c" to yield dates
|
Does your system's strftime() accept the "%c" to yield dates
|
||||||
such as "Sun Apr 27 11:49:23 1997"? If not, do a
|
such as "Sun Apr 27 11:49:23 1997"? If not, do a
|
||||||
@@ -3438,7 +3446,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
let g:netrw_timefmt= "%X" (where X is the option)
|
let g:netrw_timefmt= "%X" (where X is the option)
|
||||||
<
|
<
|
||||||
*netrw-p6*
|
*netrw-p6*
|
||||||
P6. I want my current directory to track my browsing.
|
P6. I want my current directory to track my browsing. {{{2
|
||||||
How do I do that?
|
How do I do that?
|
||||||
|
|
||||||
Put the following line in your |.vimrc|:
|
Put the following line in your |.vimrc|:
|
||||||
@@ -3446,8 +3454,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
let g:netrw_keepdir= 0
|
let g:netrw_keepdir= 0
|
||||||
<
|
<
|
||||||
*netrw-p7*
|
*netrw-p7*
|
||||||
P7. I use Chinese (or other non-ascii) characters in my filenames, and
|
P7. I use Chinese (or other non-ascii) characters in my filenames, {{{2
|
||||||
netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
|
and netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
|
||||||
|
|
||||||
(taken from an answer provided by Wu Yongwei on the vim
|
(taken from an answer provided by Wu Yongwei on the vim
|
||||||
mailing list)
|
mailing list)
|
||||||
@@ -3461,7 +3469,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
(...it is one more reason to recommend that people use utf-8!)
|
(...it is one more reason to recommend that people use utf-8!)
|
||||||
|
|
||||||
*netrw-p8*
|
*netrw-p8*
|
||||||
P8. I'm getting "ssh is not executable on your system" -- what do I
|
P8. I'm getting "ssh is not executable on your system" -- what do I {{{2
|
||||||
do?
|
do?
|
||||||
|
|
||||||
(Dudley Fox) Most people I know use putty for windows ssh. It
|
(Dudley Fox) Most people I know use putty for windows ssh. It
|
||||||
@@ -3504,7 +3512,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
- Click "Add..."
|
- Click "Add..."
|
||||||
- Set External Editor (adjust path as needed, include
|
- Set External Editor (adjust path as needed, include
|
||||||
the quotes and !.! at the end):
|
the quotes and !.! at the end):
|
||||||
"c:\Program Files\Vim\vim81\gvim.exe" !.!
|
"c:\Program Files\Vim\vim70\gvim.exe" !.!
|
||||||
- Check that the filetype in the box below is
|
- Check that the filetype in the box below is
|
||||||
{asterisk}.{asterisk} (all files), or whatever types
|
{asterisk}.{asterisk} (all files), or whatever types
|
||||||
you want (cec: change {asterisk} to * ; I had to
|
you want (cec: change {asterisk} to * ; I had to
|
||||||
@@ -3544,7 +3552,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
default.
|
default.
|
||||||
|
|
||||||
*netrw-p9* *netrw-ml_get*
|
*netrw-p9* *netrw-ml_get*
|
||||||
P9. I'm browsing, changing directory, and bang! ml_get errors
|
P9. I'm browsing, changing directory, and bang! ml_get errors {{{2
|
||||||
appear and I have to kill vim. Any way around this?
|
appear and I have to kill vim. Any way around this?
|
||||||
|
|
||||||
Normally netrw attempts to avoid writing swapfiles for
|
Normally netrw attempts to avoid writing swapfiles for
|
||||||
@@ -3555,7 +3563,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
let g:netrw_use_noswf= 0
|
let g:netrw_use_noswf= 0
|
||||||
<
|
<
|
||||||
*netrw-p10*
|
*netrw-p10*
|
||||||
P10. I'm being pestered with "[something] is a directory" and
|
P10. I'm being pestered with "[something] is a directory" and {{{2
|
||||||
"Press ENTER or type command to continue" prompts...
|
"Press ENTER or type command to continue" prompts...
|
||||||
|
|
||||||
The "[something] is a directory" prompt is issued by Vim,
|
The "[something] is a directory" prompt is issued by Vim,
|
||||||
@@ -3566,8 +3574,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
your <.vimrc> file.
|
your <.vimrc> file.
|
||||||
|
|
||||||
*netrw-p11*
|
*netrw-p11*
|
||||||
P11. I want to have two windows; a thin one on the left and my editing
|
P11. I want to have two windows; a thin one on the left and my {{{2
|
||||||
window on the right. How may I accomplish this?
|
editing window on the right. How may I accomplish this?
|
||||||
|
|
||||||
You probably want netrw running as in a side window. If so, you
|
You probably want netrw running as in a side window. If so, you
|
||||||
will likely find that ":[N]Lexplore" does what you want. The
|
will likely find that ":[N]Lexplore" does what you want. The
|
||||||
@@ -3592,7 +3600,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
|
|
||||||
*netrw-p12*
|
*netrw-p12*
|
||||||
P12. My directory isn't sorting correctly, or unwanted letters are
|
P12. My directory isn't sorting correctly, or unwanted letters are {{{2
|
||||||
appearing in the listed filenames, or things aren't lining
|
appearing in the listed filenames, or things aren't lining
|
||||||
up properly in the wide listing, ...
|
up properly in the wide listing, ...
|
||||||
|
|
||||||
@@ -3602,9 +3610,9 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
|
You may need to change |g:netrw_sepchr| and/or |g:netrw_xstrlen|.
|
||||||
|
|
||||||
*netrw-p13*
|
*netrw-p13*
|
||||||
P13. I'm a Windows + putty + ssh user, and when I attempt to browse,
|
P13. I'm a Windows + putty + ssh user, and when I attempt to {{{2
|
||||||
the directories are missing trailing "/"s so netrw treats them
|
browse, the directories are missing trailing "/"s so netrw treats
|
||||||
as file transfers instead of as attempts to browse
|
them as file transfers instead of as attempts to browse
|
||||||
subdirectories. How may I fix this?
|
subdirectories. How may I fix this?
|
||||||
|
|
||||||
(mikeyao) If you want to use vim via ssh and putty under Windows,
|
(mikeyao) If you want to use vim via ssh and putty under Windows,
|
||||||
@@ -3623,7 +3631,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
|
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
|
||||||
<
|
<
|
||||||
*netrw-p14*
|
*netrw-p14*
|
||||||
P14. I would like to speed up writes using Nwrite and scp/ssh
|
P14. I would like to speed up writes using Nwrite and scp/ssh {{{2
|
||||||
style connections. How? (Thomer M. Gil)
|
style connections. How? (Thomer M. Gil)
|
||||||
|
|
||||||
Try using ssh's ControlMaster and ControlPath (see the ssh_config
|
Try using ssh's ControlMaster and ControlPath (see the ssh_config
|
||||||
@@ -3650,8 +3658,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
vim scp://host.domain.com//home/user/.bashrc
|
vim scp://host.domain.com//home/user/.bashrc
|
||||||
<
|
<
|
||||||
*netrw-p15*
|
*netrw-p15*
|
||||||
P15. How may I use a double-click instead of netrw's usual single click
|
P15. How may I use a double-click instead of netrw's usual single {{{2
|
||||||
to open a file or directory? (Ben Fritz)
|
click to open a file or directory? (Ben Fritz)
|
||||||
|
|
||||||
First, disable netrw's mapping with >
|
First, disable netrw's mapping with >
|
||||||
let g:netrw_mousemaps= 0
|
let g:netrw_mousemaps= 0
|
||||||
@@ -3663,7 +3671,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
(see |g:netrw_mousemaps|)
|
(see |g:netrw_mousemaps|)
|
||||||
|
|
||||||
*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), {{{2
|
||||||
under Windows I get an |E303| message complaining that its unable
|
under Windows I get an |E303| message complaining that its unable
|
||||||
to open a swap file.
|
to open a swap file.
|
||||||
|
|
||||||
@@ -3672,7 +3680,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
directory.
|
directory.
|
||||||
|
|
||||||
*netrw-p17*
|
*netrw-p17*
|
||||||
P17. Netrw is closing buffers on its own.
|
P17. Netrw is closing buffers on its own. {{{2
|
||||||
What steps will reproduce the problem?
|
What steps will reproduce the problem?
|
||||||
1. :Explore, navigate directories, open a file
|
1. :Explore, navigate directories, open a file
|
||||||
2. :Explore, open another file
|
2. :Explore, open another file
|
||||||
@@ -3686,14 +3694,14 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
a ":ls!" will show them (although ":ls" does not).
|
a ":ls!" will show them (although ":ls" does not).
|
||||||
|
|
||||||
*netrw-P18*
|
*netrw-P18*
|
||||||
P18. How to locally edit a file that's only available via
|
P18. How to locally edit a file that's only available via {{{2
|
||||||
another server accessible via ssh?
|
another server accessible via ssh?
|
||||||
See http://stackoverflow.com/questions/12469645/
|
See http://stackoverflow.com/questions/12469645/
|
||||||
"Using Vim to Remotely Edit A File on ServerB Only
|
"Using Vim to Remotely Edit A File on ServerB Only
|
||||||
Accessible From ServerA"
|
Accessible From ServerA"
|
||||||
|
|
||||||
*netrw-P19*
|
*netrw-P19*
|
||||||
P19. How do I get numbering on in directory listings?
|
P19. How do I get numbering on in directory listings? {{{2
|
||||||
With |g:netrw_bufsettings|, you can control netrw's buffer
|
With |g:netrw_bufsettings|, you can control netrw's buffer
|
||||||
settings; try putting >
|
settings; try putting >
|
||||||
let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
|
let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
|
||||||
@@ -3702,7 +3710,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
|
let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
|
||||||
<
|
<
|
||||||
*netrw-P20*
|
*netrw-P20*
|
||||||
P20. How may I have gvim start up showing a directory listing?
|
P20. How may I have gvim start up showing a directory listing? {{{2
|
||||||
Try putting the following code snippet into your .vimrc: >
|
Try putting the following code snippet into your .vimrc: >
|
||||||
augroup VimStartup
|
augroup VimStartup
|
||||||
au!
|
au!
|
||||||
@@ -3715,8 +3723,8 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
(ie. a "huge" vim version).
|
(ie. a "huge" vim version).
|
||||||
|
|
||||||
*netrw-P21*
|
*netrw-P21*
|
||||||
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, {{{2
|
||||||
netrw isn't letting me enter that directory/read that file:
|
but netrw isn't letting me enter that directory/read that file:
|
||||||
|
|
||||||
Its 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
|
||||||
@@ -3726,7 +3734,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
au FileType netrw set enc=latin1
|
au FileType netrw set enc=latin1
|
||||||
<
|
<
|
||||||
*netrw-P22*
|
*netrw-P22*
|
||||||
P22. I get an error message when I try to copy or move a file:
|
P22. I get an error message when I try to copy or move a file: {{{2
|
||||||
|
|
||||||
**error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!
|
**error** (netrw) tried using g:netrw_localcopycmd<cp>; it doesn't work!
|
||||||
|
|
||||||
@@ -3754,8 +3762,8 @@ by obtaining a copy of the latest (often developmental) netrw at:
|
|||||||
|
|
||||||
The <netrw.vim> script is typically installed on systems as something like:
|
The <netrw.vim> script is typically installed on systems as something like:
|
||||||
>
|
>
|
||||||
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
|
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
||||||
/usr/local/share/vim/vim8x/autoload/netrw.vim
|
/usr/local/share/vim/vim7x/autoload/netrw.vim
|
||||||
(see output of :echo &rtp)
|
(see output of :echo &rtp)
|
||||||
<
|
<
|
||||||
which is loaded automatically at startup (assuming :set nocp). If you
|
which is loaded automatically at startup (assuming :set nocp). If you
|
||||||
@@ -3834,6 +3842,16 @@ netrw:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
12. History *netrw-history* {{{1
|
12. History *netrw-history* {{{1
|
||||||
|
|
||||||
|
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
|
||||||
|
was left changed
|
||||||
|
* (Holger Mitschke) reported a problem with
|
||||||
|
saving and restoring history. Fixed.
|
||||||
|
* Hopefully I fixed a nasty bug that caused a
|
||||||
|
file rename to wipe out a buffer that it
|
||||||
|
should not have wiped out.
|
||||||
|
* (Holger Mitschke) amended this help file
|
||||||
|
with additional |g:netrw_special_syntax|
|
||||||
|
items
|
||||||
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||||
with a patch; these are now fixed.
|
with a patch; these are now fixed.
|
||||||
Oct 26, 2016 * I started using mate-terminal and found that
|
Oct 26, 2016 * I started using mate-terminal and found that
|
||||||
|
|||||||
855
runtime/doc/popup.txt
Normal file
855
runtime/doc/popup.txt
Normal file
@@ -0,0 +1,855 @@
|
|||||||
|
*popup.txt* For Vim version 8.1. Last change: 2019 Aug 03
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
|
Displaying text in a floating window. *popup* *popup-window*
|
||||||
|
|
||||||
|
|
||||||
|
1. Introduction |popup-intro|
|
||||||
|
Window position and size |popup-position|
|
||||||
|
Closing the popup window |popup-close|
|
||||||
|
Popup buffer and window |popup-buffer|
|
||||||
|
2. Functions |popup-functions|
|
||||||
|
Details |popup-function-details|
|
||||||
|
3. Usage |popup-usage|
|
||||||
|
popup_create() arguments |popup_create-arguments|
|
||||||
|
Popup text properties |popup-props|
|
||||||
|
Popup filter |popup-filter|
|
||||||
|
Popup callback |popup-callback|
|
||||||
|
Popup scrollbar |popup-scrollbar|
|
||||||
|
Popup mask |popup-mask|
|
||||||
|
4. Examples |popup-examples|
|
||||||
|
|
||||||
|
|
||||||
|
{not available if the |+textprop| feature was disabled at compile time}
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. Introduction *popup-intro*
|
||||||
|
|
||||||
|
We are talking about popup windows here, text that goes on top of the regular
|
||||||
|
windows and is under control of a plugin. You cannot edit the text in the
|
||||||
|
popup window like with regular windows.
|
||||||
|
|
||||||
|
A popup window can be used for such things as:
|
||||||
|
- briefly show a message without overwriting the command line
|
||||||
|
- prompt the user with a dialog
|
||||||
|
- display contextual information while typing
|
||||||
|
- give extra information for auto-completion
|
||||||
|
|
||||||
|
The text in the popup window can be colored with |text-properties|. It is
|
||||||
|
also possible to use syntax highlighting.
|
||||||
|
|
||||||
|
The default color used is "Pmenu". If you prefer something else use the
|
||||||
|
"highlight" argument or the 'wincolor' option, e.g.: >
|
||||||
|
hi MyPopupColor ctermbg=lightblue guibg=lightblue
|
||||||
|
call setwinvar(winid, '&wincolor', 'MyPopupColor')
|
||||||
|
|
||||||
|
'hlsearch' highlighting is not displayed in a popup window.
|
||||||
|
|
||||||
|
A popup window has a window-ID like other windows, but behaves differently.
|
||||||
|
The size can be up to the whole Vim window and it overlaps other windows.
|
||||||
|
Popup windows can also overlap each other. The "zindex" property specifies
|
||||||
|
what goes on top of what.
|
||||||
|
|
||||||
|
The popup window contains a buffer, and that buffer is always associated with
|
||||||
|
the popup window. The window cannot be in Normal, Visual or Insert mode, it
|
||||||
|
does not get keyboard focus. You can use functions like `setbufline()` to
|
||||||
|
change the text in the buffer. There are more differences from how this
|
||||||
|
window and buffer behave compared to regular windows and buffers, see
|
||||||
|
|popup-buffer|.
|
||||||
|
|
||||||
|
If this is not what you are looking for, check out other popup functionality:
|
||||||
|
- popup menu, see |popup-menu|
|
||||||
|
- balloon, see |balloon-eval|
|
||||||
|
|
||||||
|
|
||||||
|
WINDOW POSITION AND SIZE *popup-position*
|
||||||
|
|
||||||
|
The height of the window is normally equal to the number of, possibly
|
||||||
|
wrapping, lines in the buffer. It can be limited with the "maxheight"
|
||||||
|
property. You can use empty lines to increase the height or the "minheight"
|
||||||
|
property.
|
||||||
|
|
||||||
|
The width of the window is normally equal to the longest line in the buffer.
|
||||||
|
It can be limited with the "maxwidth" property. You can use spaces to
|
||||||
|
increase the width or use the "minwidth" property.
|
||||||
|
|
||||||
|
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
||||||
|
if there is not enough space then the window is shifted left in order to
|
||||||
|
display more text. When right-aligned the window is shifted right to display
|
||||||
|
more text. The shifting can be disabled with the "fixed" property.
|
||||||
|
|
||||||
|
Vim tries to show the popup in the location you specify. In some cases, e.g.
|
||||||
|
when the popup would go outside of the Vim window, it will show it somewhere
|
||||||
|
nearby. E.g. if you use `popup_atcursor()` the popup normally shows just above
|
||||||
|
the current cursor position, but if the cursor is close to the top of the Vim
|
||||||
|
window it will be placed below the cursor position.
|
||||||
|
|
||||||
|
When the screen scrolls up for output of an Ex command, popups move too, so
|
||||||
|
that they will not cover the output.
|
||||||
|
|
||||||
|
The current cursor position is displayed even when it is under a popup window.
|
||||||
|
That way you can still see where it is, even though you cannot see the text
|
||||||
|
that it is in.
|
||||||
|
|
||||||
|
|
||||||
|
CLOSING THE POPUP WINDOW *popup-close*
|
||||||
|
|
||||||
|
Normally the plugin that created the popup window is also in charge of closing
|
||||||
|
it. If somehow a popup hangs around, you can close all of them with: >
|
||||||
|
call popup_clear()
|
||||||
|
Some popups, such as notifications, close after a specified time. This can be
|
||||||
|
set with the "time" property on `popup_create()`.
|
||||||
|
Otherwise, a popup can be closed by clicking on the X in the top-right corner
|
||||||
|
or by clicking anywhere inside the popup. This must be enabled with the
|
||||||
|
"close" property. It is set by default for notifications.
|
||||||
|
|
||||||
|
|
||||||
|
POPUP BUFFER AND WINDOW *popup-buffer*
|
||||||
|
|
||||||
|
If a popup function is called to create a popup from text, a new buffer is
|
||||||
|
created to hold the text and text properties of the popup window. The buffer
|
||||||
|
is always associated with the popup window and manipulation is restricted:
|
||||||
|
- the buffer has no name
|
||||||
|
- 'buftype' is "popup"
|
||||||
|
- 'swapfile' is off
|
||||||
|
- 'bufhidden' is "hide"
|
||||||
|
- 'buflisted' is off
|
||||||
|
- 'undolevels' is -1: no undo at all
|
||||||
|
- all other buffer-local and window-local options are set to their Vim default
|
||||||
|
value.
|
||||||
|
|
||||||
|
It is possible to change the specifically mentioned options, but anything
|
||||||
|
might break then, so better leave them alone.
|
||||||
|
|
||||||
|
The window does have a cursor position, but the cursor is not displayed.
|
||||||
|
|
||||||
|
To execute a command in the context of the popup window and buffer use
|
||||||
|
`win_execute()`. Example: >
|
||||||
|
call win_execute(winid, 'syntax enable')
|
||||||
|
|
||||||
|
Options can be set on the window with `setwinvar()`, e.g.: >
|
||||||
|
call setwinvar(winid, '&wrap', 0)
|
||||||
|
And options can be set on the buffer with `setbufvar()`, e.g.: >
|
||||||
|
call setbufvar(winbufnr(winid), '&filetype', 'java')
|
||||||
|
Note that this does not trigger autocommands. Use `win_execute()` if you do
|
||||||
|
need them.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. Functions *popup-functions*
|
||||||
|
|
||||||
|
Creating a popup window:
|
||||||
|
|popup_create()| centered in the screen
|
||||||
|
|popup_atcursor()| just above the cursor position, closes when
|
||||||
|
the cursor moves away
|
||||||
|
|popup_beval()| at the position indicated by v:beval_
|
||||||
|
variables, closes when the mouse moves away
|
||||||
|
|popup_notification()| show a notification for three seconds
|
||||||
|
|popup_dialog()| centered with padding and border
|
||||||
|
|popup_menu()| prompt for selecting an item from a list
|
||||||
|
|
||||||
|
Manipulating a popup window:
|
||||||
|
|popup_hide()| hide a popup temporarily
|
||||||
|
|popup_show()| show a previously hidden popup
|
||||||
|
|popup_move()| change the position and size of a popup
|
||||||
|
|popup_setoptions()| override options of a popup
|
||||||
|
|popup_settext()| replace the popup buffer contents
|
||||||
|
|
||||||
|
Closing popup windows:
|
||||||
|
|popup_close()| close one popup
|
||||||
|
|popup_clear()| close all popups
|
||||||
|
|
||||||
|
Filter functions:
|
||||||
|
|popup_filter_menu()| select from a list of items
|
||||||
|
|popup_filter_yesno()| blocks until 'y' or 'n' is pressed
|
||||||
|
|
||||||
|
Other:
|
||||||
|
|popup_getoptions()| get current options for a popup
|
||||||
|
|popup_getpos()| get actual position and size of a popup
|
||||||
|
|popup_locate()| find popup window at a screen position
|
||||||
|
|
||||||
|
|
||||||
|
DETAILS *popup-function-details*
|
||||||
|
|
||||||
|
popup_atcursor({what}, {options}) *popup_atcursor()*
|
||||||
|
Show the {what} above the cursor, and close it when the cursor
|
||||||
|
moves. This works like: >
|
||||||
|
call popup_create({what}, #{
|
||||||
|
\ pos: 'botleft',
|
||||||
|
\ line: 'cursor-1',
|
||||||
|
\ col: 'cursor',
|
||||||
|
\ moved: 'WORD',
|
||||||
|
\ })
|
||||||
|
< Use {options} to change the properties.
|
||||||
|
|
||||||
|
|
||||||
|
popup_beval({what}, {options}) *popup_beval()*
|
||||||
|
Show the {what} above the position from 'ballooneval' and
|
||||||
|
close it when the mouse moves. This works like: >
|
||||||
|
let pos = screenpos(v:beval_winnr, v:beval_lnum, v:beval_col)
|
||||||
|
call popup_create({what}, #{
|
||||||
|
\ pos: 'botleft',
|
||||||
|
\ line: pos.row - 1,
|
||||||
|
\ col: pos.col,
|
||||||
|
\ mousemoved: 'WORD',
|
||||||
|
\ })
|
||||||
|
< Use {options} to change the properties.
|
||||||
|
See |popup_beval_example| for an example use.
|
||||||
|
|
||||||
|
|
||||||
|
*popup_clear()*
|
||||||
|
popup_clear() Emergency solution to a misbehaving plugin: close all popup
|
||||||
|
windows for the current tab and global popups.
|
||||||
|
|
||||||
|
|
||||||
|
popup_close({id} [, {result}]) *popup_close()*
|
||||||
|
Close popup {id}. The window and the associated buffer will
|
||||||
|
be deleted.
|
||||||
|
|
||||||
|
If the popup has a callback it will be called just before the
|
||||||
|
popup window is deleted. If the optional {result} is present
|
||||||
|
it will be passed as the second argument of the callback.
|
||||||
|
Otherwise zero is passed to the callback.
|
||||||
|
|
||||||
|
|
||||||
|
popup_create({what}, {options}) *popup_create()*
|
||||||
|
Open a popup window showing {what}, which is either:
|
||||||
|
- a buffer number
|
||||||
|
- a string
|
||||||
|
- a list of strings
|
||||||
|
- a list of text lines with text properties
|
||||||
|
When {what} is not a buffer number, a buffer is created with
|
||||||
|
'buftype' set to "popup". That buffer will be wiped out once
|
||||||
|
the popup closes.
|
||||||
|
|
||||||
|
{options} is a dictionary with many possible entries.
|
||||||
|
See |popup_create-arguments| for details.
|
||||||
|
|
||||||
|
Returns a window-ID, which can be used with other popup
|
||||||
|
functions. Use `winbufnr()` to get the number of the buffer
|
||||||
|
in the window: >
|
||||||
|
let winid = popup_create('hello', {})
|
||||||
|
let bufnr = winbufnr(winid)
|
||||||
|
call setbufline(bufnr, 2, 'second line')
|
||||||
|
< In case of failure zero is returned.
|
||||||
|
|
||||||
|
|
||||||
|
popup_dialog({what}, {options}) *popup_dialog()*
|
||||||
|
Just like |popup_create()| but with these default options: >
|
||||||
|
call popup_create({what}, #{
|
||||||
|
\ pos: 'center',
|
||||||
|
\ zindex: 200,
|
||||||
|
\ drag: 1,
|
||||||
|
\ border: [],
|
||||||
|
\ padding: [],
|
||||||
|
\ mapping: 0,
|
||||||
|
\})
|
||||||
|
< Use {options} to change the properties. E.g. add a 'filter'
|
||||||
|
option with value 'popup_filter_yesno'. Example: >
|
||||||
|
call popup_create('do you want to quit (Yes/no)?', #{
|
||||||
|
\ filter: 'popup_filter_yesno',
|
||||||
|
\ callback: 'QuitCallback',
|
||||||
|
\ })
|
||||||
|
|
||||||
|
< By default the dialog can be dragged, so that text below it
|
||||||
|
can be read if needed.
|
||||||
|
|
||||||
|
|
||||||
|
popup_filter_menu({id}, {key}) *popup_filter_menu()*
|
||||||
|
Filter that can be used for a popup. These keys can be used:
|
||||||
|
j <Down> select item below
|
||||||
|
k <Up> select item above
|
||||||
|
<Space> <Enter> accept current selection
|
||||||
|
x Esc CTRL-C cancel the menu
|
||||||
|
Other keys are ignored.
|
||||||
|
|
||||||
|
A match is set on that line to highlight it, see
|
||||||
|
|popup_menu()|.
|
||||||
|
|
||||||
|
When the current selection is accepted the "callback" of the
|
||||||
|
popup menu is invoked with the index of the selected line as
|
||||||
|
the second argument. The first entry has index one.
|
||||||
|
Cancelling the menu invokes the callback with -1.
|
||||||
|
|
||||||
|
To add shortcut keys, see the example here:
|
||||||
|
|popup_menu-shortcut-example|
|
||||||
|
|
||||||
|
|
||||||
|
popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
|
||||||
|
Filter that can be used for a popup. It handles only the keys
|
||||||
|
'y', 'Y' and 'n' or 'N'. Invokes the "callback" of the
|
||||||
|
popup menu with the 1 for 'y' or 'Y' and zero for 'n' or 'N'
|
||||||
|
as the second argument. Pressing Esc and 'x' works like
|
||||||
|
pressing 'n'. CTRL-C invokes the callback with -1. Other
|
||||||
|
keys are ignored.
|
||||||
|
See the example here: |popup_dialog-example|
|
||||||
|
|
||||||
|
|
||||||
|
popup_getoptions({id}) *popup_getoptions()*
|
||||||
|
Return the {options} for popup {id} in a Dict.
|
||||||
|
A zero value means the option was not set. For "zindex" the
|
||||||
|
default value is returned, not zero.
|
||||||
|
|
||||||
|
The "moved" entry is a list with line number, minimum and
|
||||||
|
maximum column, [0, 0, 0] when not set.
|
||||||
|
|
||||||
|
The "mousemoved" entry is a list with screen row, minimum and
|
||||||
|
maximum screen column, [0, 0, 0] when not set.
|
||||||
|
|
||||||
|
"border" and "padding" are not included when all values are
|
||||||
|
zero. When all values are one then an empty list is included.
|
||||||
|
|
||||||
|
"borderhighlight" is not included when all values are empty.
|
||||||
|
"scrollbarhighlight" and "thumbhighlight" are only included
|
||||||
|
when set.
|
||||||
|
|
||||||
|
"tabpage" will be -1 for a global popup, zero for a popup on
|
||||||
|
the current tabpage and a positive number for a popup on
|
||||||
|
another tabpage.
|
||||||
|
|
||||||
|
If popup window {id} is not found an empty Dict is returned.
|
||||||
|
|
||||||
|
|
||||||
|
popup_getpos({id}) *popup_getpos()*
|
||||||
|
Return the position and size of popup {id}. Returns a Dict
|
||||||
|
with these entries:
|
||||||
|
col screen column of the popup, one-based
|
||||||
|
line screen line of the popup, one-based
|
||||||
|
width width of the whole popup in screen cells
|
||||||
|
height height of the whole popup in screen cells
|
||||||
|
core_col screen column of the text box
|
||||||
|
core_line screen line of the text box
|
||||||
|
core_width width of the text box in screen cells
|
||||||
|
core_height height of the text box in screen cells
|
||||||
|
firstline line of the buffer at top (1 unless scrolled)
|
||||||
|
scrollbar non-zero if a scrollbar is displayed
|
||||||
|
visible one if the popup is displayed, zero if hidden
|
||||||
|
Note that these are the actual screen positions. They differ
|
||||||
|
from the values in `popup_getoptions()` for the sizing and
|
||||||
|
positioning mechanism applied.
|
||||||
|
|
||||||
|
The "core_" values exclude the padding and border.
|
||||||
|
|
||||||
|
If popup window {id} is not found an empty Dict is returned.
|
||||||
|
|
||||||
|
popup_getpreview() *popup_getpreview()*
|
||||||
|
Get the |window-ID| for the popup preview window.
|
||||||
|
Return zero if there is none.
|
||||||
|
|
||||||
|
|
||||||
|
popup_hide({id}) *popup_hide()*
|
||||||
|
If {id} is a displayed popup, hide it now. If the popup has a
|
||||||
|
filter it will not be invoked for so long as the popup is
|
||||||
|
hidden.
|
||||||
|
If window {id} does not exist nothing happens. If window {id}
|
||||||
|
exists but is not a popup window an error is given. *E993*
|
||||||
|
|
||||||
|
|
||||||
|
popup_locate({row}, {col}) *popup_locate()*
|
||||||
|
Return the |window-ID| of the popup at screen position {row}
|
||||||
|
and {col}. If there are multiple popups the one with the
|
||||||
|
highest zindex is returned. If there are no popups at this
|
||||||
|
position then zero is returned.
|
||||||
|
|
||||||
|
|
||||||
|
popup_menu({what}, {options}) *popup_menu()*
|
||||||
|
Show the {what} near the cursor, handle selecting one of the
|
||||||
|
items with cursorkeys, and close it an item is selected with
|
||||||
|
Space or Enter. {what} should have multiple lines to make this
|
||||||
|
useful. This works like: >
|
||||||
|
call popup_create({what}, #{
|
||||||
|
\ pos: 'center',
|
||||||
|
\ zindex: 200,
|
||||||
|
\ drag: 1,
|
||||||
|
\ wrap: 0,
|
||||||
|
\ border: [],
|
||||||
|
\ cursorline: 1,
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ filter: 'popup_filter_menu',
|
||||||
|
\ mapping: 0,
|
||||||
|
\ })
|
||||||
|
< The current line is highlighted with a match using
|
||||||
|
"PopupSelected", or "PmenuSel" if that is not defined.
|
||||||
|
|
||||||
|
Use {options} to change the properties. Should at least set
|
||||||
|
"callback" to a function that handles the selected item.
|
||||||
|
Example: >
|
||||||
|
func ColorSelected(id, result)
|
||||||
|
" use a:result
|
||||||
|
endfunc
|
||||||
|
call popup_menu(['red', 'green', 'blue'], #{
|
||||||
|
\ callback: 'ColorSelected',
|
||||||
|
\ })
|
||||||
|
|
||||||
|
|
||||||
|
popup_move({id}, {options}) *popup_move()*
|
||||||
|
Move popup {id} to the position specified with {options}.
|
||||||
|
{options} may contain the items from |popup_create()| that
|
||||||
|
specify the popup position:
|
||||||
|
line
|
||||||
|
col
|
||||||
|
pos
|
||||||
|
maxheight
|
||||||
|
minheight
|
||||||
|
maxwidth
|
||||||
|
minwidth
|
||||||
|
fixed
|
||||||
|
For {id} see `popup_hide()`.
|
||||||
|
For other options see |popup_setoptions()|.
|
||||||
|
|
||||||
|
|
||||||
|
popup_notification({what}, {options}) *popup_notification()*
|
||||||
|
Show the {what} for 3 seconds at the top of the Vim window.
|
||||||
|
This works like: >
|
||||||
|
call popup_create({what}, #{
|
||||||
|
\ line: 1,
|
||||||
|
\ col: 10,
|
||||||
|
\ minwidth: 20,
|
||||||
|
\ time: 3000,
|
||||||
|
\ tabpage: -1,
|
||||||
|
\ zindex: 300,
|
||||||
|
\ drag: 1,
|
||||||
|
\ highlight: 'WarningMsg',
|
||||||
|
\ border: [],
|
||||||
|
\ close: 'click',
|
||||||
|
\ padding: [0,1,0,1],
|
||||||
|
\ })
|
||||||
|
< The PopupNotification highlight group is used instead of
|
||||||
|
WarningMsg if it is defined.
|
||||||
|
|
||||||
|
Without the |+timers| feature the poup will not disappear
|
||||||
|
automatically, the user has to click in it.
|
||||||
|
|
||||||
|
The position will be adjusted to avoid overlap with other
|
||||||
|
notifications.
|
||||||
|
Use {options} to change the properties.
|
||||||
|
|
||||||
|
|
||||||
|
popup_show({id}) *popup_show()*
|
||||||
|
If {id} is a hidden popup, show it now.
|
||||||
|
For {id} see `popup_hide()`.
|
||||||
|
|
||||||
|
|
||||||
|
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||||
|
Override options in popup {id} with entries in {options}.
|
||||||
|
These options can be set:
|
||||||
|
border
|
||||||
|
borderchars
|
||||||
|
borderhighlight
|
||||||
|
callback
|
||||||
|
close
|
||||||
|
cursorline
|
||||||
|
drag
|
||||||
|
filter
|
||||||
|
firstline
|
||||||
|
flip
|
||||||
|
highlight
|
||||||
|
mapping
|
||||||
|
mask
|
||||||
|
moved
|
||||||
|
padding
|
||||||
|
resize
|
||||||
|
scrollbar
|
||||||
|
scrollbarhighlight
|
||||||
|
thumbhighlight
|
||||||
|
time
|
||||||
|
title
|
||||||
|
wrap
|
||||||
|
zindex
|
||||||
|
The options from |popup_move()| can also be used.
|
||||||
|
For "hidden" use |popup_hide()| and |popup_show()|.
|
||||||
|
"tabpage" cannot be changed.
|
||||||
|
|
||||||
|
popup_settext({id}, {text}) *popup_settext()*
|
||||||
|
Set the text of the buffer in poup win {id}. {text} is the
|
||||||
|
same as supplied to |popup_create()|, except that a buffer
|
||||||
|
number is not allowed.
|
||||||
|
Does not change the window size or position, other than caused
|
||||||
|
by the different text.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Usage *popup-usage*
|
||||||
|
|
||||||
|
POPUP_CREATE() ARGUMENTS *popup_create-arguments*
|
||||||
|
|
||||||
|
The first argument of |popup_create()| (and the second argument to
|
||||||
|
|popup_settext()|) specifies the text to be displayed, and optionally text
|
||||||
|
properties. It is in one of four forms:
|
||||||
|
- a buffer number
|
||||||
|
- a string
|
||||||
|
- a list of strings
|
||||||
|
- a list of dictionaries, where each dictionary has these entries:
|
||||||
|
text String with the text to display.
|
||||||
|
props A list of text properties. Optional.
|
||||||
|
Each entry is a dictionary, like the third argument of
|
||||||
|
|prop_add()|, but specifying the column in the
|
||||||
|
dictionary with a "col" entry, see below:
|
||||||
|
|popup-props|.
|
||||||
|
|
||||||
|
The second argument of |popup_create()| is a dictionary with options:
|
||||||
|
line Screen line where to position the popup. Can use a
|
||||||
|
number or "cursor", "cursor+1" or "cursor-1" to use
|
||||||
|
the line of the cursor and add or subtract a number of
|
||||||
|
lines. If omitted the popup is vertically centered.
|
||||||
|
The first line is 1.
|
||||||
|
col Screen column where to position the popup. Can use a
|
||||||
|
number or "cursor" to use the column of the cursor,
|
||||||
|
"cursor+9" or "cursor-9" to add or subtract a number
|
||||||
|
of columns. If omitted the popup is horizontally
|
||||||
|
centered. The first column is 1.
|
||||||
|
pos "topleft", "topright", "botleft" or "botright":
|
||||||
|
defines what corner of the popup "line" and "col" are
|
||||||
|
used for. When not set "topleft" is used.
|
||||||
|
Alternatively "center" can be used to position the
|
||||||
|
popup in the center of the Vim window, in which case
|
||||||
|
"line" and "col" are ignored.
|
||||||
|
fixed When FALSE (the default), and:
|
||||||
|
- "pos" is "botleft" or "topleft", and
|
||||||
|
- "wrap" is off, and
|
||||||
|
- the popup would be truncated at the right edge of
|
||||||
|
the screen, then
|
||||||
|
the popup is moved to the left so as to fit the
|
||||||
|
contents on the screen. Set to TRUE to disable this.
|
||||||
|
flip When TRUE (the default) and the position is relative
|
||||||
|
to the cursor, flip to below or above the cursor to
|
||||||
|
avoid overlap with the |popupmenu-completion| or
|
||||||
|
another popup with a higher "zindex". When there is
|
||||||
|
no space above/below the cursor then show the popup to
|
||||||
|
the side of the popup or popup menu.
|
||||||
|
{not implemented yet}
|
||||||
|
maxheight Maximum height of the contents, excluding border and
|
||||||
|
padding.
|
||||||
|
minheight Minimum height of the contents, excluding border and
|
||||||
|
padding.
|
||||||
|
maxwidth Maximum width of the contents, excluding border,
|
||||||
|
padding and scrollbar.
|
||||||
|
minwidth Minimum width of the contents, excluding border,
|
||||||
|
padding and scrollbar.
|
||||||
|
firstline First buffer line to display. When larger than one it
|
||||||
|
looks like the text scrolled up. When out of range
|
||||||
|
the last buffer line will at the top of the window.
|
||||||
|
Also see "scrollbar".
|
||||||
|
hidden When TRUE the popup exists but is not displayed; use
|
||||||
|
`popup_show()` to unhide it.
|
||||||
|
tabpage When -1: display the popup on all tab pages.
|
||||||
|
When 0 (the default): display the popup on the current
|
||||||
|
tab page.
|
||||||
|
Otherwise the number of the tab page the popup is
|
||||||
|
displayed on; when invalid the popup is not created
|
||||||
|
and an error is given. *E997*
|
||||||
|
title Text to be displayed above the first item in the
|
||||||
|
popup, on top of any border. If there is no top
|
||||||
|
border one line of padding is added to put the title
|
||||||
|
on. You might want to add one or more spaces at the
|
||||||
|
start and end as padding.
|
||||||
|
wrap TRUE to make the lines wrap (default TRUE).
|
||||||
|
drag TRUE to allow the popup to be dragged with the mouse
|
||||||
|
by grabbing at at the border. Has no effect if the
|
||||||
|
popup does not have a border. As soon as dragging
|
||||||
|
starts and "pos" is "center" it is changed to
|
||||||
|
"topleft".
|
||||||
|
resize TRUE to allow the popup to be resized with the mouse
|
||||||
|
by grabbing at at the bottom right cornder. Has no
|
||||||
|
effect if the popup does not have a border.
|
||||||
|
close When "button" an X is displayed in the top-right, on
|
||||||
|
top of any border, padding or text. When clicked on
|
||||||
|
the X the popup will close. Any callback is invoked
|
||||||
|
with the value -2.
|
||||||
|
When "click" any mouse click in the popup will close
|
||||||
|
it.
|
||||||
|
When "none" (the default) mouse clicks do not close
|
||||||
|
the popup window.
|
||||||
|
highlight Highlight group name to use for the text, stored in
|
||||||
|
the 'wincolor' option.
|
||||||
|
padding List with numbers, defining the padding
|
||||||
|
above/right/below/left of the popup (similar to CSS).
|
||||||
|
An empty list uses a padding of 1 all around. The
|
||||||
|
padding goes around the text, inside any border.
|
||||||
|
Padding uses the 'wincolor' highlight.
|
||||||
|
Example: [1, 2, 1, 3] has 1 line of padding above, 2
|
||||||
|
columns on the right, 1 line below and 3 columns on
|
||||||
|
the left.
|
||||||
|
border List with numbers, defining the border thickness
|
||||||
|
above/right/below/left of the popup (similar to CSS).
|
||||||
|
Only values of zero and non-zero are recognized.
|
||||||
|
An empty list uses a border all around.
|
||||||
|
borderhighlight List of highlight group names to use for the border.
|
||||||
|
When one entry it is used for all borders, otherwise
|
||||||
|
the highlight for the top/right/bottom/left border.
|
||||||
|
Example: ['TopColor', 'RightColor', 'BottomColor,
|
||||||
|
'LeftColor']
|
||||||
|
borderchars List with characters, defining the character to use
|
||||||
|
for the top/right/bottom/left border. Optionally
|
||||||
|
followed by the character to use for the
|
||||||
|
topleft/topright/botright/botleft corner.
|
||||||
|
Example: ['-', '|', '-', '|', '┌', '┐', '┘', '└']
|
||||||
|
When the list has one character it is used for all.
|
||||||
|
When the list has two characters the first is used for
|
||||||
|
the border lines, the second for the corners.
|
||||||
|
By default a double line is used all around when
|
||||||
|
'encoding' is "utf-8" and 'ambiwidth' is "single",
|
||||||
|
otherwise ASCII characters are used.
|
||||||
|
scrollbar non-zero: show a scrollbar when the text doesn't fit.
|
||||||
|
zero: do not show a scrollbar. Default is non-zero.
|
||||||
|
Also see |popup-scrollbar|.
|
||||||
|
scrollbarhighlight Highlight group name for the scrollbar. The
|
||||||
|
background color is what matters. When not given then
|
||||||
|
PmenuSbar is used.
|
||||||
|
thumbhighlight Highlight group name for the scrollbar thumb. The
|
||||||
|
background color is what matters. When not given then
|
||||||
|
PmenuThumb is used.
|
||||||
|
zindex Priority for the popup, default 50. Minimum value is
|
||||||
|
1, maximum value is 32000.
|
||||||
|
mask A list of lists with coordinates, defining parts of
|
||||||
|
the popup that are transparent. See |popup-mask|.
|
||||||
|
time Time in milliseconds after which the popup will close.
|
||||||
|
When omitted |popup_close()| must be used.
|
||||||
|
moved Specifies to close the popup if the cursor moved:
|
||||||
|
- "any": if the cursor moved at all
|
||||||
|
- "word": if the cursor moved outside |<cword>|
|
||||||
|
- "WORD": if the cursor moved outside |<cWORD>|
|
||||||
|
- "expr": if the cursor moved outside |<cexpr>|
|
||||||
|
- [{start}, {end}]: if the cursor moved before column
|
||||||
|
{start} or after {end}
|
||||||
|
The popup also closes if the cursor moves to another
|
||||||
|
line or to another window.
|
||||||
|
cursorline non-zero: Highlight the cursor line. Also scrolls the
|
||||||
|
text to show this line (only works properly
|
||||||
|
when 'wrap' is off).
|
||||||
|
zero: Do not highlight the cursor line.
|
||||||
|
Default is zero, except for |popup_menu()|.
|
||||||
|
filter A callback that can filter typed characters, see
|
||||||
|
|popup-filter|.
|
||||||
|
mapping Allow for key mapping. When FALSE and the popup is
|
||||||
|
visible and has a filter callback key mapping is
|
||||||
|
disabled. Default value is TRUE.
|
||||||
|
callback A callback that is called when the popup closes, e.g.
|
||||||
|
when using |popup_filter_menu()|, see |popup-callback|.
|
||||||
|
|
||||||
|
Depending on the "zindex" the popup goes under or above other popups. The
|
||||||
|
completion menu (|popup-menu|) has zindex 100. For messages that occur for a
|
||||||
|
short time the suggestion is to use zindex 1000.
|
||||||
|
|
||||||
|
By default text wraps, which causes a line in {lines} to occupy more than one
|
||||||
|
screen line. When "wrap" is FALSE then the text outside of the popup or
|
||||||
|
outside of the Vim window will not be displayed, thus truncated.
|
||||||
|
|
||||||
|
|
||||||
|
POPUP TEXT PROPERTIES *popup-props*
|
||||||
|
|
||||||
|
These are similar to the third argument of |prop_add()| except:
|
||||||
|
- "lnum" is always the current line in the list
|
||||||
|
- "bufnr" is always the buffer of the popup
|
||||||
|
- "col" is in the Dict instead of a separate argument
|
||||||
|
So we get:
|
||||||
|
col starting column, counted in bytes, use one for the
|
||||||
|
first column.
|
||||||
|
length length of text in bytes; can be zero
|
||||||
|
end_lnum line number for the end of the text
|
||||||
|
end_col column just after the text; not used when "length" is
|
||||||
|
present; when {col} and "end_col" are equal, this is a
|
||||||
|
zero-width text property
|
||||||
|
id user defined ID for the property; when omitted zero is
|
||||||
|
used
|
||||||
|
type name of the text property type, as added with
|
||||||
|
|prop_type_add()|
|
||||||
|
|
||||||
|
|
||||||
|
POPUP FILTER *popup-filter*
|
||||||
|
|
||||||
|
A callback that gets any typed keys while a popup is displayed. The filter is
|
||||||
|
not invoked when the popup is hidden.
|
||||||
|
|
||||||
|
The filter can return TRUE to indicate the key has been handled and is to be
|
||||||
|
discarded, or FALSE to let Vim handle the key as usual in the current state.
|
||||||
|
In case it returns FALSE and there is another popup window visible, that
|
||||||
|
filter is also called. The filter of the popup window with the highest zindex
|
||||||
|
is called first.
|
||||||
|
|
||||||
|
The filter function is called with two arguments: the ID of the popup and the
|
||||||
|
key as a string, e.g.: >
|
||||||
|
func MyFilter(winid, key)
|
||||||
|
if a:key == "\<F2>"
|
||||||
|
" do something
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if a:key == 'x'
|
||||||
|
call popup_close(a:winid)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
< *popup-mapping*
|
||||||
|
Normally the key is what results after any mapping, since the keys pass on as
|
||||||
|
normal input if the filter does not use it. If the filter consumes all the
|
||||||
|
keys, set the "mapping" property to zero so that mappings do not get in the
|
||||||
|
way. This is default for |popup_menu()| and |popup_dialog()|.
|
||||||
|
|
||||||
|
Some common key actions:
|
||||||
|
x close the popup (see note below)
|
||||||
|
cursor keys select another entry
|
||||||
|
Tab accept current suggestion
|
||||||
|
|
||||||
|
A mouse click arrives as <LeftMouse>. The coordinates are in
|
||||||
|
v:mouse_popup_col and v:mouse_popup_row. The top-left screen cell of the
|
||||||
|
popup is col 1, row 1 (not counting the border).
|
||||||
|
|
||||||
|
Vim provides standard filters |popup_filter_menu()| and
|
||||||
|
|popup_filter_yesno()|.
|
||||||
|
|
||||||
|
Note that "x" is the normal way to close a popup. You may want to use Esc,
|
||||||
|
but since many keys start with an Esc character, there may be a delay before
|
||||||
|
Vim recognizes the Esc key. If you do use Esc, it is recommended to set the
|
||||||
|
'ttimeoutlen' option to 100 and set 'timeout' and/or 'ttimeout'.
|
||||||
|
|
||||||
|
|
||||||
|
POPUP CALLBACK *popup-callback*
|
||||||
|
|
||||||
|
A callback that is invoked when the popup closes.
|
||||||
|
|
||||||
|
The callback is invoked with two arguments: the ID of the popup window and the
|
||||||
|
result, which could be an index in the popup lines, or whatever was passed as
|
||||||
|
the second argument of `popup_close()`.
|
||||||
|
|
||||||
|
If the popup is force-closed, e.g. because the cursor moved or CTRL-C was
|
||||||
|
pressed, the number -1 is passed to the callback.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
func SelectedColor(id, result)
|
||||||
|
echo 'choice made: ' .. a:result
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
POPUP SCROLLBAR *popup-scrollbar*
|
||||||
|
|
||||||
|
If the text does not fit in the popup a scrollbar is displayed on the right of
|
||||||
|
the window. This can be disabled by setting the "scrollbar" option to zero.
|
||||||
|
When the scrollbar is displayed mouse scroll events, while the mouse pointer
|
||||||
|
is on the popup, will cause the text to scroll up or down as you would expect.
|
||||||
|
A click in the upper half of the scrollbar will scroll the text down one line.
|
||||||
|
A click in the lower half will scroll the text up one line. However, this is
|
||||||
|
limited so that the popup does not get smaller.
|
||||||
|
|
||||||
|
|
||||||
|
POPUP MASK *popup-mask*
|
||||||
|
|
||||||
|
To minimize the text that the popup covers, parts of it can be made
|
||||||
|
transparent. This is defined by a "mask" which is a list of lists, where each
|
||||||
|
list has four numbers:
|
||||||
|
col start column, positive for counting from the left, 1 for
|
||||||
|
leftmost, negative for counting from the right, -1 for
|
||||||
|
rightmost
|
||||||
|
endcol last column, like "col"
|
||||||
|
line start line, positive for counting from the top, 1 for top,
|
||||||
|
negative for counting from the bottom, -1 for bottom
|
||||||
|
endline end line, like "line"
|
||||||
|
|
||||||
|
For example, to make the last 10 columns of the last line transparent:
|
||||||
|
[[-10, -1, -1, -1]]
|
||||||
|
|
||||||
|
To make the four corners transparent:
|
||||||
|
[[1, 1, 1, 1], [-1, -1, 1, 1], [1, 1, -1, -1], [-1, -1, -1, -1]]
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
4. Examples *popup-examples*
|
||||||
|
|
||||||
|
TODO: more interesting examples
|
||||||
|
*popup_dialog-example*
|
||||||
|
Prompt the user to press y/Y or n/N: >
|
||||||
|
|
||||||
|
func MyDialogHandler(id, result)
|
||||||
|
if a:result
|
||||||
|
" ... 'y' or 'Y' was pressed
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
call popup_dialog('Continue? y/n', #{
|
||||||
|
\ filter: 'popup_filter_yesno',
|
||||||
|
\ callback: 'MyDialogHandler',
|
||||||
|
\ })
|
||||||
|
<
|
||||||
|
*popup_menu-shortcut-example*
|
||||||
|
Extend popup_filter_menu() with shortcut keys: >
|
||||||
|
|
||||||
|
call popup_menu(['Save', 'Cancel', 'Discard'], #{
|
||||||
|
\ filter: 'MyMenuFilter',
|
||||||
|
\ callback: 'MyMenuHandler',
|
||||||
|
\ })
|
||||||
|
|
||||||
|
func MyMenuFilter(id, key)
|
||||||
|
" Handle shortcuts
|
||||||
|
if a:key == 'S'
|
||||||
|
call popup_close(a:id, 1)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if a:key == 'C'
|
||||||
|
call popup_close(a:id, 2)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if a:key == 'D'
|
||||||
|
call popup_close(a:id, 3)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
|
||||||
|
" No shortcut, pass to generic filter
|
||||||
|
return popup_filter_menu(a:id, a:key)
|
||||||
|
endfunc
|
||||||
|
<
|
||||||
|
*popup_beval_example*
|
||||||
|
Example for using a popup window for 'ballooneval': >
|
||||||
|
|
||||||
|
set ballooneval balloonevalterm
|
||||||
|
set balloonexpr=BalloonExpr()
|
||||||
|
let s:winid = 0
|
||||||
|
let s:last_text = ''
|
||||||
|
|
||||||
|
func BalloonExpr()
|
||||||
|
if s:winid && popup_getpos(s:winid) != {}
|
||||||
|
" previous popup window still shows
|
||||||
|
if v:beval_text == s:last_text
|
||||||
|
" Still the same text, keep the existing popup
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
call popup_close(s:winid)
|
||||||
|
endif
|
||||||
|
let s:winid = popup_beval(v:beval_text, #{mousemoved: 'word'})
|
||||||
|
let s:last_text = v:beval_text
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
<
|
||||||
|
If the text has to be obtained asynchronously return an empty string from the
|
||||||
|
expression function and call popup_beval() once the text is available. In
|
||||||
|
this example simulated with a timer callback: >
|
||||||
|
|
||||||
|
set ballooneval balloonevalterm
|
||||||
|
set balloonexpr=BalloonExpr()
|
||||||
|
let s:winid = 0
|
||||||
|
let s:balloonText = ''
|
||||||
|
|
||||||
|
func BalloonExpr()
|
||||||
|
if s:winid && popup_getpos(s:winid) != {}
|
||||||
|
" previous popup window still shows
|
||||||
|
if v:beval_text == s:balloonText
|
||||||
|
" Still the same text, keep the existing popup
|
||||||
|
return ''
|
||||||
|
endif
|
||||||
|
call popup_close(s:winid)
|
||||||
|
let s:winid = 0
|
||||||
|
endif
|
||||||
|
" simulate an asynchronous loopup for the text to display
|
||||||
|
let s:balloonText = v:beval_text
|
||||||
|
call timer_start(100, 'ShowPopup')
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func ShowPopup(id)
|
||||||
|
let s:winid = popup_beval(s:balloonText, #{mousemoved: 'word'})
|
||||||
|
endfunc
|
||||||
|
<
|
||||||
|
|
||||||
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
*print.txt* For Vim version 8.1. Last change: 2010 Jul 20
|
*print.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -15,7 +15,6 @@ Printing *printing*
|
|||||||
7. PostScript Utilities |postscript-print-util|
|
7. PostScript Utilities |postscript-print-util|
|
||||||
8. Formfeed Characters |printing-formfeed|
|
8. Formfeed Characters |printing-formfeed|
|
||||||
|
|
||||||
{Vi has None of this}
|
|
||||||
{only available when compiled with the |+printer| feature}
|
{only available when compiled with the |+printer| feature}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -254,9 +253,9 @@ possible. The following tables show the valid combinations:
|
|||||||
Japanese JIS_C_1978 x x
|
Japanese JIS_C_1978 x x
|
||||||
JIS_X_1983 x x
|
JIS_X_1983 x x
|
||||||
JIS_X_1990 x x x
|
JIS_X_1990 x x x
|
||||||
MSWINDOWS x
|
MSWINDOWS x
|
||||||
KANJITALK6 x
|
KANJITALK6 x
|
||||||
KANJITALK7 x
|
KANJITALK7 x
|
||||||
|
|
||||||
euc-kr cp949 ucs-2 utf-8 ~
|
euc-kr cp949 ucs-2 utf-8 ~
|
||||||
Korean KS_X_1992 x
|
Korean KS_X_1992 x
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Jan 13
|
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -16,8 +16,6 @@ This subject is introduced in section |30.1| of the user manual.
|
|||||||
8. The directory stack |quickfix-directory-stack|
|
8. The directory stack |quickfix-directory-stack|
|
||||||
9. Specific error file formats |errorformats|
|
9. Specific error file formats |errorformats|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
The quickfix commands are not available when the |+quickfix| feature was
|
The quickfix commands are not available when the |+quickfix| feature was
|
||||||
disabled at compile time.
|
disabled at compile time.
|
||||||
|
|
||||||
@@ -87,7 +85,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
|
|
||||||
*:cc*
|
*:cc*
|
||||||
:cc[!] [nr] Display error [nr]. If [nr] is omitted, the same
|
:cc[!] [nr] Display error [nr]. If [nr] is omitted, the same
|
||||||
error is displayed again. Without [!] this doesn't
|
:[nr]cc[!] error is displayed again. Without [!] this doesn't
|
||||||
work when jumping to another buffer, the current buffer
|
work when jumping to another buffer, the current buffer
|
||||||
has been changed, there is the only window for the
|
has been changed, there is the only window for the
|
||||||
buffer and both 'hidden' and 'autowrite' are off.
|
buffer and both 'hidden' and 'autowrite' are off.
|
||||||
@@ -96,12 +94,15 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
there is another window for this buffer.
|
there is another window for this buffer.
|
||||||
The 'switchbuf' settings are respected when jumping
|
The 'switchbuf' settings are respected when jumping
|
||||||
to a buffer.
|
to a buffer.
|
||||||
|
When used in the quickfix window the line number can
|
||||||
|
be used, including "." for the current line and "$"
|
||||||
|
for the last line.
|
||||||
|
|
||||||
*:ll*
|
*:ll*
|
||||||
:ll[!] [nr] Same as ":cc", except the location list for the
|
:ll[!] [nr] Same as ":cc", except the location list for the
|
||||||
current window is used instead of the quickfix list.
|
:[nr]ll[!] current window is used instead of the quickfix list.
|
||||||
|
|
||||||
*:cn* *:cnext* *E553*
|
*:cn* *:cne* *:cnext* *E553*
|
||||||
:[count]cn[ext][!] Display the [count] next error in the list that
|
:[count]cn[ext][!] Display the [count] next error in the list that
|
||||||
includes a file name. If there are no file names at
|
includes a file name. If there are no file names at
|
||||||
all, go to the [count] next error. See |:cc| for
|
all, go to the [count] next error. See |:cc| for
|
||||||
@@ -123,6 +124,64 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
list for the current window is used instead of the
|
list for the current window is used instead of the
|
||||||
quickfix list.
|
quickfix list.
|
||||||
|
|
||||||
|
*:cabo* *:cabove*
|
||||||
|
:[count]cabo[ve] Go to the [count] error above the current line in the
|
||||||
|
current buffer. If [count] is omitted, then 1 is
|
||||||
|
used. If there are no errors, then an error message
|
||||||
|
is displayed. Assumes that the entries in a quickfix
|
||||||
|
list are sorted by their buffer number and line
|
||||||
|
number. If there are multiple errors on the same line,
|
||||||
|
then only the first entry is used. If [count] exceeds
|
||||||
|
the number of entries above the current line, then the
|
||||||
|
first error in the file is selected.
|
||||||
|
|
||||||
|
*:lab* *:labove*
|
||||||
|
:[count]lab[ove] Same as ":cabove", except the location list for the
|
||||||
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
|
*:cbel* *:cbelow*
|
||||||
|
:[count]cbel[ow] Go to the [count] error below the current line in the
|
||||||
|
current buffer. If [count] is omitted, then 1 is
|
||||||
|
used. If there are no errors, then an error message
|
||||||
|
is displayed. Assumes that the entries in a quickfix
|
||||||
|
list are sorted by their buffer number and line
|
||||||
|
number. If there are multiple errors on the same
|
||||||
|
line, then only the first entry is used. If [count]
|
||||||
|
exceeds the number of entries below the current line,
|
||||||
|
then the last error in the file is selected.
|
||||||
|
|
||||||
|
*:lbel* *:lbelow*
|
||||||
|
:[count]lbel[ow] Same as ":cbelow", except the location list for the
|
||||||
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
|
*:cbe* *:cbefore*
|
||||||
|
:[count]cbe[fore] Go to the [count] error before the current cursor
|
||||||
|
position in the current buffer. If [count] is
|
||||||
|
omitted, then 1 is used. If there are no errors, then
|
||||||
|
an error message is displayed. Assumes that the
|
||||||
|
entries in a quickfix list are sorted by their buffer,
|
||||||
|
line and column numbers. If [count] exceeds the
|
||||||
|
number of entries before the current position, then
|
||||||
|
the first error in the file is selected.
|
||||||
|
|
||||||
|
*:lbe* *:lbefore*
|
||||||
|
:[count]lbe[fore] Same as ":cbefore", except the location list for the
|
||||||
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
|
*:caf* *:cafter*
|
||||||
|
:[count]caf[ter] Go to the [count] error after the current cursor
|
||||||
|
position in the current buffer. If [count] is
|
||||||
|
omitted, then 1 is used. If there are no errors, then
|
||||||
|
an error message is displayed. Assumes that the
|
||||||
|
entries in a quickfix list are sorted by their buffer,
|
||||||
|
line and column numbers. If [count] exceeds the
|
||||||
|
number of entries after the current position, then
|
||||||
|
the last error in the file is selected.
|
||||||
|
|
||||||
|
*:laf* *:lafter*
|
||||||
|
:[count]laf[ter] Same as ":cafter", except the location list for the
|
||||||
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
*:cnf* *:cnfile*
|
*:cnf* *:cnfile*
|
||||||
:[count]cnf[ile][!] Display the first error in the [count] next file in
|
:[count]cnf[ile][!] Display the first error in the [count] next file in
|
||||||
the list that includes a file name. If there are no
|
the list that includes a file name. If there are no
|
||||||
@@ -187,7 +246,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
'encoding' option, you can use the 'makeencoding'
|
'encoding' option, you can use the 'makeencoding'
|
||||||
option to specify the encoding.
|
option to specify the encoding.
|
||||||
|
|
||||||
*:lf* *:lfile*
|
*:lf* *:lfi* *:lfile*
|
||||||
:lf[ile][!] [errorfile] Same as ":cfile", except the location list for the
|
:lf[ile][!] [errorfile] Same as ":cfile", except the location list for the
|
||||||
current window is used instead of the quickfix list.
|
current window is used instead of the quickfix list.
|
||||||
You can not use the -q command-line option to set
|
You can not use the -q command-line option to set
|
||||||
@@ -202,7 +261,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
option to specify the encoding.
|
option to specify the encoding.
|
||||||
|
|
||||||
|
|
||||||
:lg[etfile] [errorfile] *:lg* *:lgetfile*
|
:lg[etfile] [errorfile] *:lg* *:lge* *:lgetfile*
|
||||||
Same as ":cgetfile", except the location list for the
|
Same as ":cgetfile", except the location list for the
|
||||||
current window is used instead of the quickfix list.
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
@@ -240,7 +299,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
the current window is used instead of the quickfix
|
the current window is used instead of the quickfix
|
||||||
list.
|
list.
|
||||||
|
|
||||||
*:cad* *:caddbuffer*
|
*:cad* *:cadd* *:caddbuffer*
|
||||||
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
|
:cad[dbuffer] [bufnr] Read the error list from the current buffer and add
|
||||||
the errors to the current quickfix list. If a
|
the errors to the current quickfix list. If a
|
||||||
quickfix list is not present, then a new list is
|
quickfix list is not present, then a new list is
|
||||||
@@ -287,7 +346,7 @@ processing a quickfix or location list command, it will be aborted.
|
|||||||
Example: >
|
Example: >
|
||||||
:g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".")
|
:g/mypattern/caddexpr expand("%") . ":" . line(".") . ":" . getline(".")
|
||||||
<
|
<
|
||||||
*:lad* *:laddexpr*
|
*:lad* *:addd* *:laddexpr*
|
||||||
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
|
:lad[dexpr] {expr} Same as ":caddexpr", except the location list for the
|
||||||
current window is used instead of the quickfix list.
|
current window is used instead of the quickfix list.
|
||||||
|
|
||||||
@@ -441,7 +500,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
autocommand event is disabled by adding it to
|
autocommand event is disabled by adding it to
|
||||||
'eventignore'. This considerably speeds up editing
|
'eventignore'. This considerably speeds up editing
|
||||||
each buffer.
|
each buffer.
|
||||||
{not in Vi}
|
|
||||||
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
||||||
|:ldo|, |:cfdo| and |:lfdo|.
|
|:ldo|, |:cfdo| and |:lfdo|.
|
||||||
|
|
||||||
@@ -454,7 +512,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
:{cmd}
|
:{cmd}
|
||||||
etc.
|
etc.
|
||||||
< Otherwise it works the same as `:cdo`.
|
< Otherwise it works the same as `:cdo`.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ldo*
|
*:ldo*
|
||||||
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
||||||
@@ -467,7 +524,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
etc.
|
etc.
|
||||||
< Only valid entries in the location list are used.
|
< Only valid entries in the location list are used.
|
||||||
Otherwise it works the same as `:cdo`.
|
Otherwise it works the same as `:cdo`.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:lfdo*
|
*:lfdo*
|
||||||
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
||||||
@@ -479,7 +535,29 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
|||||||
:{cmd}
|
:{cmd}
|
||||||
etc.
|
etc.
|
||||||
< Otherwise it works the same as `:ldo`.
|
< Otherwise it works the same as `:ldo`.
|
||||||
{not in Vi}
|
|
||||||
|
FILTERING A QUICKFIX OR LOCATION LIST:
|
||||||
|
*cfilter-plugin* *:Cfilter* *:Lfilter*
|
||||||
|
If you have too many entries in a quickfix list, you can use the cfilter
|
||||||
|
plugin to reduce the number of entries. Load the plugin with: >
|
||||||
|
|
||||||
|
packadd cfilter
|
||||||
|
|
||||||
|
Then you can use the following commands to filter a quickfix/location list: >
|
||||||
|
|
||||||
|
:Cfilter[!] /{pat}/
|
||||||
|
:Lfilter[!] /{pat}/
|
||||||
|
|
||||||
|
The |:Cfilter| command creates a new quickfix list from the entries matching
|
||||||
|
{pat} in the current quickfix list. {pat} is a Vim |regular-expression|
|
||||||
|
pattern. Both the file name and the text of the entries are matched against
|
||||||
|
{pat}. If the optional ! is supplied, then the entries not matching {pat} are
|
||||||
|
used. The pattern can be optionally enclosed using one of the following
|
||||||
|
characters: ', ", /. If the pattern is empty, then the last used search
|
||||||
|
pattern is used.
|
||||||
|
|
||||||
|
The |:Lfilter| command does the same as |:Cfilter| but operates on the current
|
||||||
|
location list.
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
2. The error window *quickfix-window*
|
2. The error window *quickfix-window*
|
||||||
@@ -572,9 +650,9 @@ You can use CTRL-W <Enter> to open a new window and jump to the error there.
|
|||||||
|
|
||||||
When the quickfix window has been filled, two autocommand events are
|
When the quickfix window has been filled, two autocommand events are
|
||||||
triggered. First the 'filetype' option is set to "qf", which triggers the
|
triggered. First the 'filetype' option is set to "qf", which triggers the
|
||||||
FileType event. Then the BufReadPost event is triggered, using "quickfix" for
|
FileType event (also see |qf.vim|). Then the BufReadPost event is triggered,
|
||||||
the buffer name. This can be used to perform some action on the listed
|
using "quickfix" for the buffer name. This can be used to perform some action
|
||||||
errors. Example: >
|
on the listed errors. Example: >
|
||||||
au BufReadPost quickfix setlocal modifiable
|
au BufReadPost quickfix setlocal modifiable
|
||||||
\ | silent exe 'g/^/s//\=line(".")." "/'
|
\ | silent exe 'g/^/s//\=line(".")." "/'
|
||||||
\ | setlocal nomodifiable
|
\ | setlocal nomodifiable
|
||||||
@@ -767,14 +845,19 @@ lists. They set one of the existing error lists as the current one.
|
|||||||
the current window instead of the quickfix list.
|
the current window instead of the quickfix list.
|
||||||
|
|
||||||
*:chistory* *:chi*
|
*:chistory* *:chi*
|
||||||
:chi[story] Show the list of error lists. The current list is
|
:[count]chi[story] Show the list of error lists. The current list is
|
||||||
marked with ">". The output looks like:
|
marked with ">". The output looks like:
|
||||||
error list 1 of 3; 43 errors ~
|
error list 1 of 3; 43 errors ~
|
||||||
> error list 2 of 3; 0 errors ~
|
> error list 2 of 3; 0 errors ~
|
||||||
error list 3 of 3; 15 errors ~
|
error list 3 of 3; 15 errors ~
|
||||||
|
|
||||||
|
When [count] is given, then the count'th quickfix
|
||||||
|
list is made the current list. Example: >
|
||||||
|
" Make the 4th quickfix list current
|
||||||
|
:4chistory
|
||||||
|
<
|
||||||
*:lhistory* *:lhi*
|
*:lhistory* *:lhi*
|
||||||
:lhi[story] Show the list of location lists, otherwise like
|
:[count]lhi[story] Show the list of location lists, otherwise like
|
||||||
`:chistory`.
|
`:chistory`.
|
||||||
|
|
||||||
When adding a new error list, it becomes the current list.
|
When adding a new error list, it becomes the current list.
|
||||||
@@ -1269,6 +1352,9 @@ replaced with SOH (0x01).
|
|||||||
Note: By default the difference between upper and lowercase is ignored. If
|
Note: By default the difference between upper and lowercase is ignored. If
|
||||||
you want to match case, add "\C" to the pattern |/\C|.
|
you want to match case, add "\C" to the pattern |/\C|.
|
||||||
|
|
||||||
|
Vim will read lines of any length, but only the first 4095 bytes are used, the
|
||||||
|
rest is ignored. Items can only be 1023 bytes long.
|
||||||
|
|
||||||
|
|
||||||
Basic items
|
Basic items
|
||||||
|
|
||||||
@@ -1586,22 +1672,6 @@ The backslashes before the pipe character are required to avoid it to be
|
|||||||
recognized as a command separator. The backslash before each space is
|
recognized as a command separator. The backslash before each space is
|
||||||
required for the set command.
|
required for the set command.
|
||||||
|
|
||||||
*cfilter-plugin* *:Cfilter* *:Lfilter*
|
|
||||||
If you have too many matching messages, you can use the cfilter plugin to
|
|
||||||
reduce the number of entries. Load the plugin with: >
|
|
||||||
packadd cfilter
|
|
||||||
|
|
||||||
Then you can use these command: >
|
|
||||||
:Cfilter[!] /{pat}/
|
|
||||||
:Lfilter[!] /{pat}/
|
|
||||||
|
|
||||||
:Cfilter creates a new quickfix list from entries matching {pat} in the
|
|
||||||
current quickfix list. Both the file name and the text of the entries are
|
|
||||||
matched against {pat}. If ! is supplied, then entries not matching {pat} are
|
|
||||||
used.
|
|
||||||
|
|
||||||
:Lfilter does the same as :Cfilter but operates on the current location list.
|
|
||||||
|
|
||||||
=============================================================================
|
=============================================================================
|
||||||
8. The directory stack *quickfix-directory-stack*
|
8. The directory stack *quickfix-directory-stack*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
*quickref.txt* For Vim version 8.1. Last change: 2019 Aug 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -600,6 +600,7 @@ In Insert or Command-line mode:
|
|||||||
Short explanation of each option: *option-list*
|
Short explanation of each option: *option-list*
|
||||||
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
|
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
|
||||||
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
|
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
|
||||||
|
'altkeymap' 'akm' obsolete option for Farsi
|
||||||
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
|
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
|
||||||
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
|
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
|
||||||
'autochdir' 'acd' change directory to the file in the current window
|
'autochdir' 'acd' change directory to the file in the current window
|
||||||
@@ -650,6 +651,7 @@ Short explanation of each option: *option-list*
|
|||||||
'complete' 'cpt' specify how Insert mode completion works
|
'complete' 'cpt' specify how Insert mode completion works
|
||||||
'completefunc' 'cfu' function to be used for Insert mode completion
|
'completefunc' 'cfu' function to be used for Insert mode completion
|
||||||
'completeopt' 'cot' options for Insert mode completion
|
'completeopt' 'cot' options for Insert mode completion
|
||||||
|
'completeslash' 'csl' like 'shellslash' for completion
|
||||||
'concealcursor' 'cocu' whether concealable text is hidden in cursor line
|
'concealcursor' 'cocu' whether concealable text is hidden in cursor line
|
||||||
'conceallevel' 'cole' whether concealable text is shown or hidden
|
'conceallevel' 'cole' whether concealable text is shown or hidden
|
||||||
'confirm' 'cf' ask what to do about unsaved/read-only files
|
'confirm' 'cf' ask what to do about unsaved/read-only files
|
||||||
@@ -699,6 +701,7 @@ Short explanation of each option: *option-list*
|
|||||||
'filetype' 'ft' type of file, used for autocommands
|
'filetype' 'ft' type of file, used for autocommands
|
||||||
'fillchars' 'fcs' characters to use for displaying special items
|
'fillchars' 'fcs' characters to use for displaying special items
|
||||||
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
'fixendofline' 'fixeol' make sure last line in file has <EOL>
|
||||||
|
'fkmap' 'fk' obsolete option for Farsi
|
||||||
'foldclose' 'fcl' close a fold when the cursor leaves it
|
'foldclose' 'fcl' close a fold when the cursor leaves it
|
||||||
'foldcolumn' 'fdc' width of the column used to indicate folds
|
'foldcolumn' 'fdc' width of the column used to indicate folds
|
||||||
'foldenable' 'fen' set to display all folds open
|
'foldenable' 'fen' set to display all folds open
|
||||||
@@ -767,6 +770,7 @@ Short explanation of each option: *option-list*
|
|||||||
'keywordprg' 'kp' program to use for the "K" command
|
'keywordprg' 'kp' program to use for the "K" command
|
||||||
'langmap' 'lmap' alphabetic characters for other language mode
|
'langmap' 'lmap' alphabetic characters for other language mode
|
||||||
'langmenu' 'lm' language to be used for the menus
|
'langmenu' 'lm' language to be used for the menus
|
||||||
|
'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
|
||||||
'langremap' 'lrm' do apply 'langmap' to mapped characters
|
'langremap' 'lrm' do apply 'langmap' to mapped characters
|
||||||
'laststatus' 'ls' tells when last window has status lines
|
'laststatus' 'ls' tells when last window has status lines
|
||||||
'lazyredraw' 'lz' don't redraw while executing macros
|
'lazyredraw' 'lz' don't redraw while executing macros
|
||||||
@@ -779,8 +783,6 @@ 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"
|
||||||
@@ -797,6 +799,7 @@ Short explanation of each option: *option-list*
|
|||||||
'menuitems' 'mis' maximum number of items in a menu
|
'menuitems' 'mis' maximum number of items in a menu
|
||||||
'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree
|
'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree
|
||||||
'modeline' 'ml' recognize modelines at start or end of file
|
'modeline' 'ml' recognize modelines at start or end of file
|
||||||
|
'modelineexpr' 'mle' allow setting expression options from a modeline
|
||||||
'modelines' 'mls' number of lines checked for modelines
|
'modelines' 'mls' number of lines checked for modelines
|
||||||
'modifiable' 'ma' changes to the text are not possible
|
'modifiable' 'ma' changes to the text are not possible
|
||||||
'modified' 'mod' buffer has been modified
|
'modified' 'mod' buffer has been modified
|
||||||
@@ -808,6 +811,8 @@ Short explanation of each option: *option-list*
|
|||||||
'mouseshape' 'mouses' shape of the mouse pointer in different modes
|
'mouseshape' 'mouses' shape of the mouse pointer in different modes
|
||||||
'mousetime' 'mouset' max time between mouse double-click
|
'mousetime' 'mouset' max time between mouse double-click
|
||||||
'mzquantum' 'mzq' the interval between polls for MzScheme threads
|
'mzquantum' 'mzq' the interval between polls for MzScheme threads
|
||||||
|
'mzschemedll' name of the MzScheme dynamic library
|
||||||
|
'mzschemegcdll' name of the MzScheme dynamic library for GC
|
||||||
'nrformats' 'nf' number formats recognized for CTRL-A command
|
'nrformats' 'nf' number formats recognized for CTRL-A command
|
||||||
'number' 'nu' print the line number in front of each line
|
'number' 'nu' print the line number in front of each line
|
||||||
'numberwidth' 'nuw' number of columns used for the line number
|
'numberwidth' 'nuw' number of columns used for the line number
|
||||||
@@ -825,6 +830,7 @@ Short explanation of each option: *option-list*
|
|||||||
'perldll' name of the Perl dynamic library
|
'perldll' name of the Perl dynamic library
|
||||||
'preserveindent' 'pi' preserve the indent structure when reindenting
|
'preserveindent' 'pi' preserve the indent structure when reindenting
|
||||||
'previewheight' 'pvh' height of the preview window
|
'previewheight' 'pvh' height of the preview window
|
||||||
|
'previewpopup' 'pvp' use popup window for preview
|
||||||
'previewwindow' 'pvw' identifies the preview window
|
'previewwindow' 'pvw' identifies the preview window
|
||||||
'printdevice' 'pdev' name of the printer to be used for :hardcopy
|
'printdevice' 'pdev' name of the printer to be used for :hardcopy
|
||||||
'printencoding' 'penc' encoding to be used for printing
|
'printencoding' 'penc' encoding to be used for printing
|
||||||
@@ -916,6 +922,7 @@ Short explanation of each option: *option-list*
|
|||||||
'tabstop' 'ts' number of spaces that <Tab> in file uses
|
'tabstop' 'ts' number of spaces that <Tab> in file uses
|
||||||
'tagbsearch' 'tbs' use binary searching in tags files
|
'tagbsearch' 'tbs' use binary searching in tags files
|
||||||
'tagcase' 'tc' how to handle case when searching in tags files
|
'tagcase' 'tc' how to handle case when searching in tags files
|
||||||
|
'tagfunc' 'tfu' function to get list of tag matches
|
||||||
'taglength' 'tl' number of significant characters for a tag
|
'taglength' 'tl' number of significant characters for a tag
|
||||||
'tagrelative' 'tr' file names in tag file are relative
|
'tagrelative' 'tr' file names in tag file are relative
|
||||||
'tags' 'tag' list of file names used by the tag command
|
'tags' 'tag' list of file names used by the tag command
|
||||||
@@ -977,6 +984,7 @@ Short explanation of each option: *option-list*
|
|||||||
'wildmode' 'wim' mode for 'wildchar' command-line expansion
|
'wildmode' 'wim' mode for 'wildchar' command-line expansion
|
||||||
'wildoptions' 'wop' specifies how command line completion is done
|
'wildoptions' 'wop' specifies how command line completion is done
|
||||||
'winaltkeys' 'wak' when the windows system handles ALT keys
|
'winaltkeys' 'wak' when the windows system handles ALT keys
|
||||||
|
'wincolor' 'wcr' window-local highlighting
|
||||||
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
|
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
|
||||||
'winheight' 'wh' minimum number of lines for the current window
|
'winheight' 'wh' minimum number of lines for the current window
|
||||||
'winfixheight' 'wfh' keep window height when opening/closing windows
|
'winfixheight' 'wfh' keep window height when opening/closing windows
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*recover.txt* For Vim version 8.1. Last change: 2014 Mar 27
|
*recover.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -131,7 +131,6 @@ command:
|
|||||||
flag is present in 'cpoptions' the swap file will not
|
flag is present in 'cpoptions' the swap file will not
|
||||||
be deleted for this buffer when Vim exits and the
|
be deleted for this buffer when Vim exits and the
|
||||||
buffer is still loaded |cpo-&|.
|
buffer is still loaded |cpo-&|.
|
||||||
{Vi: might also exit}
|
|
||||||
|
|
||||||
A Vim swap file can be recognized by the first six characters: "b0VIM ".
|
A Vim swap file can be recognized by the first six characters: "b0VIM ".
|
||||||
After that comes the version number, e.g., "3.0".
|
After that comes the version number, e.g., "3.0".
|
||||||
@@ -196,7 +195,6 @@ recovered file. Or use |:DiffOrig|.
|
|||||||
Once you are sure the recovery is ok delete the swap file. Otherwise, you
|
Once you are sure the recovery is ok delete the swap file. Otherwise, you
|
||||||
will continue to get warning messages that the ".swp" file already exists.
|
will continue to get warning messages that the ".swp" file already exists.
|
||||||
|
|
||||||
{Vi: recovers in another way and sends mail if there is something to recover}
|
|
||||||
|
|
||||||
|
|
||||||
ENCRYPTION AND THE SWAP FILE *:recover-crypt*
|
ENCRYPTION AND THE SWAP FILE *:recover-crypt*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*remote.txt* For Vim version 8.1. Last change: 2017 Nov 12
|
*remote.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -10,8 +10,6 @@ Vim client-server communication *client-server*
|
|||||||
2. X11 specific items |x11-clientserver|
|
2. X11 specific items |x11-clientserver|
|
||||||
3. MS-Windows specific items |w32-clientserver|
|
3. MS-Windows specific items |w32-clientserver|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Common functionality *clientserver*
|
1. Common functionality *clientserver*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 8.1. Last change: 2018 Dec 18
|
*repeat.txt* For Vim version 8.1. Last change: 2019 Jun 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -124,11 +124,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
|
|||||||
used for |y| and |p| the result is most likely not
|
used for |y| and |p| the result is most likely not
|
||||||
what is expected, because the put will paste the
|
what is expected, because the put will paste the
|
||||||
recorded macro and the yank will overwrite the
|
recorded macro and the yank will overwrite the
|
||||||
recorded macro. {Vi: no recording}
|
recorded macro.
|
||||||
|
|
||||||
q Stops recording. (Implementation note: The 'q' that
|
q Stops recording. (Implementation note: The 'q' that
|
||||||
stops recording is not stored in the register, unless
|
stops recording is not stored in the register, unless
|
||||||
it was the result of a mapping) {Vi: no recording}
|
it was the result of a mapping)
|
||||||
|
|
||||||
*@*
|
*@*
|
||||||
@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} [count]
|
@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} [count]
|
||||||
@@ -140,7 +140,7 @@ q Stops recording. (Implementation note: The 'q' that
|
|||||||
applies.
|
applies.
|
||||||
For "@=" you are prompted to enter an expression. The
|
For "@=" you are prompted to enter an expression. The
|
||||||
result of the expression is then executed.
|
result of the expression is then executed.
|
||||||
See also |@:|. {Vi: only named registers}
|
See also |@:|.
|
||||||
|
|
||||||
*@@* *E748*
|
*@@* *E748*
|
||||||
@@ Repeat the previous @{0-9a-z":*} [count] times.
|
@@ Repeat the previous @{0-9a-z":*} [count] times.
|
||||||
@@ -158,17 +158,16 @@ q Stops recording. (Implementation note: The 'q' that
|
|||||||
result of evaluating the expression is executed as an
|
result of evaluating the expression is executed as an
|
||||||
Ex command.
|
Ex command.
|
||||||
Mappings are not recognized in these commands.
|
Mappings are not recognized in these commands.
|
||||||
{Vi: only in some versions} Future: Will execute the
|
Future: Will execute the register for each line in the
|
||||||
register for each line in the address range.
|
address range.
|
||||||
|
|
||||||
*:@:*
|
*:@:*
|
||||||
:[addr]@: Repeat last command-line. First set cursor at line
|
:[addr]@: Repeat last command-line. First set cursor at line
|
||||||
[addr] (default is current line). {not in Vi}
|
[addr] (default is current line).
|
||||||
|
|
||||||
:[addr]@ *:@@*
|
:[addr]@ *:@@*
|
||||||
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
|
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
|
||||||
line [addr] (default is current line). {Vi: only in
|
line [addr] (default is current line).
|
||||||
some versions}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Using Vim scripts *using-scripts*
|
4. Using Vim scripts *using-scripts*
|
||||||
@@ -179,7 +178,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
:so[urce] {file} Read Ex commands from {file}. These are commands that
|
:so[urce] {file} Read Ex commands from {file}. These are commands that
|
||||||
start with a ":".
|
start with a ":".
|
||||||
Triggers the |SourcePre| autocommand.
|
Triggers the |SourcePre| autocommand.
|
||||||
|
*:source!*
|
||||||
:so[urce]! {file} Read Vim commands from {file}. These are commands
|
:so[urce]! {file} Read Vim commands from {file}. These are commands
|
||||||
that are executed from Normal mode, like you type
|
that are executed from Normal mode, like you type
|
||||||
them.
|
them.
|
||||||
@@ -187,7 +186,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
|:bufdo|, in a loop or when another command follows
|
|:bufdo|, in a loop or when another command follows
|
||||||
the display won't be updated while executing the
|
the display won't be updated while executing the
|
||||||
commands.
|
commands.
|
||||||
{not in Vi}
|
Cannot be used in the |sandbox|.
|
||||||
|
|
||||||
*:ru* *:runtime*
|
*:ru* *:runtime*
|
||||||
:ru[ntime][!] [where] {file} ..
|
:ru[ntime][!] [where] {file} ..
|
||||||
@@ -230,7 +229,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
when no file could be found.
|
when no file could be found.
|
||||||
When 'verbose' is two or higher, there is a message
|
When 'verbose' is two or higher, there is a message
|
||||||
about each searched file.
|
about each searched file.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:pa* *:packadd* *E919*
|
*:pa* *:packadd* *E919*
|
||||||
:pa[ckadd][!] {name} Search for an optional plugin directory in 'packpath'
|
:pa[ckadd][!] {name} Search for an optional plugin directory in 'packpath'
|
||||||
@@ -282,9 +280,16 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
after loading your .vimrc file. With this command it
|
after loading your .vimrc file. With this command it
|
||||||
can be done earlier.
|
can be done earlier.
|
||||||
|
|
||||||
Packages will be loaded only once. After this command
|
Packages will be loaded only once. Using
|
||||||
it won't happen again. When the optional ! is added
|
`:packloadall` a second time will have no effect.
|
||||||
this command will load packages even when done before.
|
When the optional ! is added this command will load
|
||||||
|
packages even when done before.
|
||||||
|
|
||||||
|
Note that when using `:packloadall` in the |vimrc|
|
||||||
|
file, the 'runtimepath' option is updated, and later
|
||||||
|
all plugins in 'runtimepath' will be loaded, which
|
||||||
|
means they are loaded again. Plugins are expected to
|
||||||
|
handle that.
|
||||||
|
|
||||||
An error only causes sourcing the script where it
|
An error only causes sourcing the script where it
|
||||||
happens to be aborted, further plugins will be loaded.
|
happens to be aborted, further plugins will be loaded.
|
||||||
@@ -323,14 +328,25 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
scriptencoding utf-8
|
scriptencoding utf-8
|
||||||
<
|
<
|
||||||
{not in Vi}
|
|
||||||
|
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
|
||||||
|
*E999* *E984*
|
||||||
|
Specify the version of Vim for the lines that follow
|
||||||
|
in the same file. Only applies at the toplevel of
|
||||||
|
sourced scripts, not inside functions.
|
||||||
|
|
||||||
|
If {version} is higher than what the current Vim
|
||||||
|
version supports E999 will be given. You either need
|
||||||
|
to rewrite the script to make it work with an older
|
||||||
|
Vim version, or update Vim to a newer version. See
|
||||||
|
|vimscript-version| for what changed between versions.
|
||||||
|
|
||||||
*:scr* *:scriptnames*
|
*:scr* *:scriptnames*
|
||||||
:scr[iptnames] List all sourced script names, in the order they were
|
:scr[iptnames] List all sourced script names, in the order they were
|
||||||
first sourced. The number is used for the script ID
|
first sourced. The number is used for the script ID
|
||||||
|<SID>|.
|
|<SID>|.
|
||||||
{not in Vi} {not available when compiled without the
|
{not available when compiled without the |+eval|
|
||||||
|+eval| feature}
|
feature}
|
||||||
|
|
||||||
:scr[iptnames][!] {scriptId} *:script*
|
:scr[iptnames][!] {scriptId} *:script*
|
||||||
Edit script {scriptId}. Although ":scriptnames name"
|
Edit script {scriptId}. Although ":scriptnames name"
|
||||||
@@ -346,7 +362,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
following the ":finally" up to the matching |:endtry|
|
following the ":finally" up to the matching |:endtry|
|
||||||
are executed first. This process applies to all
|
are executed first. This process applies to all
|
||||||
nested ":try"s in the script. The outermost ":endtry"
|
nested ":try"s in the script. The outermost ":endtry"
|
||||||
then stops sourcing the script. {not in Vi}
|
then stops sourcing the script.
|
||||||
|
|
||||||
All commands and command sequences can be repeated by putting them in a named
|
All commands and command sequences can be repeated by putting them in a named
|
||||||
register and then executing it. There are two ways to get the commands in the
|
register and then executing it. There are two ways to get the commands in the
|
||||||
@@ -686,7 +702,6 @@ sourced file or user function and set breakpoints.
|
|||||||
NOTE: The debugging mode is far from perfect. Debugging will have side
|
NOTE: The debugging mode is far from perfect. Debugging will have side
|
||||||
effects on how Vim works. You cannot use it to debug everything. For
|
effects on how Vim works. You cannot use it to debug everything. For
|
||||||
example, the display is messed up by the debugging messages.
|
example, the display is messed up by the debugging messages.
|
||||||
{Vi does not have a debug mode}
|
|
||||||
|
|
||||||
An alternative to debug mode is setting the 'verbose' option. With a bigger
|
An alternative to debug mode is setting the 'verbose' option. With a bigger
|
||||||
number it will give more verbose messages about what Vim is doing.
|
number it will give more verbose messages about what Vim is doing.
|
||||||
@@ -920,7 +935,6 @@ OBSCURE
|
|||||||
Profiling means that Vim measures the time that is spent on executing
|
Profiling means that Vim measures the time that is spent on executing
|
||||||
functions and/or scripts. The |+profile| feature is required for this.
|
functions and/or scripts. The |+profile| feature is required for this.
|
||||||
It is only included when Vim was compiled with "huge" features.
|
It is only included when Vim was compiled with "huge" features.
|
||||||
{Vi does not have profiling}
|
|
||||||
|
|
||||||
You can also use the |reltime()| function to measure time. This only requires
|
You can also use the |reltime()| function to measure time. This only requires
|
||||||
the |+reltime| feature, which is present more often.
|
the |+reltime| feature, which is present more often.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*rileft.txt* For Vim version 8.1. Last change: 2006 Apr 24
|
*rileft.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Avner Lottem
|
VIM REFERENCE MANUAL by Avner Lottem
|
||||||
@@ -12,8 +12,6 @@ These functions were originally created by Avner Lottem:
|
|||||||
E-mail: alottem@iil.intel.com
|
E-mail: alottem@iil.intel.com
|
||||||
Phone: +972-4-8307322
|
Phone: +972-4-8307322
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
|
|
||||||
*E26*
|
*E26*
|
||||||
{only available when compiled with the |+rightleft| feature}
|
{only available when compiled with the |+rightleft| feature}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*scroll.txt* For Vim version 8.1. Last change: 2018 Apr 26
|
*scroll.txt* For Vim version 8.1. Last change: 2019 May 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -45,9 +45,6 @@ CTRL-D Scroll window Downwards in the buffer. The number of
|
|||||||
difference). When the cursor is on the last line of
|
difference). When the cursor is on the last line of
|
||||||
the buffer nothing happens and a beep is produced.
|
the buffer nothing happens and a beep is produced.
|
||||||
See also 'startofline' option.
|
See also 'startofline' option.
|
||||||
{difference from vi: Vim scrolls 'scroll' screen
|
|
||||||
lines, instead of file lines; makes a difference when
|
|
||||||
lines wrap}
|
|
||||||
|
|
||||||
<S-Down> or *<S-Down>* *<kPageDown>*
|
<S-Down> or *<S-Down>* *<kPageDown>*
|
||||||
<PageDown> or *<PageDown>* *CTRL-F*
|
<PageDown> or *<PageDown>* *CTRL-F*
|
||||||
@@ -85,9 +82,6 @@ CTRL-U Scroll window Upwards in the buffer. The number of
|
|||||||
may be a difference). When the cursor is on the first
|
may be a difference). When the cursor is on the first
|
||||||
line of the buffer nothing happens and a beep is
|
line of the buffer nothing happens and a beep is
|
||||||
produced. See also 'startofline' option.
|
produced. See also 'startofline' option.
|
||||||
{difference from vi: Vim scrolls 'scroll' screen
|
|
||||||
lines, instead of file lines; makes a difference when
|
|
||||||
lines wrap}
|
|
||||||
|
|
||||||
<S-Up> or *<S-Up>* *<kPageUp>*
|
<S-Up> or *<S-Up>* *<kPageUp>*
|
||||||
<PageUp> or *<PageUp>* *CTRL-B*
|
<PageUp> or *<PageUp>* *CTRL-B*
|
||||||
@@ -120,7 +114,7 @@ z<CR> Redraw, line [count] at top of window (default
|
|||||||
|
|
||||||
*zt*
|
*zt*
|
||||||
zt Like "z<CR>", but leave the cursor in the same
|
zt Like "z<CR>", but leave the cursor in the same
|
||||||
column. {not in Vi}
|
column.
|
||||||
|
|
||||||
*zN<CR>*
|
*zN<CR>*
|
||||||
z{height}<CR> Redraw, make window {height} lines tall. This is
|
z{height}<CR> Redraw, make window {height} lines tall. This is
|
||||||
@@ -136,7 +130,7 @@ z. Redraw, line [count] at center of window (default
|
|||||||
*zz*
|
*zz*
|
||||||
zz Like "z.", but leave the cursor in the same column.
|
zz Like "z.", but leave the cursor in the same column.
|
||||||
Careful: If caps-lock is on, this command becomes
|
Careful: If caps-lock is on, this command becomes
|
||||||
"ZZ": write buffer and exit! {not in Vi}
|
"ZZ": write buffer and exit!
|
||||||
|
|
||||||
*z-*
|
*z-*
|
||||||
z- Redraw, line [count] at bottom of window (default
|
z- Redraw, line [count] at bottom of window (default
|
||||||
@@ -145,7 +139,6 @@ z- Redraw, line [count] at bottom of window (default
|
|||||||
|
|
||||||
*zb*
|
*zb*
|
||||||
zb Like "z-", but leave the cursor in the same column.
|
zb Like "z-", but leave the cursor in the same column.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Scrolling horizontally *scroll-horizontal*
|
4. Scrolling horizontally *scroll-horizontal*
|
||||||
@@ -158,26 +151,22 @@ not used.
|
|||||||
z<Right> or *zl* *z<Right>*
|
z<Right> or *zl* *z<Right>*
|
||||||
zl Move the view on the text [count] characters to the
|
zl Move the view on the text [count] characters to the
|
||||||
right, thus scroll the text [count] characters to the
|
right, thus scroll the text [count] characters to the
|
||||||
left. This only works when 'wrap' is off. {not in
|
left. This only works when 'wrap' is off.
|
||||||
Vi}
|
|
||||||
|
|
||||||
z<Left> or *zh* *z<Left>*
|
z<Left> or *zh* *z<Left>*
|
||||||
zh Move the view on the text [count] characters to the
|
zh Move the view on the text [count] characters to the
|
||||||
left, thus scroll the text [count] characters to the
|
left, thus scroll the text [count] characters to the
|
||||||
right. This only works when 'wrap' is off. {not in
|
right. This only works when 'wrap' is off.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*zL*
|
*zL*
|
||||||
zL Move the view on the text half a screenwidth to the
|
zL Move the view on the text half a screenwidth to the
|
||||||
right, thus scroll the text half a screenwidth to the
|
right, thus scroll the text half a screenwidth to the
|
||||||
left. This only works when 'wrap' is off. {not in
|
left. This only works when 'wrap' is off.
|
||||||
Vi}
|
|
||||||
|
|
||||||
*zH*
|
*zH*
|
||||||
zH Move the view on the text half a screenwidth to the
|
zH Move the view on the text half a screenwidth to the
|
||||||
left, thus scroll the text half a screenwidth to the
|
left, thus scroll the text half a screenwidth to the
|
||||||
right. This only works when 'wrap' is off. {not in
|
right. This only works when 'wrap' is off.
|
||||||
Vi}
|
|
||||||
|
|
||||||
For the following two commands the cursor is not moved in the text, only the
|
For the following two commands the cursor is not moved in the text, only the
|
||||||
text scrolls on the screen.
|
text scrolls on the screen.
|
||||||
@@ -185,12 +174,12 @@ text scrolls on the screen.
|
|||||||
*zs*
|
*zs*
|
||||||
zs Scroll the text horizontally to position the cursor
|
zs Scroll the text horizontally to position the cursor
|
||||||
at the start (left side) of the screen. This only
|
at the start (left side) of the screen. This only
|
||||||
works when 'wrap' is off. {not in Vi}
|
works when 'wrap' is off.
|
||||||
|
|
||||||
*ze*
|
*ze*
|
||||||
ze Scroll the text horizontally to position the cursor
|
ze Scroll the text horizontally to position the cursor
|
||||||
at the end (right side) of the screen. This only
|
at the end (right side) of the screen. This only
|
||||||
works when 'wrap' is off. {not in Vi}
|
works when 'wrap' is off.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Scrolling synchronously *scroll-binding*
|
5. Scrolling synchronously *scroll-binding*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*sign.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
*sign.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@@ -9,8 +9,8 @@ Sign Support Features *sign-support*
|
|||||||
|
|
||||||
1. Introduction |sign-intro|
|
1. Introduction |sign-intro|
|
||||||
2. Commands |sign-commands|
|
2. Commands |sign-commands|
|
||||||
|
3. Functions |sign-functions-details|
|
||||||
|
|
||||||
{Vi does not have any of these features}
|
|
||||||
{only available when compiled with the |+signs| feature}
|
{only available when compiled with the |+signs| feature}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
@@ -183,9 +183,9 @@ See |sign_place()| for the equivalent Vim script function.
|
|||||||
|
|
||||||
By default, the sign is assigned a default priority of 10. To
|
By default, the sign is assigned a default priority of 10. To
|
||||||
assign a different priority value, use "priority={prio}" to
|
assign a different priority value, use "priority={prio}" to
|
||||||
specify a value. The priority is used to determine the
|
specify a value. The priority is used to determine the sign
|
||||||
highlight group used when multiple signs are placed on the
|
that is displayed when multiple signs are placed on the same
|
||||||
same line.
|
line.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:sign place 5 line=3 name=sign1 file=a.py
|
:sign place 5 line=3 name=sign1 file=a.py
|
||||||
@@ -205,7 +205,9 @@ See |sign_place()| for the equivalent Vim script function.
|
|||||||
it (e.g., when the debugger has stopped at a breakpoint).
|
it (e.g., when the debugger has stopped at a breakpoint).
|
||||||
|
|
||||||
The optional "group={group}" attribute can be used before
|
The optional "group={group}" attribute can be used before
|
||||||
"file=" to select a sign in a particular group.
|
"file=" to select a sign in a particular group. The optional
|
||||||
|
"priority={prio}" attribute can be used to change the priority
|
||||||
|
of an existing sign.
|
||||||
|
|
||||||
:sign place {id} name={name} [buffer={nr}]
|
:sign place {id} name={name} [buffer={nr}]
|
||||||
Same, but use buffer {nr}. If the buffer argument is not
|
Same, but use buffer {nr}. If the buffer argument is not
|
||||||
@@ -343,4 +345,357 @@ See |sign_jump()| for the equivalent Vim script function.
|
|||||||
Same but jump to the sign in group {group}
|
Same but jump to the sign in group {group}
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Functions *sign-functions-details*
|
||||||
|
|
||||||
|
sign_define({name} [, {dict}]) *sign_define()*
|
||||||
|
sign_define({list})
|
||||||
|
Define a new sign named {name} or modify the attributes of an
|
||||||
|
existing sign. This is similar to the |:sign-define| command.
|
||||||
|
|
||||||
|
Prefix {name} with a unique text to avoid name collisions.
|
||||||
|
There is no {group} like with placing signs.
|
||||||
|
|
||||||
|
The {name} can be a String or a Number. The optional {dict}
|
||||||
|
argument specifies the sign attributes. The following values
|
||||||
|
are supported:
|
||||||
|
icon full path to the bitmap file for the sign.
|
||||||
|
linehl highlight group used for the whole line the
|
||||||
|
sign is placed in.
|
||||||
|
text text that is displayed when there is no icon
|
||||||
|
or the GUI is not being used.
|
||||||
|
texthl highlight group used for the text item
|
||||||
|
|
||||||
|
If the sign named {name} already exists, then the attributes
|
||||||
|
of the sign are updated.
|
||||||
|
|
||||||
|
The one argument {list} can be used to define a list of signs.
|
||||||
|
Each list item is a dictionary with the above items in {dict}
|
||||||
|
and a 'name' item for the sign name.
|
||||||
|
|
||||||
|
Returns 0 on success and -1 on failure. When the one argument
|
||||||
|
{list} is used, then returns a List of values one for each
|
||||||
|
defined sign.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
call sign_define("mySign", {
|
||||||
|
\ "text" : "=>",
|
||||||
|
\ "texthl" : "Error",
|
||||||
|
\ "linehl" : "Search"})
|
||||||
|
call sign_define([
|
||||||
|
\ {'name' : 'sign1',
|
||||||
|
\ 'text' : '=>'},
|
||||||
|
\ {'name' : 'sign2',
|
||||||
|
\ 'text' : '!!'}
|
||||||
|
\ ])
|
||||||
|
<
|
||||||
|
sign_getdefined([{name}]) *sign_getdefined()*
|
||||||
|
Get a list of defined signs and their attributes.
|
||||||
|
This is similar to the |:sign-list| command.
|
||||||
|
|
||||||
|
If the {name} is not supplied, then a list of all the defined
|
||||||
|
signs is returned. Otherwise the attribute of the specified
|
||||||
|
sign is returned.
|
||||||
|
|
||||||
|
Each list item in the returned value is a dictionary with the
|
||||||
|
following entries:
|
||||||
|
icon full path to the bitmap file of the sign
|
||||||
|
linehl highlight group used for the whole line the
|
||||||
|
sign is placed in.
|
||||||
|
name name of the sign
|
||||||
|
text text that is displayed when there is no icon
|
||||||
|
or the GUI is not being used.
|
||||||
|
texthl highlight group used for the text item
|
||||||
|
|
||||||
|
Returns an empty List if there are no signs and when {name} is
|
||||||
|
not found.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Get a list of all the defined signs
|
||||||
|
echo sign_getdefined()
|
||||||
|
|
||||||
|
" Get the attribute of the sign named mySign
|
||||||
|
echo sign_getdefined("mySign")
|
||||||
|
<
|
||||||
|
sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
|
||||||
|
Return a list of signs placed in a buffer or all the buffers.
|
||||||
|
This is similar to the |:sign-place-list| command.
|
||||||
|
|
||||||
|
If the optional buffer name {expr} is specified, then only the
|
||||||
|
list of signs placed in that buffer is returned. For the use
|
||||||
|
of {expr}, see |bufname()|. The optional {dict} can contain
|
||||||
|
the following entries:
|
||||||
|
group select only signs in this group
|
||||||
|
id select sign with this identifier
|
||||||
|
lnum select signs placed in this line. For the use
|
||||||
|
of {lnum}, see |line()|.
|
||||||
|
If {group} is '*', then signs in all the groups including the
|
||||||
|
global group are returned. If {group} is not supplied or is an
|
||||||
|
empty string, then only signs in the global group are
|
||||||
|
returned. If no arguments are supplied, then signs in the
|
||||||
|
global group placed in all the buffers are returned.
|
||||||
|
See |sign-group|.
|
||||||
|
|
||||||
|
Each list item in the returned value is a dictionary with the
|
||||||
|
following entries:
|
||||||
|
bufnr number of the buffer with the sign
|
||||||
|
signs list of signs placed in {bufnr}. Each list
|
||||||
|
item is a dictionary with the below listed
|
||||||
|
entries
|
||||||
|
|
||||||
|
The dictionary for each sign contains the following entries:
|
||||||
|
group sign group. Set to '' for the global group.
|
||||||
|
id identifier of the sign
|
||||||
|
lnum line number where the sign is placed
|
||||||
|
name name of the defined sign
|
||||||
|
priority sign priority
|
||||||
|
|
||||||
|
The returned signs in a buffer are ordered by their line
|
||||||
|
number and priority.
|
||||||
|
|
||||||
|
Returns an empty list on failure or if there are no placed
|
||||||
|
signs.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Get a List of signs placed in eval.c in the
|
||||||
|
" global group
|
||||||
|
echo sign_getplaced("eval.c")
|
||||||
|
|
||||||
|
" Get a List of signs in group 'g1' placed in eval.c
|
||||||
|
echo sign_getplaced("eval.c", {'group' : 'g1'})
|
||||||
|
|
||||||
|
" Get a List of signs placed at line 10 in eval.c
|
||||||
|
echo sign_getplaced("eval.c", {'lnum' : 10})
|
||||||
|
|
||||||
|
" Get sign with identifier 10 placed in a.py
|
||||||
|
echo sign_getplaced("a.py", {'id' : 10})
|
||||||
|
|
||||||
|
" Get sign with id 20 in group 'g1' placed in a.py
|
||||||
|
echo sign_getplaced("a.py", {'group' : 'g1',
|
||||||
|
\ 'id' : 20})
|
||||||
|
|
||||||
|
" Get a List of all the placed signs
|
||||||
|
echo sign_getplaced()
|
||||||
|
<
|
||||||
|
*sign_jump()*
|
||||||
|
sign_jump({id}, {group}, {expr})
|
||||||
|
Open the buffer {expr} or jump to the window that contains
|
||||||
|
{expr} and position the cursor at sign {id} in group {group}.
|
||||||
|
This is similar to the |:sign-jump| command.
|
||||||
|
|
||||||
|
For the use of {expr}, see |bufname()|.
|
||||||
|
|
||||||
|
Returns the line number of the sign. Returns -1 if the
|
||||||
|
arguments are invalid.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
" Jump to sign 10 in the current buffer
|
||||||
|
call sign_jump(10, '', '')
|
||||||
|
<
|
||||||
|
|
||||||
|
*sign_place()*
|
||||||
|
sign_place({id}, {group}, {name}, {expr} [, {dict}])
|
||||||
|
Place the sign defined as {name} at line {lnum} in file or
|
||||||
|
buffer {expr} and assign {id} and {group} to sign. This is
|
||||||
|
similar to the |:sign-place| command.
|
||||||
|
|
||||||
|
If the sign identifier {id} is zero, then a new identifier is
|
||||||
|
allocated. Otherwise the specified number is used. {group} is
|
||||||
|
the sign group name. To use the global sign group, use an
|
||||||
|
empty string. {group} functions as a namespace for {id}, thus
|
||||||
|
two groups can use the same IDs. Refer to |sign-identifier|
|
||||||
|
and |sign-group| for more information.
|
||||||
|
|
||||||
|
{name} refers to a defined sign.
|
||||||
|
{expr} refers to a buffer name or number. For the accepted
|
||||||
|
values, see |bufname()|.
|
||||||
|
|
||||||
|
The optional {dict} argument supports the following entries:
|
||||||
|
lnum line number in the file or buffer
|
||||||
|
{expr} where the sign is to be placed.
|
||||||
|
For the accepted values, see |line()|.
|
||||||
|
priority priority of the sign. See
|
||||||
|
|sign-priority| for more information.
|
||||||
|
|
||||||
|
If the optional {dict} is not specified, then it modifies the
|
||||||
|
placed sign {id} in group {group} to use the defined sign
|
||||||
|
{name}.
|
||||||
|
|
||||||
|
Returns the sign identifier on success and -1 on failure.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Place a sign named sign1 with id 5 at line 20 in
|
||||||
|
" buffer json.c
|
||||||
|
call sign_place(5, '', 'sign1', 'json.c',
|
||||||
|
\ {'lnum' : 20})
|
||||||
|
|
||||||
|
" Updates sign 5 in buffer json.c to use sign2
|
||||||
|
call sign_place(5, '', 'sign2', 'json.c')
|
||||||
|
|
||||||
|
" Place a sign named sign3 at line 30 in
|
||||||
|
" buffer json.c with a new identifier
|
||||||
|
let id = sign_place(0, '', 'sign3', 'json.c',
|
||||||
|
\ {'lnum' : 30})
|
||||||
|
|
||||||
|
" Place a sign named sign4 with id 10 in group 'g3'
|
||||||
|
" at line 40 in buffer json.c with priority 90
|
||||||
|
call sign_place(10, 'g3', 'sign4', 'json.c',
|
||||||
|
\ {'lnum' : 40, 'priority' : 90})
|
||||||
|
<
|
||||||
|
|
||||||
|
*sign_placelist()*
|
||||||
|
sign_placelist({list})
|
||||||
|
Place one or more signs. This is similar to the
|
||||||
|
|sign_place()| function. The {list} argument specifies the
|
||||||
|
List of signs to place. Each list item is a dict with the
|
||||||
|
following sign attributes:
|
||||||
|
buffer buffer name or number. For the accepted
|
||||||
|
values, see |bufname()|.
|
||||||
|
group sign group. {group} functions as a namespace
|
||||||
|
for {id}, thus two groups can use the same
|
||||||
|
IDs. If not specified or set to an empty
|
||||||
|
string, then the global group is used. See
|
||||||
|
|sign-group| for more information.
|
||||||
|
id sign identifier. If not specified or zero,
|
||||||
|
then a new unique identifier is allocated.
|
||||||
|
Otherwise the specified number is used. See
|
||||||
|
|sign-identifier| for more information.
|
||||||
|
lnum line number in the buffer {expr} where the
|
||||||
|
sign is to be placed. For the accepted values,
|
||||||
|
see |line()|.
|
||||||
|
name name of the sign to place. See |sign_define()|
|
||||||
|
for more information.
|
||||||
|
priority priority of the sign. When multiple signs are
|
||||||
|
placed on a line, the sign with the highest
|
||||||
|
priority is used. If not specified, the
|
||||||
|
default value of 10 is used. See
|
||||||
|
|sign-priority| for more information.
|
||||||
|
|
||||||
|
If {id} refers to an existing sign, then the existing sign is
|
||||||
|
modified to use the specified {name} and/or {priority}.
|
||||||
|
|
||||||
|
Returns a List of sign identifiers. If failed to place a
|
||||||
|
sign, the corresponding list item is set to -1.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Place sign s1 with id 5 at line 20 and id 10 at line
|
||||||
|
" 30 in buffer a.c
|
||||||
|
let [n1, n2] = sign_placelist([
|
||||||
|
\ {'id' : 5,
|
||||||
|
\ 'name' : 's1',
|
||||||
|
\ 'buffer' : 'a.c',
|
||||||
|
\ 'lnum' : 20},
|
||||||
|
\ {'id' : 10,
|
||||||
|
\ 'name' : 's1',
|
||||||
|
\ 'buffer' : 'a.c',
|
||||||
|
\ 'lnum' : 30}
|
||||||
|
\ ])
|
||||||
|
|
||||||
|
" Place sign s1 in buffer a.c at line 40 and 50
|
||||||
|
" with auto-generated identifiers
|
||||||
|
let [n1, n2] = sign_placelist([
|
||||||
|
\ {'name' : 's1',
|
||||||
|
\ 'buffer' : 'a.c',
|
||||||
|
\ 'lnum' : 40},
|
||||||
|
\ {'name' : 's1',
|
||||||
|
\ 'buffer' : 'a.c',
|
||||||
|
\ 'lnum' : 50}
|
||||||
|
\ ])
|
||||||
|
<
|
||||||
|
|
||||||
|
sign_undefine([{name}]) *sign_undefine()*
|
||||||
|
sign_undefine({list})
|
||||||
|
Deletes a previously defined sign {name}. This is similar to
|
||||||
|
the |:sign-undefine| command. If {name} is not supplied, then
|
||||||
|
deletes all the defined signs.
|
||||||
|
|
||||||
|
The one argument {list} can be used to undefine a list of
|
||||||
|
signs. Each list item is the name of a sign.
|
||||||
|
|
||||||
|
Returns 0 on success and -1 on failure. For the one argument
|
||||||
|
{list} call, returns a list of values one for each undefined
|
||||||
|
sign.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Delete a sign named mySign
|
||||||
|
call sign_undefine("mySign")
|
||||||
|
|
||||||
|
" Delete signs 'sign1' and 'sign2'
|
||||||
|
call sign_undefine(["sign1", "sign2"])
|
||||||
|
|
||||||
|
" Delete all the signs
|
||||||
|
call sign_undefine()
|
||||||
|
<
|
||||||
|
|
||||||
|
sign_unplace({group} [, {dict}]) *sign_unplace()*
|
||||||
|
Remove a previously placed sign in one or more buffers. This
|
||||||
|
is similar to the |:sign-unplace| command.
|
||||||
|
|
||||||
|
{group} is the sign group name. To use the global sign group,
|
||||||
|
use an empty string. If {group} is set to '*', then all the
|
||||||
|
groups including the global group are used.
|
||||||
|
The signs in {group} are selected based on the entries in
|
||||||
|
{dict}. The following optional entries in {dict} are
|
||||||
|
supported:
|
||||||
|
buffer buffer name or number. See |bufname()|.
|
||||||
|
id sign identifier
|
||||||
|
If {dict} is not supplied, then all the signs in {group} are
|
||||||
|
removed.
|
||||||
|
|
||||||
|
Returns 0 on success and -1 on failure.
|
||||||
|
|
||||||
|
Examples: >
|
||||||
|
" Remove sign 10 from buffer a.vim
|
||||||
|
call sign_unplace('', {'buffer' : "a.vim", 'id' : 10})
|
||||||
|
|
||||||
|
" Remove sign 20 in group 'g1' from buffer 3
|
||||||
|
call sign_unplace('g1', {'buffer' : 3, 'id' : 20})
|
||||||
|
|
||||||
|
" Remove all the signs in group 'g2' from buffer 10
|
||||||
|
call sign_unplace('g2', {'buffer' : 10})
|
||||||
|
|
||||||
|
" Remove sign 30 in group 'g3' from all the buffers
|
||||||
|
call sign_unplace('g3', {'id' : 30})
|
||||||
|
|
||||||
|
" Remove all the signs placed in buffer 5
|
||||||
|
call sign_unplace('*', {'buffer' : 5})
|
||||||
|
|
||||||
|
" Remove the signs in group 'g4' from all the buffers
|
||||||
|
call sign_unplace('g4')
|
||||||
|
|
||||||
|
" Remove sign 40 from all the buffers
|
||||||
|
call sign_unplace('*', {'id' : 40})
|
||||||
|
|
||||||
|
" Remove all the placed signs from all the buffers
|
||||||
|
call sign_unplace('*')
|
||||||
|
<
|
||||||
|
sign_unplacelist({list}) *sign_unplacelist()*
|
||||||
|
Remove previously placed signs from one or more buffers. This
|
||||||
|
is similar to the |sign_unplace()| function.
|
||||||
|
|
||||||
|
The {list} argument specifies the List of signs to remove.
|
||||||
|
Each list item is a dict with the following sign attributes:
|
||||||
|
buffer buffer name or number. For the accepted
|
||||||
|
values, see |bufname()|. If not specified,
|
||||||
|
then the specified sign is removed from all
|
||||||
|
the buffers.
|
||||||
|
group sign group name. If not specified or set to an
|
||||||
|
empty string, then the global sign group is
|
||||||
|
used. If set to '*', then all the groups
|
||||||
|
including the global group are used.
|
||||||
|
id sign identifier. If not specified, then all
|
||||||
|
the signs in the specified group are removed.
|
||||||
|
|
||||||
|
Returns a List where an entry is set to 0 if the corresponding
|
||||||
|
sign was successfully removed or -1 on failure.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
" Remove sign with id 10 from buffer a.vim and sign
|
||||||
|
" with id 20 from buffer b.vim
|
||||||
|
call sign_unplacelist([
|
||||||
|
\ {'id' : 10, 'buffer' : "a.vim"},
|
||||||
|
\ {'id' : 20, 'buffer' : 'b.vim'},
|
||||||
|
\ ])
|
||||||
|
<
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 8.1. Last change: 2019 Jan 19
|
*spell.txt* For Vim version 8.1. Last change: 2019 Aug 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11,10 +11,7 @@ Spell checking *spell*
|
|||||||
3. Generating a spell file |spell-mkspell|
|
3. Generating a spell file |spell-mkspell|
|
||||||
4. Spell file format |spell-file-format|
|
4. Spell file format |spell-file-format|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{not available when the |+syntax| feature has been disabled at compile time}
|
||||||
|
|
||||||
Spell checking is not available when the |+syntax| feature has been disabled
|
|
||||||
at compile time.
|
|
||||||
|
|
||||||
Note: There also is a vimspell plugin. If you have it you can do ":help
|
Note: There also is a vimspell plugin. If you have it you can do ":help
|
||||||
vimspell" to find about it. But you will probably want to get rid of the
|
vimspell" to find about it. But you will probably want to get rid of the
|
||||||
@@ -124,6 +121,23 @@ zuG Undo |zW| and |zG|, remove the word from the internal
|
|||||||
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
|
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
|
||||||
list, like with |zW|.
|
list, like with |zW|.
|
||||||
|
|
||||||
|
*:spellra* *:spellrare*
|
||||||
|
:[count]spellr[are] {word}
|
||||||
|
Add {word} as a rare word to 'spellfile', similar to
|
||||||
|
|zw|. Without count the first name is used, with
|
||||||
|
a count of two the second entry, etc.
|
||||||
|
|
||||||
|
There are no normal mode commands to mark words as
|
||||||
|
rare as this is a fairly uncommon command and all
|
||||||
|
intuitive commands for this are already taken. If you
|
||||||
|
want you can add mappings with e.g.: >
|
||||||
|
nnoremap z? :exe ':spellrare ' . expand('<cWORD>')<CR>
|
||||||
|
nnoremap z/ :exe ':spellrare! ' . expand('<cWORD>')<CR>
|
||||||
|
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
|
||||||
|
|
||||||
|
:spellr[rare]! {word} Add {word} as a rare word to the internal word
|
||||||
|
list, similar to |zW|.
|
||||||
|
|
||||||
:[count]spellu[ndo] {word} *:spellu* *:spellundo*
|
:[count]spellu[ndo] {word} *:spellu* *:spellundo*
|
||||||
Like |zuw|. [count] used as with |:spellgood|.
|
Like |zuw|. [count] used as with |:spellgood|.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.1. Last change: 2019 Feb 16
|
*starting.txt* For Vim version 8.1. Last change: 2019 Jul 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -84,7 +84,6 @@ filename One or more file names. The first one will be the current
|
|||||||
and the first error is displayed. See |quickfix|.
|
and the first error is displayed. See |quickfix|.
|
||||||
If [errorfile] is not given, the 'errorfile' option is used
|
If [errorfile] is not given, the 'errorfile' option is used
|
||||||
for the file name. See 'errorfile' for the default value.
|
for the file name. See 'errorfile' for the default value.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
(nothing) Without one of the four items above, Vim will start editing a
|
(nothing) Without one of the four items above, Vim will start editing a
|
||||||
new buffer. It's empty and doesn't have a file name.
|
new buffer. It's empty and doesn't have a file name.
|
||||||
@@ -129,17 +128,17 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
|
|
||||||
--help *-h* *--help* *-?*
|
--help *-h* *--help* *-?*
|
||||||
-?
|
-?
|
||||||
-h Give usage (help) message and exit. {not in Vi}
|
-h Give usage (help) message and exit.
|
||||||
See |info-message| about capturing the text.
|
See |info-message| about capturing the text.
|
||||||
|
|
||||||
*--version*
|
*--version*
|
||||||
--version Print version information and exit. Same output as for
|
--version Print version information and exit. Same output as for
|
||||||
|:version| command. {not in Vi}
|
|:version| command.
|
||||||
See |info-message| about capturing the text.
|
See |info-message| about capturing the text.
|
||||||
|
|
||||||
*--noplugin*
|
*--noplugin*
|
||||||
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
|
||||||
{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 plugins defaults.vim ~
|
argument load: vimrc files plugins defaults.vim ~
|
||||||
(nothing) yes yes yes
|
(nothing) yes yes yes
|
||||||
@@ -190,13 +189,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
Note: You can use up to 10 "+" or "-c" arguments in a Vim
|
Note: You can use up to 10 "+" or "-c" arguments in a Vim
|
||||||
command. They are executed in the order given. A "-S"
|
command. They are executed in the order given. A "-S"
|
||||||
argument counts as a "-c" argument as well.
|
argument counts as a "-c" argument as well.
|
||||||
{Vi only allows one command}
|
|
||||||
|
|
||||||
--cmd {command} *--cmd*
|
--cmd {command} *--cmd*
|
||||||
{command} will be executed before processing any vimrc file.
|
{command} will be executed before processing any vimrc file.
|
||||||
Otherwise it acts like -c {command}. You can use up to 10 of
|
Otherwise it acts like -c {command}. You can use up to 10 of
|
||||||
these commands, independently from "-c" commands.
|
these commands, independently from "-c" commands.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-S*
|
*-S*
|
||||||
-S {file} The {file} will be sourced after the first file has been read.
|
-S {file} The {file} will be sourced after the first file has been read.
|
||||||
@@ -205,7 +202,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
< It can be mixed with "-c" arguments and repeated like "-c".
|
< It can be mixed with "-c" arguments and repeated like "-c".
|
||||||
The limit of 10 "-c" arguments applies here as well.
|
The limit of 10 "-c" arguments applies here as well.
|
||||||
{file} cannot start with a "-".
|
{file} cannot start with a "-".
|
||||||
{not in Vi}
|
|
||||||
|
Do not use this for running a script to do some work and exit
|
||||||
|
Vim, you won't see error messages. Use |-u| instead.
|
||||||
|
|
||||||
-S Works like "-S Session.vim". Only when used as the last
|
-S Works like "-S Session.vim". Only when used as the last
|
||||||
argument or when another "-" option follows.
|
argument or when another "-" option follows.
|
||||||
@@ -217,8 +216,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
|crash-recovery|.
|
|crash-recovery|.
|
||||||
|
|
||||||
*-L*
|
*-L*
|
||||||
-L Same as -r. {only in some versions of Vi: "List recoverable
|
-L Same as -r.
|
||||||
edit sessions"}
|
|
||||||
|
|
||||||
*-R*
|
*-R*
|
||||||
-R Readonly mode. The 'readonly' option will be set for all the
|
-R Readonly mode. The 'readonly' option will be set for all the
|
||||||
@@ -238,7 +236,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
-m Modifications not allowed to be written. The 'write' option
|
-m Modifications not allowed to be written. The 'write' option
|
||||||
will be reset, so that writing files is disabled. However,
|
will be reset, so that writing files is disabled. However,
|
||||||
the 'write' option can be set to enable writing again.
|
the 'write' option can be set to enable writing again.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-M*
|
*-M*
|
||||||
-M Modifications not allowed. The 'modifiable' option will be
|
-M Modifications not allowed. The 'modifiable' option will be
|
||||||
@@ -246,7 +243,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
will be reset, so that writing files is disabled. However,
|
will be reset, so that writing files is disabled. However,
|
||||||
the 'modifiable' and 'write' options can be set to enable
|
the 'modifiable' and 'write' options can be set to enable
|
||||||
changes and writing.
|
changes and writing.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-Z* *restricted-mode* *E145* *E981*
|
*-Z* *restricted-mode* *E145* *E981*
|
||||||
-Z Restricted mode. All commands that make use of an external
|
-Z Restricted mode. All commands that make use of an external
|
||||||
@@ -260,11 +256,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
the Safe module.
|
the Safe module.
|
||||||
Note that the user may still find a loophole to execute a
|
Note that the user may still find a loophole to execute a
|
||||||
shell command, it has only been made difficult.
|
shell command, it has only been made difficult.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-g*
|
*-g*
|
||||||
-g Start Vim in GUI mode. See |gui|. For the opposite see |-v|.
|
-g Start Vim in GUI mode. See |gui|. For the opposite see |-v|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-v*
|
*-v*
|
||||||
-v Start Ex in Vi mode. Only makes a difference when the
|
-v Start Ex in Vi mode. Only makes a difference when the
|
||||||
@@ -278,7 +272,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
*-E*
|
*-E*
|
||||||
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
||||||
when the executable is not called "exim".
|
when the executable is not called "exim".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-s-ex*
|
*-s-ex*
|
||||||
-s Silent or batch mode. Only when Vim was started as "ex" or
|
-s Silent or batch mode. Only when Vim was started as "ex" or
|
||||||
@@ -302,6 +295,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
"-u" argument).
|
"-u" argument).
|
||||||
Example: >
|
Example: >
|
||||||
vim -e -s < thefilter thefile
|
vim -e -s < thefilter thefile
|
||||||
|
< For the opposite, to see errors from the script, execute the
|
||||||
|
file with the |-u| flag: >
|
||||||
|
vim -u thefilter thefile
|
||||||
<
|
<
|
||||||
*-b*
|
*-b*
|
||||||
-b Binary mode. File I/O will only recognize <NL> to separate
|
-b Binary mode. File I/O will only recognize <NL> to separate
|
||||||
@@ -309,7 +305,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
option is set to 0. 'modeline' is reset. The 'binary' option
|
option is set to 0. 'modeline' is reset. The 'binary' option
|
||||||
is set. This is done after reading the vimrc/exrc files but
|
is set. This is done after reading the vimrc/exrc files but
|
||||||
before reading any file in the arglist. See also
|
before reading any file in the arglist. See also
|
||||||
|edit-binary|. {not in Vi}
|
|edit-binary|.
|
||||||
|
|
||||||
*-l*
|
*-l*
|
||||||
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
|
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
|
||||||
@@ -318,7 +314,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
-A Arabic mode. Sets the 'arabic' option on. (Only when
|
-A Arabic mode. Sets the 'arabic' option on. (Only when
|
||||||
compiled with the |+arabic| features (which include
|
compiled with the |+arabic| features (which include
|
||||||
|+rightleft|), otherwise Vim gives an error message
|
|+rightleft|), otherwise Vim gives an error message
|
||||||
and exits.) {not in Vi}
|
and exits.)
|
||||||
|
|
||||||
*-F*
|
*-F*
|
||||||
-F This was used for Farsi mode, which has been removed.
|
-F This was used for Farsi mode, which has been removed.
|
||||||
@@ -327,13 +323,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
*-H*
|
*-H*
|
||||||
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
|
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
|
||||||
(Only when compiled with the |+rightleft| feature, otherwise
|
(Only when compiled with the |+rightleft| feature, otherwise
|
||||||
Vim gives an error message and exits.) {not in Vi}
|
Vim gives an error message and exits.)
|
||||||
|
|
||||||
*-V* *verbose*
|
*-V* *verbose*
|
||||||
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
|
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
|
||||||
Messages will be given for each file that is ":source"d and
|
Messages will be given for each file that is ":source"d and
|
||||||
for reading or writing a viminfo file. Can be used to find
|
for reading or writing a viminfo file. Can be used to find
|
||||||
out what is happening upon startup and exit. {not in Vi}
|
out what is happening upon startup and exit.
|
||||||
Example: >
|
Example: >
|
||||||
vim -V8 foobar
|
vim -V8 foobar
|
||||||
|
|
||||||
@@ -348,7 +344,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
-D Debugging. Go to debugging mode when executing the first
|
-D Debugging. Go to debugging mode when executing the first
|
||||||
command from a script. |debug-mode|
|
command from a script. |debug-mode|
|
||||||
{not available when compiled without the |+eval| feature}
|
{not available when compiled without the |+eval| feature}
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-C*
|
*-C*
|
||||||
-C Compatible mode. Sets the 'compatible' option. You can use
|
-C Compatible mode. Sets the 'compatible' option. You can use
|
||||||
@@ -360,13 +355,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
< Several plugins won't work with 'compatible' set. You may
|
< Several plugins won't work with 'compatible' set. You may
|
||||||
want to set it after startup this way: >
|
want to set it after startup this way: >
|
||||||
vim "+set cp" filename
|
vim "+set cp" filename
|
||||||
< Also see |compatible-default|. {not in Vi}
|
< Also see |compatible-default|.
|
||||||
|
|
||||||
*-N*
|
*-N*
|
||||||
-N Not compatible mode. Resets the 'compatible' option. You can
|
-N Not compatible mode. Resets the 'compatible' option. You can
|
||||||
use this to get 'nocompatible', when there is no .vimrc file
|
use this to get 'nocompatible', when there is no .vimrc file
|
||||||
or when using "-u NONE".
|
or when using "-u NONE".
|
||||||
Also see |compatible-default|. {not in Vi}
|
Also see |compatible-default|.
|
||||||
|
|
||||||
*-y* *easy*
|
*-y* *easy*
|
||||||
-y Easy mode. Implied for |evim| and |eview|. Starts with
|
-y Easy mode. Implied for |evim| and |eview|. Starts with
|
||||||
@@ -374,7 +369,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
This sources the script $VIMRUNTIME/evim.vim. Mappings are
|
This sources the script $VIMRUNTIME/evim.vim. Mappings are
|
||||||
set up to work like most click-and-type editors, see
|
set up to work like most click-and-type editors, see
|
||||||
|evim-keys|. The GUI is started when available.
|
|evim-keys|. The GUI is started when available.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-n*
|
*-n*
|
||||||
-n No swap file will be used. Recovery after a crash will be
|
-n No swap file will be used. Recovery after a crash will be
|
||||||
@@ -394,7 +388,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
'updatecount' to very big numbers, and type ":preserve" when
|
'updatecount' to very big numbers, and type ":preserve" when
|
||||||
you want to save your work. This way you keep the possibility
|
you want to save your work. This way you keep the possibility
|
||||||
for crash recovery.
|
for crash recovery.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-o*
|
*-o*
|
||||||
-o[N] Open N windows, split horizontally. If [N] is not given,
|
-o[N] Open N windows, split horizontally. If [N] is not given,
|
||||||
@@ -402,13 +395,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
there is not enough room, only the first few files get a
|
there is not enough room, only the first few files get a
|
||||||
window. If there are more windows than arguments, the last
|
window. If there are more windows than arguments, the last
|
||||||
few windows will be editing an empty file.
|
few windows will be editing an empty file.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-O*
|
*-O*
|
||||||
-O[N] Open N windows, split vertically. Otherwise it's like -o.
|
-O[N] Open N windows, split vertically. Otherwise it's like -o.
|
||||||
If both the -o and the -O option are given, the last one on
|
If both the -o and the -O option are given, the last one on
|
||||||
the command line determines how the windows will be split.
|
the command line determines how the windows will be split.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-p*
|
*-p*
|
||||||
-p[N] Open N tab pages. If [N] is not given, one tab page is opened
|
-p[N] Open N tab pages. If [N] is not given, one tab page is opened
|
||||||
@@ -416,20 +407,19 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
'tabpagemax' pages (default 10). If there are more tab pages
|
'tabpagemax' pages (default 10). If there are more tab pages
|
||||||
than arguments, the last few tab pages will be editing an
|
than arguments, the last few tab pages will be editing an
|
||||||
empty file. Also see |tabpage|.
|
empty file. Also see |tabpage|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-T*
|
*-T*
|
||||||
-T {terminal} Set the terminal type to "terminal". This influences the
|
-T {terminal} Set the terminal type to "terminal". This influences the
|
||||||
codes that Vim will send to your terminal. This is normally
|
codes that Vim will send to your terminal. This is normally
|
||||||
not needed, because Vim will be able to find out what type
|
not needed, because Vim will be able to find out what type
|
||||||
of terminal you are using. (See |terminal-info|.) {not in Vi}
|
of terminal you are using. (See |terminal-info|.)
|
||||||
|
|
||||||
*--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.
|
the two second delay that would happen.
|
||||||
Also avoids the "Reading from stdin..." message.
|
Also avoids the "Reading from stdin..." message.
|
||||||
{not in Vi}
|
Also avoids the "N files to edit" message.
|
||||||
|
|
||||||
*--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
|
||||||
@@ -437,8 +427,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
|
|
||||||
*-d*
|
*-d*
|
||||||
-d Start in diff mode, like |vimdiff|.
|
-d Start in diff mode, like |vimdiff|.
|
||||||
{not in Vi} {not available when compiled without the |+diff|
|
{not available when compiled without the |+diff| feature}
|
||||||
feature}
|
|
||||||
|
|
||||||
-d {device} Only on the Amiga and when not compiled with the |+diff|
|
-d {device} Only on the Amiga and when not compiled with the |+diff|
|
||||||
feature. Works like "-dev".
|
feature. Works like "-dev".
|
||||||
@@ -448,7 +437,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
Normally you would use this to set the window position and
|
Normally you would use this to set the window position and
|
||||||
size: "-d con:x/y/width/height", e.g.,
|
size: "-d con:x/y/width/height", e.g.,
|
||||||
"-d con:30/10/600/150". But you can also use it to start
|
"-d con:30/10/600/150". But you can also use it to start
|
||||||
editing on another device, e.g., AUX:. {not in Vi}
|
editing on another device, e.g., AUX:.
|
||||||
*-f*
|
*-f*
|
||||||
-f GUI: Do not disconnect from the program that started Vim.
|
-f GUI: Do not disconnect from the program that started Vim.
|
||||||
'f' stands for "foreground". If omitted, the GUI forks a new
|
'f' stands for "foreground". If omitted, the GUI forks a new
|
||||||
@@ -467,7 +456,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
MS-Windows: This option is not supported. However, when
|
MS-Windows: This option is not supported. However, when
|
||||||
running Vim with an installed vim.bat or gvim.bat file it
|
running Vim with an installed vim.bat or gvim.bat file it
|
||||||
works.
|
works.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
|
|
||||||
*--nofork*
|
*--nofork*
|
||||||
@@ -499,7 +487,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
has the side effect that the 'compatible' option will be on by
|
has the side effect that the 'compatible' option will be on by
|
||||||
default. This can have unexpected effects. See
|
default. This can have unexpected effects. See
|
||||||
|'compatible'|.
|
|'compatible'|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-U* *E230*
|
*-U* *E230*
|
||||||
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
|
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
|
||||||
@@ -507,14 +494,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
is equal to "NONE", no file is read for GUI initializations at
|
is equal to "NONE", no file is read for GUI initializations at
|
||||||
all. |gui-init|
|
all. |gui-init|
|
||||||
Exception: Reading the system-wide menu file is always done.
|
Exception: Reading the system-wide menu file is always done.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-i*
|
*-i*
|
||||||
-i {viminfo} The file "viminfo" is used instead of the default viminfo
|
-i {viminfo} The file "viminfo" is used instead of the default viminfo
|
||||||
file. If the name "NONE" is used (all uppercase), no viminfo
|
file. If the name "NONE" is used (all uppercase), no viminfo
|
||||||
file is read or written, even if 'viminfo' is set or when
|
file is read or written, even if 'viminfo' is set or when
|
||||||
":rv" or ":wv" are used. See also |viminfo-file|.
|
":rv" or ":wv" are used. See also |viminfo-file|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*--clean*
|
*--clean*
|
||||||
--clean Similar to "-u DEFAULTS -U NONE -i NONE":
|
--clean Similar to "-u DEFAULTS -U NONE -i NONE":
|
||||||
@@ -551,7 +536,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
When the connection is desired later anyway (e.g., for
|
When the connection is desired later anyway (e.g., for
|
||||||
client-server messages), call the |serverlist()| function.
|
client-server messages), call the |serverlist()| function.
|
||||||
This does not enable the XSMP handler though.
|
This does not enable the XSMP handler though.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-s*
|
*-s*
|
||||||
-s {scriptin} The script file "scriptin" is read. The characters in the
|
-s {scriptin} The script file "scriptin" is read. The characters in the
|
||||||
@@ -560,7 +544,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
of the file is reached before the editor exits, further
|
of the file is reached before the editor exits, further
|
||||||
characters are read from the keyboard. Only works when not
|
characters are read from the keyboard. Only works when not
|
||||||
started in Ex mode, see |-s-ex|. See also |complex-repeat|.
|
started in Ex mode, see |-s-ex|. See also |complex-repeat|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-w_nr*
|
*-w_nr*
|
||||||
-w {number}
|
-w {number}
|
||||||
@@ -573,62 +556,59 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
":source!". When the "scriptout" file already exists, new
|
":source!". When the "scriptout" file already exists, new
|
||||||
characters are appended. See also |complex-repeat|.
|
characters are appended. See also |complex-repeat|.
|
||||||
{scriptout} cannot start with a digit.
|
{scriptout} cannot start with a digit.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*-W*
|
*-W*
|
||||||
-W {scriptout} Like -w, but do not append, overwrite an existing file.
|
-W {scriptout} Like -w, but do not append, overwrite an existing file.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
--remote [+{cmd}] {file} ...
|
--remote [+{cmd}] {file} ...
|
||||||
Open the {file} in another Vim that functions as a server.
|
Open the {file} in another Vim that functions as a server.
|
||||||
Any non-file arguments must come before this.
|
Any non-file arguments must come before this.
|
||||||
See |--remote|. {not in Vi}
|
See |--remote|.
|
||||||
|
|
||||||
--remote-silent [+{cmd}] {file} ...
|
--remote-silent [+{cmd}] {file} ...
|
||||||
Like --remote, but don't complain if there is no server.
|
Like --remote, but don't complain if there is no server.
|
||||||
See |--remote-silent|. {not in Vi}
|
See |--remote-silent|.
|
||||||
|
|
||||||
--remote-wait [+{cmd}] {file} ...
|
--remote-wait [+{cmd}] {file} ...
|
||||||
Like --remote, but wait for the server to finish editing the
|
Like --remote, but wait for the server to finish editing the
|
||||||
file(s).
|
file(s).
|
||||||
See |--remote-wait|. {not in Vi}
|
See |--remote-wait|.
|
||||||
|
|
||||||
--remote-wait-silent [+{cmd}] {file} ...
|
--remote-wait-silent [+{cmd}] {file} ...
|
||||||
Like --remote-wait, but don't complain if there is no server.
|
Like --remote-wait, but don't complain if there is no server.
|
||||||
See |--remote-wait-silent|. {not in Vi}
|
See |--remote-wait-silent|.
|
||||||
|
|
||||||
--servername {name}
|
--servername {name}
|
||||||
Specify the name of the Vim server to send to or to become.
|
Specify the name of the Vim server to send to or to become.
|
||||||
See |--servername|. {not in Vi}
|
See |--servername|.
|
||||||
|
|
||||||
--remote-send {keys}
|
--remote-send {keys}
|
||||||
Send {keys} to a Vim server and exit.
|
Send {keys} to a Vim server and exit.
|
||||||
See |--remote-send|. {not in Vi}
|
See |--remote-send|.
|
||||||
|
|
||||||
--remote-expr {expr}
|
--remote-expr {expr}
|
||||||
Evaluate {expr} in another Vim that functions as a server.
|
Evaluate {expr} in another Vim that functions as a server.
|
||||||
The result is printed on stdout.
|
The result is printed on stdout.
|
||||||
See |--remote-expr|. {not in Vi}
|
See |--remote-expr|.
|
||||||
|
|
||||||
--serverlist Output a list of Vim server names and exit. See
|
--serverlist Output a list of Vim server names and exit. See
|
||||||
|--serverlist|. {not in Vi}
|
|--serverlist|.
|
||||||
|
|
||||||
--socketid {id} *--socketid*
|
--socketid {id} *--socketid*
|
||||||
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
|
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
|
||||||
that it runs inside another window. See |gui-gtk-socketid|
|
that it runs inside another window. See |gui-gtk-socketid|
|
||||||
for details. {not in Vi}
|
for details.
|
||||||
|
|
||||||
--windowid {id} *--windowid*
|
--windowid {id} *--windowid*
|
||||||
Win32 GUI Vim only. Make gvim try to use the window {id} as a
|
Win32 GUI Vim only. Make gvim try to use the window {id} as a
|
||||||
parent, so that it runs inside that window. See
|
parent, so that it runs inside that window. See
|
||||||
|gui-w32-windowid| for details. {not in Vi}
|
|gui-w32-windowid| for details.
|
||||||
|
|
||||||
--echo-wid *--echo-wid*
|
--echo-wid *--echo-wid*
|
||||||
GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
|
GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
|
||||||
which can be used to run gvim in a kpart widget. The format
|
which can be used to run gvim in a kpart widget. The format
|
||||||
of the output is: >
|
of the output is: >
|
||||||
WID: 12345\n
|
WID: 12345\n
|
||||||
< {not in Vi}
|
|
||||||
|
|
||||||
--role {role} *--role*
|
--role {role} *--role*
|
||||||
GTK+ 2 GUI only. Set the role of the main window to {role}.
|
GTK+ 2 GUI only. Set the role of the main window to {role}.
|
||||||
@@ -636,7 +616,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
identify a window, in order to restore window placement and
|
identify a window, in order to restore window placement and
|
||||||
such. The --role argument is passed automatically when
|
such. The --role argument is passed automatically when
|
||||||
restoring the session on login. See |gui-gnome-session|
|
restoring the session on login. See |gui-gnome-session|
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
-P {parent-title} *-P* *MDI* *E671* *E672*
|
-P {parent-title} *-P* *MDI* *E671* *E672*
|
||||||
Win32 only: Specify the title of the parent application. When
|
Win32 only: Specify the title of the parent application. When
|
||||||
@@ -1210,6 +1189,8 @@ greps in the help files) you might be able to use this: >
|
|||||||
|
|
||||||
VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
|
VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
|
||||||
|
|
||||||
|
Don't set $VIMRUNTIME to an empty value, some things may stop working.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Suspending *suspend*
|
6. Suspending *suspend*
|
||||||
|
|
||||||
@@ -1267,16 +1248,16 @@ vimrc file.
|
|||||||
*:mk* *:mkexrc*
|
*:mk* *:mkexrc*
|
||||||
:mk[exrc] [file] Write current key mappings and changed options to
|
:mk[exrc] [file] Write current key mappings and changed options to
|
||||||
[file] (default ".exrc" in the current directory),
|
[file] (default ".exrc" in the current directory),
|
||||||
unless it already exists. {not in Vi}
|
unless it already exists.
|
||||||
|
|
||||||
:mk[exrc]! [file] Always write current key mappings and changed
|
:mk[exrc]! [file] Always write current key mappings and changed
|
||||||
options to [file] (default ".exrc" in the current
|
options to [file] (default ".exrc" in the current
|
||||||
directory). {not in Vi}
|
directory).
|
||||||
|
|
||||||
*:mkv* *:mkvimrc*
|
*:mkv* *:mkvi* *:mkvimrc*
|
||||||
:mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
|
:mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
|
||||||
current directory. The ":version" command is also
|
current directory. The ":version" command is also
|
||||||
written to the file. {not in Vi}
|
written to the file.
|
||||||
|
|
||||||
These commands will write ":map" and ":set" commands to a file, in such a way
|
These commands will write ":map" and ":set" commands to a file, in such a way
|
||||||
that when these commands are executed, the current key mappings and options
|
that when these commands are executed, the current key mappings and options
|
||||||
@@ -1342,8 +1323,7 @@ You can quickly start editing with a previously saved View or Session with the
|
|||||||
|-S| argument: >
|
|-S| argument: >
|
||||||
vim -S Session.vim
|
vim -S Session.vim
|
||||||
<
|
<
|
||||||
All this is {not in Vi} and {not available when compiled without the
|
All this is {not available when compiled without the |+mksession| feature}.
|
||||||
|+mksession| feature}.
|
|
||||||
|
|
||||||
*:mks* *:mksession*
|
*:mks* *:mksession*
|
||||||
:mks[ession][!] [file] Write a Vim script that restores the current editing
|
:mks[ession][!] [file] Write a Vim script that restores the current editing
|
||||||
@@ -1658,7 +1638,7 @@ most of the information will be restored).
|
|||||||
:rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
|
:rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
|
||||||
If [!] is given, then any information that is
|
If [!] is given, then any information that is
|
||||||
already set (registers, marks, |v:oldfiles|, etc.)
|
already set (registers, marks, |v:oldfiles|, etc.)
|
||||||
will be overwritten {not in Vi}
|
will be overwritten
|
||||||
|
|
||||||
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
|
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
|
||||||
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
|
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
|
||||||
@@ -1671,7 +1651,6 @@ most of the information will be restored).
|
|||||||
check that no old temp files were left behind (e.g.
|
check that no old temp files were left behind (e.g.
|
||||||
~/.viminf*) and that you can write in the directory of
|
~/.viminf*) and that you can write in the directory of
|
||||||
the .viminfo file.
|
the .viminfo file.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ol* *:oldfiles*
|
*:ol* *:oldfiles*
|
||||||
:ol[dfiles] List the files that have marks stored in the viminfo
|
:ol[dfiles] List the files that have marks stored in the viminfo
|
||||||
@@ -1681,8 +1660,7 @@ most of the information will be restored).
|
|||||||
The output can be filtered with |:filter|, e.g.: >
|
The output can be filtered with |:filter|, e.g.: >
|
||||||
filter /\.vim/ oldfiles
|
filter /\.vim/ oldfiles
|
||||||
< The filtering happens on the file name.
|
< The filtering happens on the file name.
|
||||||
{not in Vi, only when compiled with the |+eval|
|
{only when compiled with the |+eval| feature}
|
||||||
feature}
|
|
||||||
|
|
||||||
:bro[wse] ol[dfiles][!]
|
:bro[wse] ol[dfiles][!]
|
||||||
List file names as with |:oldfiles|, and then prompt
|
List file names as with |:oldfiles|, and then prompt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.1. Last change: 2018 Dec 27
|
*syntax.txt* For Vim version 8.1. Last change: 2019 Jul 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1962,7 +1962,7 @@ The g:lisp_rainbow option provides 10 levels of individual colorization for
|
|||||||
the parentheses and backquoted parentheses. Because of the quantity of
|
the parentheses and backquoted parentheses. Because of the quantity of
|
||||||
colorization levels, unlike non-rainbow highlighting, the rainbow mode
|
colorization levels, unlike non-rainbow highlighting, the rainbow mode
|
||||||
specifies its highlighting using ctermfg and guifg, thereby bypassing the
|
specifies its highlighting using ctermfg and guifg, thereby bypassing the
|
||||||
usual colorscheme control using standard highlighting groups. The actual
|
usual color scheme control using standard highlighting groups. The actual
|
||||||
highlighting used depends on the dark/bright setting (see |'bg'|).
|
highlighting used depends on the dark/bright setting (see |'bg'|).
|
||||||
|
|
||||||
|
|
||||||
@@ -2623,7 +2623,6 @@ preceding last option and unsetting all other ones): >
|
|||||||
Note: only existence of these options matter, not their value. You can replace
|
Note: only existence of these options matter, not their value. You can replace
|
||||||
1 above with anything.
|
1 above with anything.
|
||||||
|
|
||||||
|
|
||||||
QUAKE *quake.vim* *ft-quake-syntax*
|
QUAKE *quake.vim* *ft-quake-syntax*
|
||||||
|
|
||||||
The Quake syntax definition should work for most any FPS (First Person
|
The Quake syntax definition should work for most any FPS (First Person
|
||||||
@@ -3140,7 +3139,7 @@ in your <.vimrc>, and :set fdm=syntax. I suggest doing the latter via a
|
|||||||
modeline at the end of your LaTeX file: >
|
modeline at the end of your LaTeX file: >
|
||||||
% vim: fdm=syntax
|
% vim: fdm=syntax
|
||||||
If your system becomes too slow, then you might wish to look into >
|
If your system becomes too slow, then you might wish to look into >
|
||||||
https://vimhelp.appspot.com/vim_faq.txt.html#faq-29.7
|
https://vimhelp.org/vim_faq.txt.html#faq-29.7
|
||||||
<
|
<
|
||||||
*g:tex_nospell*
|
*g:tex_nospell*
|
||||||
Tex: No Spell Checking Wanted~
|
Tex: No Spell Checking Wanted~
|
||||||
@@ -4694,9 +4693,9 @@ in their own color.
|
|||||||
Doesn't work recursively, thus you can't use
|
Doesn't work recursively, thus you can't use
|
||||||
":colorscheme" in a color scheme script.
|
":colorscheme" in a color scheme script.
|
||||||
|
|
||||||
To customize a colorscheme use another name, e.g.
|
To customize a color scheme use another name, e.g.
|
||||||
"~/.vim/colors/mine.vim", and use `:runtime` to load
|
"~/.vim/colors/mine.vim", and use `:runtime` to load
|
||||||
the original colorscheme: >
|
the original color scheme: >
|
||||||
runtime colors/evening.vim
|
runtime colors/evening.vim
|
||||||
hi Statement ctermfg=Blue guifg=Blue
|
hi Statement ctermfg=Blue guifg=Blue
|
||||||
|
|
||||||
@@ -4704,7 +4703,7 @@ in their own color.
|
|||||||
|ColorSchemePre| autocommand event is triggered.
|
|ColorSchemePre| autocommand event is triggered.
|
||||||
After the color scheme has been loaded the
|
After the color scheme has been loaded the
|
||||||
|ColorScheme| autocommand event is triggered.
|
|ColorScheme| autocommand event is triggered.
|
||||||
For info about writing a colorscheme file: >
|
For info about writing a color scheme file: >
|
||||||
:edit $VIMRUNTIME/colors/README.txt
|
:edit $VIMRUNTIME/colors/README.txt
|
||||||
|
|
||||||
:hi[ghlight] List all the current highlight groups that have
|
:hi[ghlight] List all the current highlight groups that have
|
||||||
@@ -4827,8 +4826,9 @@ cterm={attr-list} *highlight-cterm*
|
|||||||
The "cterm" argument is likely to be different from "term", when
|
The "cterm" argument is likely to be different from "term", when
|
||||||
colors are used. For example, in a normal terminal comments could
|
colors are used. For example, in a normal terminal comments could
|
||||||
be underlined, in a color terminal they can be made Blue.
|
be underlined, in a color terminal they can be made Blue.
|
||||||
Note: Many terminals (e.g., DOS console) can't mix these attributes
|
Note: Some terminals (e.g., DOS console) can't mix these attributes
|
||||||
with coloring. Use only one of "cterm=" OR "ctermfg=" OR "ctermbg=".
|
with coloring. To be portable, use only one of "cterm=" OR "ctermfg="
|
||||||
|
OR "ctermbg=".
|
||||||
|
|
||||||
ctermfg={color-nr} *highlight-ctermfg* *E421*
|
ctermfg={color-nr} *highlight-ctermfg* *E421*
|
||||||
ctermbg={color-nr} *highlight-ctermbg*
|
ctermbg={color-nr} *highlight-ctermbg*
|
||||||
@@ -4901,7 +4901,7 @@ ctermbg={color-nr} *highlight-ctermbg*
|
|||||||
explicitly. This causes the highlight groups that depend on
|
explicitly. This causes the highlight groups that depend on
|
||||||
'background' to change! This means you should set the colors for
|
'background' to change! This means you should set the colors for
|
||||||
Normal first, before setting other colors.
|
Normal first, before setting other colors.
|
||||||
When a colorscheme is being used, changing 'background' causes it to
|
When a color scheme is being used, changing 'background' causes it to
|
||||||
be reloaded, which may reset all colors (including Normal). First
|
be reloaded, which may reset all colors (including Normal). First
|
||||||
delete the "g:colors_name" variable when you don't want this.
|
delete the "g:colors_name" variable when you don't want this.
|
||||||
|
|
||||||
@@ -5002,6 +5002,8 @@ Conceal placeholder characters substituted for concealed
|
|||||||
text (see 'conceallevel')
|
text (see 'conceallevel')
|
||||||
*hl-Cursor*
|
*hl-Cursor*
|
||||||
Cursor the character under the cursor
|
Cursor the character under the cursor
|
||||||
|
lCursor the character under the cursor when |language-mapping|
|
||||||
|
is used (see 'guicursor')
|
||||||
*hl-CursorIM*
|
*hl-CursorIM*
|
||||||
CursorIM like Cursor, but used when in IME mode |CursorIM|
|
CursorIM like Cursor, but used when in IME mode |CursorIM|
|
||||||
*hl-CursorColumn*
|
*hl-CursorColumn*
|
||||||
@@ -5207,6 +5209,15 @@ load the syntax file.
|
|||||||
The command also deletes the "b:current_syntax" variable, since no syntax is
|
The command also deletes the "b:current_syntax" variable, since no syntax is
|
||||||
loaded after this command.
|
loaded after this command.
|
||||||
|
|
||||||
|
To clean up specific syntax groups for the current buffer: >
|
||||||
|
:syntax clear {group-name} ..
|
||||||
|
This removes all patterns and keywords for {group-name}.
|
||||||
|
|
||||||
|
To clean up specific syntax group lists for the current buffer: >
|
||||||
|
:syntax clear @{grouplist-name} ..
|
||||||
|
This sets {grouplist-name}'s contents to an empty list.
|
||||||
|
|
||||||
|
*:syntax-off* *:syn-off*
|
||||||
If you want to disable syntax highlighting for all buffers, you need to remove
|
If you want to disable syntax highlighting for all buffers, you need to remove
|
||||||
the autocommands that load the syntax files: >
|
the autocommands that load the syntax files: >
|
||||||
:syntax off
|
:syntax off
|
||||||
@@ -5216,14 +5227,6 @@ What this command actually does, is executing the command >
|
|||||||
See the "nosyntax.vim" file for details. Note that for this to work
|
See the "nosyntax.vim" file for details. Note that for this to work
|
||||||
$VIMRUNTIME must be valid. See |$VIMRUNTIME|.
|
$VIMRUNTIME must be valid. See |$VIMRUNTIME|.
|
||||||
|
|
||||||
To clean up specific syntax groups for the current buffer: >
|
|
||||||
:syntax clear {group-name} ..
|
|
||||||
This removes all patterns and keywords for {group-name}.
|
|
||||||
|
|
||||||
To clean up specific syntax group lists for the current buffer: >
|
|
||||||
:syntax clear @{grouplist-name} ..
|
|
||||||
This sets {grouplist-name}'s contents to an empty list.
|
|
||||||
|
|
||||||
*:syntax-reset* *:syn-reset*
|
*:syntax-reset* *:syn-reset*
|
||||||
If you have changed the colors and messed them up, use this command to get the
|
If you have changed the colors and messed them up, use this command to get the
|
||||||
defaults back: >
|
defaults back: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tabpage.txt* For Vim version 8.1. Last change: 2018 Mar 29
|
*tabpage.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -16,7 +16,6 @@ when used in combination with more than one tab page.
|
|||||||
4. Setting 'tabline' |setting-tabline|
|
4. Setting 'tabline' |setting-tabline|
|
||||||
5. Setting 'guitablabel' |setting-guitablabel|
|
5. Setting 'guitablabel' |setting-guitablabel|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
{not able to use multiple tab pages when the |+windows| feature was disabled
|
{not able to use multiple tab pages when the |+windows| feature was disabled
|
||||||
at compile time}
|
at compile time}
|
||||||
|
|
||||||
@@ -289,7 +288,6 @@ LOOPING OVER TAB PAGES:
|
|||||||
current tab page.
|
current tab page.
|
||||||
{cmd} can contain '|' to concatenate several commands.
|
{cmd} can contain '|' to concatenate several commands.
|
||||||
{cmd} must not open or close tab pages or reorder them.
|
{cmd} must not open or close tab pages or reorder them.
|
||||||
{not in Vi}
|
|
||||||
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
||||||
and |:lfdo|
|
and |:lfdo|
|
||||||
|
|
||||||
|
|||||||
441
runtime/doc/tags
441
runtime/doc/tags
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Feb 25
|
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Jun 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -14,6 +14,7 @@ See section |29.1| of the user manual for an introduction.
|
|||||||
4. Tags details |tag-details|
|
4. Tags details |tag-details|
|
||||||
5. Tags file format |tags-file-format|
|
5. Tags file format |tags-file-format|
|
||||||
6. Include file searches |include-search|
|
6. Include file searches |include-search|
|
||||||
|
7. Using 'tagfunc' |tag-function|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Jump to a tag *tag-commands*
|
1. Jump to a tag *tag-commands*
|
||||||
@@ -55,11 +56,10 @@ CTRL-] Jump to the definition of the keyword under the
|
|||||||
to the [count] one. When no [count] is given the
|
to the [count] one. When no [count] is given the
|
||||||
first one is jumped to. See |tag-matchlist| for
|
first one is jumped to. See |tag-matchlist| for
|
||||||
jumping to other matching tags.
|
jumping to other matching tags.
|
||||||
{Vi: identifier after the cursor}
|
|
||||||
|
|
||||||
*v_CTRL-]*
|
*v_CTRL-]*
|
||||||
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
|
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
|
||||||
is highlighted. {not in Vi}
|
is highlighted.
|
||||||
|
|
||||||
*telnet-CTRL-]*
|
*telnet-CTRL-]*
|
||||||
CTRL-] is the default telnet escape key. When you type CTRL-] to jump to a
|
CTRL-] is the default telnet escape key. When you type CTRL-] to jump to a
|
||||||
@@ -85,18 +85,21 @@ changed, to avoid confusion when using ":tnext". It is changed when using
|
|||||||
":tag {name}".
|
":tag {name}".
|
||||||
|
|
||||||
The ignore-case matches are not found for a ":tag" command when:
|
The ignore-case matches are not found for a ":tag" command when:
|
||||||
- the 'ignorecase' option is off and 'tagcase' is "followic"
|
- 'tagcase' is "followic" and the 'ignorecase' option is off
|
||||||
|
- 'tagcase' is "followscs" and the 'ignorecase' option is off and the
|
||||||
|
'smartcase' option is off or the pattern contains an upper case character.
|
||||||
- 'tagcase' is "match"
|
- 'tagcase' is "match"
|
||||||
- 'tagcase' is "smart" and the pattern contains an upper case character.
|
- 'tagcase' is "smart" and the pattern contains an upper case character.
|
||||||
- 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
|
|
||||||
contains an upper case character.
|
|
||||||
|
|
||||||
The ignore-case matches are found when:
|
The ignore-case matches are found when:
|
||||||
- a pattern is used (starting with a "/")
|
- a pattern is used (starting with a "/")
|
||||||
- for ":tselect"
|
- for ":tselect"
|
||||||
- when 'tagcase' is "followic" and 'ignorecase' is off
|
- when 'tagcase' is "followic" and 'ignorecase' is on
|
||||||
- when 'tagcase' is "match"
|
- when 'tagcase' is "followscs" and 'ignorecase' is on or the 'smartcase'
|
||||||
- when 'tagcase' is "followscs" and the 'smartcase' option is off
|
option is on and the pattern does not contain an upper case character
|
||||||
|
- when 'tagcase' is "ignore"
|
||||||
|
- when 'tagcase' is "smart" and the patter does not contain an upper case
|
||||||
|
character
|
||||||
|
|
||||||
Note that using ignore-case tag searching disables binary searching in the
|
Note that using ignore-case tag searching disables binary searching in the
|
||||||
tags file, which causes a slowdown. This can be avoided by fold-case sorting
|
tags file, which causes a slowdown. This can be avoided by fold-case sorting
|
||||||
@@ -111,18 +114,18 @@ Tags are only pushed onto the stack when the 'tagstack' option is set.
|
|||||||
g<RightMouse> *g<RightMouse>*
|
g<RightMouse> *g<RightMouse>*
|
||||||
<C-RightMouse> *<C-RightMouse>* *CTRL-T*
|
<C-RightMouse> *<C-RightMouse>* *CTRL-T*
|
||||||
CTRL-T Jump to [count] older entry in the tag stack
|
CTRL-T Jump to [count] older entry in the tag stack
|
||||||
(default 1). {not in Vi}
|
(default 1).
|
||||||
|
|
||||||
*:po* *:pop* *E555* *E556*
|
*:po* *:pop* *E555* *E556*
|
||||||
:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
|
:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
|
||||||
See |tag-!| for [!]. {not in Vi}
|
See |tag-!| for [!].
|
||||||
|
|
||||||
:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
|
:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
|
||||||
See |tag-!| for [!]. {not in Vi}
|
See |tag-!| for [!].
|
||||||
|
|
||||||
*:tags*
|
*:tags*
|
||||||
:tags Show the contents of the tag stack. The active
|
:tags Show the contents of the tag stack. The active
|
||||||
entry is marked with a '>'. {not in Vi}
|
entry is marked with a '>'.
|
||||||
|
|
||||||
The output of ":tags" looks like this:
|
The output of ":tags" looks like this:
|
||||||
|
|
||||||
@@ -203,7 +206,7 @@ the same entry.
|
|||||||
the current position in the list (if there is one).
|
the current position in the list (if there is one).
|
||||||
[name] can be a regexp pattern, see |tag-regexp|.
|
[name] can be a regexp pattern, see |tag-regexp|.
|
||||||
See |tag-priority| for the priorities used in the
|
See |tag-priority| for the priorities used in the
|
||||||
listing. {not in Vi}
|
listing.
|
||||||
Example output:
|
Example output:
|
||||||
|
|
||||||
>
|
>
|
||||||
@@ -230,54 +233,50 @@ the same entry.
|
|||||||
|
|
||||||
*:sts* *:stselect*
|
*:sts* *:stselect*
|
||||||
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
|
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
|
||||||
the selected tag. {not in Vi}
|
the selected tag.
|
||||||
|
|
||||||
*g]*
|
*g]*
|
||||||
g] Like CTRL-], but use ":tselect" instead of ":tag".
|
g] Like CTRL-], but use ":tselect" instead of ":tag".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*v_g]*
|
*v_g]*
|
||||||
{Visual}g] Same as "g]", but use the highlighted text as the
|
{Visual}g] Same as "g]", but use the highlighted text as the
|
||||||
identifier. {not in Vi}
|
identifier.
|
||||||
|
|
||||||
*:tj* *:tjump*
|
*:tj* *:tjump*
|
||||||
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
|
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
|
||||||
there is only one match. {not in Vi}
|
there is only one match.
|
||||||
|
|
||||||
*:stj* *:stjump*
|
*:stj* *:stjump*
|
||||||
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
|
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
|
||||||
selected tag. {not in Vi}
|
selected tag.
|
||||||
|
|
||||||
*g_CTRL-]*
|
*g_CTRL-]*
|
||||||
g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
|
g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*v_g_CTRL-]*
|
*v_g_CTRL-]*
|
||||||
{Visual}g CTRL-] Same as "g CTRL-]", but use the highlighted text as
|
{Visual}g CTRL-] Same as "g CTRL-]", but use the highlighted text as
|
||||||
the identifier. {not in Vi}
|
the identifier.
|
||||||
|
|
||||||
*:tn* *:tnext*
|
*:tn* *:tnext*
|
||||||
:[count]tn[ext][!] Jump to [count] next matching tag (default 1). See
|
:[count]tn[ext][!] Jump to [count] next matching tag (default 1). See
|
||||||
|tag-!| for [!]. {not in Vi}
|
|tag-!| for [!].
|
||||||
|
|
||||||
*:tp* *:tprevious*
|
*:tp* *:tprevious*
|
||||||
:[count]tp[revious][!] Jump to [count] previous matching tag (default 1).
|
:[count]tp[revious][!] Jump to [count] previous matching tag (default 1).
|
||||||
See |tag-!| for [!]. {not in Vi}
|
See |tag-!| for [!].
|
||||||
|
|
||||||
*:tN* *:tNext*
|
*:tN* *:tNext*
|
||||||
:[count]tN[ext][!] Same as ":tprevious". {not in Vi}
|
:[count]tN[ext][!] Same as ":tprevious".
|
||||||
|
|
||||||
*:tr* *:trewind*
|
*:tr* *:trewind*
|
||||||
:[count]tr[ewind][!] Jump to first matching tag. If [count] is given, jump
|
:[count]tr[ewind][!] Jump to first matching tag. If [count] is given, jump
|
||||||
to [count]th matching tag. See |tag-!| for [!]. {not
|
to [count]th matching tag. See |tag-!| for [!].
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*:tf* *:tfirst*
|
*:tf* *:tfirst*
|
||||||
:[count]tf[irst][!] Same as ":trewind". {not in Vi}
|
:[count]tf[irst][!] Same as ":trewind".
|
||||||
|
|
||||||
*:tl* *:tlast*
|
*:tl* *:tlast*
|
||||||
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!]. {not
|
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!].
|
||||||
in Vi}
|
|
||||||
|
|
||||||
*:lt* *:ltag*
|
*:lt* *:ltag*
|
||||||
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
|
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
|
||||||
@@ -289,7 +288,6 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
|
|||||||
characters (very nomagic). The location list showing
|
characters (very nomagic). The location list showing
|
||||||
the matching tags is independent of the tag stack.
|
the matching tags is independent of the tag stack.
|
||||||
See |tag-!| for [!].
|
See |tag-!| for [!].
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
When there is no other message, Vim shows which matching tag has been jumped
|
When there is no other message, Vim shows which matching tag has been jumped
|
||||||
to, and the number of matching tags: >
|
to, and the number of matching tags: >
|
||||||
@@ -316,34 +314,28 @@ the same as above, with a "p" prepended.
|
|||||||
*:pts* *:ptselect*
|
*:pts* *:ptselect*
|
||||||
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
|
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
|
||||||
"Preview" window. See |:ptag| for more info.
|
"Preview" window. See |:ptag| for more info.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ptj* *:ptjump*
|
*:ptj* *:ptjump*
|
||||||
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
|
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
|
||||||
"Preview" window. See |:ptag| for more info.
|
"Preview" window. See |:ptag| for more info.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ptn* *:ptnext*
|
*:ptn* *:ptnext*
|
||||||
:[count]ptn[ext][!] ":tnext" in the preview window. See |:ptag|.
|
:[count]ptn[ext][!] ":tnext" in the preview window. See |:ptag|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ptp* *:ptprevious*
|
*:ptp* *:ptprevious*
|
||||||
:[count]ptp[revious][!] ":tprevious" in the preview window. See |:ptag|.
|
:[count]ptp[revious][!] ":tprevious" in the preview window. See |:ptag|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ptN* *:ptNext*
|
*:ptN* *:ptNext*
|
||||||
:[count]ptN[ext][!] Same as ":ptprevious". {not in Vi}
|
:[count]ptN[ext][!] Same as ":ptprevious".
|
||||||
|
|
||||||
*:ptr* *:ptrewind*
|
*:ptr* *:ptrewind*
|
||||||
:[count]ptr[ewind][!] ":trewind" in the preview window. See |:ptag|.
|
:[count]ptr[ewind][!] ":trewind" in the preview window. See |:ptag|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ptf* *:ptfirst*
|
*:ptf* *:ptfirst*
|
||||||
:[count]ptf[irst][!] Same as ":ptrewind". {not in Vi}
|
:[count]ptf[irst][!] Same as ":ptrewind".
|
||||||
|
|
||||||
*:ptl* *:ptlast*
|
*:ptl* *:ptlast*
|
||||||
:ptl[ast][!] ":tlast" in the preview window. See |:ptag|.
|
:ptl[ast][!] ":tlast" in the preview window. See |:ptag|.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Tags details *tag-details*
|
4. Tags details *tag-details*
|
||||||
@@ -431,7 +423,6 @@ In a future version changing the buffer will be impossible. All this for
|
|||||||
security reasons: Somebody might hide a nasty command in the tags file, which
|
security reasons: Somebody might hide a nasty command in the tags file, which
|
||||||
would otherwise go unnoticed. Example: >
|
would otherwise go unnoticed. Example: >
|
||||||
:$d|/tag-function-name/
|
:$d|/tag-function-name/
|
||||||
{this security prevention is not present in Vi}
|
|
||||||
|
|
||||||
In Vi the ":tag" command sets the last search pattern when the tag is searched
|
In Vi the ":tag" command sets the last search pattern when the tag is searched
|
||||||
for. In Vim this is not done, the previous search pattern is still remembered,
|
for. In Vim this is not done, the previous search pattern is still remembered,
|
||||||
@@ -515,7 +506,7 @@ Some programs that generate tags files:
|
|||||||
ctags As found on most Unix systems. Only supports C. Only
|
ctags As found on most Unix systems. Only supports C. Only
|
||||||
does the basic work.
|
does the basic work.
|
||||||
*Exuberant_ctags*
|
*Exuberant_ctags*
|
||||||
exuberant ctags This a very good one. It works for C, C++, Java,
|
exuberant ctags This is a very good one. It works for C, C++, Java,
|
||||||
Fortran, Eiffel and others. It can generate tags for
|
Fortran, Eiffel and others. It can generate tags for
|
||||||
many items. See http://ctags.sourceforge.net.
|
many items. See http://ctags.sourceforge.net.
|
||||||
etags Connected to Emacs. Supports many languages.
|
etags Connected to Emacs. Supports many languages.
|
||||||
@@ -529,28 +520,21 @@ gnatxref For Ada. See http://www.gnuada.org/. gnatxref is
|
|||||||
part of the gnat package.
|
part of the gnat package.
|
||||||
|
|
||||||
|
|
||||||
The lines in the tags file must have one of these three formats:
|
The lines in the tags file must have one of these two formats:
|
||||||
|
|
||||||
1. {tagname} {TAB} {tagfile} {TAB} {tagaddress}
|
1. {tagname} {TAB} {tagfile} {TAB} {tagaddress}
|
||||||
2. {tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress}
|
2. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} ..
|
||||||
3. {tagname} {TAB} {tagfile} {TAB} {tagaddress} {term} {field} ..
|
|
||||||
|
|
||||||
The first is a normal tag, which is completely compatible with Vi. It is the
|
Previously an old format was supported, see |tag-old-static|.
|
||||||
only format produced by traditional ctags implementations. This is often used
|
|
||||||
for functions that are global, also referenced in other files.
|
The first format is a normal tag, which is completely compatible with Vi. It
|
||||||
|
is the only format produced by traditional ctags implementations. This is
|
||||||
|
often used for functions that are global, also referenced in other files.
|
||||||
|
|
||||||
The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR>
|
The lines in the tags file can end in <LF> or <CR><LF>. On the Macintosh <CR>
|
||||||
also works. The <CR> and <NL> characters can never appear inside a line.
|
also works. The <CR> and <NL> characters can never appear inside a line.
|
||||||
|
|
||||||
*tag-old-static*
|
The second format is new. It includes additional information in optional
|
||||||
The second format is for a static tag only. It is obsolete now, replaced by
|
|
||||||
the third format. It is only supported by Elvis 1.x and Vim and a few
|
|
||||||
versions of ctags. A static tag is often used for functions that are local,
|
|
||||||
only referenced in the file {tagfile}. Note that for the static tag, the two
|
|
||||||
occurrences of {tagfile} must be exactly the same. Also see |tags-option|
|
|
||||||
below, for how static tags are used.
|
|
||||||
|
|
||||||
The third format is new. It includes additional information in optional
|
|
||||||
fields at the end of each line. It is backwards compatible with Vi. It is
|
fields at the end of each line. It is backwards compatible with Vi. It is
|
||||||
only supported by new versions of ctags (such as Exuberant ctags).
|
only supported by new versions of ctags (such as Exuberant ctags).
|
||||||
|
|
||||||
@@ -558,8 +542,7 @@ only supported by new versions of ctags (such as Exuberant ctags).
|
|||||||
be any identifier. It cannot contain a <Tab>.
|
be any identifier. It cannot contain a <Tab>.
|
||||||
{TAB} One <Tab> character. Note: previous versions allowed any
|
{TAB} One <Tab> character. Note: previous versions allowed any
|
||||||
white space here. This has been abandoned to allow spaces in
|
white space here. This has been abandoned to allow spaces in
|
||||||
{tagfile}. It can be re-enabled by including the
|
{tagfile}.
|
||||||
|+tag_any_white| feature at compile time. *tag-any-white*
|
|
||||||
{tagfile} The file that contains the definition of {tagname}. It can
|
{tagfile} The file that contains the definition of {tagname}. It can
|
||||||
have an absolute or relative path. It may contain environment
|
have an absolute or relative path. It may contain environment
|
||||||
variables and wildcards (although the use of wildcards is
|
variables and wildcards (although the use of wildcards is
|
||||||
@@ -599,6 +582,7 @@ only supported by new versions of ctags (such as Exuberant ctags).
|
|||||||
The only other field currently recognized by Vim is "file:"
|
The only other field currently recognized by Vim is "file:"
|
||||||
(with an empty value). It is used for a static tag.
|
(with an empty value). It is used for a static tag.
|
||||||
|
|
||||||
|
|
||||||
The first lines in the tags file can contain lines that start with
|
The first lines in the tags file can contain lines that start with
|
||||||
!_TAG_
|
!_TAG_
|
||||||
These are sorted to the first lines, only rare tags that start with "!" can
|
These are sorted to the first lines, only rare tags that start with "!" can
|
||||||
@@ -636,10 +620,7 @@ If the command is a normal search command (it starts and ends with "/" or
|
|||||||
"?"), some special handling is done:
|
"?"), some special handling is done:
|
||||||
- Searching starts on line 1 of the file.
|
- Searching starts on line 1 of the file.
|
||||||
The direction of the search is forward for "/", backward for "?".
|
The direction of the search is forward for "/", backward for "?".
|
||||||
Note that 'wrapscan' does not matter, the whole file is always searched. (Vi
|
Note that 'wrapscan' does not matter, the whole file is always searched.
|
||||||
does use 'wrapscan', which caused tags sometimes not be found.) {Vi starts
|
|
||||||
searching in line 2 of another file. It does not find a tag in line 1 of
|
|
||||||
another file when 'wrapscan' is not set}
|
|
||||||
- If the search fails, another try is done ignoring case. If that fails too,
|
- If the search fails, another try is done ignoring case. If that fails too,
|
||||||
a search is done for:
|
a search is done for:
|
||||||
"^tagname[ \t]*("
|
"^tagname[ \t]*("
|
||||||
@@ -650,7 +631,22 @@ If the command is a normal search command (it starts and ends with "/" or
|
|||||||
"^[#a-zA-Z_].*\<tagname[ \t]*("
|
"^[#a-zA-Z_].*\<tagname[ \t]*("
|
||||||
This means: A line starting with '#' or an identifier and containing the tag
|
This means: A line starting with '#' or an identifier and containing the tag
|
||||||
followed by white space and a '('. This will find macro names and function
|
followed by white space and a '('. This will find macro names and function
|
||||||
names with a type prepended. {the extra searches are not in Vi}
|
names with a type prepended.
|
||||||
|
|
||||||
|
|
||||||
|
*tag-old-static*
|
||||||
|
Until March 2019 (patch 8.1.1092) an outdated format was supported:
|
||||||
|
{tagfile}:{tagname} {TAB} {tagfile} {TAB} {tagaddress}
|
||||||
|
|
||||||
|
This format is for a static tag only. It is obsolete now, replaced by
|
||||||
|
the second format. It is only supported by Elvis 1.x, older Vim versions and
|
||||||
|
a few versions of ctags. A static tag is often used for functions that are
|
||||||
|
local, only referenced in the file {tagfile}. Note that for the static tag,
|
||||||
|
the two occurrences of {tagfile} must be exactly the same. Also see
|
||||||
|
|tags-option| below, for how static tags are used.
|
||||||
|
|
||||||
|
The support was removed, since when you can update to the new Vim version you
|
||||||
|
should also be able to update ctags to one that supports the second format.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
6. Include file searches *include-search* *definition-search*
|
6. Include file searches *include-search* *definition-search*
|
||||||
@@ -711,33 +707,31 @@ mapping to do that for you. Here is an example: >
|
|||||||
of the file. Lines that look like a comment are
|
of the file. Lines that look like a comment are
|
||||||
ignored (see 'comments' option). If a count is given,
|
ignored (see 'comments' option). If a count is given,
|
||||||
the count'th matching line is displayed, and comment
|
the count'th matching line is displayed, and comment
|
||||||
lines are not ignored. {not in Vi}
|
lines are not ignored.
|
||||||
|
|
||||||
*]i*
|
*]i*
|
||||||
]i like "[i", but start at the current cursor position.
|
]i like "[i", but start at the current cursor position.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:is* *:isearch*
|
*:is* *:isearch*
|
||||||
:[range]is[earch][!] [count] [/]pattern[/]
|
:[range]is[earch][!] [count] [/]pattern[/]
|
||||||
Like "[i" and "]i", but search in [range] lines
|
Like "[i" and "]i", but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
*[I*
|
*[I*
|
||||||
[I Display all lines that contain the keyword under the
|
[I Display all lines that contain the keyword under the
|
||||||
cursor. Filenames and line numbers are displayed
|
cursor. Filenames and line numbers are displayed
|
||||||
for the found lines. The search starts at the
|
for the found lines. The search starts at the
|
||||||
beginning of the file. {not in Vi}
|
beginning of the file.
|
||||||
|
|
||||||
*]I*
|
*]I*
|
||||||
]I like "[I", but start at the current cursor position.
|
]I like "[I", but start at the current cursor position.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:il* *:ilist*
|
*:il* *:ilist*
|
||||||
:[range]il[ist][!] [/]pattern[/]
|
:[range]il[ist][!] [/]pattern[/]
|
||||||
Like "[I" and "]I", but search in [range] lines
|
Like "[I" and "]I", but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
*[_CTRL-I*
|
*[_CTRL-I*
|
||||||
[ CTRL-I Jump to the first line that contains the keyword
|
[ CTRL-I Jump to the first line that contains the keyword
|
||||||
@@ -745,17 +739,17 @@ mapping to do that for you. Here is an example: >
|
|||||||
of the file. Lines that look like a comment are
|
of the file. Lines that look like a comment are
|
||||||
ignored (see 'comments' option). If a count is given,
|
ignored (see 'comments' option). If a count is given,
|
||||||
the count'th matching line is jumped to, and comment
|
the count'th matching line is jumped to, and comment
|
||||||
lines are not ignored. {not in Vi}
|
lines are not ignored.
|
||||||
|
|
||||||
*]_CTRL-I*
|
*]_CTRL-I*
|
||||||
] CTRL-I like "[ CTRL-I", but start at the current cursor
|
] CTRL-I like "[ CTRL-I", but start at the current cursor
|
||||||
position. {not in Vi}
|
position.
|
||||||
|
|
||||||
*:ij* *:ijump*
|
*:ij* *:ijump*
|
||||||
:[range]ij[ump][!] [count] [/]pattern[/]
|
:[range]ij[ump][!] [count] [/]pattern[/]
|
||||||
Like "[ CTRL-I" and "] CTRL-I", but search in
|
Like "[ CTRL-I" and "] CTRL-I", but search in
|
||||||
[range] lines (default: whole file).
|
[range] lines (default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
CTRL-W CTRL-I *CTRL-W_CTRL-I* *CTRL-W_i*
|
CTRL-W CTRL-I *CTRL-W_CTRL-I* *CTRL-W_i*
|
||||||
CTRL-W i Open a new window, with the cursor on the first line
|
CTRL-W i Open a new window, with the cursor on the first line
|
||||||
@@ -764,45 +758,43 @@ CTRL-W i Open a new window, with the cursor on the first line
|
|||||||
that look like a comment line are ignored (see
|
that look like a comment line are ignored (see
|
||||||
'comments' option). If a count is given, the count'th
|
'comments' option). If a count is given, the count'th
|
||||||
matching line is jumped to, and comment lines are not
|
matching line is jumped to, and comment lines are not
|
||||||
ignored. {not in Vi}
|
ignored.
|
||||||
|
|
||||||
*:isp* *:isplit*
|
*:isp* *:isplit*
|
||||||
:[range]isp[lit][!] [count] [/]pattern[/]
|
:[range]isp[lit][!] [count] [/]pattern[/]
|
||||||
Like "CTRL-W i" and "CTRL-W i", but search in
|
Like "CTRL-W i" and "CTRL-W i", but search in
|
||||||
[range] lines (default: whole file).
|
[range] lines (default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
*[d*
|
*[d*
|
||||||
[d Display the first macro definition that contains the
|
[d Display the first macro definition that contains the
|
||||||
macro under the cursor. The search starts from the
|
macro under the cursor. The search starts from the
|
||||||
beginning of the file. If a count is given, the
|
beginning of the file. If a count is given, the
|
||||||
count'th matching line is displayed. {not in Vi}
|
count'th matching line is displayed.
|
||||||
|
|
||||||
*]d*
|
*]d*
|
||||||
]d like "[d", but start at the current cursor position.
|
]d like "[d", but start at the current cursor position.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:ds* *:dsearch*
|
*:ds* *:dsearch*
|
||||||
:[range]ds[earch][!] [count] [/]string[/]
|
:[range]ds[earch][!] [count] [/]string[/]
|
||||||
Like "[d" and "]d", but search in [range] lines
|
Like "[d" and "]d", but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
*[D*
|
*[D*
|
||||||
[D Display all macro definitions that contain the macro
|
[D Display all macro definitions that contain the macro
|
||||||
under the cursor. Filenames and line numbers are
|
under the cursor. Filenames and line numbers are
|
||||||
displayed for the found lines. The search starts
|
displayed for the found lines. The search starts
|
||||||
from the beginning of the file. {not in Vi}
|
from the beginning of the file.
|
||||||
|
|
||||||
*]D*
|
*]D*
|
||||||
]D like "[D", but start at the current cursor position.
|
]D like "[D", but start at the current cursor position.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
*:dli* *:dlist*
|
*:dli* *:dlist*
|
||||||
:[range]dli[st][!] [/]string[/]
|
:[range]dli[st][!] [/]string[/]
|
||||||
Like `[D` and `]D`, but search in [range] lines
|
Like `[D` and `]D`, but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
Note that `:dl` works like `:delete` with the "l"
|
Note that `:dl` works like `:delete` with the "l"
|
||||||
flag, not `:dlist`.
|
flag, not `:dlist`.
|
||||||
|
|
||||||
@@ -810,36 +802,35 @@ CTRL-W i Open a new window, with the cursor on the first line
|
|||||||
[ CTRL-D Jump to the first macro definition that contains the
|
[ CTRL-D Jump to the first macro definition that contains the
|
||||||
keyword under the cursor. The search starts from
|
keyword under the cursor. The search starts from
|
||||||
the beginning of the file. If a count is given, the
|
the beginning of the file. If a count is given, the
|
||||||
count'th matching line is jumped to. {not in Vi}
|
count'th matching line is jumped to.
|
||||||
|
|
||||||
*]_CTRL-D*
|
*]_CTRL-D*
|
||||||
] CTRL-D like "[ CTRL-D", but start at the current cursor
|
] CTRL-D like "[ CTRL-D", but start at the current cursor
|
||||||
position. {not in Vi}
|
position.
|
||||||
|
|
||||||
*:dj* *:djump*
|
*:dj* *:djump*
|
||||||
:[range]dj[ump][!] [count] [/]string[/]
|
:[range]dj[ump][!] [count] [/]string[/]
|
||||||
Like "[ CTRL-D" and "] CTRL-D", but search in
|
Like "[ CTRL-D" and "] CTRL-D", but search in
|
||||||
[range] lines (default: whole file).
|
[range] lines (default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
CTRL-W CTRL-D *CTRL-W_CTRL-D* *CTRL-W_d*
|
CTRL-W CTRL-D *CTRL-W_CTRL-D* *CTRL-W_d*
|
||||||
CTRL-W d Open a new window, with the cursor on the first
|
CTRL-W d Open a new window, with the cursor on the first
|
||||||
macro definition line that contains the keyword
|
macro definition line that contains the keyword
|
||||||
under the cursor. The search starts from the
|
under the cursor. The search starts from the
|
||||||
beginning of the file. If a count is given, the
|
beginning of the file. If a count is given, the
|
||||||
count'th matching line is jumped to. {not in Vi}
|
count'th matching line is jumped to.
|
||||||
|
|
||||||
*:dsp* *:dsplit*
|
*:dsp* *:dsplit*
|
||||||
:[range]dsp[lit][!] [count] [/]string[/]
|
:[range]dsp[lit][!] [count] [/]string[/]
|
||||||
Like "CTRL-W d", but search in [range] lines
|
Like "CTRL-W d", but search in [range] lines
|
||||||
(default: whole file).
|
(default: whole file).
|
||||||
See |:search-args| for [/] and [!]. {not in Vi}
|
See |:search-args| for [/] and [!].
|
||||||
|
|
||||||
*:che* *:checkpath*
|
*:che* *:chec* *:check* *:checkpath*
|
||||||
:che[ckpath] List all the included files that could not be found.
|
:che[ckpath] List all the included files that could not be found.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:che[ckpath]! List all the included files. {not in Vi}
|
:che[ckpath]! List all the included files.
|
||||||
|
|
||||||
*:search-args*
|
*:search-args*
|
||||||
Common arguments for the commands above:
|
Common arguments for the commands above:
|
||||||
@@ -863,4 +854,70 @@ Common arguments for the commands above:
|
|||||||
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
|
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
|
||||||
is used as a literal string, not as a search pattern.
|
is used as a literal string, not as a search pattern.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
7. Using 'tagfunc' *tag-function*
|
||||||
|
|
||||||
|
It is possible to provide Vim with a function which will generate a list of
|
||||||
|
tags used for commands like |:tag|, |:tselect| and Normal mode tag commands
|
||||||
|
like |CTRL-]|.
|
||||||
|
|
||||||
|
The function used for generating the taglist is specified by setting the
|
||||||
|
'tagfunc' option. The function will be called with three arguments:
|
||||||
|
a:pattern The tag identifier used during the tag search.
|
||||||
|
a:flags List of flags to control the function behavior.
|
||||||
|
a:info Dict containing the following entries:
|
||||||
|
buf_ffname Full filename which can be used for priority.
|
||||||
|
user_data Custom data String, if stored in the tag
|
||||||
|
stack previously by tagfunc.
|
||||||
|
|
||||||
|
Currently two flags may be passed to the tag function:
|
||||||
|
'c' The function was invoked by a normal command being processed
|
||||||
|
(mnemonic: the tag function may use the context around the
|
||||||
|
cursor to perform a better job of generating the tag list.)
|
||||||
|
'i' In Insert mode, the user was completing a tag (with
|
||||||
|
|i_CTRL-X_CTRL-]|).
|
||||||
|
|
||||||
|
Note that when 'tagfunc' is set, the priority of the tags described in
|
||||||
|
|tag-priority| does not apply. Instead, the priority is exactly as the
|
||||||
|
ordering of the elements in the list returned by the function.
|
||||||
|
*E987*
|
||||||
|
The function should return a List of Dict entries. Each Dict must at least
|
||||||
|
include the following entries and each value must be a string:
|
||||||
|
name Name of the tag.
|
||||||
|
filename Name of the file where the tag is defined. It is
|
||||||
|
either relative to the current directory or a full path.
|
||||||
|
cmd Ex command used to locate the tag in the file. This
|
||||||
|
can be either an Ex search pattern or a line number.
|
||||||
|
Note that the format is similar to that of |taglist()|, which makes it possible
|
||||||
|
to use its output to generate the result.
|
||||||
|
The following fields are optional:
|
||||||
|
kind Type of the tag.
|
||||||
|
user_data String of custom data stored in the tag stack which
|
||||||
|
can be used to disambiguate tags between operations.
|
||||||
|
|
||||||
|
If the function returns |v:null| instead of a List, a standard tag lookup will
|
||||||
|
be performed instead.
|
||||||
|
|
||||||
|
It is not allowed to change the tagstack from inside 'tagfunc'. *E986*
|
||||||
|
|
||||||
|
The following is a hypothetical example of a function used for 'tagfunc'. It
|
||||||
|
uses the output of |taglist()| to generate the result: a list of tags in the
|
||||||
|
inverse order of file names.
|
||||||
|
>
|
||||||
|
function! TagFunc(pattern, flags, info)
|
||||||
|
function! CompareFilenames(item1, item2)
|
||||||
|
let f1 = a:item1['filename']
|
||||||
|
let f2 = a:item2['filename']
|
||||||
|
return f1 >=# f2 ?
|
||||||
|
\ -1 : f1 <=# f2 ? 1 : 0
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
let result = taglist(a:pattern)
|
||||||
|
call sort(result, "CompareFilenames")
|
||||||
|
|
||||||
|
return result
|
||||||
|
endfunc
|
||||||
|
set tagfunc=TagFunc
|
||||||
|
<
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*term.txt* For Vim version 8.1. Last change: 2019 Jan 19
|
*term.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -249,9 +249,6 @@ It is always possible to change individual strings by setting the
|
|||||||
appropriate option. For example: >
|
appropriate option. For example: >
|
||||||
:set t_ce=^V^[[K (CTRL-V, <Esc>, [, K)
|
:set t_ce=^V^[[K (CTRL-V, <Esc>, [, K)
|
||||||
|
|
||||||
{Vi: no terminal options. You have to exit Vi, edit the termcap entry and
|
|
||||||
try again}
|
|
||||||
|
|
||||||
The options are listed below. The associated termcap code is always equal to
|
The options are listed below. The associated termcap code is always equal to
|
||||||
the last two characters of the option name. Only one termcap code is
|
the last two characters of the option name. Only one termcap code is
|
||||||
required: Cursor motion, 't_cm'.
|
required: Cursor motion, 't_cm'.
|
||||||
@@ -539,7 +536,7 @@ there should be a tick at allow-window-ops.
|
|||||||
Note about colors: The 't_Co' option tells Vim the number of colors available.
|
Note about colors: The 't_Co' option tells Vim the number of colors available.
|
||||||
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
|
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
|
||||||
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
|
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
|
||||||
to reset to the default colors.
|
to reset to the default colors. Also see 'termguicolors'.
|
||||||
|
|
||||||
*termcap-cursor-shape* *termcap-cursor-color*
|
*termcap-cursor-shape* *termcap-cursor-color*
|
||||||
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
|
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 25
|
*terminal.txt* For Vim version 8.1. Last change: 2019 Jul 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -12,37 +12,37 @@ The terminal feature is optional, use this to check if your Vim has it: >
|
|||||||
If the result is "1" you have it.
|
If the result is "1" you have it.
|
||||||
|
|
||||||
|
|
||||||
1. Basic use |terminal-use|
|
1. Basic use |terminal-use|
|
||||||
Typing |terminal-typing|
|
Typing |terminal-typing|
|
||||||
Size and color |terminal-size-color|
|
Size and color |terminal-size-color|
|
||||||
Syntax |:terminal|
|
Command syntax |:terminal|
|
||||||
Resizing |terminal-resizing|
|
Resizing |terminal-resizing|
|
||||||
Terminal Modes |Terminal-mode|
|
Terminal Modes |Terminal-mode|
|
||||||
Cursor style |terminal-cursor-style|
|
Cursor style |terminal-cursor-style|
|
||||||
Session |terminal-session|
|
Session |terminal-session|
|
||||||
Special keys |terminal-special-keys|
|
Special keys |terminal-special-keys|
|
||||||
Unix |terminal-unix|
|
Unix |terminal-unix|
|
||||||
MS-Windows |terminal-ms-windows|
|
MS-Windows |terminal-ms-windows|
|
||||||
2. Terminal communication |terminal-communication|
|
2. Terminal functions |terminal-function-details|
|
||||||
Vim to job: term_sendkeys() |terminal-to-job|
|
3. Terminal communication |terminal-communication|
|
||||||
Job to Vim: JSON API |terminal-api|
|
Vim to job: term_sendkeys() |terminal-to-job|
|
||||||
Using the client-server feature |terminal-client-server|
|
Job to Vim: JSON API |terminal-api|
|
||||||
3. Remote testing |terminal-testing|
|
Using the client-server feature |terminal-client-server|
|
||||||
4. Diffing screen dumps |terminal-diff|
|
4. Remote testing |terminal-testing|
|
||||||
Writing a screen dump test for Vim |terminal-dumptest|
|
5. Diffing screen dumps |terminal-diff|
|
||||||
Creating a screen dump |terminal-screendump|
|
Writing a screen dump test for Vim |terminal-dumptest|
|
||||||
Comparing screen dumps |terminal-diffscreendump|
|
Creating a screen dump |terminal-screendump|
|
||||||
5. Debugging |terminal-debug|
|
Comparing screen dumps |terminal-diffscreendump|
|
||||||
Starting |termdebug-starting|
|
6. Debugging |terminal-debug|
|
||||||
Example session |termdebug-example|
|
Starting |termdebug-starting|
|
||||||
Stepping through code |termdebug-stepping|
|
Example session |termdebug-example|
|
||||||
Inspecting variables |termdebug-variables|
|
Stepping through code |termdebug-stepping|
|
||||||
Other commands |termdebug-commands|
|
Inspecting variables |termdebug-variables|
|
||||||
Prompt mode |termdebug-prompt|
|
Other commands |termdebug-commands|
|
||||||
Communication |termdebug-communication|
|
Prompt mode |termdebug-prompt|
|
||||||
Customizing |termdebug-customizing|
|
Communication |termdebug-communication|
|
||||||
|
Customizing |termdebug-customizing|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
|
||||||
{only available when compiled with the |+terminal| feature}
|
{only available when compiled with the |+terminal| feature}
|
||||||
The terminal feature requires the |+job| and |+channel| features.
|
The terminal feature requires the |+job| and |+channel| features.
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@ The |term_setansicolors()| function can be used to change the colors, and
|
|||||||
|term_getansicolors()| to get the currently used colors.
|
|term_getansicolors()| to get the currently used colors.
|
||||||
|
|
||||||
|
|
||||||
Syntax ~
|
Command syntax ~
|
||||||
|
|
||||||
:[range]ter[minal] [options] [command] *:ter* *:terminal*
|
:[range]ter[minal] [options] [command] *:ter* *:terminal*
|
||||||
Open a new terminal window.
|
Open a new terminal window.
|
||||||
@@ -427,8 +427,371 @@ ConPTY problems have been fixed "winpty" will be preferred.
|
|||||||
Environment variables are used to pass information to the running job:
|
Environment variables are used to pass information to the running job:
|
||||||
VIM_SERVERNAME v:servername
|
VIM_SERVERNAME v:servername
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Terminal communication *terminal-communication*
|
2. Terminal functions *terminal-function-details*
|
||||||
|
|
||||||
|
*term_dumpdiff()*
|
||||||
|
term_dumpdiff({filename}, {filename} [, {options}])
|
||||||
|
Open a new window displaying the difference between the two
|
||||||
|
files. The files must have been created with
|
||||||
|
|term_dumpwrite()|.
|
||||||
|
Returns the buffer number or zero when the diff fails.
|
||||||
|
Also see |terminal-diff|.
|
||||||
|
NOTE: this does not work with double-width characters yet.
|
||||||
|
|
||||||
|
The top part of the buffer contains the contents of the first
|
||||||
|
file, the bottom part of the buffer contains the contents of
|
||||||
|
the second file. The middle part shows the differences.
|
||||||
|
The parts are separated by a line of equals.
|
||||||
|
|
||||||
|
If the {options} argument is present, it must be a Dict with
|
||||||
|
these possible members:
|
||||||
|
"term_name" name to use for the buffer name, instead
|
||||||
|
of the first file name.
|
||||||
|
"term_rows" vertical size to use for the terminal,
|
||||||
|
instead of using 'termwinsize'
|
||||||
|
"term_cols" horizontal size to use for the terminal,
|
||||||
|
instead of using 'termwinsize'
|
||||||
|
"vertical" split the window vertically
|
||||||
|
"curwin" use the current window, do not split the
|
||||||
|
window; fails if the current buffer
|
||||||
|
cannot be |abandon|ed
|
||||||
|
"bufnr" do not create a new buffer, use the
|
||||||
|
existing buffer "bufnr". This buffer
|
||||||
|
must have been previously created with
|
||||||
|
term_dumpdiff() or term_dumpload() and
|
||||||
|
visible in a window.
|
||||||
|
"norestore" do not add the terminal window to a
|
||||||
|
session file
|
||||||
|
|
||||||
|
Each character in the middle part indicates a difference. If
|
||||||
|
there are multiple differences only the first in this list is
|
||||||
|
used:
|
||||||
|
X different character
|
||||||
|
w different width
|
||||||
|
f different foreground color
|
||||||
|
b different background color
|
||||||
|
a different attribute
|
||||||
|
+ missing position in first file
|
||||||
|
- missing position in second file
|
||||||
|
|
||||||
|
Using the "s" key the top and bottom parts are swapped. This
|
||||||
|
makes it easy to spot a difference.
|
||||||
|
|
||||||
|
*term_dumpload()*
|
||||||
|
term_dumpload({filename} [, {options}])
|
||||||
|
Open a new window displaying the contents of {filename}
|
||||||
|
The file must have been created with |term_dumpwrite()|.
|
||||||
|
Returns the buffer number or zero when it fails.
|
||||||
|
Also see |terminal-diff|.
|
||||||
|
|
||||||
|
For {options} see |term_dumpdiff()|.
|
||||||
|
|
||||||
|
*term_dumpwrite()*
|
||||||
|
term_dumpwrite({buf}, {filename} [, {options}])
|
||||||
|
Dump the contents of the terminal screen of {buf} in the file
|
||||||
|
{filename}. This uses a format that can be used with
|
||||||
|
|term_dumpload()| and |term_dumpdiff()|.
|
||||||
|
If the job in the terminal already finished an error is given:
|
||||||
|
*E958*
|
||||||
|
If {filename} already exists an error is given: *E953*
|
||||||
|
Also see |terminal-diff|.
|
||||||
|
|
||||||
|
{options} is a dictionary with these optional entries:
|
||||||
|
"rows" maximum number of rows to dump
|
||||||
|
"columns" maximum number of columns to dump
|
||||||
|
|
||||||
|
term_getaltscreen({buf}) *term_getaltscreen()*
|
||||||
|
Returns 1 if the terminal of {buf} is using the alternate
|
||||||
|
screen.
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getansicolors({buf}) *term_getansicolors()*
|
||||||
|
Get the ANSI color palette in use by terminal {buf}.
|
||||||
|
Returns a List of length 16 where each element is a String
|
||||||
|
representing a color in hexadecimal "#rrggbb" format.
|
||||||
|
Also see |term_setansicolors()| and |g:terminal_ansi_colors|.
|
||||||
|
If neither was used returns the default colors.
|
||||||
|
|
||||||
|
{buf} is used as with |term_getsize()|. If the buffer does not
|
||||||
|
exist or is not a terminal window, an empty list is returned.
|
||||||
|
{only available when compiled with the |+terminal| feature and
|
||||||
|
with GUI enabled and/or the |+termguicolors| feature}
|
||||||
|
|
||||||
|
term_getattr({attr}, {what}) *term_getattr()*
|
||||||
|
Given {attr}, a value returned by term_scrape() in the "attr"
|
||||||
|
item, return whether {what} is on. {what} can be one of:
|
||||||
|
bold
|
||||||
|
italic
|
||||||
|
underline
|
||||||
|
strike
|
||||||
|
reverse
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getcursor({buf}) *term_getcursor()*
|
||||||
|
Get the cursor position of terminal {buf}. Returns a list with
|
||||||
|
two numbers and a dictionary: [row, col, dict].
|
||||||
|
|
||||||
|
"row" and "col" are one based, the first screen cell is row
|
||||||
|
1, column 1. This is the cursor position of the terminal
|
||||||
|
itself, not of the Vim window.
|
||||||
|
|
||||||
|
"dict" can have these members:
|
||||||
|
"visible" one when the cursor is visible, zero when it
|
||||||
|
is hidden.
|
||||||
|
"blink" one when the cursor is blinking, zero when it
|
||||||
|
is not blinking.
|
||||||
|
"shape" 1 for a block cursor, 2 for underline and 3
|
||||||
|
for a vertical bar.
|
||||||
|
"color" color of the cursor, e.g. "green"
|
||||||
|
|
||||||
|
{buf} must be the buffer number of a terminal window. If the
|
||||||
|
buffer does not exist or is not a terminal window, an empty
|
||||||
|
list is returned.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getjob({buf}) *term_getjob()*
|
||||||
|
Get the Job associated with terminal window {buf}.
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
Returns |v:null| when there is no job.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getline({buf}, {row}) *term_getline()*
|
||||||
|
Get a line of text from the terminal window of {buf}.
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
|
||||||
|
The first line has {row} one. When {row} is "." the cursor
|
||||||
|
line is used. When {row} is invalid an empty string is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
To get attributes of each character use |term_scrape()|.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getscrolled({buf}) *term_getscrolled()*
|
||||||
|
Return the number of lines that scrolled to above the top of
|
||||||
|
terminal {buf}. This is the offset between the row number
|
||||||
|
used for |term_getline()| and |getline()|, so that: >
|
||||||
|
term_getline(buf, N)
|
||||||
|
< is equal to: >
|
||||||
|
getline(N + term_getscrolled(buf))
|
||||||
|
< (if that line exists).
|
||||||
|
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getsize({buf}) *term_getsize()*
|
||||||
|
Get the size of terminal {buf}. Returns a list with two
|
||||||
|
numbers: [rows, cols]. This is the size of the terminal, not
|
||||||
|
the window containing the terminal.
|
||||||
|
|
||||||
|
{buf} must be the buffer number of a terminal window. Use an
|
||||||
|
empty string for the current buffer. If the buffer does not
|
||||||
|
exist or is not a terminal window, an empty list is returned.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_getstatus({buf}) *term_getstatus()*
|
||||||
|
Get the status of terminal {buf}. This returns a comma
|
||||||
|
separated list of these items:
|
||||||
|
running job is running
|
||||||
|
finished job has finished
|
||||||
|
normal in Terminal-Normal mode
|
||||||
|
One of "running" or "finished" is always present.
|
||||||
|
|
||||||
|
{buf} must be the buffer number of a terminal window. If the
|
||||||
|
buffer does not exist or is not a terminal window, an empty
|
||||||
|
string is returned.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_gettitle({buf}) *term_gettitle()*
|
||||||
|
Get the title of terminal {buf}. This is the title that the
|
||||||
|
job in the terminal has set.
|
||||||
|
|
||||||
|
{buf} must be the buffer number of a terminal window. If the
|
||||||
|
buffer does not exist or is not a terminal window, an empty
|
||||||
|
string is returned.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_gettty({buf} [, {input}]) *term_gettty()*
|
||||||
|
Get the name of the controlling terminal associated with
|
||||||
|
terminal window {buf}. {buf} is used as with |term_getsize()|.
|
||||||
|
|
||||||
|
When {input} is omitted or 0, return the name for writing
|
||||||
|
(stdout). When {input} is 1 return the name for reading
|
||||||
|
(stdin). On UNIX, both return same name.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_list() *term_list()*
|
||||||
|
Return a list with the buffer numbers of all buffers for
|
||||||
|
terminal windows.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_scrape({buf}, {row}) *term_scrape()*
|
||||||
|
Get the contents of {row} of terminal screen of {buf}.
|
||||||
|
For {buf} see |term_getsize()|.
|
||||||
|
|
||||||
|
The first line has {row} one. When {row} is "." the cursor
|
||||||
|
line is used. When {row} is invalid an empty string is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
Return a List containing a Dict for each screen cell:
|
||||||
|
"chars" character(s) at the cell
|
||||||
|
"fg" foreground color as #rrggbb
|
||||||
|
"bg" background color as #rrggbb
|
||||||
|
"attr" attributes of the cell, use |term_getattr()|
|
||||||
|
to get the individual flags
|
||||||
|
"width" cell width: 1 or 2
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_sendkeys({buf}, {keys}) *term_sendkeys()*
|
||||||
|
Send keystrokes {keys} to terminal {buf}.
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
|
||||||
|
{keys} are translated as key sequences. For example, "\<c-x>"
|
||||||
|
means the character CTRL-X.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_setansicolors({buf}, {colors}) *term_setansicolors()*
|
||||||
|
Set the ANSI color palette used by terminal {buf}.
|
||||||
|
{colors} must be a List of 16 valid color names or hexadecimal
|
||||||
|
color codes, like those accepted by |highlight-guifg|.
|
||||||
|
Also see |term_getansicolors()| and |g:terminal_ansi_colors|.
|
||||||
|
|
||||||
|
The colors normally are:
|
||||||
|
0 black
|
||||||
|
1 dark red
|
||||||
|
2 dark green
|
||||||
|
3 brown
|
||||||
|
4 dark blue
|
||||||
|
5 dark magenta
|
||||||
|
6 dark cyan
|
||||||
|
7 light grey
|
||||||
|
8 dark grey
|
||||||
|
9 red
|
||||||
|
10 green
|
||||||
|
11 yellow
|
||||||
|
12 blue
|
||||||
|
13 magenta
|
||||||
|
14 cyan
|
||||||
|
15 white
|
||||||
|
|
||||||
|
These colors are used in the GUI and in the terminal when
|
||||||
|
'termguicolors' is set. When not using GUI colors (GUI mode
|
||||||
|
or 'termguicolors'), the terminal window always uses the 16
|
||||||
|
ANSI colors of the underlying terminal.
|
||||||
|
{only available when compiled with the |+terminal| feature and
|
||||||
|
with GUI enabled and/or the |+termguicolors| feature}
|
||||||
|
|
||||||
|
term_setkill({buf}, {how}) *term_setkill()*
|
||||||
|
When exiting Vim or trying to close the terminal window in
|
||||||
|
another way, {how} defines whether the job in the terminal can
|
||||||
|
be stopped.
|
||||||
|
When {how} is empty (the default), the job will not be
|
||||||
|
stopped, trying to exit will result in |E947|.
|
||||||
|
Otherwise, {how} specifies what signal to send to the job.
|
||||||
|
See |job_stop()| for the values.
|
||||||
|
|
||||||
|
After sending the signal Vim will wait for up to a second to
|
||||||
|
check that the job actually stopped.
|
||||||
|
|
||||||
|
term_setrestore({buf}, {command}) *term_setrestore()*
|
||||||
|
Set the command to write in a session file to restore the job
|
||||||
|
in this terminal. The line written in the session file is: >
|
||||||
|
terminal ++curwin ++cols=%d ++rows=%d {command}
|
||||||
|
< Make sure to escape the command properly.
|
||||||
|
|
||||||
|
Use an empty {command} to run 'shell'.
|
||||||
|
Use "NONE" to not restore this window.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
|
||||||
|
Set the size of terminal {buf}. The size of the window
|
||||||
|
containing the terminal will also be adjusted, if possible.
|
||||||
|
If {rows} or {cols} is zero or negative, that dimension is not
|
||||||
|
changed.
|
||||||
|
|
||||||
|
{buf} must be the buffer number of a terminal window. Use an
|
||||||
|
empty string for the current buffer. If the buffer does not
|
||||||
|
exist or is not a terminal window, an error is given.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_start({cmd} [, {options}]) *term_start()*
|
||||||
|
Open a terminal window and run {cmd} in it.
|
||||||
|
|
||||||
|
{cmd} can be a string or a List, like with |job_start()|. The
|
||||||
|
string "NONE" can be used to open a terminal window without
|
||||||
|
starting a job, the pty of the terminal can be used by a
|
||||||
|
command like gdb.
|
||||||
|
|
||||||
|
Returns the buffer number of the terminal window. If {cmd}
|
||||||
|
cannot be executed the window does open and shows an error
|
||||||
|
message.
|
||||||
|
If opening the window fails zero is returned.
|
||||||
|
|
||||||
|
{options} are similar to what is used for |job_start()|, see
|
||||||
|
|job-options|. However, not all options can be used. These
|
||||||
|
are supported:
|
||||||
|
all timeout options
|
||||||
|
"stoponexit", "cwd", "env"
|
||||||
|
"callback", "out_cb", "err_cb", "exit_cb", "close_cb"
|
||||||
|
"in_io", "in_top", "in_bot", "in_name", "in_buf"
|
||||||
|
"out_io", "out_name", "out_buf", "out_modifiable", "out_msg"
|
||||||
|
"err_io", "err_name", "err_buf", "err_modifiable", "err_msg"
|
||||||
|
However, at least one of stdin, stdout or stderr must be
|
||||||
|
connected to the terminal. When I/O is connected to the
|
||||||
|
terminal then the callback function for that part is not used.
|
||||||
|
|
||||||
|
There are extra options:
|
||||||
|
"term_name" name to use for the buffer name, instead
|
||||||
|
of the command name.
|
||||||
|
"term_rows" vertical size to use for the terminal,
|
||||||
|
instead of using 'termwinsize'
|
||||||
|
"term_cols" horizontal size to use for the terminal,
|
||||||
|
instead of using 'termwinsize'
|
||||||
|
"vertical" split the window vertically; note that
|
||||||
|
other window position can be defined with
|
||||||
|
command modifiers, such as |:belowright|.
|
||||||
|
"curwin" use the current window, do not split the
|
||||||
|
window; fails if the current buffer
|
||||||
|
cannot be |abandon|ed
|
||||||
|
"hidden" do not open a window
|
||||||
|
"norestore" do not add the terminal window to a
|
||||||
|
session file
|
||||||
|
"term_kill" what to do when trying to close the
|
||||||
|
terminal window, see |term_setkill()|
|
||||||
|
"term_finish" What to do when the job is finished:
|
||||||
|
"close": close any windows
|
||||||
|
"open": open window if needed
|
||||||
|
Note that "open" can be interruptive.
|
||||||
|
See |term++close| and |term++open|.
|
||||||
|
"term_opencmd" command to use for opening the window when
|
||||||
|
"open" is used for "term_finish"; must
|
||||||
|
have "%d" where the buffer number goes,
|
||||||
|
e.g. "10split|buffer %d"; when not
|
||||||
|
specified "botright sbuf %d" is used
|
||||||
|
"eof_chars" Text to send after all buffer lines were
|
||||||
|
written to the terminal. When not set
|
||||||
|
CTRL-D is used on MS-Windows. For Python
|
||||||
|
use CTRL-Z or "exit()". For a shell use
|
||||||
|
"exit". A CR is always added.
|
||||||
|
"ansi_colors" A list of 16 color names or hex codes
|
||||||
|
defining the ANSI palette used in GUI
|
||||||
|
color modes. See |g:terminal_ansi_colors|.
|
||||||
|
"tty_type" (MS-Windows only): Specify which pty to
|
||||||
|
use. See 'termwintype' for the values.
|
||||||
|
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_wait({buf} [, {time}]) *term_wait()*
|
||||||
|
Wait for pending updates of {buf} to be handled.
|
||||||
|
{buf} is used as with |term_getsize()|.
|
||||||
|
{time} is how long to wait for updates to arrive in msec. If
|
||||||
|
not set then 10 msec will be used.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Terminal communication *terminal-communication*
|
||||||
|
|
||||||
There are several ways to communicate with the job running in a terminal:
|
There are several ways to communicate with the job running in a terminal:
|
||||||
- Use |term_sendkeys()| to send text and escape sequences from Vim to the job.
|
- Use |term_sendkeys()| to send text and escape sequences from Vim to the job.
|
||||||
@@ -496,7 +859,8 @@ Currently supported commands:
|
|||||||
directory, thus it's best to use the full path.
|
directory, thus it's best to use the full path.
|
||||||
|
|
||||||
[options] is only used when opening a new window. If present,
|
[options] is only used when opening a new window. If present,
|
||||||
it must be a Dict. Similarly to |++opt|, These entries are recognized:
|
it must be a Dict. Similarly to |++opt|, These entries are
|
||||||
|
recognized:
|
||||||
"ff" file format: "dos", "mac" or "unix"
|
"ff" file format: "dos", "mac" or "unix"
|
||||||
"fileformat" idem
|
"fileformat" idem
|
||||||
"enc" overrides 'fileencoding'
|
"enc" overrides 'fileencoding'
|
||||||
@@ -534,7 +898,7 @@ In the job you can then do something like: >
|
|||||||
This will open the file "some_file.c" and put the cursor on line 123.
|
This will open the file "some_file.c" and put the cursor on line 123.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. Remote testing *terminal-testing*
|
4. Remote testing *terminal-testing*
|
||||||
|
|
||||||
Most Vim tests execute a script inside Vim. For some tests this does not
|
Most Vim tests execute a script inside Vim. For some tests this does not
|
||||||
work, running the test interferes with the code being tested. To avoid this
|
work, running the test interferes with the code being tested. To avoid this
|
||||||
@@ -549,7 +913,7 @@ Functions ~
|
|||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Diffing screen dumps *terminal-diff*
|
5. Diffing screen dumps *terminal-diff*
|
||||||
|
|
||||||
In some cases it can be bothersome to test that Vim displays the right
|
In some cases it can be bothersome to test that Vim displays the right
|
||||||
characters on the screen. E.g. with syntax highlighting. To make this
|
characters on the screen. E.g. with syntax highlighting. To make this
|
||||||
@@ -650,7 +1014,7 @@ Alternatively, press "s" to swap the first and second dump. Do this several
|
|||||||
times so that you can spot the difference in the context of the text.
|
times so that you can spot the difference in the context of the text.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
5. Debugging *terminal-debug* *terminal-debugger*
|
6. Debugging *terminal-debug* *terminal-debugger*
|
||||||
|
|
||||||
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. Since this is completely contained inside
|
the source code in a Vim window. Since this is completely contained inside
|
||||||
@@ -907,7 +1271,7 @@ When 'background' is "dark":
|
|||||||
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
|
||||||
Shorcuts *termdebug_shortcuts*
|
Shortcuts *termdebug_shortcuts*
|
||||||
|
|
||||||
You can define your own shortcuts (mappings) to control gdb, that can work in
|
You can define your own shortcuts (mappings) to control gdb, that can work in
|
||||||
any window, using the TermDebugSendCommand() function. Example: >
|
any window, using the TermDebugSendCommand() function. Example: >
|
||||||
|
|||||||
342
runtime/doc/testing.txt
Normal file
342
runtime/doc/testing.txt
Normal file
@@ -0,0 +1,342 @@
|
|||||||
|
*testing.txt* For Vim version 8.1. Last change: 2019 Aug 16
|
||||||
|
|
||||||
|
|
||||||
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
|
Testing Vim and Vim script *testing-support*
|
||||||
|
|
||||||
|
Expression evaluation is explained in |eval.txt|. This file goes into details
|
||||||
|
about writing tests in Vim script. This can be used for testing Vim itself
|
||||||
|
and for testing plugins.
|
||||||
|
|
||||||
|
1. Testing Vim |testing|
|
||||||
|
2. Test functions |test-functions-details|
|
||||||
|
3. Assert functions |assert-functions-details|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
1. Testing Vim *testing*
|
||||||
|
|
||||||
|
Vim can be tested after building it, usually with "make test".
|
||||||
|
The tests are located in the directory "src/testdir".
|
||||||
|
|
||||||
|
There are several types of tests added over time:
|
||||||
|
test33.in oldest, don't add any of these
|
||||||
|
test_something.in old style tests
|
||||||
|
test_something.vim new style tests
|
||||||
|
|
||||||
|
*new-style-testing*
|
||||||
|
New tests should be added as new style tests. These use functions such as
|
||||||
|
|assert_equal()| to keep the test commands and the expected result in one
|
||||||
|
place.
|
||||||
|
*old-style-testing*
|
||||||
|
In some cases an old style test needs to be used. E.g. when testing Vim
|
||||||
|
without the |+eval| feature.
|
||||||
|
|
||||||
|
Find more information in the file src/testdir/README.txt.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
2. Test functions *test-functions-details*
|
||||||
|
|
||||||
|
test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
|
||||||
|
This is for testing: If the memory allocation with {id} is
|
||||||
|
called, then decrement {countdown}, and when it reaches zero
|
||||||
|
let memory allocation fail {repeat} times. When {repeat} is
|
||||||
|
smaller than one it fails one time.
|
||||||
|
|
||||||
|
|
||||||
|
test_autochdir() *test_autochdir()*
|
||||||
|
Set a flag to enable the effect of 'autochdir' before Vim
|
||||||
|
startup has finished.
|
||||||
|
|
||||||
|
|
||||||
|
test_feedinput({string}) *test_feedinput()*
|
||||||
|
Characters in {string} are queued for processing as if they
|
||||||
|
were typed by the user. This uses a low level input buffer.
|
||||||
|
This function works only when with |+unix| or GUI is running.
|
||||||
|
|
||||||
|
|
||||||
|
test_garbagecollect_now() *test_garbagecollect_now()*
|
||||||
|
Like garbagecollect(), but executed right away. This must
|
||||||
|
only be called directly to avoid any structure to exist
|
||||||
|
internally, and |v:testing| must have been set before calling
|
||||||
|
any function.
|
||||||
|
|
||||||
|
|
||||||
|
test_garbagecollect_soon() *test_garbagecollect_soon()*
|
||||||
|
Set the flag to call the garbagecollector as if in the main
|
||||||
|
loop. Only to be used in tests.
|
||||||
|
|
||||||
|
|
||||||
|
test_getvalue({name}) *test_getvalue()*
|
||||||
|
Get the value of an internal variable. These values for
|
||||||
|
{name} are supported:
|
||||||
|
need_fileinfo
|
||||||
|
|
||||||
|
|
||||||
|
test_ignore_error({expr}) *test_ignore_error()*
|
||||||
|
Ignore any error containing {expr}. A normal message is given
|
||||||
|
instead.
|
||||||
|
This is only meant to be used in tests, where catching the
|
||||||
|
error with try/catch cannot be used (because it skips over
|
||||||
|
following code).
|
||||||
|
{expr} is used literally, not as a pattern.
|
||||||
|
When the {expr} is the string "RESET" then the list of ignored
|
||||||
|
errors is made empty.
|
||||||
|
|
||||||
|
|
||||||
|
test_null_blob() *test_null_blob()*
|
||||||
|
Return a |Blob| that is null. Only useful for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_null_channel() *test_null_channel()*
|
||||||
|
Return a |Channel| that is null. Only useful for testing.
|
||||||
|
{only available when compiled with the +channel feature}
|
||||||
|
|
||||||
|
|
||||||
|
test_null_dict() *test_null_dict()*
|
||||||
|
Return a |Dict| that is null. Only useful for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_null_job() *test_null_job()*
|
||||||
|
Return a |Job| that is null. Only useful for testing.
|
||||||
|
{only available when compiled with the +job feature}
|
||||||
|
|
||||||
|
|
||||||
|
test_null_list() *test_null_list()*
|
||||||
|
Return a |List| that is null. Only useful for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_null_partial() *test_null_partial()*
|
||||||
|
Return a |Partial| that is null. Only useful for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_null_string() *test_null_string()*
|
||||||
|
Return a |String| that is null. Only useful for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_option_not_set({name}) *test_option_not_set()*
|
||||||
|
Reset the flag that indicates option {name} was set. Thus it
|
||||||
|
looks like it still has the default value. Use like this: >
|
||||||
|
set ambiwidth=double
|
||||||
|
call test_option_not_set('ambiwidth')
|
||||||
|
< Now the 'ambiwidth' option behaves like it was never changed,
|
||||||
|
even though the value is "double".
|
||||||
|
Only to be used for testing!
|
||||||
|
|
||||||
|
|
||||||
|
test_override({name}, {val}) *test_override()*
|
||||||
|
Overrides certain parts of Vim's internal processing to be able
|
||||||
|
to run tests. Only to be used for testing Vim!
|
||||||
|
The override is enabled when {val} is non-zero and removed
|
||||||
|
when {val} is zero.
|
||||||
|
Current supported values for name are:
|
||||||
|
|
||||||
|
name effect when {val} is non-zero ~
|
||||||
|
redraw disable the redrawing() function
|
||||||
|
redraw_flag ignore the RedrawingDisabled flag
|
||||||
|
char_avail disable the char_avail() function
|
||||||
|
starting reset the "starting" variable, see below
|
||||||
|
nfa_fail makes the NFA regexp engine fail to force a
|
||||||
|
fallback to the old engine
|
||||||
|
no_query_mouse do not query the mouse position for "dec"
|
||||||
|
terminals
|
||||||
|
no_wait_return set the "no_wait_return" flag. Not restored
|
||||||
|
with "ALL".
|
||||||
|
ALL clear all overrides ({val} is not used)
|
||||||
|
|
||||||
|
"starting" is to be used when a test should behave like
|
||||||
|
startup was done. Since the tests are run by sourcing a
|
||||||
|
script the "starting" variable is non-zero. This is usually a
|
||||||
|
good thing (tests run faster), but sometimes changes behavior
|
||||||
|
in a way that the test doesn't work properly.
|
||||||
|
When using: >
|
||||||
|
call test_override('starting', 1)
|
||||||
|
< The value of "starting" is saved. It is restored by: >
|
||||||
|
call test_override('starting', 0)
|
||||||
|
|
||||||
|
|
||||||
|
test_refcount({expr}) *test_refcount()*
|
||||||
|
Return the reference count of {expr}. When {expr} is of a
|
||||||
|
type that does not have a reference count, returns -1. Only
|
||||||
|
to be used for testing.
|
||||||
|
|
||||||
|
|
||||||
|
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
|
||||||
|
Pretend using scrollbar {which} to move it to position
|
||||||
|
{value}. {which} can be:
|
||||||
|
left Left scrollbar of the current window
|
||||||
|
right Right scrollbar of the current window
|
||||||
|
hor Horizontal scrollbar
|
||||||
|
|
||||||
|
For the vertical scrollbars {value} can be 1 to the
|
||||||
|
line-count of the buffer. For the horizontal scrollbar the
|
||||||
|
{value} can be between 1 and the maximum line length, assuming
|
||||||
|
'wrap' is not set.
|
||||||
|
|
||||||
|
When {dragging} is non-zero it's like dragging the scrollbar,
|
||||||
|
otherwise it's like clicking in the scrollbar.
|
||||||
|
Only works when the {which} scrollbar actually exists,
|
||||||
|
obviously only when using the GUI.
|
||||||
|
|
||||||
|
|
||||||
|
test_setmouse({row}, {col}) *test_setmouse()*
|
||||||
|
Set the mouse position to be used for the next mouse action.
|
||||||
|
{row} and {col} are one based.
|
||||||
|
For example: >
|
||||||
|
call test_setmouse(4, 20)
|
||||||
|
call feedkeys("\<LeftMouse>", "xt")
|
||||||
|
|
||||||
|
|
||||||
|
test_settime({expr}) *test_settime()*
|
||||||
|
Set the time Vim uses internally. Currently only used for
|
||||||
|
timestamps in the history, as they are used in viminfo, and
|
||||||
|
for undo.
|
||||||
|
Using a value of 1 makes Vim not sleep after a warning or
|
||||||
|
error message.
|
||||||
|
{expr} must evaluate to a number. When the value is zero the
|
||||||
|
normal behavior is restored.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
3. Assert functions *assert-functions-details*
|
||||||
|
|
||||||
|
|
||||||
|
assert_beeps({cmd}) *assert_beeps()*
|
||||||
|
Run {cmd} and add an error message to |v:errors| if it does
|
||||||
|
NOT produce a beep or visual bell.
|
||||||
|
Also see |assert_fails()| and |assert-return|.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
GetCmd()->assert_beeps()
|
||||||
|
<
|
||||||
|
*assert_equal()*
|
||||||
|
assert_equal({expected}, {actual} [, {msg}])
|
||||||
|
When {expected} and {actual} are not equal an error message is
|
||||||
|
added to |v:errors| and 1 is returned. Otherwise zero is
|
||||||
|
returned |assert-return|.
|
||||||
|
There is no automatic conversion, the String "4" is different
|
||||||
|
from the Number 4. And the number 4 is different from the
|
||||||
|
Float 4.0. The value of 'ignorecase' is not used here, case
|
||||||
|
always matters.
|
||||||
|
When {msg} is omitted an error in the form "Expected
|
||||||
|
{expected} but got {actual}" is produced.
|
||||||
|
Example: >
|
||||||
|
assert_equal('foo', 'bar')
|
||||||
|
< Will result in a string to be added to |v:errors|:
|
||||||
|
test.vim line 12: Expected 'foo' but got 'bar' ~
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
mylist->assert_equal([1, 2, 3])
|
||||||
|
|
||||||
|
|
||||||
|
< *assert_equalfile()*
|
||||||
|
assert_equalfile({fname-one}, {fname-two})
|
||||||
|
When the files {fname-one} and {fname-two} do not contain
|
||||||
|
exactly the same text an error message is added to |v:errors|.
|
||||||
|
Also see |assert-return|.
|
||||||
|
When {fname-one} or {fname-two} does not exist the error will
|
||||||
|
mention that.
|
||||||
|
Mainly useful with |terminal-diff|.
|
||||||
|
|
||||||
|
assert_exception({error} [, {msg}]) *assert_exception()*
|
||||||
|
When v:exception does not contain the string {error} an error
|
||||||
|
message is added to |v:errors|. Also see |assert-return|.
|
||||||
|
This can be used to assert that a command throws an exception.
|
||||||
|
Using the error number, followed by a colon, avoids problems
|
||||||
|
with translations: >
|
||||||
|
try
|
||||||
|
commandthatfails
|
||||||
|
call assert_false(1, 'command should have failed')
|
||||||
|
catch
|
||||||
|
call assert_exception('E492:')
|
||||||
|
endtry
|
||||||
|
|
||||||
|
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||||
|
Run {cmd} and add an error message to |v:errors| if it does
|
||||||
|
NOT produce an error. Also see |assert-return|.
|
||||||
|
When {error} is given it must match in |v:errmsg|.
|
||||||
|
Note that beeping is not considered an error, and some failing
|
||||||
|
commands only beep. Use |assert_beeps()| for those.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
GetCmd()->assert_fails('E99:')
|
||||||
|
|
||||||
|
assert_false({actual} [, {msg}]) *assert_false()*
|
||||||
|
When {actual} is not false an error message is added to
|
||||||
|
|v:errors|, like with |assert_equal()|.
|
||||||
|
Also see |assert-return|.
|
||||||
|
A value is false when it is zero. When {actual} is not a
|
||||||
|
number the assert fails.
|
||||||
|
When {msg} is omitted an error in the form
|
||||||
|
"Expected False but got {actual}" is produced.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
GetResult()->assert_false()
|
||||||
|
|
||||||
|
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
|
||||||
|
This asserts number and |Float| values. When {actual} is lower
|
||||||
|
than {lower} or higher than {upper} an error message is added
|
||||||
|
to |v:errors|. Also see |assert-return|.
|
||||||
|
When {msg} is omitted an error in the form
|
||||||
|
"Expected range {lower} - {upper}, but got {actual}" is
|
||||||
|
produced.
|
||||||
|
|
||||||
|
*assert_match()*
|
||||||
|
assert_match({pattern}, {actual} [, {msg}])
|
||||||
|
When {pattern} does not match {actual} an error message is
|
||||||
|
added to |v:errors|. Also see |assert-return|.
|
||||||
|
|
||||||
|
{pattern} is used as with |=~|: The matching is always done
|
||||||
|
like 'magic' was set and 'cpoptions' is empty, no matter what
|
||||||
|
the actual value of 'magic' or 'cpoptions' is.
|
||||||
|
|
||||||
|
{actual} is used as a string, automatic conversion applies.
|
||||||
|
Use "^" and "$" to match with the start and end of the text.
|
||||||
|
Use both to match the whole text.
|
||||||
|
|
||||||
|
When {msg} is omitted an error in the form
|
||||||
|
"Pattern {pattern} does not match {actual}" is produced.
|
||||||
|
Example: >
|
||||||
|
assert_match('^f.*o$', 'foobar')
|
||||||
|
< Will result in a string to be added to |v:errors|:
|
||||||
|
test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
getFile()->assert_match('foo.*')
|
||||||
|
<
|
||||||
|
*assert_notequal()*
|
||||||
|
assert_notequal({expected}, {actual} [, {msg}])
|
||||||
|
The opposite of `assert_equal()`: add an error message to
|
||||||
|
|v:errors| when {expected} and {actual} are equal.
|
||||||
|
Also see |assert-return|.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
mylist->assert_notequal([1, 2, 3])
|
||||||
|
|
||||||
|
< *assert_notmatch()*
|
||||||
|
assert_notmatch({pattern}, {actual} [, {msg}])
|
||||||
|
The opposite of `assert_match()`: add an error message to
|
||||||
|
|v:errors| when {pattern} matches {actual}.
|
||||||
|
Also see |assert-return|.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
getFile()->assert_notmatch('bar.*')
|
||||||
|
|
||||||
|
assert_report({msg}) *assert_report()*
|
||||||
|
Report a test failure directly, using {msg}.
|
||||||
|
Always returns one.
|
||||||
|
|
||||||
|
assert_true({actual} [, {msg}]) *assert_true()*
|
||||||
|
When {actual} is not true an error message is added to
|
||||||
|
|v:errors|, like with |assert_equal()|.
|
||||||
|
Also see |assert-return|.
|
||||||
|
A value is TRUE when it is a non-zero number. When {actual}
|
||||||
|
is not a number the assert fails.
|
||||||
|
When {msg} is omitted an error in the form "Expected True but
|
||||||
|
got {actual}" is produced.
|
||||||
|
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
GetResult()->assert_true()
|
||||||
|
<
|
||||||
|
|
||||||
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Jan 08
|
*textprop.txt* For Vim version 8.1. Last change: 2019 Aug 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|
||||||
|
|
||||||
Displaying text with properties attached. *text-properties*
|
Displaying text with properties attached. *textprop* *text-properties*
|
||||||
|
|
||||||
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
|
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
|
||||||
|
|
||||||
@@ -12,7 +12,6 @@ What is not working yet:
|
|||||||
- Adjusting column/length when inserting text
|
- Adjusting column/length when inserting text
|
||||||
- Text properties spanning more than one line
|
- Text properties spanning more than one line
|
||||||
- prop_find()
|
- prop_find()
|
||||||
- callbacks when text properties are outdated
|
|
||||||
|
|
||||||
|
|
||||||
1. Introduction |text-prop-intro|
|
1. Introduction |text-prop-intro|
|
||||||
@@ -20,7 +19,6 @@ What is not working yet:
|
|||||||
3. When text changes |text-prop-changes|
|
3. When text changes |text-prop-changes|
|
||||||
|
|
||||||
|
|
||||||
{Vi does not have text properties}
|
|
||||||
{not able to use text properties when the |+textprop| feature was
|
{not able to use text properties when the |+textprop| feature was
|
||||||
disabled at compile time}
|
disabled at compile time}
|
||||||
|
|
||||||
@@ -57,6 +55,10 @@ Property Types ~
|
|||||||
A text property normally has the name of a property type, which defines
|
A text property normally has the name of a property type, which defines
|
||||||
how to highlight the text. The property type can have these entries:
|
how to highlight the text. The property type can have these entries:
|
||||||
"highlight" name of the highlight group to use
|
"highlight" name of the highlight group to use
|
||||||
|
"combine" when TRUE the text property highlighting is combined
|
||||||
|
with any syntax highlighting, when omitted or FALSE the
|
||||||
|
text property highlighting replaces the syntax
|
||||||
|
highlighting
|
||||||
"priority" when properties overlap, the one with the highest
|
"priority" when properties overlap, the one with the highest
|
||||||
priority will be used.
|
priority will be used.
|
||||||
"start_incl" when TRUE inserts at the start position will be
|
"start_incl" when TRUE inserts at the start position will be
|
||||||
@@ -114,6 +116,202 @@ prop_list({lnum} [, {props}) text properties in {lnum}
|
|||||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||||
remove a text property
|
remove a text property
|
||||||
|
|
||||||
|
*prop_add()* *E965*
|
||||||
|
prop_add({lnum}, {col}, {props})
|
||||||
|
Attach a text property at position {lnum}, {col}. {col} is
|
||||||
|
counted in bytes, use one for the first column.
|
||||||
|
If {lnum} is invalid an error is given. *E966*
|
||||||
|
If {col} is invalid an error is given. *E964*
|
||||||
|
|
||||||
|
{props} is a dictionary with these fields:
|
||||||
|
length length of text in bytes, can only be used
|
||||||
|
for a property that does not continue in
|
||||||
|
another line; can be zero
|
||||||
|
end_lnum line number for the end of text
|
||||||
|
end_col column just after the text; not used when
|
||||||
|
"length" is present; when {col} and "end_col"
|
||||||
|
are equal, and "end_lnum" is omitted or equal
|
||||||
|
to {lnum}, this is a zero-width text property
|
||||||
|
bufnr buffer to add the property to; when omitted
|
||||||
|
the current buffer is used
|
||||||
|
id user defined ID for the property; when omitted
|
||||||
|
zero is used
|
||||||
|
type name of the text property type
|
||||||
|
All fields except "type" are optional.
|
||||||
|
|
||||||
|
It is an error when both "length" and "end_lnum" or "end_col"
|
||||||
|
are given. Either use "length" or "end_col" for a property
|
||||||
|
within one line, or use "end_lnum" and "end_col" for a
|
||||||
|
property that spans more than one line.
|
||||||
|
When neither "length" nor "end_col" are given the property
|
||||||
|
will be zero-width. That means it will not be highlighted but
|
||||||
|
will move with the text, as a kind of mark.
|
||||||
|
The property can end exactly at the last character of the
|
||||||
|
text, or just after it. In the last case, if text is appended
|
||||||
|
to the line, the text property size will increase, also when
|
||||||
|
the property type does not have "end_incl" set.
|
||||||
|
|
||||||
|
"type" will first be looked up in the buffer the property is
|
||||||
|
added to. When not found, the global property types are used.
|
||||||
|
If not found an error is given.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
|
||||||
|
Remove all text properties from line {lnum}.
|
||||||
|
When {lnum-end} is given, remove all text properties from line
|
||||||
|
{lnum} to {lnum-end} (inclusive).
|
||||||
|
|
||||||
|
When {props} contains a "bufnr" item use this buffer,
|
||||||
|
otherwise use the current buffer.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
*prop_find()*
|
||||||
|
prop_find({props} [, {direction}])
|
||||||
|
NOT IMPLEMENTED YET
|
||||||
|
Search for a text property as specified with {props}:
|
||||||
|
id property with this ID
|
||||||
|
type property with this type name
|
||||||
|
bufnr buffer to search in; when present a
|
||||||
|
start position with "lnum" and "col"
|
||||||
|
must be given; when omitted the
|
||||||
|
current buffer is used
|
||||||
|
lnum start in this line (when omitted start
|
||||||
|
at the cursor)
|
||||||
|
col start at this column (when omitted
|
||||||
|
and "lnum" is given: use column 1,
|
||||||
|
otherwise start at the cursor)
|
||||||
|
skipstart do not look for a match at the start
|
||||||
|
position
|
||||||
|
|
||||||
|
{direction} can be "f" for forward and "b" for backward. When
|
||||||
|
omitted forward search is performed.
|
||||||
|
|
||||||
|
If a match is found then a Dict is returned with the entries
|
||||||
|
as with prop_list(), and additionally an "lnum" entry.
|
||||||
|
If no match is found then an empty Dict is returned.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_list({lnum} [, {props}]) *prop_list()*
|
||||||
|
Return a List with all text properties in line {lnum}.
|
||||||
|
|
||||||
|
When {props} contains a "bufnr" item, use this buffer instead
|
||||||
|
of the current buffer.
|
||||||
|
|
||||||
|
The properties are ordered by starting column and priority.
|
||||||
|
Each property is a Dict with these entries:
|
||||||
|
col starting column
|
||||||
|
length length in bytes, one more if line break is
|
||||||
|
included
|
||||||
|
id property ID
|
||||||
|
type name of the property type, omitted if
|
||||||
|
the type was deleted
|
||||||
|
start when TRUE property starts in this line
|
||||||
|
end when TRUE property ends in this line
|
||||||
|
|
||||||
|
When "start" is zero the property started in a previous line,
|
||||||
|
the current one is a continuation.
|
||||||
|
When "end" is zero the property continues in the next line.
|
||||||
|
The line break after this line is included.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
*prop_remove()* *E968*
|
||||||
|
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||||
|
Remove a matching text property from line {lnum}. When
|
||||||
|
{lnum-end} is given, remove matching text properties from line
|
||||||
|
{lnum} to {lnum-end} (inclusive).
|
||||||
|
When {lnum} is omitted remove matching text properties from
|
||||||
|
all lines.
|
||||||
|
|
||||||
|
{props} is a dictionary with these fields:
|
||||||
|
id remove text properties with this ID
|
||||||
|
type remove text properties with this type name
|
||||||
|
bufnr use this buffer instead of the current one
|
||||||
|
all when TRUE remove all matching text properties,
|
||||||
|
not just the first one
|
||||||
|
A property matches when either "id" or "type" matches.
|
||||||
|
If buffer "bufnr" does not exist you get an error message.
|
||||||
|
If buffer "bufnr" is not loaded then nothing happens.
|
||||||
|
|
||||||
|
Returns the number of properties that were removed.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
|
||||||
|
Add a text property type {name}. If a property type with this
|
||||||
|
name already exists an error is given.
|
||||||
|
{props} is a dictionary with these optional fields:
|
||||||
|
bufnr define the property only for this buffer; this
|
||||||
|
avoids name collisions and automatically
|
||||||
|
clears the property types when the buffer is
|
||||||
|
deleted.
|
||||||
|
highlight name of highlight group to use
|
||||||
|
priority when a character has multiple text
|
||||||
|
properties the one with the highest priority
|
||||||
|
will be used; negative values can be used, the
|
||||||
|
default priority is zero
|
||||||
|
combine when TRUE combine the highlight with any
|
||||||
|
syntax highlight; when omitted or FALSE syntax
|
||||||
|
highlight will not be used
|
||||||
|
start_incl when TRUE inserts at the start position will
|
||||||
|
be included in the text property
|
||||||
|
end_incl when TRUE inserts at the end position will be
|
||||||
|
included in the text property
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_type_change({name}, {props}) *prop_type_change()*
|
||||||
|
Change properties of an existing text property type. If a
|
||||||
|
property with this name does not exist an error is given.
|
||||||
|
The {props} argument is just like |prop_type_add()|.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_type_delete({name} [, {props}]) *prop_type_delete()*
|
||||||
|
Remove the text property type {name}. When text properties
|
||||||
|
using the type {name} are still in place, they will not have
|
||||||
|
an effect and can no longer be removed by name.
|
||||||
|
|
||||||
|
{props} can contain a "bufnr" item. When it is given, delete
|
||||||
|
a property type from this buffer instead of from the global
|
||||||
|
property types.
|
||||||
|
|
||||||
|
When text property type {name} is not found there is no error.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_type_get([{name} [, {props}]) *prop_type_get()*
|
||||||
|
Returns the properties of property type {name}. This is a
|
||||||
|
dictionary with the same fields as was given to
|
||||||
|
prop_type_add().
|
||||||
|
When the property type {name} does not exist, an empty
|
||||||
|
dictionary is returned.
|
||||||
|
|
||||||
|
{props} can contain a "bufnr" item. When it is given, use
|
||||||
|
this buffer instead of the global property types.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
|
prop_type_list([{props}]) *prop_type_list()*
|
||||||
|
Returns a list with all property type names.
|
||||||
|
|
||||||
|
{props} can contain a "bufnr" item. When it is given, use
|
||||||
|
this buffer instead of the global property types.
|
||||||
|
|
||||||
|
See |text-properties| for information about text properties.
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
3. When text changes *text-prop-changes*
|
3. When text changes *text-prop-changes*
|
||||||
|
|
||||||
@@ -124,15 +322,26 @@ will move accordingly.
|
|||||||
When text is deleted and a text property no longer includes any text, it is
|
When text is deleted and a text property no longer includes any text, it is
|
||||||
deleted. However, a text property that was defined as zero-width will remain,
|
deleted. However, a text property that was defined as zero-width will remain,
|
||||||
unless the whole line is deleted.
|
unless the whole line is deleted.
|
||||||
|
` *E275*
|
||||||
|
When a buffer is unloaded, all the text properties are gone. There is no way
|
||||||
|
to store the properties in a file. You can only re-create them. When a
|
||||||
|
buffer is hidden the text is preserved and so are the text properties. It is
|
||||||
|
not possible to add text properties to an unloaded buffer.
|
||||||
|
|
||||||
When using replace mode, the text properties stay on the same character
|
When using replace mode, the text properties stay on the same character
|
||||||
positions, even though the characters themselves change.
|
positions, even though the characters themselves change.
|
||||||
|
|
||||||
|
To update text properties after the text was changed, install a callback with
|
||||||
|
`listener_add()`. E.g, if your plugin does spell checking, you can have the
|
||||||
|
callback update spelling mistakes in the changed text. Vim will move the
|
||||||
|
properties below the changed text, so that they still highlight the same text,
|
||||||
|
thus you don't need to update these.
|
||||||
|
|
||||||
When text property columns are not updated ~
|
|
||||||
|
Text property columns are not updated: ~
|
||||||
|
|
||||||
- When setting the line with |setline()| or through an interface, such as Lua,
|
- When setting the line with |setline()| or through an interface, such as Lua,
|
||||||
Tcl or Python.
|
Tcl or Python. Vim does not know what text got inserted or deleted.
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.1. Last change: 2019 Mar 14
|
*todo.txt* For Vim version 8.1. Last change: 2019 Aug 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -38,15 +38,31 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
Patch to add Farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
|
Popup windows:
|
||||||
Added test, updates, June 23.
|
- check popupmenu using preview window #4544 overlaps complete menu
|
||||||
Updated for 7.4: http://litcave.rudi.ir/farsi_vim.diff
|
set completeopt+=preview
|
||||||
Remark from Ameretat Reith (2014 Oct 13) with patch on top.
|
- Implement flip option
|
||||||
Updated patch from Ameretat Reith, 2019 Mar 1.
|
- Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
|
||||||
|
- Why does 'nrformats' leak from the popup window buffer???
|
||||||
Timer test doesn't work on MS-Windows console, any way to make it work?
|
Happens in Test_simple_popup() at the second screendump.
|
||||||
|
- Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
|
||||||
Drop FEAT_TAG_ANYWHITE ? It should not be a compile time option.
|
Use ERROR_IF_POPUP_WINDOW for more commands.
|
||||||
|
- For the "moved" property also include mouse movement?
|
||||||
|
- Can the buffer be re-used if it was the last one, to avoid using up lots of
|
||||||
|
buffer numbers?
|
||||||
|
- Have an option to attach the popup to a text position, like text properties
|
||||||
|
do. (#4560)
|
||||||
|
- Make redrawing more efficient and avoid flicker:
|
||||||
|
- put popup menu also put in popup_mask?
|
||||||
|
- Invoke filter with character before mapping? #4759
|
||||||
|
- Figure out the size and position better.
|
||||||
|
if wrapping splits a double-wide character
|
||||||
|
if wrapping inserts indent
|
||||||
|
- When drawing on top half a double-wide character, display ">" or "<" in the
|
||||||
|
incomplete cell.
|
||||||
|
- Use a popup window for the "info" item of completion instead of using a
|
||||||
|
preview window. Ideas in issue #4544.
|
||||||
|
How to add highlighting?
|
||||||
|
|
||||||
'incsearch' with :s: (#3321)
|
'incsearch' with :s: (#3321)
|
||||||
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
||||||
@@ -82,6 +98,8 @@ Terminal debugger:
|
|||||||
with another Vim instance.
|
with another Vim instance.
|
||||||
|
|
||||||
Terminal emulator window:
|
Terminal emulator window:
|
||||||
|
- When typing "exit" in a terminal window with a shell and it's the only
|
||||||
|
window, should exit Vim instead of editing another buffer. (#4539)
|
||||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||||
And use modeless selection. #2962
|
And use modeless selection. #2962
|
||||||
@@ -114,32 +132,81 @@ Terminal emulator window:
|
|||||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||||
conversions.
|
conversions.
|
||||||
|
|
||||||
Support for popup widows:
|
Error numbers available:
|
||||||
- Use text properties to define highlighting.
|
E278, E279, E290, E292, E362, E366, E450, E451, E452,
|
||||||
- Proposal on issue #4063
|
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||||
|
E654, E856, E857, E860, E861, E863, E889, E900
|
||||||
|
|
||||||
|
undo result wrong: Masato Nishihata, #4798
|
||||||
|
|
||||||
|
Sound: support on Mac? Or does libcanberra work there?
|
||||||
|
|
||||||
|
Patch to add win_splitmove() function. (Andy Massimino, #4561)
|
||||||
|
|
||||||
|
Patch for #4733: #4734. Test needs improvements.
|
||||||
|
|
||||||
|
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
|
||||||
|
20)
|
||||||
|
Also put :argadd commands at the start for all buffers, so that their order
|
||||||
|
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||||
|
|
||||||
|
Make heredoc-let a bit more restrictive:
|
||||||
|
https://github.com/vim/vim/issues/4705
|
||||||
|
|
||||||
|
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 to use timers in matchparen. (Daniel Hahler, #1338)
|
||||||
|
Ready to include now?
|
||||||
|
|
||||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||||
(#4087)
|
(#4087)
|
||||||
|
|
||||||
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
|
Patch to support 'cursorlineopt' - only highlight the line number of the
|
||||||
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
|
cursor line: #4693
|
||||||
Nov 17) Asked about this, Dec 22. Christian will have a look.
|
|
||||||
|
Let plugins know how much space is available in the last line before
|
||||||
|
triggering the hit-enter prompt. Internally called "sc_col".
|
||||||
|
(Daniel Hahler, #4732)
|
||||||
|
|
||||||
|
Patch for Template string: #4491 Not ready yet. New pull: #4634
|
||||||
|
|
||||||
|
":bnext" in a help buffer is supposed to go to the next help buffer, but it
|
||||||
|
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||||
|
unlisted. (#4478)
|
||||||
|
|
||||||
|
Make 'showbreak' global-local.
|
||||||
|
|
||||||
|
The :syntax cchar value can only be a single character. It would be useful to
|
||||||
|
support combining characters. (Charles Campbell) Also #4687
|
||||||
|
|
||||||
|
Problem showing a line if the number column width changes when using "o".
|
||||||
|
(Mateusz Morusiewicz, #4245)
|
||||||
|
|
||||||
|
When using :packadd for a replacement language plugin, it is loaded after the
|
||||||
|
default one. #4698
|
||||||
|
|
||||||
|
When using :packadd files under "later" are not used, which is inconsistent
|
||||||
|
with packages under "start". (xtal8, #1994)
|
||||||
|
|
||||||
|
Modeless selection doesn't work in gvim. (#4783)
|
||||||
|
Caused by patch 8.1.1534.
|
||||||
|
|
||||||
|
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
|
||||||
|
fit. (Kevin Lawler, #4457)
|
||||||
|
|
||||||
Does not build with MinGW out of the box:
|
Does not build with MinGW out of the box:
|
||||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||||
- WINVER conflict, should use 0x0600 by default?
|
- WINVER conflict, should use 0x0600 by default?
|
||||||
|
|
||||||
Patch for 'listchars' when there is a composing character on a space.
|
|
||||||
How about when there is a double-width composing character on a space?
|
|
||||||
(Yasuhiro Matsumoto, #4046)
|
|
||||||
Test doesn't fail without patch?
|
|
||||||
|
|
||||||
Patch to add ruby cflags. (#4050, fixes #1081)
|
|
||||||
Needs modification.
|
|
||||||
|
|
||||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||||
13, #2910) Can't reproduce?
|
13, #2910) Can't reproduce?
|
||||||
|
|
||||||
|
Check_external_diff() is used too often. (Daniel Hahler, #4800)
|
||||||
|
|
||||||
Errors found with random data:
|
Errors found with random data:
|
||||||
heap-buffer-overflow in alist_add (#2472)
|
heap-buffer-overflow in alist_add (#2472)
|
||||||
|
|
||||||
@@ -150,49 +217,97 @@ Include part of #3242?
|
|||||||
When a terminal exit_cb closes the window, a following typed key is lost, if
|
When a terminal exit_cb closes the window, a following typed key is lost, if
|
||||||
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
||||||
|
|
||||||
Completion mixes results from the current buffer with tags and other files.
|
Patch for Inno Setup: #2739
|
||||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
|
||||||
terminal.c and then CTRL-N twice.
|
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||||
Should do current file first and not split it up when more results are found.
|
t:diffexpr_option t:diffopt_option? (#4782)
|
||||||
(Also #1890)
|
|
||||||
|
|
||||||
Internal diff doesn't handle binary file like external diff does. (Mike
|
Internal diff doesn't handle binary file like external diff does. (Mike
|
||||||
Williams, 2018 Oct 30)
|
Williams, 2018 Oct 30)
|
||||||
|
|
||||||
|
'[ mark in wrong column after put. (#4776)
|
||||||
|
|
||||||
|
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
|
||||||
|
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
|
||||||
|
|
||||||
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
||||||
|
|
||||||
|
The quoting of the [command] argument of :terminal is not clearly documented.
|
||||||
|
Give a few examples. (#4288)
|
||||||
|
|
||||||
|
Opening a file with --remote-tab-silent that matches 'wildignore' does not
|
||||||
|
work, results in (E479: No match". (#4610)
|
||||||
|
|
||||||
Bug: script written with "-W scriptout" contains Key codes, while the script
|
Bug: script written with "-W scriptout" contains Key codes, while the script
|
||||||
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
||||||
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
||||||
|
|
||||||
Patch to move insert-expand code to insexpand.c. (Yegappan Lakshmanan, #4044)
|
":registers" should indicate char/block/linewise. (Ayberk Aydin, #4546)
|
||||||
|
|
||||||
Patch for larger icons in installer. (#978) Still not good.
|
Patch for ambiguous width characters in libvterm on MS-Windows 10.
|
||||||
|
(Nobuhiro Takasaki, #4411)
|
||||||
|
|
||||||
Patch on issue #3964 to let sign column stop at the last buffer line.
|
Window size changes after closing a tab. (#4741)
|
||||||
(Christian Brabandt, 2019 Feb 24)
|
|
||||||
|
|
||||||
Patch to use wide font functions. (Ken Takata, 2019 Feb 18, #4000)
|
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
|
||||||
|
|
||||||
Patch on #4073, Andy Massimino. Is this a real problem?
|
Lifepillar: Updated/cleaned up color schemes:
|
||||||
|
https://github.com/lifepillar/vim8-colorschemes.
|
||||||
|
|
||||||
|
Include a few color schemes, based on popularity:
|
||||||
|
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||||
|
http://vimawesome.com/?q=tag:color-scheme
|
||||||
|
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||||
|
- monokai - Xia Crusoe (2017 Aug 4)
|
||||||
|
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||||
|
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||||
|
Lifepillar, 2018 Jan 22, #2573)
|
||||||
|
- janah - Marco Hinz (2017 Aug 4)
|
||||||
|
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||||
|
Suggested by Hiroki Kokubun:
|
||||||
|
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||||
|
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||||
|
Include solarized color scheme?, it does not support termguicolors.
|
||||||
|
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||||
|
|
||||||
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
|
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
|
||||||
Mar 5)
|
Mar 5)
|
||||||
|
|
||||||
Patch to add blob2str() and str2blob(). (Yasuhiro Matsumoto, #4049)
|
Many users don't like 'thesaurus' to match so many words. (#4667, #1611)
|
||||||
Make docs clearer. Is it symmetric?
|
- when the match with the first word is partial, don't add other words on that
|
||||||
|
line.
|
||||||
|
- support other file formats, such as comma separated. Indicate by a prefix
|
||||||
|
to the file in the 'thesaurus' option.
|
||||||
|
- 'threglookexp' option: only match with first word in thesaurus file.
|
||||||
|
(Jakson A. Aquino, 2006 Jun 14)
|
||||||
|
|
||||||
|
Some composing characters actually add a cell width to the character they are
|
||||||
|
on top off, making the whole thing two characters wide. (#4526)
|
||||||
|
|
||||||
|
Add CmdwinLeavePost (#4762). Also add WinLeavePost then?
|
||||||
|
|
||||||
|
Should we include some part of pull request #4505, not increment changedtick
|
||||||
|
in some cases? E.g. for ":write" when the changed flag was already off, the
|
||||||
|
buffer didn't change at all.
|
||||||
|
|
||||||
|
Patch to add getreginfo() and setreg() with an option to set the unnamed
|
||||||
|
register "", So that registers can be saved and fully restored.
|
||||||
|
(Andy Massimino, 2018 Aug 24, #3370)
|
||||||
|
|
||||||
|
Line numbers in profile are off when function was defined with ":execute".
|
||||||
|
(Daniel Hahler, #4511)
|
||||||
|
|
||||||
|
Add a way to create an empty, hidden buffer. Like doing ":new|hide".
|
||||||
|
":let buf = bufcreate('name')
|
||||||
|
|
||||||
|
Session file contains absolute paths when "curdir" is removed form
|
||||||
|
'sessionoptions', making it impossible to have a session with a relative path.
|
||||||
|
(#4450)
|
||||||
|
|
||||||
When using a timer callback vgetc_busy is reset, allowing for using input().
|
When using a timer callback vgetc_busy is reset, allowing for using input().
|
||||||
But in a channel callback this does not happen. We need to do something
|
But in a channel callback this does not happen. We need to do something
|
||||||
similar to check_due_timer(). Also see #3809.
|
similar to check_due_timer(). Also see #3809.
|
||||||
|
|
||||||
Using "5gj" starting inside a closed fold does not work on screen lines but on
|
|
||||||
text lines. (Julius Hulsmann, #4095)
|
|
||||||
|
|
||||||
Add "-once" to ":autocmd". Also add "-nested" as an alias for "nested".
|
|
||||||
(Justin M. Keyes, #4100) Syntax of -once may be strange. ++once and ++nested
|
|
||||||
is better?
|
|
||||||
|
|
||||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||||
(Michalis Giannakidis, 2006 Jun 1)
|
(Michalis Giannakidis, 2006 Jun 1)
|
||||||
|
|
||||||
@@ -202,7 +317,19 @@ Support setting the character displayed below the last line? Neovim uses
|
|||||||
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
|
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
|
||||||
added?
|
added?
|
||||||
|
|
||||||
Patch to remove some unneeded {}. (Hirohito Higashi, #3982)
|
Add test for urxvt mouse codes. Also test that mouse coordinates can be
|
||||||
|
negative. (see #4326)
|
||||||
|
|
||||||
|
'cmdheight' has a tab-local value, but it cannot be obtained with
|
||||||
|
`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
|
||||||
|
tab page. (Ingo Karkat, #4324)
|
||||||
|
:call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.
|
||||||
|
|
||||||
|
This modeline throws unexpected errors: (#4165)
|
||||||
|
vim: syn=nosyntax
|
||||||
|
|
||||||
|
":doau SomeEvent" gives "No matching autocommands". This message doesn't give
|
||||||
|
a hint about how to fix it. (#4300)
|
||||||
|
|
||||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||||
#2948. (related to #1512?)
|
#2948. (related to #1512?)
|
||||||
@@ -215,95 +342,67 @@ balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
|
|||||||
2018 Sep 14)
|
2018 Sep 14)
|
||||||
Another request: #3811.
|
Another request: #3811.
|
||||||
|
|
||||||
Patch for autoconf to add -fPIC for Fedora. (#4047)
|
|
||||||
|
|
||||||
Height of quickfix window is not retained with vertical splits. (Lifepillar,
|
|
||||||
2018 Aug 24, #2998)
|
|
||||||
Patch on the issue by Hongbo Liu, 2019 Feb 19 #4013
|
|
||||||
|
|
||||||
More warnings from static analysis:
|
More warnings from static analysis:
|
||||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||||
|
|
||||||
Still a E315 error when using terminal. (Masato Nishihata, #3959)
|
Still a E315 error when using terminal. (Masato Nishihata, #3959)
|
||||||
|
|
||||||
When using 'k' in 'guioptions' gvim may open with a tiny window. (#3808)
|
Not existing directory in CDPATH leads to two shell calls. (#4525)
|
||||||
Suggested patch on the issue.
|
|
||||||
|
Use dict_iterate_start() / dict_iterate_next() instead of relying on the
|
||||||
|
internals of the dict structure.
|
||||||
|
|
||||||
|
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||||
|
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||||
|
Athena is OK.
|
||||||
|
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||||
|
|
||||||
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
||||||
|
|
||||||
Patch to fix modify_fname() does not work well with some 'encoding's.
|
Missing tests for:
|
||||||
(Ken Takata, #4007)
|
- add_termcap_entry()
|
||||||
|
|
||||||
Patch to make vim_getenv() work with wide API. (Ken Takata, #4008)
|
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||||
|
change. How does the user know which change? At least have a way to list
|
||||||
How to make (async) complete function depending on completion type?
|
them: ":repeats". Add to history, like search history and command line history.
|
||||||
Patch on #4083 to do this with an autocommand. Probably want something else,
|
|
||||||
like 'ominfunc'.
|
|
||||||
|
|
||||||
Patch to add equal field to complete items. (#3887)
|
|
||||||
|
|
||||||
When using exclusive selection and vi" that fails, cursor moves to the left.
|
When using exclusive selection and vi" that fails, cursor moves to the left.
|
||||||
Cursor should not move. (#4024)
|
Cursor should not move. (#4024)
|
||||||
|
|
||||||
Patch to fix handling long line in tags file. #4051, #4084 (Andy Massimino)
|
|
||||||
|
|
||||||
Patch to fix that executable() may fail on very long filename in MS-Windows.
|
|
||||||
(Ken Takata, 2016 Feb 1, update 2018 Oct 7, update 2019 Feb 19)
|
|
||||||
Now in pull request #4015.
|
|
||||||
|
|
||||||
Patch to be able to separately map CTRL-H and BS on Windows.
|
|
||||||
(Linwei, 2017 Jul 11, #1833)
|
|
||||||
|
|
||||||
Patch to fix encoding of messages on MS-Windows. (Yasuhiro Matsumoto, 2019 Feb
|
|
||||||
13, #3914)
|
|
||||||
|
|
||||||
Patch to fix encoding conversion in messages. (#3969)
|
|
||||||
Check that this is fixed: (ichizok)
|
|
||||||
vim --clean -X -V1 -es -c 'echo "hello"' -c quit
|
|
||||||
|
|
||||||
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
|
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
|
||||||
Also run all tests with C locale?
|
Also run all tests with C locale?
|
||||||
|
|
||||||
Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29,
|
|
||||||
#3879)
|
|
||||||
|
|
||||||
"vat" doesn't work well on XML when the closing > is on another line.
|
"vat" doesn't work well on XML when the closing > is on another line.
|
||||||
#3927
|
#3927
|
||||||
|
|
||||||
Patch to include ARM64 support. (Leendert van Doorn, 2019 Feb 9)
|
|
||||||
|
|
||||||
Patch to fix hang when opening file where an intermediate directory is not
|
|
||||||
readable on MS-Windows. (link on #3923)
|
|
||||||
|
|
||||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||||
Related to bracketed paste. I cannot reproduce it.
|
Related to bracketed paste. I cannot reproduce it.
|
||||||
|
|
||||||
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
|
|
||||||
New update 2017 Apr 10, #1628
|
|
||||||
https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
|
|
||||||
Updated by Andy Massimino, 2018 Feb 7:
|
|
||||||
https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
|
|
||||||
Or should we make it asynchronous?
|
|
||||||
Patch by Andy Massimino: #4010 - needs a bit more work
|
|
||||||
|
|
||||||
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
|
When 'confirm' is set a "silent q" doesn't show the prompt. It should in this
|
||||||
case. (Nate Peterson, 2019 Jan 31, #3892)
|
case. (Nate Peterson, 2019 Jan 31, #3892)
|
||||||
For "silent! q" it should not prompt and just fail.
|
For "silent! q" it should not prompt and just fail.
|
||||||
|
|
||||||
Patch to add readdir(). (Yasuhiro Matsumoto, #2439)
|
Add <aevent>, which expands to the currently triggered autocommand event name.
|
||||||
|
(Daniel Hahler, #4232) Or add it to v:event (easier to use but slightly more
|
||||||
|
expensive).
|
||||||
|
|
||||||
Using CTRL-L to add a character to the search string doesn't work for the last
|
Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)
|
||||||
character in the file. (Smylers, 2018 Nov 17, #3620)
|
DCS 0 $ r Pt ST should be ignored.
|
||||||
Suggested patch by Hirohito Higashi, 2018 Nov 18.
|
DCS 0 + r/Pt/ ST already ignored?
|
||||||
|
|
||||||
Using CTRL-L to add a character to the search string that contains \v,
|
Using CTRL-L to add a character to the search string that contains \v,
|
||||||
punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
|
punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
|
||||||
|
|
||||||
Using CTRL-L during search only picks up the base character, not a combining
|
|
||||||
character. (Rick, 2018 Dec 11, #3682)
|
|
||||||
|
|
||||||
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
|
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
|
||||||
|
|
||||||
|
Patch to add more info to OptionSet. Should mention what triggered the change
|
||||||
|
":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
|
||||||
|
#4118. Proposed implementation: 2019 Mar 27.
|
||||||
|
Updated 2019 May 25.
|
||||||
|
|
||||||
|
Using single wide base character with double wide composing character gives
|
||||||
|
drawing errors. Fill up the base character? (Dominique, #4328)
|
||||||
|
|
||||||
Problem with two buffers with the same name a/b, if it didn't exist before and
|
Problem with two buffers with the same name a/b, if it didn't exist before and
|
||||||
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
|
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
|
||||||
|
|
||||||
@@ -315,14 +414,6 @@ Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
|
|||||||
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
|
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
|
||||||
(Sep 8)
|
(Sep 8)
|
||||||
|
|
||||||
Patch to add complete_info Shougo - #3866. Ready to include.
|
|
||||||
|
|
||||||
Patch to make winnr() return the window above/below/beside a window.
|
|
||||||
(Yegappan Lakshmanan, #3993)
|
|
||||||
|
|
||||||
Patch for ConPTY support, new one: #3794 Does this work now? It should.
|
|
||||||
(Nobuhiro Takasaki)
|
|
||||||
|
|
||||||
Add function to make use of internal diff, working on two lists and returning
|
Add function to make use of internal diff, working on two lists and returning
|
||||||
unified diff (list of lines).
|
unified diff (list of lines).
|
||||||
|
|
||||||
@@ -330,36 +421,14 @@ When splitting a window with few text lines, the relative cursor position is
|
|||||||
kept, which means part of the text isn't displayed. Better show all the text
|
kept, which means part of the text isn't displayed. Better show all the text
|
||||||
when possible. (Dylan Lloyd, #3973)
|
when possible. (Dylan Lloyd, #3973)
|
||||||
|
|
||||||
Tag stack is incorrect after CTRL-T and then :tag. (Andy Massimino, 2019 Feb
|
|
||||||
12, #3944) With Patch for a solution (Feb 23). Needs a test.
|
|
||||||
|
|
||||||
Patch to implement 'diffref' option. (#3535)
|
|
||||||
Easier to use a 'diffmaster' option, is the extra complexity needed?
|
|
||||||
|
|
||||||
Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
|
|
||||||
|
|
||||||
Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
|
||||||
(#3692)
|
(#3692)
|
||||||
|
|
||||||
cursorline highlighting not removed after yanking in Visual mode.
|
|
||||||
(Matéo Zanibelli, 2018 Oct 30, #3578)
|
|
||||||
Patch by Christian, Oct 30.
|
|
||||||
|
|
||||||
Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
|
|
||||||
|
|
||||||
Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
|
|
||||||
|
|
||||||
Patch to add environ(), gets a dict with all environment vars, and getenv(),
|
|
||||||
useful for environment vars that are not made of keyword chars.
|
|
||||||
(Yasuhiro Matsumoto, #2875)
|
|
||||||
|
|
||||||
Add buffer argument to undotree(). (#4001)
|
Add buffer argument to undotree(). (#4001)
|
||||||
|
|
||||||
Patch to add optional arguments with default values.
|
Using uninitialized value in test_gn
|
||||||
(Andy Massimino, #3952) under development
|
|
||||||
|
|
||||||
Memory leaks in test_channel? (or is it because of fork())
|
|
||||||
Using uninitialized value in test_crypt.
|
Using uninitialized value in test_crypt.
|
||||||
|
memory leak in test_paste
|
||||||
Memory leak in test_terminal:
|
Memory leak in test_terminal:
|
||||||
==23530== by 0x2640D7: alloc (misc2.c:874)
|
==23530== by 0x2640D7: alloc (misc2.c:874)
|
||||||
==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
|
==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
|
||||||
@@ -370,26 +439,22 @@ Memory leak in test_terminal:
|
|||||||
==23530== by 0x35C923: term_start (terminal.c:421)
|
==23530== by 0x35C923: term_start (terminal.c:421)
|
||||||
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
|
==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
|
||||||
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
|
==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
|
||||||
|
TODO: be able to run all parts of test_alot with valgrind separately
|
||||||
Memory leak in test_alot with pyeval() (allocating partial)
|
Memory leak in test_alot with pyeval() (allocating partial)
|
||||||
|
Memory leak in test_alot with expand()
|
||||||
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
|
|
||||||
gethostbyname() is old, use getaddrinfo() if available. (#3227)
|
gethostbyname() is old, use getaddrinfo() if available. (#3227)
|
||||||
|
|
||||||
Patch to add match count and current index "3/44" when using "n" command.
|
|
||||||
(Christian Brabandt, on issue #453). Only when search string was typed?
|
|
||||||
|
|
||||||
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
|
||||||
19.
|
19.
|
||||||
|
|
||||||
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
|
|
||||||
Does #2405 do this?
|
|
||||||
|
|
||||||
Patch to add an interrupt() function: sets got_int. Useful in an autocommand
|
|
||||||
such as BufWritePre that checks the file name or contents.
|
|
||||||
|
|
||||||
Should make 'listchars' global-local. Local to window or to buffer?
|
Should make 'listchars' global-local. Local to window or to buffer?
|
||||||
Probably window.
|
Probably window.
|
||||||
Add something like 'fillchars' local to window, but allow for specifying a
|
Add something like 'fillchars' local to window, but allow for specifying a
|
||||||
highlight name. Esp. for the statusline.
|
highlight name. Esp. for the statusline.
|
||||||
|
And "extends" and "precedes" are also useful without 'list' set. Also in
|
||||||
|
'fillchars' or another option?
|
||||||
|
|
||||||
Sourceforge Vim pages still have content, redirect from empty page.
|
Sourceforge Vim pages still have content, redirect from empty page.
|
||||||
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
|
Check for PHP errors. (Wayne Davison, 2018 Oct 26)
|
||||||
@@ -398,8 +463,21 @@ Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
|
|||||||
Use something like ":tag {kind}/{tagname}".
|
Use something like ":tag {kind}/{tagname}".
|
||||||
Not ready to include.
|
Not ready to include.
|
||||||
|
|
||||||
:pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
|
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
|
||||||
#3536)
|
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
|
||||||
|
Nov 17) Asked about this, Dec 22. Christian will have a look.
|
||||||
|
|
||||||
|
Patch for larger icons in installer. (#978) Still not good.
|
||||||
|
|
||||||
|
Patch to fix that using "5gj" starting inside a closed fold does not work on
|
||||||
|
screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
|
||||||
|
|
||||||
|
Patch to implement 'diffref' option. (#3535)
|
||||||
|
Easier to use a 'diffmaster' option, is the extra complexity needed?
|
||||||
|
Not ready to include.
|
||||||
|
|
||||||
|
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
|
||||||
|
Patch #2405 does something like this, but in the wrong way.
|
||||||
|
|
||||||
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
|
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
|
||||||
|
|
||||||
@@ -417,9 +495,6 @@ Feedback from someone who uses this?
|
|||||||
|
|
||||||
ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
|
ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
|
||||||
|
|
||||||
Patch to use forward slash for completion even when 'shellslash' is set.
|
|
||||||
Adds 'completepathslash'. (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
|
|
||||||
|
|
||||||
Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25)
|
Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25)
|
||||||
Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo
|
Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo
|
||||||
values.
|
values.
|
||||||
@@ -445,18 +520,19 @@ includes the first screen line. (2018 Aug 23, #3368)
|
|||||||
Refactored HTML indent file. (Michael Lee, #1821)
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
Ask to write a test first.
|
Ask to write a test first.
|
||||||
|
|
||||||
Patch to add getregpoint() and setreg() with an option to set "".
|
|
||||||
(Andy Massimino, 2018 Aug 24, #3370)
|
|
||||||
Better name?
|
|
||||||
|
|
||||||
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
|
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
|
||||||
(lkintact, 2018 Sep 22, #3473)
|
(lkintact, 2018 Sep 22, #3473)
|
||||||
|
|
||||||
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||||
|
|
||||||
|
Request to add sign_setlist() to make it faster to add a lot of signs, e.g.
|
||||||
|
when adding a sign for every quickfix entry. (#4557)
|
||||||
|
|
||||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||||
mappings no longer work. Create a new terminal for the better solution?
|
mappings no longer work. Create a new terminal for the better solution?
|
||||||
|
|
||||||
|
Patch to "fix" 'visualbell'. Add option to set delay? (#1789)
|
||||||
|
|
||||||
Script generated by :mksession does not work well if there are windows with
|
Script generated by :mksession does not work well if there are windows with
|
||||||
modified buffers
|
modified buffers
|
||||||
change "silent only" into "silent only!"
|
change "silent only" into "silent only!"
|
||||||
@@ -495,6 +571,11 @@ Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
|||||||
Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
|
Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
|
||||||
Nov 22).
|
Nov 22).
|
||||||
|
|
||||||
|
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||||
|
|
||||||
|
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
|
||||||
|
24)
|
||||||
|
|
||||||
Try out background make plugin:
|
Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
or asyncmake:
|
or asyncmake:
|
||||||
@@ -554,9 +635,6 @@ With 'foldmethod' "indent" and appending an empty line, what follows isn't
|
|||||||
included in the existing fold. Deleting the empty line and undo fixes it.
|
included in the existing fold. Deleting the empty line and undo fixes it.
|
||||||
(Oleg Koshovetc, 2018 Jul 15, #3214)
|
(Oleg Koshovetc, 2018 Jul 15, #3214)
|
||||||
|
|
||||||
When using :packadd files under "later" are not used, which is inconsistent
|
|
||||||
with packages under "start". (xtal8, #1994)
|
|
||||||
|
|
||||||
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
|
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
|
||||||
Lacks a test.
|
Lacks a test.
|
||||||
|
|
||||||
@@ -735,27 +813,11 @@ behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
|||||||
|
|
||||||
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
|
'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.
|
The ++ options for the :edit command are also useful on the Vim command line.
|
||||||
|
|
||||||
When recovering a file, put the swap file name in b:recovered_swapfile. Then
|
When recovering a file, put the swap file name in b:recovered_swapfile. Then
|
||||||
a command can delete it.
|
a command can delete it.
|
||||||
|
|
||||||
When a swap file exists, is not for a running process, is from the same
|
|
||||||
machine and recovering results in the same text, we could silently delete it.
|
|
||||||
#1237
|
|
||||||
|
|
||||||
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||||
#2089) Patch with possible solution by Björn Linse.
|
#2089) Patch with possible solution by Björn Linse.
|
||||||
|
|
||||||
@@ -770,22 +832,6 @@ Seems to happen when the selection is requested the second time, but before
|
|||||||
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
||||||
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
||||||
|
|
||||||
Include a few color schemes, based on popularity:
|
|
||||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
|
||||||
http://vimawesome.com/?q=tag:color-scheme
|
|
||||||
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
|
||||||
- monokai - Xia Crusoe (2017 Aug 4)
|
|
||||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
|
||||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
|
||||||
Lifepillar, 2018 Jan 22, #2573)
|
|
||||||
- janah - Marco Hinz (2017 Aug 4)
|
|
||||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
|
||||||
Suggested by Hiroki Kokubun:
|
|
||||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
|
||||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
|
||||||
Include solarized color scheme?, it does not support termguicolors.
|
|
||||||
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
|
||||||
|
|
||||||
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
||||||
|
|
||||||
Creating a partial with an autoload function is confused about the "self"
|
Creating a partial with an autoload function is confused about the "self"
|
||||||
@@ -840,9 +886,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
|||||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||||
8, #1690)
|
8, #1690)
|
||||||
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
|
||||||
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)
|
||||||
|
|
||||||
@@ -1062,6 +1105,8 @@ Regexp problems:
|
|||||||
time is spent in addstate_here() copying the threads. Instead of copying,
|
time is spent in addstate_here() copying the threads. Instead of copying,
|
||||||
let each thread point to the next one (by offset, the list is reallocated).
|
let each thread point to the next one (by offset, the list is reallocated).
|
||||||
(Dominique Pelle, 2019 Feb 18)
|
(Dominique Pelle, 2019 Feb 18)
|
||||||
|
- Old engine: using 'incsearch' /\Zabc does not highlight the "c" if it has a
|
||||||
|
composing character. New engine is OK. (Tony Mechelynck, 2019 May 5)
|
||||||
- When search pattern has the base character both with and without combining
|
- When search pattern has the base character both with and without combining
|
||||||
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
||||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||||
@@ -1501,10 +1546,6 @@ Patch for building a 32bit Vim with 64bit MingW compiler.
|
|||||||
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||||
(Ingo Karkat, 2015 Jan 16)
|
(Ingo Karkat, 2015 Jan 16)
|
||||||
|
|
||||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
|
||||||
change. How does the user know which change? At least have a way to list
|
|
||||||
them: ":repeats".
|
|
||||||
|
|
||||||
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)
|
Patch for glob(), adding slash to normal files. (Ingo Karkat, 2014 Dec 22)
|
||||||
|
|
||||||
When entering and leaving the preview window autocommands are triggered, but
|
When entering and leaving the preview window autocommands are triggered, but
|
||||||
@@ -1791,11 +1832,6 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
|
|||||||
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
|
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
|
||||||
Do give the prompt? Quit with an error?
|
Do give the prompt? Quit with an error?
|
||||||
|
|
||||||
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
|
||||||
|
|
||||||
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
|
|
||||||
24)
|
|
||||||
|
|
||||||
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
|
||||||
|
|
||||||
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
|
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
|
||||||
@@ -1854,9 +1890,6 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
|||||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||||
21, Ben Fritz, 2010 Sep 14)
|
21, Ben Fritz, 2010 Sep 14)
|
||||||
|
|
||||||
The :syntax cchar value can only be a single character. It would be useful to
|
|
||||||
support combining characters. (Charles Campbell)
|
|
||||||
|
|
||||||
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
'cursorline' works on a text line only. Add 'cursorscreenline' for
|
||||||
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
|
||||||
|
|
||||||
@@ -2229,8 +2262,6 @@ for GTK, how about others? (Ron Aaron, 2010 Apr 10)
|
|||||||
|
|
||||||
Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
|
Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
|
||||||
|
|
||||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
|
||||||
|
|
||||||
":tab split fname" doesn't set the alternate file in the original window,
|
":tab split fname" doesn't set the alternate file in the original window,
|
||||||
because win_valid() always returns FALSE. Below win_new_tabpage() in
|
because win_valid() always returns FALSE. Below win_new_tabpage() in
|
||||||
ex_docmd.c.
|
ex_docmd.c.
|
||||||
@@ -3000,8 +3031,6 @@ More patches:
|
|||||||
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
|
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
|
||||||
- Extra argument to strtrans() to translate special keys to their name (Eric
|
- Extra argument to strtrans() to translate special keys to their name (Eric
|
||||||
Arnold, 2006 May 22)
|
Arnold, 2006 May 22)
|
||||||
- 'threglookexp' option: only match with first word in thesaurus file.
|
|
||||||
(Jakson A. Aquino, 2006 Jun 14)
|
|
||||||
- Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
|
- Mac: indicate whether a buffer was modified. (Nicolas Weber, 2006 Jun 30)
|
||||||
- Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
|
- Allow negative 'nrwidth' for left aligning. (Nathan Laredo, 2006 Aug 16)
|
||||||
- ml_append_string(): efficiently append to an existing line. (Brad
|
- ml_append_string(): efficiently append to an existing line. (Brad
|
||||||
@@ -3103,6 +3132,10 @@ Awaiting updated patches:
|
|||||||
and GTK by degreneir (nov 10 and nov 18).
|
and GTK by degreneir (nov 10 and nov 18).
|
||||||
- Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
|
- Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
|
||||||
|
|
||||||
|
Better 'rightleft' or BIDI support:
|
||||||
|
- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
|
||||||
|
By Ali Gholami Rudi, also worked on arabic.c
|
||||||
|
|
||||||
Quickfix/Location List:
|
Quickfix/Location List:
|
||||||
- Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
- Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
|
||||||
#2999)
|
#2999)
|
||||||
@@ -3948,8 +3981,6 @@ Tab pages:
|
|||||||
8 Add local options for each tab page? E.g., 'diffopt' could differ between
|
8 Add local options for each tab page? E.g., 'diffopt' could differ between
|
||||||
tab pages.
|
tab pages.
|
||||||
7 Add local highlighting for each tab page?
|
7 Add local highlighting for each tab page?
|
||||||
7 Add local directory for tab pages? How would this interfere with
|
|
||||||
window-local directories?
|
|
||||||
|
|
||||||
|
|
||||||
Spell checking:
|
Spell checking:
|
||||||
@@ -4053,7 +4084,8 @@ Folding:
|
|||||||
secondary: zB zS zT zZ, z=)
|
secondary: zB zS zT zZ, z=)
|
||||||
8 Vertical folds: looks like vertically split windows, but the cursor moves
|
8 Vertical folds: looks like vertically split windows, but the cursor moves
|
||||||
through the vertical separator, separator moves when scrolling.
|
through the vertical separator, separator moves when scrolling.
|
||||||
8 Add "z/" and "z?" for searching in not folded text only.
|
8 Add "z/" and "z?" for searching in not folded text only. Or use a regexp
|
||||||
|
item, so that it can be used in any pattern.
|
||||||
8 When a closed fold is displayed open because of 'foldminlines', the
|
8 When a closed fold is displayed open because of 'foldminlines', the
|
||||||
behavior of commands is still like the fold is closed. How to make the
|
behavior of commands is still like the fold is closed. How to make the
|
||||||
user aware of this?
|
user aware of this?
|
||||||
@@ -4343,8 +4375,6 @@ Vim script language:
|
|||||||
to avoid a performance penalty (esp. for string options)?
|
to avoid a performance penalty (esp. for string options)?
|
||||||
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
|
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
|
||||||
":let &t_xx =". Useful for making portable mappings.
|
":let &t_xx =". Useful for making portable mappings.
|
||||||
- Add ":let var ?= value", conditional assignment. Patch by Dave Eggum,
|
|
||||||
2006 Dec 11.
|
|
||||||
- range for ":exec", pass it on to the executed command. (Webb)
|
- range for ":exec", pass it on to the executed command. (Webb)
|
||||||
8 ":{range}source": source the lines from the current file.
|
8 ":{range}source": source the lines from the current file.
|
||||||
You can already yank lines and use :@" to execute them.
|
You can already yank lines and use :@" to execute them.
|
||||||
@@ -6044,7 +6074,7 @@ Various improvements:
|
|||||||
used, remove the <CR> at the end of lines in [range].
|
used, remove the <CR> at the end of lines in [range].
|
||||||
A CTRL-Z at the end of the file is removed. If
|
A CTRL-Z at the end of the file is removed. If
|
||||||
[range] is omitted, or it is the whole file, and all
|
[range] is omitted, or it is the whole file, and all
|
||||||
lines end in <CR> 'textmode' is set. {not in Vi}
|
lines end in <CR> 'textmode' is set.
|
||||||
- Should integrate addstar() and file_pat_to_reg_pat().
|
- Should integrate addstar() and file_pat_to_reg_pat().
|
||||||
- When working over a serial line with 7 bit characters, remove meta
|
- When working over a serial line with 7 bit characters, remove meta
|
||||||
characters from 'isprint'.
|
characters from 'isprint'.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*undo.txt* For Vim version 8.1. Last change: 2019 Jan 04
|
*undo.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -19,26 +19,24 @@ The basics are explained in section |02.5| of the user manual.
|
|||||||
1. Undo and redo commands *undo-commands*
|
1. Undo and redo commands *undo-commands*
|
||||||
|
|
||||||
<Undo> or *undo* *<Undo>* *u*
|
<Undo> or *undo* *<Undo>* *u*
|
||||||
u Undo [count] changes. {Vi: only one level}
|
u Undo [count] changes.
|
||||||
|
|
||||||
*:u* *:un* *:undo*
|
*:u* *:un* *:undo*
|
||||||
:u[ndo] Undo one change. {Vi: only one level}
|
:u[ndo] Undo one change.
|
||||||
*E830*
|
*E830*
|
||||||
:u[ndo] {N} Jump to after change number {N}. See |undo-branches|
|
:u[ndo] {N} Jump to after change number {N}. See |undo-branches|
|
||||||
for the meaning of {N}. {not in Vi}
|
for the meaning of {N}.
|
||||||
|
|
||||||
*CTRL-R*
|
*CTRL-R*
|
||||||
CTRL-R Redo [count] changes which were undone. {Vi: redraw
|
CTRL-R Redo [count] changes which were undone.
|
||||||
screen}
|
|
||||||
|
|
||||||
*:red* *:redo* *redo*
|
*:red* *:redo* *redo*
|
||||||
:red[o] Redo one change which was undone. {Vi: no redo}
|
:red[o] Redo one change which was undone.
|
||||||
|
|
||||||
*U*
|
*U*
|
||||||
U Undo all latest changes on one line, the line where
|
U Undo all latest changes on one line, the line where
|
||||||
the latest change was made. |U| itself also counts as
|
the latest change was made. |U| itself also counts as
|
||||||
a change, and thus |U| undoes a previous |U|.
|
a change, and thus |U| undoes a previous |U|.
|
||||||
{Vi: while not moved off of the last modified line}
|
|
||||||
|
|
||||||
The last changes are remembered. You can use the undo and redo commands above
|
The last changes are remembered. You can use the undo and redo commands above
|
||||||
to revert the text to how it was before each change. You can also apply the
|
to revert the text to how it was before each change. You can also apply the
|
||||||
@@ -95,7 +93,6 @@ change but joins in with the previous change use this command:
|
|||||||
Warning: Use with care, it may prevent the user from
|
Warning: Use with care, it may prevent the user from
|
||||||
properly undoing changes. Don't use this after undo
|
properly undoing changes. Don't use this after undo
|
||||||
or redo.
|
or redo.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
This is most useful when you need to prompt the user halfway through a change.
|
This is most useful when you need to prompt the user halfway through a change.
|
||||||
For example in a function that calls |getchar()|. Do make sure that there was
|
For example in a function that calls |getchar()|. Do make sure that there was
|
||||||
@@ -151,7 +148,7 @@ This is explained in the user manual: |usr_32.txt|.
|
|||||||
|
|
||||||
*g-*
|
*g-*
|
||||||
g- Go to older text state. With a count repeat that many
|
g- Go to older text state. With a count repeat that many
|
||||||
times. {not in Vi}
|
times.
|
||||||
*:ea* *:earlier*
|
*:ea* *:earlier*
|
||||||
:earlier {count} Go to older text state {count} times.
|
:earlier {count} Go to older text state {count} times.
|
||||||
:earlier {N}s Go to older text state about {N} seconds before.
|
:earlier {N}s Go to older text state about {N} seconds before.
|
||||||
@@ -170,7 +167,7 @@ g- Go to older text state. With a count repeat that many
|
|||||||
|
|
||||||
*g+*
|
*g+*
|
||||||
g+ Go to newer text state. With a count repeat that many
|
g+ Go to newer text state. With a count repeat that many
|
||||||
times. {not in Vi}
|
times.
|
||||||
*:lat* *:later*
|
*:lat* *:later*
|
||||||
:later {count} Go to newer text state {count} times.
|
:later {count} Go to newer text state {count} times.
|
||||||
:later {N}s Go to newer text state about {N} seconds later.
|
:later {N}s Go to newer text state about {N} seconds later.
|
||||||
@@ -280,10 +277,8 @@ respectively:
|
|||||||
the existing file and then creating a new file with the same
|
the existing file and then creating a new file with the same
|
||||||
name. So it is not possible to overwrite an existing undofile
|
name. So it is not possible to overwrite an existing undofile
|
||||||
in a write-protected directory.
|
in a write-protected directory.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
:rundo {file} Read undo history from {file}.
|
:rundo {file} Read undo history from {file}.
|
||||||
{not in Vi}
|
|
||||||
|
|
||||||
You can use these in autocommands to explicitly specify the name of the
|
You can use these in autocommands to explicitly specify the name of the
|
||||||
history file. E.g.: >
|
history file. E.g.: >
|
||||||
@@ -374,10 +369,10 @@ information you can use these commands: >
|
|||||||
:unlet old_undolevels
|
:unlet old_undolevels
|
||||||
|
|
||||||
Marks for the buffer ('a to 'z) are also saved and restored, together with the
|
Marks for the buffer ('a to 'z) are also saved and restored, together with the
|
||||||
text. {Vi does this a little bit different}
|
text.
|
||||||
|
|
||||||
When all changes have been undone, the buffer is not considered to be changed.
|
When all changes have been undone, the buffer is not considered to be changed.
|
||||||
It is then possible to exit Vim with ":q" instead of ":q!" {not in Vi}. Note
|
It is then possible to exit Vim with ":q" instead of ":q!". Note
|
||||||
that this is relative to the last write of the file. Typing "u" after ":w"
|
that this is relative to the last write of the file. Typing "u" after ":w"
|
||||||
actually changes the buffer, compared to what was written, so the buffer is
|
actually changes the buffer, compared to what was written, so the buffer is
|
||||||
considered changed then.
|
considered changed then.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_05.txt* For Vim version 8.1. Last change: 2019 Feb 27
|
*usr_05.txt* For Vim version 8.1. Last change: 2019 May 23
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -234,7 +234,7 @@ remote connection, increase the number. See 'ttimeout'.
|
|||||||
set display=truncate
|
set display=truncate
|
||||||
|
|
||||||
Show @@@ in the last line if it is truncated, instead of hiding the whole
|
Show @@@ in the last line if it is truncated, instead of hiding the whole
|
||||||
like. See 'display'.
|
line. See 'display'.
|
||||||
|
|
||||||
>
|
>
|
||||||
set incsearch
|
set incsearch
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_06.txt* For Vim version 8.1. Last change: 2009 Oct 28
|
*usr_06.txt* For Vim version 8.1. Last change: 2019 Jun 01
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -196,13 +196,12 @@ too slow, you might want to disable syntax highlighting for a moment: >
|
|||||||
|
|
||||||
When editing another file (or the same one) the colors will come back.
|
When editing another file (or the same one) the colors will come back.
|
||||||
|
|
||||||
*:syn-off*
|
|
||||||
If you want to stop highlighting completely use: >
|
If you want to stop highlighting completely use: >
|
||||||
|
|
||||||
:syntax off
|
:syntax off
|
||||||
|
|
||||||
This will completely disable syntax highlighting and remove it immediately for
|
This will completely disable syntax highlighting and remove it immediately for
|
||||||
all buffers.
|
all buffers. See |:syntax-off| for more details.
|
||||||
|
|
||||||
*:syn-manual*
|
*:syn-manual*
|
||||||
If you want syntax highlighting only for specific files, use this: >
|
If you want syntax highlighting only for specific files, use this: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_11.txt* For Vim version 8.1. Last change: 2019 Feb 04
|
*usr_11.txt* For Vim version 8.1. Last change: 2019 Apr 28
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -205,6 +205,13 @@ something wrong. It may be one of these two situations.
|
|||||||
NEWER than swap file! ~
|
NEWER than swap file! ~
|
||||||
|
|
||||||
|
|
||||||
|
NOTE that in the following situation Vim knows the swap file is not useful and
|
||||||
|
will automatically delete it:
|
||||||
|
- The file is a valid swap file (Magic number is correct).
|
||||||
|
- The flag that the file was modified is not set.
|
||||||
|
- The process is not running.
|
||||||
|
|
||||||
|
|
||||||
UNREADABLE SWAP FILE
|
UNREADABLE SWAP FILE
|
||||||
|
|
||||||
Sometimes the line
|
Sometimes the line
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user