mirror of
https://github.com/zoriya/vim.git
synced 2025-12-06 15:26:18 +00:00
Compare commits
515 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b2ed680ba7 | ||
|
|
7db25fed5d | ||
|
|
52ecaaa63d | ||
|
|
dd1d7be4e6 | ||
|
|
73dd1bd54e | ||
|
|
54c6bafa16 | ||
|
|
ee62f9fa74 | ||
|
|
2bc799579d | ||
|
|
cd8fb449d6 | ||
|
|
8c3169c58e | ||
|
|
3f1a53c434 | ||
|
|
b0f42ba60d | ||
|
|
ff3be4fe1e | ||
|
|
0cb8ac71ae | ||
|
|
a10ae5e323 | ||
|
|
38623c8512 | ||
|
|
7a2b0e55e9 | ||
|
|
72cf47a279 | ||
|
|
56bc8e299c | ||
|
|
b946482190 | ||
|
|
9289df5ca9 | ||
|
|
69e056915c | ||
|
|
39de952577 | ||
|
|
18cebf4417 | ||
|
|
655a82a8d3 | ||
|
|
9b50f36e40 | ||
|
|
402c83921e | ||
|
|
f25329cb94 | ||
|
|
778df2a3cb | ||
|
|
85eee130f4 | ||
|
|
7ce551f317 | ||
|
|
5aa9896b2e | ||
|
|
6eddadff13 | ||
|
|
231a2db1b3 | ||
|
|
b0b98d5230 | ||
|
|
b833c1ef7b | ||
|
|
248be5c5de | ||
|
|
c3e81694fc | ||
|
|
9894e394b2 | ||
|
|
c136af29c0 | ||
|
|
606cb8b08e | ||
|
|
dddab90d22 | ||
|
|
e2c8d83926 | ||
|
|
b2ac14c0b5 | ||
|
|
8a938af6dd | ||
|
|
bc7845da93 | ||
|
|
c5cd88554f | ||
|
|
d76ce85266 | ||
|
|
a796d46f29 | ||
|
|
15142e27aa | ||
|
|
77bfd756a0 | ||
|
|
35e802e713 | ||
|
|
b07bbb0d29 | ||
|
|
60a68362aa | ||
|
|
0e9d1ae321 | ||
|
|
850d427f07 | ||
|
|
13d3b05ed2 | ||
|
|
c36651b4b9 | ||
|
|
29ce409bfc | ||
|
|
50182fa84e | ||
|
|
65a5464985 | ||
|
|
9b25af3620 | ||
|
|
451fc7b954 | ||
|
|
9d34d90210 | ||
|
|
c3c3e69896 | ||
|
|
db0eedec16 | ||
|
|
856905bd83 | ||
|
|
46a53dfc29 | ||
|
|
b255b90503 | ||
|
|
4e9d443a25 | ||
|
|
4994373c5d | ||
|
|
09d1d51df5 | ||
|
|
24a2d7264f | ||
|
|
b691de05f6 | ||
|
|
73658317ba | ||
|
|
f1f2f837bc | ||
|
|
2225ebb486 | ||
|
|
1c17ffa461 | ||
|
|
a2aa8a2b22 | ||
|
|
4e601e3c82 | ||
|
|
3b9474b4ad | ||
|
|
6537c421bb | ||
|
|
a4baf5b325 | ||
|
|
ebe74b7367 | ||
|
|
a69b39511d | ||
|
|
2060892028 | ||
|
|
9980b37a80 | ||
|
|
6d150f783d | ||
|
|
e1fc51558d | ||
|
|
259a90f7ce | ||
|
|
405dadb63e | ||
|
|
7dda86f2ff | ||
|
|
6176697203 | ||
|
|
5d69da462f | ||
|
|
02e802b2da | ||
|
|
226400830b | ||
|
|
285e335869 | ||
|
|
f98a39ca57 | ||
|
|
bad0ce7b26 | ||
|
|
a997b45c7e | ||
|
|
e87edf3b85 | ||
|
|
561f8a5a46 | ||
|
|
ea3ece405a | ||
|
|
1feab2b9cc | ||
|
|
353eeeaca2 | ||
|
|
df2c774ded | ||
|
|
32c67ba733 | ||
|
|
06965b838f | ||
|
|
f3a411783c | ||
|
|
498c2562e1 | ||
|
|
a7eef3d87f | ||
|
|
802bfb1463 | ||
|
|
e1a32310d5 | ||
|
|
6c672194cd | ||
|
|
3cba73423e | ||
|
|
ac3e830065 | ||
|
|
8c94a54905 | ||
|
|
6e72cd0d72 | ||
|
|
b3623a382a | ||
|
|
8c041b6b95 | ||
|
|
a42d363bac | ||
|
|
2a43230ce3 | ||
|
|
2e324950b8 | ||
|
|
78a16b0f2a | ||
|
|
98da6ecab9 | ||
|
|
b59118d501 | ||
|
|
5bab555c2f | ||
|
|
b8e22a053b | ||
|
|
527dec3f94 | ||
|
|
ee5b94a8ec | ||
|
|
cccd62d435 | ||
|
|
56f9955044 | ||
|
|
9ce4213b03 | ||
|
|
1ed00330bc | ||
|
|
769e9d21ac | ||
|
|
d60e0a1d20 | ||
|
|
6995c0a7a9 | ||
|
|
b377457e69 | ||
|
|
1acdb3f301 | ||
|
|
3a21d9c7bb | ||
|
|
164268d4cf | ||
|
|
8dd1761e69 | ||
|
|
29f9ed20b4 | ||
|
|
6f4700233f | ||
|
|
d6b4f2dd76 | ||
|
|
d088240b96 | ||
|
|
f59c6e8cee | ||
|
|
07b46af645 | ||
|
|
0424958bde | ||
|
|
8c87a2b1fe | ||
|
|
e80757c154 | ||
|
|
756ef113d1 | ||
|
|
672afb9f66 | ||
|
|
e333e79f9b | ||
|
|
ea39176baa | ||
|
|
4ac2e8d8e6 | ||
|
|
8200829141 | ||
|
|
77557a7ae6 | ||
|
|
4791015e6f | ||
|
|
72532d354e | ||
|
|
22efba47de | ||
|
|
b6ed74fef8 | ||
|
|
e1bb879f49 | ||
|
|
c4b533e1e9 | ||
|
|
3680bab7e7 | ||
|
|
51ad4eaa22 | ||
|
|
d5359b24ce | ||
|
|
9a993e3c09 | ||
|
|
3aa67fb453 | ||
|
|
86676c949f | ||
|
|
4a69634b1b | ||
|
|
878c96d5b9 | ||
|
|
333b80acf3 | ||
|
|
1f8495cf48 | ||
|
|
79cf7c0d45 | ||
|
|
9af9778209 | ||
|
|
8b31a6ff7a | ||
|
|
25a6e8a769 | ||
|
|
f3ba14ffd3 | ||
|
|
ab943431d8 | ||
|
|
7b24ce08fe | ||
|
|
1834d37396 | ||
|
|
f06b0b6c8f | ||
|
|
0751f51a5b | ||
|
|
0c72fe4ed8 | ||
|
|
cd43effeca | ||
|
|
1b2f61e732 | ||
|
|
2a77d21f78 | ||
|
|
4368d5ce8a | ||
|
|
086eb87695 | ||
|
|
cf67a509e9 | ||
|
|
2de50f8762 | ||
|
|
15a1c3fdc1 | ||
|
|
8fbaeb195d | ||
|
|
65873846e0 | ||
|
|
b5b49a3b43 | ||
|
|
e7499ddc33 | ||
|
|
897e63c4c0 | ||
|
|
45d2a64f96 | ||
|
|
16d7eced1a | ||
|
|
75b0a888e4 | ||
|
|
8c64a36e40 | ||
|
|
47015b80a0 | ||
|
|
948a796bfe | ||
|
|
295ac5ab5e | ||
|
|
62b7f6a139 | ||
|
|
0bd052ba12 | ||
|
|
7735dafb58 | ||
|
|
b571c63d48 | ||
|
|
29dfa5af3c | ||
|
|
5a3a49ed59 | ||
|
|
3e8d385347 | ||
|
|
6ed86ad170 | ||
|
|
6185903e3d | ||
|
|
e26e0d2b83 | ||
|
|
81c3c89a28 | ||
|
|
ecadf4377f | ||
|
|
42f652f733 | ||
|
|
f05fa37822 | ||
|
|
52acb110ac | ||
|
|
98ef233e14 | ||
|
|
9ef2a30e6f | ||
|
|
a2150ac016 | ||
|
|
1dd98334d6 | ||
|
|
af23bad0fd | ||
|
|
4ac31eeff0 | ||
|
|
135682517b | ||
|
|
43cb626214 | ||
|
|
62dd452d02 | ||
|
|
228de1dfd2 | ||
|
|
012eb66293 | ||
|
|
a903472cfa | ||
|
|
f118d4847e | ||
|
|
625f0c1eb7 | ||
|
|
ff1e879577 | ||
|
|
f708ac592f | ||
|
|
3e4b84d0b5 | ||
|
|
c48369c3fc | ||
|
|
e87303af32 | ||
|
|
b852c3e64d | ||
|
|
12a96de430 | ||
|
|
435acdb88c | ||
|
|
25cdd9c33b | ||
|
|
b5b7562475 | ||
|
|
4d8bac8bf5 | ||
|
|
20586cb4f4 | ||
|
|
1a84024037 | ||
|
|
d7db27bafd | ||
|
|
52f18a112a | ||
|
|
3324d0a864 | ||
|
|
201dc67db5 | ||
|
|
ebf142a1ed | ||
|
|
f536bf6d45 | ||
|
|
fc6f16b57c | ||
|
|
157d813be4 | ||
|
|
3b3a9a5609 | ||
|
|
946acdac5b | ||
|
|
df0d24b627 | ||
|
|
69f5a3011d | ||
|
|
e780848150 | ||
|
|
16896a1019 | ||
|
|
63e82db6fc | ||
|
|
987723e084 | ||
|
|
89894aa671 | ||
|
|
362dc33835 | ||
|
|
40d77b0ec1 | ||
|
|
29a2c08d79 | ||
|
|
28ada699c1 | ||
|
|
24fe475894 | ||
|
|
6e35a11490 | ||
|
|
8a3bb56230 | ||
|
|
107279c17b | ||
|
|
f2bd8ef2b4 | ||
|
|
3f54fd319f | ||
|
|
71137fed4d | ||
|
|
069dafc1de | ||
|
|
3767b61ad9 | ||
|
|
658a154cbf | ||
|
|
aef8c3da2b | ||
|
|
c71807db9c | ||
|
|
590ec878a5 | ||
|
|
77780b66f4 | ||
|
|
0726870326 | ||
|
|
5f73ef8d20 | ||
|
|
8195247054 | ||
|
|
988615f26f | ||
|
|
792f0e3659 | ||
|
|
5d7ead3bc8 | ||
|
|
3ad8772ef0 | ||
|
|
75542ec9f6 | ||
|
|
9c474b2773 | ||
|
|
c8bcfe7efd | ||
|
|
8226ac6b59 | ||
|
|
22f1d0e35e | ||
|
|
d4fc577e60 | ||
|
|
33ef5bb0e4 | ||
|
|
9271d058c9 | ||
|
|
36f923014a | ||
|
|
2b10bcbfc1 | ||
|
|
6bb2cdfe60 | ||
|
|
bb008dd323 | ||
|
|
085346f5a1 | ||
|
|
791010e648 | ||
|
|
6acadda8d6 | ||
|
|
b7ea7cb8e4 | ||
|
|
674e482d13 | ||
|
|
cc0f2be880 | ||
|
|
cafafb381a | ||
|
|
19eb6658ec | ||
|
|
3049418f3d | ||
|
|
81226e0310 | ||
|
|
3cc9f7440d | ||
|
|
da65058a9c | ||
|
|
7a76092a51 | ||
|
|
9c8816bd30 | ||
|
|
d96ff16511 | ||
|
|
4287ed33dd | ||
|
|
73cddfd559 | ||
|
|
181ca99e16 | ||
|
|
341a64c9ca | ||
|
|
2be5733152 | ||
|
|
bc197195b0 | ||
|
|
b3292fa2d3 | ||
|
|
ab5e7c3deb | ||
|
|
07ad816525 | ||
|
|
4867974137 | ||
|
|
e4db7aedab | ||
|
|
3198870137 | ||
|
|
b48e96f61c | ||
|
|
294959528e | ||
|
|
5a656864a0 | ||
|
|
bfbea567d8 | ||
|
|
c19e1d1ba5 | ||
|
|
c6f9f739d3 | ||
|
|
c33ecb2915 | ||
|
|
cdd09aa51a | ||
|
|
71a43c0137 | ||
|
|
a0221df149 | ||
|
|
0549a1e184 | ||
|
|
4b7e7bed6c | ||
|
|
a7e18d237f | ||
|
|
4f50588ba3 | ||
|
|
d23a823669 | ||
|
|
42443c7d7f | ||
|
|
5a09343719 | ||
|
|
9b56a57cda | ||
|
|
b301f6b950 | ||
|
|
a8f04aa275 | ||
|
|
2993ac5fce | ||
|
|
7254067ee9 | ||
|
|
5459129af2 | ||
|
|
0d20737732 | ||
|
|
8846ac5aed | ||
|
|
82846a00ac | ||
|
|
9e33efd152 | ||
|
|
a15ef4588c | ||
|
|
9d32276b52 | ||
|
|
02ae9b4a93 | ||
|
|
1567558b20 | ||
|
|
0562532c2e | ||
|
|
bc0e9adae9 | ||
|
|
dff72ba445 | ||
|
|
d317b38a4d | ||
|
|
acda04f5c6 | ||
|
|
f12519dec8 | ||
|
|
dd08b6a32b | ||
|
|
511ffdd65d | ||
|
|
5d4247402b | ||
|
|
28944fecff | ||
|
|
2c7b906afb | ||
|
|
2374faae11 | ||
|
|
191f18bad0 | ||
|
|
fef4ddd5eb | ||
|
|
06b77ef69f | ||
|
|
4bc0bed536 | ||
|
|
8a37b03289 | ||
|
|
ec48a9c589 | ||
|
|
f4aba797cb | ||
|
|
15833239a4 | ||
|
|
b5cb65ba2b | ||
|
|
b7407d3fc9 | ||
|
|
ddb349369d | ||
|
|
8fd2ffc530 | ||
|
|
8dce6c54c8 | ||
|
|
4bfa8af141 | ||
|
|
42b23fad1d | ||
|
|
218101442e | ||
|
|
d4a282f7a5 | ||
|
|
94073167e3 | ||
|
|
1dd45fb4f3 | ||
|
|
a338adcf22 | ||
|
|
37badc898b | ||
|
|
cada78975e | ||
|
|
6f361c9912 | ||
|
|
153b704e20 | ||
|
|
ec0557f08b | ||
|
|
059fd01021 | ||
|
|
a172b63ab8 | ||
|
|
ce46d934af | ||
|
|
b50773c6df | ||
|
|
1274d33493 | ||
|
|
0479e910c4 | ||
|
|
d6d304298a | ||
|
|
40962ec9c0 | ||
|
|
84b242c369 | ||
|
|
501383236d | ||
|
|
d7823d5b7c | ||
|
|
95dbcbea6d | ||
|
|
2ec364e94d | ||
|
|
0cbcd949e1 | ||
|
|
4aad53c369 | ||
|
|
ede35bbbd0 | ||
|
|
200ea8ffaa | ||
|
|
de04654ddc | ||
|
|
9e3dfc6501 | ||
|
|
2095148277 | ||
|
|
df980db69b | ||
|
|
a47ebdbd22 | ||
|
|
fabaf753e2 | ||
|
|
45a0000d5c | ||
|
|
e6640ad44e | ||
|
|
3c09722600 | ||
|
|
b73fa629d6 | ||
|
|
ae6f865125 | ||
|
|
1bd999f982 | ||
|
|
8ada6aa929 | ||
|
|
4ce46c2a6b | ||
|
|
14a4deb064 | ||
|
|
aaf6e43b7a | ||
|
|
1223744849 | ||
|
|
2efb323e87 | ||
|
|
338e47fdfd | ||
|
|
132f75255e | ||
|
|
a0ca7d002d | ||
|
|
4af031dbc8 | ||
|
|
b254af312d | ||
|
|
c9e649ae81 | ||
|
|
606d45ccd8 | ||
|
|
4fb921e388 | ||
|
|
9bca805ec4 | ||
|
|
cb89c98c26 | ||
|
|
f0b03c4e98 | ||
|
|
8ee2d36e21 | ||
|
|
ee219b0e9f | ||
|
|
9e1d399e63 | ||
|
|
890dd05492 | ||
|
|
a1d5c154db | ||
|
|
200d0e36bc | ||
|
|
7e1652c63c | ||
|
|
6621605eb9 | ||
|
|
8b42328cef | ||
|
|
b29d328eb4 | ||
|
|
4697399e8c | ||
|
|
7f88b65f6c | ||
|
|
a6d4849c71 | ||
|
|
fae8ed1fc8 | ||
|
|
a703aaee4d | ||
|
|
8e6a31df81 | ||
|
|
59eb016dff | ||
|
|
74240d3feb | ||
|
|
35c5e8155d | ||
|
|
f405c8fe85 | ||
|
|
620ca2da37 | ||
|
|
05684310a5 | ||
|
|
e4b78e2a42 | ||
|
|
3388d33457 | ||
|
|
6e65d594aa | ||
|
|
23c1b2b018 | ||
|
|
415a6939a4 | ||
|
|
5fe6bdf858 | ||
|
|
3767c6e9ee | ||
|
|
ac112f01a6 | ||
|
|
feeb4d0901 | ||
|
|
1eca6f13d6 | ||
|
|
92467d3351 | ||
|
|
ce6179c799 | ||
|
|
461fe50fea | ||
|
|
1ad022a9b8 | ||
|
|
24820691e6 | ||
|
|
22044dc317 | ||
|
|
af903e5d49 | ||
|
|
a7c54cfcf8 | ||
|
|
97ce419201 | ||
|
|
76bb7196f5 | ||
|
|
2f0584910c | ||
|
|
46359e198f | ||
|
|
8b9e20afb0 | ||
|
|
1a2ab991a6 | ||
|
|
c5aa55db7e | ||
|
|
a45ff6caba | ||
|
|
3660a10c73 | ||
|
|
1ed2276fd5 | ||
|
|
f38c86eb6b | ||
|
|
bdb8139098 | ||
|
|
1355aad2b9 | ||
|
|
17471e84a7 | ||
|
|
c8c75796a6 | ||
|
|
e0aa23f7e3 | ||
|
|
a3571ebef5 | ||
|
|
c41838aa01 | ||
|
|
2877d334ad | ||
|
|
d7ccc4d81d | ||
|
|
fb1db0e355 | ||
|
|
be5d998d0e | ||
|
|
281c93e714 | ||
|
|
83799a7b74 | ||
|
|
819edbe078 | ||
|
|
50d43153a7 | ||
|
|
6315a9ae92 | ||
|
|
291a9d15ed | ||
|
|
3167c3e701 | ||
|
|
2c997d7603 | ||
|
|
93a32e2ec4 | ||
|
|
3679c17917 | ||
|
|
a2a80162de |
4
.lgtm.yml
Normal file
4
.lgtm.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
# Format of this file: https://lgtm.com/help/lgtm/lgtm.yml-configuration-file
|
||||
path_classifiers:
|
||||
documentation:
|
||||
- runtime/tutor/tutor*
|
||||
@@ -108,7 +108,7 @@ script:
|
||||
- if [ -n "$err" ]; then exit 1; fi
|
||||
|
||||
after_success:
|
||||
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||
- if [ "$COVERAGE" = "yes" ]; then cd $SRCDIR && bash <(curl -s https://codecov.io/bash) ; fi
|
||||
- if [ "$COVERAGE" = "yes" ]; then ~/.local/bin/coveralls -b ${SRCDIR} -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||
- if [ "$COVERAGE" = "yes" ]; then cd ${SRCDIR} && bash <(curl -s https://codecov.io/bash) ; fi
|
||||
|
||||
# vim:set sts=2 sw=2 tw=0 et:
|
||||
|
||||
8
Filelist
8
Filelist
@@ -4,6 +4,7 @@
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
.travis.yml \
|
||||
appveyor.yml \
|
||||
src/appveyor.bat \
|
||||
@@ -110,6 +111,7 @@ SRC_ALL = \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/screendump.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/setup.vim \
|
||||
src/testdir/gui_init.vim \
|
||||
@@ -119,7 +121,6 @@ SRC_ALL = \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
@@ -135,10 +136,11 @@ SRC_ALL = \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/bench*.in \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/xterm_ramp.vim \
|
||||
src/testdir/color_ramp.vim \
|
||||
src/proto.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/beval.pro \
|
||||
@@ -585,6 +587,7 @@ RT_ALL = \
|
||||
runtime/doc/*.txt \
|
||||
runtime/doc/Makefile \
|
||||
runtime/doc/doctags.c \
|
||||
runtime/doc/test_urls.vim \
|
||||
runtime/doc/vim.1 \
|
||||
runtime/doc/evim.1 \
|
||||
runtime/doc/vimdiff.1 \
|
||||
@@ -666,6 +669,7 @@ RT_SCRIPTS = \
|
||||
runtime/autoload/xml/*.vim \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/colors/tools/*.vim \
|
||||
runtime/compiler/*.vim \
|
||||
runtime/compiler/README.txt \
|
||||
runtime/indent/*.vim \
|
||||
|
||||
@@ -16,6 +16,7 @@ matrix:
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||
|
||||
build_script:
|
||||
- src/appveyor.bat
|
||||
|
||||
@@ -89,6 +89,11 @@ Page instfiles
|
||||
UninstPage uninstConfirm
|
||||
UninstPage instfiles
|
||||
|
||||
# Reserve files
|
||||
# Needed for showing the _vimrc setting page faster.
|
||||
ReserveFile /plugin InstallOptions.dll
|
||||
ReserveFile vimrc.ini
|
||||
|
||||
##########################################################
|
||||
# Functions
|
||||
|
||||
@@ -262,6 +267,9 @@ Section "Vim executables and runtime files"
|
||||
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
|
||||
File ${VIMRT}\plugin\*.*
|
||||
|
||||
@@ -475,14 +483,12 @@ Function SetCustom
|
||||
# Display the InstallOptions dialog
|
||||
|
||||
# Check if a _vimrc should be created
|
||||
SectionGetFlags ${sec_vimrc_id} $0
|
||||
IntOp $0 $0 & 1
|
||||
StrCmp $0 "1" +2 0
|
||||
SectionGetFlags ${sec_vimrc_id} $3
|
||||
IntOp $3 $3 & 1
|
||||
StrCmp $3 "1" +2 0
|
||||
Abort
|
||||
|
||||
Push $3
|
||||
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||
Pop $3
|
||||
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||
Pop $3
|
||||
FunctionEnd
|
||||
|
||||
|
||||
8
runtime/autoload/dist/ft.vim
vendored
8
runtime/autoload/dist/ft.vim
vendored
@@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 11
|
||||
" Last Change: 2017 Dec 05
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@@ -618,7 +618,11 @@ func dist#ft#FTperl()
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
if search('^use\s\s*\k', 'nc', 30)
|
||||
let save_cursor = getpos('.')
|
||||
call cursor(1,1)
|
||||
let has_use = search('^use\s\s*\k', 'c', 30)
|
||||
call setpos('.', save_cursor)
|
||||
if has_use
|
||||
setf perl
|
||||
return 1
|
||||
endif
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Nov 09, 2016
|
||||
" Date: Dec 30, 2014
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 16
|
||||
" Version: 15
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v16"
|
||||
let g:loaded_netrwSettings = "v15"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -154,13 +154,9 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||
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_localmkdiropt = '.g:netrw_localmkdiropt
|
||||
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_localrmdiropt = '.g:netrw_localrmdiropt
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
|
||||
112
runtime/autoload/xmlformat.vim
Normal file
112
runtime/autoload/xmlformat.vim
Normal file
@@ -0,0 +1,112 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: Thu, 15 Jan 2015 21:26:55 +0100
|
||||
" Version: 0.1
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Script: http://www.vim.org/scripts/script.php?script_id=
|
||||
" License: VIM License
|
||||
" GetLatestVimScripts: ???? 18 :AutoInstall: xmlformat.vim
|
||||
" Documentation: see :h xmlformat.txt (TODO!)
|
||||
" ---------------------------------------------------------------------
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_xmlformat") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_xmlformat = 1
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Main function: Format the input {{{1
|
||||
func! xmlformat#Format()
|
||||
" only allow reformatting through the gq command
|
||||
" (e.g. Vim is in normal mode)
|
||||
if mode() != 'n'
|
||||
" do not fall back to internal formatting
|
||||
return 0
|
||||
endif
|
||||
let sw = shiftwidth()
|
||||
let prev = prevnonblank(v:lnum-1)
|
||||
let s:indent = indent(prev)/sw
|
||||
let result = []
|
||||
let lastitem = prev ? getline(prev) : ''
|
||||
let is_xml_decl = 0
|
||||
" split on `<`, but don't split on very first opening <
|
||||
for item in split(getline(v:lnum), '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<'
|
||||
let t=split(item, '.<\@=\zs')
|
||||
let s:indent+=1
|
||||
call add(result, s:Indent(t[0]))
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(t[1]))
|
||||
else
|
||||
call add(result, s:Indent(item))
|
||||
endif
|
||||
endif
|
||||
let lastitem = item
|
||||
endfor
|
||||
|
||||
if !empty(result)
|
||||
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
|
||||
call append(v:lnum - 1, result)
|
||||
" Might need to remove the last line, if it became empty because of the
|
||||
" append() call
|
||||
let last = v:lnum + len(result)
|
||||
if getline(last) is ''
|
||||
exe last. 'd'
|
||||
endif
|
||||
endif
|
||||
|
||||
" do not run internal formatter!
|
||||
return 0
|
||||
endfunc
|
||||
" Check if given tag is XML Declaration header {{{1
|
||||
func! s:IsXMLDecl(tag)
|
||||
return a:tag =~? '^\s*<?xml\s\?\%(version="[^"]*"\)\?\s\?\%(encoding="[^"]*"\)\? ?>\s*$'
|
||||
endfunc
|
||||
" Return tag indented by current level {{{1
|
||||
func! s:Indent(item)
|
||||
return repeat(' ', shiftwidth()*s:indent). s:Trim(a:item)
|
||||
endfu
|
||||
" Return item trimmed from leading whitespace {{{1
|
||||
func! s:Trim(item)
|
||||
if exists('*trim')
|
||||
return trim(a:item)
|
||||
else
|
||||
return matchstr(a:item, '\S\+.*')
|
||||
endif
|
||||
endfunc
|
||||
" Check if tag is a new opening tag <tag> {{{1
|
||||
func! s:StartTag(tag)
|
||||
return a:tag =~? '^\s*<[^/?]'
|
||||
endfunc
|
||||
" Remove one level of indentation {{{1
|
||||
func! s:DecreaseIndent()
|
||||
return (s:indent > 0 ? s:indent - 1 : 0)
|
||||
endfunc
|
||||
" Check if tag is a closing tag </tag> {{{1
|
||||
func! s:EndTag(tag)
|
||||
return a:tag =~? '^\s*</'
|
||||
endfunc
|
||||
" Check that the tag is actually a tag and not {{{1
|
||||
" something like "foobar</foobar>"
|
||||
func! s:IsTag(tag)
|
||||
return s:Trim(a:tag)[0] == '<'
|
||||
endfunc
|
||||
" Check if tag is empty <tag/> {{{1
|
||||
func! s:EmptyTag(tag)
|
||||
return a:tag =~ '/>\s*$'
|
||||
endfunc
|
||||
" Restoration And Modelines: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" Modeline {{{1
|
||||
" vim: fdm=marker fdl=0 ts=2 et sw=0 sts=-1
|
||||
@@ -42,7 +42,16 @@ this autocmd might be useful:
|
||||
Replace "blue_sky" with the name of the colorscheme.
|
||||
|
||||
In case you want to tweak a colorscheme after it was loaded, check out the
|
||||
ColorScheme autocmd event.
|
||||
ColorScheme autocommand event.
|
||||
|
||||
To clean up just before loading another colorscheme, use the ColorSchemePre
|
||||
autocommand event. For example:
|
||||
let g:term_ansi_colors = ...
|
||||
augroup MyColorscheme
|
||||
au!
|
||||
au ColorSchemePre * unlet g:term_ansi_colors
|
||||
au ColorSchemePre * au! MyColorscheme
|
||||
augroup END
|
||||
|
||||
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
|
||||
and use `:runtime` to load the original colorscheme:
|
||||
@@ -64,6 +73,8 @@ Search for "highlight_init".
|
||||
If you think you have a color scheme that is good enough to be used by others,
|
||||
please check the following items:
|
||||
|
||||
- Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
|
||||
common mistakes.
|
||||
- Does it work in a color terminal as well as in the GUI?
|
||||
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
|
||||
it this way:
|
||||
|
||||
136
runtime/colors/tools/check_colors.vim
Normal file
136
runtime/colors/tools/check_colors.vim
Normal file
@@ -0,0 +1,136 @@
|
||||
" This script tests a color scheme for some errors. Load the scheme and source
|
||||
" this script. e.g. :e colors/desert.vim | :so test_colors.vim
|
||||
" Will output possible errors.
|
||||
|
||||
let s:save_cpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
func! Test_check_colors()
|
||||
call cursor(1,1)
|
||||
let err={}
|
||||
|
||||
" 1) Check g:colors_name is existing
|
||||
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
||||
let err['colors_name'] = 'g:colors_name not set'
|
||||
else
|
||||
let err['colors_name'] = 'OK'
|
||||
endif
|
||||
|
||||
" 2) Check for some well-defined highlighting groups
|
||||
" Some items, check several groups, e.g. Diff, Spell
|
||||
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
|
||||
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
|
||||
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
|
||||
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
|
||||
let groups={}
|
||||
for group in hi_groups
|
||||
if search('\c@suppress\s\+'.group, 'cnW')
|
||||
" skip check, if the script contains a line like
|
||||
" @suppress Visual:
|
||||
let groups[group] = 'Ignoring '.group
|
||||
continue
|
||||
endif
|
||||
if !search('hi\%[ghlight] \+'.group, 'cnW')
|
||||
let groups[group] = 'No highlight definition for '.group
|
||||
continue
|
||||
endif
|
||||
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
|
||||
let groups[group] = 'Missing foreground color for '.group
|
||||
continue
|
||||
endif
|
||||
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
|
||||
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
|
||||
let groups[group] = 'Missing bg terminal color for '.group
|
||||
continue
|
||||
endif
|
||||
call search('hi\%[ghlight] \+'.group, 'cW')
|
||||
" only check in the current line
|
||||
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
|
||||
" do not check for background colors, they could be intentionally left out
|
||||
let groups[group] = 'Missing fg definition for '.group
|
||||
endif
|
||||
call cursor(1,1)
|
||||
endfor
|
||||
let err['highlight'] = groups
|
||||
|
||||
" 3) Check, that it does not set background highlighting
|
||||
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
|
||||
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
|
||||
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
|
||||
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
|
||||
let line=search(bg_pat, 'cnW')
|
||||
if search(bg_pat, 'cnW')
|
||||
exe line
|
||||
if search('hi \U\w\+\s\+\S', 'cbnW')
|
||||
let err['background'] = 'Should not set background option after :hi statement'
|
||||
endif
|
||||
else
|
||||
let err['background'] = 'OK'
|
||||
endif
|
||||
call cursor(1,1)
|
||||
|
||||
" 4) Check, that t_Co is checked
|
||||
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
|
||||
if !search(pat, 'ncW')
|
||||
let err['t_Co'] = 'Does not check terminal for capable colors'
|
||||
endif
|
||||
|
||||
" 5) Initializes correctly, e.g. should have a section like
|
||||
" hi clear
|
||||
" if exists("syntax_on")
|
||||
" syntax reset
|
||||
" endif
|
||||
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
|
||||
if !search(pat, 'cnW')
|
||||
let err['init'] = 'No initialization'
|
||||
endif
|
||||
|
||||
" 6) Does not use :syn on
|
||||
if search('syn\%[tax]\s\+on', 'cnW')
|
||||
let err['background'] = 'Should not issue :syn on'
|
||||
endif
|
||||
|
||||
" 7) Does not define filetype specfic groups like vimCommand, htmlTag,
|
||||
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
|
||||
for group in hi_groups
|
||||
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
|
||||
if search(pat, 'cnW')
|
||||
let line = search(pat, 'cW')
|
||||
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
|
||||
endif
|
||||
call cursor(1,1)
|
||||
endfor
|
||||
let g:err = err
|
||||
|
||||
" print Result
|
||||
call Result(err)
|
||||
endfu
|
||||
|
||||
fu! Result(err)
|
||||
let do_roups = 0
|
||||
echohl Title|echomsg "---------------"|echohl Normal
|
||||
for key in sort(keys(a:err))
|
||||
if key is# 'highlight'
|
||||
let do_groups = 1
|
||||
continue
|
||||
else
|
||||
if a:err[key] !~ 'OK'
|
||||
echohl Title
|
||||
endif
|
||||
echomsg printf("%15s: %s", key, a:err[key])
|
||||
echohl Normal
|
||||
endif
|
||||
endfor
|
||||
echohl Title|echomsg "---------------"|echohl Normal
|
||||
if do_groups
|
||||
echohl Title | echomsg "Groups" | echohl Normal
|
||||
for v1 in sort(keys(a:err['highlight']))
|
||||
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
|
||||
endfor
|
||||
endif
|
||||
endfu
|
||||
|
||||
call Test_check_colors()
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
@@ -375,6 +375,10 @@ tags.ref tags.html: tags
|
||||
perlhtml: tags $(DOCS)
|
||||
./vim2html.pl tags $(DOCS)
|
||||
|
||||
# Check URLs in the help with "curl".
|
||||
test_urls:
|
||||
vim -S test_urls.vim
|
||||
|
||||
clean:
|
||||
-rm doctags *.html tags.ref
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Nov 05
|
||||
*autocmd.txt* For Vim version 8.0. Last change: 2018 May 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,7 +21,6 @@ For a basic explanation, see section |40.3| in the user manual.
|
||||
11. Disabling autocommands |autocmd-disable|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
{only when the |+autocmd| feature has not been disabled at compile time}
|
||||
|
||||
==============================================================================
|
||||
1. Introduction *autocmd-intro*
|
||||
@@ -33,7 +32,7 @@ files matching *.c. You can also use autocommands to implement advanced
|
||||
features, such as editing compressed files (see |gzip-example|). The usual
|
||||
place to put autocommands is in your .vimrc or .exrc file.
|
||||
|
||||
*E203* *E204* *E143* *E855* *E937*
|
||||
*E203* *E204* *E143* *E855* *E937* *E952*
|
||||
WARNING: Using autocommands is very powerful, and may lead to unexpected side
|
||||
effects. Be careful not to destroy your text.
|
||||
- It's a good idea to do some testing on an expendable copy of a file first.
|
||||
@@ -57,6 +56,8 @@ effects. Be careful not to destroy your text.
|
||||
Add {cmd} to the list of commands that Vim will
|
||||
execute automatically on {event} for a file matching
|
||||
{pat} |autocmd-patterns|.
|
||||
Note: A quote character is seen as argument to the
|
||||
:autocmd and won't start a comment.
|
||||
Vim always adds the {cmd} after existing autocommands,
|
||||
so that the autocommands execute in the order in which
|
||||
they were given. See |autocmd-nested| for [nested].
|
||||
@@ -92,7 +93,8 @@ will appear twice. To avoid this, define your autocommands in a group, so
|
||||
that you can easily clear them: >
|
||||
|
||||
augroup vimrc
|
||||
autocmd! " Remove all vimrc autocommands
|
||||
" Remove all vimrc autocommands
|
||||
autocmd!
|
||||
au BufNewFile,BufRead *.html so <sfile>:h/html.vim
|
||||
augroup END
|
||||
|
||||
@@ -146,6 +148,8 @@ prompt. When one command outputs two messages this can happen anyway.
|
||||
plugins, syntax highlighting, etc.
|
||||
|
||||
:au[tocmd]! [group] Remove ALL autocommands.
|
||||
Note: a quote will be seen as argument to the :autocmd
|
||||
and won't start a comment.
|
||||
Warning: You should normally not do this without a
|
||||
group, it breaks plugins, syntax highlighting, etc.
|
||||
|
||||
@@ -258,6 +262,7 @@ Name triggered by ~
|
||||
|BufCreate| just after adding a buffer to the buffer list
|
||||
|BufDelete| before deleting a buffer from the buffer list
|
||||
|BufWipeout| before completely deleting a buffer
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|
||||
|BufFilePre| before changing the name of the current buffer
|
||||
|BufFilePost| after changing the name of the current buffer
|
||||
@@ -286,7 +291,8 @@ Name triggered by ~
|
||||
|GUIFailed| after starting the GUI failed
|
||||
|TermResponse| after the terminal response to |t_RV| is received
|
||||
|
||||
|QuitPre| when using `:quit`, before deciding whether to quit
|
||||
|QuitPre| when using `:quit`, before deciding whether to exit
|
||||
|ExitPre| when using a command that may make Vim exit
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
@@ -295,6 +301,8 @@ Name triggered by ~
|
||||
|FileChangedShellPost| After handling a file changed since editing started
|
||||
|FileChangedRO| before making the first change to a read-only file
|
||||
|
||||
|DirChanged| after the working directory has changed
|
||||
|
||||
|ShellCmdPost| after executing a shell command
|
||||
|ShellFilterPost| after filtering with a shell command
|
||||
|
||||
@@ -322,6 +330,10 @@ Name triggered by ~
|
||||
|CmdwinEnter| after entering the command-line window
|
||||
|CmdwinLeave| before leaving the command-line window
|
||||
|
||||
|CmdlineChanged| after a change was made to the command-line text
|
||||
|CmdlineEnter| after the cursor moves to the command line
|
||||
|CmdlineLeave| before the cursor leaves the command line
|
||||
|
||||
|InsertEnter| starting Insert mode
|
||||
|InsertChange| when typing <Insert> while in Insert or Replace mode
|
||||
|InsertLeave| when leaving Insert mode
|
||||
@@ -330,7 +342,12 @@ Name triggered by ~
|
||||
|
||||
|TextChanged| after a change was made to the text in Normal mode
|
||||
|TextChangedI| after a change was made to the text in Insert mode
|
||||
when popup menu is not visible
|
||||
|TextChangedP| after a change was made to the text in Insert mode
|
||||
when popup menu visible
|
||||
|TextYankPost| after text is yanked or deleted
|
||||
|
||||
|ColorSchemePre| before loading a color scheme
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
|RemoteReply| a reply from a server Vim was received
|
||||
@@ -452,6 +469,9 @@ BufWinEnter After a buffer is displayed in a window. This
|
||||
existing buffer. But it does happen for a
|
||||
":split" with the name of the current buffer,
|
||||
since it reloads that buffer.
|
||||
Does not happen for a terminal window, because
|
||||
it starts in Terminal-Job mode and Normal mode
|
||||
commands won't work. Use |TerminalOpen| instead.
|
||||
*BufWinLeave*
|
||||
BufWinLeave Before a buffer is removed from a window.
|
||||
Not when it's still visible in another window.
|
||||
@@ -499,6 +519,13 @@ CmdUndefined When a user command is used but it isn't
|
||||
command is defined. An alternative is to
|
||||
always define the user command and have it
|
||||
invoke an autoloaded function. See |autoload|.
|
||||
*CmdlineChanged*
|
||||
CmdlineChanged After a change was made to the text in the
|
||||
command line. Be careful not to mess up
|
||||
the command line, it may cause Vim to lock up.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdlineEnter*
|
||||
CmdlineEnter After moving the cursor to the command line,
|
||||
where the user can type a command or search
|
||||
@@ -539,6 +566,10 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
||||
set, and <amatch> for the new colorscheme
|
||||
name.
|
||||
|
||||
*ColorSchemePre*
|
||||
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||
Useful to setup removing things added by a
|
||||
color scheme, before another one is loaded.
|
||||
|
||||
*CompleteDone*
|
||||
CompleteDone After Insert mode completion is done. Either
|
||||
@@ -625,6 +656,21 @@ FileChangedRO Before making the first change to a read-only
|
||||
*E881*
|
||||
If the number of lines changes saving for undo
|
||||
may fail and the change will be aborted.
|
||||
*DirChanged*
|
||||
DirChanged The working directory has changed in response
|
||||
to the |:cd| or |:lcd| commands, or as a
|
||||
result of the 'autochdir' option.
|
||||
The pattern can be:
|
||||
"window" to trigger on `:lcd
|
||||
"global" to trigger on `:cd`
|
||||
"auto" to trigger on 'autochdir'.
|
||||
"drop" to trigger on editing a file
|
||||
<afile> is set to the new directory name.
|
||||
*ExitPre*
|
||||
ExitPre When using `:quit`, `:wq` in a way it makes
|
||||
Vim exit, or using `:qall`, just after
|
||||
|QuitPre|. Can be used to close any
|
||||
non-essential window.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
@@ -762,7 +808,7 @@ InsertCharPre When a character is typed in Insert mode,
|
||||
inserted literally.
|
||||
It is not allowed to change the text |textlock|.
|
||||
The event is not triggered when 'paste' is
|
||||
set.
|
||||
set. {only with the +eval feature}
|
||||
*InsertEnter*
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
@@ -840,6 +886,7 @@ QuitPre When using `:quit`, `:wq` or `:qall`, before
|
||||
or quits Vim. Can be used to close any
|
||||
non-essential window if the current window is
|
||||
the last ordinary window.
|
||||
Also see |ExitPre|.
|
||||
*RemoteReply*
|
||||
RemoteReply When a reply from a Vim that functions as
|
||||
server was received |server2client()|. The
|
||||
@@ -908,6 +955,7 @@ SwapExists Detected an existing swap file when starting
|
||||
It is not allowed to change to another buffer,
|
||||
change a buffer name or change directory
|
||||
here.
|
||||
{only available with the +eval feature}
|
||||
*Syntax*
|
||||
Syntax When the 'syntax' option has been set. The
|
||||
pattern is matched against the syntax name.
|
||||
@@ -934,6 +982,11 @@ TermChanged After the value of 'term' has changed. Useful
|
||||
for re-loading the syntax file to update the
|
||||
colors, fonts and other terminal-dependent
|
||||
settings. Executed for all loaded buffers.
|
||||
*TerminalOpen*
|
||||
TerminalOpen Just after a terminal buffer was created, with
|
||||
`:terminal` or |term_start()|. This event is
|
||||
triggered even if the buffer is created
|
||||
without a window, with the ++hidden option.
|
||||
*TermResponse*
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
@@ -956,10 +1009,39 @@ TextChangedI After a change was made to the text in the
|
||||
current buffer in Insert mode.
|
||||
Not triggered when the popup menu is visible.
|
||||
Otherwise the same as TextChanged.
|
||||
*TextChangedP*
|
||||
TextChangedP After a change was made to the text in the
|
||||
current buffer in Insert mode, only when the
|
||||
popup menu is visible. Otherwise the same as
|
||||
TextChanged.
|
||||
*TextYankPost*
|
||||
TextYankPost After text has been yanked or deleted in the
|
||||
current buffer. The following values of
|
||||
|v:event| can be used to determine the operation
|
||||
that triggered this autocmd:
|
||||
operator The operation performed.
|
||||
regcontents Text that was stored in the
|
||||
register, as a list of lines,
|
||||
like with: >
|
||||
getreg(r, 1, 1)
|
||||
< regname Name of the |register| or
|
||||
empty string for the unnamed
|
||||
register.
|
||||
regtype Type of the register, see
|
||||
|getregtype()|.
|
||||
Not triggered when |quote_| is used nor when
|
||||
called recursively.
|
||||
It is not allowed to change the buffer text,
|
||||
see |textlock|.
|
||||
{only when compiled with the +eval feature}
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
Note that when `:doautocmd User MyEvent` is
|
||||
used while there are no matching autocommands,
|
||||
you will get an error. If you don't want
|
||||
that, define a dummy autocommand yourself.
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user presses the same key 42 times.
|
||||
Just kidding! :-)
|
||||
@@ -1004,9 +1086,10 @@ WinEnter After entering another window. Not done for
|
||||
If the window is for another buffer, Vim
|
||||
executes the BufEnter autocommands after the
|
||||
WinEnter autocommands.
|
||||
Note: When using ":split fname" the WinEnter
|
||||
event is triggered after the split but before
|
||||
the file "fname" is loaded.
|
||||
Note: For split and tabpage commands the
|
||||
WinEnter event is triggered after the split
|
||||
or tab command but before the file is loaded.
|
||||
|
||||
*WinLeave*
|
||||
WinLeave Before leaving a window. If the window to be
|
||||
entered next is for a different buffer, Vim
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.0. Last change: 2017 Feb 12
|
||||
*change.txt* For Vim version 8.0. Last change: 2018 May 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -110,7 +110,7 @@ is an error when 'cpoptions' includes the 'E' flag.
|
||||
J Join [count] lines, with a minimum of two lines.
|
||||
Remove the indent and insert up to two spaces (see
|
||||
below). Fails when on the last line of the buffer.
|
||||
If [count] is too big it is reduce to the number of
|
||||
If [count] is too big it is reduced to the number of
|
||||
lines available.
|
||||
|
||||
*v_J*
|
||||
@@ -446,7 +446,7 @@ This depends on the 'nrformats' option:
|
||||
|
||||
For decimals a leading negative sign is considered for incrementing/
|
||||
decrementing, for binary, octal and hex values, it won't be considered. To
|
||||
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
|
||||
ignore the sign Visually select the number before using CTRL-A or CTRL-X.
|
||||
|
||||
For numbers with leading zeros (including all octal and hexadecimal numbers),
|
||||
Vim preserves the number of characters in the number when possible. CTRL-A on
|
||||
@@ -533,6 +533,7 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
|
||||
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
|
||||
'#' with a zero value, shift right does not affect lines starting with '#'
|
||||
(these are supposed to be C preprocessor lines that must stay in column 1).
|
||||
This can be changed with the 'cino' option, see |cino-#|.
|
||||
|
||||
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
|
||||
much as possible to make the indent. You can use ">><<" to replace an indent
|
||||
@@ -1444,6 +1445,55 @@ to the name of an external program for Vim to use for text formatting. The
|
||||
'textwidth' and other options have no effect on formatting by an external
|
||||
program.
|
||||
|
||||
*format-formatexpr*
|
||||
The 'formatexpr' option can be set to a Vim Script function that performs
|
||||
reformatting of the buffer. This should usually happen in an |ftplugin|,
|
||||
since formatting is highly dependent on the type of file. It makes
|
||||
sense to use an |autoload| script, so the corresponding script is only loaded
|
||||
when actually needed and the script should be called <filetype>format.vim.
|
||||
|
||||
For example, the XML filetype plugin distributed with Vim in the $VIMRUNTIME
|
||||
directory, sets the 'formatexpr' option to: >
|
||||
|
||||
setlocal formatexpr=xmlformat#Format()
|
||||
|
||||
That means, you will find the corresponding script, defining the
|
||||
xmlformat#Format() function, in the directory:
|
||||
`$VIMRUNTIME/autoload/xmlformat.vim`
|
||||
|
||||
Here is an example script that removes trailing whitespace from the selected
|
||||
text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: >
|
||||
|
||||
func! format#Format()
|
||||
" only reformat on explicit gq command
|
||||
if mode() != 'n'
|
||||
" fall back to Vims internal reformatting
|
||||
return 1
|
||||
endif
|
||||
let lines = getline(v:lnum, v:lnum + v:count - 1)
|
||||
call map(lines, {key, val -> substitute(val, '\s\+$', '', 'g')})
|
||||
call setline('.', lines)
|
||||
|
||||
" do not run internal formatter!
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
You can then enable the formatting by executing: >
|
||||
setlocal formatexpr=format#Format()
|
||||
>
|
||||
Note: this function explicitly returns non-zero when called from insert mode
|
||||
(which basically means, text is inserted beyond the 'textwidth' limit). This
|
||||
causes Vim to fall back to reformat the text by using the internal formatter.
|
||||
|
||||
However, if the |gq| command is used to reformat the text, the function
|
||||
will receive the selected lines, trim trailing whitespace from those lines and
|
||||
put them back in place. If you are going to split single lines into multiple
|
||||
lines, be careful not to overwrite anything.
|
||||
|
||||
If you want to allow reformatting of text from insert or replace mode, one has
|
||||
to be very careful, because the function might be called recursively. For
|
||||
debugging it helps to set the 'debug' option.
|
||||
|
||||
*right-justify*
|
||||
There is no command in Vim to right justify text. You can do it with
|
||||
an external command, like "par" (e.g.: "!}par" to format until the end of the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
||||
*channel.txt* For Vim version 8.0. Last change: 2018 Apr 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -55,7 +55,7 @@ JS JavaScript style JSON-like encoding |js_encode()|
|
||||
Common combination are:
|
||||
- Using a job connected through pipes in NL mode. E.g., to run a style
|
||||
checker and receive errors and warnings.
|
||||
- Using a deamon, connecting over a socket in JSON mode. E.g. to lookup
|
||||
- Using a daemon, connecting over a socket in JSON mode. E.g. to lookup
|
||||
cross-references in a database.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||
*cmdline.txt* For Vim version 8.0. Last change: 2018 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -175,12 +175,14 @@ CTRL-R CTRL-F *c_CTRL-R_CTRL-F* *c_<C-R>_<C-F>*
|
||||
CTRL-R CTRL-P *c_CTRL-R_CTRL-P* *c_<C-R>_<C-P>*
|
||||
CTRL-R CTRL-W *c_CTRL-R_CTRL-W* *c_<C-R>_<C-W>*
|
||||
CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
|
||||
CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
|
||||
Insert the object under the cursor:
|
||||
CTRL-F the Filename under the cursor
|
||||
CTRL-P the Filename under the cursor, expanded with
|
||||
'path' as in |gf|
|
||||
CTRL-W the Word under the cursor
|
||||
CTRL-A the WORD under the cursor; see |WORD|
|
||||
CTRL-L the line under the cursor
|
||||
|
||||
When 'incsearch' is set the cursor position at the end of the
|
||||
currently displayed match is used. With CTRL-W the part of
|
||||
@@ -192,8 +194,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
|
||||
|
||||
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
|
||||
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
|
||||
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
|
||||
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A}
|
||||
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
Insert register or object under the cursor. Works like
|
||||
|c_CTRL-R| but inserts the text literally. For example, if
|
||||
register a contains "xy^Hz" (where ^H is a backspace),
|
||||
@@ -410,14 +412,17 @@ CTRL-D List names that match the pattern in front of the cursor.
|
||||
match is inserted. After the last match, the first is used
|
||||
again (wrap around).
|
||||
The behavior can be changed with the 'wildmode' option.
|
||||
*c_<S-Tab>*
|
||||
<S-Tab> Like 'wildchar' or <Tab>, but begin with the last match and
|
||||
then go to the previous match.
|
||||
<S-Tab> does not work everywhere.
|
||||
*c_CTRL-N*
|
||||
CTRL-N After using 'wildchar' which got multiple matches, go to next
|
||||
match. Otherwise recall more recent command-line from history.
|
||||
<S-Tab> *c_CTRL-P* *c_<S-Tab>*
|
||||
*c_CTRL-P*
|
||||
CTRL-P After using 'wildchar' which got multiple matches, go to
|
||||
previous match. Otherwise recall older command-line from
|
||||
history. <S-Tab> only works with the GUI, on the Amiga and
|
||||
with MS-DOS.
|
||||
history.
|
||||
*c_CTRL-A*
|
||||
CTRL-A All names that match the pattern in front of the cursor are
|
||||
inserted.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
|
||||
*debugger.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
|
||||
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
||||
The 'balloondelay' option sets the delay before an attempt is made to show a
|
||||
balloon.
|
||||
The 'ballooneval' option needs to be set to switch it on.
|
||||
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
|
||||
switch it on.
|
||||
|
||||
Balloon evaluation is only available when compiled with the |+balloon_eval|
|
||||
feature.
|
||||
Balloon evaluation is only available in the GUI when compiled with the
|
||||
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
|
||||
matters.
|
||||
|
||||
The Balloon evaluation functions are also used to show a tooltip for the
|
||||
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.0. Last change: 2017 Jul 31
|
||||
*develop.txt* For Vim version 8.0. Last change: 2018 May 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -18,7 +18,8 @@ See the file README.txt in the "src" directory for an overview of the source
|
||||
code.
|
||||
|
||||
Vim is open source software. Everybody is encouraged to contribute to help
|
||||
improving Vim. For sending patches a context diff "diff -c" is preferred.
|
||||
improving Vim. For sending patches a unified diff "diff -u" is preferred.
|
||||
You can create a pull request on github, but it's not required.
|
||||
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
|
||||
|
||||
==============================================================================
|
||||
@@ -182,12 +183,43 @@ The basic steps to make changes to the code:
|
||||
include the diff. Or create a pull request on github.
|
||||
|
||||
|
||||
C COMPILER *style-compiler*
|
||||
C COMPILER *style-compiler* *ANSI-C* *C89* *C99*
|
||||
|
||||
The minimal C compiler version supported is C89, also known as ANSI C.
|
||||
Later standards don't add much and C89 is the widest supported.
|
||||
Later standards, such as C99, are not widely supported, or at least not 100%
|
||||
supported. Therefore we use only some of the C99 features and disallow some
|
||||
(at least for now).
|
||||
|
||||
One restriction that this implies: no // comments, only /* comments */.
|
||||
Please don't make changes everywhere to use the C99 features, it causes merge
|
||||
problems for existing patches. Only use them for new and changed code.
|
||||
|
||||
Comments ~
|
||||
|
||||
Traditionally Vim uses /* comments */. We intend to keep it that way,
|
||||
especially for file and function headers. For new code or lines of code that
|
||||
change, it is allowed to use // comments. Especially when it comes after
|
||||
code:
|
||||
int some_var; // single line comment useful here
|
||||
|
||||
Enums ~
|
||||
|
||||
The last item in an enum may have a trailing comma. C89 didn't allow this.
|
||||
|
||||
Types ~
|
||||
|
||||
"long long" is allowed and can be expected to be 64 bits. Use %lld in printf
|
||||
formats. Also "long long unsigned" with %llu.
|
||||
|
||||
Not to be used ~
|
||||
|
||||
These C99 features are not to be used, because not enough compilers support
|
||||
them:
|
||||
- Declaration after Statements (MSVC 2012 does not support it). All
|
||||
declarations need to be at the start of the block.
|
||||
- Variable length arrays (even in C11 this is an optional feature).
|
||||
- _Bool and _Complex types.
|
||||
- "inline" (it's hardly ever needed, let the optimizer do its work)
|
||||
- flexible array members: Not supported by HP-UX C compiler (John Marriott)
|
||||
|
||||
|
||||
USE OF COMMON FUNCTIONS *style-functions*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.0. Last change: 2017 Aug 21
|
||||
*editing.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -424,6 +424,15 @@ On Unix and a few other systems you can also use backticks for the file name
|
||||
argument, for example: >
|
||||
:next `find . -name ver\\*.c -print`
|
||||
:view `ls -t *.patch \| head -n1`
|
||||
Vim will run the command in backticks using the 'shell' and use the standard
|
||||
output as argument for the given Vim command (error messages from the shell
|
||||
command will be discarded).
|
||||
To see what shell command Vim is running, set the 'verbose' option to 4. When
|
||||
the shell command returns a non-zero exit code, an error message will be
|
||||
displayed and the Vim command will be aborted. To avoid this make the shell
|
||||
always return zero like so: >
|
||||
:next `find . -name ver\\*.c -print \|\| true`
|
||||
|
||||
The backslashes before the star are required to prevent the shell from
|
||||
expanding "ver*.c" prior to execution of the find program. The backslash
|
||||
before the shell pipe symbol "|" prevents Vim from parsing it as command
|
||||
@@ -650,8 +659,7 @@ list of the current window.
|
||||
There is no check for duplicates, it is possible to
|
||||
add a file to the argument list twice.
|
||||
The currently edited file is not changed.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Note: you can also use this method: >
|
||||
:args ## x
|
||||
< This will add the "x" item and sort the new list.
|
||||
@@ -665,8 +673,7 @@ list of the current window.
|
||||
when it's deleted from the argument list.
|
||||
Example: >
|
||||
:argdel *.obj
|
||||
< {not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
< {not in Vi}
|
||||
|
||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||
Example: >
|
||||
@@ -681,8 +688,7 @@ list of the current window.
|
||||
< Removes all the files from the arglist.
|
||||
When the last number in the range is too high, up to
|
||||
the last argument is deleted.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
*:argu* *:argument*
|
||||
:[count]argu[ment] [count] [++opt] [+cmd]
|
||||
@@ -691,16 +697,14 @@ list of the current window.
|
||||
when changes have been made and Vim does not want to
|
||||
|abandon| the current buffer.
|
||||
Also see |++opt| and |+cmd|.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
:[count]argu[ment]! [count] [++opt] [+cmd]
|
||||
Edit file [count] in the argument list, discard any
|
||||
changes to the current buffer. When [count] is
|
||||
omitted the current entry is used.
|
||||
Also see |++opt| and |+cmd|.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
|
||||
Edit [count] next file. This fails when changes have
|
||||
@@ -823,7 +827,6 @@ fourth file in the argument list. This happens when you do ":e file".
|
||||
LOCAL ARGUMENT LIST
|
||||
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+windows| or |+listcmds| features}
|
||||
|
||||
*:arglocal*
|
||||
:argl[ocal] Make a local copy of the global argument list.
|
||||
@@ -875,8 +878,7 @@ USING THE ARGUMENT LIST
|
||||
autocommand event is disabled by adding it to
|
||||
'eventignore'. This considerably speeds up editing
|
||||
each file.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
@@ -900,7 +902,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796*
|
||||
*E512* *E514* *E667* *E796* *E949*
|
||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
when the 'readonly' option is set or when there is
|
||||
@@ -956,6 +958,9 @@ used, for example, when the write fails and you want to try again later with
|
||||
":w #". This can be switched off by removing the 'A' flag from the
|
||||
'cpoptions' option.
|
||||
|
||||
Note that the 'fsync' option matters here. If it's set it may make writes
|
||||
slower (but safer).
|
||||
|
||||
*:sav* *:saveas*
|
||||
:sav[eas][!] [++opt] {file}
|
||||
Save the current buffer under the name {file} and set
|
||||
@@ -1199,7 +1204,8 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
|
||||
:wqa[ll]! [++opt]
|
||||
:xa[ll]! Write all changed buffers, even the ones that are readonly,
|
||||
and exit Vim. If there are buffers without a file name or
|
||||
which cannot be written for another reason, Vim will not quit.
|
||||
which cannot be written for another reason, or there is a
|
||||
terminal with a running job, Vim will not quit.
|
||||
{not in Vi}
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.0. Last change: 2017 Nov 16
|
||||
*eval.txt* For Vim version 8.0. Last change: 2018 Apr 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1246,8 +1246,8 @@ The arguments are optional. Example: >
|
||||
*closure*
|
||||
Lambda expressions can access outer scope variables and arguments. This is
|
||||
often called a closure. Example where "i" and "a:arg" are used in a lambda
|
||||
while they exist in the function scope. They remain valid even after the
|
||||
function returns: >
|
||||
while they already exist in the function scope. They remain valid even after
|
||||
the function returns: >
|
||||
:function Foo(arg)
|
||||
: let i = 3
|
||||
: return {x -> x + i - a:arg}
|
||||
@@ -1256,7 +1256,10 @@ function returns: >
|
||||
:echo Bar(6)
|
||||
< 5
|
||||
|
||||
See also |:func-closure|. Lambda and closure support can be checked with: >
|
||||
Note that the variables must exist in the outer scope before the lamba is
|
||||
defined for this to work. See also |:func-closure|.
|
||||
|
||||
Lambda and closure support can be checked with: >
|
||||
if has('lambda')
|
||||
|
||||
Examples for using a lambda expression with |sort()|, |map()| and |filter()|: >
|
||||
@@ -1545,15 +1548,23 @@ v:errmsg Last given error message. It's allowed to set this variable.
|
||||
: ... handle error
|
||||
< "errmsg" also works, for backwards compatibility.
|
||||
|
||||
*v:errors* *errors-variable*
|
||||
*v:errors* *errors-variable* *assert-return*
|
||||
v:errors Errors found by assert functions, such as |assert_true()|.
|
||||
This is a list of strings.
|
||||
The assert functions append an item when an assert fails.
|
||||
The return value indicates this: a one is returned if an item
|
||||
was added to v:errors, otherwise zero is returned.
|
||||
To remove old results make it empty: >
|
||||
:let v:errors = []
|
||||
< If v:errors is set to anything but a list it is made an empty
|
||||
list by the assert function.
|
||||
|
||||
*v:event* *event-variable*
|
||||
v:event Dictionary containing information about the current
|
||||
|autocommand|. The dictionary is emptied when the |autocommand|
|
||||
finishes, please refer to |dict-identity| for how to get an
|
||||
independent copy of it.
|
||||
|
||||
*v:exception* *exception-variable*
|
||||
v:exception The value of the exception most recently caught and not
|
||||
finished. See also |v:throwpoint| and |throw-variables|.
|
||||
@@ -2011,27 +2022,30 @@ argidx() Number current index in the argument list
|
||||
arglistid([{winnr} [, {tabnr}]]) Number argument list id
|
||||
argv({nr}) String {nr} entry of the argument list
|
||||
argv() List the argument list
|
||||
assert_beeps({cmd}) Number assert {cmd} causes a beep
|
||||
assert_equal({exp}, {act} [, {msg}])
|
||||
none assert {exp} is equal to {act}
|
||||
Number assert {exp} is equal to {act}
|
||||
assert_equalfile({fname-one}, {fname-two})
|
||||
Number assert file contents is equal
|
||||
assert_exception({error} [, {msg}])
|
||||
none assert {error} is in v:exception
|
||||
assert_fails({cmd} [, {error}]) none assert {cmd} fails
|
||||
Number assert {error} is in v:exception
|
||||
assert_fails({cmd} [, {error}]) Number assert {cmd} fails
|
||||
assert_false({actual} [, {msg}])
|
||||
none assert {actual} is false
|
||||
Number assert {actual} is false
|
||||
assert_inrange({lower}, {upper}, {actual} [, {msg}])
|
||||
none assert {actual} is inside the range
|
||||
Number assert {actual} is inside the range
|
||||
assert_match({pat}, {text} [, {msg}])
|
||||
none assert {pat} matches {text}
|
||||
Number assert {pat} matches {text}
|
||||
assert_notequal({exp}, {act} [, {msg}])
|
||||
none assert {exp} is not equal {act}
|
||||
Number assert {exp} is not equal {act}
|
||||
assert_notmatch({pat}, {text} [, {msg}])
|
||||
none assert {pat} not matches {text}
|
||||
assert_report({msg}) none report a test failure
|
||||
assert_true({actual} [, {msg}]) none assert {actual} is true
|
||||
Number assert {pat} not matches {text}
|
||||
assert_report({msg}) Number report a test failure
|
||||
assert_true({actual} [, {msg}]) Number assert {actual} is true
|
||||
asin({expr}) Float arc sine of {expr}
|
||||
atan({expr}) Float arc tangent of {expr}
|
||||
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
|
||||
balloon_show({msg}) none show {msg} inside the balloon
|
||||
balloon_show({expr}) none show {expr} inside the balloon
|
||||
balloon_split({msg}) List split {msg} as used for a balloon
|
||||
browse({save}, {title}, {initdir}, {default})
|
||||
String put up a file requester
|
||||
@@ -2145,6 +2159,7 @@ getbufline({expr}, {lnum} [, {end}])
|
||||
List lines {lnum} to {end} of buffer {expr}
|
||||
getbufvar({expr}, {varname} [, {def}])
|
||||
any variable {varname} in buffer {expr}
|
||||
getchangelist({expr}) List list of change list items
|
||||
getchar([expr]) Number get one character from the user
|
||||
getcharmod() Number modifiers for the last typed character
|
||||
getcharsearch() Dict last character search
|
||||
@@ -2161,6 +2176,8 @@ getfperm({fname}) String file permissions of file {fname}
|
||||
getfsize({fname}) Number size in bytes of file {fname}
|
||||
getftime({fname}) Number last modification time of file
|
||||
getftype({fname}) String description of type of file {fname}
|
||||
getjumplist([{winnr} [, {tabnr}]])
|
||||
List list of jump list items
|
||||
getline({lnum}) String line {lnum} of current buffer
|
||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||
getloclist({nr} [, {what}]) List list of location list items
|
||||
@@ -2177,8 +2194,9 @@ gettabvar({nr}, {varname} [, {def}])
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
getwininfo([{winid}]) List list of windows
|
||||
getwinposx() Number X coord in pixels of GUI Vim window
|
||||
getwinposy() Number Y coord in pixels of GUI Vim window
|
||||
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
||||
getwinposx() Number X coord in pixels of the Vim window
|
||||
getwinposy() Number Y coord in pixels of the Vim window
|
||||
getwinvar({nr}, {varname} [, {def}])
|
||||
any variable {varname} in window {nr}
|
||||
glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
@@ -2218,7 +2236,7 @@ islocked({expr}) Number |TRUE| if {expr} is locked
|
||||
isnan({expr}) Number |TRUE| if {expr} is NaN
|
||||
items({dict}) List key-value pairs in {dict}
|
||||
job_getchannel({job}) Channel get the channel handle for {job}
|
||||
job_info({job}) Dict get information about {job}
|
||||
job_info([{job}]) Dict get information about {job}
|
||||
job_setoptions({job}, {options}) none set options for {job}
|
||||
job_start({command} [, {options}])
|
||||
Job start a job
|
||||
@@ -2270,6 +2288,8 @@ mode([expr]) String current editing mode
|
||||
mzeval({expr}) any evaluate |MzScheme| expression
|
||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr}
|
||||
option_restore({list}) none restore options saved by option_save()
|
||||
option_save({list}) List save options values
|
||||
or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr}) String shorten directory names in a path
|
||||
perleval({expr}) any evaluate |Perl| expression
|
||||
@@ -2398,7 +2418,14 @@ tagfiles() List tags files used
|
||||
tan({expr}) Float tangent of {expr}
|
||||
tanh({expr}) Float hyperbolic tangent of {expr}
|
||||
tempname() String name for a temporary file
|
||||
term_dumpdiff({filename}, {filename} [, {options}])
|
||||
Number display difference between two dumps
|
||||
term_dumpload({filename} [, {options}])
|
||||
Number displaying a screen dump
|
||||
term_dumpwrite({buf}, {filename} [, {options}])
|
||||
none dump terminal window contents
|
||||
term_getaltscreen({buf}) Number get the alternate screen flag
|
||||
term_getansicolors({buf}) List get ANSI palette in GUI color mode
|
||||
term_getattr({attr}, {what}) Number get the value of attribute {what}
|
||||
term_getcursor({buf}) List get the cursor position of a terminal
|
||||
term_getjob({buf}) Job get the job associated with a terminal
|
||||
@@ -2411,6 +2438,12 @@ term_gettty({buf}, [{input}]) String get the tty name of a terminal
|
||||
term_list() List get the list of terminal buffers
|
||||
term_scrape({buf}, {row}) List get row of a terminal screen
|
||||
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
|
||||
term_setansicolors({buf}, {colors})
|
||||
none set ANSI palette in GUI color mode
|
||||
term_setkill({buf}, {how}) none set signal to stop job in terminal
|
||||
term_setrestore({buf}, {command}) none set command to restore terminal
|
||||
term_setsize({buf}, {rows}, {cols})
|
||||
none set the size of a terminal
|
||||
term_start({cmd}, {options}) Job open a terminal window and run a job
|
||||
term_wait({buf} [, {time}]) Number wait for screen to be updated
|
||||
test_alloc_fail({id}, {countdown}, {repeat})
|
||||
@@ -2437,6 +2470,7 @@ tolower({expr}) String the String {expr} switched to lowercase
|
||||
toupper({expr}) String the String {expr} switched to uppercase
|
||||
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
trim({text}[, {mask}]) String trim characters in {mask} from {text}
|
||||
trunc({expr}) Float truncate Float {expr}
|
||||
type({name}) Number type of variable {name}
|
||||
undofile({name}) String undo file name for {name}
|
||||
@@ -2452,6 +2486,7 @@ win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
|
||||
win_gotoid({expr}) Number go to window with ID {expr}
|
||||
win_id2tabwin({expr}) List get tab and window nr from window ID
|
||||
win_id2win({expr}) Number get window nr from window ID
|
||||
win_screenpos({nr}) List get screen position of window {nr}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight({nr}) Number height of window {nr}
|
||||
@@ -2557,10 +2592,16 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
< Without the {nr} argument a |List| with the whole |arglist| is
|
||||
returned.
|
||||
|
||||
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|.
|
||||
|
||||
*assert_equal()*
|
||||
assert_equal({expected}, {actual} [, {msg}])
|
||||
When {expected} and {actual} are not equal an error message is
|
||||
added to |v:errors|.
|
||||
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
|
||||
@@ -2572,9 +2613,18 @@ assert_equal({expected}, {actual} [, {msg}])
|
||||
< Will result in a string to be added to |v:errors|:
|
||||
test.vim line 12: Expected 'foo' but got 'bar' ~
|
||||
|
||||
*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|.
|
||||
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: >
|
||||
@@ -2587,12 +2637,15 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
|
||||
assert_fails({cmd} [, {error}]) *assert_fails()*
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error.
|
||||
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.
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|.
|
||||
|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
|
||||
@@ -2601,7 +2654,7 @@ assert_false({actual} [, {msg}]) *assert_false()*
|
||||
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
|
||||
This asserts number values. When {actual} is lower than
|
||||
{lower} or higher than {upper} an error message is added to
|
||||
|v:errors|.
|
||||
|v:errors|. Also see |assert-return|.
|
||||
When {msg} is omitted an error in the form
|
||||
"Expected range {lower} - {upper}, but got {actual}" is
|
||||
produced.
|
||||
@@ -2609,7 +2662,7 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
|
||||
*assert_match()*
|
||||
assert_match({pattern}, {actual} [, {msg}])
|
||||
When {pattern} does not match {actual} an error message is
|
||||
added to |v:errors|.
|
||||
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
|
||||
@@ -2630,18 +2683,22 @@ assert_match({pattern}, {actual} [, {msg}])
|
||||
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|.
|
||||
|
||||
*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|.
|
||||
|
||||
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
|
||||
@@ -2748,6 +2805,8 @@ bufexists({expr}) *bufexists()*
|
||||
The result is a Number, which is |TRUE| if a buffer called
|
||||
{expr} exists.
|
||||
If the {expr} argument is a number, buffer numbers are used.
|
||||
Number zero is the alternate buffer for the current window.
|
||||
|
||||
If the {expr} argument is a string it must match a buffer name
|
||||
exactly. The name can be:
|
||||
- Relative to the current directory.
|
||||
@@ -3053,12 +3112,16 @@ ch_open({address} [, {options}]) *ch_open()*
|
||||
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|.
|
||||
{only available when compiled with the |+channel| feature}
|
||||
|
||||
ch_readraw({handle} [, {options}]) *ch_readraw()*
|
||||
Like ch_read() but for a JS and JSON channel does not decode
|
||||
the message. See |channel-more|.
|
||||
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|.
|
||||
{only available when compiled with the |+channel| feature}
|
||||
|
||||
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
|
||||
@@ -3124,8 +3187,8 @@ char2nr({expr} [, {utf8}]) *char2nr()*
|
||||
char2nr("ABC") returns 65
|
||||
< When {utf8} is omitted or zero, the current 'encoding' is used.
|
||||
Example for "utf-8": >
|
||||
char2nr("<EFBFBD>") returns 225
|
||||
char2nr("<EFBFBD>"[0]) returns 195
|
||||
char2nr("á") returns 225
|
||||
char2nr("á"[0]) returns 195
|
||||
< With {utf8} set to 1, always treat as utf-8 characters.
|
||||
A combining character is a separate character.
|
||||
|nr2char()| does the opposite.
|
||||
@@ -3323,8 +3386,8 @@ count({comp}, {expr} [, {ic} [, {start}]]) *count()*
|
||||
When {ic} is given and it's |TRUE| then case is ignored.
|
||||
|
||||
When {comp} is a string then the number of not overlapping
|
||||
occurrences of {expr} is returned.
|
||||
|
||||
occurrences of {expr} is returned. Zero is returned when
|
||||
{expr} is an empty string.
|
||||
|
||||
*cscope_connection()*
|
||||
cscope_connection([{num} , {dbpath} [, {prepend}]])
|
||||
@@ -4166,6 +4229,7 @@ getbufinfo([{dict}])
|
||||
be specified in {dict}:
|
||||
buflisted include only listed buffers.
|
||||
bufloaded include only loaded buffers.
|
||||
bufmodified include only modified buffers.
|
||||
|
||||
Otherwise, {expr} specifies a particular buffer to return
|
||||
information for. For the use of {expr}, see |bufname()|
|
||||
@@ -4252,6 +4316,22 @@ getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
|
||||
:let bufmodified = getbufvar(1, "&mod")
|
||||
:echo "todo myvar = " . getbufvar("todo", "myvar")
|
||||
<
|
||||
getchangelist({expr}) *getchangelist()*
|
||||
Returns the |changelist| for the buffer {expr}. For the use
|
||||
of {expr}, see |bufname()| above. If buffer {expr} doesn't
|
||||
exist, an empty list is returned.
|
||||
|
||||
The returned list contains two entries: a list with the change
|
||||
locations and the current position in the list. Each
|
||||
entry in the change list is a dictionary with the following
|
||||
entries:
|
||||
col column number
|
||||
coladd column offset for 'virtualedit'
|
||||
lnum line number
|
||||
If buffer {expr} is the current buffer, then the current
|
||||
position refers to the position in the list. For other
|
||||
buffers, it is set to the length of the list.
|
||||
|
||||
getchar([expr]) *getchar()*
|
||||
Get a single character from the user or input stream.
|
||||
If [expr] is omitted, wait until a character is available.
|
||||
@@ -4403,6 +4483,7 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
||||
specifies what for. The following completion types are
|
||||
supported:
|
||||
|
||||
arglist file names in argument list
|
||||
augroup autocmd groups
|
||||
buffer buffer names
|
||||
behave :behave suboptions
|
||||
@@ -4468,10 +4549,13 @@ getcwd([{winnr} [, {tabnr}]])
|
||||
Without arguments, for the current window.
|
||||
|
||||
With {winnr} return the local current directory of this window
|
||||
in the current tab page.
|
||||
in the current tab page. {winnr} can be the window number or
|
||||
the |window-ID|.
|
||||
If {winnr} is -1 return the name of the global working
|
||||
directory. See also |haslocaldir()|.
|
||||
|
||||
With {winnr} and {tabnr} return the local current directory of
|
||||
the window in the specified tab page.
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
Return an empty string if the arguments are invalid.
|
||||
|
||||
getfsize({fname}) *getfsize()*
|
||||
@@ -4541,6 +4625,25 @@ getftype({fname}) *getftype()*
|
||||
"file" are returned. On MS-Windows a symbolic link to a
|
||||
directory returns "dir" instead of "link".
|
||||
|
||||
getjumplist([{winnr} [, {tabnr}]]) *getjumplist()*
|
||||
Returns the |jumplist| for the specified window.
|
||||
|
||||
Without arguments use the current window.
|
||||
With {winnr} only use this window in the current tab page.
|
||||
{winnr} can also be a |window-ID|.
|
||||
With {winnr} and {tabnr} use the window in the specified tab
|
||||
page.
|
||||
|
||||
The returned list contains two entries: a list with the jump
|
||||
locations and the last used jump position number in the list.
|
||||
Each entry in the jump location list is a dictionary with
|
||||
the following entries:
|
||||
bufnr buffer number
|
||||
col column number
|
||||
coladd column offset for 'virtualedit'
|
||||
filename filename if available
|
||||
lnum line number
|
||||
|
||||
*getline()*
|
||||
getline({lnum} [, {end}])
|
||||
Without {end} the result is a String, which is line {lnum}
|
||||
@@ -4634,6 +4737,7 @@ getqflist([{what}]) *getqflist()*
|
||||
list item is a dictionary with these entries:
|
||||
bufnr number of buffer that has the file name, use
|
||||
bufname() to get the name
|
||||
module module name
|
||||
lnum line number in the buffer (first line is 1)
|
||||
col column number (first column is 1)
|
||||
vcol |TRUE|: "col" is visual column
|
||||
@@ -4658,27 +4762,30 @@ getqflist([{what}]) *getqflist()*
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
returns only the items listed in {what} as a dictionary. The
|
||||
following string items are supported in {what}:
|
||||
context get the context stored with |setqflist()|
|
||||
changedtick get the total number of changes made
|
||||
to the list |quickfix-changedtick|
|
||||
context get the |quickfix-context|
|
||||
efm errorformat to use when parsing "lines". If
|
||||
not present, then the 'erroformat' option
|
||||
not present, then the 'errorformat' option
|
||||
value is used.
|
||||
id get information for the quickfix list with
|
||||
|quickfix-ID|; zero means the id for the
|
||||
current list or the list specifed by "nr"
|
||||
current list or the list specified by "nr"
|
||||
idx index of the current entry in the list
|
||||
items quickfix list entries
|
||||
lines use 'errorformat' to extract items from a list
|
||||
of lines and return the resulting entries.
|
||||
Only a |List| type is accepted. The current
|
||||
quickfix list is not modified.
|
||||
lines parse a list of lines using 'efm' and return
|
||||
the resulting entries. Only a |List| type is
|
||||
accepted. The current quickfix list is not
|
||||
modified. See |quickfix-parse|.
|
||||
nr get information for this quickfix list; zero
|
||||
means the current quickfix list and "$" means
|
||||
the last quickfix list
|
||||
size number of entries in the quickfix list
|
||||
title get the list title
|
||||
winid get the |window-ID| (if opened)
|
||||
title get the list title |quickfix-title|
|
||||
winid get the quickfix |window-ID|
|
||||
all all of the above quickfix properties
|
||||
Non-string items in {what} are ignored.
|
||||
Non-string items in {what} are ignored. To get the value of a
|
||||
particular item, set it to zero.
|
||||
If "nr" is not present then the current quickfix list is used.
|
||||
If both "nr" and a non-zero "id" are specified, then the list
|
||||
specified by "id" is used.
|
||||
@@ -4688,25 +4795,30 @@ getqflist([{what}]) *getqflist()*
|
||||
When "lines" is specified, all the other items except "efm"
|
||||
are ignored. The returned dictionary contains the entry
|
||||
"items" with the list of entries.
|
||||
In case of error processing {what}, an empty dictionary is
|
||||
returned.
|
||||
|
||||
The returned dictionary contains the following entries:
|
||||
context context information stored with |setqflist()|
|
||||
id quickfix list ID |quickfix-ID|
|
||||
idx index of the current entry in the list
|
||||
items quickfix list entries
|
||||
nr quickfix list number
|
||||
size number of entries in the quickfix list
|
||||
title quickfix list title text
|
||||
winid quickfix |window-ID| (if opened)
|
||||
changedtick total number of changes made to the
|
||||
list |quickfix-changedtick|
|
||||
context quickfix list context. See |quickfix-context|
|
||||
If not present, set to "".
|
||||
id quickfix list ID |quickfix-ID|. If not
|
||||
present, set to 0.
|
||||
idx index of the current entry in the list. If not
|
||||
present, set to 0.
|
||||
items quickfix list entries. If not present, set to
|
||||
an empty list.
|
||||
nr quickfix list number. If not present, set to 0
|
||||
size number of entries in the quickfix list. If not
|
||||
present, set to 0.
|
||||
title quickfix list title text. If not present, set
|
||||
to "".
|
||||
winid quickfix |window-ID|. If not present, set to 0
|
||||
|
||||
Examples: >
|
||||
Examples (See also |getqflist-examples|): >
|
||||
:echo getqflist({'all': 1})
|
||||
:echo getqflist({'nr': 2, 'title': 1})
|
||||
:echo getqflist({'lines' : ["F1:10:L10"]})
|
||||
<
|
||||
|
||||
getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
The result is a String, which is the contents of register
|
||||
{regname}. Example: >
|
||||
@@ -4784,17 +4896,37 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
Examples: >
|
||||
:let list_is_on = gettabwinvar(1, 2, '&list')
|
||||
:echo "myvar = " . gettabwinvar(3, 1, 'myvar')
|
||||
<
|
||||
getwinpos([{timeout}]) *getwinpos()*
|
||||
The result is a list with two numbers, the result of
|
||||
getwinposx() and getwinposy() combined:
|
||||
[x-pos, y-pos]
|
||||
{timeout} can be used to specify how long to wait in msec for
|
||||
a response from the terminal. When omitted 100 msec is used.
|
||||
Use a longer time for a remote terminal.
|
||||
When using a value less than 10 and no response is received
|
||||
within that time, a previously reported position is returned,
|
||||
if available. This can be used to poll for the position and
|
||||
do some work in the mean time: >
|
||||
while 1
|
||||
let res = getwinpos(1)
|
||||
if res[0] >= 0
|
||||
break
|
||||
endif
|
||||
" Do some work here
|
||||
endwhile
|
||||
<
|
||||
*getwinposx()*
|
||||
getwinposx() The result is a Number, which is the X coordinate in pixels of
|
||||
the left hand side of the GUI Vim window. Also works for an
|
||||
xterm.
|
||||
xterm (uses a timeout of 100 msec).
|
||||
The result will be -1 if the information is not available.
|
||||
The value can be used with `:winpos`.
|
||||
|
||||
*getwinposy()*
|
||||
getwinposy() The result is a Number, which is the Y coordinate in pixels of
|
||||
the top of the GUI Vim window. Also works for an xterm.
|
||||
the top of the GUI Vim window. Also works for an xterm (uses
|
||||
a timeout of 100 msec).
|
||||
The result will be -1 if the information is not available.
|
||||
The value can be used with `:winpos`.
|
||||
|
||||
@@ -5269,10 +5401,11 @@ job_getchannel({job}) *job_getchannel()*
|
||||
<
|
||||
{only available when compiled with the |+job| feature}
|
||||
|
||||
job_info({job}) *job_info()*
|
||||
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
|
||||
@@ -5280,6 +5413,8 @@ job_info({job}) *job_info()*
|
||||
"exit_cb" function to be called on exit
|
||||
"stoponexit" |job-stoponexit|
|
||||
|
||||
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|
|
||||
@@ -5908,8 +6043,6 @@ matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||
< Matches added by |matchaddpos()| are returned by
|
||||
|getmatches()| with an entry "pos1", "pos2", etc., with the
|
||||
value a list like the {pos} item.
|
||||
These matches cannot be set via |setmatches()|, however they
|
||||
can still be deleted by |clearmatches()|.
|
||||
|
||||
matcharg({nr}) *matcharg()*
|
||||
Selects the {nr} match item, as set with a |:match|,
|
||||
@@ -6019,6 +6152,8 @@ mkdir({name} [, {path} [, {prot}]])
|
||||
Example: >
|
||||
:call mkdir($HOME . "/tmp/foo/bar", "p", 0700)
|
||||
< This function is not available in the |sandbox|.
|
||||
There is no error if the directory already exists and the "p"
|
||||
flag is passed (since patch 8.0.1708).
|
||||
Not available on all systems. To check use: >
|
||||
:if exists("*mkdir")
|
||||
<
|
||||
@@ -6473,7 +6608,7 @@ remote_expr({server}, {string} [, {idvar} [, {timeout}]])
|
||||
between (not at the end), like with join(expr, "\n").
|
||||
If {idvar} is present and not empty, it is taken as the name
|
||||
of a variable and a {serverid} for later use with
|
||||
remote_read() is stored there.
|
||||
|remote_read()| is stored there.
|
||||
If {timeout} is given the read times out after this many
|
||||
seconds. Otherwise a timeout of 600 seconds is used.
|
||||
See also |clientserver| |RemoteReply|.
|
||||
@@ -7087,6 +7222,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
buffer
|
||||
filename name of a file; only used when "bufnr" is not
|
||||
present or it is invalid.
|
||||
module name of a module; if given it will be used in
|
||||
quickfix error window instead of the filename.
|
||||
lnum line number in the file
|
||||
pattern search pattern used to locate the error
|
||||
col column number
|
||||
@@ -7135,7 +7272,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
only the items listed in {what} are set. The first {list}
|
||||
argument is ignored. The following items can be specified in
|
||||
{what}:
|
||||
context any Vim type can be stored as a context
|
||||
context quickfix list context. See |quickfix-context|
|
||||
efm errorformat to use when parsing text from
|
||||
"lines". If this is not present, then the
|
||||
'errorformat' option value is used.
|
||||
@@ -7157,10 +7294,10 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
list is modified, "id" should be used instead of "nr" to
|
||||
specify the list.
|
||||
|
||||
Examples: >
|
||||
Examples (See also |setqflist-examples|): >
|
||||
:call setqflist([], 'r', {'title': 'My search'})
|
||||
:call setqflist([], 'r', {'nr': 2, 'title': 'Errors'})
|
||||
:call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]})
|
||||
:call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]})
|
||||
<
|
||||
Returns zero for success, -1 for failure.
|
||||
|
||||
@@ -7693,8 +7830,9 @@ submatch({nr} [, {list}]) *submatch()* *E935*
|
||||
When substitute() is used recursively only the submatches in
|
||||
the current (deepest) call can be obtained.
|
||||
|
||||
Example: >
|
||||
Examples: >
|
||||
:s/\d\+/\=submatch(0) + 1/
|
||||
:echo substitute(text, '\d\+', '\=submatch(0) + 1', '')
|
||||
< This finds the first number in the line and adds one to it.
|
||||
A line break is included as a newline character.
|
||||
|
||||
@@ -8036,12 +8174,88 @@ tempname() *tempname()* *temp-file-name*
|
||||
For MS-Windows forward slashes are used when the 'shellslash'
|
||||
option is set or when 'shellcmdflag' starts with '-'.
|
||||
|
||||
*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 dashes.
|
||||
|
||||
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
|
||||
"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 {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:
|
||||
@@ -8086,6 +8300,8 @@ term_getline({buf}, {row}) *term_getline()*
|
||||
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()*
|
||||
@@ -8171,8 +8387,68 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
|
||||
means the character CTRL-X.
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
|
||||
term_setsize({buf}, {expr}) *term_setsize()*
|
||||
Not implemented yet.
|
||||
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()*
|
||||
@@ -8206,14 +8482,18 @@ term_start({cmd}, {options}) *term_start()*
|
||||
"term_name" name to use for the buffer name, instead
|
||||
of the command name.
|
||||
"term_rows" vertical size to use for the terminal,
|
||||
instead of using 'termsize'
|
||||
instead of using 'termwinsize'
|
||||
"term_cols" horizontal size to use for the terminal,
|
||||
instead of using 'termsize'
|
||||
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
|
||||
"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
|
||||
@@ -8229,6 +8509,9 @@ term_start({cmd}, {options}) *term_start()*
|
||||
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|.
|
||||
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
|
||||
@@ -8427,6 +8710,22 @@ tr({src}, {fromstr}, {tostr}) *tr()*
|
||||
echo tr("<blob>", "<>", "{}")
|
||||
< returns "{blob}"
|
||||
|
||||
trim({text}[, {mask}]) *trim()*
|
||||
Return {text} as a String where any character in {mask} is
|
||||
removed from the beginning and end of {text}.
|
||||
If {mask} is not given, {mask} is all characters up to 0x20,
|
||||
which includes Tab, space, NL and CR, plus the non-breaking
|
||||
space character 0xa0.
|
||||
This code deals with multibyte characters properly.
|
||||
|
||||
Examples: >
|
||||
echo trim(" some text ")
|
||||
< returns "some text" >
|
||||
echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
|
||||
< returns "RESERVE_TAIL" >
|
||||
echo trim("rm<Xrm<>X>rrm", "rm<>")
|
||||
< returns "Xrm<>X" (characters in the middle are not removed)
|
||||
|
||||
trunc({expr}) *trunc()*
|
||||
Return the largest integral value with magnitude less than or
|
||||
equal to {expr} as a |Float| (truncate towards zero).
|
||||
@@ -8630,6 +8929,14 @@ win_id2win({expr}) *win_id2win()*
|
||||
Return the window number of window with ID {expr}.
|
||||
Return 0 if the window cannot be found in the current tabpage.
|
||||
|
||||
win_screenpos({nr}) *win_screenpos()*
|
||||
Return the screen position of window {nr} as a list with two
|
||||
numbers: [row, col]. The first window always has position
|
||||
[1, 1].
|
||||
{nr} can be the window number or the |window-ID|.
|
||||
Return [0, 0] if the window cannot be found in the current
|
||||
tabpage.
|
||||
|
||||
*winbufnr()*
|
||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||
associated with window {nr}. {nr} can be the window number or
|
||||
@@ -8781,8 +9088,8 @@ writefile({list}, {fname} [, {flags}])
|
||||
the file. This flushes the file to disk, if possible. This
|
||||
takes more time but avoids losing the file if the system
|
||||
crashes.
|
||||
When {flags} does not contain "S" or "s" then fsync is called
|
||||
if the 'fsync' option is set.
|
||||
When {flags} does not contain "S" or "s" then fsync() is
|
||||
called if the 'fsync' option is set.
|
||||
When {flags} contains "S" then fsync() is not called, even
|
||||
when 'fsync' is set.
|
||||
|
||||
@@ -8950,8 +9257,12 @@ persistent_undo Compiled with support for persistent undo history.
|
||||
postscript Compiled with PostScript file printing.
|
||||
printer Compiled with |:hardcopy| support.
|
||||
profile Compiled with |:profile| support.
|
||||
python Compiled with Python 2.x interface. |has-python|
|
||||
python3 Compiled with Python 3.x interface. |has-python|
|
||||
python Python 2.x interface available. |has-python|
|
||||
python_compiled Compiled with Python 2.x interface. |has-python|
|
||||
python_dynamic Python 2.x interface is dynamically loaded. |has-python|
|
||||
python3 Python 3.x interface available. |has-python|
|
||||
python3_compiled Compiled with Python 3.x interface. |has-python|
|
||||
python3_dynamic Python 3.x interface is dynamically loaded. |has-python|
|
||||
pythonx Compiled with |python_x| interface. |has-pythonx|
|
||||
qnx QNX version of Vim.
|
||||
quickfix Compiled with |quickfix| support.
|
||||
@@ -8993,6 +9304,8 @@ ttyout output is a terminal (tty)
|
||||
unix Unix version of Vim. *+unix*
|
||||
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
|
||||
user_commands User-defined commands.
|
||||
vcon Win32: Virtual console support is working, can use
|
||||
'termguicolors'. Also see |+vtp|.
|
||||
vertsplit Compiled with vertically split windows |:vsplit|.
|
||||
vim_starting True while initial source'ing takes place. |startup|
|
||||
*vim_starting*
|
||||
@@ -9003,6 +9316,8 @@ visualextra Compiled with extra Visual mode commands.
|
||||
|blockwise-operators|.
|
||||
vms VMS version of Vim.
|
||||
vreplace Compiled with |gR| and |gr| commands.
|
||||
vtp Compiled for vcon support |+vtp| (check vcon to find
|
||||
out if it works in the current console).
|
||||
wildignore Compiled with 'wildignore' option.
|
||||
wildmenu Compiled with 'wildmenu' option.
|
||||
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
|
||||
@@ -9241,8 +9556,7 @@ may be larger.
|
||||
It is also possible to define a function without any arguments. You must
|
||||
still supply the () then.
|
||||
|
||||
It is allowed to define another function inside a function
|
||||
body.
|
||||
It is allowed to define another function inside a function body.
|
||||
|
||||
*local-variables*
|
||||
Inside a function local variables can be used. These will disappear when the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.0. Last change: 2017 Oct 10
|
||||
*filetype.txt* For Vim version 8.0. Last change: 2018 Apr 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -319,6 +319,10 @@ then Vim will load all plugins in these directories and below:
|
||||
|
||||
Note that the last one is the value of $VIMRUNTIME which has been expanded.
|
||||
|
||||
Note that when using a plugin manager or |packages| many directories will be
|
||||
added to 'runtimepath'. These plugins earch require their own directory,
|
||||
don't put them directly in ~/.vim/plugin.
|
||||
|
||||
What if it looks like your plugin is not being loaded? You can find out what
|
||||
happens when Vim starts up by using the |-V| argument: >
|
||||
|
||||
@@ -602,51 +606,17 @@ MANPAGER *manpager.vim*
|
||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||
manpages and follows linked manpages on hitting CTRL-]).
|
||||
|
||||
Tested on:
|
||||
|
||||
- Linux
|
||||
- Mac OS
|
||||
- FreeBSD
|
||||
- OpenBSD
|
||||
- Cygwin
|
||||
- Win 10 under Bash
|
||||
|
||||
Untested:
|
||||
|
||||
- Amiga OS
|
||||
- BeOS
|
||||
- OS/2
|
||||
|
||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
|
||||
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
|
||||
manpager does not correctly recognize manpages whose title contains a capital
|
||||
letter. See the discussion on
|
||||
|
||||
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
|
||||
|
||||
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||
|
||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||
export MANPAGER="vim -M +MANPAGER -"
|
||||
|
||||
For (t)csh, add to the config file
|
||||
|
||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
setenv MANPAGER "vim -M +MANPAGER -"
|
||||
|
||||
For fish, add to the config file
|
||||
|
||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||
|
||||
On OpenBSD:
|
||||
|
||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
|
||||
|
||||
If you experience still issues on manpages whose titles do not contain capital
|
||||
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
|
||||
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
|
||||
|
||||
https://github.com/vim/vim/issues/1002
|
||||
|
||||
set -x MANPAGER "vim -M +MANPAGER -"
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
@@ -669,7 +639,7 @@ By default the following options are set, in accordance with PEP8: >
|
||||
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
|
||||
|
||||
To disable this behaviour, set the following variable in your vimrc: >
|
||||
|
||||
|
||||
let g:python_recommended_style = 0
|
||||
|
||||
|
||||
@@ -706,4 +676,23 @@ You can change the default by defining the variable g:tex_flavor to the format
|
||||
Currently no other formats are recognized.
|
||||
|
||||
|
||||
VIM *ft-vim-plugin*
|
||||
|
||||
The Vim filetype plugin defines mappings to move to the start and end of
|
||||
functions with [[ and ]]. Move around comments with ]" and [".
|
||||
|
||||
The mappings can be disabled with: >
|
||||
let g:no_vim_maps = 1
|
||||
|
||||
|
||||
ZIMBU *ft-zimbu-plugin*
|
||||
|
||||
The Zimbu filetype plugin defines mappings to move to the start and end of
|
||||
functions with [[ and ]].
|
||||
|
||||
The mappings can be disabled with: >
|
||||
let g:no_zimbu_maps = 1
|
||||
<
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||
*gui.txt* For Vim version 8.0. Last change: 2018 Mar 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -134,7 +134,7 @@ task bar with the 'guiheadroom' option.
|
||||
:winp[os]
|
||||
Display current position of the top left corner of the GUI vim
|
||||
window in pixels. Does not work in all versions.
|
||||
Also see |getwinposx()| and |getwinposy()|.
|
||||
Also see |getwinpos()|, |getwinposx()| and |getwinposy()|.
|
||||
|
||||
:winp[os] {X} {Y} *E466*
|
||||
Put the GUI vim window at the given {X} and {Y} coordinates.
|
||||
@@ -992,10 +992,14 @@ it behaves in a strange way.
|
||||
:popu[p] {name} Popup the menu {name}. The menu named must
|
||||
have at least one subentry, but need not
|
||||
appear on the menu-bar (see |hidden-menus|).
|
||||
{only available for Win32 and GTK GUI}
|
||||
{only available for Win32 and GTK GUI or in
|
||||
the terminal when compiled with +insert_expand}
|
||||
|
||||
:popu[p]! {name} Like above, but use the position of the mouse
|
||||
pointer instead of the cursor.
|
||||
In the terminal this is the last known
|
||||
position, which is usually at the last click
|
||||
or release (mouse movement is irrelevalt).
|
||||
|
||||
Example: >
|
||||
:popup File
|
||||
@@ -1006,6 +1010,10 @@ pointer if ! was used). >
|
||||
:popup ]Toolbar
|
||||
This creates a popup menu that doesn't exist on the main menu-bar.
|
||||
|
||||
Note that in the GUI the :popup command will return immediately, before a
|
||||
selection has been made. In the terminal the commands waits for the user to
|
||||
make a selection.
|
||||
|
||||
Note that a menu that starts with ']' will not be displayed.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 8.0. Last change: 2017 Jul 28
|
||||
*gui_x11.txt* For Vim version 8.0. Last change: 2018 May 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -53,6 +53,9 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
|
||||
":gui -b".
|
||||
|
||||
"gvim --nofork" does the same as "gvim -f".
|
||||
|
||||
When there are running jobs Vim will not fork, because the processes would no
|
||||
longer be child processes.
|
||||
*E851* *E852*
|
||||
When starting the GUI fails Vim will try to continue running in the terminal.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
||||
*if_cscop.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -468,36 +468,18 @@ license or OS distribution), then you can download it for free from:
|
||||
http://cscope.sourceforge.net/
|
||||
This is released by SCO under the BSD license.
|
||||
|
||||
If you want a newer version of cscope, you will probably have to buy it.
|
||||
According to the (old) nvi documentation:
|
||||
|
||||
You can buy version 13.3 source with an unrestricted license
|
||||
for $400 from AT&T Software Solutions by calling +1-800-462-8146.
|
||||
|
||||
Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
|
||||
which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
|
||||
from World-Wide Exptools Open Source packages page:
|
||||
http://www.bell-labs.com/project/wwexptools/packages.html
|
||||
|
||||
In Solaris 2.x, if you have the C compiler license, you will also have
|
||||
cscope. Both are usually located under /opt/SUNWspro/bin
|
||||
|
||||
SGI developers can also get it. Search for Cscope on this page:
|
||||
http://freeware.sgi.com/index-by-alpha.html
|
||||
https://toolbox.sgi.com/toolbox/utilities/cscope/
|
||||
The second one is for those who have a password for the SGI toolbox.
|
||||
|
||||
There is source to an older version of a cscope clone (called "cs") available
|
||||
on the net. Due to various reasons, this is not supported with Vim.
|
||||
|
||||
The cscope interface/support for Vim was originally written by
|
||||
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
||||
bit of code) was adapted from the cscope interface in nvi. Please report
|
||||
any problems, suggestions, patches, et al., you have for the usage of
|
||||
cscope within Vim to him.
|
||||
bit of code) was adapted from the cscope interface in nvi.
|
||||
*cscope-win32*
|
||||
For a cscope version for Win32 see:
|
||||
http://code.google.com/p/cscope-win32/
|
||||
For a cscope version for Win32 see (seems abandoned):
|
||||
https://code.google.com/archive/p/cscope-win32/
|
||||
|
||||
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
||||
him if you have Win32-specific issues.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 8.0. Last change: 2015 Oct 16
|
||||
*if_perl.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -112,7 +112,7 @@ possible.
|
||||
Here is an overview of the functions that are available to Perl: >
|
||||
|
||||
:perl VIM::Msg("Text") # displays a message
|
||||
:perl VIM::Msg("Error", "ErrorMsg") # displays an error message
|
||||
:perl VIM::Msg("Wrong!", "ErrorMsg") # displays an error message
|
||||
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
||||
:perl VIM::SetOption("ai") # sets a vim option
|
||||
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||
*if_pyth.txt* For Vim version 8.0. Last change: 2018 Jan 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -736,8 +736,8 @@ or 'pythonthreedll' option can be also used to specify the Python DLL.
|
||||
|
||||
The name of the DLL should match the Python version Vim was compiled with.
|
||||
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
|
||||
That is the default value for 'pythondll'. For Python 3 it is python35.dll
|
||||
(Python 3.5). To know for sure edit "gvim.exe" and search for
|
||||
That is the default value for 'pythondll'. For Python 3 it is python36.dll
|
||||
(Python 3.6). To know for sure edit "gvim.exe" and search for
|
||||
"python\d*.dll\c".
|
||||
|
||||
|
||||
@@ -809,7 +809,8 @@ Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
||||
You can test what Python version is available with: >
|
||||
if has('python')
|
||||
echo 'there is Python 2.x'
|
||||
elseif has('python3')
|
||||
endif
|
||||
if has('python3')
|
||||
echo 'there is Python 3.x'
|
||||
endif
|
||||
|
||||
@@ -818,6 +819,24 @@ dynamically, these has() calls will try to load them. If only one can be
|
||||
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
||||
the other one from being available.
|
||||
|
||||
To avoid loading the dynamic library, only check if Vim was compiled with
|
||||
python support: >
|
||||
if has('python_compiled')
|
||||
echo 'compiled with Python 2.x support'
|
||||
if has('python_dynamic')
|
||||
echo 'Python 2.x dynamically loaded'
|
||||
endif
|
||||
endif
|
||||
if has('python3_compiled')
|
||||
echo 'compiled with Python 3.x support'
|
||||
if has('python3_dynamic')
|
||||
echo 'Python 3.x dynamically loaded'
|
||||
endif
|
||||
endif
|
||||
|
||||
This also tells you whether Python is dynamically loaded, which will fail if
|
||||
the runtime library cannot be found.
|
||||
|
||||
==============================================================================
|
||||
11. Python X *python_x* *pythonx*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 8.0. Last change: 2016 Sep 01
|
||||
*if_ruby.txt* For Vim version 8.0. Last change: 2018 Mar 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -221,6 +221,9 @@ for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
|
||||
If you want to build Vim with RubyInstaller 1.9 or 2.X using MSVC, you need
|
||||
some tricks. See the src/INSTALLpc.txt for detail.
|
||||
|
||||
If Vim is built with RubyInstaller 2.4 or later, you may also need to add
|
||||
"C:\Ruby<version>\bin\ruby_builtin_dlls" to the PATH environment variable.
|
||||
|
||||
|
||||
Unix ~
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 8.0. Last change: 2014 Dec 06
|
||||
*indent.txt* For Vim version 8.0. Last change: 2018 Apr 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -414,10 +414,10 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
*cino-(*
|
||||
(N When in unclosed parentheses, indent N characters from the line
|
||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||
unclosed parentheses. When N is 0 or the unclosed parentheses
|
||||
is the first non-white character in its line, line up with the
|
||||
next non-white character after the unclosed parentheses.
|
||||
(default 'shiftwidth' * 2).
|
||||
extra unclosed parentheses. When N is 0 or the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
up with the next non-white character after the unclosed
|
||||
parentheses. (default 'shiftwidth' * 2).
|
||||
|
||||
cino= cino=(0 >
|
||||
if (c1 && (c2 || if (c1 && (c2 ||
|
||||
@@ -428,7 +428,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
{ {
|
||||
<
|
||||
*cino-u*
|
||||
uN Same as (N, but for one level deeper. (default 'shiftwidth').
|
||||
uN Same as (N, but for one nesting level deeper.
|
||||
(default 'shiftwidth').
|
||||
|
||||
cino= cino=u2 >
|
||||
if (c123456789 if (c123456789
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.0. Last change: 2017 Aug 02
|
||||
*index.txt* For Vim version 8.0. Last change: 2018 Apr 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -959,7 +959,7 @@ tag command note action in Visual mode ~
|
||||
|v_i{| i{ same as iB
|
||||
|v_i}| i} same as iB
|
||||
|v_o| o move cursor to other corner of area
|
||||
|v_r| r 2 delete highlighted area and start insert
|
||||
|v_r| r 2 replace highlighted area with a character
|
||||
|v_s| s 2 delete highlighted area and start insert
|
||||
|v_u| u 2 make highlighted area lowercase
|
||||
|v_v| v make Visual mode characterwise or stop
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
|
||||
*insert.txt* For Vim version 8.0. Last change: 2018 Feb 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -433,7 +433,7 @@ An example for using CTRL-G U: >
|
||||
inoremap ( ()<C-G>U<Left>
|
||||
|
||||
This makes it possible to use the cursor keys in Insert mode, without breaking
|
||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||
Also entering a text like (with the "(" mapping from above): >
|
||||
|
||||
Lorem ipsum (dolor
|
||||
@@ -1103,6 +1103,8 @@ items:
|
||||
item with the same word is already present.
|
||||
empty when non-zero this match will be added even when it is
|
||||
an empty string
|
||||
user_data custom data which is associated with the item and
|
||||
available in |v:completed_item|
|
||||
|
||||
All of these except "icase", "dup" and "empty" must be a string. If an item
|
||||
does not meet these requirements then an error message is given and further
|
||||
@@ -1196,6 +1198,8 @@ The menu is used when:
|
||||
|
||||
The 'pumheight' option can be used to set a maximum height. The default is to
|
||||
use all space available.
|
||||
The 'pumwidth' option can be used to set a minimum width. The default is 15
|
||||
characters.
|
||||
|
||||
There are three states:
|
||||
1. A complete match has been inserted, e.g., after using CTRL-N or CTRL-P.
|
||||
@@ -1296,7 +1300,8 @@ it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
A compiled .exe for MS-Windows can be found at:
|
||||
http://georgevreilly.com/vim/ctags.html
|
||||
http://ctags.sourceforge.net/
|
||||
https://github.com/universal-ctags/ctags-win32
|
||||
|
||||
If you want to complete system functions you can do something like this. Use
|
||||
ctags to generate a tags file for all the system header files: >
|
||||
@@ -1472,7 +1477,7 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
||||
|
||||
Notes:
|
||||
- Vim will load/evaluate code in order to provide completions. This may
|
||||
cause some code execution, which may be a concern. This is no longer
|
||||
cause some code execution, which may be a concern. This is no longer
|
||||
enabled by default, to enable this feature add >
|
||||
let g:rubycomplete_buffer_loading = 1
|
||||
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
||||
@@ -1528,15 +1533,15 @@ that begin with the filetype, "php", in this case. For example these syntax
|
||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||
phpFunctions.
|
||||
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
||||
I can see some of these entries: >
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of
|
||||
autoload\syntaxcomplete.vim) to add items. Looking at the output from
|
||||
":syntax list" while editing a PHP file I can see some of these entries: >
|
||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||
|
||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
a regex string: >
|
||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
@@ -1549,9 +1554,9 @@ highlight. These items will be available within the omni completion list.
|
||||
|
||||
Some people may find this list unwieldy or are only interested in certain
|
||||
items. There are two ways to prune this list (if necessary). If you find
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
syntax groups. Simply add one the following to your vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||
@@ -1574,22 +1579,22 @@ vimrc: >
|
||||
|
||||
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
||||
This function can be used to request a List of syntax items. When editing a
|
||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||
various groups and syntax items. For example: >
|
||||
syntax list
|
||||
syntax list
|
||||
|
||||
Yields data similar to this: >
|
||||
sqlOperator xxx some prior all like and any escape exists in is not
|
||||
or intersect minus between distinct
|
||||
links to Operator
|
||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
|
||||
date money long tinyint unsigned xml text smalldate
|
||||
double datetime nchar smallint numeric time bit char
|
||||
varbinary binary smallmoney
|
||||
image float integer timestamp real decimal
|
||||
Yields data similar to this:
|
||||
sqlOperator xxx some prior all like and any escape exists in is not ~
|
||||
or intersect minus between distinct ~
|
||||
links to Operator ~
|
||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier ~
|
||||
date money long tinyint unsigned xml text smalldate ~
|
||||
double datetime nchar smallint numeric time bit char ~
|
||||
varbinary binary smallmoney ~
|
||||
image float integer timestamp real decimal ~
|
||||
|
||||
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
||||
a List of syntax items you can call OmniSyntaxList a number of different
|
||||
a List of syntax items you can call OmniSyntaxList a number of different
|
||||
ways. To retrieve all syntax items regardless of syntax group: >
|
||||
echo OmniSyntaxList( [] )
|
||||
|
||||
@@ -1606,7 +1611,6 @@ From within a plugin, you would typically assign the output to a List: >
|
||||
let myKeywords = []
|
||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||
|
||||
|
||||
|
||||
SQL *ft-sql-omni*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.0. Last change: 2017 Sep 04
|
||||
*intro.txt* For Vim version 8.0. Last change: 2018 Jan 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -138,7 +138,7 @@ There are two ways to report bugs, both work:
|
||||
see the message. If you don't want that, e.g. because it is a security
|
||||
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||
(that's Bram).
|
||||
2. Open issue on GitHub: https://github.com/vim/vim/issues
|
||||
2. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||
The text will be forwarded to the vim-dev maillist.
|
||||
|
||||
Please be brief; all the time that is spent on answering mail is subtracted
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
*map.txt* For Vim version 8.0. Last change: 2018 May 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -542,9 +542,9 @@ scenario: >
|
||||
:imap <M-C> foo
|
||||
:set encoding=utf-8
|
||||
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
|
||||
byte. If you type the character <EFBFBD> (0xe1 <M-a>) in UTF-8 encoding this is the
|
||||
byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the
|
||||
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
|
||||
otherwise it would be impossible to type the <EFBFBD> character.
|
||||
otherwise it would be impossible to type the á character.
|
||||
|
||||
*<Leader>* *mapleader*
|
||||
To define a mapping which uses the "mapleader" variable, the special string
|
||||
@@ -1272,6 +1272,7 @@ By default, the arguments of user defined commands do not undergo completion.
|
||||
However, by specifying one or the other of the following attributes, argument
|
||||
completion can be enabled:
|
||||
|
||||
-complete=arglist file names in argument list
|
||||
-complete=augroup autocmd groups
|
||||
-complete=buffer buffer names
|
||||
-complete=behave :behave suboptions
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.0. Last change: 2016 Jul 21
|
||||
*mbyte.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|.
|
||||
7. Input on X11 |mbyte-XIM|
|
||||
8. Input on MS-Windows |mbyte-IME|
|
||||
9. Input with a keymap |mbyte-keymap|
|
||||
10. Using UTF-8 |mbyte-utf8|
|
||||
11. Overview of options |mbyte-options|
|
||||
10. Input with imactivatefunc() |mbyte-func|
|
||||
11. Using UTF-8 |mbyte-utf8|
|
||||
12. Overview of options |mbyte-options|
|
||||
|
||||
NOTE: This file contains UTF-8 characters. These may show up as strange
|
||||
characters or boxes when using another encoding.
|
||||
@@ -1254,7 +1255,35 @@ Combining forms:
|
||||
ﭏ 0xfb4f Xal alef-lamed
|
||||
|
||||
==============================================================================
|
||||
10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||
10. Input with imactivatefunc() *mbyte-func*
|
||||
|
||||
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
|
||||
activate/deactivate the input method from Vim in any way, also with an external
|
||||
command. For example, fcitx provide fcitx-remote command: >
|
||||
|
||||
set iminsert=2
|
||||
set imsearch=2
|
||||
set imcmdline
|
||||
|
||||
set imactivatefunc=ImActivate
|
||||
function! ImActivate(active)
|
||||
if a:active
|
||||
call system('fcitx-remote -o')
|
||||
else
|
||||
call system('fcitx-remote -c')
|
||||
endif
|
||||
endfunction
|
||||
|
||||
set imstatusfunc=ImStatus
|
||||
function! ImStatus()
|
||||
return system('fcitx-remote')[0] is# '2'
|
||||
endfunction
|
||||
|
||||
Using this script, you can activate/deactivate XIM via Vim even when it is not
|
||||
compiled with |+xim|.
|
||||
|
||||
==============================================================================
|
||||
11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||
*Unicode* *unicode*
|
||||
The Unicode character set was designed to include all characters from other
|
||||
character sets. Therefore it is possible to write text in any language using
|
||||
@@ -1402,7 +1431,7 @@ not everybody is able to type a composing character.
|
||||
|
||||
|
||||
==============================================================================
|
||||
11. Overview of options *mbyte-options*
|
||||
12. Overview of options *mbyte-options*
|
||||
|
||||
These options are relevant for editing multi-byte files. Check the help in
|
||||
options.txt for detailed information.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||
*message.txt* For Vim version 8.0. Last change: 2018 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -76,7 +76,7 @@ See `:messages` above.
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* >
|
||||
*E323* *E341* *E473* *E570* *E685* *E950* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
@@ -97,6 +97,7 @@ LIST OF MESSAGES
|
||||
Internal error
|
||||
Internal error: {function}
|
||||
fatal error in cs_manage_matches
|
||||
Invalid count for del_bytes(): {N}
|
||||
|
||||
This is an internal error. If you can reproduce it, please send in a bug
|
||||
report. |bugs|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 8.0. Last change: 2017 Mar 04
|
||||
*mlang.txt* For Vim version 8.0. Last change: 2018 May 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -190,8 +190,8 @@ you can do it without restarting Vim: >
|
||||
:source $VIMRUNTIME/menu.vim
|
||||
|
||||
Each part of a menu path is translated separately. The result is that when
|
||||
"Help" is translated to "Hilfe" and "Overview" to "<EFBFBD>berblick" then
|
||||
"Help.Overview" will be translated to "Hilfe.<EFBFBD>berblick".
|
||||
"Help" is translated to "Hilfe" and "Overview" to "Überblick" then
|
||||
"Help.Overview" will be translated to "Hilfe.Überblick".
|
||||
|
||||
==============================================================================
|
||||
3. Scripts *multilang-scripts*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||
*options.txt* For Vim version 8.0. Last change: 2018 Apr 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -50,7 +50,7 @@ achieve special effects. These options come in three forms:
|
||||
:se[t] {option}&vi Reset option to its Vi default value. {not in Vi}
|
||||
:se[t] {option}&vim Reset option to its Vim default value. {not in Vi}
|
||||
|
||||
:se[t] all& Set all options to their default value. The values of
|
||||
:se[t] all& Set all options to their default value. The values of
|
||||
these options are not changed:
|
||||
all terminal options, starting with t_
|
||||
'columns'
|
||||
@@ -402,8 +402,8 @@ Setting the filetype
|
||||
used to set the option value in, unless this is a help
|
||||
window, in which case the window below help window is
|
||||
used (skipping the option-window).
|
||||
{not available when compiled without the |+eval| or
|
||||
|+autocmd| features}
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
|
||||
*$HOME*
|
||||
Using "~" is like using "$HOME", but it is only recognized at the start of an
|
||||
@@ -1087,7 +1087,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< Use 'backupdir' to put the backup in a different directory.
|
||||
|
||||
*'backupskip'* *'bsk'*
|
||||
'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
|
||||
'backupskip' 'bsk' string (default: "$TMPDIR/*,$TMP/*,$TEMP/*"
|
||||
Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
|
||||
Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+wildignore|
|
||||
@@ -1325,7 +1327,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters. It permits dynamic French paragraph
|
||||
indentation (negative) or emphasizing the line
|
||||
continuation (positive).
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
sbr Display the 'showbreak' value before applying the
|
||||
additional indent.
|
||||
The default value for min is 20 and shift is 0.
|
||||
|
||||
@@ -1385,8 +1387,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
written
|
||||
nowrite buffer which will not be written
|
||||
acwrite buffer which will always be written with BufWriteCmd
|
||||
autocommands. {not available when compiled without the
|
||||
|+autocmd| feature}
|
||||
autocommands.
|
||||
quickfix quickfix buffer, contains list of errors |:cwindow|
|
||||
or list of locations |:lwindow|
|
||||
help help buffer (you are not supposed to set this
|
||||
@@ -1808,7 +1809,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'copyindent' + off don't copy indent structure
|
||||
'cpoptions' & (all flags) Vi-compatible flags
|
||||
'cscopepathcomp'+ 0 don't show directories in tags list
|
||||
'cscoperelative'+ off
|
||||
'cscoperelative'+ off don't use basename of path as prefix
|
||||
'cscopetag' + off don't use cscope for ":tag"
|
||||
'cscopetagorder'+ 0 see |cscopetagorder|
|
||||
'cscopeverbose' + off see |cscopeverbose|
|
||||
@@ -2116,7 +2117,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*cpo-E*
|
||||
E It is an error when using "y", "d", "c", "g~", "gu" or
|
||||
"gU" on an Empty region. The operators only work when
|
||||
at least one character is to be operate on. Example:
|
||||
at least one character is to be operated on. Example:
|
||||
This makes "y0" fail in the first column.
|
||||
*cpo-f*
|
||||
f When included, a ":read" command with a file name
|
||||
@@ -2466,8 +2467,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'cursorbind' 'crb' boolean (default off)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+cursorbind|
|
||||
feature}
|
||||
When this option is set, as the cursor in the current
|
||||
window moves other cursorbound windows (windows that also have
|
||||
this option set) move their cursors to the corresponding line and
|
||||
@@ -2634,6 +2633,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
vertical Start diff mode with vertical splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||
starting diff mode. Without this 2 is used.
|
||||
|
||||
@@ -2915,8 +2917,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'eventignore' 'ei' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+autocmd|
|
||||
feature}
|
||||
A list of autocommand event names, which are to be ignored.
|
||||
When set to "all" or when "all" is one of the items, all autocommand
|
||||
events are ignored, autocommands will not be executed.
|
||||
@@ -3165,8 +3165,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'filetype' 'ft' string (default: "")
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+autocmd|
|
||||
feature}
|
||||
When this option is set, the FileType autocommand event is triggered.
|
||||
All autocommands that match with the value of this option will be
|
||||
executed. Thus the value of 'filetype' is used in place of the file
|
||||
@@ -3465,7 +3463,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
when internal formatting is used. Make sure the cursor is kept in the
|
||||
same spot relative to the text then! The |mode()| function will
|
||||
return "i" or "R" in this situation.
|
||||
|
||||
|
||||
When the expression evaluates to non-zero Vim will fall back to using
|
||||
the internal format mechanism.
|
||||
|
||||
@@ -3849,7 +3847,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
To avoid problems with flags that are added in the future, use the
|
||||
"+=" and "-=" feature of ":set" |add-option-flags|.
|
||||
|
||||
Valid letters are as follows:
|
||||
Valid characters are as follows:
|
||||
*'go-!'*
|
||||
'!' External commands are executed in a terminal window. Without
|
||||
this flag the MS-Windows GUI will open a console window to
|
||||
execute the command. The Unix GUI will simulate a dumb
|
||||
terminal to list the command output.
|
||||
The terminal window will be positioned at the bottom, and grow
|
||||
upwards as needed.
|
||||
*guioptions_a* *'go-a'*
|
||||
'a' Autoselect: If present, then whenever VISUAL mode is started,
|
||||
or the Visual area extended, Vim tries to become the owner of
|
||||
@@ -4256,10 +4261,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imactivatefunc' 'imaf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
{only available when compiled with |+mbyte|}
|
||||
This option specifies a function that will be called to
|
||||
activate/inactivate Input Method.
|
||||
activate or deactivate the Input Method.
|
||||
It is not used in the GUI.
|
||||
|
||||
Example: >
|
||||
function ImActivateFunc(active)
|
||||
@@ -4308,8 +4313,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imcmdline' 'imc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime| features}
|
||||
{only available when compiled with |+mbyte|}
|
||||
When set the Input Method is always on when starting to edit a command
|
||||
line, unless entering a search pattern (see 'imsearch' for that).
|
||||
Setting this option is useful when your input method allows entering
|
||||
@@ -4320,8 +4324,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime| features}
|
||||
{only available when compiled with |+mbyte|}
|
||||
When set the Input Method is never used. This is useful to disable
|
||||
the IM when it doesn't work properly.
|
||||
Currently this option is on by default for SGI/IRIX machines. This
|
||||
@@ -4336,8 +4339,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
0 :lmap is off and IM is off
|
||||
1 :lmap is ON and IM is off
|
||||
2 :lmap is off and IM is ON
|
||||
2 is available only when compiled with the |+multi_byte_ime|, |+xim|
|
||||
or |global-ime|.
|
||||
To always reset the option to zero when leaving Insert mode with <Esc>
|
||||
this can be used: >
|
||||
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
||||
@@ -4350,6 +4351,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The value 0 may not work correctly with Athena and Motif with some XIM
|
||||
methods. Use 'imdisable' to disable XIM then.
|
||||
|
||||
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
|
||||
via external command if vim is not compiled with the |+xim|,
|
||||
|+multi_byte_ime| or |global-ime|.
|
||||
|
||||
*'imsearch'* *'ims'*
|
||||
'imsearch' 'ims' number (default -1)
|
||||
local to buffer
|
||||
@@ -4372,10 +4377,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'imstatusfunc' 'imsf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
{only available when compiled with |+mbyte|}
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
It is not used in the GUI.
|
||||
|
||||
Example: >
|
||||
function ImStatusFunc()
|
||||
@@ -4464,8 +4469,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
match may not be found. This is to avoid that Vim hangs while you
|
||||
are typing the pattern.
|
||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||
When 'hlsearch' is on, all matched strings are highlighted too while typing
|
||||
a search command. See also: 'hlsearch'.
|
||||
When 'hlsearch' is on, all matched strings are highlighted too while
|
||||
typing a search command. See also: 'hlsearch'.
|
||||
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||
Example: >
|
||||
@@ -5111,8 +5116,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
Program to use for the ":make" command. See |:make_makeprg|.
|
||||
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
||||
which are expanded to the current and alternate file name. Use |::S|
|
||||
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
|
||||
which are expanded to the current and alternate file name. Use |::S|
|
||||
to escape file names in case they contain special characters.
|
||||
Environment variables are expanded |:set_env|. See |option-backslash|
|
||||
about including spaces and backslashes.
|
||||
@@ -5200,8 +5205,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not in Vi}
|
||||
Maximum amount of memory (in Kbyte) to use for one buffer. When this
|
||||
limit is reached allocating extra memory for a buffer will cause
|
||||
other memory to be freed. The maximum usable value is about 2000000.
|
||||
Use this to work without a limit. Also see 'maxmemtot'.
|
||||
other memory to be freed.
|
||||
The maximum usable value is about 2000000. Use this to work without a
|
||||
limit.
|
||||
The value is ignored when 'swapfile' is off.
|
||||
Also see 'maxmemtot'.
|
||||
|
||||
*'maxmempattern'* *'mmp'*
|
||||
'maxmempattern' 'mmp' number (default 1000)
|
||||
@@ -5230,6 +5238,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
need more than 2 Gbyte for text editing? Keep in mind that text is
|
||||
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
|
||||
need the memory to store undo info.
|
||||
Buffers with 'swapfile' off still count to the total amount of memory
|
||||
used.
|
||||
Also see 'maxmem'.
|
||||
|
||||
*'menuitems'* *'mis'*
|
||||
@@ -5326,6 +5336,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
an explanation.
|
||||
When 'buftype' is "nowrite" or "nofile" this option may be set, but
|
||||
will be ignored.
|
||||
Note that the text may actually be the same, e.g. 'modified' is set
|
||||
when using "rA" on an "A".
|
||||
|
||||
*'more'* *'nomore'*
|
||||
'more' boolean (Vim default: on, Vi default: off)
|
||||
@@ -5414,6 +5426,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
In the "popup" model the right mouse button produces a pop-up menu.
|
||||
You need to define this first, see |popup-menu|.
|
||||
In a terminal the popup menu works if Vim is compiled with the
|
||||
|+insert_expand| option.
|
||||
|
||||
Note that you can further refine the meaning of buttons with mappings.
|
||||
See |gui-mouse-mapping|. But mappings are NOT used for modeless
|
||||
@@ -5746,11 +5760,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
copy of the original file will be kept. The name of the copy is the
|
||||
name of the original file with the string in the 'patchmode' option
|
||||
appended. This option should start with a dot. Use a string like
|
||||
".org". 'backupdir' must not be empty for this to work (Detail: The
|
||||
backup file is renamed to the patchmode file after the new file has
|
||||
been successfully written, that's why it must be possible to write a
|
||||
backup file). If there was no file to be backed up, an empty file is
|
||||
created.
|
||||
".orig" or ".org". 'backupdir' must not be empty for this to work
|
||||
(Detail: The backup file is renamed to the patchmode file after the
|
||||
new file has been successfully written, that's why it must be possible
|
||||
to write a backup file). If there was no file to be backed up, an
|
||||
empty file is created.
|
||||
When the 'backupskip' pattern matches, a patchmode file is not made.
|
||||
Using 'patchmode' for compressed files appends the extension at the
|
||||
end (e.g., "file.gz.orig"), thus the resulting name isn't always
|
||||
@@ -5952,6 +5966,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Insert mode completion. When zero as much space as available is used.
|
||||
|ins-completion-menu|.
|
||||
|
||||
*'pumwidth'* *'pw'*
|
||||
'pumwidth' 'pw' number (default 15)
|
||||
global
|
||||
{not available when compiled without the
|
||||
|+insert_expand| feature}
|
||||
{not in Vi}
|
||||
Determines the minimum width to use for the popup menu for Insert mode
|
||||
completion. |ins-completion-menu|.
|
||||
|
||||
*'pythondll'*
|
||||
'pythondll' string (default depends on the build)
|
||||
global
|
||||
@@ -5962,6 +5985,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
DYNAMIC_PYTHON_DLL, which was specified at compile time.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pythonhome'*
|
||||
'pythonhome' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+python/dyn|
|
||||
feature}
|
||||
Specifies the name of the Python 2.x home directory. When 'pythonhome'
|
||||
and the PYTHONHOME environment variable are not set, PYTHON_HOME,
|
||||
which was specified at compile time, will be used for the Python 2.x
|
||||
home directory.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pythonthreedll'*
|
||||
@@ -5974,6 +6011,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pythonthreehome'*
|
||||
'pythonthreehome' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+python3/dyn|
|
||||
feature}
|
||||
Specifies the name of the Python 3 home directory. When
|
||||
'pythonthreehome' and the PYTHONHOME environment variable are not set,
|
||||
PYTHON3_HOME, which was specified at compile time, will be used for
|
||||
the Python 3 home directory.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pyxversion'* *'pyx'*
|
||||
@@ -6033,7 +6084,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{only available when compiled with the |+reltime|
|
||||
feature}
|
||||
The time in milliseconds for redrawing the display. This applies to
|
||||
searching for patterns for 'hlsearch', |:match| highlighting an syntax
|
||||
searching for patterns for 'hlsearch', |:match| highlighting and syntax
|
||||
highlighting.
|
||||
When redrawing takes more than this many milliseconds no further
|
||||
matches will be highlighted.
|
||||
@@ -6077,7 +6128,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
|
||||
|
||||
The number in front of the cursor line also depends on the value of
|
||||
'number', see |number_relativenumber| for all combinations of the two
|
||||
options.
|
||||
@@ -6119,9 +6170,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
geom pixelGeometry int 0 - 2 (see below)
|
||||
renmode renderingMode int 0 - 6 (see below)
|
||||
taamode textAntialiasMode int 0 - 3 (see below)
|
||||
scrlines Scroll Lines int (deprecated)
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
See this URL for detail (except for scrlines):
|
||||
https://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||
|
||||
For geom: structure of a device pixel.
|
||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||
@@ -6129,7 +6181,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||
|
||||
For renmode: method of rendering glyphs.
|
||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||
@@ -6141,7 +6193,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||
|
||||
For taamode: antialiasing mode used for drawing text.
|
||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||
@@ -6150,15 +6202,41 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||
|
||||
See this URL for detail:
|
||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
https://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||
|
||||
For scrlines:
|
||||
This was used for optimizing scrolling behavior, however this
|
||||
is now deprecated. If specified, it is simply ignored.
|
||||
|
||||
Example: >
|
||||
set encoding=utf-8
|
||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
||||
set gfn=Ricty_Diminished:h12
|
||||
set rop=type:directx
|
||||
<
|
||||
If select a raster font (Courier, Terminal or FixedSys) to
|
||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
||||
If select a raster font (Courier, Terminal or FixedSys which
|
||||
have ".fon" extension in file name) to 'guifont', it will be
|
||||
drawn by GDI as a fallback.
|
||||
|
||||
NOTE: It is known that some fonts and options combination
|
||||
causes trouble on drawing glyphs.
|
||||
|
||||
- 'renmode:5' and 'renmode:6' will not work with some
|
||||
special made fonts (True-Type fonts which includes only
|
||||
bitmap glyphs).
|
||||
- 'taamode:3' will not work with some vector fonts.
|
||||
|
||||
NOTE: With this option, you can display colored emoji
|
||||
(emoticon) in Windows 8.1 or later. To display colored emoji,
|
||||
there are some conditions which you should notice.
|
||||
|
||||
- If your font includes non-colored emoji already, it will
|
||||
be used.
|
||||
- If your font doesn't have emoji, the system chooses an
|
||||
alternative symbol font. On Windows 10, "Segoe UI Emoji"
|
||||
will be used.
|
||||
- When this alternative font didn't have fixed width glyph,
|
||||
emoji might be rendered beyond the bounding box of drawing
|
||||
cell.
|
||||
|
||||
Other render types are currently not supported.
|
||||
|
||||
@@ -6369,6 +6447,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
to find files which replace a distributed runtime files. You can put
|
||||
a directory after $VIMRUNTIME to find files which add to distributed
|
||||
runtime files.
|
||||
When Vim is started with |--clean| the home directory entries are not
|
||||
included.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -6387,8 +6467,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'scrollbind' 'scb' boolean (default off)
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+scrollbind|
|
||||
feature}
|
||||
See also |scroll-binding|. When this option is set, the current
|
||||
window scrolls as other scrollbind windows (windows that also have
|
||||
this option set) scroll. This option is useful for viewing the
|
||||
@@ -6426,8 +6504,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'scrollopt'* *'sbo'*
|
||||
'scrollopt' 'sbo' string (default "ver,jump")
|
||||
global
|
||||
{not available when compiled without the |+scrollbind|
|
||||
feature}
|
||||
{not in Vi}
|
||||
This is a comma-separated list of words that specifies how
|
||||
'scrollbind' windows should behave. 'sbo' stands for ScrollBind
|
||||
@@ -6517,7 +6593,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'sessionoptions'* *'ssop'*
|
||||
'sessionoptions' 'ssop' string (default: "blank,buffers,curdir,folds,
|
||||
help,options,tabpages,winsize")
|
||||
help,options,tabpages,winsize,terminal")
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+mksession|
|
||||
@@ -6549,6 +6625,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
tabpages all tab pages; without this only the current tab page
|
||||
is restored, so that you can make a session for each
|
||||
tab page separately
|
||||
terminal include terminal windows where the command can be restored
|
||||
unix with Unix end-of-line format (single <NL>), even when
|
||||
on Windows or DOS
|
||||
winpos position of the whole Vim window
|
||||
@@ -6572,14 +6649,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
It is allowed to give an argument to the command, e.g. "csh -f".
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
Environment variables are expanded |:set_env|.
|
||||
|
||||
If the name of the shell contains a space, you might need to enclose
|
||||
it in quotes. Example: >
|
||||
it in quotes or escape the space. Example with quotes: >
|
||||
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
||||
< Note the backslash before each quote (to avoid starting a comment) and
|
||||
each space (to avoid ending the option value). Also note that the
|
||||
"-f" is not inside the quotes, because it is not part of the command
|
||||
name. And Vim automagically recognizes the backslashes that are path
|
||||
name. Vim automagically recognizes the backslashes that are path
|
||||
separators.
|
||||
Example with escaped space (Vim will do this when initializing the
|
||||
option from $SHELL): >
|
||||
:set shell=/bin/with\\\ space/sh
|
||||
< The resulting value of 'shell' is "/bin/with\ space/sh", two
|
||||
backslashes are consumed by `:set`.
|
||||
|
||||
Under MS-Windows, when the executable ends in ".com" it must be
|
||||
included. Thus setting the shell to "command.com" or "4dos.com"
|
||||
works, but "command" and "4dos" do not work for all commands (e.g.,
|
||||
@@ -7337,7 +7421,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
W F Preview window flag, text is ",PRV".
|
||||
y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
|
||||
Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
|
||||
{not available when compiled without |+autocmd| feature}
|
||||
q S "[Quickfix List]", "[Location List]" or empty.
|
||||
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
|
||||
being used: "<keymap>"
|
||||
@@ -7361,7 +7444,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
a S Argument list status as in default title. ({current} of {max})
|
||||
Empty if the argument file count is zero or one.
|
||||
{ NF Evaluate expression between '%{' and '}' and substitute result.
|
||||
Note that there is no '%' before the closing '}'.
|
||||
Note that there is no '%' before the closing '}'. The
|
||||
expression cannot contain a '}' character, call a function to
|
||||
work around that.
|
||||
( - Start of item group. Can be used for setting the width and
|
||||
alignment of a section. Must be followed by %) somewhere.
|
||||
) - End of item group. No width fields allowed.
|
||||
@@ -7482,6 +7567,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Also see |swap-file| and |'swapsync'|.
|
||||
If you want to open a new buffer without creating a swap file for it,
|
||||
use the |:noswapfile| modifier.
|
||||
See 'directory' for where the swap file is created.
|
||||
|
||||
This option is used together with 'bufhidden' and 'buftype' to
|
||||
specify special kinds of buffers. See |special-buffers|.
|
||||
@@ -7828,46 +7914,71 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set encoding=utf-8
|
||||
< You need to do this when your system has no locale support for UTF-8.
|
||||
|
||||
*'termguicolors'* *'tgc'*
|
||||
*'termguicolors'* *'tgc'* *E954*
|
||||
'termguicolors' 'tgc' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+termguicolors| feature}
|
||||
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
|
||||
the terminal (thus using 24-bit color). Requires a ISO-8613-3
|
||||
compatible terminal.
|
||||
If setting this option does not work (produces a colorless UI)
|
||||
reading |xterm-true-color| might help.
|
||||
the terminal (thus using 24-bit color).
|
||||
|
||||
Requires a ISO-8613-3 compatible terminal. If setting this option
|
||||
does not work (produces a colorless UI) reading |xterm-true-color|
|
||||
might help.
|
||||
|
||||
For Win32 console, Windows 10 version 1703 (Creators Update) or later
|
||||
is required. Use this check to find out: >
|
||||
if has('vcon')
|
||||
< This requires Vim to be built with the |+vtp| feature.
|
||||
|
||||
Note that the "cterm" attributes are still used, not the "gui" ones.
|
||||
NOTE: This option is reset when 'compatible' is set.
|
||||
|
||||
*'termkey'* *'tk'*
|
||||
'termkey' 'tk' string (default "")
|
||||
*'termwinscroll'* *'twsl'*
|
||||
'termwinscroll' 'twsl' number (default 10000)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
{not available when compiled without the
|
||||
|+terminal| feature}
|
||||
Number of scrollback lines to keep. When going over this limit the
|
||||
first 10% of the scrollback lines are deleted. This is just to reduce
|
||||
the memory usage. See |Terminal-Normal|.
|
||||
|
||||
*'termwinkey'* *'twk'*
|
||||
'termwinkey' 'twk' string (default "")
|
||||
local to window
|
||||
{not in Vi}
|
||||
The key that starts a CTRL-W command in a terminal window. Other keys
|
||||
are sent to the job running in the window.
|
||||
The <> notation can be used, e.g.: >
|
||||
:set termkey=<C-L>
|
||||
:set termwinkey=<C-L>
|
||||
< The string must be one key stroke but can be multiple bytes.
|
||||
When not set CTRL-W is used, so that CTRL-W : gets you to the command
|
||||
line. If 'termkey' is set to CTRL-L then CTRL-L : gets you to the
|
||||
line. If 'termwinkey' is set to CTRL-L then CTRL-L : gets you to the
|
||||
command line.
|
||||
|
||||
*'termsize'* *'tms'*
|
||||
'termsize' 'tms' string (default "")
|
||||
*'termwinsize'* *'tws'*
|
||||
'termwinsize' 'tws' string (default "")
|
||||
local to window
|
||||
{not in Vi}
|
||||
Size of the |terminal| window. Format: {rows}x{columns}.
|
||||
Size of the |terminal| window. Format: {rows}x{columns} or
|
||||
{rows}*{columns}.
|
||||
- When empty the terminal gets the size from the window.
|
||||
- When set (e.g., "24x80") the terminal size is not adjusted to the
|
||||
window size. If the window is smaller only the top-left part is
|
||||
displayed.
|
||||
When rows is zero then use the height of the window.
|
||||
When columns is zero then use the width of the window.
|
||||
For example: "30x0" uses 30 rows with the current window width.
|
||||
Using "0x0" is the same as empty.
|
||||
- When set with a "x" (e.g., "24x80") the terminal size is not
|
||||
adjusted to the window size. If the window is smaller only the
|
||||
top-left part is displayed.
|
||||
- When set with a "*" (e.g., "10*50") the terminal size follows the
|
||||
window size, but will not be smaller than the specified rows and/or
|
||||
columns.
|
||||
- When rows is zero then use the height of the window.
|
||||
- When columns is zero then use the width of the window.
|
||||
- Using "0x0" or "0*0" is the same as empty.
|
||||
|
||||
Examples:
|
||||
"30x0" uses 30 rows and the current window width.
|
||||
"20*0" uses at least 20 rows and the current window width.
|
||||
"0*40" uses the current window height and at least 40 columns.
|
||||
Note that the command running in the terminal window may still change
|
||||
the size of the terminal. In that case the Vim window will be
|
||||
adjusted to that size, if possible.
|
||||
@@ -7925,7 +8036,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
non-keyword characters (white space is preferred). Maximum line
|
||||
length is 510 bytes.
|
||||
To obtain a file to be used here, check out this ftp site:
|
||||
[Sorry this link doesn't work anymore, do you know the right one?]
|
||||
[Sorry this link doesn't work anymore, do you know the right one?]
|
||||
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
|
||||
To include a comma in a file name precede it with a backslash. Spaces
|
||||
after a comma are ignored, otherwise spaces are included in the file
|
||||
@@ -8232,7 +8343,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
number, more intelligent detection process runs.
|
||||
The "xterm2" value will be set if the xterm version is reported to be
|
||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||
277 or highter and when Vim detects Mac Terminal.app or Iterm2.
|
||||
277 or higher and when Vim detects Mac Terminal.app or iTerm2.
|
||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||
automatically, set t_RV to an empty string: >
|
||||
:set t_RV=
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mac.txt* For Vim version 8.0. Last change: 2017 Apr 28
|
||||
*os_mac.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -165,7 +165,7 @@ and then run `make` to build Vim. The order of the options doesn't matter.
|
||||
|
||||
To make sure at runtime whether or not the darwin feature is compiled in, you
|
||||
can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
|
||||
otherwise. For backwards comptibility, you can still use `macunix` instead of
|
||||
otherwise. For backward compatibility, you can still use `macunix` instead of
|
||||
`osxdarwin`.
|
||||
|
||||
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 8.0. Last change: 2014 Aug 29
|
||||
*os_vms.txt* For Vim version 8.0. Last change: 2018 May 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -702,13 +702,13 @@ In a cluster that contains nodes with different architectures like below:
|
||||
$show cluster
|
||||
View of Cluster from system ID 11655 node: TOR 18-AUG-2008 11:58:31
|
||||
+---------------------------------+
|
||||
<EFBFBD> SYSTEMS <EFBFBD> MEMBERS <EFBFBD>
|
||||
+-----------------------+---------<EFBFBD>
|
||||
<EFBFBD> NODE <EFBFBD> SOFTWARE <EFBFBD> STATUS <EFBFBD>
|
||||
+--------+--------------+---------<EFBFBD>
|
||||
<EFBFBD> TOR <EFBFBD> VMS V7.3-2 <EFBFBD> MEMBER <EFBFBD>
|
||||
<EFBFBD> TITAN2 <EFBFBD> VMS V8.3 <EFBFBD> MEMBER <EFBFBD>
|
||||
<EFBFBD> ODIN <EFBFBD> VMS V7.3-2 <EFBFBD> MEMBER <EFBFBD>
|
||||
| SYSTEMS | MEMBERS |
|
||||
+-----------------------+---------|
|
||||
| NODE | SOFTWARE | STATUS |
|
||||
+--------+--------------+---------|
|
||||
| TOR | VMS V7.3-2 | MEMBER |
|
||||
| TITAN2 | VMS V8.3 | MEMBER |
|
||||
| ODIN | VMS V7.3-2 | MEMBER |
|
||||
+---------------------------------+
|
||||
|
||||
It is convenient to have a common VIM directory but execute different
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.0. Last change: 2017 Jun 05
|
||||
*pattern.txt* For Vim version 8.0. Last change: 2018 Mar 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -905,7 +905,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
becomes invalid. Vim doesn't automatically update the matches.
|
||||
Similar to moving the cursor for "\%#" |/\%#|.
|
||||
|
||||
*/\%l* */\%>l* */\%<l*
|
||||
*/\%l* */\%>l* */\%<l* *E951*
|
||||
\%23l Matches in a specific line.
|
||||
\%<23l Matches above a specific line (lower line number).
|
||||
\%>23l Matches below a specific line (higher line number).
|
||||
@@ -1166,7 +1166,8 @@ x A single character, with no special meaning, matches itself
|
||||
- Matching with a collection can be slow, because each character in
|
||||
the text has to be compared with each character in the collection.
|
||||
Use one of the other atoms above when possible. Example: "\d" is
|
||||
much faster than "[0-9]" and matches the same characters.
|
||||
much faster than "[0-9]" and matches the same characters. However,
|
||||
the new |NFA| regexp engine deals with this better than the old one.
|
||||
|
||||
*/\%[]* *E69* *E70* *E369*
|
||||
\%[] A sequence of optionally matched atoms. This always matches.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.0. Last change: 2017 Sep 13
|
||||
*quickfix.txt* For Vim version 8.0. Last change: 2018 May 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -64,6 +64,14 @@ When a window with a location list is split, the new window gets a copy of the
|
||||
location list. When there are no longer any references to a location list,
|
||||
the location list is destroyed.
|
||||
|
||||
*quickfix-changedtick*
|
||||
Every quickfix and location list has a read-only changedtick variable that
|
||||
tracks the total number of changes made to the list. Every time the quickfix
|
||||
list is modified, this count is incremented. This can be used to perform an
|
||||
action only when the list has changed. The getqflist() and getloclist()
|
||||
functions can be used to query the current value of changedtick. You cannot
|
||||
change the changedtick variable.
|
||||
|
||||
The following quickfix commands can be used. The location list commands are
|
||||
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
||||
command with 'l'.
|
||||
@@ -322,9 +330,9 @@ deleted for some reason, the message "line changed" is shown to warn you that
|
||||
the error location may not be correct. If you quit Vim and start again the
|
||||
marks are lost and the error locations may not be correct anymore.
|
||||
|
||||
If vim is built with |+autocmd| support, two autocommands are available for
|
||||
running commands before and after a quickfix command (':make', ':grep' and so
|
||||
on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details.
|
||||
Two autocommands are available for running commands before and after a
|
||||
quickfix command (':make', ':grep' and so on) is executed. See
|
||||
|QuickFixCmdPre| and |QuickFixCmdPost| for details.
|
||||
|
||||
*QuickFixCmdPost-example*
|
||||
When 'encoding' differs from the locale, the error messages may have a
|
||||
@@ -341,6 +349,50 @@ use this code: >
|
||||
au QuickfixCmdPost make call QfMakeConv()
|
||||
Another option is using 'makeencoding'.
|
||||
|
||||
*quickfix-title*
|
||||
Every quickfix and location list has a title. By default the title is set to
|
||||
the command that created the list. The |getqflist()| and |getloclist()|
|
||||
functions can be used to get the title of a quickfix and a location list
|
||||
respectively. The |setqflist()| and |setloclist()| functions can be used to
|
||||
modify the title of a quickfix and location list respectively. Examples: >
|
||||
call setqflist([], 'a', {'title' : 'Cmd output'})
|
||||
echo getqflist({'title' : 1})
|
||||
call setloclist(3, [], 'a', {'title' : 'Cmd output'})
|
||||
echo getloclist(3, {'title' : 1})
|
||||
<
|
||||
*quickfix-size*
|
||||
You can get the number of entries (size) in a quickfix and a location list
|
||||
using the |getqflist()| and |getloclist()| functions respectively. Examples: >
|
||||
echo getqflist({'size' : 1})
|
||||
echo getloclist(5, {'size' : 1})
|
||||
<
|
||||
*quickfix-context*
|
||||
Any Vim type can be associated as a context with a quickfix or location list.
|
||||
The |setqflist()| and the |setloclist()| functions can be used to associate a
|
||||
context with a quickfix and a location list respectively. The |getqflist()|
|
||||
and the |getloclist()| functions can be used to retrieve the context of a
|
||||
quickfix and a location list respectively. This is useful for a Vim plugin
|
||||
dealing with multiple quickfix/location lists.
|
||||
Examples: >
|
||||
|
||||
let somectx = {'name' : 'Vim', 'type' : 'Editor'}
|
||||
call setqflist([], 'a', {'context' : somectx})
|
||||
echo getqflist({'context' : 1})
|
||||
|
||||
let newctx = ['red', 'green', 'blue']
|
||||
call setloclist(2, [], 'a', {'id' : qfid, 'context' : newctx})
|
||||
echo getloclist(2, {'id' : qfid, 'context' : 1})
|
||||
<
|
||||
*quickfix-parse*
|
||||
You can parse a list of lines using 'errorformat' without creating or
|
||||
modifying a quickfix list using the |getqflist()| function. Examples: >
|
||||
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
|
||||
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
|
||||
This returns a dictionary where the 'items' key contains the list of quickfix
|
||||
entries parsed from lines. The following shows how to use a custom
|
||||
'errorformat' to parse the lines without modifying the 'errorformat' option: >
|
||||
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
|
||||
<
|
||||
|
||||
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
*:cdo*
|
||||
@@ -367,8 +419,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
autocommand event is disabled by adding it to
|
||||
'eventignore'. This considerably speeds up editing
|
||||
each buffer.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|
||||
|:ldo|, |:cfdo| and |:lfdo|.
|
||||
|
||||
@@ -381,8 +432,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
*:ldo*
|
||||
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
|
||||
@@ -395,8 +445,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
etc.
|
||||
< Only valid entries in the location list are used.
|
||||
Otherwise it works the same as `:cdo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
*:lfdo*
|
||||
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
|
||||
@@ -408,8 +457,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
:{cmd}
|
||||
etc.
|
||||
< Otherwise it works the same as `:ldo`.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
|
||||
=============================================================================
|
||||
2. The error window *quickfix-window*
|
||||
@@ -542,6 +590,103 @@ In all of the above cases, if the location list for the selected window is not
|
||||
yet set, then it is set to the location list displayed in the location list
|
||||
window.
|
||||
|
||||
*quickfix-window-ID*
|
||||
You can use the |getqflist()| and |getloclist()| functions to obtain the
|
||||
window ID of the quickfix window and location list window respectively (if
|
||||
present). Examples: >
|
||||
echo getqflist({'winid' : 1}).winid
|
||||
echo getloclist(2, {'winid' : 1}).winid
|
||||
<
|
||||
*getqflist-examples*
|
||||
The getqflist() and getloclist() functions can be used to get the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
" get the title of the current quickfix list
|
||||
:echo getqflist({'title' : 0}).title
|
||||
|
||||
" get the identifier of the current quickfix list
|
||||
:let qfid = getqflist({'id' : 0}).id
|
||||
|
||||
" get the index of the current quickfix list in the stack
|
||||
:let qfnum = getqflist({'nr' : 0}).nr
|
||||
|
||||
" get the items of a quickfix list specified by an identifier
|
||||
:echo getqflist({'id' : qfid, 'items' : 0}).items
|
||||
|
||||
" get the number of entries in a quickfix list specified by an id
|
||||
:echo getqflist({'id' : qfid, 'size' : 0}).size
|
||||
|
||||
" get the context of the third quickfix list in the stack
|
||||
:echo getqflist({'nr' : 3, 'context' : 0}).context
|
||||
|
||||
" get the number of quickfix lists in the stack
|
||||
:echo getqflist({'nr' : '$'}).nr
|
||||
|
||||
" get the number of times the current quickfix list is changed
|
||||
:echo getqflist({'changedtick' : 0}).changedtick
|
||||
|
||||
" get the current entry in a quickfix list specified by an identifier
|
||||
:echo getqflist({'id' : qfid, 'idx' : 0}).idx
|
||||
|
||||
" get all the quickfix list attributes using an identifier
|
||||
:echo getqflist({'id' : qfid, 'all' : 0})
|
||||
|
||||
" parse text from a List of lines and return a quickfix list
|
||||
:let myList = ["a.java:10:L10", "b.java:20:L20"]
|
||||
:echo getqflist({'lines' : myList}).items
|
||||
|
||||
" parse text using a custom 'efm' and return a quickfix list
|
||||
:echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items
|
||||
|
||||
" get the quickfix list window id
|
||||
:echo getqflist({'winid' : 0}).winid
|
||||
|
||||
" get the context of the current location list
|
||||
:echo getloclist(0, {'context' : 0}).context
|
||||
|
||||
" get the location list window id of the third window
|
||||
:echo getloclist(3, {'winid' : 0}).winid
|
||||
<
|
||||
*setqflist-examples*
|
||||
The setqflist() and setloclist() functions can be used to set the various
|
||||
attributes of a quickfix and location list respectively. Some examples for
|
||||
using these functions are below:
|
||||
>
|
||||
" set the title of the current quickfix list
|
||||
:call setqflist([], 'a', {'title' : 'Mytitle'})
|
||||
|
||||
" set the context of a quickfix list specified by an identifier
|
||||
:call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
|
||||
|
||||
" create a new quickfix list from a command output
|
||||
:call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')})
|
||||
|
||||
" parse text using a custom efm and add to a particular quickfix list
|
||||
:call setqflist([], 'a', {'id' : qfid,
|
||||
\ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'})
|
||||
|
||||
" add items to the quickfix list specified by an identifier
|
||||
:let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"},
|
||||
\ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}]
|
||||
:call setqflist([], 'a', {'id' : qfid, 'items' : newItems})
|
||||
|
||||
" free all the quickfix lists in the stack
|
||||
:call setqflist([], 'f')
|
||||
|
||||
" set the title of the fourth quickfix list
|
||||
:call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'})
|
||||
|
||||
" create a new quickfix list at the end of the stack
|
||||
:call setqflist([], ' ', {'nr' : '$',
|
||||
\ 'lines' : systemlist('grep -Hn class *.java')})
|
||||
|
||||
" create a new location list from a command output
|
||||
:call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')})
|
||||
|
||||
" replace the location list entries for the third window
|
||||
:call setloclist(3, [], 'r', {'items' : newItems})
|
||||
<
|
||||
=============================================================================
|
||||
3. Using more than one list of errors *quickfix-error-lists*
|
||||
|
||||
@@ -586,12 +731,20 @@ list, one newer list is overwritten. This is especially useful if you are
|
||||
browsing with ":grep" |grep|. If you want to keep the more recent error
|
||||
lists, use ":cnewer 99" first.
|
||||
|
||||
To get the number of lists in the quickfix and location list stack, you can
|
||||
use the |getqflist()| and |getloclist()| functions respectively with the list
|
||||
number set to the special value '$'. Examples: >
|
||||
echo getqflist({'nr' : '$'}).nr
|
||||
echo getloclist(3, {'nr' : '$'}).nr
|
||||
To get the number of the current list in the stack: >
|
||||
echo getqflist({'nr' : 0}).nr
|
||||
<
|
||||
=============================================================================
|
||||
4. Using :make *:make_makeprg*
|
||||
|
||||
*:mak* *:make*
|
||||
:mak[e][!] [arguments] 1. If vim was built with |+autocmd|, all relevant
|
||||
|QuickFixCmdPre| autocommands are executed.
|
||||
:mak[e][!] [arguments] 1. All relevant |QuickFixCmdPre| autocommands are
|
||||
executed.
|
||||
2. If the 'autowrite' option is on, write any changed
|
||||
buffers
|
||||
3. An errorfile name is made from 'makeef'. If
|
||||
@@ -603,9 +756,8 @@ lists, use ":cnewer 99" first.
|
||||
errorfile (for Unix it is also echoed on the
|
||||
screen).
|
||||
5. The errorfile is read using 'errorformat'.
|
||||
6. If vim was built with |+autocmd|, all relevant
|
||||
|QuickFixCmdPost| autocommands are executed.
|
||||
See example below.
|
||||
6. All relevant |QuickFixCmdPost| autocommands are
|
||||
executed. See example below.
|
||||
7. If [!] is not given the first error is jumped to.
|
||||
8. The errorfile is deleted.
|
||||
9. You can now move through the errors with commands
|
||||
@@ -1068,6 +1220,7 @@ you want to match case, add "\C" to the pattern |/\C|.
|
||||
Basic items
|
||||
|
||||
%f file name (finds a string)
|
||||
%o module name (finds a string)
|
||||
%l line number (finds a number)
|
||||
%c column number (finds a number representing character
|
||||
column of the error, (1 <tab> == 1 character column))
|
||||
@@ -1104,7 +1257,7 @@ or >
|
||||
to indicate the column of the error. This is to be used in a multi-line error
|
||||
message. See |errorformat-javac| for a useful example.
|
||||
|
||||
The "%s" conversion specifies the text to search for to locate the error line.
|
||||
The "%s" conversion specifies the text to search for, to locate the error line.
|
||||
The text is used as a literal string. The anchors "^" and "$" are added to
|
||||
the text to locate the error line exactly matching the search text and the
|
||||
text is prefixed with the "\V" atom to make it "very nomagic". The "%s"
|
||||
@@ -1112,6 +1265,11 @@ conversion can be used to locate lines without a line number in the error
|
||||
output. Like the output of the "grep" shell command.
|
||||
When the pattern is present the line number will not be used.
|
||||
|
||||
The "%o" conversion specifies the module name in quickfix entry. If present
|
||||
it will be used in quickfix error window instead of the filename. The module
|
||||
name is used only for displaying purposes, the file name is used when jumping
|
||||
to the file.
|
||||
|
||||
Changing directory
|
||||
|
||||
The following uppercase conversion characters specify the type of special
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||
*quickref.txt* For Vim version 8.0. Last change: 2018 Apr 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -618,7 +618,8 @@ Short explanation of each option: *option-list*
|
||||
'backupext' 'bex' extension used for the backup file
|
||||
'backupskip' 'bsk' no backup for files that match these patterns
|
||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||
'ballooneval' 'beval' switch on balloon evaluation
|
||||
'ballooneval' 'beval' switch on balloon evaluation in the GUI
|
||||
'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
|
||||
'balloonexpr' 'bexpr' expression to show in balloon
|
||||
'belloff' 'bo' do not ring the bell for these reasons
|
||||
'binary' 'bin' read/write/edit file in binary mode
|
||||
@@ -837,8 +838,11 @@ Short explanation of each option: *option-list*
|
||||
'printoptions' 'popt' controls the format of :hardcopy output
|
||||
'prompt' 'prompt' enable prompt in Ex mode
|
||||
'pumheight' 'ph' maximum height of the popup menu
|
||||
'pumwidth' 'pw' minimum width of the popup menu
|
||||
'pythondll' name of the Python 2 dynamic library
|
||||
'pythonhome' name of the Python 2 home directory
|
||||
'pythonthreedll' name of the Python 3 dynamic library
|
||||
'pythonthreehome' name of the Python 3 home directory
|
||||
'pyxversion' 'pyx' Python version used for pyx* commands
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
'readonly' 'ro' disallow writing the buffer
|
||||
@@ -923,8 +927,9 @@ Short explanation of each option: *option-list*
|
||||
'termbidi' 'tbidi' terminal takes care of bi-directionality
|
||||
'termencoding' 'tenc' character encoding used by the terminal
|
||||
'termguicolors' 'tgc' use GUI colors for the terminal
|
||||
'termkey' 'tk' key that precedes a Vim command in a terminal
|
||||
'termsize' 'tms' size of a terminal window
|
||||
'termwinkey' 'twk' key that precedes a Vim command in a terminal
|
||||
'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
|
||||
'termwinsize' 'tws' size of a terminal window
|
||||
'terse' shorten some messages
|
||||
'textauto' 'ta' obsolete, use 'fileformats'
|
||||
'textmode' 'tx' obsolete, use 'fileformat'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quotes.txt* For Vim version 8.0. Last change: 2010 Nov 03
|
||||
*quotes.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -18,7 +18,7 @@ Coming with a very GUI mindset from Windows, I always thought of people using
|
||||
Vi as some kind of outer space alien in human clothes. Once I tried I really
|
||||
got addicted by its power and now I found myself typing Vim keypresses in the
|
||||
oddest places! That's why I would like to see Vim embedded in every
|
||||
application which deals with text editing. (Jos<EFBFBD> Fonseca)
|
||||
application which deals with text editing. (José Fonseca)
|
||||
|
||||
I was a 12-year emacs user who switched to Vim about a year ago after finally
|
||||
giving up on the multiple incompatible versions, flaky contributed packages,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
||||
*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -181,7 +181,8 @@ name on the 'VimRegistry' property on the root window.
|
||||
|
||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||
also act as a command server if a server name is explicitly given with the
|
||||
--servername argument.
|
||||
--servername argument, or when Vim was build with the |+autoservername|
|
||||
feature.
|
||||
|
||||
An empty --servername argument will cause the command server to be disabled.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10
|
||||
*repeat.txt* For Vim version 8.0. Last change: 2018 Mar 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -242,6 +242,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
If the directory pack/*/opt/{name}/after exists it is
|
||||
added at the end of 'runtimepath'.
|
||||
|
||||
If loading packages from "pack/*/start" was skipped,
|
||||
then this directory is searched first:
|
||||
pack/*/start/{name} ~
|
||||
|
||||
Note that {name} is the directory name, not the name
|
||||
of the .vim file. All the files matching the pattern
|
||||
pack/*/opt/{name}/plugin/**/*.vim ~
|
||||
@@ -261,6 +265,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
loaded during initialization, see |load-plugins|.
|
||||
|
||||
Also see |pack-add|.
|
||||
{only available when compiled with +eval}
|
||||
|
||||
*:packl* *:packloadall*
|
||||
:packl[oadall][!] Load all packages in the "start" directory under each
|
||||
@@ -284,6 +289,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
An error only causes sourcing the script where it
|
||||
happens to be aborted, further plugins will be loaded.
|
||||
See |packages|.
|
||||
{only available when compiled with +eval}
|
||||
|
||||
:scripte[ncoding] [encoding] *:scripte* *:scriptencoding* *E167*
|
||||
Specify the character encoding used in the script.
|
||||
@@ -802,6 +808,19 @@ DEFINING BREAKPOINTS
|
||||
< Note that this only works for commands that are executed when
|
||||
sourcing the file, not for a function defined in that file.
|
||||
|
||||
:breaka[dd] expr {expression}
|
||||
Sets a breakpoint, that will break whenever the {expression}
|
||||
evaluates to a different value. Example: >
|
||||
:breakadd expr g:lnum
|
||||
|
||||
< Will break, whenever the global variable lnum changes.
|
||||
Note if you watch a |script-variable| this will break
|
||||
when switching scripts, since the script variable is only
|
||||
valid in the script where it has been defined and if that
|
||||
script is called from several other scripts, this will stop
|
||||
whenever that particular variable will become visible or
|
||||
unaccessible again.
|
||||
|
||||
The [lnum] is the line number of the breakpoint. Vim will stop at or after
|
||||
this line. When omitted line 1 is used.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*scroll.txt* For Vim version 8.0. Last change: 2016 Nov 10
|
||||
*scroll.txt* For Vim version 8.0. Last change: 2018 Apr 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -32,6 +32,7 @@ seen):
|
||||
|
||||
*CTRL-E*
|
||||
CTRL-E Scroll window [count] lines downwards in the buffer.
|
||||
The text moves upwards on the screen.
|
||||
Mnemonic: Extra lines.
|
||||
|
||||
*CTRL-D*
|
||||
@@ -70,6 +71,7 @@ seen):
|
||||
|
||||
*CTRL-Y*
|
||||
CTRL-Y Scroll window [count] lines upwards in the buffer.
|
||||
The text moves downwards on the screen.
|
||||
Note: When using the MS-Windows key bindings CTRL-Y is
|
||||
remapped to redo.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26
|
||||
*spell.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -907,9 +907,9 @@ when using "cp1250" on Unix.
|
||||
*spell-LOW* *spell-UPP*
|
||||
Three lines in the affix file are needed. Simplistic example:
|
||||
|
||||
FOL <EFBFBD><EFBFBD><EFBFBD> ~
|
||||
LOW <EFBFBD><EFBFBD><EFBFBD> ~
|
||||
UPP <EFBFBD><EFBFBD><EFBFBD> ~
|
||||
FOL áëñ ~
|
||||
LOW áëñ ~
|
||||
UPP ÁËÑ ~
|
||||
|
||||
All three lines must have exactly the same number of characters.
|
||||
|
||||
@@ -924,9 +924,9 @@ The "UPP" line specifies the characters with upper-case. That is, a character
|
||||
is upper-case where it's different from the character at the same position in
|
||||
"FOL".
|
||||
|
||||
An exception is made for the German sharp s <EFBFBD>. The upper-case version is
|
||||
An exception is made for the German sharp s ß. The upper-case version is
|
||||
"SS". In the FOL/LOW/UPP lines it should be included, so that it's recognized
|
||||
as a word character, but use the <EFBFBD> character in all three.
|
||||
as a word character, but use the ß character in all three.
|
||||
|
||||
ASCII characters should be omitted, Vim always handles these in the same way.
|
||||
When the encoding is UTF-8 no word characters need to be specified.
|
||||
@@ -1397,7 +1397,7 @@ suggestions would spend most time trying all kind of weird compound words.
|
||||
*spell-SYLLABLE*
|
||||
The SYLLABLE item defines characters or character sequences that are used to
|
||||
count the number of syllables in a word. Example:
|
||||
SYLLABLE a<EFBFBD>e<EFBFBD>i<EFBFBD>o<EFBFBD><EFBFBD><EFBFBD>u<EFBFBD><EFBFBD><EFBFBD>y/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
|
||||
SYLLABLE aáeéiíoóöõuúüûy/aa/au/ea/ee/ei/ie/oa/oe/oo/ou/uu/ui ~
|
||||
|
||||
Before the first slash is the set of characters that are counted for one
|
||||
syllable, also when repeated and mixed, until the next character that is not
|
||||
@@ -1478,8 +1478,8 @@ alike. This is mostly used for a letter with different accents. This is used
|
||||
to prefer suggestions with these letters substituted. Example:
|
||||
|
||||
MAP 2 ~
|
||||
MAP e<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~
|
||||
MAP u<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ~
|
||||
MAP eéëêè ~
|
||||
MAP uüùúû ~
|
||||
|
||||
The first line specifies the number of MAP lines following. Vim ignores the
|
||||
number, but the line must be there.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.0. Last change: 2017 Nov 11
|
||||
*starting.txt* For Vim version 8.0. Last change: 2018 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -58,9 +58,9 @@ filename One or more file names. The first one will be the current
|
||||
that is read from stdin. The commands that would normally be
|
||||
read from stdin will now be read from stderr. Example: >
|
||||
find . -name "*.c" -print | vim -
|
||||
< The buffer will be marked modified, because it contains text
|
||||
that needs to be saved. Except when in readonly mode, then
|
||||
the buffer is not marked modified. Example: >
|
||||
< The buffer will not be marked as modified, so that it's easy
|
||||
to exit. Be careful to mark it as modified if you don't want
|
||||
to accidentally lose it. Example: >
|
||||
ls | view -
|
||||
<
|
||||
Starting in Ex mode: >
|
||||
@@ -127,7 +127,8 @@ argument.
|
||||
On VMS all option arguments are assumed to be lowercase, unless preceded with
|
||||
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}
|
||||
See |info-message| about capturing the text.
|
||||
|
||||
@@ -421,7 +422,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
*--not-a-term*
|
||||
--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
|
||||
the two second delay that would happen. {not in Vi}
|
||||
the two second delay that would happen.
|
||||
Also avoids the "Reading from stdin..." message.
|
||||
{not in Vi}
|
||||
|
||||
*--ttyfail*
|
||||
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
||||
@@ -508,12 +511,14 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
{not in Vi}
|
||||
|
||||
*--clean*
|
||||
--clean Equal to "-u DEFAULTS -i NONE":
|
||||
--clean Equal to "-u DEFAULTS -U NONE -i NONE":
|
||||
- initializations from files and environment variables is
|
||||
skipped
|
||||
- the |defaults.vim| script is loaded, which implies
|
||||
'nocompatible': use Vim defaults
|
||||
- no |gvimrc| script is loaded
|
||||
- no viminfo file is read or written
|
||||
- the home directory is excluded from 'runtimepath'
|
||||
*-x*
|
||||
-x Use encryption to read/write files. Will prompt for a key,
|
||||
which is then stored in the 'key' option. All writes will
|
||||
@@ -1008,14 +1013,13 @@ Vi compatible default value ~
|
||||
When Vim starts, the 'compatible' option is on. This will be used when Vim
|
||||
starts its initializations. But as soon as:
|
||||
- a user vimrc file is found, or
|
||||
- a vimrc file in the current directory, or
|
||||
- a vimrc file in the current directory is found, or
|
||||
- the "VIMINIT" environment variable is set, or
|
||||
- the "-N" command line argument is given, or
|
||||
- the "--clean" command line argument is given, or
|
||||
even when no vimrc file exists.
|
||||
- the |defaults.vim| script is loaded, or
|
||||
- gvimrc file was found,
|
||||
then it will be set to 'nocompatible'.
|
||||
- a gvimrc file was found,
|
||||
then the option will be set to 'nocompatible'.
|
||||
|
||||
Note that this does NOT happen when a system-wide vimrc file was found.
|
||||
|
||||
@@ -1041,7 +1045,7 @@ giving the mapping.
|
||||
Defaults without a .vimrc file ~
|
||||
*defaults.vim*
|
||||
If Vim is started normally and no user vimrc file is found, the
|
||||
$VIMRUTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
||||
$VIMRUNTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
||||
switch on syntax highlighting and a few more things. See the script for
|
||||
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
||||
patch 7.4.2111 to be exact).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.0. Last change: 2017 Sep 30
|
||||
*syntax.txt* For Vim version 8.0. Last change: 2018 Apr 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2779,13 +2779,10 @@ Ruby syntax will perform spellchecking of strings if you define
|
||||
|
||||
SCHEME *scheme.vim* *ft-scheme-syntax*
|
||||
|
||||
By default only R5RS keywords are highlighted and properly indented.
|
||||
By default only R7RS keywords are highlighted and properly indented.
|
||||
|
||||
MzScheme-specific stuff will be used if b:is_mzscheme or g:is_mzscheme
|
||||
variables are defined.
|
||||
|
||||
Also scheme.vim supports keywords of the Chicken Scheme->C compiler. Define
|
||||
b:is_chicken or g:is_chicken, if you need them.
|
||||
scheme.vim also supports extensions of the CHICKEN Scheme->C compiler.
|
||||
Define b:is_chicken or g:is_chicken, if you need them.
|
||||
|
||||
|
||||
SDL *sdl.vim* *ft-sdl-syntax*
|
||||
@@ -4630,7 +4627,9 @@ in their own color.
|
||||
runtime colors/evening.vim
|
||||
hi Statement ctermfg=Blue guifg=Blue
|
||||
|
||||
< After the color scheme has been loaded the
|
||||
< Before the color scheme will be loaded the
|
||||
|ColorSchemePre| autocommand event is triggered.
|
||||
After the color scheme has been loaded the
|
||||
|ColorScheme| autocommand event is triggered.
|
||||
For info about writing a colorscheme file: >
|
||||
:edit $VIMRUNTIME/colors/README.txt
|
||||
@@ -5025,12 +5024,19 @@ StatusLine status line of current window
|
||||
StatusLineNC status lines of not-current windows
|
||||
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
||||
the status line of the current window.
|
||||
*hl-StatusLineTerm*
|
||||
StatusLineTerm status line of current window, if it is a |terminal| window.
|
||||
*hl-StatusLineTermNC*
|
||||
StatusLineTermNC status lines of not-current windows that is a |terminal|
|
||||
window.
|
||||
*hl-TabLine*
|
||||
TabLine tab pages line, not active tab page label
|
||||
*hl-TabLineFill*
|
||||
TabLineFill tab pages line, where there are no labels
|
||||
*hl-TabLineSel*
|
||||
TabLineSel tab pages line, active tab page label
|
||||
*hl-Terminal*
|
||||
Terminal |terminal| window (see |terminal-size-color|)
|
||||
*hl-Title*
|
||||
Title titles for output from ":set all", ":autocmd" etc.
|
||||
*hl-Visual*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.0. Last change: 2016 Oct 20
|
||||
*tabpage.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -286,8 +286,7 @@ LOOPING OVER TAB PAGES:
|
||||
current tab page.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
{cmd} must not open or close tab pages or reorder them.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
|
||||
and |:lfdo|
|
||||
|
||||
|
||||
109
runtime/doc/tags
109
runtime/doc/tags
@@ -74,12 +74,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'backupskip' options.txt /*'backupskip'*
|
||||
'balloondelay' options.txt /*'balloondelay'*
|
||||
'ballooneval' options.txt /*'ballooneval'*
|
||||
'balloonevalterm' options.txt /*'balloonevalterm'*
|
||||
'balloonexpr' options.txt /*'balloonexpr'*
|
||||
'bdir' options.txt /*'bdir'*
|
||||
'bdlay' options.txt /*'bdlay'*
|
||||
'beautify' vi_diff.txt /*'beautify'*
|
||||
'belloff' options.txt /*'belloff'*
|
||||
'beval' options.txt /*'beval'*
|
||||
'bevalterm' options.txt /*'bevalterm'*
|
||||
'bex' options.txt /*'bex'*
|
||||
'bexpr' options.txt /*'bexpr'*
|
||||
'bf' vi_diff.txt /*'bf'*
|
||||
@@ -292,6 +294,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'gfw' options.txt /*'gfw'*
|
||||
'ghr' options.txt /*'ghr'*
|
||||
'go' options.txt /*'go'*
|
||||
'go-!' options.txt /*'go-!'*
|
||||
'go-A' options.txt /*'go-A'*
|
||||
'go-F' options.txt /*'go-F'*
|
||||
'go-L' options.txt /*'go-L'*
|
||||
@@ -505,7 +508,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'noawa' options.txt /*'noawa'*
|
||||
'nobackup' options.txt /*'nobackup'*
|
||||
'noballooneval' options.txt /*'noballooneval'*
|
||||
'noballoonevalterm' options.txt /*'noballoonevalterm'*
|
||||
'nobeval' options.txt /*'nobeval'*
|
||||
'nobevalterm' options.txt /*'nobevalterm'*
|
||||
'nobin' options.txt /*'nobin'*
|
||||
'nobinary' options.txt /*'nobinary'*
|
||||
'nobiosk' options.txt /*'nobiosk'*
|
||||
@@ -778,10 +783,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'prompt' options.txt /*'prompt'*
|
||||
'pt' options.txt /*'pt'*
|
||||
'pumheight' options.txt /*'pumheight'*
|
||||
'pumwidth' options.txt /*'pumwidth'*
|
||||
'pvh' options.txt /*'pvh'*
|
||||
'pvw' options.txt /*'pvw'*
|
||||
'pw' options.txt /*'pw'*
|
||||
'pythondll' options.txt /*'pythondll'*
|
||||
'pythonhome' options.txt /*'pythonhome'*
|
||||
'pythonthreedll' options.txt /*'pythonthreedll'*
|
||||
'pythonthreehome' options.txt /*'pythonthreehome'*
|
||||
'pyx' options.txt /*'pyx'*
|
||||
'pyxversion' options.txt /*'pyxversion'*
|
||||
'qe' options.txt /*'qe'*
|
||||
@@ -1079,8 +1088,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'termbidi' options.txt /*'termbidi'*
|
||||
'termencoding' options.txt /*'termencoding'*
|
||||
'termguicolors' options.txt /*'termguicolors'*
|
||||
'termkey' options.txt /*'termkey'*
|
||||
'termsize' options.txt /*'termsize'*
|
||||
'termwinkey' options.txt /*'termwinkey'*
|
||||
'termwinscroll' options.txt /*'termwinscroll'*
|
||||
'termwinsize' options.txt /*'termwinsize'*
|
||||
'terse' options.txt /*'terse'*
|
||||
'textauto' options.txt /*'textauto'*
|
||||
'textmode' options.txt /*'textmode'*
|
||||
@@ -1096,10 +1106,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'titlelen' options.txt /*'titlelen'*
|
||||
'titleold' options.txt /*'titleold'*
|
||||
'titlestring' options.txt /*'titlestring'*
|
||||
'tk' options.txt /*'tk'*
|
||||
'tl' options.txt /*'tl'*
|
||||
'tm' options.txt /*'tm'*
|
||||
'tms' options.txt /*'tms'*
|
||||
'to' options.txt /*'to'*
|
||||
'toolbar' options.txt /*'toolbar'*
|
||||
'toolbariconsize' options.txt /*'toolbariconsize'*
|
||||
@@ -1120,6 +1128,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'ttyscroll' options.txt /*'ttyscroll'*
|
||||
'ttytype' options.txt /*'ttytype'*
|
||||
'tw' options.txt /*'tw'*
|
||||
'twk' options.txt /*'twk'*
|
||||
'tws' options.txt /*'tws'*
|
||||
'twsl' options.txt /*'twsl'*
|
||||
'tx' options.txt /*'tx'*
|
||||
'uc' options.txt /*'uc'*
|
||||
'udf' options.txt /*'udf'*
|
||||
@@ -1223,7 +1234,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+acl various.txt /*+acl*
|
||||
+arabic various.txt /*+arabic*
|
||||
+autocmd various.txt /*+autocmd*
|
||||
+autoservername various.txt /*+autoservername*
|
||||
+balloon_eval various.txt /*+balloon_eval*
|
||||
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||
+browse various.txt /*+browse*
|
||||
+builtin_terms various.txt /*+builtin_terms*
|
||||
+byte_offset various.txt /*+byte_offset*
|
||||
@@ -1347,6 +1360,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+visual various.txt /*+visual*
|
||||
+visualextra various.txt /*+visualextra*
|
||||
+vreplace various.txt /*+vreplace*
|
||||
+vtp various.txt /*+vtp*
|
||||
+wildignore various.txt /*+wildignore*
|
||||
+wildmenu various.txt /*+wildmenu*
|
||||
+windows various.txt /*+windows*
|
||||
@@ -1394,6 +1408,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
--ttyfail starting.txt /*--ttyfail*
|
||||
--version starting.txt /*--version*
|
||||
--windowid starting.txt /*--windowid*
|
||||
-? starting.txt /*-?*
|
||||
-A starting.txt /*-A*
|
||||
-C starting.txt /*-C*
|
||||
-D starting.txt /*-D*
|
||||
@@ -1920,11 +1935,18 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:AdaTagDir ft_ada.txt /*:AdaTagDir*
|
||||
:AdaTagFile ft_ada.txt /*:AdaTagFile*
|
||||
:AdaTypes ft_ada.txt /*:AdaTypes*
|
||||
:Arguments terminal.txt /*:Arguments*
|
||||
:Break terminal.txt /*:Break*
|
||||
:Clear terminal.txt /*:Clear*
|
||||
:CompilerSet usr_41.txt /*:CompilerSet*
|
||||
:Continue terminal.txt /*:Continue*
|
||||
:DiffOrig diff.txt /*:DiffOrig*
|
||||
:DoMatchParen pi_paren.txt /*:DoMatchParen*
|
||||
:Evaluate terminal.txt /*:Evaluate*
|
||||
:Explore pi_netrw.txt /*:Explore*
|
||||
:Finish terminal.txt /*:Finish*
|
||||
:GLVS pi_getscript.txt /*:GLVS*
|
||||
:Gdb terminal.txt /*:Gdb*
|
||||
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||
:GnatFind ft_ada.txt /*:GnatFind*
|
||||
:GnatPretty ft_ada.txt /*:GnatPretty*
|
||||
@@ -1949,11 +1971,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:Ntree pi_netrw.txt /*:Ntree*
|
||||
:Nw pi_netrw.txt /*:Nw*
|
||||
:Nwrite pi_netrw.txt /*:Nwrite*
|
||||
:Over terminal.txt /*:Over*
|
||||
:P various.txt /*:P*
|
||||
:Pexplore pi_netrw.txt /*:Pexplore*
|
||||
:Print various.txt /*:Print*
|
||||
:Program terminal.txt /*:Program*
|
||||
:Rexplore pi_netrw.txt /*:Rexplore*
|
||||
:RmVimball pi_vimball.txt /*:RmVimball*
|
||||
:Run terminal.txt /*:Run*
|
||||
:RustEmitAsm ft_rust.txt /*:RustEmitAsm*
|
||||
:RustEmitIr ft_rust.txt /*:RustEmitIr*
|
||||
:RustExpand ft_rust.txt /*:RustExpand*
|
||||
@@ -1962,14 +1987,19 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:RustPlay ft_rust.txt /*:RustPlay*
|
||||
:RustRun ft_rust.txt /*:RustRun*
|
||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||
:Source terminal.txt /*:Source*
|
||||
:Step terminal.txt /*:Step*
|
||||
:Stop terminal.txt /*:Stop*
|
||||
:TOhtml syntax.txt /*:TOhtml*
|
||||
:TarDiff pi_tar.txt /*:TarDiff*
|
||||
:Termdebug terminal.txt /*:Termdebug*
|
||||
:TermdebugCommand terminal.txt /*:TermdebugCommand*
|
||||
:Texplore pi_netrw.txt /*:Texplore*
|
||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||
:VimballList pi_vimball.txt /*:VimballList*
|
||||
:Vimuntar pi_tar.txt /*:Vimuntar*
|
||||
:Winbar terminal.txt /*:Winbar*
|
||||
:X editing.txt /*:X*
|
||||
:XMLent insert.txt /*:XMLent*
|
||||
:XMLns insert.txt /*:XMLns*
|
||||
@@ -3500,6 +3530,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
@r eval.txt /*@r*
|
||||
A insert.txt /*A*
|
||||
ACL editing.txt /*ACL*
|
||||
ANSI-C develop.txt /*ANSI-C*
|
||||
ATTENTION usr_11.txt /*ATTENTION*
|
||||
Abbreviations map.txt /*Abbreviations*
|
||||
Aleph options.txt /*Aleph*
|
||||
@@ -3536,6 +3567,8 @@ BufWritePre autocmd.txt /*BufWritePre*
|
||||
C change.txt /*C*
|
||||
C-editing tips.txt /*C-editing*
|
||||
C-indenting indent.txt /*C-indenting*
|
||||
C89 develop.txt /*C89*
|
||||
C99 develop.txt /*C99*
|
||||
COMSPEC starting.txt /*COMSPEC*
|
||||
CR-used-for-NL pattern.txt /*CR-used-for-NL*
|
||||
CTRL-6 editing.txt /*CTRL-6*
|
||||
@@ -3658,11 +3691,13 @@ Cmd-event autocmd.txt /*Cmd-event*
|
||||
CmdUndefined autocmd.txt /*CmdUndefined*
|
||||
Cmdline cmdline.txt /*Cmdline*
|
||||
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
||||
CmdlineChanged autocmd.txt /*CmdlineChanged*
|
||||
CmdlineEnter autocmd.txt /*CmdlineEnter*
|
||||
CmdlineLeave autocmd.txt /*CmdlineLeave*
|
||||
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
||||
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
||||
ColorScheme autocmd.txt /*ColorScheme*
|
||||
ColorSchemePre autocmd.txt /*ColorSchemePre*
|
||||
Command-line cmdline.txt /*Command-line*
|
||||
Command-line-mode cmdline.txt /*Command-line-mode*
|
||||
CompleteDone autocmd.txt /*CompleteDone*
|
||||
@@ -3682,6 +3717,7 @@ Dictionaries eval.txt /*Dictionaries*
|
||||
Dictionary eval.txt /*Dictionary*
|
||||
Dictionary-function eval.txt /*Dictionary-function*
|
||||
Digraphs digraph.txt /*Digraphs*
|
||||
DirChanged autocmd.txt /*DirChanged*
|
||||
E motion.txt /*E*
|
||||
E10 message.txt /*E10*
|
||||
E100 diff.txt /*E100*
|
||||
@@ -4569,7 +4605,14 @@ E945 pattern.txt /*E945*
|
||||
E946 terminal.txt /*E946*
|
||||
E947 terminal.txt /*E947*
|
||||
E948 terminal.txt /*E948*
|
||||
E949 editing.txt /*E949*
|
||||
E95 message.txt /*E95*
|
||||
E950 message.txt /*E950*
|
||||
E951 pattern.txt /*E951*
|
||||
E952 autocmd.txt /*E952*
|
||||
E953 eval.txt /*E953*
|
||||
E954 options.txt /*E954*
|
||||
E955 eval.txt /*E955*
|
||||
E96 diff.txt /*E96*
|
||||
E97 diff.txt /*E97*
|
||||
E98 diff.txt /*E98*
|
||||
@@ -4581,6 +4624,7 @@ EncodingChanged autocmd.txt /*EncodingChanged*
|
||||
Eterm syntax.txt /*Eterm*
|
||||
Ex intro.txt /*Ex*
|
||||
Ex-mode intro.txt /*Ex-mode*
|
||||
ExitPre autocmd.txt /*ExitPre*
|
||||
Exuberant_ctags tagsrch.txt /*Exuberant_ctags*
|
||||
F motion.txt /*F*
|
||||
FALSE eval.txt /*FALSE*
|
||||
@@ -4810,9 +4854,14 @@ TabNew autocmd.txt /*TabNew*
|
||||
Tcl if_tcl.txt /*Tcl*
|
||||
TermChanged autocmd.txt /*TermChanged*
|
||||
TermResponse autocmd.txt /*TermResponse*
|
||||
Terminal-Job terminal.txt /*Terminal-Job*
|
||||
Terminal-Normal terminal.txt /*Terminal-Normal*
|
||||
Terminal-mode terminal.txt /*Terminal-mode*
|
||||
TerminalOpen autocmd.txt /*TerminalOpen*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
TextChangedP autocmd.txt /*TextChangedP*
|
||||
TextYankPost autocmd.txt /*TextYankPost*
|
||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||
U undo.txt /*U*
|
||||
UTF-8 mbyte.txt /*UTF-8*
|
||||
@@ -5072,7 +5121,10 @@ asin() eval.txt /*asin()*
|
||||
asm.vim syntax.txt /*asm.vim*
|
||||
asm68k syntax.txt /*asm68k*
|
||||
asmh8300.vim syntax.txt /*asmh8300.vim*
|
||||
assert-return eval.txt /*assert-return*
|
||||
assert_beeps() eval.txt /*assert_beeps()*
|
||||
assert_equal() eval.txt /*assert_equal()*
|
||||
assert_equalfile() eval.txt /*assert_equalfile()*
|
||||
assert_exception() eval.txt /*assert_exception()*
|
||||
assert_fails() eval.txt /*assert_fails()*
|
||||
assert_false() eval.txt /*assert_false()*
|
||||
@@ -5145,6 +5197,7 @@ backup-extension version4.txt /*backup-extension*
|
||||
backup-table editing.txt /*backup-table*
|
||||
balloon-eval debugger.txt /*balloon-eval*
|
||||
balloon_show() eval.txt /*balloon_show()*
|
||||
balloon_split() eval.txt /*balloon_split()*
|
||||
bar motion.txt /*bar*
|
||||
bars help.txt /*bars*
|
||||
base_font_name_list mbyte.txt /*base_font_name_list*
|
||||
@@ -5233,6 +5286,7 @@ c_<C-Left> cmdline.txt /*c_<C-Left>*
|
||||
c_<C-R> cmdline.txt /*c_<C-R>*
|
||||
c_<C-R>_<C-A> cmdline.txt /*c_<C-R>_<C-A>*
|
||||
c_<C-R>_<C-F> cmdline.txt /*c_<C-R>_<C-F>*
|
||||
c_<C-R>_<C-L> cmdline.txt /*c_<C-R>_<C-L>*
|
||||
c_<C-R>_<C-O> cmdline.txt /*c_<C-R>_<C-O>*
|
||||
c_<C-R>_<C-P> cmdline.txt /*c_<C-R>_<C-P>*
|
||||
c_<C-R>_<C-R> cmdline.txt /*c_<C-R>_<C-R>*
|
||||
@@ -5281,6 +5335,7 @@ c_CTRL-R cmdline.txt /*c_CTRL-R*
|
||||
c_CTRL-R_= cmdline.txt /*c_CTRL-R_=*
|
||||
c_CTRL-R_CTRL-A cmdline.txt /*c_CTRL-R_CTRL-A*
|
||||
c_CTRL-R_CTRL-F cmdline.txt /*c_CTRL-R_CTRL-F*
|
||||
c_CTRL-R_CTRL-L cmdline.txt /*c_CTRL-R_CTRL-L*
|
||||
c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O*
|
||||
c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P*
|
||||
c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R*
|
||||
@@ -5861,6 +5916,7 @@ eval() eval.txt /*eval()*
|
||||
eval-examples eval.txt /*eval-examples*
|
||||
eval-sandbox eval.txt /*eval-sandbox*
|
||||
eval.txt eval.txt /*eval.txt*
|
||||
event-variable eval.txt /*event-variable*
|
||||
eventhandler() eval.txt /*eventhandler()*
|
||||
eview starting.txt /*eview*
|
||||
evim starting.txt /*evim*
|
||||
@@ -6081,6 +6137,7 @@ fork os_unix.txt /*fork*
|
||||
form.vim syntax.txt /*form.vim*
|
||||
format-bullet-list tips.txt /*format-bullet-list*
|
||||
format-comments change.txt /*format-comments*
|
||||
format-formatexpr change.txt /*format-formatexpr*
|
||||
formatting change.txt /*formatting*
|
||||
formfeed intro.txt /*formfeed*
|
||||
fortran.vim syntax.txt /*fortran.vim*
|
||||
@@ -6222,6 +6279,7 @@ ft-vb-syntax syntax.txt /*ft-vb-syntax*
|
||||
ft-verilog-indent indent.txt /*ft-verilog-indent*
|
||||
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
|
||||
ft-vim-indent indent.txt /*ft-vim-indent*
|
||||
ft-vim-plugin filetype.txt /*ft-vim-plugin*
|
||||
ft-vim-syntax syntax.txt /*ft-vim-syntax*
|
||||
ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax*
|
||||
ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
||||
@@ -6229,6 +6287,7 @@ ft-xml-omni insert.txt /*ft-xml-omni*
|
||||
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
||||
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
||||
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||
@@ -6469,6 +6528,7 @@ g:tar_nomax pi_tar.txt /*g:tar_nomax*
|
||||
g:tar_readoptions pi_tar.txt /*g:tar_readoptions*
|
||||
g:tar_secure pi_tar.txt /*g:tar_secure*
|
||||
g:tar_writeoptions pi_tar.txt /*g:tar_writeoptions*
|
||||
g:terminal_ansi_colors terminal.txt /*g:terminal_ansi_colors*
|
||||
g:tex_comment_nospell syntax.txt /*g:tex_comment_nospell*
|
||||
g:tex_conceal syntax.txt /*g:tex_conceal*
|
||||
g:tex_fast syntax.txt /*g:tex_fast*
|
||||
@@ -6543,6 +6603,7 @@ get-ms-debuggers debug.txt /*get-ms-debuggers*
|
||||
getbufinfo() eval.txt /*getbufinfo()*
|
||||
getbufline() eval.txt /*getbufline()*
|
||||
getbufvar() eval.txt /*getbufvar()*
|
||||
getchangelist() eval.txt /*getchangelist()*
|
||||
getchar() eval.txt /*getchar()*
|
||||
getcharmod() eval.txt /*getcharmod()*
|
||||
getcharsearch() eval.txt /*getcharsearch()*
|
||||
@@ -6558,6 +6619,7 @@ getfperm() eval.txt /*getfperm()*
|
||||
getfsize() eval.txt /*getfsize()*
|
||||
getftime() eval.txt /*getftime()*
|
||||
getftype() eval.txt /*getftype()*
|
||||
getjumplist() eval.txt /*getjumplist()*
|
||||
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||
getline() eval.txt /*getline()*
|
||||
getloclist() eval.txt /*getloclist()*
|
||||
@@ -6565,6 +6627,7 @@ getmatches() eval.txt /*getmatches()*
|
||||
getpid() eval.txt /*getpid()*
|
||||
getpos() eval.txt /*getpos()*
|
||||
getqflist() eval.txt /*getqflist()*
|
||||
getqflist-examples quickfix.txt /*getqflist-examples*
|
||||
getreg() eval.txt /*getreg()*
|
||||
getregtype() eval.txt /*getregtype()*
|
||||
getscript pi_getscript.txt /*getscript*
|
||||
@@ -6577,6 +6640,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
||||
gettabvar() eval.txt /*gettabvar()*
|
||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||
getwininfo() eval.txt /*getwininfo()*
|
||||
getwinpos() eval.txt /*getwinpos()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
getwinposy() eval.txt /*getwinposy()*
|
||||
getwinvar() eval.txt /*getwinvar()*
|
||||
@@ -6813,9 +6877,12 @@ hl-SpellLocal syntax.txt /*hl-SpellLocal*
|
||||
hl-SpellRare syntax.txt /*hl-SpellRare*
|
||||
hl-StatusLine syntax.txt /*hl-StatusLine*
|
||||
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
||||
hl-StatusLineTerm syntax.txt /*hl-StatusLineTerm*
|
||||
hl-StatusLineTermNC syntax.txt /*hl-StatusLineTermNC*
|
||||
hl-TabLine syntax.txt /*hl-TabLine*
|
||||
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
||||
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
||||
hl-Terminal syntax.txt /*hl-Terminal*
|
||||
hl-Title syntax.txt /*hl-Title*
|
||||
hl-Tooltip syntax.txt /*hl-Tooltip*
|
||||
hl-User1 syntax.txt /*hl-User1*
|
||||
@@ -6826,6 +6893,8 @@ hl-Visual syntax.txt /*hl-Visual*
|
||||
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
||||
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
||||
hl-WildMenu syntax.txt /*hl-WildMenu*
|
||||
hl-debugBreakpoint terminal.txt /*hl-debugBreakpoint*
|
||||
hl-debugPC terminal.txt /*hl-debugPC*
|
||||
hlID() eval.txt /*hlID()*
|
||||
hlexists() eval.txt /*hlexists()*
|
||||
hlsearch-variable eval.txt /*hlsearch-variable*
|
||||
@@ -7338,6 +7407,7 @@ mbyte-encoding mbyte.txt /*mbyte-encoding*
|
||||
mbyte-first mbyte.txt /*mbyte-first*
|
||||
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
||||
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
||||
mbyte-func mbyte.txt /*mbyte-func*
|
||||
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
||||
mbyte-locale mbyte.txt /*mbyte-locale*
|
||||
mbyte-options mbyte.txt /*mbyte-options*
|
||||
@@ -7817,6 +7887,8 @@ option-backslash options.txt /*option-backslash*
|
||||
option-list quickref.txt /*option-list*
|
||||
option-summary options.txt /*option-summary*
|
||||
option-window options.txt /*option-window*
|
||||
option_restore() todo.txt /*option_restore()*
|
||||
option_save() todo.txt /*option_save()*
|
||||
options options.txt /*options*
|
||||
options-changed version5.txt /*options-changed*
|
||||
options-in-terminal terminal.txt /*options-in-terminal*
|
||||
@@ -8049,14 +8121,20 @@ quake.vim syntax.txt /*quake.vim*
|
||||
quickfix quickfix.txt /*quickfix*
|
||||
quickfix-6 version6.txt /*quickfix-6*
|
||||
quickfix-ID quickfix.txt /*quickfix-ID*
|
||||
quickfix-changedtick quickfix.txt /*quickfix-changedtick*
|
||||
quickfix-context quickfix.txt /*quickfix-context*
|
||||
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
||||
quickfix-manx quickfix.txt /*quickfix-manx*
|
||||
quickfix-parse quickfix.txt /*quickfix-parse*
|
||||
quickfix-perl quickfix.txt /*quickfix-perl*
|
||||
quickfix-size quickfix.txt /*quickfix-size*
|
||||
quickfix-title quickfix.txt /*quickfix-title*
|
||||
quickfix-valid quickfix.txt /*quickfix-valid*
|
||||
quickfix-window quickfix.txt /*quickfix-window*
|
||||
quickfix-window-ID quickfix.txt /*quickfix-window-ID*
|
||||
quickfix.txt quickfix.txt /*quickfix.txt*
|
||||
quickref quickref.txt /*quickref*
|
||||
quickref.txt quickref.txt /*quickref.txt*
|
||||
@@ -8288,6 +8366,7 @@ setloclist() eval.txt /*setloclist()*
|
||||
setmatches() eval.txt /*setmatches()*
|
||||
setpos() eval.txt /*setpos()*
|
||||
setqflist() eval.txt /*setqflist()*
|
||||
setqflist-examples quickfix.txt /*setqflist-examples*
|
||||
setreg() eval.txt /*setreg()*
|
||||
settabvar() eval.txt /*settabvar()*
|
||||
settabwinvar() eval.txt /*settabwinvar()*
|
||||
@@ -8868,7 +8947,11 @@ term++open terminal.txt /*term++open*
|
||||
term-dependent-settings term.txt /*term-dependent-settings*
|
||||
term-list syntax.txt /*term-list*
|
||||
term.txt term.txt /*term.txt*
|
||||
term_dumpdiff() eval.txt /*term_dumpdiff()*
|
||||
term_dumpload() eval.txt /*term_dumpload()*
|
||||
term_dumpwrite() eval.txt /*term_dumpwrite()*
|
||||
term_getaltscreen() eval.txt /*term_getaltscreen()*
|
||||
term_getansicolors() eval.txt /*term_getansicolors()*
|
||||
term_getattr() eval.txt /*term_getattr()*
|
||||
term_getcursor() eval.txt /*term_getcursor()*
|
||||
term_getjob() eval.txt /*term_getjob()*
|
||||
@@ -8881,6 +8964,9 @@ term_gettty() eval.txt /*term_gettty()*
|
||||
term_list() eval.txt /*term_list()*
|
||||
term_scrape() eval.txt /*term_scrape()*
|
||||
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||
term_setansicolors() eval.txt /*term_setansicolors()*
|
||||
term_setkill() eval.txt /*term_setkill()*
|
||||
term_setrestore() eval.txt /*term_setrestore()*
|
||||
term_setsize() eval.txt /*term_setsize()*
|
||||
term_start() eval.txt /*term_start()*
|
||||
term_wait() eval.txt /*term_wait()*
|
||||
@@ -8898,10 +8984,18 @@ termdebug-example terminal.txt /*termdebug-example*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||
termdebug-variables terminal.txt /*termdebug-variables*
|
||||
termdebug_popup terminal.txt /*termdebug_popup*
|
||||
termdebug_wide terminal.txt /*termdebug_wide*
|
||||
terminal terminal.txt /*terminal*
|
||||
terminal-api terminal.txt /*terminal-api*
|
||||
terminal-client-server terminal.txt /*terminal-client-server*
|
||||
terminal-colors os_unix.txt /*terminal-colors*
|
||||
terminal-communication terminal.txt /*terminal-communication*
|
||||
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||
terminal-debug terminal.txt /*terminal-debug*
|
||||
terminal-diff terminal.txt /*terminal-diff*
|
||||
terminal-diffscreendump terminal.txt /*terminal-diffscreendump*
|
||||
terminal-dumptest terminal.txt /*terminal-dumptest*
|
||||
terminal-functions usr_41.txt /*terminal-functions*
|
||||
terminal-info term.txt /*terminal-info*
|
||||
terminal-key-codes term.txt /*terminal-key-codes*
|
||||
@@ -8909,9 +9003,12 @@ terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||
terminal-options term.txt /*terminal-options*
|
||||
terminal-output-codes term.txt /*terminal-output-codes*
|
||||
terminal-resizing terminal.txt /*terminal-resizing*
|
||||
terminal-screendump terminal.txt /*terminal-screendump*
|
||||
terminal-session terminal.txt /*terminal-session*
|
||||
terminal-size-color terminal.txt /*terminal-size-color*
|
||||
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||
terminal-testing terminal.txt /*terminal-testing*
|
||||
terminal-to-job terminal.txt /*terminal-to-job*
|
||||
terminal-typing terminal.txt /*terminal-typing*
|
||||
terminal-unix terminal.txt /*terminal-unix*
|
||||
terminal-use terminal.txt /*terminal-use*
|
||||
@@ -8983,6 +9080,7 @@ tolower() eval.txt /*tolower()*
|
||||
toolbar-icon gui.txt /*toolbar-icon*
|
||||
toupper() eval.txt /*toupper()*
|
||||
tr() eval.txt /*tr()*
|
||||
trim() eval.txt /*trim()*
|
||||
trojan-horse starting.txt /*trojan-horse*
|
||||
true-variable eval.txt /*true-variable*
|
||||
trunc() eval.txt /*trunc()*
|
||||
@@ -9095,6 +9193,7 @@ v:ctype eval.txt /*v:ctype*
|
||||
v:dying eval.txt /*v:dying*
|
||||
v:errmsg eval.txt /*v:errmsg*
|
||||
v:errors eval.txt /*v:errors*
|
||||
v:event eval.txt /*v:event*
|
||||
v:exception eval.txt /*v:exception*
|
||||
v:false eval.txt /*v:false*
|
||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||
@@ -9462,6 +9561,7 @@ win_getid() eval.txt /*win_getid()*
|
||||
win_gotoid() eval.txt /*win_gotoid()*
|
||||
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
||||
win_id2win() eval.txt /*win_id2win()*
|
||||
win_screenpos() eval.txt /*win_screenpos()*
|
||||
winbufnr() eval.txt /*winbufnr()*
|
||||
wincol() eval.txt /*wincol()*
|
||||
window windows.txt /*window*
|
||||
@@ -9641,6 +9741,7 @@ zz scroll.txt /*zz*
|
||||
{Visual} intro.txt /*{Visual}*
|
||||
{address} cmdline.txt /*{address}*
|
||||
{arglist} editing.txt /*{arglist}*
|
||||
{bufname} windows.txt /*{bufname}*
|
||||
{char1-char2} intro.txt /*{char1-char2}*
|
||||
{event} autocmd.txt /*{event}*
|
||||
{file} editing.txt /*{file}*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20
|
||||
*tagsrch.txt* For Vim version 8.0. Last change: 2018 May 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -36,12 +36,12 @@ An easy way back is with the CTRL-T command. Also read about the tag stack
|
||||
below.
|
||||
|
||||
*:ta* *:tag* *E426* *E429*
|
||||
:[count]ta[g][!] {ident}
|
||||
Jump to the definition of {ident}, using the
|
||||
information in the tags file(s). Put {ident} in the
|
||||
:[count]ta[g][!] {name}
|
||||
Jump to the definition of {name}, using the
|
||||
information in the tags file(s). Put {name} in the
|
||||
tag stack. See |tag-!| for [!].
|
||||
{ident} can be a regexp pattern, see |tag-regexp|.
|
||||
When there are several matching tags for {ident}, jump
|
||||
{name} can be a regexp pattern, see |tag-regexp|.
|
||||
When there are several matching tags for {name}, jump
|
||||
to the [count] one. When [count] is omitted the
|
||||
first one is jumped to. See |tag-matchlist| for
|
||||
jumping to other matching tags.
|
||||
@@ -49,16 +49,16 @@ below.
|
||||
g<LeftMouse> *g<LeftMouse>*
|
||||
<C-LeftMouse> *<C-LeftMouse>* *CTRL-]*
|
||||
CTRL-] Jump to the definition of the keyword under the
|
||||
cursor. Same as ":tag {ident}", where {ident} is the
|
||||
cursor. Same as ":tag {name}", where {name} is the
|
||||
keyword under or after cursor.
|
||||
When there are several matching tags for {ident}, jump
|
||||
When there are several matching tags for {name}, jump
|
||||
to the [count] one. When no [count] is given the
|
||||
first one is jumped to. See |tag-matchlist| for
|
||||
jumping to other matching tags.
|
||||
{Vi: identifier after the cursor}
|
||||
|
||||
*v_CTRL-]*
|
||||
{Visual}CTRL-] Same as ":tag {ident}", where {ident} is the text that
|
||||
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
|
||||
is highlighted. {not in Vi}
|
||||
|
||||
*telnet-CTRL-]*
|
||||
@@ -82,7 +82,7 @@ When there are multiple matches for a tag, this priority is used:
|
||||
|
||||
Note that when the current file changes, the priority list is mostly not
|
||||
changed, to avoid confusion when using ":tnext". It is changed when using
|
||||
":tag {ident}".
|
||||
":tag {name}".
|
||||
|
||||
The ignore-case matches are not found for a ":tag" command when:
|
||||
- the 'ignorecase' option is off and 'tagcase' is "followic"
|
||||
@@ -167,7 +167,7 @@ You can get from main to FuncA by using CTRL-] on the call to FuncA. Then
|
||||
you can CTRL-] to get to FuncC. If you now want to go back to main you can
|
||||
use CTRL-T twice. Then you can CTRL-] to FuncB.
|
||||
|
||||
If you issue a ":ta {ident}" or CTRL-] command, this tag is inserted at the
|
||||
If you issue a ":ta {name}" or CTRL-] command, this tag is inserted at the
|
||||
current position in the stack. If the stack was full (it can hold up to 20
|
||||
entries), the oldest entry is deleted and the older entries shift one
|
||||
position up (their index number is decremented by one). If the last used
|
||||
@@ -191,14 +191,14 @@ between them. Note that these commands don't change the tag stack, they keep
|
||||
the same entry.
|
||||
|
||||
*:ts* *:tselect*
|
||||
:ts[elect][!] [ident] List the tags that match [ident], using the
|
||||
:ts[elect][!] [name] List the tags that match [name], using the
|
||||
information in the tags file(s).
|
||||
When [ident] is not given, the last tag name from the
|
||||
When [name] is not given, the last tag name from the
|
||||
tag stack is used.
|
||||
See |tag-!| for [!].
|
||||
With a '>' in the first column is indicated which is
|
||||
the current position in the list (if there is one).
|
||||
[ident] 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
|
||||
listing. {not in Vi}
|
||||
Example output:
|
||||
@@ -226,7 +226,7 @@ the same entry.
|
||||
type 'q' and enter the number.
|
||||
|
||||
*:sts* *:stselect*
|
||||
:sts[elect][!] [ident] Does ":tselect[!] [ident]" and splits the window for
|
||||
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
|
||||
the selected tag. {not in Vi}
|
||||
|
||||
*g]*
|
||||
@@ -238,11 +238,11 @@ g] Like CTRL-], but use ":tselect" instead of ":tag".
|
||||
identifier. {not in Vi}
|
||||
|
||||
*:tj* *:tjump*
|
||||
:tj[ump][!] [ident] 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}
|
||||
|
||||
*:stj* *:stjump*
|
||||
:stj[ump][!] [ident] Does ":tjump[!] [ident]" and splits the window for the
|
||||
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
|
||||
selected tag. {not in Vi}
|
||||
|
||||
*g_CTRL-]*
|
||||
@@ -277,9 +277,9 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
|
||||
in Vi}
|
||||
|
||||
*:lt* *:ltag*
|
||||
:lt[ag][!] [ident] Jump to tag [ident] and add the matching tags to a new
|
||||
location list for the current window. [ident] can be
|
||||
a regexp pattern, see |tag-regexp|. When [ident] is
|
||||
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
|
||||
location list for the current window. [name] can be
|
||||
a regexp pattern, see |tag-regexp|. When [name] is
|
||||
not given, the last tag name from the tag stack is
|
||||
used. The search pattern to locate the tag line is
|
||||
prefixed with "\V" to escape all the special
|
||||
@@ -311,12 +311,12 @@ the same as above, with a "p" prepended.
|
||||
{not available when compiled without the |+quickfix| feature}
|
||||
|
||||
*:pts* *:ptselect*
|
||||
:pts[elect][!] [ident] Does ":tselect[!] [ident]" 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.
|
||||
{not in Vi}
|
||||
|
||||
*:ptj* *:ptjump*
|
||||
:ptj[ump][!] [ident] Does ":tjump[!] [ident]" 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.
|
||||
{not in Vi}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Nov 17
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2018 May 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,36 +7,42 @@
|
||||
Terminal window support *terminal*
|
||||
|
||||
|
||||
WARNING: THIS IS ONLY PARTLY IMPLEMENTED, ANYTHING CAN STILL CHANGE
|
||||
|
||||
The terminal feature is optional, use this to check if your Vim has it: >
|
||||
echo has('terminal')
|
||||
If the result is "1" you have it.
|
||||
|
||||
|
||||
1. Basic use |terminal-use|
|
||||
Typing |terminal-typing|
|
||||
Size and color |terminal-size-color|
|
||||
Syntax |:terminal|
|
||||
Resizing |terminal-resizing|
|
||||
Terminal Modes |Terminal-mode|
|
||||
Cursor style |terminal-cursor-style|
|
||||
Special keys |terminal-special-keys|
|
||||
Unix |terminal-unix|
|
||||
MS-Windows |terminal-ms-windows|
|
||||
2. Remote testing |terminal-testing|
|
||||
3. Debugging |terminal-debug|
|
||||
Starting |termdebug-starting|
|
||||
Example session |termdebug-example|
|
||||
Stepping through code |termdebug-stepping|
|
||||
Inspecting variables |termdebug-variables|
|
||||
Other commands |termdebug-commands|
|
||||
Communication |termdebug-communication|
|
||||
Customizing |termdebug-customizing|
|
||||
1. Basic use |terminal-use|
|
||||
Typing |terminal-typing|
|
||||
Size and color |terminal-size-color|
|
||||
Syntax |:terminal|
|
||||
Resizing |terminal-resizing|
|
||||
Terminal Modes |Terminal-mode|
|
||||
Cursor style |terminal-cursor-style|
|
||||
Special keys |terminal-special-keys|
|
||||
Session |terminal-session|
|
||||
Unix |terminal-unix|
|
||||
MS-Windows |terminal-ms-windows|
|
||||
2. Terminal communication |terminal-communication|
|
||||
Vim to job: term_sendkeys() |terminal-to-job|
|
||||
Job to Vim: JSON API |terminal-api|
|
||||
Using the client-server feature |terminal-client-server|
|
||||
3. Remote testing |terminal-testing|
|
||||
4. Diffing screen dumps |terminal-diff|
|
||||
Writing a screen dump test for Vim |terminal-dumptest|
|
||||
Creating a screen dump |terminal-screendump|
|
||||
Comparing screen dumps |terminal-diffscreendump|
|
||||
5. Debugging |terminal-debug|
|
||||
Starting |termdebug-starting|
|
||||
Example session |termdebug-example|
|
||||
Stepping through code |termdebug-stepping|
|
||||
Inspecting variables |termdebug-variables|
|
||||
Other commands |termdebug-commands|
|
||||
Communication |termdebug-communication|
|
||||
Customizing |termdebug-customizing|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
{only available when compiled with the |+terminal| feature}
|
||||
|
||||
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
||||
|
||||
==============================================================================
|
||||
@@ -66,6 +72,7 @@ See |CTRL-W| for more commands.
|
||||
|
||||
Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
|
||||
CTRL-W . send a CTRL-W to the job in the terminal
|
||||
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
|
||||
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
|
||||
CTRL-W " {reg} paste register {reg} *CTRL-W_quote*
|
||||
@@ -73,16 +80,16 @@ Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
|
||||
evaluating an expression.
|
||||
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
|
||||
|
||||
See option 'termkey' for specifying another key instead of CTRL-W that
|
||||
will work like CTRL-W. However, typing 'termkey' twice sends 'termkey' to
|
||||
the job. For example:
|
||||
'termkey' CTRL-W move focus to the next window
|
||||
'termkey' : enter an Ex command
|
||||
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
||||
'termkey' . send a CTRL-W to the job in the terminal
|
||||
'termkey' N go to terminal Normal mode, see below
|
||||
'termkey' CTRL-N same as CTRL-W N
|
||||
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||
See option 'termwinkey' for specifying another key instead of CTRL-W that
|
||||
will work like CTRL-W. However, typing 'termwinkey' twice sends 'termwinkey'
|
||||
to the job. For example:
|
||||
'termwinkey' CTRL-W move focus to the next window
|
||||
'termwinkey' : enter an Ex command
|
||||
'termwinkey' 'termwinkey' send 'termwinkey' to the job in the terminal
|
||||
'termwinkey' . send a CTRL-W to the job in the terminal
|
||||
'termwinkey' N go to terminal Normal mode, see below
|
||||
'termwinkey' CTRL-N same as CTRL-W N
|
||||
'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||
*t_CTRL-\_CTRL-N*
|
||||
The special key combination CTRL-\ CTRL-N can be used to switch to Normal
|
||||
mode, just like this works in any other mode.
|
||||
@@ -97,9 +104,14 @@ themselves (like Vim does).
|
||||
|
||||
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||
These are defined like any mapping, but apply only when typing keys that are
|
||||
sent to the job running in the terminal. For example, to make Escape switch
|
||||
sent to the job running in the terminal. For example, to make F1 switch
|
||||
to Terminal-Normal mode: >
|
||||
tnoremap <F1> <C-W>N
|
||||
You can use Esc, but you need to make sure it won't cause other keys to
|
||||
break: >
|
||||
tnoremap <Esc> <C-W>N
|
||||
set notimeout ttimeout timeoutlen=100
|
||||
|
||||
< *options-in-terminal*
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||
@@ -113,7 +125,7 @@ when 'balloonevalterm' is enabled.
|
||||
|
||||
Size and color ~
|
||||
*terminal-size-color*
|
||||
See option 'termsize' for controlling the size of the terminal window.
|
||||
See option 'termwinsize' for controlling the size of the terminal window.
|
||||
(TODO: scrolling when the terminal is larger than the window)
|
||||
|
||||
The job running in the terminal can change the colors. The default foreground
|
||||
@@ -122,8 +134,19 @@ and background colors are taken from Vim, the Normal highlight group.
|
||||
For a color terminal the 'background' option is used to decide whether the
|
||||
terminal window will start with a white or black background.
|
||||
|
||||
To use a different color the Terminal highlight group can be used: >
|
||||
To use a different color the Terminal highlight group can be used, for
|
||||
example: >
|
||||
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||
<
|
||||
*g:terminal_ansi_colors*
|
||||
In GUI mode or with 'termguicolors', the 16 ANSI colors used by default in new
|
||||
terminal windows may be configured using the variable
|
||||
`g:terminal_ansi_colors`, which should be a list of 16 color names or
|
||||
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
|
||||
not using GUI colors, the terminal window always uses the 16 ANSI colors of
|
||||
the underlying terminal.
|
||||
The |term_setansicolors()| function can be used to change the colors, and
|
||||
|term_getansicolors()| to get the currently used colors.
|
||||
|
||||
|
||||
Syntax ~
|
||||
@@ -137,6 +160,13 @@ Syntax ~
|
||||
if [command] is NONE no job is started, the pty of the
|
||||
terminal can be used by a command like gdb.
|
||||
|
||||
If [command] is missing the default behavior is to
|
||||
close the terminal when the shell exits. This can be
|
||||
changed with the ++noclose argument.
|
||||
If [command] is present the default behavior is to
|
||||
keep the terminal open in Terminal-Normal mode. This
|
||||
can be changed with the ++close argument.
|
||||
|
||||
A new buffer will be created, using [command] or
|
||||
'shell' as the name, prefixed with a "!". If a buffer
|
||||
by this name already exists a number is added in
|
||||
@@ -148,28 +178,39 @@ Syntax ~
|
||||
keys in the terminal window. For MS-Windows see the
|
||||
++eof argument below.
|
||||
|
||||
Two comma separated numbers are used as "rows,cols".
|
||||
E.g. `:24,80gdb` opens a terminal with 24 rows and 80
|
||||
columns. However, if the terminal window spans the
|
||||
Vim window with, there is no vertical split, the Vim
|
||||
window width is used.
|
||||
*term++close* *term++open*
|
||||
Supported [options] are:
|
||||
++close The terminal window will close
|
||||
automatically when the job terminates.
|
||||
++noclose The terminal window will NOT close
|
||||
automatically when the job terminates.
|
||||
++open When the job terminates and no window
|
||||
shows it, a window will be opened.
|
||||
Note that this can be interruptive.
|
||||
The last of ++close, ++noclose and ++open
|
||||
matters and rules out earlier arguments.
|
||||
|
||||
++curwin Open the terminal in the current
|
||||
window, do not split the current
|
||||
window. Fails if the current buffer
|
||||
cannot be |abandon|ed.
|
||||
++hidden Open the terminal in a hidden buffer,
|
||||
no window will be used.
|
||||
++norestore Do not include this terminal window
|
||||
in a session file.
|
||||
++kill={how} When trying to close the terminal
|
||||
window kill the job with {how}. See
|
||||
|term_setkill()| for the values.
|
||||
++rows={height} Use {height} for the terminal window
|
||||
height.
|
||||
height. If the terminal uses the full
|
||||
Vim height (no window above or below
|
||||
th terminal window) the command line
|
||||
height will be reduced as needed.
|
||||
++cols={width} Use {width} for the terminal window
|
||||
width.
|
||||
width. If the terminal uses the full
|
||||
Vim width (no window left or right of
|
||||
the terminal window) this value is
|
||||
ignored.
|
||||
++eof={text} when using [range]: text to send after
|
||||
the last line was written. Cannot
|
||||
contain white space. A CR is
|
||||
@@ -183,8 +224,12 @@ Syntax ~
|
||||
If you want to use more options use the |term_start()|
|
||||
function.
|
||||
|
||||
When the buffer associated with the terminal is unloaded or wiped out the job
|
||||
is killed, similar to calling `job_stop(job, "kill")`
|
||||
When the buffer associated with the terminal is forcibly unloaded or wiped out
|
||||
the job is killed, similar to calling `job_stop(job, "kill")` .
|
||||
Closing the window normally results in |E947|. When a kill method was set
|
||||
with "++kill={how}" or |term_setkill()| then closing the window will use that
|
||||
way to kill or interrupt the job. For example: >
|
||||
:term ++kill=term tail -f /tmp/log
|
||||
|
||||
So long as the job is running the window behaves like it contains a modified
|
||||
buffer. Trying to close the window with `CTRL-W :quit` fails. When using
|
||||
@@ -224,39 +269,41 @@ Resizing ~
|
||||
*terminal-resizing*
|
||||
The size of the terminal can be in one of three modes:
|
||||
|
||||
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||
The minimal size is 2 screen lines with 10 cells.
|
||||
1. The 'termwinsize' option is empty: The terminal size follows the window
|
||||
size. The minimal size is 2 screen lines with 10 cells.
|
||||
|
||||
2. The 'termsize' option is "rows*cols", where "rows" is the minimal number of
|
||||
screen rows and "cols" is the minimal number of cells.
|
||||
2. The 'termwinsize' option is "rows*cols", where "rows" is the minimal number
|
||||
of screen rows and "cols" is the minimal number of cells.
|
||||
|
||||
3. The 'termsize' option is "rowsXcols" (where the x is upper or lower case).
|
||||
The terminal size is fixed to the specified number of screen lines and
|
||||
cells. If the window is bigger there will be unused empty space.
|
||||
3. The 'termwinsize' option is "rowsXcols" (where the x is upper or lower
|
||||
case). The terminal size is fixed to the specified number of screen lines
|
||||
and cells. If the window is bigger there will be unused empty space.
|
||||
|
||||
If the window is smaller than the terminal size, only part of the terminal can
|
||||
be seen (the lower-left part).
|
||||
|
||||
The |term_getsize()| function can be used to get the current size of the
|
||||
terminal. |term_setsize()| can be used only when in the first or second mode,
|
||||
not when 'termsize' is "rowsXcols".
|
||||
not when 'termwinsize' is "rowsXcols".
|
||||
|
||||
|
||||
Terminal-Job and Terminal-Normal mode ~
|
||||
*Terminal-mode*
|
||||
*Terminal-mode* *Terminal-Job*
|
||||
When the job is running the contents of the terminal is under control of the
|
||||
job. That includes the cursor position. Typed keys are sent to the job.
|
||||
The terminal contents can change at any time. This is called Terminal-Job
|
||||
mode.
|
||||
|
||||
Use CTRL-W N (or 'termkey' N) to switch to Terminal-Normal mode. Now the
|
||||
Use CTRL-W N (or 'termwinkey' N) to switch to Terminal-Normal mode. Now the
|
||||
contents of the terminal window is under control of Vim, the job output is
|
||||
suspended. CTRL-\ CTRL-N does the same.
|
||||
|
||||
Terminal-Job mode is where |:tmap| mappings are applied. Keys sent by
|
||||
|term_sendkeys()| are not subject to tmap, but keys from |feedkeys()| are.
|
||||
|
||||
*E946*
|
||||
It is not possible to enter Insert mode from Terminal-Job mode.
|
||||
|
||||
*Terminal-Normal* *E946*
|
||||
In Terminal-Normal mode you can move the cursor around with the usual Vim
|
||||
commands, Visually mark text, yank text, etc. But you cannot change the
|
||||
contents of the buffer. The commands that would start insert mode, such as
|
||||
@@ -267,7 +314,10 @@ In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
||||
the job ends while in Terminal-Normal mode this changes to
|
||||
"(Terminal-finished)".
|
||||
|
||||
It is not possible to enter Insert mode from Terminal-Job mode.
|
||||
When the job outputs lines in the terminal, such that the contents scrolls off
|
||||
the top, those lines are remembered and can be seen in Terminal-Normal mode.
|
||||
The number of lines is limited by the 'termwinscroll' option. When going over
|
||||
this limit, the first 10% of the scrolled lines are deleted and are lost.
|
||||
|
||||
|
||||
Cursor style ~
|
||||
@@ -283,6 +333,22 @@ is inverted. Since Vim cannot detect this, the terminal window cursor
|
||||
blinking will also be inverted.
|
||||
|
||||
|
||||
Session ~
|
||||
*terminal-session*
|
||||
A terminal window will be restored when using a session file, if possible and
|
||||
wanted.
|
||||
|
||||
If "terminal" was removed from 'sessionoptions' then no terminal windows will
|
||||
be restored.
|
||||
|
||||
If the job in the terminal was finished the window will not be restored.
|
||||
|
||||
If the terminal can be restored, the command that was used to open it will be
|
||||
used again. To change this use the |term_setrestore()| function. This can
|
||||
also be used to not restore a specific terminal by setting the command to
|
||||
"NONE".
|
||||
|
||||
|
||||
Special keys ~
|
||||
*terminal-special-keys*
|
||||
Since the terminal emulator simulates an xterm, only escape sequences that
|
||||
@@ -302,22 +368,15 @@ On Unix a pty is used to make it possible to run all kinds of commands. You
|
||||
can even run Vim in the terminal! That's used for debugging, see below.
|
||||
|
||||
Environment variables are used to pass information to the running job:
|
||||
TERM name of the terminal, 'term'
|
||||
TERM the name of the terminal, from the 'term' option or
|
||||
$TERM in the GUI; falls back to "xterm" if it does not
|
||||
start with "xterm"
|
||||
ROWS number of rows in the terminal initially
|
||||
LINES same as ROWS
|
||||
COLUMNS number of columns in the terminal initially
|
||||
COLORS number of colors, 't_Co' (256*256*256 in the GUI)
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
The |client-server| feature can be used to communicate with the Vim instance
|
||||
where the job was started. This only works when v:servername is not empty.
|
||||
If needed you can set it with: >
|
||||
call remote_startserver('vim-server')
|
||||
|
||||
In the job you can then do something like: >
|
||||
vim --servername $VIM_SERVERNAME --remote +123 some_file.c
|
||||
This will open the file "some_file.c" and put the cursor on line 123.
|
||||
|
||||
|
||||
MS-Windows ~
|
||||
*terminal-ms-windows*
|
||||
@@ -343,7 +402,113 @@ Environment variables are used to pass information to the running job:
|
||||
VIM_SERVERNAME v:servername
|
||||
|
||||
==============================================================================
|
||||
2. Remote testing *terminal-testing*
|
||||
2. Terminal communication *terminal-communication*
|
||||
|
||||
There are several ways to communicate with the job running in a terminal:
|
||||
- Use |term_sendkeys()| to send text and escape sequences from Vim to the job.
|
||||
- Use the JSON API to send encoded commands from the job to Vim.
|
||||
- Use the |client-server| mechanism. This works on machines with an X server
|
||||
and on MS-Windows.
|
||||
|
||||
|
||||
Vim to job: term_sendkeys() ~
|
||||
*terminal-to-job*
|
||||
This allows for remote controlling the job running in the terminal. It is a
|
||||
one-way mechanism. The job can update the display to signal back to Vim.
|
||||
For example, if a shell is running in a terminal, you can do: >
|
||||
call term_sendkeys(buf, "ls *.java\<CR>")
|
||||
|
||||
This requires for the job to be in the right state where it will do the right
|
||||
thing when receiving the keys. For the above example, the shell must be
|
||||
waiting for a command to be typed.
|
||||
|
||||
For a job that was written for the purpose, you can use the JSON API escape
|
||||
sequence in the other direction. E.g.: >
|
||||
call term_sendkeys(buf, "\<Esc>]51;["response"]\x07")
|
||||
|
||||
|
||||
Job to Vim: JSON API ~
|
||||
*terminal-api*
|
||||
The job can send JSON to Vim, using a special escape sequence. The JSON
|
||||
encodes a command that Vim understands. Example of such a message: >
|
||||
<Esc>]51;["drop", "README.md"]<07>
|
||||
|
||||
The body is always a list, making it easy to find the end: ]<07>.
|
||||
The <Esc>]51;msg<07> sequence is reserved by xterm for "Emacs shell", which is
|
||||
similar to what we are doing here.
|
||||
|
||||
Currently supported commands:
|
||||
|
||||
call {funcname} {argument}
|
||||
|
||||
Call a user defined function with {argument}.
|
||||
The function is called with two arguments: the buffer number
|
||||
of the terminal and {argument}, the decoded JSON argument.
|
||||
The function name must start with "Tapi_" to avoid
|
||||
accidentally calling a function not meant to be used for the
|
||||
terminal API
|
||||
The user function should sanity check the argument.
|
||||
The function can use |term_sendkeys()| to send back a reply.
|
||||
Example in JSON: >
|
||||
["call", "Tapi_Impression", ["play", 14]]
|
||||
< Calls a function defined like this: >
|
||||
function Tapi_Impression(bufnum, arglist)
|
||||
if len(a:arglist) == 2
|
||||
echomsg "impression " . a:arglist[0]
|
||||
echomsg "count " . a:arglist[1]
|
||||
endif
|
||||
endfunc
|
||||
< Output from `:echo` may be erased by a redraw, use `:echomsg`
|
||||
to be able to see it with `:messages`.
|
||||
|
||||
drop {filename} [options]
|
||||
|
||||
Let Vim open a file, like the `:drop` command. If {filename}
|
||||
is already open in a window, switch to that window. Otherwise
|
||||
open a new window to edit {filename}.
|
||||
Note that both the job and Vim may change the current
|
||||
directory, thus it's best to use the full path.
|
||||
|
||||
[options] is only used when opening a new window. If present,
|
||||
it must be a Dict. Similarly to |++opt|, These entries are recognized:
|
||||
"ff" file format: "dos", "mac" or "unix"
|
||||
"fileformat" idem
|
||||
"enc" overrides 'fileencoding'
|
||||
"encoding" idem
|
||||
"bin" sets 'binary'
|
||||
"binary" idem
|
||||
"nobin" resets 'binary'
|
||||
"nobinary" idem
|
||||
"bad" specifies behavior for bad characters, see
|
||||
|++bad|
|
||||
|
||||
Example in JSON: >
|
||||
["drop", "path/file.txt", {"ff": "dos"}]
|
||||
|
||||
A trick to have Vim send this escape sequence: >
|
||||
exe "set t_ts=\<Esc>]51; t_fs=\x07"
|
||||
let &titlestring = '["call","Tapi_TryThis",["hello",123]]'
|
||||
redraw
|
||||
set t_ts& t_fs&
|
||||
|
||||
Rationale: Why not allow for any command or expression? Because that might
|
||||
create a security problem.
|
||||
|
||||
|
||||
Using the client-server feature ~
|
||||
*terminal-client-server*
|
||||
This only works when v:servername is not empty. If needed you can set it,
|
||||
before opening the terminal, with: >
|
||||
call remote_startserver('vim-server')
|
||||
|
||||
$VIM_SERVERNAME is set in the terminal to pass on the server name.
|
||||
|
||||
In the job you can then do something like: >
|
||||
vim --servername $VIM_SERVERNAME --remote +123 some_file.c
|
||||
This will open the file "some_file.c" and put the cursor on line 123.
|
||||
|
||||
==============================================================================
|
||||
3. Remote testing *terminal-testing*
|
||||
|
||||
Most Vim tests execute a script inside Vim. For some tests this does not
|
||||
work, running the test interferes with the code being tested. To avoid this
|
||||
@@ -358,7 +523,97 @@ term_scrape() inspect terminal screen
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. Debugging *terminal-debug*
|
||||
4. Diffing screen dumps *terminal-diff*
|
||||
|
||||
In some cases it can be bothersome to test that Vim displays the right
|
||||
characters on the screen. E.g. with syntax highlighting. To make this
|
||||
simpler it is possible to take a screen dump of a terminal and compare it to
|
||||
an expected screen dump.
|
||||
|
||||
Vim uses the window size, text, color and other attributes as displayed. The
|
||||
Vim screen size, font and other properties do not matter. Therefore this
|
||||
mechanism is portable across systems. A conventional screenshot would reflect
|
||||
all differences, including font size and family.
|
||||
|
||||
|
||||
Writing a screen dump test for Vim ~
|
||||
*terminal-dumptest*
|
||||
For an example see the Test_syntax_c() function in
|
||||
src/testdir/test_syntax.vim. The main parts are:
|
||||
- Write a file you want to test with. This is useful for testing syntax
|
||||
highlighting. You can also start Vim with en empty buffer.
|
||||
- Run Vim in a terminal with a specific size. The default is 20 lines of 75
|
||||
characters. This makes sure the dump is always this size. The function
|
||||
RunVimInTerminal() takes care of this. Pass it the arguments for the Vim
|
||||
command.
|
||||
- Send any commands to Vim using term_sendkeys(). For example: >
|
||||
call term_sendkeys(buf, ":echo &lines &columns\<CR>")
|
||||
- Check that the screen is now in the expected state, using
|
||||
VerifyScreenDump(). This expects the reference screen dump to be in the
|
||||
src/testdir/dumps/ directory. Pass the name without ".dump". It is
|
||||
recommended to use the name of the test function and a sequence number, so
|
||||
that we know what test is using the file.
|
||||
- Repeat sending commands and checking the state.
|
||||
- Finally stop Vim by calling StopVimInTerminal().
|
||||
|
||||
The first time you do this you won't have a screen dump yet. Create an empty
|
||||
file for now, e.g.: >
|
||||
touch src/testdir/dumps/Test_function_name_01.dump
|
||||
|
||||
The test will then fail, giving you the command to compare the reference dump
|
||||
and the failed dump, e.g.: >
|
||||
call term_dumpdiff("Test_func.dump.failed", "dumps/Test_func.dump")
|
||||
|
||||
Use this command in Vim, with the current directory set to src/testdir.
|
||||
Once you are satisfied with the test, move the failed dump in place of the
|
||||
reference: >
|
||||
:!mv Test_func.dump.failed dumps/Test_func.dump
|
||||
|
||||
|
||||
Creating a screen dump ~
|
||||
*terminal-screendump*
|
||||
|
||||
To create the screen dump, run Vim (or any other program) in a terminal and
|
||||
make it show the desired state. Then use the term_dumpwrite() function to
|
||||
create a screen dump file. For example: >
|
||||
:call term_dumpwrite(77, "mysyntax.dump")
|
||||
|
||||
Here "77" is the buffer number of the terminal. Use `:ls!` to see it.
|
||||
|
||||
You can view the screen dump with term_dumpload(): >
|
||||
:call term_dumpload("mysyntax.dump")
|
||||
|
||||
To verify that Vim still shows exactly the same screen, run Vim again with
|
||||
exactly the same way to show the desired state. Then create a screen dump
|
||||
again, using a different file name: >
|
||||
:call term_dumpwrite(88, "test.dump")
|
||||
|
||||
To assert that the files are exactly the same use assert_equalfile(): >
|
||||
call assert_equalfile("mysyntax.dump", "test.dump")
|
||||
|
||||
If there are differences then v:errors will contain the error message.
|
||||
|
||||
|
||||
Comparing screen dumps ~
|
||||
*terminal-diffscreendump*
|
||||
|
||||
assert_equalfile() does not make it easy to see what is different.
|
||||
To spot the problem use term_dumpdiff(): >
|
||||
call term_dumpdiff("mysyntax.dump", "test.dump")
|
||||
|
||||
This will open a window consisting of three parts:
|
||||
1. The contents of the first dump
|
||||
2. The difference between the first and second dump
|
||||
3. The contents of the second dump
|
||||
|
||||
You can usually see what differs in the second part. Use the 'ruler' to
|
||||
relate it to the position in the first or second dump.
|
||||
|
||||
Alternatively, press "s" to swap the first and second dump. Do this several
|
||||
times so that you can spot the difference in the context of the text.
|
||||
|
||||
==============================================================================
|
||||
5. Debugging *terminal-debug*
|
||||
|
||||
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||
the source code in a Vim window. Since this is completely contained inside
|
||||
@@ -370,12 +625,15 @@ Starting ~
|
||||
Load the plugin with this command: >
|
||||
packadd termdebug
|
||||
< *:Termdebug*
|
||||
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
||||
To start debugging use `:Termdebug` or `:TermdebugCommand`` followed by the
|
||||
command name, for example: >
|
||||
:Termdebug vim
|
||||
|
||||
This opens two windows:
|
||||
|
||||
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||
can directly interact with gdb. The buffer name is "!gdb".
|
||||
|
||||
program window A terminal window for the executed program. When "run" is
|
||||
used in gdb the program I/O will happen in this window, so
|
||||
that it does not interfere with controlling gdb. The buffer
|
||||
@@ -383,10 +641,11 @@ program window A terminal window for the executed program. When "run" is
|
||||
|
||||
The current window is used to show the source code. When gdb pauses the
|
||||
source file location will be displayed, if possible. A sign is used to
|
||||
highlight the current position (using highlight group debugPC).
|
||||
highlight the current position, using highlight group debugPC.
|
||||
|
||||
If the buffer in the current window is modified, another window will be opened
|
||||
to display the current gdb position.
|
||||
to display the current gdb position. You can use `:Winbar` to add a window
|
||||
toolbar there.
|
||||
|
||||
Focus the terminal of the executed program to interact with it. This works
|
||||
the same as any command running in a terminal window.
|
||||
@@ -394,6 +653,26 @@ the same as any command running in a terminal window.
|
||||
When the debugger ends, typically by typing "quit" in the gdb window, the two
|
||||
opened windows are closed.
|
||||
|
||||
Only one debugger can be active at a time.
|
||||
*:TermdebugCommand*
|
||||
If you want to give specific commands to the command being debugged, you can
|
||||
use the `:TermdebugCommand` command followed by the command name and
|
||||
additional parameters. >
|
||||
:TermdebugCommand vim --clean -c ':set nu'
|
||||
|
||||
Both the `:Termdebug` and `:TermdebugCommand` support an optional "!" bang
|
||||
argument to start the command right away, without pausing at the gdb window
|
||||
(and cursor will be in the debugged window). For example: >
|
||||
:TermdebugCommand! vim --clean
|
||||
|
||||
To attach gdb to an already running executable or use a core file, pass extra
|
||||
arguments. E.g.: >
|
||||
:Termdebug vim core
|
||||
:Termdebug vim 98343
|
||||
|
||||
If no argument is given, you'll end up in a gdb window, in which you need to
|
||||
specify which command to run using e.g. the gdb `file` command.
|
||||
|
||||
|
||||
Example session ~
|
||||
*termdebug-example*
|
||||
@@ -408,6 +687,7 @@ You should now have three windows:
|
||||
source - where you started, has a window toolbar with buttons
|
||||
gdb - you can type gdb commands here
|
||||
program - the executed program will use this window
|
||||
|
||||
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||
Put focus on the gdb window and type: >
|
||||
break ex_help
|
||||
@@ -428,6 +708,8 @@ displayed:
|
||||
This way you can inspect the value of local variables. You can also focus the
|
||||
gdb window and use a "print" command, e.g.: >
|
||||
print *eap
|
||||
If mouse pointer movements are working, Vim will also show a balloon when the
|
||||
mouse rests on text that can be evaluated by gdb.
|
||||
|
||||
Now go back to the source window and put the cursor on the first line after
|
||||
the for loop, then type: >
|
||||
@@ -463,43 +745,57 @@ Put focus on the gdb window to type commands there. Some common ones are:
|
||||
- frame N go to the Nth stack frame
|
||||
- continue continue execution
|
||||
|
||||
In the window showing the source code these commands can used to control gdb:
|
||||
:Run [args] run the program with [args] or the previous arguments
|
||||
:Arguments {args} set arguments for the next :Run
|
||||
*:Run* *:Arguments*
|
||||
In the window showing the source code these commands can be used to control
|
||||
gdb:
|
||||
`:Run` [args] run the program with [args] or the previous arguments
|
||||
`:Arguments` {args} set arguments for the next `:Run`
|
||||
|
||||
:Break set a breakpoint at the current line; a sign will be displayed
|
||||
:Delete delete a breakpoint at the current line
|
||||
*:Break* set a breakpoint at the current line; a sign will be displayed
|
||||
*:Clear* delete the breakpoint at the current line
|
||||
|
||||
:Step execute the gdb "step" command
|
||||
:Over execute the gdb "next" command (:Next is a Vim command)
|
||||
:Finish execute the gdb "finish" command
|
||||
:Continue execute the gdb "continue" command
|
||||
:Stop interrupt the program
|
||||
*:Step* execute the gdb "step" command
|
||||
*:Over* execute the gdb "next" command (`:Next` is a Vim command)
|
||||
*:Finish* execute the gdb "finish" command
|
||||
*:Continue* execute the gdb "continue" command
|
||||
*:Stop* interrupt the program
|
||||
|
||||
The plugin adds a window toolbar with these entries:
|
||||
Step :Step
|
||||
Next :Over
|
||||
Finish :Finish
|
||||
Cont :Continue
|
||||
Stop :Stop
|
||||
Eval :Evaluate
|
||||
This way you can use the mouse to perform the most common commands.
|
||||
If 'mouse' is set the plugin adds a window toolbar with these entries:
|
||||
Step `:Step`
|
||||
Next `:Over`
|
||||
Finish `:Finish`
|
||||
Cont `:Continue`
|
||||
Stop `:Stop`
|
||||
Eval `:Evaluate`
|
||||
This way you can use the mouse to perform the most common commands. You need
|
||||
to have the 'mouse' option set to enable mouse clicks.
|
||||
*:Winbar*
|
||||
You can add the window toolbar in other windows you open with: >
|
||||
:Winbar
|
||||
|
||||
If gdb stops at a source line and there is no window currently showing the
|
||||
source code, a new window will be created for the source code. This also
|
||||
happens if the buffer in the source code window has been modified and can't be
|
||||
abandoned.
|
||||
|
||||
|
||||
Inspecting variables ~
|
||||
*termdebug-variables*
|
||||
:Evaluate evaluate the expression under the cursor
|
||||
K same
|
||||
:Evaluate {expr} evaluate {expr}
|
||||
:'<,'>Evaluate evaluate the Visually selected text
|
||||
*termdebug-variables* *:Evaluate*
|
||||
`:Evaluate` evaluate the expression under the cursor
|
||||
`K` same
|
||||
`:Evaluate` {expr} evaluate {expr}
|
||||
`:'<,'>Evaluate` evaluate the Visually selected text
|
||||
|
||||
This is similar to using "print" in the gdb window.
|
||||
You can usually shorten `:Evaluate` to `:Ev`.
|
||||
|
||||
|
||||
Other commands ~
|
||||
*termdebug-commands*
|
||||
:Gdb jump to the gdb window
|
||||
:Program jump to the window with the running program
|
||||
*:Gdb* jump to the gdb window
|
||||
*:Program* jump to the window with the running program
|
||||
*:Source* jump to the window with the source code, create it if there
|
||||
isn't one
|
||||
|
||||
|
||||
Communication ~
|
||||
@@ -510,16 +806,22 @@ will break the debugger.
|
||||
|
||||
|
||||
Customizing ~
|
||||
*termdebug-customizing*
|
||||
|
||||
GDB command *termdebug-customizing*
|
||||
|
||||
To change the name of the gdb command, set the "termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
< *gdb-version*
|
||||
< *gdb-version*
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface. This probably requires gdb version 7.12. if you get this error:
|
||||
interface. The "new-ui" command requires gdb version 7.12 or later. if you
|
||||
get this error:
|
||||
Undefined command: "new-ui". Try "help".~
|
||||
Then your gdb is too old.
|
||||
|
||||
|
||||
Colors *hl-debugPC* *hl-debugBreakpoint*
|
||||
|
||||
The color of the signs can be adjusted with these highlight groups:
|
||||
- debugPC the current position
|
||||
- debugBreakpoint a breakpoint
|
||||
@@ -532,6 +834,20 @@ When 'background' is "dark":
|
||||
hi debugPC term=reverse ctermbg=darkblue guibg=darkblue
|
||||
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||
|
||||
|
||||
Popup menu *termdebug_popup*
|
||||
|
||||
By default the Termdebug plugin sets 'mousemodel' to "popup_setpos" and adds
|
||||
these entries to the popup menu:
|
||||
Set breakpoint `:Break`
|
||||
Clear breakpoint `:Clear`
|
||||
Evaluate `:Evaluate`
|
||||
If you don't want this then disable it with: >
|
||||
let g:termdebug_popup = 0
|
||||
|
||||
|
||||
Vim window width *termdebug_wide*
|
||||
|
||||
To change the width of the Vim window when debugging starts, and use a
|
||||
vertical split: >
|
||||
let g:termdebug_wide = 163
|
||||
|
||||
68
runtime/doc/test_urls.vim
Normal file
68
runtime/doc/test_urls.vim
Normal file
@@ -0,0 +1,68 @@
|
||||
" Test for URLs in help documents.
|
||||
"
|
||||
" Opens a new window with all found URLS followed by return code from curl
|
||||
" (anything other than 0 means unreachable)
|
||||
"
|
||||
" Written by Christian Brabandt.
|
||||
|
||||
func Test_check_URLs()
|
||||
if has("win32")
|
||||
echoerr "Doesn't work on MS-Windows"
|
||||
return
|
||||
endif
|
||||
if executable('curl')
|
||||
" Note: does not follow redirects!
|
||||
let s:command = 'curl --silent --fail --output /dev/null --head '
|
||||
elseif executable('wget')
|
||||
" Note: only allow a couple of redirects
|
||||
let s:command = 'wget --quiet -S --spider --max-redirect=2 --timeout=5 --tries=2 -O /dev/null '
|
||||
else
|
||||
echoerr 'Only works when "curl" or "wget" is available'
|
||||
return
|
||||
endif
|
||||
|
||||
let pat='\(https\?\|ftp\)://[^\t* ]\+'
|
||||
exe 'helpgrep' pat
|
||||
helpclose
|
||||
|
||||
let urls = map(getqflist(), 'v:val.text')
|
||||
" do not use submatch(1)!
|
||||
let urls = map(urls, {key, val -> matchstr(val, pat)})
|
||||
" remove examples like user@host (invalid urls)
|
||||
let urls = filter(urls, 'v:val !~ "@"')
|
||||
" Remove example URLs which are invalid
|
||||
let urls = filter(urls, {key, val -> val !~ '\<\(\(my\|some\)\?host\|machine\|hostname\|file\)\>'})
|
||||
new
|
||||
put =urls
|
||||
" remove some more invalid items
|
||||
" empty lines
|
||||
v/./d
|
||||
" remove # anchors
|
||||
%s/#.*$//e
|
||||
" remove trailing stuff (parenthesis, dot, comma, quotes), but only for HTTP
|
||||
" links
|
||||
g/^h/s#[.,)'"/>][:.]\?$##
|
||||
g#^[hf]t\?tp:/\(/\?\.*\)$#d
|
||||
silent! g/ftp://,$/d
|
||||
silent! g/=$/d
|
||||
let a = getline(1,'$')
|
||||
let a = uniq(sort(a))
|
||||
%d
|
||||
call setline(1, a)
|
||||
|
||||
" Do the testing.
|
||||
set nomore
|
||||
%s/.*/\=TestURL(submatch(0))/
|
||||
|
||||
" highlight the failures
|
||||
/.* \([0-9]*[1-9]\|[0-9]\{2,}\)$
|
||||
endfunc
|
||||
|
||||
func TestURL(url)
|
||||
" Relies on the return code to determine whether a page is valid
|
||||
echom printf("Testing URL: %d/%d %s", line('.'), line('$'), a:url)
|
||||
call system(s:command . shellescape(a:url))
|
||||
return printf("%s %d", a:url, v:shell_error)
|
||||
endfunc
|
||||
|
||||
call Test_check_URLs()
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Nov 11
|
||||
*todo.txt* For Vim version 8.0. Last change: 2018 May 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,132 +35,139 @@ entered there will not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Permission of viminfo tempfile can be wrong. (Simon Ruderich)
|
||||
Always use 600 ? Also avoids groups problem.
|
||||
patch from Simon Ruderich, Nov 8
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
No maintainer for Simplified Chinese translations.
|
||||
|
||||
Terminal emulator window:
|
||||
- Lots of stuff to implement, see src/terminal.c
|
||||
- Improve debugger interface:
|
||||
Include all debug features of Agide.
|
||||
- Implement the right-click popup menu for the terminal. Can use the
|
||||
completion popup menu code and mouse dragging.
|
||||
Use it for "set breakpoint", "remove breakpoint", etc.
|
||||
- make showballoon() work in a terminal. Requires getting mouse-move
|
||||
events.
|
||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
||||
in terminal mode.
|
||||
- get ideas from http://clewn.sf.net
|
||||
- Look into the idevim plugin/script.
|
||||
- Improve testing:
|
||||
Make a screenshot of a terminal, store in a file.
|
||||
Display a stored screenshot, display diff with another one.
|
||||
Make a test that puts Vim in a specific state, make a screenshot and compare
|
||||
with the expected screenshot. Set t_Co to 256.
|
||||
- Still some stuff to implement and bugs to fix, see src/terminal.c
|
||||
|
||||
+channel:
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
- Writing raw mode to a buffer should still handle NL characters as line
|
||||
breaks. (Dmitry Zotikov, 2017 Aug 16)
|
||||
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
||||
2016 Dec 11, #1320)
|
||||
- Implement |job-term| ?
|
||||
- Channel test fails with Motif. Sometimes kills the X11 server.
|
||||
- When a message in the queue but there is no callback, drop it after a while?
|
||||
Add timestamp to queued messages and callbacks with ID, remove after a
|
||||
minute. Option to set the droptime.
|
||||
- Add an option to drop text of very long lines? Default to 1 Mbyte.
|
||||
- Add remark about undo sync, is there a way to force it?
|
||||
- When starting a job, have an option to open the server socket, so we know
|
||||
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
|
||||
Feb 9) How to do this on MS-Windows?
|
||||
- For connection to server, a "keep open" flag would be useful. Retry
|
||||
connecting in the main loop with zero timeout.
|
||||
- job_start(): run job in a newly opened terminal (not a terminal window).
|
||||
With xterm could use -S{pty}.
|
||||
Although user could use "xterm -e 'cmd arg'".
|
||||
On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
|
||||
(Nobuhiro Takasaki, #2833) Also check t_Co.
|
||||
|
||||
Regexp problems:
|
||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||
characters, esp. including 0xa0. Use character class zero.
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
(Manuel Ortega, 2016 Apr 24)
|
||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||
LC_CTYPE
|
||||
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
|
||||
matches everywhere.
|
||||
- Using win_linetabsize() can still be slow. Cache the result, store col and
|
||||
vcol. Reset them when moving to another line.
|
||||
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
|
||||
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
|
||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
|
||||
2015 Feb 7)
|
||||
- Using back reference before the capturing group sometimes works with the old
|
||||
engine, can we do this with the new engine? E.g. with
|
||||
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
||||
This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
|
||||
(guotuofeng, 2015 Jun 22)
|
||||
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
|
||||
- Problem with \v(A)@<=b+\1c. (Issue 334)
|
||||
- Diff highlighting can be very slow. (Issue 309)
|
||||
- Using %> for a virtual column has a check based on 'tabsize'. Better would
|
||||
be to cache the result of win_linetabsize(col), storing both col and vcol,
|
||||
and use them to decide whether win_linetabsize() needs to be called. Reset
|
||||
col and vcol when moving to another line.
|
||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||
out the \& works. Seems any column check after \& fails.
|
||||
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
||||
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||
(2017 May 15, #1252)
|
||||
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||
20, #2481)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
|
||||
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 apperance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3)
|
||||
- janah - Marco Hinz (2017 Aug 4)
|
||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
Include solarized color scheme?, it does not support termguicolors.
|
||||
-> Make check for colorscheme that it's sane.
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
More warnings from static analysis:
|
||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
|
||||
When opening foo/x.txt and bar/x.txt get swap file warning. Should check the
|
||||
file name. (Juergen Weigert)
|
||||
|
||||
Script generated by :mksession does not work well if there are windows with
|
||||
modified buffers
|
||||
change "silent only" into "silent only!"
|
||||
change "edit fname" of first buffer to "hide edit fname"
|
||||
skip "badd fname" if "fname" is already in the buffer list
|
||||
remove remark about unloading buffers from documentation
|
||||
|
||||
Compiler warnings (geeknik, 2017 Oct 26):
|
||||
- signed integer overflow in do_sub() (#2249)
|
||||
- signed integer overflow in get_address() (#2248)
|
||||
- signed integer overflow in getdecchrs() (#2254)
|
||||
- signed integer overflow in nfa_regatom() (#2251)
|
||||
- undefined left shift in get_string_tv() (#2250)
|
||||
|
||||
When starting with --clean packages under "start" are not loaded. Make this
|
||||
work: :packadd START {name} similar to :runtime START name
|
||||
Tests failing for "make testgui" with GTK:
|
||||
- Test_setbufvar_options()
|
||||
- Test_exit_callback_interval()
|
||||
|
||||
Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
or asyncmake:
|
||||
https://github.com/yegappan/asyncmake
|
||||
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
mode. Also used for switching Terminal mode.
|
||||
|
||||
Add an option with file patterns, to be used when unloading a buffer: If there
|
||||
is a match, remove entries for the buffer from marks, jumplist, etc. To be
|
||||
used for git temp files.
|
||||
|
||||
Cursor in wrong position when line wraps. (#2540)
|
||||
|
||||
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||
script or function.
|
||||
|
||||
MS-Windows: write may fail if another program is reading the file.
|
||||
If 'readonly' is not set but the file appears to be readonly later, try again
|
||||
(wait a little while).
|
||||
CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
|
||||
|
||||
Should add a test for every command line argument. Check coverage for what is
|
||||
missing: --nofork, -A , -b, -h, etc.
|
||||
|
||||
Improve the installer for MS-Windows. There are a few alternatives:
|
||||
- Add silent install option. (Shane Lee, #751)
|
||||
- Installer from Cream (Steve Hall).
|
||||
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
|
||||
https://github.com/gpwen/vim-installer-mui2
|
||||
- make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen does this.
|
||||
- MSI installer: https://github.com/petrkle/vim-msi/
|
||||
- The one on Issue 279.
|
||||
Problem: they all work slightly different (e.g. don't install vimrun.exe).
|
||||
How to test that it works well for all Vim users?
|
||||
|
||||
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||
|
||||
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
|
||||
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
|
||||
Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
|
||||
|
||||
When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
|
||||
|
||||
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||
Jan 15, #2555)
|
||||
|
||||
":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
|
||||
|
||||
Check argument of systemlist(). (Pavlov)
|
||||
|
||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||
What for systems that don't have unsetenv()? (Issue #1116)
|
||||
Patch in #2855, (Yasuhiro Matsumoto)
|
||||
|
||||
Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
No maintainer for Simplified Chinese translations.
|
||||
|
||||
When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
|
||||
Also see #2337
|
||||
|
||||
Python indenting: alternative way to indent arguments:
|
||||
http://orchistro.tistory.com/236
|
||||
Should be supported with a flag.
|
||||
|
||||
Starting job with cwd option, when the directory does not exist, gives a
|
||||
confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
|
||||
|
||||
Add the debug command line history to viminfo.
|
||||
|
||||
Avoid that "sign unplace id" does a redraw right away, esp. when there is a
|
||||
sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
||||
|
||||
ch_sendraw() with long string does not try to read inbetween, which may cause
|
||||
a deadlock if the reading side is waiting for the write to finish. (Nate
|
||||
Bosch, 2018 Jan 13, #2548)
|
||||
|
||||
Patch to include a cfilter plugin to filter quickfix/location lists.
|
||||
(Yegappan Lakshmanan, 2018 May 12)
|
||||
|
||||
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
|
||||
Will have to explain the manual steps (downloading the .aff and .dic files,
|
||||
applying the diff, etc.
|
||||
|
||||
Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018
|
||||
Apr 26, #2849)
|
||||
|
||||
User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
|
||||
word is re-added to it. (Matej Cepl, 2018 Feb 6)
|
||||
|
||||
Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
|
||||
|
||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||
@@ -169,6 +176,35 @@ With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||
Using 'wildignore' also applies to literally entered file name. Also with
|
||||
:drop (remote commands).
|
||||
|
||||
Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
|
||||
|
||||
Patch to use the xdiff library instead of external diff. (Christian Brabandt,
|
||||
2018 Mar 20, #2732)
|
||||
|
||||
Implement option_save() and option_restore():
|
||||
option_restore({list}) *option_restore()*
|
||||
Restore options previously saved by option_save().
|
||||
When buffer-local options have been saved, this function must
|
||||
be called when the same buffer is the current buffer.
|
||||
When window-local options have been saved, this function must
|
||||
be called when the same window is the current window.
|
||||
When in the wrong buffer and/or window an error is given and
|
||||
the local options won't be restored.
|
||||
|
||||
option_save({list}) *option_save()*
|
||||
Saves the options named in {list}. The returned value can be
|
||||
passed to option_restore(). Example: >
|
||||
let s:saved_options = option_save([
|
||||
\ 'ignorecase',
|
||||
\ 'iskeyword',
|
||||
\ ])
|
||||
au <buffer> BufLeave *
|
||||
\ call option_restore(s:saved_options)
|
||||
< The advantage over using `:let` is that global and local
|
||||
values are handled and the script ID is restored, so that
|
||||
`:verbose set` will show where the option was originally set,
|
||||
not where it was restored.
|
||||
|
||||
"gvim --remote" from a directory with non-word characters changes the current
|
||||
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||
Also see #1689.
|
||||
@@ -176,19 +212,94 @@ Also see #1689.
|
||||
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||
Lemonboy can reproduce (2017 Jun 5)
|
||||
|
||||
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
|
||||
17, #2652)
|
||||
|
||||
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
|
||||
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
|
||||
|
||||
No profile information for function that executes ":quit". (Daniel Hahler,
|
||||
2017 Dec 26, #2501)
|
||||
|
||||
Get a "No Name" buffer when 'hidden' is set and opening a new window from the
|
||||
quickfix list. (bfrg, 2018 Jan 22, #2574)
|
||||
|
||||
CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Patch to fix E806. (Dominique, 2017 Nov 22, #2368)
|
||||
Kazunobu Kuriyama: caused by XtSetLanguageProc().
|
||||
|
||||
Patch to fix GUI find/replace dialog. (kiloliter, 2017 Dec 11, report in
|
||||
#2418, fix in #2435)
|
||||
|
||||
Invalid range error when using BufWinLeave for closing terminal.
|
||||
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||
|
||||
Using an external diff is inefficient. Not all systems have a good diff
|
||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||
implementation. Can then also use this for displaying changes within a line.
|
||||
Olaf Dabrunz is working on this. (10 Jan 2016)
|
||||
9 Instead invoking an external diff program, use builtin code. One can be
|
||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||
It's complicated and badly documented.
|
||||
Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
|
||||
2018, #2732)
|
||||
|
||||
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||
|
||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||
|
||||
Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
|
||||
#2478)
|
||||
|
||||
Patch to copy buffer-local options before buffer leaves the window. (Bjorn
|
||||
Linse, 2017 Nov 14, #2336)
|
||||
|
||||
Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
|
||||
Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
|
||||
|
||||
Patch to support hunspell. (Matej Cepl, Jan 2018, #2500) Based on older patch
|
||||
in #846)
|
||||
Doesn't work on Windows yet. Not ready to included, hard coded paths.
|
||||
|
||||
Win32 GUI: when running a fast timer, the cursor no longer blinks.
|
||||
Was reported: cursor blinks in terminal on widows with a timer. (xtal8, #2142)
|
||||
|
||||
When a timer is running and typing CTRL-R on the command line, it is not
|
||||
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||
|
||||
In an optional package the "after" directory is not scanned?
|
||||
(Renato Fabbri, 2018 Feb 22)
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov
|
||||
13, on issue #2320)
|
||||
|
||||
Patch for Neovim concerning restoring when closing help window. (glacambre
|
||||
neovim #7431)
|
||||
|
||||
Default install on MS-Windows should source defaults.vim.
|
||||
Ask whether to use Windows or Vim key behavior?
|
||||
|
||||
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||
Nov 21)
|
||||
|
||||
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
|
||||
triggered. Use the code from the end of set_num_option() in
|
||||
set_color_count().
|
||||
|
||||
Add another autocommand like TermResponse that is fired for the other terminal
|
||||
responses, such as bg and fg. Use "bg", "fg", "blink", etc. for the name.
|
||||
|
||||
When using command line window, CmdlineLeave is triggered without
|
||||
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
|
||||
Add some way to get the nested state. Although CmdwinEnter is obviously
|
||||
@@ -196,14 +307,26 @@ always nested.
|
||||
|
||||
matchit hasn't been maintained for a long time. #955.
|
||||
|
||||
MS-Windows: buffer completetion doesn't work when using backslash (or slash)
|
||||
Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
|
||||
Maybe not needed?
|
||||
|
||||
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||
|
||||
MS-Windows: buffer completion doesn't work when using backslash (or slash)
|
||||
for a path separator. (xtal8, #2201)
|
||||
|
||||
Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20,
|
||||
#2357)
|
||||
|
||||
Test runtime files.
|
||||
Start with filetype detection: testdir/test_filetype.vim
|
||||
|
||||
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
|
||||
|
||||
Duplication of completion suggestions for ":!hom". Issue #539.
|
||||
Patch by Christian, 2016 Jan 29
|
||||
Another patch in #2733.
|
||||
>
|
||||
Add options_default() / options_restore() to set several options to Vim
|
||||
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
||||
Perhaps use a vimcontext / endvimcontext command block.
|
||||
@@ -217,15 +340,19 @@ Still happens (2017 Jul 9)
|
||||
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||
line breaks. (Ken Takata, 2017 Aug 22)
|
||||
|
||||
Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
|
||||
Takasaki, 2017 Oct 1, #2060). Ready to include now?
|
||||
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||
|
||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
Memory leak in test_arabic.
|
||||
Using uninitialized value in test_crypt.
|
||||
Memory leaks in test_escaped_glob
|
||||
|
||||
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||
|
||||
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
@@ -252,6 +379,9 @@ Alternatives for ~:
|
||||
|
||||
The ++ options for the :edit command are also useful on the Vim command line.
|
||||
|
||||
When recovering a file, put the swap file name in b:recovered_swapfile. Then
|
||||
a command can delete it.
|
||||
|
||||
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||
#2089) Patch with possible solution by Björn Linse.
|
||||
|
||||
@@ -266,6 +396,22 @@ Seems to happen when the selection is requested the second time, but before
|
||||
clip_x11_convert_selection_cb() is invoked, thus in X library code.
|
||||
Kazunobu Kuriyama is working on a proper fix. (2017 Jul 25)
|
||||
|
||||
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)
|
||||
|
||||
Creating a partial with an autoload function is confused about the "self"
|
||||
@@ -290,8 +436,11 @@ Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||
Python: After "import vim" error messages only show the first line of the
|
||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||
|
||||
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
|
||||
8, #1757)
|
||||
Profile of a dict function is lost when the dict is deleted. Would it be
|
||||
possible to collect this? (Daniel Hahler, #2350)
|
||||
|
||||
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||
#2322) Now in #2327?
|
||||
|
||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||
case of :bwipe followed by :new.
|
||||
@@ -367,7 +516,7 @@ Perhaps simpler: actually delete the mappings. Use maplist() to list matching
|
||||
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
||||
maprestore() to restore (using the output of maplist()).
|
||||
|
||||
Add an argument to :mkvimrc (or add aother command) to skip mappings from
|
||||
Add an argument to :mkvimrc (or add another command) to skip mappings from
|
||||
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
||||
be defined when the plugin is loaded.
|
||||
|
||||
@@ -456,9 +605,6 @@ Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
|
||||
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
|
||||
Update Aug 2017: #1954
|
||||
|
||||
Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
|
||||
Remarks from Christian Brabandt (Apr 21)
|
||||
|
||||
The TermResponse event is not triggered when a plugin has set 'eventignore' to
|
||||
"all". Netrw does this. (Gary Johnson, 2017 Jan 24)
|
||||
Postpone the event until 'eventignore' is reset.
|
||||
@@ -506,14 +652,6 @@ Patch to be able to separately map CTRL-H and BS on Windows.
|
||||
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
||||
Apr 23, #1653)
|
||||
|
||||
Using an external diff is inefficient. Not all systems have a good diff
|
||||
program available (esp. MS-Windows). Would be nice to have in internal diff
|
||||
implementation. Can then also use this for displaying changes within a line.
|
||||
Olaf Dabrunz is working on this. (10 Jan 2016)
|
||||
9 Instead invoking an external diff program, use builtin code. One can be
|
||||
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
|
||||
It's complicated and badly documented.
|
||||
|
||||
Window resizing with 'winfixheight': With a vertical split the height changes
|
||||
anyway. (Tommy allen, 2017 Feb 21, #1502)
|
||||
|
||||
@@ -529,8 +667,6 @@ Patch to make it possible to extend a list with itself.
|
||||
|
||||
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
|
||||
|
||||
Patch to add trim() function. (Bukn, 2016 Nov 25, #1280)
|
||||
|
||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||
|
||||
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
|
||||
@@ -553,6 +689,78 @@ no longer support.
|
||||
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
4#1038)
|
||||
|
||||
+channel:
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
- Writing raw mode to a buffer should still handle NL characters as line
|
||||
breaks. (Dmitry Zotikov, 2017 Aug 16)
|
||||
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
||||
2016 Dec 11, #1320)
|
||||
- Implement |job-term| ?
|
||||
- Channel test fails with Motif. Sometimes kills the X11 server.
|
||||
- When a message in the queue but there is no callback, drop it after a while?
|
||||
Add timestamp to queued messages and callbacks with ID, remove after a
|
||||
minute. Option to set the droptime.
|
||||
- Add an option to drop text of very long lines? Default to 1 Mbyte.
|
||||
- Add remark about undo sync, is there a way to force it?
|
||||
- When starting a job, have an option to open the server socket, so we know
|
||||
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
|
||||
Feb 9) How to do this on MS-Windows?
|
||||
- For connection to server, a "keep open" flag would be useful. Retry
|
||||
connecting in the main loop with zero timeout.
|
||||
- job_start(): run job in a newly opened terminal (not a terminal window).
|
||||
With xterm could use -S{pty}.
|
||||
Although user could use "xterm -e 'cmd arg'".
|
||||
|
||||
Regexp problems:
|
||||
- When search pattern has the base character both with and without combining
|
||||
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||
characters, esp. including 0xa0. Use character class zero.
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
(Manuel Ortega, 2016 Apr 24)
|
||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||
LC_CTYPE
|
||||
- The old engine does not find a match for "/\%#=1\(\)\{80}", the new engine
|
||||
matches everywhere.
|
||||
- Using win_linetabsize() can still be slow. Cache the result, store col and
|
||||
vcol. Reset them when moving to another line.
|
||||
- Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
|
||||
- Does not work with NFA regexp engine:
|
||||
\%u, \%x, \%o, \%d followed by a composing character
|
||||
- Search for \%d0\+ may fail with E363. (Christian Brabandt, 2016 Oct 4)
|
||||
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
|
||||
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
|
||||
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
|
||||
2015 Feb 7)
|
||||
- Using back reference before the capturing group sometimes works with the old
|
||||
engine, can we do this with the new engine? E.g. with
|
||||
"/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
|
||||
This problem is probably the same: "\%(^\1.*$\n\)\@<=\(\d\+\).*$".
|
||||
(guotuofeng, 2015 Jun 22)
|
||||
- Strange matching with "\(Hello\n\)\@<=A". (Anas Syed, 2015 Feb 12)
|
||||
- Problem with \v(A)@<=b+\1c. (Issue 334)
|
||||
- Diff highlighting can be very slow. (Issue 309)
|
||||
- Using %> for a virtual column has a check based on 'tabsize'. Better would
|
||||
be to cache the result of win_linetabsize(col), storing both col and vcol,
|
||||
and use them to decide whether win_linetabsize() needs to be called. Reset
|
||||
col and vcol when moving to another line.
|
||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||
out the \& works. Seems any column check after \& fails.
|
||||
- Difference between two engines: ".*\zs\/\@>\/" on text "///"
|
||||
(Chris Paul, 2016 Nov 13) New engine not greedy enough?
|
||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||
(2017 May 15, #1252)
|
||||
|
||||
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
||||
|
||||
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
|
||||
@@ -575,6 +783,8 @@ command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||
|
||||
Patch to support CamelCase for spell checking: See a lower-to-upper case
|
||||
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
|
||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||
(Ben Tucker, 2016 Dec 2)
|
||||
|
||||
Idea from Sven: record sequence of keys. Useful to show others what they are
|
||||
doing (look over the shoulder), and also to see what happened.
|
||||
@@ -582,7 +792,7 @@ Probably list of keystrokes, with some annotations for mode changes.
|
||||
Could store in logfile to be able to analyse it with an external command.
|
||||
E.g. to see when's the last time a plugin command was used.
|
||||
|
||||
execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,
|
||||
execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
|
||||
#1141)
|
||||
|
||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||
@@ -591,9 +801,6 @@ cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||
|
||||
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
|
||||
|
||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||
(Ben Tucker, 2016 Dec 2)
|
||||
|
||||
When using ":diffput" through a mapping, undo in the target buffer isn't
|
||||
synced. (Ryan Carney, 2016 Sep 14)
|
||||
|
||||
@@ -636,9 +843,6 @@ Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
||||
Have a way to get the call stack, in a function and from an exception.
|
||||
#1125
|
||||
|
||||
Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
|
||||
2016 Nov 21, #1266)
|
||||
|
||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||
|
||||
@@ -664,9 +868,6 @@ emoji_width table has only one entry.
|
||||
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
|
||||
Reject the value? #710.
|
||||
|
||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||
|
||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||
|
||||
@@ -696,9 +897,6 @@ Appveyor build with self-installing executable, includes getting most
|
||||
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
|
||||
result: https://ci.appveyor.com/project/k-takata/vim/history
|
||||
|
||||
Duplication of completion suggestions for ":!hom". Issue 539.
|
||||
Patch by Christian, 2016 Jan 29
|
||||
>
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
|
||||
@@ -753,12 +951,6 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
In debug mode one can inspect variables, but not the function parameters
|
||||
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)
|
||||
|
||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
||||
the value of the expression changes. ":watchdel" deletes an item,
|
||||
":watchlist" lists the items. (Charles Campbell)
|
||||
Patch by Christian Brabandt, 2016 Jun 10, #859
|
||||
|
||||
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||
2016 Apr 25, #780)
|
||||
|
||||
@@ -812,10 +1004,6 @@ github with a URL like this:
|
||||
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
||||
Diff for version.c contains more context, can't skip a patch.
|
||||
|
||||
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
|
||||
triggered. Use the code from the end of set_num_option() in
|
||||
set_color_count().
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Comparing nested structures with "==" uses a different comparator than when
|
||||
@@ -887,9 +1075,6 @@ Update Aug 14.
|
||||
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
||||
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
||||
|
||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||
Sep 10)
|
||||
|
||||
Example in editing.txt uses $HOME with the expectation that it ends in a
|
||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
||||
@@ -936,9 +1121,6 @@ Doesn't work completely (Dominique Orban)
|
||||
|
||||
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
|
||||
|
||||
Cannot execute the shell when it's in a directory with a space.
|
||||
Issue #459.
|
||||
|
||||
When a session file is created and there are "nofile" buffers, these are not
|
||||
filled. Need to trigger BufReadCmd autocommands. Also handle deleting the
|
||||
initial empty buffer better. (ZyX, 2015 March 8)
|
||||
@@ -995,13 +1177,11 @@ Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
||||
Patch for building a 32bit Vim with 64bit MingW compiler.
|
||||
(Michael Soyka, 2014 Oct 15)
|
||||
|
||||
Delete old code in os_msdos.c, mch_FullName().
|
||||
|
||||
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||
(Ingo Karkat, 2015 Jan 16)
|
||||
|
||||
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
|
||||
Update 2016 Jun 10, # 857
|
||||
Update 2018 March 12, #2711
|
||||
|
||||
Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
@@ -1040,6 +1220,9 @@ Spell files use a latin single quote. Unicode also has another single quote:
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
|
||||
Spell checking: Add a feature to only consider two spaces after a dot to start
|
||||
a new sentence. Don't give the capitalization error when there is one space.
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
@@ -1052,9 +1235,6 @@ Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
|
||||
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
|
||||
What for systems that don't have unsetenv()? (Issue #1116)
|
||||
|
||||
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
|
||||
|
||||
This does not give an error: (Andre Sihera, 2014 Mar 21)
|
||||
@@ -1189,13 +1369,6 @@ Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
|
||||
Doesn't work for string in list. Other way to pass all types of variables
|
||||
reliably?
|
||||
|
||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
||||
That is, calling a dictionary function on an autoloaded dict.
|
||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
||||
17)
|
||||
Patch by Christian Brabandt, 2013 Mar 23.
|
||||
Not 100% sure this is the right solution.
|
||||
|
||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||
(Christian Brabandt, 2013 Dec 9)
|
||||
|
||||
@@ -1226,19 +1399,6 @@ optional. (2013 Jul 12)
|
||||
|
||||
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
|
||||
|
||||
Improve the installer for MS-Windows. There are a few alternatives:
|
||||
- Add silent install option. (Shane Lee, #751)
|
||||
- Installer from Cream (Steve Hall).
|
||||
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
|
||||
https://github.com/gpwen/vim-installer-mui2
|
||||
- make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen does this.
|
||||
- MSI installer: https://github.com/petrkle/vim-msi/
|
||||
- The one on Issue 279.
|
||||
Problem: they all work slightly different (e.g. don't install vimrun.exe).
|
||||
How to test that it works well for all Vim users?
|
||||
|
||||
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
|
||||
|
||||
- Add regex for 'paragraphs' and 'sections': 'parare' and 'sectre'. Combine
|
||||
@@ -1464,9 +1624,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
||||
|
||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||
|
||||
7 Make "ga" show the digraph for a character, if it exists.
|
||||
Patch from Christian Brabandt, 2011 Aug 19.
|
||||
|
||||
maparg() does not show the <script> flag. When temporarily changing a
|
||||
mapping, how to restore the script ID?
|
||||
|
||||
@@ -1484,9 +1641,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
||||
May 24) Update May 26.
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
|
||||
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
||||
@@ -1866,8 +2020,6 @@ Haskell, 2010 Aug 24)
|
||||
|
||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||
|
||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
||||
|
||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||
messages, even though locale is not supported. But ":lang messages
|
||||
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
||||
@@ -4232,6 +4384,8 @@ Perl interface:
|
||||
|
||||
|
||||
Shared libraries:
|
||||
8 libcall() can keep the library around instead of always calling dlclose().
|
||||
(Jason Felice, 2018 Mar 20)
|
||||
6 Add support for loading shared libraries, and calling functions in it.
|
||||
:libload internal-name libname
|
||||
:libunload internal-name
|
||||
@@ -4454,8 +4608,6 @@ Autocommands:
|
||||
Error - When an error happens
|
||||
NormalEnter - Entering Normal mode
|
||||
ReplaceEnter - Entering Replace mode
|
||||
CmdEnter - Entering Cmdline mode (with type of cmdline to allow
|
||||
different mapping)
|
||||
VisualEnter - Entering Visual mode
|
||||
*Leave - Leaving a mode (in pair with the above *Enter)
|
||||
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
|
||||
@@ -4653,7 +4805,7 @@ Command line history:
|
||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||
character from the keyboard is consumed. Value is used to decide to put a
|
||||
command line in history or not. Put line in history if it didn't
|
||||
completely resulted from one mapping.
|
||||
completely result from one mapping.
|
||||
- When using ":browse", also put the resulting edit command in the history,
|
||||
so that it can be repeated. (Demirel)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_05.txt* For Vim version 8.0. Last change: 2016 Mar 28
|
||||
*usr_05.txt* For Vim version 8.0. Last change: 2018 Feb 20
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -48,6 +48,14 @@ For MS-DOS and MS-Windows you can use one of these:
|
||||
$HOME/_vimrc ~
|
||||
$VIM/_vimrc ~
|
||||
|
||||
If you are creating the vimrc file for the first time, it is recommended to
|
||||
put this line at the top: >
|
||||
|
||||
source $VIMRUNTIME/defaults.vim
|
||||
|
||||
This initializes Vim for new users (as opposed to traditional Vi users). See
|
||||
|defaults.vim| for the details.
|
||||
|
||||
The vimrc file can contain all the commands that you type after a colon. The
|
||||
most simple ones are for setting options. For example, if you want Vim to
|
||||
always start with the 'incsearch' option on, add this line your vimrc file: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.0. Last change: 2010 Jul 20
|
||||
*usr_11.txt* For Vim version 8.0. Last change: 2018 Apr 13
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -234,7 +234,7 @@ that file, be prepared to redo your last changes.
|
||||
|
||||
WHAT TO DO? *swap-exists-choices*
|
||||
|
||||
If dialogs are supported you will be asked to select one of five choices:
|
||||
If dialogs are supported you will be asked to select one of six choices:
|
||||
|
||||
Swap file ".main.c.swp" already exists! ~
|
||||
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort, (D)elete it: ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_24.txt* For Vim version 8.0. Last change: 2006 Jul 23
|
||||
*usr_24.txt* For Vim version 8.0. Last change: 2018 Mar 18
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -538,8 +538,8 @@ a 16 bit and a 32 bit number (e.g., for a Unicode character): >
|
||||
*24.9* Digraphs
|
||||
|
||||
Some characters are not on the keyboard. For example, the copyright character
|
||||
(<EFBFBD>). To type these characters in Vim, you use digraphs, where two characters
|
||||
represent one. To enter a <EFBFBD>, for example, you press three keys: >
|
||||
(©). To type these characters in Vim, you use digraphs, where two characters
|
||||
represent one. To enter a ©, for example, you press three keys: >
|
||||
|
||||
CTRL-K Co
|
||||
|
||||
@@ -549,12 +549,12 @@ To find out what digraphs are available, use the following command: >
|
||||
|
||||
Vim will display the digraph table. Here are three lines of it:
|
||||
|
||||
AC ~_ 159 NS | 160 !I <EFBFBD> 161 Ct <EFBFBD> 162 Pd <EFBFBD> 163 Cu <EFBFBD> 164 Ye <EFBFBD> 165 ~
|
||||
BB <EFBFBD> 166 SE <EFBFBD> 167 ': <EFBFBD> 168 Co <EFBFBD> 169 -a <EFBFBD> 170 << <EFBFBD> 171 NO <EFBFBD> 172 ~
|
||||
-- <EFBFBD> 173 Rg <EFBFBD> 174 'm <EFBFBD> 175 DG <EFBFBD> 176 +- <EFBFBD> 177 2S <EFBFBD> 178 3S <EFBFBD> 179 ~
|
||||
AC ~_ 159 NS | 160 !I ¡ 161 Ct ¢ 162 Pd £ 163 Cu ¤ 164 Ye ¥ 165 ~
|
||||
BB ¦ 166 SE § 167 ': ¨ 168 Co © 169 -a ª 170 << « 171 NO ¬ 172 ~
|
||||
-- 173 Rg ® 174 'm ¯ 175 DG ° 176 +- ± 177 2S ² 178 3S ³ 179 ~
|
||||
|
||||
This shows, for example, that the digraph you get by typing CTRL-K Pd is the
|
||||
character (<EFBFBD>). This is character number 163 (decimal).
|
||||
character (£). This is character number 163 (decimal).
|
||||
Pd is short for Pound. Most digraphs are selected to give you a hint about
|
||||
the character they will produce. If you look through the list you will
|
||||
understand the logic.
|
||||
@@ -569,9 +569,9 @@ that combination. Thus CTRL-K dP also works. Since there is no digraph for
|
||||
|
||||
You can define your own digraphs. Example: >
|
||||
|
||||
:digraph a" <EFBFBD>
|
||||
:digraph a" ä
|
||||
|
||||
This defines that CTRL-K a" inserts an <EFBFBD> character. You can also specify the
|
||||
This defines that CTRL-K a" inserts an ä character. You can also specify the
|
||||
character with a decimal number. This defines the same digraph: >
|
||||
|
||||
:digraph a" 228
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_27.txt* For Vim version 8.0. Last change: 2010 Mar 28
|
||||
*usr_27.txt* For Vim version 8.0. Last change: 2018 Jan 26
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -225,9 +225,9 @@ specify a line offset, this can cause trouble. For example: >
|
||||
/const/-2
|
||||
|
||||
This finds the next word "const" and then moves two lines up. If you
|
||||
use "n" to search again, Vim could start at the current position and find the same
|
||||
"const" match. Then using the offset again, you would be back where you started.
|
||||
You would be stuck!
|
||||
use "n" to search again, Vim could start at the current position and find the
|
||||
same "const" match. Then using the offset again, you would be back where you
|
||||
started. You would be stuck!
|
||||
It could be worse: Suppose there is another match with "const" in the next
|
||||
line. Then repeating the forward search would find this match and move two
|
||||
lines up. Thus you would actually move the cursor back!
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||
*usr_41.txt* For Vim version 8.0. Last change: 2018 Apr 11
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -807,6 +807,8 @@ Buffers, windows and the argument list:
|
||||
getbufinfo() get a list with buffer information
|
||||
gettabinfo() get a list with tab page information
|
||||
getwininfo() get a list with window information
|
||||
getchangelist() get a list of change list entries
|
||||
getjumplist() get a list of jump list entries
|
||||
|
||||
Command line: *command-line-functions*
|
||||
getcmdline() get the current command line
|
||||
@@ -883,9 +885,11 @@ Interactive: *interactive-functions*
|
||||
|
||||
GUI: *gui-functions*
|
||||
getfontname() get name of current font being used
|
||||
getwinposx() X position of the GUI Vim window
|
||||
getwinposy() Y position of the GUI Vim window
|
||||
getwinpos() position of the Vim window
|
||||
getwinposx() X position of the Vim window
|
||||
getwinposy() Y position of the Vim window
|
||||
balloon_show() set the balloon content
|
||||
balloon_split() split a message for a balloon
|
||||
|
||||
Vim server: *server-functions*
|
||||
serverlist() return the list of server names
|
||||
@@ -901,6 +905,7 @@ Vim server: *server-functions*
|
||||
Window size and position: *window-size-functions*
|
||||
winheight() get height of a specific window
|
||||
winwidth() get width of a specific window
|
||||
win_screenpos() get screen position of a window
|
||||
winrestcmd() return command to restore window sizes
|
||||
winsaveview() get view of current window
|
||||
winrestview() restore saved view of current window
|
||||
@@ -920,7 +925,8 @@ Testing: *test-functions*
|
||||
assert_false() assert that an expression is false
|
||||
assert_true() assert that an expression is true
|
||||
assert_exception() assert that a command throws an exception
|
||||
assert_fails() assert that a function call fails
|
||||
assert_beeps() assert that a command beeps
|
||||
assert_fails() assert that a command fails
|
||||
assert_report() report a test failure
|
||||
test_alloc_fail() make memory allocation fail
|
||||
test_autochdir() enable 'autochdir' during startup
|
||||
@@ -982,6 +988,8 @@ Terminal window: *terminal-functions*
|
||||
term_getstatus() get the status of a terminal
|
||||
term_gettitle() get the title of a terminal
|
||||
term_gettty() get the tty name of a terminal
|
||||
term_setansicolors() set 16 ANSI colors, used for GUI
|
||||
term_getansicolors() get 16 ANSI colors, used for GUI
|
||||
|
||||
Timers: *timer-functions*
|
||||
timer_start() create a timer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
||||
*various.txt* For Vim version 8.0. Last change: 2018 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -40,23 +40,35 @@ CTRL-L Clear and redraw the screen. The redraw may happen
|
||||
|
||||
:as[cii] or *ga* *:as* *:ascii*
|
||||
ga Print the ascii value of the character under the
|
||||
cursor in decimal, hexadecimal and octal. For
|
||||
example, when the cursor is on a 'R':
|
||||
cursor in decimal, hexadecimal and octal.
|
||||
Mnemonic: Get Ascii value.
|
||||
|
||||
For example, when the cursor is on a 'R':
|
||||
<R> 82, Hex 52, Octal 122 ~
|
||||
When the character is a non-standard ASCII character,
|
||||
but printable according to the 'isprint' option, the
|
||||
non-printable version is also given. When the
|
||||
character is larger than 127, the <M-x> form is also
|
||||
printed. For example:
|
||||
non-printable version is also given.
|
||||
|
||||
When the character is larger than 127, the <M-x> form
|
||||
is also printed. For example:
|
||||
<~A> <M-^A> 129, Hex 81, Octal 201 ~
|
||||
<p> <|~> <M-~> 254, Hex fe, Octal 376 ~
|
||||
(where <p> is a special character)
|
||||
|
||||
The <Nul> character in a file is stored internally as
|
||||
<NL>, but it will be shown as:
|
||||
<^@> 0, Hex 00, Octal 000 ~
|
||||
|
||||
If the character has composing characters these are
|
||||
also shown. The value of 'maxcombine' doesn't matter.
|
||||
Mnemonic: Get Ascii value. {not in Vi}
|
||||
|
||||
If the character can be inserted as a digraph, also
|
||||
output the two characters that can be used to create
|
||||
the character:
|
||||
<ö> 246, Hex 00f6, Oct 366, Digr o: ~
|
||||
This shows you can type CTRL-K o : to insert ö.
|
||||
|
||||
{not in Vi}
|
||||
|
||||
*g8*
|
||||
g8 Print the hex values of the bytes used in the
|
||||
@@ -294,7 +306,7 @@ g8 Print the hex values of the bytes used in the
|
||||
Here is an overview of the features.
|
||||
The first column shows the smallest version in which
|
||||
they are included:
|
||||
T tiny
|
||||
T tiny (always)
|
||||
S small
|
||||
N normal
|
||||
B big
|
||||
@@ -308,11 +320,14 @@ g8 Print the hex values of the bytes used in the
|
||||
*+acl* |ACL| support included
|
||||
*+ARP* Amiga only: ARP support included
|
||||
B *+arabic* |Arabic| language support
|
||||
N *+autocmd* |:autocmd|, automatic commands
|
||||
T *+autocmd* |:autocmd|, automatic commands
|
||||
H *+autoservername* Automatically enable |clientserver|
|
||||
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
||||
supported GUI (Motif, GTK, GUI) and either
|
||||
Netbeans/Sun Workshop integration or |+eval| feature.
|
||||
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||
compiling with supported GUI (Motif, GTK, GUI) and
|
||||
either Netbeans/Sun Workshop integration or |+eval|
|
||||
feature.
|
||||
H *+balloon_eval_term* |balloon-eval| support in the terminal,
|
||||
'balloonevalterm'
|
||||
N *+browse* |:browse| command
|
||||
N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||
@@ -329,7 +344,7 @@ N *+comments* |'comments'| support
|
||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||
N *+cryptv* encryption support |encryption|
|
||||
B *+cscope* |cscope| support
|
||||
m *+cursorbind* |'cursorbind'| support
|
||||
T *+cursorbind* |'cursorbind'| support
|
||||
m *+cursorshape* |termcap-cursor-shape| support
|
||||
m *+debug* Compiled for debugging.
|
||||
N *+dialog_gui* Support for |:confirm| with GUI dialog.
|
||||
@@ -337,7 +352,7 @@ N *+dialog_con* Support for |:confirm| with console dialog.
|
||||
N *+dialog_con_gui* Support for |:confirm| with GUI and console dialog.
|
||||
N *+diff* |vimdiff| and 'diff'
|
||||
N *+digraphs* |digraphs| *E196*
|
||||
m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+directx* Win32 GUI only: DirectX and |'renderoptions'|
|
||||
*+dnd* Support for DnD into the "~ register |quote_~|.
|
||||
B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
@@ -369,7 +384,7 @@ B *+langmap* |'langmap'|
|
||||
N *+libcall* |libcall()|
|
||||
N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
|
||||
N *+lispindent* |'lisp'|
|
||||
N *+listcmds* Vim commands for the list of buffers |buffer-hidden|
|
||||
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
|
||||
and argument list |:argdelete|
|
||||
N *+localmap* Support for mappings local to a buffer |:map-local|
|
||||
m *+lua* |Lua| interface
|
||||
@@ -414,7 +429,7 @@ N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
|
||||
B *+rightleft* Right to left typing |'rightleft'|
|
||||
m *+ruby* Ruby interface |ruby|
|
||||
m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
||||
N *+scrollbind* |'scrollbind'|
|
||||
T *+scrollbind* |'scrollbind'|
|
||||
B *+signs* |:sign|
|
||||
N *+smartindent* |'smartindent'|
|
||||
N *+startuptime* |--startuptime| argument
|
||||
@@ -446,6 +461,7 @@ N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
N *+vreplace* |gR| and |gr|
|
||||
*+vtp* on MS-Windows console: support for 'termguicolors'
|
||||
N *+wildignore* |'wildignore'|
|
||||
N *+wildmenu* |'wildmenu'|
|
||||
*+windows* more than one window; Always enabled since 8.0.1118.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 8.0. Last change: 2014 Aug 29
|
||||
*version6.txt* For Vim version 8.0. Last change: 2018 Mar 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6103,7 +6103,7 @@ New tutor translations:
|
||||
Slovak (Lubos Celko)
|
||||
Greek (Christos Kontas)
|
||||
German (Joachim Hofmann)
|
||||
Norwegian (<EFBFBD>yvind Holm)
|
||||
Norwegian (Øyvind Holm)
|
||||
|
||||
New filetype plugins:
|
||||
Occam (Mario Schweigler)
|
||||
@@ -6121,13 +6121,13 @@ New compiler plugins:
|
||||
Modelsim vcom (Paul Baleme)
|
||||
|
||||
New menu translations:
|
||||
Brazilian (Jos<EFBFBD> de Paula)
|
||||
Brazilian (José de Paula)
|
||||
British (Mike Williams)
|
||||
Korean in UTF-8. (Nam SungHyun)
|
||||
Norwegian (<EFBFBD>yvind Holm)
|
||||
Norwegian (Øyvind Holm)
|
||||
Serbian (Aleksandar Jelenak)
|
||||
|
||||
New message translation for Norwegian. (<EFBFBD>yvind Holm)
|
||||
New message translation for Norwegian. (Øyvind Holm)
|
||||
|
||||
New color scheme:
|
||||
desert (Hans Fugal)
|
||||
@@ -10066,7 +10066,7 @@ Files: src/os_unix.c
|
||||
|
||||
Patch 6.2.019 (lang)
|
||||
Problem: Loading the Portuguese menu causes an error message.
|
||||
Solution: Join two lines. (Jose Pedro Oliveira, Jos<EFBFBD> de Paula)
|
||||
Solution: Join two lines. (Jose Pedro Oliveira, José de Paula)
|
||||
Files: runtime/lang/menu_pt_br.vim
|
||||
|
||||
Patch 6.2.020
|
||||
@@ -12418,7 +12418,7 @@ Files: src/message.c
|
||||
|
||||
Patch 6.2.376
|
||||
Problem: Win32: Ruby interface cannot be dynamically linked with Ruby 1.6.
|
||||
Solution: Add #ifdefs around use of rb_w32_snprintf(). (Beno<EFBFBD>t Cerrina)
|
||||
Solution: Add #ifdefs around use of rb_w32_snprintf(). (Benoît Cerrina)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
Patch 6.2.377 (after 6.2.372)
|
||||
@@ -14320,7 +14320,7 @@ Files: src/edit.c
|
||||
Patch 6.3.061
|
||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
||||
multi-byte character in the last column, displaying is messed up.
|
||||
(Jo<EFBFBD>l Rio)
|
||||
(Joël Rio)
|
||||
Solution: Check for a multi-byte character, not a multi-column character.
|
||||
Files: src/screen.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.0. Last change: 2017 Apr 23
|
||||
*version8.txt* For Vim version 8.0. Last change: 2018 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1799,7 +1799,7 @@ Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira)
|
||||
Files: src/if_ruby.c
|
||||
|
||||
Patch 7.4.226 (after 7.4.219)
|
||||
Problem: Cursurline highlighting not redrawn when scrolling. (John
|
||||
Problem: Cursorline highlighting not redrawn when scrolling. (John
|
||||
Marriott)
|
||||
Solution: Check for required redraw in two places.
|
||||
Files: src/move.c
|
||||
@@ -15582,7 +15582,7 @@ Files: src/json.c, src/testdir/test_json.vim
|
||||
|
||||
Patch 8.0.0181
|
||||
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
||||
highlignt in non-current windows is wrong.
|
||||
highlight in non-current windows is wrong.
|
||||
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
||||
Files: src/move.c
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||
*windows.txt* For Vim version 8.0. Last change: 2018 Apr 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -711,7 +711,6 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
When using the |:tab| modifier each argument is opened in a
|
||||
tab page. The last window is used if it's empty.
|
||||
Also see |++opt| and |+cmd|.
|
||||
{only available when compiled with a GUI}
|
||||
|
||||
==============================================================================
|
||||
8. Do a command in all buffers or windows *list-repeat*
|
||||
@@ -732,8 +731,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
the current window.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
{cmd} must not open or close windows or reorder them.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
@@ -761,8 +759,7 @@ can also get to them with the buffer list commands, like ":bnext".
|
||||
autocommand event is disabled by adding it to
|
||||
'eventignore'. This considerably speeds up editing
|
||||
each buffer.
|
||||
{not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
{not in Vi}
|
||||
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|
||||
|:cfdo| and |:lfdo|
|
||||
|
||||
@@ -975,7 +972,6 @@ is no word under the cursor, and a few other things: >
|
||||
A hidden buffer is not displayed in a window, but is still loaded into memory.
|
||||
This makes it possible to jump from file to file, without the need to read or
|
||||
write the file every time you get another buffer in a window.
|
||||
{not available when compiled without the |+listcmds| feature}
|
||||
|
||||
*:buffer-!*
|
||||
If the option 'hidden' ('hid') is set, abandoned buffers are kept for all
|
||||
@@ -1050,6 +1046,9 @@ list of buffers. |unlisted-buffer|
|
||||
x buffers with a read error
|
||||
% current buffer
|
||||
# alternate buffer
|
||||
R terminal buffers with a running job
|
||||
F terminal buffers with a finished job
|
||||
? terminal buffers without a job: `:terminal NONE`
|
||||
Combining flags means they are "and"ed together, e.g.:
|
||||
h+ hidden buffers which are modified
|
||||
a+ active buffers which are modified
|
||||
@@ -1084,10 +1083,8 @@ list of buffers. |unlisted-buffer|
|
||||
<
|
||||
|
||||
:bdelete[!] {bufname} *E93* *E94*
|
||||
Like ":bdelete[!] [N]", but buffer given by name. Note that a
|
||||
buffer whose name is a number cannot be referenced by that
|
||||
name; use the buffer number instead. Insert a backslash
|
||||
before a space in a buffer name.
|
||||
Like ":bdelete[!] [N]", but buffer given by name, see
|
||||
|{bufname}|.
|
||||
|
||||
:bdelete[!] N1 N2 ...
|
||||
Do ":bdelete[!]" for buffer N1, N2, etc. The arguments can be
|
||||
@@ -1124,10 +1121,8 @@ list of buffers. |unlisted-buffer|
|
||||
into a loaded buffer.
|
||||
|
||||
:bunload[!] {bufname}
|
||||
Like ":bunload[!] [N]", but buffer given by name. Note that a
|
||||
buffer whose name is a number cannot be referenced by that
|
||||
name; use the buffer number instead. Insert a backslash
|
||||
before a space in a buffer name.
|
||||
Like ":bunload[!] [N]", but buffer given by name.
|
||||
Also see |{bufname}|.
|
||||
|
||||
:N,Mbunload[!] Do ":bunload[!]" for all buffers in the range N to M
|
||||
|inclusive|.
|
||||
@@ -1145,10 +1140,16 @@ list of buffers. |unlisted-buffer|
|
||||
list, without setting the 'buflisted' flag.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]b[uffer][!] [+cmd] {bufname}
|
||||
Edit buffer for {bufname} from the buffer list. See
|
||||
|:buffer-!| for [!]. This will also edit a buffer that is not
|
||||
in the buffer list, without setting the 'buflisted' flag.
|
||||
:[N]b[uffer][!] [+cmd] {bufname} *{bufname}*
|
||||
Edit buffer for {bufname} from the buffer list. A partial
|
||||
name also works, so long as it is unique in the list of
|
||||
buffers.
|
||||
Note that a buffer whose name is a number cannot be referenced
|
||||
by that name; use the buffer number instead.
|
||||
Insert a backslash before a space in a buffer name.
|
||||
See |:buffer-!| for [!].
|
||||
This will also edit a buffer that is not in the buffer list,
|
||||
without setting the 'buflisted' flag.
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
|
||||
@@ -1160,7 +1161,7 @@ list of buffers. |unlisted-buffer|
|
||||
Also see |+cmd|.
|
||||
|
||||
:[N]sb[uffer] [+cmd] {bufname}
|
||||
Split window and edit buffer for {bufname} from the buffer
|
||||
Split window and edit buffer for |{bufname}| from the buffer
|
||||
list. This will also edit a buffer that is not in the buffer
|
||||
list, without setting the 'buflisted' flag.
|
||||
Note: If what you want to do is split the buffer, make a copy
|
||||
|
||||
@@ -57,7 +57,7 @@ are all equivalent.
|
||||
.PP
|
||||
.TP
|
||||
.IR \-a " | " \-autoskip
|
||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
Toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
.TP
|
||||
.IR \-b " | " \-bits
|
||||
Switch to bits (binary digits) dump, rather than hexdump.
|
||||
@@ -67,10 +67,13 @@ followed by an ascii (or ebcdic) representation. The command line switches
|
||||
\-r, \-p, \-i do not work with this mode.
|
||||
.TP
|
||||
.IR "\-c cols " | " \-cols cols"
|
||||
format
|
||||
Format
|
||||
.RI < cols >
|
||||
octets per line. Default 16 (\-i: 12, \-ps: 30, \-b: 6). Max 256.
|
||||
.TP
|
||||
.IR \-C " | " \-capitalize
|
||||
Capitalize variable names in C include file style, when using \-i.
|
||||
.TP
|
||||
.IR \-E " | " \-EBCDIC
|
||||
Change the character encoding in the righthand column from ASCII to EBCDIC.
|
||||
This does not change the hexadecimal representation. The option is
|
||||
@@ -87,7 +90,7 @@ The command line switches
|
||||
\-r, \-p, \-i do not work with this mode.
|
||||
.TP
|
||||
.IR "\-g bytes " | " \-groupsize bytes"
|
||||
separate the output of every
|
||||
Separate the output of every
|
||||
.RI < bytes >
|
||||
bytes (two hex characters or eight bit-digits each) by a whitespace.
|
||||
Specify
|
||||
@@ -98,28 +101,28 @@ in normal mode, \fI4\fP in little-endian mode and \fI1\fP in bits mode.
|
||||
Grouping does not apply to postscript or include style.
|
||||
.TP
|
||||
.IR \-h " | " \-help
|
||||
print a summary of available commands and exit. No hex dumping is performed.
|
||||
Print a summary of available commands and exit. No hex dumping is performed.
|
||||
.TP
|
||||
.IR \-i " | " \-include
|
||||
output in C include file style. A complete static array definition is written
|
||||
Output in C include file style. A complete static array definition is written
|
||||
(named after the input file), unless xxd reads from stdin.
|
||||
.TP
|
||||
.IR "\-l len " | " \-len len"
|
||||
stop after writing
|
||||
Stop after writing
|
||||
.RI < len >
|
||||
octets.
|
||||
.TP
|
||||
.I \-o offset
|
||||
add
|
||||
Add
|
||||
.RI < offset >
|
||||
to the displayed file position.
|
||||
.TP
|
||||
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
|
||||
output in postscript continuous hexdump style. Also known as plain hexdump
|
||||
Output in postscript continuous hexdump style. Also known as plain hexdump
|
||||
style.
|
||||
.TP
|
||||
.IR \-r " | " \-revert
|
||||
reverse operation: convert (or patch) hexdump into binary.
|
||||
Reverse operation: convert (or patch) hexdump into binary.
|
||||
If not writing to stdout, xxd writes into its output file without truncating
|
||||
it. Use the combination
|
||||
.I \-r \-p
|
||||
@@ -135,7 +138,7 @@ revert with
|
||||
added to file positions found in hexdump.
|
||||
.TP
|
||||
.I \-s [+][\-]seek
|
||||
start at
|
||||
Start at
|
||||
.RI < seek >
|
||||
bytes abs. (or rel.) infile offset.
|
||||
\fI+ \fRindicates that the seek is relative to the current stdin file position
|
||||
@@ -145,10 +148,10 @@ should be that many characters from the end of the input (or if combined with
|
||||
Without \-s option, xxd starts at the current file position.
|
||||
.TP
|
||||
.I \-u
|
||||
use upper case hex letters. Default is lower case.
|
||||
Use upper case hex letters. Default is lower case.
|
||||
.TP
|
||||
.IR \-v " | " \-version
|
||||
show version string.
|
||||
Show version string.
|
||||
.SH CAVEATS
|
||||
.PP
|
||||
.I xxd \-r
|
||||
|
||||
@@ -30,7 +30,7 @@ OPTIONS
|
||||
notation. Thus -c8, -c 8, -c 010 and -cols 8 are all equivalent.
|
||||
|
||||
-a | -autoskip
|
||||
toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
Toggle autoskip: A single '*' replaces nul-lines. Default off.
|
||||
|
||||
-b | -bits
|
||||
Switch to bits (binary digits) dump, rather than hexdump. This
|
||||
@@ -41,9 +41,13 @@ OPTIONS
|
||||
mode.
|
||||
|
||||
-c cols | -cols cols
|
||||
format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
|
||||
Format <cols> octets per line. Default 16 (-i: 12, -ps: 30, -b:
|
||||
6). Max 256.
|
||||
|
||||
-C | -capitalize
|
||||
Capitalize variable names in C include file style, when using
|
||||
-i.
|
||||
|
||||
-E | -EBCDIC
|
||||
Change the character encoding in the righthand column from ASCII
|
||||
to EBCDIC. This does not change the hexadecimal representation.
|
||||
@@ -52,41 +56,41 @@ OPTIONS
|
||||
-e Switch to little-endian hexdump. This option treats byte groups
|
||||
as words in little-endian byte order. The default grouping of 4
|
||||
bytes may be changed using -g. This option only applies to hex‐
|
||||
dump, leaving the ASCII (or EBCDIC) representation unchanged.
|
||||
dump, leaving the ASCII (or EBCDIC) representation unchanged.
|
||||
The command line switches -r, -p, -i do not work with this mode.
|
||||
|
||||
-g bytes | -groupsize bytes
|
||||
separate the output of every <bytes> bytes (two hex characters
|
||||
Separate the output of every <bytes> bytes (two hex characters
|
||||
or eight bit-digits each) by a whitespace. Specify -g 0 to sup‐
|
||||
press grouping. <Bytes> defaults to 2 in normal mode, 4 in lit‐
|
||||
tle-endian mode and 1 in bits mode. Grouping does not apply to
|
||||
tle-endian mode and 1 in bits mode. Grouping does not apply to
|
||||
postscript or include style.
|
||||
|
||||
-h | -help
|
||||
print a summary of available commands and exit. No hex dumping
|
||||
Print a summary of available commands and exit. No hex dumping
|
||||
is performed.
|
||||
|
||||
-i | -include
|
||||
output in C include file style. A complete static array defini‐
|
||||
tion is written (named after the input file), unless xxd reads
|
||||
Output in C include file style. A complete static array defini‐
|
||||
tion is written (named after the input file), unless xxd reads
|
||||
from stdin.
|
||||
|
||||
-l len | -len len
|
||||
stop after writing <len> octets.
|
||||
Stop after writing <len> octets.
|
||||
|
||||
-o offset
|
||||
add <offset> to the displayed file position.
|
||||
Add <offset> to the displayed file position.
|
||||
|
||||
-p | -ps | -postscript | -plain
|
||||
output in postscript continuous hexdump style. Also known as
|
||||
Output in postscript continuous hexdump style. Also known as
|
||||
plain hexdump style.
|
||||
|
||||
-r | -revert
|
||||
reverse operation: convert (or patch) hexdump into binary. If
|
||||
not writing to stdout, xxd writes into its output file without
|
||||
Reverse operation: convert (or patch) hexdump into binary. If
|
||||
not writing to stdout, xxd writes into its output file without
|
||||
truncating it. Use the combination -r -p to read plain hexadeci‐
|
||||
mal dumps without line number information and without a particu‐
|
||||
lar column layout. Additional Whitespace and line-breaks are
|
||||
lar column layout. Additional Whitespace and line-breaks are
|
||||
allowed anywhere.
|
||||
|
||||
-seek offset
|
||||
@@ -94,34 +98,34 @@ OPTIONS
|
||||
found in hexdump.
|
||||
|
||||
-s [+][-]seek
|
||||
start at <seek> bytes abs. (or rel.) infile offset. + indicates
|
||||
that the seek is relative to the current stdin file position
|
||||
Start at <seek> bytes abs. (or rel.) infile offset. + indicates
|
||||
that the seek is relative to the current stdin file position
|
||||
(meaningless when not reading from stdin). - indicates that the
|
||||
seek should be that many characters from the end of the input
|
||||
seek should be that many characters from the end of the input
|
||||
(or if combined with +: before the current stdin file position).
|
||||
Without -s option, xxd starts at the current file position.
|
||||
|
||||
-u use upper case hex letters. Default is lower case.
|
||||
-u Use upper case hex letters. Default is lower case.
|
||||
|
||||
-v | -version
|
||||
show version string.
|
||||
Show version string.
|
||||
|
||||
CAVEATS
|
||||
xxd -r has some builtin magic while evaluating line number information.
|
||||
If the output file is seekable, then the linenumbers at the start of
|
||||
each hexdump line may be out of order, lines may be missing, or over‐
|
||||
lapping. In these cases xxd will lseek(2) to the next position. If the
|
||||
output file is not seekable, only gaps are allowed, which will be
|
||||
If the output file is seekable, then the linenumbers at the start of
|
||||
each hexdump line may be out of order, lines may be missing, or over‐
|
||||
lapping. In these cases xxd will lseek(2) to the next position. If the
|
||||
output file is not seekable, only gaps are allowed, which will be
|
||||
filled by null-bytes.
|
||||
|
||||
xxd -r never generates parse errors. Garbage is silently skipped.
|
||||
|
||||
When editing hexdumps, please note that xxd -r skips everything on the
|
||||
When editing hexdumps, please note that xxd -r skips everything on the
|
||||
input line after reading enough columns of hexadecimal data (see option
|
||||
-c). This also means, that changes to the printable ascii (or ebcdic)
|
||||
columns are always ignored. Reverting a plain (or postscript) style
|
||||
hexdump with xxd -r -p does not depend on the correct number of col‐
|
||||
umns. Here anything that looks like a pair of hex-digits is inter‐
|
||||
-c). This also means, that changes to the printable ascii (or ebcdic)
|
||||
columns are always ignored. Reverting a plain (or postscript) style
|
||||
hexdump with xxd -r -p does not depend on the correct number of col‐
|
||||
umns. Here anything that looks like a pair of hex-digits is inter‐
|
||||
preted.
|
||||
|
||||
Note the difference between
|
||||
@@ -129,28 +133,28 @@ CAVEATS
|
||||
and
|
||||
% xxd -i < file
|
||||
|
||||
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
|
||||
xxd -s +seek may be different from xxd -s seek, as lseek(2) is used to
|
||||
"rewind" input. A '+' makes a difference if the input source is stdin,
|
||||
and if stdin's file position is not at the start of the file by the
|
||||
time xxd is started and given its input. The following examples may
|
||||
and if stdin's file position is not at the start of the file by the
|
||||
time xxd is started and given its input. The following examples may
|
||||
help to clarify (or further confuse!)...
|
||||
|
||||
Rewind stdin before reading; needed because the `cat' has already read
|
||||
Rewind stdin before reading; needed because the `cat' has already read
|
||||
to the end of stdin.
|
||||
% sh -c "cat > plain_copy; xxd -s 0 > hex_copy" < file
|
||||
|
||||
Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
|
||||
Hexdump from file position 0x480 (=1024+128) onwards. The `+' sign
|
||||
means "relative to the current position", thus the `128' adds to the 1k
|
||||
where dd left off.
|
||||
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
|
||||
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +128 > hex_snippet"
|
||||
< file
|
||||
|
||||
Hexdump from file position 0x100 ( = 1024-768) on.
|
||||
% sh -c "dd of=plain_snippet bs=1k count=1; xxd -s +-768 > hex_snippet"
|
||||
< file
|
||||
|
||||
However, this is a rare situation and the use of `+' is rarely needed.
|
||||
The author prefers to monitor the effect of xxd with strace(1) or
|
||||
However, this is a rare situation and the use of `+' is rarely needed.
|
||||
The author prefers to monitor the effect of xxd with strace(1) or
|
||||
truss(1), whenever -s is used.
|
||||
|
||||
EXAMPLES
|
||||
@@ -194,7 +198,7 @@ EXAMPLES
|
||||
% xxd -s 0x36 -l 13 -c 13 xxd.1
|
||||
0000036: 3235 7468 204d 6179 2031 3939 36 25th May 1996
|
||||
|
||||
Create a 65537 byte file with all bytes 0x00, except for the last one
|
||||
Create a 65537 byte file with all bytes 0x00, except for the last one
|
||||
which is 'A' (hex 0x41).
|
||||
% echo "010000: 41" | xxd -r > file
|
||||
|
||||
@@ -204,7 +208,7 @@ EXAMPLES
|
||||
*
|
||||
000fffc: 0000 0000 40 ....A
|
||||
|
||||
Create a 1 byte file containing a single 'A' character. The number
|
||||
Create a 1 byte file containing a single 'A' character. The number
|
||||
after '-r -s' adds to the linenumbers found in the file; in effect, the
|
||||
leading bytes are suppressed.
|
||||
% echo "010000: 41" | xxd -r -s -0x10000 > file
|
||||
@@ -245,7 +249,7 @@ SEE ALSO
|
||||
uuencode(1), uudecode(1), patch(1)
|
||||
|
||||
WARNINGS
|
||||
The tools weirdness matches its creators brain. Use entirely at your
|
||||
The tools weirdness matches its creators brain. Use entirely at your
|
||||
own risk. Copy files. Trace it. Become a wizard.
|
||||
|
||||
VERSION
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 11
|
||||
" Last Change: 2018 May 04
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -231,14 +231,15 @@ au BufNewFile,BufRead *.bl setf blank
|
||||
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
|
||||
|
||||
" Bazel (http://bazel.io)
|
||||
autocmd BufRead,BufNewFile *.bzl,WORKSPACE setf bzl
|
||||
autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel setf bzl
|
||||
if has("fname_case")
|
||||
" There is another check for BUILD further below.
|
||||
autocmd BufRead,BufNewFile BUILD setf bzl
|
||||
autocmd BufRead,BufNewFile BUILD setf bzl
|
||||
endif
|
||||
|
||||
" C or lpc
|
||||
au BufNewFile,BufRead *.c call dist#ft#FTlpc()
|
||||
au BufNewFile,BufRead *.lpc,*.ulpc setf lpc
|
||||
|
||||
" Calendar
|
||||
au BufNewFile,BufRead calendar setf calendar
|
||||
@@ -378,7 +379,7 @@ au BufNewFile,BufRead *.cfm,*.cfi,*.cfc setf cf
|
||||
au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
|
||||
" CUDA Cumpute Unified Device Architecture
|
||||
au BufNewFile,BufRead *.cu setf cuda
|
||||
au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
|
||||
" Dockerfile
|
||||
au BufNewFile,BufRead Dockerfile,*.Dockerfile setf dockerfile
|
||||
@@ -428,6 +429,13 @@ au BufNewFile,BufRead control
|
||||
\| setf debcontrol
|
||||
\| endif
|
||||
|
||||
" Debian Copyright
|
||||
au BufNewFile,BufRead */debian/copyright setf debcopyright
|
||||
au BufNewFile,BufRead copyright
|
||||
\ if getline(1) =~ '^Format:'
|
||||
\| setf debcopyright
|
||||
\| endif
|
||||
|
||||
" Debian Sources.list
|
||||
au BufNewFile,BufRead */etc/apt/sources.list setf debsources
|
||||
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
|
||||
@@ -1152,8 +1160,9 @@ au BufNewFile,BufRead *.pod6 setf pod6
|
||||
" Also .ctp for Cake template file
|
||||
au BufNewFile,BufRead *.php,*.php\d,*.phtml,*.ctp setf php
|
||||
|
||||
" Pike
|
||||
au BufNewFile,BufRead *.pike,*.lpc,*.ulpc,*.pmod setf pike
|
||||
" Pike and Cmod
|
||||
au BufNewFile,BufRead *.pike,*.pmod setf pike
|
||||
au BufNewFile,BufRead *.cmod setf cmod
|
||||
|
||||
" Pinfo config
|
||||
au BufNewFile,BufRead */etc/pinforc,*/.pinforc setf pinfo
|
||||
@@ -1878,8 +1887,8 @@ au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
|
||||
" Yacc or racc
|
||||
au BufNewFile,BufRead *.y call dist#ft#FTy()
|
||||
|
||||
" Yaml
|
||||
au BufNewFile,BufRead *.yaml,*.yml setf yaml
|
||||
" Yaml or Raml
|
||||
au BufNewFile,BufRead *.yaml,*.yml,*.raml setf yaml
|
||||
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
@@ -1925,6 +1934,9 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
|
||||
" Most of these should call s:StarSetf() to avoid names ending in .gz and the
|
||||
" like are used.
|
||||
|
||||
" More Apache style config files
|
||||
au BufNewFile,BufRead */etc/proftpd/*.conf*,*/etc/proftpd/conf.*/* call s:StarSetf('apachestyle')
|
||||
|
||||
" More Apache config files
|
||||
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
|
||||
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
|
||||
|
||||
54
runtime/ftplugin/chicken.vim
Normal file
54
runtime/ftplugin/chicken.vim
Normal file
@@ -0,0 +1,54 @@
|
||||
" CHICKEN-specific Vim customizations
|
||||
" Last Change: 2018-03-05
|
||||
" Author: Evan Hanson <evhan@foldling.org>
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" URL: https://foldling.org/vim/ftplugin/chicken.vim
|
||||
" Notes: These are supplemental settings, to be loaded after the core
|
||||
" Scheme ftplugin file (ftplugin/scheme.vim). Enable it by setting
|
||||
" b:is_chicken=1 and filetype=scheme.
|
||||
|
||||
if !exists('b:did_scheme_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
setl keywordprg=chicken-doc
|
||||
|
||||
setl lispwords+=and-let*
|
||||
setl lispwords+=compiler-typecase
|
||||
setl lispwords+=condition-case
|
||||
setl lispwords+=define-compiler-syntax
|
||||
setl lispwords+=define-constant
|
||||
setl lispwords+=define-external
|
||||
setl lispwords+=define-for-syntax
|
||||
setl lispwords+=define-foreign-type
|
||||
setl lispwords+=define-inline
|
||||
setl lispwords+=define-location
|
||||
setl lispwords+=define-record
|
||||
setl lispwords+=define-record-printer
|
||||
setl lispwords+=define-specialization
|
||||
setl lispwords+=fluid-let
|
||||
setl lispwords+=foreign-lambda*
|
||||
setl lispwords+=foreign-primitive
|
||||
setl lispwords+=foreign-safe-lambda*
|
||||
setl lispwords+=functor
|
||||
setl lispwords+=handle-exceptions
|
||||
setl lispwords+=let-compiler-syntax
|
||||
setl lispwords+=let-location
|
||||
setl lispwords+=let-optionals
|
||||
setl lispwords+=let-optionals*
|
||||
setl lispwords+=letrec-values
|
||||
setl lispwords+=match
|
||||
setl lispwords+=match-let
|
||||
setl lispwords+=match-let*
|
||||
setl lispwords+=match-letrec
|
||||
setl lispwords+=module
|
||||
setl lispwords+=receive
|
||||
setl lispwords+=set!-values
|
||||
setl lispwords+=test-group
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . ' keywordprg<'
|
||||
|
||||
if exists('g:loaded_matchit') && !exists('b:match_words')
|
||||
let b:match_words = '#>:<#'
|
||||
let b:undo_ftplugin = b:undo_ftplugin . ' | unlet! b:match_words'
|
||||
endif
|
||||
16
runtime/ftplugin/cmake.vim
Normal file
16
runtime/ftplugin/cmake.vim
Normal file
@@ -0,0 +1,16 @@
|
||||
" Vim filetype plugin
|
||||
" Language: CMake
|
||||
" Maintainer: Keith Smiley <keithbsmiley@gmail.com>
|
||||
" Last Change: 2017 Dec 24
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl commentstring<"
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
@@ -1,22 +1,22 @@
|
||||
" Vim filetype plugin file (GUI menu, folding and completion)
|
||||
" Language: Debian Changelog
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
|
||||
" Stefano Zacchiroli <zack@debian.org>
|
||||
" Last Change: 2014-01-31
|
||||
" Last Change: 2018-01-28
|
||||
" License: Vim License
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debchangelog.vim
|
||||
|
||||
" Bug completion requires apt-listbugs installed for Debian packages or
|
||||
" python-launchpadlib installed for Ubuntu packages
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
" {{{1 Local settings (do on every load)
|
||||
if exists("g:debchangelog_fold_enable")
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=DebGetChangelogFold(v:lnum)
|
||||
setlocal foldtext=DebChangelogFoldText()
|
||||
@@ -28,10 +28,10 @@ setlocal tw=78
|
||||
setlocal comments=f:*
|
||||
|
||||
" Clean unloading
|
||||
let b:undo_ftplugin = "setlocal tw< comments< foldmethod< foldexpr< foldtext<"
|
||||
let b:undo_ftplugin = 'setlocal tw< comments< foldmethod< foldexpr< foldtext<'
|
||||
" }}}1
|
||||
|
||||
if exists("g:did_changelog_ftplugin")
|
||||
if exists('g:did_changelog_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -44,41 +44,41 @@ let g:did_changelog_ftplugin = 1
|
||||
" Returns full name, either from $DEBFULLNAME or debianfullname.
|
||||
" TODO Is there a way to determine name from anywhere else?
|
||||
function <SID>FullName()
|
||||
if exists("$DEBFULLNAME")
|
||||
if exists('$DEBFULLNAME')
|
||||
return $DEBFULLNAME
|
||||
elseif exists("g:debianfullname")
|
||||
elseif exists('g:debianfullname')
|
||||
return g:debianfullname
|
||||
else
|
||||
return "Your Name"
|
||||
return 'Your Name'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns email address, from $DEBEMAIL, $EMAIL or debianemail.
|
||||
function <SID>Email()
|
||||
if exists("$DEBEMAIL")
|
||||
if exists('$DEBEMAIL')
|
||||
return $DEBEMAIL
|
||||
elseif exists("$EMAIL")
|
||||
elseif exists('$EMAIL')
|
||||
return $EMAIL
|
||||
elseif exists("g:debianemail")
|
||||
elseif exists('g:debianemail')
|
||||
return g:debianemail
|
||||
else
|
||||
return "your@email.address"
|
||||
return 'your@email.address'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" Returns date in RFC822 format.
|
||||
function <SID>Date()
|
||||
let savelang = v:lc_time
|
||||
execute "language time C"
|
||||
let dateandtime = strftime("%a, %d %b %Y %X %z")
|
||||
execute "language time " . savelang
|
||||
execute 'language time C'
|
||||
let dateandtime = strftime('%a, %d %b %Y %X %z')
|
||||
execute 'language time ' . savelang
|
||||
return dateandtime
|
||||
endfunction
|
||||
|
||||
function <SID>WarnIfNotUnfinalised()
|
||||
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
|
||||
if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
|
||||
echohl WarningMsg
|
||||
echo "The entry has not been unfinalised before editing."
|
||||
echo 'The entry has not been unfinalised before editing.'
|
||||
echohl None
|
||||
return 1
|
||||
endif
|
||||
@@ -86,10 +86,10 @@ function <SID>WarnIfNotUnfinalised()
|
||||
endfunction
|
||||
|
||||
function <SID>Finalised()
|
||||
let savelinenum = line(".")
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
if match(getline("."), " -- [[:alpha:]][[:alnum:].]")!=-1
|
||||
let savelinenum = line('.')
|
||||
1
|
||||
call search('^ -- ')
|
||||
if match(getline('.'), ' -- [[:alpha:]][[:alnum:].]')!=-1
|
||||
let returnvalue = 1
|
||||
else
|
||||
let returnvalue = 0
|
||||
@@ -109,54 +109,54 @@ function NewVersion()
|
||||
amenu disable Changelog.Unfinalise
|
||||
amenu enable Changelog.Finalise
|
||||
call append(0, substitute(getline(1), '-\([[:digit:]]\+\))', '-$$\1)', ''))
|
||||
call append(1, "")
|
||||
call append(2, "")
|
||||
call append(3, " -- ")
|
||||
call append(4, "")
|
||||
call Urgency("low")
|
||||
normal 1G0
|
||||
call search(")")
|
||||
normal h
|
||||
normal
|
||||
call append(1, '')
|
||||
call append(2, '')
|
||||
call append(3, ' -- ')
|
||||
call append(4, '')
|
||||
call Urgency('low')
|
||||
normal! 1G0
|
||||
call search(')')
|
||||
normal! h
|
||||
normal!
|
||||
call setline(1, substitute(getline(1), '-\$\$', '-', ''))
|
||||
if exists("g:debchangelog_fold_enable")
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
foldopen
|
||||
endif
|
||||
call AddEntry()
|
||||
endfunction
|
||||
|
||||
function AddEntry()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
normal kk
|
||||
call append(".", " * ")
|
||||
normal jjj
|
||||
1
|
||||
call search('^ -- ')
|
||||
.-2
|
||||
call append('.', ' * ')
|
||||
.+3
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
normal kk
|
||||
.-2
|
||||
if warn
|
||||
echohl MoreMsg
|
||||
call input("Hit ENTER")
|
||||
call input('Hit ENTER')
|
||||
echohl None
|
||||
endif
|
||||
startinsert!
|
||||
endfunction
|
||||
|
||||
function CloseBug()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
1
|
||||
call search('^ -- ')
|
||||
let warn=<SID>WarnIfNotUnfinalised()
|
||||
normal kk
|
||||
call append(".", " * (closes: #" . input("Bug number to close: ") . ")")
|
||||
normal j^ll
|
||||
.-2
|
||||
call append('.', ' * (closes: #' . input('Bug number to close: ') . ')')
|
||||
normal! j^ll
|
||||
startinsert
|
||||
endfunction
|
||||
|
||||
function Distribution(dist)
|
||||
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
|
||||
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ') ' . a:dist . ';', ''))
|
||||
endfunction
|
||||
|
||||
function Urgency(urg)
|
||||
call setline(1, substitute(getline(1), "urgency=.*$", "urgency=" . a:urg, ""))
|
||||
call setline(1, substitute(getline(1), 'urgency=.*$', 'urgency=' . a:urg, ''))
|
||||
endfunction
|
||||
|
||||
function <SID>UnfinaliseMenu()
|
||||
@@ -172,9 +172,9 @@ endfunction
|
||||
|
||||
function Unfinalise()
|
||||
call <SID>UnfinaliseMenu()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
call setline(".", " -- ")
|
||||
1
|
||||
call search('^ -- ')
|
||||
call setline('.', ' -- ')
|
||||
endfunction
|
||||
|
||||
function <SID>FinaliseMenu()
|
||||
@@ -190,9 +190,9 @@ endfunction
|
||||
|
||||
function Finalise()
|
||||
call <SID>FinaliseMenu()
|
||||
normal 1G
|
||||
call search("^ -- ")
|
||||
call setline(".", " -- " . <SID>FullName() . " <" . <SID>Email() . "> " . <SID>Date())
|
||||
1
|
||||
call search('^ -- ')
|
||||
call setline('.', ' -- ' . <SID>FullName() . ' <' . <SID>Email() . '> ' . <SID>Date())
|
||||
endfunction
|
||||
|
||||
|
||||
@@ -239,7 +239,7 @@ function! s:getAuthor(zonestart, zoneend)
|
||||
let linepos = a:zoneend
|
||||
while linepos >= a:zonestart
|
||||
let line = getline(linepos)
|
||||
if line =~ '^ --'
|
||||
if line =~# '^ --'
|
||||
return substitute(line, '^ --\s*\([^<]\+\)\s*.*', '\1', '')
|
||||
endif
|
||||
let linepos -= 1
|
||||
@@ -254,7 +254,7 @@ function! DebGetPkgSrcName(lineno)
|
||||
let pkgname = ''
|
||||
while lineidx > 0
|
||||
let curline = getline(lineidx)
|
||||
if curline =~ '^\S'
|
||||
if curline =~# '^\S'
|
||||
let pkgname = matchlist(curline, '^\(\S\+\).*$')[1]
|
||||
break
|
||||
endif
|
||||
@@ -264,7 +264,7 @@ function! DebGetPkgSrcName(lineno)
|
||||
endfunction
|
||||
|
||||
function! DebChangelogFoldText()
|
||||
if v:folddashes == '-' " changelog entry fold
|
||||
if v:folddashes ==# '-' " changelog entry fold
|
||||
return foldtext() . ' -- ' . s:getAuthor(v:foldstart, v:foldend) . ' '
|
||||
endif
|
||||
return foldtext()
|
||||
@@ -272,19 +272,19 @@ endfunction
|
||||
|
||||
function! DebGetChangelogFold(lnum)
|
||||
let line = getline(a:lnum)
|
||||
if line =~ '^\w\+'
|
||||
if line =~# '^\w\+'
|
||||
return '>1' " beginning of a changelog entry
|
||||
endif
|
||||
if line =~ '^\s\+\[.*\]'
|
||||
if line =~# '^\s\+\[.*\]'
|
||||
return '>2' " beginning of an author-specific chunk
|
||||
endif
|
||||
if line =~ '^ --'
|
||||
if line =~# '^ --'
|
||||
return '1'
|
||||
endif
|
||||
return '='
|
||||
endfunction
|
||||
|
||||
if exists("g:debchangelog_fold_enable")
|
||||
if exists('g:debchangelog_fold_enable')
|
||||
silent! foldopen! " unfold the entry the cursor is on (usually the first one)
|
||||
endif
|
||||
|
||||
@@ -305,13 +305,13 @@ fun! DebCompleteBugs(findstart, base)
|
||||
let try_colidx = col('.') - 1
|
||||
let colidx = -1 " default to no-completion-possible
|
||||
|
||||
while try_colidx > 0 && line[try_colidx - 1] =~ '\s\|\d\|#\|,\|:'
|
||||
while try_colidx > 0 && line[try_colidx - 1] =~# '\s\|\d\|#\|,\|:'
|
||||
let try_colidx = try_colidx - 1
|
||||
if line[try_colidx] == '#' && colidx == -1
|
||||
if line[try_colidx] ==# '#' && colidx == -1
|
||||
" found hash, where we complete from:
|
||||
let colidx = try_colidx
|
||||
elseif line[try_colidx] == ':'
|
||||
if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~ '\clp:'
|
||||
elseif line[try_colidx] ==# ':'
|
||||
if try_colidx > 1 && strpart(line, try_colidx - 2, 3) =~? '\clp:'
|
||||
let g:debchangelog_complete_mode = 'lp'
|
||||
endif
|
||||
break
|
||||
@@ -320,7 +320,7 @@ fun! DebCompleteBugs(findstart, base)
|
||||
return colidx
|
||||
else " return matches:
|
||||
let bug_lines = []
|
||||
if g:debchangelog_complete_mode == 'lp'
|
||||
if g:debchangelog_complete_mode ==? 'lp'
|
||||
if ! has('python')
|
||||
echoerr 'vim must be built with Python support to use LP bug completion'
|
||||
return
|
||||
@@ -363,7 +363,7 @@ EOF
|
||||
for line in bug_lines
|
||||
let parts = matchlist(line, '^\s*\(#\S\+\)\s*-\s*\(.*\)$')
|
||||
" filter only those which match a:base:
|
||||
if parts[1] !~ "^" . a:base
|
||||
if parts[1] !~ '^' . a:base
|
||||
continue
|
||||
endif
|
||||
let completion = {}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
" Vim filetype plugin file (GUI menu and folding)
|
||||
" Language: Debian control files
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: Pierre Habouzit <madcoder@debian.org>
|
||||
" Last Change: 2008-03-08
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/ftplugin/debcontrol.vim
|
||||
" Last Change: 2018-01-28
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/debcontrol.vim
|
||||
|
||||
" Do these settings once per buffer
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin=1
|
||||
|
||||
" {{{1 Local settings (do on every load)
|
||||
if exists("g:debcontrol_fold_enable")
|
||||
if exists('g:debcontrol_fold_enable')
|
||||
setlocal foldmethod=expr
|
||||
setlocal foldexpr=DebControlFold(v:lnum)
|
||||
setlocal foldtext=DebControlFoldText()
|
||||
@@ -20,7 +20,7 @@ endif
|
||||
setlocal textwidth=0
|
||||
|
||||
" Clean unloading
|
||||
let b:undo_ftplugin = "setlocal tw< foldmethod< foldexpr< foldtext<"
|
||||
let b:undo_ftplugin = 'setlocal tw< foldmethod< foldexpr< foldtext<'
|
||||
|
||||
" }}}1
|
||||
|
||||
@@ -32,7 +32,7 @@ function! s:getField(f, lnum)
|
||||
while line !~ '^'.a:f.':'
|
||||
let fwdsteps += 1
|
||||
let line = getline(a:lnum + fwdsteps)
|
||||
if line == ''
|
||||
if line ==# ''
|
||||
return 'unknown'
|
||||
endif
|
||||
endwhile
|
||||
@@ -40,9 +40,9 @@ function! s:getField(f, lnum)
|
||||
endfunction
|
||||
|
||||
function! DebControlFoldText()
|
||||
if v:folddashes == '-' " debcontrol entry fold
|
||||
if v:folddashes ==# '-' " debcontrol entry fold
|
||||
let type = substitute(getline(v:foldstart), ':.*', '', '')
|
||||
if type == 'Source'
|
||||
if type ==# 'Source'
|
||||
let ftext = substitute(foldtext(), ' *Source: *', ' ', '')
|
||||
return ftext . ' -- ' . s:getField('Maintainer', v:foldstart) . ' '
|
||||
endif
|
||||
@@ -56,11 +56,11 @@ endfunction
|
||||
function! DebControlFold(l)
|
||||
|
||||
" This is for not merging blank lines around folds to them
|
||||
if getline(a:l) =~ '^Source:'
|
||||
if getline(a:l) =~# '^Source:'
|
||||
return '>1'
|
||||
endif
|
||||
|
||||
if getline(a:l) =~ '^Package:'
|
||||
if getline(a:l) =~# '^Package:'
|
||||
return '>1'
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2017 Nov 11
|
||||
" Last Change: 2018 May 2
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
@@ -39,7 +39,7 @@ if &filetype == "man"
|
||||
endif
|
||||
|
||||
if exists(":Man") != 2
|
||||
com -nargs=+ Man call s:GetPage(<f-args>)
|
||||
com -nargs=+ -complete=shellcmd Man call s:GetPage(<f-args>)
|
||||
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
||||
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
||||
endif
|
||||
@@ -164,7 +164,7 @@ func <SID>GetPage(...)
|
||||
setl buftype=nofile noswapfile
|
||||
|
||||
setl ma nonu nornu nofen
|
||||
silent exec "norm 1GdG"
|
||||
silent exec "norm! 1GdG"
|
||||
let unsetwidth = 0
|
||||
if empty($MANWIDTH)
|
||||
let $MANWIDTH = winwidth(0)
|
||||
@@ -173,17 +173,25 @@ func <SID>GetPage(...)
|
||||
|
||||
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
|
||||
" on a man page reference by unsetting MANPAGER.
|
||||
silent exec "r !env -u MANPAGER man ".s:GetCmdArg(sect, page)." | col -b"
|
||||
" Some versions of env(1) do not support the '-u' option, and in such case
|
||||
" we set MANPAGER=cat.
|
||||
if !exists('s:env_has_u')
|
||||
call system('env -u x true')
|
||||
let s:env_has_u = (v:shell_error == 0)
|
||||
endif
|
||||
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
|
||||
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
|
||||
silent exec "r !" . man_cmd
|
||||
|
||||
if unsetwidth
|
||||
let $MANWIDTH = ''
|
||||
endif
|
||||
" Remove blank lines from top and bottom.
|
||||
while getline(1) =~ '^\s*$'
|
||||
silent keepj norm ggdd
|
||||
silent keepj norm! ggdd
|
||||
endwhile
|
||||
while getline('$') =~ '^\s*$'
|
||||
silent keepj norm Gdd
|
||||
silent keepj norm! Gdd
|
||||
endwhile
|
||||
1
|
||||
setl ft=man nomod
|
||||
@@ -200,7 +208,7 @@ func <SID>PopPage()
|
||||
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
|
||||
exec s:man_tag_buf."b"
|
||||
exec s:man_tag_lin
|
||||
exec "norm ".s:man_tag_col."|"
|
||||
exec "norm! ".s:man_tag_col."|"
|
||||
exec "unlet s:man_tag_buf_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_lin_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_col_".s:man_tag_depth
|
||||
|
||||
@@ -1,22 +1,43 @@
|
||||
" Vim ftplugin file
|
||||
" Language: NSIS script
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
" Language: NSIS script
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-nsis
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Last Change: 2018-01-26
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
||||
\ " | unlet! b:match_ignorecase b:match_words"
|
||||
|
||||
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\=
|
||||
setlocal include=^\\s*!include\\%(/NONFATAL\\)\\=
|
||||
|
||||
if exists("loaded_matchit")
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ '\${\%(If\|IfNot\|Unless\)}:\${\%(Else\|ElseIf\|ElseIfNot\|ElseUnless\)}:\${\%(EndIf\|EndUnless\)},' .
|
||||
\ '\${Select}:\${EndSelect},' .
|
||||
\ '\${Switch}:\${EndSwitch},' .
|
||||
\ '\${\%(Do\|DoWhile\|DoUntil\)}:\${\%(Loop\|LoopWhile\|LoopUntil\)},' .
|
||||
\ '\${\%(For\|ForEach\)}:\${Next},' .
|
||||
\ '\<Function\>:\<FunctionEnd\>,' .
|
||||
\ '\<Section\>:\<SectionEnd\>,' .
|
||||
\ '\<SectionGroup\>:\<SectionGroupEnd\>,' .
|
||||
\ '\<PageEx\>:\<PageExEnd\>,' .
|
||||
\ '\${MementoSection}:\${MementoSectionEnd},' .
|
||||
\ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' .
|
||||
\ '!macro\>:!macroend\>'
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Tom Picton <tom@tompicton.co.uk>
|
||||
" Previous Maintainer: James Sully <sullyj3@gmail.com>
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Thur, 09 November 2017
|
||||
" Last Change: Sun, 15 April 2018
|
||||
" https://github.com/tpict/vim-ftplugin-python
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
@@ -14,12 +14,33 @@ set cpo&vim
|
||||
setlocal cinkeys-=0#
|
||||
setlocal indentkeys-=0#
|
||||
setlocal include=^\\s*\\(from\\\|import\\)
|
||||
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
|
||||
|
||||
" For imports with leading .., append / and replace additional .s with ../
|
||||
let b:grandparent_match = '^\(.\.\)\(\.*\)'
|
||||
let b:grandparent_sub = '\=submatch(1)."/".repeat("../",strlen(submatch(2)))'
|
||||
|
||||
" For imports with a single leading ., replace it with ./
|
||||
let b:parent_match = '^\.\(\.\)\@!'
|
||||
let b:parent_sub = './'
|
||||
|
||||
" Replace any . sandwiched between word characters with /
|
||||
let b:child_match = '\(\w\)\.\(\w\)'
|
||||
let b:child_sub = '\1/\2'
|
||||
|
||||
setlocal includeexpr=substitute(substitute(substitute(
|
||||
\v:fname,
|
||||
\b:grandparent_match,b:grandparent_sub,''),
|
||||
\b:parent_match,b:parent_sub,''),
|
||||
\b:child_match,b:child_sub,'g')
|
||||
|
||||
setlocal suffixesadd=.py
|
||||
setlocal comments=b:#,fb:-
|
||||
setlocal commentstring=#\ %s
|
||||
|
||||
setlocal omnifunc=pythoncomplete#Complete
|
||||
if has('python3')
|
||||
setlocal omnifunc=python3complete#Complete
|
||||
endif
|
||||
|
||||
set wildignore+=*.pyc
|
||||
|
||||
@@ -32,35 +53,35 @@ let b:prev='\v^\s*(class\|def\|async def)>'
|
||||
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||
|
||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
||||
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
||||
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W', v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W', v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb', v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0, v:count1)<cr>"
|
||||
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
|
||||
|
||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
||||
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W', v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W', v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb', v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0, v:count1)<cr>"
|
||||
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
|
||||
|
||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W', v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb', v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0, v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0, v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W', v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb', v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0, v:count1)<cr>"
|
||||
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0, v:count1)<cr>"
|
||||
|
||||
if !exists('*<SID>Python_jump')
|
||||
fun! <SID>Python_jump(mode, motion, flags, ...) range
|
||||
fun! <SID>Python_jump(mode, motion, flags, count, ...) range
|
||||
let l:startofline = (a:0 >= 1) ? a:1 : 1
|
||||
|
||||
if a:mode == 'x'
|
||||
@@ -71,7 +92,7 @@ if !exists('*<SID>Python_jump')
|
||||
normal! 0
|
||||
endif
|
||||
|
||||
let cnt = v:count1
|
||||
let cnt = a:count
|
||||
mark '
|
||||
while cnt > 0
|
||||
call search(a:motion, a:flags)
|
||||
|
||||
@@ -1,45 +1,57 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Scheme
|
||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" URL: http://sites.google.com/site/khorser/opensource/vim
|
||||
" Original author: Dorai Sitaram <ds26@gte.com>
|
||||
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
|
||||
" Last Change: Oct 23, 2013
|
||||
" Vim filetype plugin file
|
||||
" Language: Scheme (R7RS)
|
||||
" Last Change: 2018-03-05
|
||||
" Author: Evan Hanson <evhan@foldling.org>
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" URL: https://foldling.org/vim/ftplugin/scheme.vim
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Don't load another plugin for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
let s:cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Copy-paste from ftplugin/lisp.vim
|
||||
setl comments=:;
|
||||
setl define=^\\s*(def\\k*
|
||||
setl formatoptions-=t
|
||||
setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
|
||||
setl lisp
|
||||
setl comments=:;;;;,:;;;,:;;,:;,sr:#\|,mb:\|,ex:\|#
|
||||
setl commentstring=;%s
|
||||
setl define=^\\s*(def\\k*
|
||||
setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
|
||||
|
||||
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
|
||||
let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
|
||||
|
||||
" Scheme-specific settings
|
||||
if exists("b:is_mzscheme") || exists("is_mzscheme")
|
||||
" improve indenting
|
||||
setl iskeyword+=#,%,^
|
||||
setl lispwords+=module,parameterize,let-values,let*-values,letrec-values
|
||||
setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
|
||||
setl lispwords+=define-signature,unit,unit/sig,compund-unit/sig,define-values/invoke-unit/sig
|
||||
setl lispwords=case
|
||||
setl lispwords+=define
|
||||
setl lispwords+=define-record-type
|
||||
setl lispwords+=define-syntax
|
||||
setl lispwords+=define-values
|
||||
setl lispwords+=do
|
||||
setl lispwords+=guard
|
||||
setl lispwords+=lambda
|
||||
setl lispwords+=let
|
||||
setl lispwords+=let*
|
||||
setl lispwords+=let*-values
|
||||
setl lispwords+=let-syntax
|
||||
setl lispwords+=let-values
|
||||
setl lispwords+=letrec
|
||||
setl lispwords+=letrec*
|
||||
setl lispwords+=letrec-syntax
|
||||
setl lispwords+=parameterize
|
||||
setl lispwords+=set!
|
||||
setl lispwords+=syntax-rules
|
||||
setl lispwords+=unless
|
||||
setl lispwords+=when
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . ' lispwords<'
|
||||
|
||||
let b:did_scheme_ftplugin = 1
|
||||
|
||||
if exists('b:is_chicken') || exists('g:is_chicken')
|
||||
exe 'ru! ftplugin/chicken.vim'
|
||||
endif
|
||||
|
||||
if exists("b:is_chicken") || exists("is_chicken")
|
||||
" improve indenting
|
||||
setl iskeyword+=#,%,^
|
||||
setl lispwords+=let-optionals,let-optionals*,declare
|
||||
setl lispwords+=let-values,let*-values,letrec-values
|
||||
setl lispwords+=define-values,opt-lambda,case-lambda,syntax-rules,with-syntax,syntax-case
|
||||
setl lispwords+=cond-expand,and-let*,foreign-lambda,foreign-lambda*
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lispwords< lisp< commentstring<"
|
||||
unlet b:did_scheme_ftplugin
|
||||
let b:did_ftplugin = 1
|
||||
let &cpo = s:cpo
|
||||
unlet s:cpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Nov 06
|
||||
" Last Change: 2017 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -39,21 +39,23 @@ endif
|
||||
" Comments start with a double quote
|
||||
setlocal commentstring=\"%s
|
||||
|
||||
" Move around functions.
|
||||
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||
" Move around functions.
|
||||
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||
|
||||
" Move around comments
|
||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
" Move around comments
|
||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
endif
|
||||
|
||||
" Let the matchit plugin know what items can be matched.
|
||||
if exists("loaded_matchit")
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: xml
|
||||
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" Last Changed: 20 Jan 2009
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Last Changed: May 08th, 2018
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
|
||||
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
@@ -10,16 +12,16 @@ let b:did_ftplugin = 1
|
||||
" Make sure the continuation lines below do not cause problems in
|
||||
" compatibility mode.
|
||||
let s:save_cpo = &cpo
|
||||
set cpo-=C
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=<!--%s-->
|
||||
setlocal comments=s:<!--,m:\ \ \ \ \ ,e:-->
|
||||
" Remove the middlepart from the comments section, as this causes problems:
|
||||
" https://groups.google.com/d/msg/vim_dev/x4GT-nqa0Kg/jvtRnEbtAnMJ
|
||||
setlocal comments=s:<!--,e:-->
|
||||
|
||||
setlocal formatoptions-=t
|
||||
if !exists("g:ft_xml_autocomment") || (g:ft_xml_autocomment == 1)
|
||||
setlocal formatoptions+=croql
|
||||
endif
|
||||
|
||||
setlocal formatoptions+=croql
|
||||
setlocal formatexpr=xmlformat#Format()
|
||||
|
||||
" XML: thanks to Johannes Zellner and Akbar Ibrahim
|
||||
" - case sensitive
|
||||
@@ -39,7 +41,6 @@ if exists("loaded_matchit")
|
||||
\ '<\@<=\%([^ \t>/]\+\)\%(\s\+[^/>]*\|$\):/>'
|
||||
endif
|
||||
|
||||
"
|
||||
" For Omni completion, by Mikolaj Machowski.
|
||||
if exists('&ofu')
|
||||
setlocal ofu=xmlcomplete#CompleteTags
|
||||
@@ -47,17 +48,17 @@ endif
|
||||
command! -nargs=+ XMLns call xmlcomplete#CreateConnection(<f-args>)
|
||||
command! -nargs=? XMLent call xmlcomplete#CreateEntConnection(<f-args>)
|
||||
|
||||
|
||||
" Change the :browse e filter to primarily show xml-related files.
|
||||
if has("gui_win32")
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter="XML Files (*.xml)\t*.xml\n" .
|
||||
\ "DTD Files (*.dtd)\t*.dtd\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
\ "DTD Files (*.dtd)\t*.dtd\n" .
|
||||
\ "XSD Files (*.xsd)\t*.xsd\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed.
|
||||
let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions<" .
|
||||
\ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
let b:undo_ftplugin = "setlocal commentstring< comments< formatoptions< formatexpr< " .
|
||||
\ " | unlet! b:match_ignorecase b:match_words b:browsefilter"
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Zimbu
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Sep 08
|
||||
" Last Change: 2017 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -135,8 +135,10 @@ iabbr <buffer> <expr> until GCUpperSpace("until")
|
||||
iabbr <buffer> <expr> while GCUpperSpace("while")
|
||||
iabbr <buffer> <expr> repeat GCUpper("repeat")
|
||||
|
||||
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
||||
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
||||
if !exists("no_plugin_maps") && !exists("no_zimbu_maps")
|
||||
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
||||
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
||||
endif
|
||||
|
||||
" Using a function makes sure the search pattern is restored
|
||||
func! ZimbuGoStartBlock()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-05-29
|
||||
" Latest Revision: 2017-11-22
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -18,9 +18,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:match_words =
|
||||
\ &matchpairs
|
||||
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||
let b:match_words = ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
||||
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
||||
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Header: "{{{
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||
" Last Change: 2017 Jun 13
|
||||
" Last Change: 2018 Mar 28
|
||||
" Version: 1.0
|
||||
" Description: HTML indent script with cached state for faster indenting on a
|
||||
" range of lines.
|
||||
@@ -56,6 +56,9 @@ let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
"}}}
|
||||
|
||||
" Pattern to match the name of a tag, including custom elements.
|
||||
let s:tagname = '\w\+\(-\w\+\)*'
|
||||
|
||||
" Check and process settings from b:html_indent and g:html_indent... variables.
|
||||
" Prefer using buffer-local settings over global settings, so that there can
|
||||
" be defaults for all HTML files and exceptions for specific types of HTML
|
||||
@@ -213,7 +216,8 @@ endfunc "}}}
|
||||
" Add known tag pairs.
|
||||
" Self-closing tags and tags that are sometimes {{{
|
||||
" self-closing (e.g., <p>) are not here (when encountering </p> we can find
|
||||
" the matching <p>, but not the other way around).
|
||||
" the matching <p>, but not the other way around). Known self-closing tags:
|
||||
" 'p', 'img', 'source'.
|
||||
" Old HTML tags:
|
||||
call s:AddITags(s:indent_tags, [
|
||||
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
|
||||
@@ -230,9 +234,9 @@ call s:AddITags(s:indent_tags, [
|
||||
call s:AddITags(s:indent_tags, [
|
||||
\ 'area', 'article', 'aside', 'audio', 'bdi', 'canvas',
|
||||
\ 'command', 'data', 'datalist', 'details', 'embed', 'figcaption',
|
||||
\ 'figure', 'footer', 'header', 'keygen', 'mark', 'meter', 'nav', 'output',
|
||||
\ 'progress', 'rp', 'rt', 'ruby', 'section', 'source', 'summary', 'svg',
|
||||
\ 'time', 'track', 'video', 'wbr'])
|
||||
\ 'figure', 'footer', 'header', 'keygen', 'main', 'mark', 'meter',
|
||||
\ 'nav', 'output', 'picture', 'progress', 'rp', 'rt', 'ruby', 'section',
|
||||
\ 'summary', 'svg', 'time', 'track', 'video', 'wbr'])
|
||||
|
||||
" Tags added for web components:
|
||||
call s:AddITags(s:indent_tags, [
|
||||
@@ -280,7 +284,7 @@ func! s:CountITags(text)
|
||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||
let s:block = 0 " assume starting outside of a block
|
||||
let s:countonly = 1 " don't change state
|
||||
call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
call substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let s:countonly = 0
|
||||
endfunc "}}}
|
||||
|
||||
@@ -292,7 +296,7 @@ func! s:CountTagsAndState(text)
|
||||
let s:nextrel = 0 " relative indent steps for next line [unit &sw]:
|
||||
|
||||
let s:block = b:hi_newstate.block
|
||||
let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
let tmp = substitute(a:text, '<\zs/\=' . s:tagname . '\>\|<!--\[\|\[endif\]-->\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
|
||||
if s:block == 3
|
||||
let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
|
||||
endif
|
||||
@@ -530,7 +534,7 @@ func! s:FreshState(lnum)
|
||||
let swendtag = match(text, '^\s*</') >= 0
|
||||
|
||||
" If previous line ended in a closing tag, line up with the opening tag.
|
||||
if !swendtag && text =~ '</\w\+\s*>\s*$'
|
||||
if !swendtag && text =~ '</' . s:tagname . '\s*>\s*$'
|
||||
call cursor(state.lnum, 99999)
|
||||
normal! F<
|
||||
let start_lnum = HtmlIndent_FindStartTag()
|
||||
@@ -860,7 +864,7 @@ func! HtmlIndent_FindStartTag()
|
||||
" The cursor must be on or before a closing tag.
|
||||
" If found, positions the cursor at the match and returns the line number.
|
||||
" Otherwise returns 0.
|
||||
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs\w\+\ze')
|
||||
let tagname = matchstr(getline('.')[col('.') - 1:], '</\zs' . s:tagname . '\ze')
|
||||
let start_lnum = searchpair('<' . tagname . '\>', '', '</' . tagname . '\>', 'bW')
|
||||
if start_lnum > 0
|
||||
return start_lnum
|
||||
@@ -876,7 +880,7 @@ func! HtmlIndent_FindTagEnd()
|
||||
" a self-closing tag, to the matching ">".
|
||||
" Limited to look up to b:html_indent_line_limit lines away.
|
||||
let text = getline('.')
|
||||
let tagname = matchstr(text, '\w\+\|!--', col('.'))
|
||||
let tagname = matchstr(text, s:tagname . '\|!--', col('.'))
|
||||
if tagname == '!--'
|
||||
call search('--\zs>')
|
||||
elseif s:get_tag('/' . tagname) != 0
|
||||
@@ -921,9 +925,22 @@ func! s:InsideTag(foundHtmlString)
|
||||
else
|
||||
let idx = match(text, '\s\zs[_a-zA-Z0-9-]\+="')
|
||||
endif
|
||||
if idx == -1
|
||||
" try <tag attr
|
||||
let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
|
||||
endif
|
||||
if idx == -1
|
||||
" after just <tag indent one level more
|
||||
let idx = match(text, '<' . s:tagname . '$')
|
||||
if idx >= 0
|
||||
call cursor(lnum, idx)
|
||||
return virtcol('.') + shiftwidth()
|
||||
endif
|
||||
endif
|
||||
if idx > 0
|
||||
" Found the attribute. TODO: assumes spaces, no Tabs.
|
||||
return idx
|
||||
" Found the attribute to align with.
|
||||
call cursor(lnum, idx)
|
||||
return virtcol('.')
|
||||
endif
|
||||
endwhile
|
||||
return -1
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Javascript
|
||||
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
||||
" URL: https://github.com/pangloss/vim-javascript
|
||||
" Last Change: September 18, 2017
|
||||
" Last Change: December 4, 2017
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
@@ -10,10 +10,6 @@ if exists('b:did_indent')
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
" indent correctly if inside <script>
|
||||
" vim/vim@690afe1 for the switch from cindent
|
||||
let b:html_indent_script1 = 'inc'
|
||||
|
||||
" Now, set up our indentation expression and keys that trigger it.
|
||||
setlocal indentexpr=GetJavascriptIndent()
|
||||
setlocal autoindent nolisp nosmartindent
|
||||
@@ -25,13 +21,6 @@ setlocal indentkeys+=0],0)
|
||||
|
||||
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
||||
|
||||
" Regex of syntax group names that are or delimit string or are comments.
|
||||
let b:syng_strcom = get(b:,'syng_strcom','string\|comment\|regex\|special\|doc\|template\%(braces\)\@!')
|
||||
let b:syng_str = get(b:,'syng_str','string\|template\|special')
|
||||
" template strings may want to be excluded when editing graphql:
|
||||
" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special'
|
||||
" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc'
|
||||
|
||||
" Only define the function once.
|
||||
if exists('*GetJavascriptIndent')
|
||||
finish
|
||||
@@ -40,6 +29,23 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" indent correctly if inside <script>
|
||||
" vim/vim@690afe1 for the switch from cindent
|
||||
" overridden with b:html_indent_script1
|
||||
call extend(g:,{'html_indent_script1': 'inc'},'keep')
|
||||
|
||||
" Regex of syntax group names that are or delimit string or are comments.
|
||||
let s:bvars = {
|
||||
\ 'syng_strcom': 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!',
|
||||
\ 'syng_str': 'string\|template\|special' }
|
||||
" template strings may want to be excluded when editing graphql:
|
||||
" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special'
|
||||
" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc'
|
||||
|
||||
function s:GetVars()
|
||||
call extend(b:,extend(s:bvars,{'js_cache': [0,0,0]}),'keep')
|
||||
endfunction
|
||||
|
||||
" Get shiftwidth value
|
||||
if exists('*shiftwidth')
|
||||
function s:sw()
|
||||
@@ -104,21 +110,22 @@ endfunction
|
||||
function s:SkipFunc()
|
||||
if s:top_col == 1
|
||||
throw 'out of bounds'
|
||||
endif
|
||||
let s:top_col = 0
|
||||
if s:check_in
|
||||
elseif s:check_in
|
||||
if eval(s:skip_expr)
|
||||
return 1
|
||||
endif
|
||||
let s:check_in = 0
|
||||
elseif getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
||||
if eval(s:skip_expr)
|
||||
let s:looksyn = a:firstline
|
||||
return 1
|
||||
endif
|
||||
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn) && eval(s:skip_expr)
|
||||
let s:check_in = 1
|
||||
return 1
|
||||
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
||||
if eval(s:skip_expr)
|
||||
let s:check_in = 1
|
||||
return 1
|
||||
endif
|
||||
else
|
||||
let s:synid_cache[:] += [[line2byte('.') + col('.') - 1], ['']]
|
||||
endif
|
||||
let [s:looksyn, s:top_col] = getpos('.')[1:2]
|
||||
endfunction
|
||||
@@ -159,19 +166,29 @@ function s:Token()
|
||||
return s:LookingAt() =~ '\k' ? expand('<cword>') : s:LookingAt()
|
||||
endfunction
|
||||
|
||||
function s:PreviousToken()
|
||||
let l:col = col('.')
|
||||
function s:PreviousToken(...)
|
||||
let [l:pos, tok] = [getpos('.'), '']
|
||||
if search('\m\k\{1,}\|\S','ebW')
|
||||
if search('\m\*\%#\/\|\/\/\%<'.a:firstline.'l','nbW',line('.')) && eval(s:in_comm)
|
||||
if s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||
return s:Token()
|
||||
if getline('.')[col('.')-2:col('.')-1] == '*/'
|
||||
if eval(s:in_comm) && !s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||
call setpos('.',l:pos)
|
||||
else
|
||||
let tok = s:Token()
|
||||
endif
|
||||
call cursor(a:firstline, l:col)
|
||||
else
|
||||
return s:Token()
|
||||
let two = a:0 || line('.') != l:pos[1] ? strridx(getline('.')[:col('.')],'//') + 1 : 0
|
||||
if two && eval(s:in_comm)
|
||||
call cursor(0,two)
|
||||
let tok = s:PreviousToken(1)
|
||||
if tok is ''
|
||||
call setpos('.',l:pos)
|
||||
endif
|
||||
else
|
||||
let tok = s:Token()
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
return ''
|
||||
return tok
|
||||
endfunction
|
||||
|
||||
function s:Pure(f,...)
|
||||
@@ -183,23 +200,30 @@ function s:SearchLoop(pat,flags,expr)
|
||||
endfunction
|
||||
|
||||
function s:ExprCol()
|
||||
if getline('.')[col('.')-2] == ':'
|
||||
return 1
|
||||
endif
|
||||
let bal = 0
|
||||
while s:SearchLoop('[{}?]\|\_[^:]\zs::\@!','bW',s:skip_expr)
|
||||
while s:SearchLoop('[{}?:]','bW',s:skip_expr)
|
||||
if s:LookingAt() == ':'
|
||||
if getline('.')[col('.')-2] == ':'
|
||||
call cursor(0,col('.')-1)
|
||||
continue
|
||||
endif
|
||||
let bal -= 1
|
||||
elseif s:LookingAt() == '?'
|
||||
let bal += 1
|
||||
if bal == 1
|
||||
break
|
||||
if getline('.')[col('.'):col('.')+1] =~ '^\.\d\@!'
|
||||
continue
|
||||
elseif !bal
|
||||
return 1
|
||||
endif
|
||||
let bal += 1
|
||||
elseif s:LookingAt() == '{'
|
||||
let bal = !s:IsBlock()
|
||||
break
|
||||
return !s:IsBlock()
|
||||
elseif !s:GetPair('{','}','bW',s:skip_expr)
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
return s:Nat(bal)
|
||||
endfunction
|
||||
|
||||
" configurable regexes that define continuation lines, not including (, {, or [.
|
||||
@@ -208,30 +232,29 @@ let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||
let s:continuation = get(g:,'javascript_continuation',
|
||||
\ '\C\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
||||
|
||||
function s:Continues(ln,con)
|
||||
let tok = matchstr(a:con[-15:],s:continuation)
|
||||
function s:Continues()
|
||||
let tok = matchstr(strpart(getline('.'),col('.')-15,15),s:continuation)
|
||||
if tok =~ '[a-z:]'
|
||||
call cursor(a:ln, len(a:con))
|
||||
return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.'
|
||||
elseif tok !~ '[/>]'
|
||||
return tok isnot ''
|
||||
endif
|
||||
return s:SynAt(a:ln, len(a:con)) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||
return s:SynAt(line('.'),col('.')) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||
endfunction
|
||||
|
||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||
function s:Balanced(lnum)
|
||||
let [l:open, l:line] = [0, getline(a:lnum)]
|
||||
let pos = match(l:line, '[][(){}]')
|
||||
function s:Balanced(lnum,line)
|
||||
let l:open = 0
|
||||
let pos = match(a:line, '[][(){}]')
|
||||
while pos != -1
|
||||
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
|
||||
let l:open += match(' ' . l:line[pos],'[[({]')
|
||||
let l:open += match(' ' . a:line[pos],'[[({]')
|
||||
if l:open < 0
|
||||
return
|
||||
endif
|
||||
endif
|
||||
let pos = match(l:line, !l:open ? '[][(){}]' : '()' =~ l:line[pos] ?
|
||||
\ '[()]' : '{}' =~ l:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||
let pos = match(a:line, !l:open ? '[][(){}]' : '()' =~ a:line[pos] ?
|
||||
\ '[()]' : '{}' =~ a:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||
endwhile
|
||||
return !l:open
|
||||
endfunction
|
||||
@@ -244,27 +267,38 @@ function s:OneScope()
|
||||
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
|
||||
elseif s:Token() =~# '^else$\|^do$'
|
||||
return s:Pure('s:PreviousToken') != '.'
|
||||
elseif strpart(getline('.'),col('.')-2,2) == '=>'
|
||||
call cursor(0,col('.')-1)
|
||||
if s:PreviousToken() == ')'
|
||||
return s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||
endif
|
||||
return 1
|
||||
endif
|
||||
return strpart(getline('.'),col('.')-2,2) == '=>'
|
||||
endfunction
|
||||
|
||||
function s:DoWhile()
|
||||
let cpos = searchpos('\m\<','cbW')
|
||||
if s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||
if s:{s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) ?
|
||||
\ 'Previous' : ''}Token() ==# 'do' && s:IsBlock()
|
||||
return 1
|
||||
while s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||
if s:LookingAt() =~ '\a'
|
||||
if s:Pure('s:IsBlock')
|
||||
if s:LookingAt() ==# 'd'
|
||||
return 1
|
||||
endif
|
||||
break
|
||||
endif
|
||||
elseif s:LookingAt() != '}' || !s:GetPair('{','}','bW',s:skip_expr)
|
||||
break
|
||||
endif
|
||||
call call('cursor',cpos)
|
||||
endif
|
||||
endwhile
|
||||
call call('cursor',cpos)
|
||||
endfunction
|
||||
|
||||
" returns total offset from braceless contexts. 'num' is the lineNr which
|
||||
" encloses the entire context, 'cont' if whether a:firstline is a continued
|
||||
" expression, which could have started in a braceless context
|
||||
function s:IsContOne(num,cont)
|
||||
let [l:num, b_l] = [a:num + !a:num, 0]
|
||||
let pind = a:num ? indent(a:num) + s:sw() : 0
|
||||
function s:IsContOne(cont)
|
||||
let [l:num, b_l] = [b:js_cache[1] + !b:js_cache[1], 0]
|
||||
let pind = b:js_cache[1] ? indent(b:js_cache[1]) + s:sw() : 0
|
||||
let ind = indent('.') + !a:cont
|
||||
while line('.') > l:num && ind > pind || line('.') == l:num
|
||||
if indent('.') < ind && s:OneScope()
|
||||
@@ -282,20 +316,16 @@ function s:IsContOne(num,cont)
|
||||
return b_l
|
||||
endfunction
|
||||
|
||||
function s:Class()
|
||||
return (s:Token() ==# 'class' || s:PreviousToken() =~# '^class$\|^extends$') &&
|
||||
\ s:PreviousToken() != '.'
|
||||
endfunction
|
||||
|
||||
function s:IsSwitch()
|
||||
return s:PreviousToken() !~ '[.*]' &&
|
||||
\ (!s:GetPair('{','}','cbW',s:skip_expr) || s:IsBlock() && !s:Class())
|
||||
call call('cursor',b:js_cache[1:])
|
||||
return search('\m\C\%#.\_s*\%(\%(\/\/.*\_$\|\/\*\_.\{-}\*\/\)\@>\_s*\)*\%(case\|default\)\>','nWc'.s:z)
|
||||
endfunction
|
||||
|
||||
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
||||
function s:IsBlock()
|
||||
let tok = s:PreviousToken()
|
||||
if join(s:stack) =~? 'xml\|jsx' && s:SynAt(line('.'),col('.')-1) =~? 'xml\|jsx'
|
||||
let s:in_jsx = 1
|
||||
return tok != '{'
|
||||
elseif tok =~ '\k'
|
||||
if tok ==# 'type'
|
||||
@@ -320,7 +350,7 @@ function s:IsBlock()
|
||||
endfunction
|
||||
|
||||
function GetJavascriptIndent()
|
||||
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
||||
call s:GetVars()
|
||||
let s:synid_cache = [[],[]]
|
||||
let l:line = getline(v:lnum)
|
||||
" use synstack as it validates syn state and works in an empty line
|
||||
@@ -334,7 +364,7 @@ function GetJavascriptIndent()
|
||||
return -1
|
||||
endif
|
||||
elseif s:stack[-1] =~? b:syng_str
|
||||
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
||||
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1,getline(v:lnum-1))
|
||||
let b:js_cache[0] = v:lnum
|
||||
endif
|
||||
return -1
|
||||
@@ -361,7 +391,7 @@ function GetJavascriptIndent()
|
||||
call cursor(v:lnum,1)
|
||||
let idx = index([']',')','}'],l:line[0])
|
||||
if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum ||
|
||||
\ b:js_cache[0] == l:lnum && s:Balanced(l:lnum)
|
||||
\ b:js_cache[0] == l:lnum && s:Balanced(l:lnum,pline)
|
||||
call call('cursor',b:js_cache[1:])
|
||||
else
|
||||
let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0,
|
||||
@@ -382,10 +412,10 @@ function GetJavascriptIndent()
|
||||
|
||||
let [b:js_cache[0], num] = [v:lnum, b:js_cache[1]]
|
||||
|
||||
let [num_ind, is_op, b_l, l:switch_offset] = [s:Nat(indent(num)),0,0,0]
|
||||
let [num_ind, is_op, b_l, l:switch_offset, s:in_jsx] = [s:Nat(indent(num)),0,0,0,0]
|
||||
if !num || s:LookingAt() == '{' && s:IsBlock()
|
||||
let ilnum = line('.')
|
||||
if num && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr)
|
||||
if num && !s:in_jsx && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr)
|
||||
if ilnum == num
|
||||
let [num, num_ind] = [line('.'), indent('.')]
|
||||
endif
|
||||
@@ -399,23 +429,24 @@ function GetJavascriptIndent()
|
||||
endif
|
||||
endif
|
||||
if idx == -1 && pline[-1:] !~ '[{;]'
|
||||
call cursor(l:lnum, len(pline))
|
||||
let sol = matchstr(l:line,s:opfirst)
|
||||
if sol is '' || sol == '/' && s:SynAt(v:lnum,
|
||||
\ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex'
|
||||
if s:Continues(l:lnum,pline)
|
||||
if s:Continues()
|
||||
let is_op = s:sw()
|
||||
endif
|
||||
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$'
|
||||
call call('cursor',b:js_cache[1:])
|
||||
if s:PreviousToken() =~ '\k' && s:Class()
|
||||
return num_ind + s:sw()
|
||||
endif
|
||||
let is_op = s:sw()
|
||||
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$' &&
|
||||
\ s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) &&
|
||||
\ s:PreviousToken() == ')' && s:GetPair('(',')','bW',s:skip_expr) &&
|
||||
\ (s:PreviousToken() == ']' || s:LookingAt() =~ '\k' &&
|
||||
\ s:{s:PreviousToken() == '*' ? 'Previous' : ''}Token() !=# 'function')
|
||||
return num_ind + s:sw()
|
||||
else
|
||||
let is_op = s:sw()
|
||||
endif
|
||||
call cursor(l:lnum, len(pline))
|
||||
let b_l = s:Nat(s:IsContOne(b:js_cache[1],is_op) - (!is_op && l:line =~ '^{')) * s:sw()
|
||||
let b_l = s:Nat(s:IsContOne(is_op) - (!is_op && l:line =~ '^{')) * s:sw()
|
||||
endif
|
||||
elseif idx.s:LookingAt().&cino =~ '^-1(.*(' && (search('\m\S','nbW',num) || s:ParseCino('U'))
|
||||
let pval = s:ParseCino('(')
|
||||
@@ -431,10 +462,10 @@ function GetJavascriptIndent()
|
||||
|
||||
" main return
|
||||
if l:line =~ '^[])}]\|^|}'
|
||||
if l:line_raw[0] == ')' && getline(num)[b:js_cache[2]-1] == '('
|
||||
if l:line_raw[0] == ')'
|
||||
if s:ParseCino('M')
|
||||
return indent(l:lnum)
|
||||
elseif &cino =~# 'm' && !s:ParseCino('m')
|
||||
elseif num && &cino =~# 'm' && !s:ParseCino('m')
|
||||
return virtcol('.') - 1
|
||||
endif
|
||||
endif
|
||||
|
||||
91
runtime/indent/nsis.vim
Normal file
91
runtime/indent/nsis.vim
Normal file
@@ -0,0 +1,91 @@
|
||||
" Vim indent file
|
||||
" Language: NSIS script
|
||||
" Maintainer: Ken Takata
|
||||
" URL: https://github.com/k-takata/vim-nsis
|
||||
" Last Change: 2018-01-21
|
||||
" Filenames: *.nsi
|
||||
" License: VIM License
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nosmartindent
|
||||
setlocal noautoindent
|
||||
setlocal indentexpr=GetNsisIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||
|
||||
if exists("*GetNsisIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function! GetNsisIndent(lnum)
|
||||
" If this line is explicitly joined: If the previous line was also joined,
|
||||
" line it up with that one, otherwise add two 'shiftwidth'
|
||||
if getline(a:lnum - 1) =~ '\\$'
|
||||
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
|
||||
return indent(a:lnum - 1)
|
||||
endif
|
||||
return indent(a:lnum - 1) + shiftwidth() * 2
|
||||
endif
|
||||
|
||||
" Grab the current line, stripping comments.
|
||||
let l:thisl = substitute(getline(a:lnum), '[;#].*$', '', '')
|
||||
" Check if this line is a conditional preprocessor line.
|
||||
let l:preproc = l:thisl =~? '^\s*!\%(if\|else\|endif\)'
|
||||
|
||||
" Grab the previous line, stripping comments.
|
||||
" Skip preprocessor lines and continued lines.
|
||||
let l:prevlnum = a:lnum
|
||||
while 1
|
||||
let l:prevlnum = prevnonblank(l:prevlnum - 1)
|
||||
if l:prevlnum == 0
|
||||
" top of file
|
||||
return 0
|
||||
endif
|
||||
let l:prevl = substitute(getline(l:prevlnum), '[;#].*$', '', '')
|
||||
let l:prevpreproc = l:prevl =~? '^\s*!\%(if\|else\|endif\)'
|
||||
if l:preproc == l:prevpreproc && getline(l:prevlnum - 1) !~? '\\$'
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
let l:previ = indent(l:prevlnum)
|
||||
let l:ind = l:previ
|
||||
|
||||
if l:preproc
|
||||
" conditional preprocessor
|
||||
if l:prevl =~? '^\s*!\%(if\%(\%(macro\)\?n\?def\)\?\|else\)\>'
|
||||
let l:ind += shiftwidth()
|
||||
endif
|
||||
if l:thisl =~? '^\s*!\%(else\|endif\)\?\>'
|
||||
let l:ind -= shiftwidth()
|
||||
endif
|
||||
return l:ind
|
||||
endif
|
||||
|
||||
if l:prevl =~? '^\s*\%(\${\%(If\|IfNot\|Unless\|ElseIf\|ElseIfNot\|ElseUnless\|Else\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Select\|Case\|Case[2-5]\|CaseElse\|Default\|Switch\|Do\|DoWhile\|DoUntil\|For\|ForEach\|MementoSection\)}\|Function\>\|Section\>\|SectionGroup\|PageEx\>\|!macro\>\)'
|
||||
" previous line opened a block
|
||||
let l:ind += shiftwidth()
|
||||
endif
|
||||
if l:thisl =~? '^\s*\%(\${\%(ElseIf\|ElseIfNot\|ElseUnless\|Else\|EndIf\|EndUnless\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Loop\|LoopWhile\|LoopUntil\|Next\|MementoSectionEnd\)\>}\?\|FunctionEnd\>\|SectionEnd\>\|SectionGroupEnd\|PageExEnd\>\|!macroend\>\)'
|
||||
" this line closed a block
|
||||
let l:ind -= shiftwidth()
|
||||
elseif l:thisl =~? '^\s*\${\%(Case\|Case[2-5]\|CaseElse\|Default\)\>}\?'
|
||||
if l:prevl !~? '^\s*\${\%(Select\|Switch\)}'
|
||||
let l:ind -= shiftwidth()
|
||||
endif
|
||||
elseif l:thisl =~? '^\s*\${\%(EndSelect\|EndSwitch\)\>}\?'
|
||||
" this line closed a block
|
||||
if l:prevl =~? '^\s*\${\%(Select\|Switch\)}'
|
||||
let l:ind -= shiftwidth()
|
||||
else
|
||||
let l:ind -= shiftwidth() * 2
|
||||
endif
|
||||
endif
|
||||
|
||||
return l:ind
|
||||
endfunction
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
||||
@@ -1,11 +1,14 @@
|
||||
" Vim indent file
|
||||
" Language: Scheme
|
||||
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" Last Change: 2005 Jun 24
|
||||
" Language: Scheme
|
||||
" Last Change: 2018 Jan 31
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
" URL: https://foldling.org/vim/indent/scheme.vim
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Use the Lisp indenting
|
||||
runtime! indent/lisp.vim
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2017-08-08
|
||||
" Latest Revision: 2018-05-12
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
" Changelog:
|
||||
@@ -59,12 +59,15 @@ function! GetShIndent()
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
let line = getline(lnum)
|
||||
|
||||
let pnum = prevnonblank(lnum - 1)
|
||||
|
||||
let pline = getline(pnum)
|
||||
let ind = indent(lnum)
|
||||
let line = getline(lnum)
|
||||
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>'
|
||||
|
||||
" Check contents of previous lines
|
||||
if line =~ '^\s*\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>' ||
|
||||
\ (&ft is# 'zsh' && line =~ '\%(if\|then\|do\|else\|elif\|case\|while\|until\|for\|select\|foreach\)\>')
|
||||
if line !~ '\<\%(fi\|esac\|done\|end\)\>\s*\%(#.*\)\=$'
|
||||
let ind += s:indent_value('default')
|
||||
endif
|
||||
@@ -72,21 +75,35 @@ function! GetShIndent()
|
||||
if !s:is_case_ended(line)
|
||||
let ind += s:indent_value('case-statements')
|
||||
endif
|
||||
elseif line =~ '^\s*\<\k\+\>\s*()\s*{' || line =~ '^\s*{' || line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
|
||||
" function definition
|
||||
elseif s:is_function_definition(line)
|
||||
if line !~ '}\s*\%(#.*\)\=$'
|
||||
let ind += s:indent_value('default')
|
||||
endif
|
||||
elseif s:is_continuation_line(line)
|
||||
if pnum == 0 || !s:is_continuation_line(getline(pnum))
|
||||
if pnum == 0 || !s:is_continuation_line(pline)
|
||||
let ind += s:indent_value('continuation-line')
|
||||
endif
|
||||
elseif pnum != 0 && s:is_continuation_line(getline(pnum))
|
||||
let ind = indent(s:find_continued_lnum(pnum))
|
||||
elseif s:end_block(line) && !s:start_block(line)
|
||||
let ind -= s:indent_value('default')
|
||||
elseif pnum != 0 && s:is_continuation_line(pline) && !s:end_block(getline(v:lnum))
|
||||
" only add indent, if line and pline is in the same block
|
||||
let i = v:lnum
|
||||
let ind2 = indent(s:find_continued_lnum(pnum))
|
||||
while !s:is_empty(getline(i)) && i > pnum
|
||||
let i -= 1
|
||||
endw
|
||||
if i == pnum
|
||||
let ind += ind2
|
||||
else
|
||||
let ind = ind2
|
||||
endif
|
||||
endif
|
||||
|
||||
let pine = line
|
||||
" Check content of current line
|
||||
let line = getline(v:lnum)
|
||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || line =~ '^\s*}'
|
||||
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\|end\)\>' || s:end_block(line)
|
||||
let ind -= s:indent_value('default')
|
||||
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
|
||||
let ind -= s:indent_value('default')
|
||||
@@ -112,14 +129,24 @@ function! GetShIndent()
|
||||
" statements, executed within a here document. Keep the current indent
|
||||
elseif match(map(synstack(v:lnum, 1), 'synIDattr(v:val, "name")'), '\c\mheredoc') > -1
|
||||
return indent(v:lnum)
|
||||
elseif s:is_comment(line) && s:is_empty(getline(v:lnum-1))
|
||||
return indent(v:lnum)
|
||||
endif
|
||||
|
||||
return ind
|
||||
return ind > 0 ? ind : 0
|
||||
endfunction
|
||||
|
||||
function! s:is_continuation_line(line)
|
||||
return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
|
||||
" Comment, cannot be a line continuation
|
||||
if a:line =~ '^\s*#'
|
||||
return 0
|
||||
else
|
||||
" start-of-line
|
||||
" \\ or && or || or |
|
||||
" followed optionally by { or #
|
||||
return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
|
||||
\ '\s*\({\s*\)\=\(#.*\)\=$'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:find_continued_lnum(lnum)
|
||||
@@ -130,6 +157,12 @@ function! s:find_continued_lnum(lnum)
|
||||
return i
|
||||
endfunction
|
||||
|
||||
function! s:is_function_definition(line)
|
||||
return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
|
||||
\ a:line =~ '^\s*{' ||
|
||||
\ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
|
||||
endfunction
|
||||
|
||||
function! s:is_case_label(line, pnum)
|
||||
if a:line !~ '^\s*(\=.*)'
|
||||
return 0
|
||||
@@ -195,5 +228,29 @@ function! s:escape(pattern)
|
||||
return '\V'. escape(a:pattern, '\\')
|
||||
endfunction
|
||||
|
||||
function! s:is_empty(line)
|
||||
return a:line =~ '^\s*$'
|
||||
endfunction
|
||||
|
||||
function! s:end_block(line)
|
||||
return a:line =~ '^\s*}'
|
||||
endfunction
|
||||
|
||||
function! s:start_block(line)
|
||||
return a:line =~ '{\s*\(#.*\)\?$'
|
||||
endfunction
|
||||
|
||||
function! s:find_start_block(lnum)
|
||||
let i = a:lnum
|
||||
while i > 1 && !s:start_block(getline(i))
|
||||
let i -= 1
|
||||
endwhile
|
||||
return i
|
||||
endfunction
|
||||
|
||||
function! s:is_comment(line)
|
||||
return a:line =~ '^\s*#'
|
||||
endfunction
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
" Vim indent file
|
||||
" Language: LaTeX
|
||||
" Maintainer: Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||
" Version: 0.9.4
|
||||
" Vim indent file for TeX
|
||||
" Language: TeX
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: YiChao Zhou <broken.zhou AT gmail.com>
|
||||
" Latest Revision: 2017-05-03
|
||||
" Version: 0.9.3
|
||||
" Repository: https://github.com/chrisbra/vim-tex-indent
|
||||
" Documention: :h ft-tex-indent
|
||||
" Created: Sat, 16 Feb 2002 16:50:19 +0100
|
||||
" Please email me if you found something I can do. Comments, bug report and
|
||||
" feature request are welcome.
|
||||
|
||||
" Last Update: {{{
|
||||
" Last Update: {{{1
|
||||
" 25th Sep 2002, by LH :
|
||||
" (*) better support for the option
|
||||
" (*) use some regex instead of several '||'.
|
||||
@@ -15,125 +19,64 @@
|
||||
" 2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il>
|
||||
" (*) New variables:
|
||||
" g:tex_items, g:tex_itemize_env, g:tex_noindent_env
|
||||
" 2011/3/6, by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2011/3/6, by Zhou YiChao <broken.zhou AT gmail.com>
|
||||
" (*) Don't change indentation of lines starting with '%'
|
||||
" I don't see any code with '%' and it doesn't work properly
|
||||
" so I add some code.
|
||||
" (*) New features: Add smartindent-like indent for "{}" and "[]".
|
||||
" (*) New variables: g:tex_indent_brace
|
||||
" 2011/9/25, by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2011/9/25, by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Bug fix: smartindent-like indent for "[]"
|
||||
" (*) New features: Align with "&".
|
||||
" (*) New variable: g:tex_indent_and.
|
||||
" 2011/10/23 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2011/10/23 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Bug fix: improve the smartindent-like indent for "{}" and
|
||||
" "[]".
|
||||
" 2012/02/27 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2012/02/27 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Bug fix: support default folding marker.
|
||||
" (*) Indent with "&" is not very handy. Make it not enable by
|
||||
" default.
|
||||
" 2012/03/06 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2012/03/06 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Modify "&" behavior and make it default again. Now "&"
|
||||
" won't align when there are more then one "&" in the previous
|
||||
" line.
|
||||
" (*) Add indent "\left(" and "\right)"
|
||||
" (*) Trust user when in "verbatim" and "lstlisting"
|
||||
" 2012/03/11 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2012/03/11 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Modify "&" so that only indent when current line start with
|
||||
" "&".
|
||||
" 2012/03/12 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2012/03/12 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Modify indentkeys.
|
||||
" 2012/03/18 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Add &cpo
|
||||
" 2013/05/02 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2013/05/02 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Fix problem about GetTeXIndent checker. Thank Albert Netymk
|
||||
" for reporting this.
|
||||
" 2014/06/23 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2014/06/23 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Remove the feature g:tex_indent_and because it is buggy.
|
||||
" (*) If there is not any obvious indentation hints, we do not
|
||||
" alert our user's current indentation.
|
||||
" (*) g:tex_indent_brace now only works if the open brace is the
|
||||
" last character of that line.
|
||||
" 2014/08/03 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" 2014/08/03 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Indent current line if last line has larger indentation
|
||||
" 2016/11/08 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Fix problems for \[ and \]. Thanks Bruno for reporting.
|
||||
" 2017/04/30 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Fix a bug between g:tex_noindent_env and g:tex_indent_items
|
||||
" Now g:tex_noindent_env='document\|verbatim\|itemize' (Emacs
|
||||
" style) is supported. Thanks Miles Wheeler for reporting.
|
||||
" 2014/08/09 by Zhou Yichao <broken.zhou AT gmail.com>
|
||||
" (*) Add missing return value for s:GetEndIndentation(...)
|
||||
" 2017/05/02: new maintainer Christian Brabandt
|
||||
" 2017/05/02: use shiftwidth() function
|
||||
" 2017/05/02: do not add indent when environment starts and ends
|
||||
" at previous line
|
||||
" 2017/05/03: release 0.9.3 submitted for inclusion with Vim
|
||||
"
|
||||
" }}}
|
||||
|
||||
" Document: {{{
|
||||
"
|
||||
" To set the following options (ok, currently it's just one), add a line like
|
||||
" let g:tex_indent_items = 1
|
||||
" to your ~/.vimrc.
|
||||
"
|
||||
" * g:tex_indent_brace
|
||||
"
|
||||
" If this variable is unset or non-zero, it will use smartindent-like style
|
||||
" for "{}" and "[]". Now this only works if the open brace is the last
|
||||
" character of that line.
|
||||
"
|
||||
" % Example 1
|
||||
" \usetikzlibrary{
|
||||
" external
|
||||
" }
|
||||
"
|
||||
" % Example 2
|
||||
" \tikzexternalize[
|
||||
" prefix=tikz]
|
||||
"
|
||||
" * g:tex_indent_items
|
||||
"
|
||||
" If this variable is set, item-environments are indented like Emacs does
|
||||
" it, i.e., continuation lines are indented with a shiftwidth.
|
||||
"
|
||||
" NOTE: I've already set the variable below; delete the corresponding line
|
||||
" if you don't like this behaviour.
|
||||
"
|
||||
" Per default, it is unset.
|
||||
"
|
||||
" set unset
|
||||
" ----------------------------------------------------------------
|
||||
" \begin{itemize} \begin{itemize}
|
||||
" \item blablabla \item blablabla
|
||||
" bla bla bla bla bla bla
|
||||
" \item blablabla \item blablabla
|
||||
" bla bla bla bla bla bla
|
||||
" \end{itemize} \end{itemize}
|
||||
"
|
||||
"
|
||||
" * g:tex_items
|
||||
"
|
||||
" A list of tokens to be considered as commands for the beginning of an item
|
||||
" command. The tokens should be separated with '\|'. The initial '\' should
|
||||
" be escaped. The default is '\\bibitem\|\\item'.
|
||||
"
|
||||
" * g:tex_itemize_env
|
||||
"
|
||||
" A list of environment names, separated with '\|', where the items (item
|
||||
" commands matching g:tex_items) may appear. The default is
|
||||
" 'itemize\|description\|enumerate\|thebibliography'.
|
||||
"
|
||||
" * g:tex_noindent_env
|
||||
"
|
||||
" A list of environment names. separated with '\|', where no indentation is
|
||||
" required. The default is 'document\|verbatim'.
|
||||
" }}}
|
||||
|
||||
" Only define the function once
|
||||
" Only define the function once {{{1
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Define global variable {{{
|
||||
|
||||
" Define global variable {{{1
|
||||
let b:did_indent = 1
|
||||
|
||||
if !exists("g:tex_indent_items")
|
||||
@@ -150,7 +93,7 @@ if g:tex_indent_items
|
||||
let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
|
||||
endif
|
||||
if !exists('g:tex_items')
|
||||
let g:tex_items = '\\bibitem\|\\item'
|
||||
let g:tex_items = '\\bibitem\|\\item'
|
||||
endif
|
||||
else
|
||||
let g:tex_items = ''
|
||||
@@ -159,17 +102,17 @@ endif
|
||||
if !exists("g:tex_noindent_env")
|
||||
let g:tex_noindent_env = 'document\|verbatim\|lstlisting'
|
||||
endif "}}}
|
||||
|
||||
" VIM Setting " {{{
|
||||
" VIM Setting " {{{1
|
||||
setlocal autoindent
|
||||
setlocal nosmartindent
|
||||
setlocal indentexpr=GetTeXIndent()
|
||||
setlocal indentkeys&
|
||||
exec 'setlocal indentkeys+=[,(,{,),},],\&' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g')
|
||||
let g:tex_items = '^\s*' . substitute(g:tex_items, '^\(\^\\s\*\)*', '', '')
|
||||
" }}}
|
||||
|
||||
function! GetTeXIndent() " {{{
|
||||
let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent< autoindent<'
|
||||
" }}}
|
||||
function! GetTeXIndent() " {{{1
|
||||
" Find a non-blank line above the current line.
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
let cnum = v:lnum
|
||||
@@ -181,7 +124,7 @@ function! GetTeXIndent() " {{{
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
|
||||
@@ -195,9 +138,9 @@ function! GetTeXIndent() " {{{
|
||||
return indent(v:lnum)
|
||||
end
|
||||
endif
|
||||
|
||||
|
||||
if lnum == 0
|
||||
return 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let ind = indent(lnum)
|
||||
@@ -208,16 +151,12 @@ function! GetTeXIndent() " {{{
|
||||
return indent(v:lnum)
|
||||
endif
|
||||
|
||||
" Add a 'shiftwidth' after beginning of environments.
|
||||
" Don't add it for \begin{document} and \begin{verbatim}
|
||||
" if line =~ '^\s*\\begin{\(.*\)}' && line !~ 'verbatim'
|
||||
" LH modification : \begin does not always start a line
|
||||
" ZYC modification : \end after \begin won't cause wrong indent anymore
|
||||
if line =~ '\\begin{.*}'
|
||||
if line !~ g:tex_noindent_env
|
||||
let ind = ind + shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
" Add a 'shiftwidth' after beginning of environments
|
||||
" But don't do it for g:tex_noindent_env or when it also ends at the
|
||||
" previous line.
|
||||
if line =~ '\\begin{.*}' && line !~ '\\end{.*}' && line !~ g:tex_noindent_env
|
||||
let ind = ind + shiftwidth()
|
||||
let stay = 0
|
||||
|
||||
if g:tex_indent_items
|
||||
" Add another sw for item-environments
|
||||
@@ -251,27 +190,29 @@ function! GetTeXIndent() " {{{
|
||||
endif
|
||||
|
||||
if g:tex_indent_brace
|
||||
if line =~ '[[{]$'
|
||||
let char = line[strlen(line)-1]
|
||||
if char == '[' || char == '{'
|
||||
let ind += shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
|
||||
let cind = indent(v:lnum)
|
||||
let char = cline[cind]
|
||||
if (char == ']' || char == '}') &&
|
||||
\ s:CheckPairedIsLastCharacter(v:lnum, cind)
|
||||
let ind -= shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if line !~ '^\s*\\\?[\]}]'
|
||||
for i in range(indent(lnum)+1, strlen(line)-1)
|
||||
let char = line[i]
|
||||
if char == ']' || char == '}'
|
||||
if s:CheckPairedIsLastCharacter(lnum, i)
|
||||
let ind -= shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
for i in range(indent(lnum)+1, strlen(line)-1)
|
||||
let char = line[i]
|
||||
if char == ']' || char == '}'
|
||||
if s:CheckPairedIsLastCharacter(lnum, i)
|
||||
let ind -= shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
" Special treatment for 'item'
|
||||
@@ -301,8 +242,7 @@ function! GetTeXIndent() " {{{
|
||||
return ind
|
||||
endif
|
||||
endfunction "}}}
|
||||
|
||||
function! s:GetLastBeginIndentation(lnum) " {{{
|
||||
function! s:GetLastBeginIndentation(lnum) " {{{1
|
||||
let matchend = 1
|
||||
for lnum in range(a:lnum-1, max([a:lnum - g:tex_max_scan_line, 1]), -1)
|
||||
let line = getline(lnum)
|
||||
@@ -313,19 +253,19 @@ function! s:GetLastBeginIndentation(lnum) " {{{
|
||||
let matchend -= 1
|
||||
endif
|
||||
if matchend == 0
|
||||
if line =~ g:tex_noindent_env
|
||||
return indent(lnum)
|
||||
endif
|
||||
if line =~ g:tex_itemize_env
|
||||
return indent(lnum) + 2 * shiftwidth()
|
||||
endif
|
||||
if line =~ g:tex_noindent_env
|
||||
return indent(lnum)
|
||||
endif
|
||||
return indent(lnum) + shiftwidth()
|
||||
endif
|
||||
endfor
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:GetEndIndentation(lnum) " {{{
|
||||
function! s:GetEndIndentation(lnum) " {{{1
|
||||
if getline(a:lnum) =~ '\\begin{.*}.*\\end{.*}'
|
||||
return -1
|
||||
endif
|
||||
@@ -352,15 +292,12 @@ endfunction
|
||||
|
||||
" Most of the code is from matchparen.vim
|
||||
function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
|
||||
" Get the character under the cursor and check if it's in 'matchpairs'.
|
||||
let c_lnum = a:lnum
|
||||
let c_col = a:col+1
|
||||
|
||||
let line = getline(c_lnum)
|
||||
if line[c_col-1] == '\'
|
||||
let c_col = c_col + 1
|
||||
endif
|
||||
let c = line[c_col-1]
|
||||
|
||||
let c = getline(c_lnum)[c_col-1]
|
||||
let plist = split(&matchpairs, '.\zs[:,]')
|
||||
let i = index(plist, c)
|
||||
if i < 0
|
||||
@@ -409,8 +346,8 @@ function! s:CheckPairedIsLastCharacter(lnum, col) "{{{
|
||||
endif
|
||||
|
||||
return 0
|
||||
endfunction "}}}
|
||||
|
||||
endfunction
|
||||
" Reset cpo setting {{{1
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
143
runtime/keymap/oldturkic-orkhon_utf-8.vim
Normal file
143
runtime/keymap/oldturkic-orkhon_utf-8.vim
Normal file
@@ -0,0 +1,143 @@
|
||||
" Maintainer: Oliver Corff <oliver.corff@email.de>
|
||||
" Last Changed: 2018 Feb 12
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
" oto = Old Turkic, Orkhon
|
||||
let b:keymap_name = "oto"
|
||||
highlight lCursor guibg=red guifg=NONE
|
||||
|
||||
" map F8 to toggle keymap (Ctrl-^ not present on keyboard)
|
||||
noremap <F8> :let &iminsert = ! &iminsert<CR>
|
||||
lnoremap <F8> <C-^>
|
||||
noremap! <F8> <C-^>
|
||||
|
||||
loadkeymap
|
||||
A 𐰀 10C00 OLD TURKIC LETTER ORKHON A
|
||||
00 𐰀 10C00 OLD TURKIC LETTER ORKHON A
|
||||
I 𐰃 10C03 OLD TURKIC LETTER ORKHON I
|
||||
03 𐰃 10C03 OLD TURKIC LETTER ORKHON I
|
||||
O 𐰆 10C06 OLD TURKIC LETTER ORKHON O
|
||||
U 𐰆 10C06 OLD TURKIC LETTER ORKHON O
|
||||
06 𐰆 10C06 OLD TURKIC LETTER ORKHON O
|
||||
OE 𐰇 10C07 OLD TURKIC LETTER ORKHON OE
|
||||
UE 𐰇 10C07 OLD TURKIC LETTER ORKHON OE
|
||||
07 𐰇 10C07 OLD TURKIC LETTER ORKHON OE
|
||||
ab 𐰉 10C09 OLD TURKIC LETTER ORKHON AB
|
||||
b1 𐰉 10C09 OLD TURKIC LETTER ORKHON AB
|
||||
09 𐰉 10C09 OLD TURKIC LETTER ORKHON AB
|
||||
aeb 𐰋 10C0B OLD TURKIC LETTER ORKHON AEB
|
||||
eb 𐰋 10C0B OLD TURKIC LETTER ORKHON AEB
|
||||
b2 𐰋 10C0B OLD TURKIC LETTER ORKHON AEB
|
||||
0b 𐰋 10C0B OLD TURKIC LETTER ORKHON AEB
|
||||
ag 𐰍 10C0D OLD TURKIC LETTER ORKHON AG
|
||||
g1 𐰍 10C0D OLD TURKIC LETTER ORKHON AG
|
||||
0d 𐰍 10C0D OLD TURKIC LETTER ORKHON AG
|
||||
aeg 𐰏 10C0F OLD TURKIC LETTER ORKHON AEG
|
||||
eg 𐰏 10C0F OLD TURKIC LETTER ORKHON AEG
|
||||
g2 𐰏 10C0F OLD TURKIC LETTER ORKHON AEG
|
||||
0f 𐰏 10C0F OLD TURKIC LETTER ORKHON AEG
|
||||
ad 𐰑 10C11 OLD TURKIC LETTER ORKHON AD
|
||||
d1 𐰑 10C11 OLD TURKIC LETTER ORKHON AD
|
||||
11 𐰑 10C11 OLD TURKIC LETTER ORKHON AD
|
||||
aed 𐰓 10C13 OLD TURKIC LETTER ORKHON AED
|
||||
ed 𐰓 10C13 OLD TURKIC LETTER ORKHON AED
|
||||
d2 𐰓 10C13 OLD TURKIC LETTER ORKHON AED
|
||||
13 𐰓 10C13 OLD TURKIC LETTER ORKHON AED
|
||||
ez 𐰔 10C14 OLD TURKIC LETTER ORKHON EZ
|
||||
z 𐰔 10C14 OLD TURKIC LETTER ORKHON EZ
|
||||
14 𐰔 10C14 OLD TURKIC LETTER ORKHON EZ
|
||||
ay 𐰖 10C16 OLD TURKIC LETTER ORKHON AY
|
||||
y1 𐰖 10C16 OLD TURKIC LETTER ORKHON AY
|
||||
16 𐰖 10C16 OLD TURKIC LETTER ORKHON AY
|
||||
aey 𐰘 10C18 OLD TURKIC LETTER ORKHON AEY
|
||||
ey 𐰘 10C18 OLD TURKIC LETTER ORKHON AEY
|
||||
y2 𐰘 10C18 OLD TURKIC LETTER ORKHON AEY
|
||||
18 𐰘 10C18 OLD TURKIC LETTER ORKHON AEY
|
||||
aek 𐰚 10C1A OLD TURKIC LETTER ORKHON AEK
|
||||
k 𐰚 10C1A OLD TURKIC LETTER ORKHON AEK
|
||||
1a 𐰚 10C1A OLD TURKIC LETTER ORKHON AEK
|
||||
oek 𐰜 10C1C OLD TURKIC LETTER ORKHON OEK
|
||||
q 𐰜 10C1C OLD TURKIC LETTER ORKHON OEK
|
||||
1c 𐰜 10C1C OLD TURKIC LETTER ORKHON OEK
|
||||
al 𐰞 10C1E OLD TURKIC LETTER ORKHON AL
|
||||
l1 𐰞 10C1E OLD TURKIC LETTER ORKHON AL
|
||||
1e 𐰞 10C1E OLD TURKIC LETTER ORKHON AL
|
||||
ael 𐰠 10C20 OLD TURKIC LETTER ORKHON AEL
|
||||
el 𐰠 10C20 OLD TURKIC LETTER ORKHON AEL
|
||||
l2 𐰠 10C20 OLD TURKIC LETTER ORKHON AEL
|
||||
20 𐰠 10C20 OLD TURKIC LETTER ORKHON AEL
|
||||
elt 𐰡 10C21 OLD TURKIC LETTER ORKHON ELT
|
||||
lt 𐰡 10C21 OLD TURKIC LETTER ORKHON ELT
|
||||
21 𐰡 10C21 OLD TURKIC LETTER ORKHON ELT
|
||||
em 𐰢 10C22 OLD TURKIC LETTER ORKHON EM
|
||||
m 𐰢 10C22 OLD TURKIC LETTER ORKHON EM
|
||||
22 𐰢 10C22 OLD TURKIC LETTER ORKHON EM
|
||||
an 𐰣 10C23 OLD TURKIC LETTER ORKHON AN
|
||||
n1 𐰣 10C23 OLD TURKIC LETTER ORKHON AN
|
||||
23 𐰣 10C23 OLD TURKIC LETTER ORKHON AN
|
||||
en 𐰤 10C24 OLD TURKIC LETTER ORKHON AEN
|
||||
n2 𐰤 10C24 OLD TURKIC LETTER ORKHON AEN
|
||||
24 𐰤 10C24 OLD TURKIC LETTER ORKHON AEN
|
||||
ent 𐰦 10C26 OLD TURKIC LETTER ORKHON ENT
|
||||
nt 𐰦 10C26 OLD TURKIC LETTER ORKHON ENT
|
||||
26 𐰦 10C26 OLD TURKIC LETTER ORKHON ENT
|
||||
enc 𐰨 10C28 OLD TURKIC LETTER ORKHON ENC
|
||||
nc 𐰨 10C28 OLD TURKIC LETTER ORKHON ENC
|
||||
28 𐰨 10C28 OLD TURKIC LETTER ORKHON ENC
|
||||
eny 𐰪 10C2A OLD TURKIC LETTER ORKHON ENY
|
||||
ny 𐰪 10C2A OLD TURKIC LETTER ORKHON ENY
|
||||
2a 𐰪 10C2A OLD TURKIC LETTER ORKHON ENY
|
||||
eng 𐰭 10C2D OLD TURKIC LETTER ORKHON ENG
|
||||
ng 𐰭 10C2D OLD TURKIC LETTER ORKHON ENG
|
||||
2d 𐰭 10C2D OLD TURKIC LETTER ORKHON ENG
|
||||
ep 𐰯 10C2F OLD TURKIC LETTER ORKHON EP
|
||||
p 𐰯 10C2F OLD TURKIC LETTER ORKHON EP
|
||||
2f 𐰯 10C2F OLD TURKIC LETTER ORKHON EP
|
||||
op 𐰰 10C30 OLD TURKIC LETTER ORKHON OP
|
||||
up 𐰰 10C30 OLD TURKIC LETTER ORKHON OP
|
||||
30 𐰰 10C30 OLD TURKIC LETTER ORKHON OP
|
||||
ic 𐰱 10C31 OLD TURKIC LETTER ORKHON IC
|
||||
31 𐰱 10C31 OLD TURKIC LETTER ORKHON IC
|
||||
ec 𐰲 10C32 OLD TURKIC LETTER ORKHON EC
|
||||
32 𐰲 10C32 OLD TURKIC LETTER ORKHON EC
|
||||
aq 𐰴 10C34 OLD TURKIC LETTER ORKHON AQ
|
||||
34 𐰴 10C34 OLD TURKIC LETTER ORKHON AQ
|
||||
iq 𐰶 10C36 OLD TURKIC LETTER ORKHON IQ
|
||||
yq 𐰶 10C36 OLD TURKIC LETTER ORKHON IQ
|
||||
36 𐰶 10C36 OLD TURKIC LETTER ORKHON IQ
|
||||
oq 𐰸 10C38 OLD TURKIC LETTER ORKHON OQ
|
||||
uq 𐰸 10C38 OLD TURKIC LETTER ORKHON OQ
|
||||
38 𐰸 10C38 OLD TURKIC LETTER ORKHON OQ
|
||||
ar 𐰺 10C3A OLD TURKIC LETTER ORKHON AR
|
||||
r1 𐰺 10C3A OLD TURKIC LETTER ORKHON AR
|
||||
3a 𐰺 10C3A OLD TURKIC LETTER ORKHON AR
|
||||
aer 𐰼 10C3C OLD TURKIC LETTER ORKHON AER
|
||||
er 𐰼 10C3C OLD TURKIC LETTER ORKHON AER
|
||||
r2 𐰼 10C3C OLD TURKIC LETTER ORKHON AER
|
||||
3c 𐰼 10C3C OLD TURKIC LETTER ORKHON AER
|
||||
as 𐰽 10C3D OLD TURKIC LETTER ORKHON AS
|
||||
s1 𐰽 10C3D OLD TURKIC LETTER ORKHON AS
|
||||
3d 𐰽 10C3D OLD TURKIC LETTER ORKHON AS
|
||||
aes 𐰾 10C3E OLD TURKIC LETTER ORKHON AES
|
||||
es 𐰾 10C3E OLD TURKIC LETTER ORKHON AES
|
||||
s2 𐰾 10C3E OLD TURKIC LETTER ORKHON AES
|
||||
3e 𐰾 10C3E OLD TURKIC LETTER ORKHON AES
|
||||
ash 𐰿 10C3F OLD TURKIC LETTER ORKHON ASH
|
||||
sh1 𐰿 10C3F OLD TURKIC LETTER ORKHON ASH
|
||||
3f 𐰿 10C3F OLD TURKIC LETTER ORKHON ASH
|
||||
esh 𐱁 10C41 OLD TURKIC LETTER ORKHON ESH
|
||||
sh2 𐱁 10C41 OLD TURKIC LETTER ORKHON ESH
|
||||
41 𐱁 10C41 OLD TURKIC LETTER ORKHON ESH
|
||||
at 𐱃 10C43 OLD TURKIC LETTER ORKHON AT
|
||||
t1 𐱃 10C43 OLD TURKIC LETTER ORKHON AT
|
||||
43 𐱃 10C43 OLD TURKIC LETTER ORKHON AT
|
||||
aet 𐱅 10C45 OLD TURKIC LETTER ORKHON AET
|
||||
et 𐱅 10C45 OLD TURKIC LETTER ORKHON AET
|
||||
t2 𐱅 10C45 OLD TURKIC LETTER ORKHON AET
|
||||
45 𐱅 10C45 OLD TURKIC LETTER ORKHON AET
|
||||
ot 𐱇 10C47 OLD TURKIC LETTER ORKHON OT
|
||||
ut 𐱇 10C47 OLD TURKIC LETTER ORKHON OT
|
||||
47 𐱇 10C47 OLD TURKIC LETTER ORKHON OT
|
||||
bash 𐱈 10C48 OLD TURKIC LETTER ORKHON BASH
|
||||
48 𐱈 10C48 OLD TURKIC LETTER ORKHON BASH
|
||||
115
runtime/keymap/oldturkic-yenisei_utf-8.vim
Normal file
115
runtime/keymap/oldturkic-yenisei_utf-8.vim
Normal file
@@ -0,0 +1,115 @@
|
||||
" Maintainer: Oliver Corff <oliver.corff@yemail.de>
|
||||
" Last Changed: 2018 Feb 12
|
||||
|
||||
" All characters are given literally, conversion to another encoding (e.g.,
|
||||
" UTF-8) should work.
|
||||
scriptencoding utf-8
|
||||
|
||||
let b:keymap_name = "oto"
|
||||
highlight lCursor guibg=red guifg=NONE
|
||||
|
||||
" map F8 to toggle keymap (Ctrl-^ not present on keyboard)
|
||||
noremap <F8> :let &iminsert = ! &iminsert<CR>
|
||||
lnoremap <F8> <C-^>
|
||||
noremap! <F8> <C-^>
|
||||
|
||||
loadkeymap
|
||||
A 𐰁 10C01 OLD TURKIC LETTER YENISEI A
|
||||
01 𐰁 10C01 OLD TURKIC LETTER YENISEI A
|
||||
AE 𐰂 10C02 OLD TURKIC LETTER YENISEI AE
|
||||
02 𐰂 10C02 OLD TURKIC LETTER YENISEI AE
|
||||
I 𐰄 10C04 OLD TURKIC LETTER YENISEI I
|
||||
04 𐰄 10C04 OLD TURKIC LETTER YENISEI I
|
||||
E 𐰅 10C05 OLD TURKIC LETTER YENISEI E
|
||||
05 𐰅 10C05 OLD TURKIC LETTER YENISEI E
|
||||
OE 𐰈 10C08 OLD TURKIC LETTER YENISEI OE
|
||||
UE 𐰈 10C08 OLD TURKIC LETTER YENISEI OE
|
||||
08 𐰈 10C08 OLD TURKIC LETTER YENISEI OE
|
||||
ab 𐰊 10C0A OLD TURKIC LETTER YENISEI AB
|
||||
b1 𐰊 10C0A OLD TURKIC LETTER YENISEI AB
|
||||
0a 𐰊 10C0A OLD TURKIC LETTER YENISEI AB
|
||||
aeb 𐰌 10C0C OLD TURKIC LETTER YENISEI AEB
|
||||
eb 𐰌 10C0C OLD TURKIC LETTER YENISEI AEB
|
||||
b2 𐰌 10C0C OLD TURKIC LETTER YENISEI AEB
|
||||
0c 𐰌 10C0C OLD TURKIC LETTER YENISEI AEB
|
||||
ag 𐰎 10C0E OLD TURKIC LETTER YENISEI AG
|
||||
g1 𐰎 10C0E OLD TURKIC LETTER YENISEI AG
|
||||
0e 𐰎 10C0E OLD TURKIC LETTER YENISEI AG
|
||||
aeg 𐰐 10C10 OLD TURKIC LETTER YENISEI AEG
|
||||
eg 𐰐 10C10 OLD TURKIC LETTER YENISEI AEG
|
||||
g2 𐰐 10C10 OLD TURKIC LETTER YENISEI AEG
|
||||
10 𐰐 10C10 OLD TURKIC LETTER YENISEI AEG
|
||||
ad 𐰒 10C12 OLD TURKIC LETTER YENISEI AD
|
||||
d1 𐰒 10C12 OLD TURKIC LETTER YENISEI AD
|
||||
12 𐰒 10C12 OLD TURKIC LETTER YENISEI AD
|
||||
ez 𐰕 10C15 OLD TURKIC LETTER YENISEI EZ
|
||||
z 𐰕 10C15 OLD TURKIC LETTER YENISEI EZ
|
||||
15 𐰕 10C15 OLD TURKIC LETTER YENISEI EZ
|
||||
ay 𐰗 10C17 OLD TURKIC LETTER YENISEI AY
|
||||
y1 𐰗 10C17 OLD TURKIC LETTER YENISEI AY
|
||||
17 𐰗 10C17 OLD TURKIC LETTER YENISEI AY
|
||||
aey 𐰙 10C19 OLD TURKIC LETTER YENISEI AEY
|
||||
ey 𐰙 10C19 OLD TURKIC LETTER YENISEI AEY
|
||||
y2 𐰙 10C19 OLD TURKIC LETTER YENISEI AEY
|
||||
19 𐰙 10C19 OLD TURKIC LETTER YENISEI AEY
|
||||
aek 𐰛 10C1B OLD TURKIC LETTER YENISEI AEK
|
||||
ak 𐰛 10C1B OLD TURKIC LETTER YENISEI AEK
|
||||
k 𐰛 10C1B OLD TURKIC LETTER YENISEI AEK
|
||||
1b 𐰛 10C1B OLD TURKIC LETTER YENISEI AEK
|
||||
oek 𐰝 10C1D OLD TURKIC LETTER YENISEI OEK
|
||||
ök 𐰝 10C1D OLD TURKIC LETTER YENISEI OEK
|
||||
uek 𐰝 10C1D OLD TURKIC LETTER YENISEI OEK
|
||||
ük 𐰝 10C1D OLD TURKIC LETTER YENISEI OEK
|
||||
1d 𐰝 10C1D OLD TURKIC LETTER YENISEI OEK
|
||||
al 𐰟 10C1F OLD TURKIC LETTER YENISEI AL
|
||||
l 𐰟 10C1F OLD TURKIC LETTER YENISEI AL
|
||||
l1 𐰟 10C1F OLD TURKIC LETTER YENISEI AL
|
||||
1f 𐰟 10C1F OLD TURKIC LETTER YENISEI AL
|
||||
aen 𐰥 10C25 OLD TURKIC LETTER YENISEI AEN
|
||||
en 𐰥 10C25 OLD TURKIC LETTER YENISEI AEN
|
||||
n2 𐰥 10C25 OLD TURKIC LETTER YENISEI AEN
|
||||
25 𐰥 10C25 OLD TURKIC LETTER YENISEI AEN
|
||||
ent 𐰧 10C27 OLD TURKIC LETTER YENISEI ENT
|
||||
nt 𐰧 10C27 OLD TURKIC LETTER YENISEI ENT
|
||||
27 𐰧 10C27 OLD TURKIC LETTER YENISEI ENT
|
||||
enc 𐰩 10C29 OLD TURKIC LETTER YENISEI ENC
|
||||
nc 𐰩 10C29 OLD TURKIC LETTER YENISEI ENC
|
||||
29 𐰩 10C29 OLD TURKIC LETTER YENISEI ENC
|
||||
eny 𐰫 10C2B OLD TURKIC LETTER YENISEI ENY
|
||||
ny 𐰫 10C2B OLD TURKIC LETTER YENISEI ENY
|
||||
2b 𐰫 10C2B OLD TURKIC LETTER YENISEI ENY
|
||||
ang 𐰬 10C2C OLD TURKIC LETTER YENISEI ANG
|
||||
ng 𐰬 10C2C OLD TURKIC LETTER YENISEI ANG
|
||||
2c 𐰬 10C2C OLD TURKIC LETTER YENISEI ANG
|
||||
aeng 𐰮 10C2E OLD TURKIC LETTER YENISEI AENG
|
||||
eng 𐰮 10C2E OLD TURKIC LETTER YENISEI AENG
|
||||
2e 𐰮 10C2E OLD TURKIC LETTER YENISEI AENG
|
||||
ec 𐰳 10C33 OLD TURKIC LETTER YENISEI EC
|
||||
c 𐰳 10C33 OLD TURKIC LETTER YENISEI EC
|
||||
33 𐰳 10C33 OLD TURKIC LETTER YENISEI EC
|
||||
aq 𐰵 10C35 OLD TURKIC LETTER YENISEI AQ
|
||||
q 𐰵 10C35 OLD TURKIC LETTER YENISEI AQ
|
||||
35 𐰵 10C35 OLD TURKIC LETTER YENISEI AQ
|
||||
iq 𐰷 10C37 OLD TURKIC LETTER YENISEI IQ
|
||||
yq 𐰷 10C37 OLD TURKIC LETTER YENISEI IQ
|
||||
37 𐰷 10C37 OLD TURKIC LETTER YENISEI IQ
|
||||
oq 𐰹 10C39 OLD TURKIC LETTER YENISEI OQ
|
||||
uq 𐰹 10C39 OLD TURKIC LETTER YENISEI OQ
|
||||
39 𐰹 10C39 OLD TURKIC LETTER YENISEI OQ
|
||||
ar 𐰻 10C3B OLD TURKIC LETTER YENISEI AR
|
||||
r 𐰻 10C3B OLD TURKIC LETTER YENISEI AR
|
||||
r1 𐰻 10C3B OLD TURKIC LETTER YENISEI AR
|
||||
3b 𐰻 10C3B OLD TURKIC LETTER YENISEI AR
|
||||
ash 𐱀 10C40 OLD TURKIC LETTER YENISEI ASH
|
||||
sh1 𐱀 10C40 OLD TURKIC LETTER YENISEI ASH
|
||||
40 𐱀 10C40 OLD TURKIC LETTER YENISEI ASH
|
||||
esh 𐱂 10C42 OLD TURKIC LETTER YENISEI ESH
|
||||
sh2 𐱂 10C42 OLD TURKIC LETTER YENISEI ESH
|
||||
42 𐱂 10C42 OLD TURKIC LETTER YENISEI ESH
|
||||
at 𐱄 10C44 OLD TURKIC LETTER YENISEI AT
|
||||
t1 𐱄 10C44 OLD TURKIC LETTER YENISEI AT
|
||||
44 𐱄 10C44 OLD TURKIC LETTER YENISEI AT
|
||||
aet 𐱆 10C46 OLD TURKIC LETTER YENISEI AET
|
||||
et 𐱆 10C46 OLD TURKIC LETTER YENISEI AET
|
||||
t2 𐱆 10C46 OLD TURKIC LETTER YENISEI AET
|
||||
46 𐱆 10C46 OLD TURKIC LETTER YENISEI AET
|
||||
@@ -2,7 +2,7 @@
|
||||
" Maintainer: Adrien Beau <version.francaise@free.fr>
|
||||
" First Version: Francois Thunus <thunus@systran.fr>
|
||||
" Last Modification: David Blanchet <david.blanchet@free.fr>
|
||||
" Last Change: 2012 May 01
|
||||
" Last Change: 2018 Apr 25
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -47,7 +47,7 @@ menutrans &Close<Tab>:close &Fermer<Tab>:close
|
||||
menutrans &Save<Tab>:w &Enregistrer<Tab>:w
|
||||
menutrans Save\ &As\.\.\.<Tab>:sav Enregistrer\ &sous\.\.\.<Tab>:sav
|
||||
" -SEP2-
|
||||
menutrans Split\ &Diff\ with\.\.\. &Difference\ avec\.\.\.
|
||||
menutrans Split\ &Diff\ with\.\.\. &Diff<EFBFBD>rence\ avec\.\.\.
|
||||
"menutrans Split\ Patched\ &By\.\.\. &Patcher\ avec\.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. &Tester\ un\ patch\.\.\.
|
||||
" -SEP3-
|
||||
@@ -121,7 +121,7 @@ menutrans Soft\ &Tabstop &Pseudo-tabulations
|
||||
menutrans Te&xt\ Width\.\.\. Largeur\ du\ te&xte\.\.\.
|
||||
menutrans &File\ Format\.\.\. Format\ du\ &fichier\.\.\.
|
||||
|
||||
let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour d<>sactiver le formattage)."
|
||||
let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour d<>sactiver le formatage)."
|
||||
let g:menutrans_fileformat_dialog = "Choisissez le format dans lequel <20>crire le fichier."
|
||||
let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annuler "
|
||||
|
||||
@@ -340,7 +340,7 @@ fun! Do_toolbar_tmenu()
|
||||
tmenu ToolBar.WinClose Fermer fen<EFBFBD>tre
|
||||
endif
|
||||
tmenu ToolBar.LoadSesn Ouvrir session
|
||||
tmenu ToolBar.SaveSesn Enregister session courante
|
||||
tmenu ToolBar.SaveSesn Enregistrer session courante
|
||||
tmenu ToolBar.RunScript Lancer un script Vim
|
||||
tmenu ToolBar.Make Lancer make
|
||||
tmenu ToolBar.RunCtags Cr<EFBFBD>er les <20>tiquettes
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Serbian
|
||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||
" Last Change: Fri, 30 May 2003 12:15:30 -0400
|
||||
" Last Change: Fri, 30 May 2003 10:17:39 Eastern Daylight Time
|
||||
" Adapted for VIM 8 by: Ivan Pesic on 2017-12-28 12:05+0400
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -19,6 +20,7 @@ menutrans &Find &Nadji
|
||||
menutrans &Credits &Zasluge
|
||||
menutrans Co&pying P&reuzimanje
|
||||
menutrans O&rphans &Sirocici
|
||||
menutrans &Sponsor/Register Sponzor/&Registrujte\ se
|
||||
menutrans &Version &Verzija
|
||||
menutrans &About &O\ programu
|
||||
|
||||
@@ -26,6 +28,7 @@ menutrans &About &O\ programu
|
||||
menutrans &File &Datoteka
|
||||
menutrans &Open\.\.\.<Tab>:e &Otvori\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Podeli-otvori\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew Otvori\ karticu\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew &Nova<Tab>:enew
|
||||
menutrans &Close<Tab>:close &Zatvori<Tab>:close
|
||||
menutrans &Save<Tab>:w &Sacuvaj<Tab>:w
|
||||
@@ -52,24 +55,27 @@ menutrans &Select\ all<Tab>ggVG Izaberi\ sv&e<Tab>ggVG
|
||||
menutrans &Find\.\.\. &Nadji\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Nadji\ i\ &zameni\.\.\.
|
||||
menutrans Settings\ &Window P&rozor\ podesavanja
|
||||
menutrans Startup\ &Settings Po&desavanja\ pri\ pokretanju
|
||||
menutrans &Global\ Settings Op&sta\ podesavanja
|
||||
menutrans F&ile\ Settings Podesavanja\ za\ da&toteke
|
||||
menutrans &Shiftwidth &Pomeraj
|
||||
menutrans Soft\ &Tabstop &Meka\ tabulacija
|
||||
menutrans Te&xt\ Width\.\.\. &Sirina\ teksta\.\.\.
|
||||
menutrans &File\ Format\.\.\. &Vrsta\ datoteke\.\.\.
|
||||
menutrans C&olor\ Scheme Bo&je
|
||||
menutrans &Keymap Pres&likavanje\ tastature
|
||||
menutrans Show\ C&olor\ Schemes\ in\ Menu Prikazi\ seme\ bo&ja\ u\ meniju
|
||||
menutrans C&olor\ Scheme \Seme\ bo&ja
|
||||
menutrans Show\ &Keymaps\ in\ Menu Prikazi\ pres&likavanja\ tastature\ u\ meniju
|
||||
menutrans &Keymap Pres&likavanja\ tastature
|
||||
menutrans Select\ Fo&nt\.\.\. Izbor\ &fonta\.\.\.
|
||||
|
||||
" Edit/Global Settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Naglasi\ &obrazce\ (da/ne)<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Zanemari\ \velicinu\ &slova\ (da/ne)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Proveri\ pratecu\ &zagradu\ (da/ne)<Tab>:set\ sm!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Zanemari\ velicinu\ &slova\ (da/ne)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Proveri\ pratecu\ &zagradu\ (da/ne)<Tab>:set\ sm!
|
||||
menutrans &Context\ lines Vidljivi\ &redovi
|
||||
menutrans &Virtual\ Edit Virtuelno\ &uredjivanje
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Rezim\ u&nosa\ (da/ne)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! '&Vi'\ saglasno\ (da/ne)<Tab>:set\ cp!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! '&Vi'\ saglasno\ (da/ne)<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. Putanja\ &pretrage\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &Datoteke\ oznaka\.\.\.
|
||||
menutrans Toggle\ &Toolbar Linija\ sa\ &alatkama\ (da/ne)
|
||||
@@ -85,28 +91,30 @@ menutrans Block\ and\ Insert Blok\ i\ unos
|
||||
menutrans Always Uvek
|
||||
|
||||
" Edit/File Settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Redni\ &brojevi\ (da/ne)<Tab>:set\ nu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Rezim\ &liste\ (da/ne)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Obavijanje\ &redova\ (da/ne)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Prelomi\ &na\ rec\ (da/ne)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! Razmaci\ umesto\ &tabulacije\ (da/ne)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Auto-&uvlacenje\ (da/ne)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &Ce-uvlacenje\ (da/ne)<Tab>:set\ cin!
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Prikazi\ &numeraciju\ linija\ (da/ne)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Prikazi\ Relati&vnu\ numeraciju\ linija\ (da/ne)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Rezim\ &liste\ (da/ne)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Obavijanje\ &redova\ (da/ne)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! Prelomi\ &na\ rec\ (da/ne)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Razmaci\ umesto\ &tabulacije\ (da/ne)<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! Auto-&uvlacenje\ (da/ne)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C-uvlacenje\ (da/ne)<Tab>:set\ cin!
|
||||
|
||||
" Edit/Keymap
|
||||
menutrans None Nijedan
|
||||
menutrans None Bez\ preslikavanja
|
||||
|
||||
" Tools menu
|
||||
menutrans &Tools &Alatke
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] Skoci\ na\ &ovu\ oznaku<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Skoci\ &natrag<Tab>^T
|
||||
menutrans Build\ &Tags\ File Izgradi\ &datoteku\ oznaka
|
||||
menutrans &Spelling Pra&vopis
|
||||
menutrans &Folding &Podvijanje
|
||||
menutrans Create\ &Fold<Tab>zf S&tvori\ podvijutak<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd O&brisi\ podvijutak<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Obrisi\ sve\ po&dvijutke<Tab>zD
|
||||
menutrans Fold\ column\ &width Sirina\ &reda\ podvijutka
|
||||
menutrans &Diff &Uporedjivanje
|
||||
"menutrans &Diff &Uporedjivanje
|
||||
menutrans &Make<Tab>:make 'mak&e'<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl Spisak\ &gresaka<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! Sp&isak\ poruka<Tab>:cl!
|
||||
@@ -115,32 +123,49 @@ menutrans &Previous\ Error<Tab>:cp Pre&thodna\ greska<Tab>:cp
|
||||
menutrans &Older\ List<Tab>:cold Stari\ spisa&k<Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew No&vi\ spisak<Tab>:cnew
|
||||
menutrans Error\ &Window Prozor\ sa\ g&reskama
|
||||
menutrans &Set\ Compiler I&zaberi\ prevodioca
|
||||
menutrans Se&t\ Compiler I&zaberi\ prevodioca
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ u\ &HEKS<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Vr&ati\ u\ prvobitan\ oblik<Tab>:%!xxd\ -r
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Prikazi\ pode&savanja\ prevodioca\ u\ meniju
|
||||
|
||||
" Tools/Spelling
|
||||
menutrans &Spell\ Check\ On &Ukljuci\ proveru\ pravopisa
|
||||
menutrans Spell\ Check\ &Off &Iskljuci\ proveru\ pravopisa
|
||||
menutrans To\ &Next\ Error<Tab>]s Idi\ na\ &sledecu\ gresku<Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s Idi\ na\ &prethodnu\ gresku<Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= Predlozi\ isp&ravke<Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall P&onovi\ ispravku<Tab>:spellrepall
|
||||
menutrans Set\ Language\ to\ "en" Postavi\ jezik\ na\ "en"
|
||||
menutrans Set\ Language\ to\ "en_au" Postavi\ jezik\ na\ "en_au"
|
||||
menutrans Set\ Language\ to\ "en_ca" Postavi\ jezik\ na\ "en_ca"
|
||||
menutrans Set\ Language\ to\ "en_gb" Postavi\ jezik\ na\ "en_gb"
|
||||
menutrans Set\ Language\ to\ "en_nz" Postavi\ jezik\ na\ "en_nz"
|
||||
menutrans Set\ Language\ to\ "en_us" Postavi\ jezik\ na\ "en_us"
|
||||
menutrans &Find\ More\ Languages Pronadji\ jos\ jezika
|
||||
|
||||
" Tools/Folding
|
||||
menutrans &Enable/Disable\ folds<Tab>zi &Omoguci/prekini\ podvijanje<Tab>zi
|
||||
menutrans &View\ Cursor\ Line<Tab>zv &Pokazi\ red\ sa\ kursorom<Tab>zv
|
||||
menutrans &View\ Cursor\ Line<Tab>zv &Pokazi\ red\ sa\ kursorom<Tab>zv
|
||||
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Pokazi\ &samo\ red\ sa\ kursorom<Tab>zMzx
|
||||
menutrans C&lose\ more\ folds<Tab>zm &Zatvori\ vise\ podvijutaka<Tab>zm
|
||||
menutrans &Close\ all\ folds<Tab>zM Zatvori\ s&ve\ podvijutke<Tab>zM
|
||||
menutrans O&pen\ more\ folds<Tab>zr Otvori\ vis&e\ podvijutaka<Tab>zr
|
||||
menutrans &Open\ all\ folds<Tab>zR O&tvori\ sve\ podvijutke<Tab>zR
|
||||
menutrans Fold\ Met&hod &Nacin\ podvijanja
|
||||
menutrans Fold\ Col&umn\ Width Sirina\ kolone\ ispred\ podvijutaka
|
||||
|
||||
" Tools/Folding/Fold Method
|
||||
menutrans M&anual &Rucno
|
||||
menutrans I&ndent &Uvucenost
|
||||
menutrans E&xpression &Izraz
|
||||
menutrans S&yntax &Sintaksa
|
||||
menutrans M&anual &Rucno
|
||||
menutrans I&ndent &Uvucenost
|
||||
menutrans E&xpression &Izraz
|
||||
menutrans S&yntax &Sintaksa
|
||||
"menutrans &Diff
|
||||
menutrans Ma&rker &Oznaka
|
||||
menutrans Ma&rker &Oznaka
|
||||
|
||||
" Tools/Diff
|
||||
menutrans &Update &Azuriraj
|
||||
menutrans &Get\ Block &Prihvati\ izmenu
|
||||
menutrans &Put\ Block Pre&baci\ izmenu
|
||||
menutrans &Update &Azuriraj
|
||||
menutrans &Get\ Block &Prihvati\ blok\ izmena
|
||||
menutrans &Put\ Block Pre&baci\ blok\ izmena
|
||||
|
||||
" Tools/Error Window
|
||||
menutrans &Update<Tab>:cwin &Azuriraj<Tab>:cwin
|
||||
@@ -188,8 +213,10 @@ menutrans Cu&t &Iseci
|
||||
menutrans &Copy &Kopiraj
|
||||
menutrans &Paste &Ubaci
|
||||
menutrans &Delete I&zbrisi
|
||||
menutrans Select\ Blockwise Biraj\ &pravougaono
|
||||
menutrans Select\ Blockwise Biraj\ b&lokovski
|
||||
menutrans Select\ &Word Izaberi\ &rec
|
||||
menutrans Select\ &Sentence Izaberi\ r&ecenicu
|
||||
menutrans Select\ Pa&ragraph Izaberi\ ¶graf
|
||||
menutrans Select\ &Line Izaberi\ r&ed
|
||||
menutrans Select\ &Block Izaberi\ &blok
|
||||
menutrans Select\ &All Izaberi\ &sve
|
||||
@@ -235,9 +262,9 @@ endif
|
||||
|
||||
" Syntax menu
|
||||
menutrans &Syntax &Sintaksa
|
||||
menutrans &Show\ filetypes\ in\ menu Izbor\ 'filetype'\ iz\ &menija
|
||||
menutrans Set\ '&syntax'\ only Pode&si\ 'syntax'\ samo
|
||||
menutrans Set\ '&filetype'\ too Podesi\ 'filetype'\ &takodje
|
||||
menutrans &Show\ File\ Types\ in\ Menu Prikazi\ tipove\ datoteka\ u\ &meniju
|
||||
menutrans Set\ '&syntax'\ only Pode&si\ samo\ 'syntax'
|
||||
menutrans Set\ '&filetype'\ too Podesi\ &takodje\ i\ 'filetype'
|
||||
menutrans &Off &Iskljuceno
|
||||
menutrans &Manual &Rucno
|
||||
menutrans A&utomatic &Automatski
|
||||
@@ -255,9 +282,13 @@ let g:menutrans_tags_dialog = "Unesite imena datoteka sa oznakama\nRazdvojite za
|
||||
|
||||
let g:menutrans_textwidth_dialog = "Unesite novu sirinu teksta (0 sprecava prelom)"
|
||||
|
||||
let g:menutrans_fileformat_dialog = "Izaberite vrstu datoteke"
|
||||
let g:menutrans_fileformat_dialog = "Izaberite format zapisa datoteke"
|
||||
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Otkazi"
|
||||
|
||||
let menutrans_no_file = "[Nema datoteke]"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: tw=0 keymap=serbian
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Serbian
|
||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||
" Last Change: Fri, 30 May 2003 12:04:48 -0400
|
||||
" Last Change: Fri, 30 May 2003 10:17:39 Eastern Daylight Time
|
||||
" Adapted for VIM 8 by: Ivan Pe<50>i<EFBFBD> on 2017-12-28 12:05+0400
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -21,6 +22,7 @@ menutrans &Find &Na
|
||||
menutrans &Credits &Zasluge
|
||||
menutrans Co&pying P&reuzimanje
|
||||
menutrans O&rphans &Siro<EFBFBD>i<EFBFBD>i
|
||||
menutrans &Sponsor/Register Sponzor/&Registrujte\ se
|
||||
menutrans &Version &Verzija
|
||||
menutrans &About &O\ programu
|
||||
|
||||
@@ -28,6 +30,7 @@ menutrans &About &O\ programu
|
||||
menutrans &File &Datoteka
|
||||
menutrans &Open\.\.\.<Tab>:e &Otvori\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Podeli-otvori\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew Otvori\ karticu\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew &Nova<Tab>:enew
|
||||
menutrans &Close<Tab>:close &Zatvori<Tab>:close
|
||||
menutrans &Save<Tab>:w &Sa<EFBFBD>uvaj<Tab>:w
|
||||
@@ -54,24 +57,27 @@ menutrans &Select\ all<Tab>ggVG Izaberi\ sv&e<Tab>ggVG
|
||||
menutrans &Find\.\.\. &Na<EFBFBD>i\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Na<EFBFBD>i\ i\ &zameni\.\.\.
|
||||
menutrans Settings\ &Window P&rozor\ pode<EFBFBD>avanja
|
||||
menutrans Startup\ &Settings Po&de<EFBFBD>avanja\ pri\ pokretanju
|
||||
menutrans &Global\ Settings Op&<26>ta\ pode<EFBFBD>avanja
|
||||
menutrans F&ile\ Settings Pode<EFBFBD>avanja\ za\ da&toteke
|
||||
menutrans &Shiftwidth &Pomeraj
|
||||
menutrans Soft\ &Tabstop &Meka\ tabulacija
|
||||
menutrans Te&xt\ Width\.\.\. &<26>irina\ teksta\.\.\.
|
||||
menutrans &File\ Format\.\.\. &Vrsta\ datoteke\.\.\.
|
||||
menutrans C&olor\ Scheme Bo&je
|
||||
menutrans &Keymap Pres&likavanje\ tastature
|
||||
menutrans Show\ C&olor\ Schemes\ in\ Menu Prika<EFBFBD>i\ <20>eme\ bo&ja\ u\ meniju
|
||||
menutrans C&olor\ Scheme \<5C>eme\ bo&ja
|
||||
menutrans Show\ &Keymaps\ in\ Menu Prika<EFBFBD>i\ pres&likavanja\ tastature\ u\ meniju
|
||||
menutrans &Keymap Pres&likavanja\ tastature
|
||||
menutrans Select\ Fo&nt\.\.\. Izbor\ &fonta\.\.\.
|
||||
|
||||
" Edit/Global Settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Naglasi\ &obrazce\ (da/ne)<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Zanemari\ \veli<EFBFBD>inu\ &slova\ (da/ne)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Proveri\ prate<EFBFBD>u\ &zagradu\ (da/ne)<Tab>:set\ sm!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Zanemari\ veli<EFBFBD>inu\ &slova\ (da/ne)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Proveri\ prate<EFBFBD>u\ &zagradu\ (da/ne)<Tab>:set\ sm!
|
||||
menutrans &Context\ lines Vidljivi\ &redovi
|
||||
menutrans &Virtual\ Edit Virtuelno\ &ure<EFBFBD>ivanje
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Re<EFBFBD>im\ u&nosa\ (da/ne)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! '&Vi'\ saglasno\ (da/ne)<Tab>:set\ cp!
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Re<EFBFBD>im\ u&nosa\ (da/ne)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! '&Vi'\ saglasno\ (da/ne)<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. Putanja\ &pretrage\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &Datoteke\ oznaka\.\.\.
|
||||
menutrans Toggle\ &Toolbar Linija\ sa\ &alatkama\ (da/ne)
|
||||
@@ -87,28 +93,30 @@ menutrans Block\ and\ Insert Blok\ i\ unos
|
||||
menutrans Always Uvek
|
||||
|
||||
" Edit/File Settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Redni\ &brojevi\ (da/ne)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Prika<EFBFBD>i\ &numeraciju\ linija\ (da/ne)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Prika<EFBFBD>i\ Relati&vnu\ numeraciju\ linija\ (da/ne)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Re<EFBFBD>im\ &liste\ (da/ne)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Obavijanje\ &redova\ (da/ne)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Prelomi\ &na\ re<EFBFBD>\ (da/ne)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! Razmaci\ umesto\ &tabulacije\ (da/ne)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Auto-&uvla<EFBFBD>enje\ (da/ne)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &Ce-uvla<EFBFBD>enje\ (da/ne)<Tab>:set\ cin!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Obavijanje\ &redova\ (da/ne)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! Prelomi\ &na\ re<EFBFBD>\ (da/ne)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Razmaci\ umesto\ &tabulacije\ (da/ne)<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! Auto-&uvla<EFBFBD>enje\ (da/ne)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C-uvla<EFBFBD>enje\ (da/ne)<Tab>:set\ cin!
|
||||
|
||||
" Edit/Keymap
|
||||
menutrans None Nijedan
|
||||
menutrans None Bez\ preslikavanja
|
||||
|
||||
" Tools menu
|
||||
menutrans &Tools &Alatke
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] Sko<EFBFBD>i\ na\ &ovu\ oznaku<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Sko<EFBFBD>i\ &natrag<Tab>^T
|
||||
menutrans Build\ &Tags\ File Izgradi\ &datoteku\ oznaka
|
||||
menutrans &Spelling Pra&vopis
|
||||
menutrans &Folding &Podvijanje
|
||||
menutrans Create\ &Fold<Tab>zf S&tvori\ podvijutak<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd O&bri<EFBFBD>i\ podvijutak<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Obri<EFBFBD>i\ sve\ po&dvijutke<Tab>zD
|
||||
menutrans Fold\ column\ &width <20>irina\ &reda\ podvijutka
|
||||
menutrans &Diff &Upore<EFBFBD>ivanje
|
||||
"menutrans &Diff &Upore<EFBFBD>ivanje
|
||||
menutrans &Make<Tab>:make 'mak&e'<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl Spisak\ &gre<EFBFBD>aka<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! Sp&isak\ poruka<Tab>:cl!
|
||||
@@ -117,9 +125,25 @@ menutrans &Previous\ Error<Tab>:cp Pre&thodna\ gre
|
||||
menutrans &Older\ List<Tab>:cold Stari\ spisa&k<Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew No&vi\ spisak<Tab>:cnew
|
||||
menutrans Error\ &Window Prozor\ sa\ g&re<EFBFBD>kama
|
||||
menutrans &Set\ Compiler I&zaberi\ prevodioca
|
||||
menutrans Se&t\ Compiler I&zaberi\ prevodioca
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Pretvori\ u\ &HEKS<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Vr&ati\ u\ prvobitan\ oblik<Tab>:%!xxd\ -r
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Prika<EFBFBD>i\ pode&<26>avanja\ prevodioca\ u\ meniju
|
||||
|
||||
" Tools/Spelling
|
||||
menutrans &Spell\ Check\ On &Uklju<EFBFBD>i\ proveru\ pravopisa
|
||||
menutrans Spell\ Check\ &Off &Isklju<EFBFBD>i\ proveru\ pravopisa
|
||||
menutrans To\ &Next\ Error<Tab>]s Idi\ na\ &slede<EFBFBD>u\ gre<EFBFBD>ku<Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s Idi\ na\ &prethodnu\ gre<EFBFBD>ku<Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= Predlo<EFBFBD>i\ isp&ravke<Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall P&onovi\ ispravku<Tab>:spellrepall
|
||||
menutrans Set\ Language\ to\ "en" Postavi\ jezik\ na\ "en"
|
||||
menutrans Set\ Language\ to\ "en_au" Postavi\ jezik\ na\ "en_au"
|
||||
menutrans Set\ Language\ to\ "en_ca" Postavi\ jezik\ na\ "en_ca"
|
||||
menutrans Set\ Language\ to\ "en_gb" Postavi\ jezik\ na\ "en_gb"
|
||||
menutrans Set\ Language\ to\ "en_nz" Postavi\ jezik\ na\ "en_nz"
|
||||
menutrans Set\ Language\ to\ "en_us" Postavi\ jezik\ na\ "en_us"
|
||||
menutrans &Find\ More\ Languages Prona<EFBFBD>i\ jo<EFBFBD>\ jezika
|
||||
|
||||
" Tools/Folding
|
||||
menutrans &Enable/Disable\ folds<Tab>zi &Omogu<67>i/prekini\ podvijanje<Tab>zi
|
||||
@@ -130,6 +154,7 @@ menutrans &Close\ all\ folds<Tab>zM Zatvori\ s&ve\ podvijutke<Tab>zM
|
||||
menutrans O&pen\ more\ folds<Tab>zr Otvori\ vi<EFBFBD>&e\ podvijutaka<Tab>zr
|
||||
menutrans &Open\ all\ folds<Tab>zR O&tvori\ sve\ podvijutke<Tab>zR
|
||||
menutrans Fold\ Met&hod &Na<EFBFBD>in\ podvijanja
|
||||
menutrans Fold\ Col&umn\ Width <09>irina\ kolone\ ispred\ podvijutaka
|
||||
|
||||
" Tools/Folding/Fold Method
|
||||
menutrans M&anual &Ru<EFBFBD>no
|
||||
@@ -141,8 +166,8 @@ menutrans Ma&rker &Oznaka
|
||||
|
||||
" Tools/Diff
|
||||
menutrans &Update &A<EFBFBD>uriraj
|
||||
menutrans &Get\ Block &Prihvati\ izmenu
|
||||
menutrans &Put\ Block Pre&baci\ izmenu
|
||||
menutrans &Get\ Block &Prihvati\ blok\ izmena
|
||||
menutrans &Put\ Block Pre&baci\ blok\ izmena
|
||||
|
||||
" Tools/Error Window
|
||||
menutrans &Update<Tab>:cwin &A<EFBFBD>uriraj<Tab>:cwin
|
||||
@@ -190,8 +215,10 @@ menutrans Cu&t &Iseci
|
||||
menutrans &Copy &Kopiraj
|
||||
menutrans &Paste &Ubaci
|
||||
menutrans &Delete I&zbri<EFBFBD>i
|
||||
menutrans Select\ Blockwise Biraj\ &pravougaono
|
||||
menutrans Select\ Blockwise Biraj\ b&lokovski
|
||||
menutrans Select\ &Word Izaberi\ &re<EFBFBD>
|
||||
menutrans Select\ &Sentence Izaberi\ r&e<EFBFBD>enicu
|
||||
menutrans Select\ Pa&ragraph Izaberi\ ¶graf
|
||||
menutrans Select\ &Line Izaberi\ r&ed
|
||||
menutrans Select\ &Block Izaberi\ &blok
|
||||
menutrans Select\ &All Izaberi\ &sve
|
||||
@@ -202,20 +229,20 @@ if has("toolbar")
|
||||
delfun Do_toolbar_tmenu
|
||||
endif
|
||||
fun Do_toolbar_tmenu()
|
||||
tmenu ToolBar.Open U<EFBFBD>itaj
|
||||
tmenu ToolBar.Save Sa<EFBFBD>uvaj
|
||||
tmenu ToolBar.Open U<EFBFBD>itaj
|
||||
tmenu ToolBar.Save Sa<EFBFBD>uvaj
|
||||
tmenu ToolBar.SaveAll Sa<EFBFBD>uvaj sve
|
||||
tmenu ToolBar.Print <20>tampaj
|
||||
tmenu ToolBar.Undo Vrati
|
||||
tmenu ToolBar.Redo Povrati
|
||||
tmenu ToolBar.Cut Iseci
|
||||
tmenu ToolBar.Copy Kopiraj
|
||||
tmenu ToolBar.Undo Vrati
|
||||
tmenu ToolBar.Redo Povrati
|
||||
tmenu ToolBar.Cut Iseci
|
||||
tmenu ToolBar.Copy Kopiraj
|
||||
tmenu ToolBar.Paste Ubaci
|
||||
tmenu ToolBar.Find Na<EFBFBD>i
|
||||
tmenu ToolBar.Find Na<EFBFBD>i
|
||||
tmenu ToolBar.FindNext Na<EFBFBD>i slede<EFBFBD>i
|
||||
tmenu ToolBar.FindPrev Na<EFBFBD>i prethodni
|
||||
tmenu ToolBar.Replace Zameni
|
||||
tmenu ToolBar.New Novi
|
||||
tmenu ToolBar.New Novi
|
||||
tmenu ToolBar.WinSplit Podeli prozor
|
||||
tmenu ToolBar.WinMax Maksimalna visina
|
||||
tmenu ToolBar.WinMin Minimalna visina
|
||||
@@ -226,25 +253,25 @@ if has("toolbar")
|
||||
tmenu ToolBar.LoadSesn U<EFBFBD>itaj seansu
|
||||
tmenu ToolBar.SaveSesn Sa<EFBFBD>uvaj seansu
|
||||
tmenu ToolBar.RunScript Izvr<EFBFBD>i spis
|
||||
tmenu ToolBar.Make 'make'
|
||||
tmenu ToolBar.Make 'make'
|
||||
tmenu ToolBar.Shell Operativno okru<EFBFBD>enje
|
||||
tmenu ToolBar.RunCtags Napravi oznake
|
||||
tmenu ToolBar.TagJump Idi na oznaku
|
||||
tmenu ToolBar.Help Pomo<EFBFBD>
|
||||
tmenu ToolBar.Help Pomo<EFBFBD>
|
||||
tmenu ToolBar.FindHelp Na<EFBFBD>i obja<EFBFBD>njenje
|
||||
endfun
|
||||
endif
|
||||
|
||||
" Syntax menu
|
||||
menutrans &Syntax &Sintaksa
|
||||
menutrans &Show\ filetypes\ in\ menu Izbor\ 'filetype'\ iz\ &menija
|
||||
menutrans Set\ '&syntax'\ only Pode&si\ 'syntax'\ samo
|
||||
menutrans Set\ '&filetype'\ too Podesi\ 'filetype'\ &tako<EFBFBD>e
|
||||
menutrans &Off &Isklju<EFBFBD>eno
|
||||
menutrans &Show\ File\ Types\ in\ Menu Prika<EFBFBD>i\ tipove\ datoteka\ u\ &meniju
|
||||
menutrans Set\ '&syntax'\ only Pode&si\ samo\ 'syntax'
|
||||
menutrans Set\ '&filetype'\ too Podesi\ &tako<EFBFBD>e\ i\ 'filetype'
|
||||
menutrans &Off &Isklju<EFBFBD>eno
|
||||
menutrans &Manual &Ru<EFBFBD>no
|
||||
menutrans A&utomatic &Automatski
|
||||
menutrans A&utomatic &Automatski
|
||||
menutrans on/off\ for\ &This\ file Da/ne\ za\ ovu\ &datoteku
|
||||
menutrans Co&lor\ test Provera\ &boja
|
||||
menutrans Co&lor\ test Provera\ &boja
|
||||
menutrans &Highlight\ test Provera\ isti&canja
|
||||
menutrans &Convert\ to\ HTML Pretvori\ &u\ HTML
|
||||
|
||||
@@ -257,9 +284,13 @@ let g:menutrans_tags_dialog = "Unesite imena datoteka sa oznakama\nRazdvojite za
|
||||
|
||||
let g:menutrans_textwidth_dialog = "Unesite novu <20>irinu teksta (0 spre<72>ava prelom)"
|
||||
|
||||
let g:menutrans_fileformat_dialog = "Izaberite vrstu datoteke"
|
||||
let g:menutrans_fileformat_dialog = "Izaberite format zapisa datoteke"
|
||||
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Otka<6B>i"
|
||||
|
||||
let menutrans_no_file = "[Nema datoteke]"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: tw=0 keymap=serbian
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Serbian
|
||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||
" Last Change: Fri, 30 May 2003 12:02:07 -0400
|
||||
" Last Change: Fri, 30 May 2003 10:17:39 Eastern Daylight Time
|
||||
" Adapted for VIM 8 by: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> on 2017-12-28 12:05+0400
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -21,6 +22,7 @@ menutrans &Find &
|
||||
menutrans &Credits &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Co&pying <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans O&rphans &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Sponsor/Register <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><>
|
||||
menutrans &Version &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &About &<26>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
@@ -28,6 +30,7 @@ menutrans &About &
|
||||
menutrans &File &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Open\.\.\.<Tab>:e &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew &<26><><EFBFBD><EFBFBD><Tab>:enew
|
||||
menutrans &Close<Tab>:close &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:close
|
||||
menutrans &Save<Tab>:w &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:w
|
||||
@@ -54,24 +57,27 @@ menutrans &Select\ all<Tab>ggVG
|
||||
menutrans &Find\.\.\. &<26><><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\. <20><><EFBFBD><EFBFBD>\ <20>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans Settings\ &Window <20>&<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Startup\ &Settings <20><>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Global\ Settings <20><>&<26><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans F&ile\ Settings <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ <20><>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Shiftwidth &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Soft\ &Tabstop &<26><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Te&xt\ Width\.\.\. &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans &File\ Format\.\.\. &<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans C&olor\ Scheme <20><>&<EFBFBD><EFBFBD>
|
||||
menutrans &Keymap <20><><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Show\ C&olor\ Schemes\ in\ Menu <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><>&<26><>\ <20>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans C&olor\ Scheme \<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><>&<EFBFBD><EFBFBD>
|
||||
menutrans Show\ &Keymaps\ in\ Menu <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Keymap <09><><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ Fo&nt\.\.\. <20><><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
|
||||
" Edit/Global Settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ \<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showmatch<Tab>:set\ sm! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ sm!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ sm!
|
||||
menutrans &Context\ lines <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Virtual\ Edit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>&<26><><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! '&Vi'\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ cp!
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>&<26><><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! '&Vi'\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.
|
||||
menutrans Toggle\ &Toolbar <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)
|
||||
@@ -87,28 +93,30 @@ menutrans Block\ and\ Insert
|
||||
menutrans Always <20><><EFBFBD><EFBFBD>
|
||||
|
||||
" Edit/File Settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <20><><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>&<26><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <20><><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><>\ <20><><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><><EFBFBD><EFBFBD>-&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &<EFBFBD><EFBFBD>-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ cin!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><>\ <20><><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! <09><><EFBFBD><EFBFBD>-&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ (<EFBFBD><EFBFBD>/<2F><>)<Tab>:set\ cin!
|
||||
|
||||
" Edit/Keymap
|
||||
menutrans None <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans None <20><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
" Tools menu
|
||||
menutrans &Tools &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ &<26><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T <20><><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>^T
|
||||
menutrans Build\ &Tags\ File <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Spelling <20><><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Folding &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Create\ &Fold<Tab>zf <20>&<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd <20>&<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>\ <20><>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zD
|
||||
menutrans Fold\ column\ &width <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Diff &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
"menutrans &Diff &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Make<Tab>:make 'mak&<26>'<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! <20><>&<26><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:cl!
|
||||
@@ -117,9 +125,25 @@ menutrans &Previous\ Error<Tab>:cp
|
||||
menutrans &Older\ List<Tab>:cold <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>&<26><Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew <20><>&<26><>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:cnew
|
||||
menutrans Error\ &Window <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Set\ Compiler <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Se&t\ Compiler <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>\ &ŵ<EFBFBD><EFBFBD><Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r <20><>&<26><><EFBFBD>\ <20>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd\ -r
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
" Tools/Spelling
|
||||
menutrans &Spell\ Check\ On &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Spell\ Check\ &Off &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans To\ &Next\ Error<Tab>]s <09><><EFBFBD>\ <20><>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s <09><><EFBFBD>\ <20><>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall <09>&<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:spellrepall
|
||||
menutrans Set\ Language\ to\ "en" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en"
|
||||
menutrans Set\ Language\ to\ "en_au" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en_au"
|
||||
menutrans Set\ Language\ to\ "en_ca" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en_ca"
|
||||
menutrans Set\ Language\ to\ "en_gb" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en_gb"
|
||||
menutrans Set\ Language\ to\ "en_nz" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en_nz"
|
||||
menutrans Set\ Language\ to\ "en_us" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>\ <20><>\ "en_us"
|
||||
menutrans &Find\ More\ Languages <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
" Tools/Folding
|
||||
menutrans &Enable/Disable\ folds<Tab>zi &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zi
|
||||
@@ -130,6 +154,7 @@ menutrans &Close\ all\ folds<Tab>zM
|
||||
menutrans O&pen\ more\ folds<Tab>zr <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>&<26>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zr
|
||||
menutrans &Open\ all\ folds<Tab>zR <20>&<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>zR
|
||||
menutrans Fold\ Met&hod &<26><><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Fold\ Col&umn\ Width <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
" Tools/Folding/Fold Method
|
||||
menutrans M&anual &<26><><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -141,8 +166,8 @@ menutrans Ma&rker &
|
||||
|
||||
" Tools/Diff
|
||||
menutrans &Update &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Get\ Block &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Put\ Block <09><><EFBFBD>&<26><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Get\ Block &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD>a
|
||||
menutrans &Put\ Block <09><><EFBFBD>&<26><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
" Tools/Error Window
|
||||
menutrans &Update<Tab>:cwin &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:cwin
|
||||
@@ -190,8 +215,10 @@ menutrans Cu&t &
|
||||
menutrans &Copy &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Paste &<26><><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Delete <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ Blockwise <20><><EFBFBD><EFBFBD><EFBFBD>\ &<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ Blockwise <20><><EFBFBD><EFBFBD><EFBFBD>\ <EFBFBD>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ &Word <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD>
|
||||
menutrans Select\ &Sentence <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ Pa&ragraph <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Select\ &Line <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>&<26><>
|
||||
menutrans Select\ &Block <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD>
|
||||
menutrans Select\ &All <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD>
|
||||
@@ -202,20 +229,20 @@ if has("toolbar")
|
||||
delfun Do_toolbar_tmenu
|
||||
endif
|
||||
fun Do_toolbar_tmenu()
|
||||
tmenu ToolBar.Open <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Save <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Open <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Save <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.SaveAll <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>
|
||||
tmenu ToolBar.Print <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Undo <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Redo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Cut <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Copy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Undo <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Redo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Cut <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Copy <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Paste <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Find <20><><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Find <20><><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.FindNext <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.FindPrev <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Replace <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.New <20><><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.New <20><><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.WinSplit <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.WinMax <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.WinMin <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -226,25 +253,25 @@ if has("toolbar")
|
||||
tmenu ToolBar.LoadSesn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.SaveSesn <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.RunScript <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Make 'make'
|
||||
tmenu ToolBar.Make 'make'
|
||||
tmenu ToolBar.Shell <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.RunCtags <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.TagJump <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Help <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.Help <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
tmenu ToolBar.FindHelp <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
endfun
|
||||
endif
|
||||
|
||||
" Syntax menu
|
||||
menutrans &Syntax &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Show\ filetypes\ in\ menu <20><><EFBFBD><EFBFBD><EFBFBD>\ 'filetype'\ <20><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Set\ '&syntax'\ only <20><><EFBFBD><EFBFBD>&<26><>\ 'syntax'\ <20><><EFBFBD><EFBFBD>
|
||||
menutrans Set\ '&filetype'\ too <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ 'filetype'\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Off &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Show\ File\ Types\ in\ Menu <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Set\ '&syntax'\ only <20><><EFBFBD><EFBFBD>&<26><>\ <20><><EFBFBD><EFBFBD>\ 'syntax'
|
||||
menutrans Set\ '&filetype'\ too <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20>\ 'filetype'
|
||||
menutrans &Off &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans &Manual &<26><><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans A&utomatic &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans A&utomatic &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans on/off\ for\ &This\ file <20><>/<EFBFBD><EFBFBD>\ <20><>\ <20><><EFBFBD>\ &<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
menutrans Co&lor\ test <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD>
|
||||
menutrans Co&lor\ test <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26><><EFBFBD><EFBFBD>
|
||||
menutrans &Highlight\ test <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ <20><><EFBFBD><EFBFBD>&<26><><EFBFBD><EFBFBD>
|
||||
menutrans &Convert\ to\ HTML <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ &<26>\ HTML
|
||||
|
||||
@@ -257,9 +284,13 @@ let g:menutrans_tags_dialog = "
|
||||
|
||||
let g:menutrans_textwidth_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)"
|
||||
|
||||
let g:menutrans_fileformat_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
let g:menutrans_fileformat_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&<26><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
let menutrans_no_file = "[<5B><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: tw=0 keymap=serbian
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
" Menu Translations: Serbian
|
||||
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
|
||||
" Last Change: Fri, 30 May 2003 10:17:39 Eastern Daylight Time
|
||||
" Adapted for VIM 8 by: Иван Пешић on 2017-12-28 12:05+0400
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -21,6 +22,7 @@ menutrans &Find &Нађи
|
||||
menutrans &Credits &Заслуге
|
||||
menutrans Co&pying П&реузимање
|
||||
menutrans O&rphans &Сирочићи
|
||||
menutrans &Sponsor/Register Спонзор/&Региструјте\ се
|
||||
menutrans &Version &Верзија
|
||||
menutrans &About &О\ програму
|
||||
|
||||
@@ -28,6 +30,7 @@ menutrans &About &О\ програму
|
||||
menutrans &File &Датотека
|
||||
menutrans &Open\.\.\.<Tab>:e &Отвори\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Подели-отвори\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew Отвори\ картицу\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew &Нова<Tab>:enew
|
||||
menutrans &Close<Tab>:close &Затвори<Tab>:close
|
||||
menutrans &Save<Tab>:w &Сачувај<Tab>:w
|
||||
@@ -54,24 +57,27 @@ menutrans &Select\ all<Tab>ggVG Изабери\ св&е<Tab>ggVG
|
||||
menutrans &Find\.\.\. &Нађи\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Нађи\ и\ &замени\.\.\.
|
||||
menutrans Settings\ &Window П&розор\ подешавања
|
||||
menutrans Startup\ &Settings По&дешавања\ при\ покретању
|
||||
menutrans &Global\ Settings Оп&шта\ подешавања
|
||||
menutrans F&ile\ Settings Подешавања\ за\ да&тотеке
|
||||
menutrans &Shiftwidth &Померај
|
||||
menutrans Soft\ &Tabstop &Мека\ табулација
|
||||
menutrans Te&xt\ Width\.\.\. &Ширина\ текста\.\.\.
|
||||
menutrans &File\ Format\.\.\. &Врста\ датотеке\.\.\.
|
||||
menutrans C&olor\ Scheme Бо&је
|
||||
menutrans &Keymap Прес&ликавање\ тастатуре
|
||||
menutrans Show\ C&olor\ Schemes\ in\ Menu Прикажи\ шеме\ бо&ја\ у\ менију
|
||||
menutrans C&olor\ Scheme \Шеме\ бо&ја
|
||||
menutrans Show\ &Keymaps\ in\ Menu Прикажи\ прес&ликавања\ тастатуре\ у\ менију
|
||||
menutrans &Keymap Прес&ликавања\ тастатуре
|
||||
menutrans Select\ Fo&nt\.\.\. Избор\ &фонта\.\.\.
|
||||
|
||||
" Edit/Global Settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Нагласи\ &образце\ (да/не)<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Занемари\ \величину\ &слова\ (да/не)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Провери\ пратећу\ &заграду\ (да/не)<Tab>:set\ sm!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Занемари\ величину\ &слова\ (да/не)<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Провери\ пратећу\ &заграду\ (да/не)<Tab>:set\ sm!
|
||||
menutrans &Context\ lines Видљиви\ &редови
|
||||
menutrans &Virtual\ Edit Виртуелно\ &уређивање
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Режим\ у&носа\ (да/не)<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! '&Vi'\ сагласно\ (да/не)<Tab>:set\ cp!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! '&Vi'\ сагласно\ (да/не)<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. Путања\ &претраге\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &Датотеке\ ознака\.\.\.
|
||||
menutrans Toggle\ &Toolbar Линија\ са\ &алаткама\ (да/не)
|
||||
@@ -87,28 +93,30 @@ menutrans Block\ and\ Insert Блок\ и\ унос
|
||||
menutrans Always Увек
|
||||
|
||||
" Edit/File Settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Редни\ &бројеви\ (да/не)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Прикажи\ &нумерацију\ линија\ (да/не)<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! Прикажи\ Релати&вну\ нумерацију\ линија\ (да/не)<Tab>:set\ rnu!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Режим\ &листе\ (да/не)<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Обавијање\ &редова\ (да/не)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Преломи\ &на\ реч\ (да/не)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ &expand-tab<Tab>:set\ et! Размаци\ уместо\ &табулације\ (да/не)<Tab>:set\ et!
|
||||
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Ауто-&увлачење\ (да/не)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &Це-увлачење\ (да/не)<Tab>:set\ cin!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Обавијање\ &редова\ (да/не)<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! Преломи\ &на\ реч\ (да/не)<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Размаци\ уместо\ &табулације\ (да/не)<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! Ауто-&увлачење\ (да/не)<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C-увлачење\ (да/не)<Tab>:set\ cin!
|
||||
|
||||
" Edit/Keymap
|
||||
menutrans None Ниједан
|
||||
menutrans None Без\ пресликавања
|
||||
|
||||
" Tools menu
|
||||
menutrans &Tools &Алатке
|
||||
menutrans &Jump\ to\ this\ tag<Tab>g^] Скочи\ на\ &ову\ ознаку<Tab>g^]
|
||||
menutrans Jump\ &back<Tab>^T Скочи\ &натраг<Tab>^T
|
||||
menutrans Build\ &Tags\ File Изгради\ &датотеку\ ознака
|
||||
menutrans &Spelling Пра&вопис
|
||||
menutrans &Folding &Подвијање
|
||||
menutrans Create\ &Fold<Tab>zf С&твори\ подвијутак<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd О&бриши\ подвијутак<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Обриши\ све\ по&двијутке<Tab>zD
|
||||
menutrans Fold\ column\ &width Ширина\ &реда\ подвијутка
|
||||
menutrans &Diff &Упоређивање
|
||||
"menutrans &Diff &Упоређивање
|
||||
menutrans &Make<Tab>:make 'mak&е'<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl Списак\ &грешака<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! Сп&исак\ порука<Tab>:cl!
|
||||
@@ -117,9 +125,25 @@ menutrans &Previous\ Error<Tab>:cp Пре&тходна\ грешка<Tab>:cp
|
||||
menutrans &Older\ List<Tab>:cold Стари\ списа&к<Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew Но&ви\ списак<Tab>:cnew
|
||||
menutrans Error\ &Window Прозор\ са\ г&решкама
|
||||
menutrans &Set\ Compiler И&забери\ преводиоца
|
||||
menutrans Se&t\ Compiler И&забери\ преводиоца
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd Претвори\ у\ &ХЕКС<Tab>:%!xxd
|
||||
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Вр&ати\ у\ првобитан\ облик<Tab>:%!xxd\ -r
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Прикажи\ поде&шавања\ преводиоца\ у\ менију
|
||||
|
||||
" Tools/Spelling
|
||||
menutrans &Spell\ Check\ On &Укључи\ проверу\ правописа
|
||||
menutrans Spell\ Check\ &Off &Искључи\ проверу\ правописа
|
||||
menutrans To\ &Next\ Error<Tab>]s Иди\ на\ &следећу\ грешку<Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s Иди\ на\ &претходну\ грешку<Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= Предложи\ исп&равке<Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall П&онови\ исправку<Tab>:spellrepall
|
||||
menutrans Set\ Language\ to\ "en" Постави\ језик\ на\ "en"
|
||||
menutrans Set\ Language\ to\ "en_au" Постави\ језик\ на\ "en_au"
|
||||
menutrans Set\ Language\ to\ "en_ca" Постави\ језик\ на\ "en_ca"
|
||||
menutrans Set\ Language\ to\ "en_gb" Постави\ језик\ на\ "en_gb"
|
||||
menutrans Set\ Language\ to\ "en_nz" Постави\ језик\ на\ "en_nz"
|
||||
menutrans Set\ Language\ to\ "en_us" Постави\ језик\ на\ "en_us"
|
||||
menutrans &Find\ More\ Languages Пронађи\ још\ језика
|
||||
|
||||
" Tools/Folding
|
||||
menutrans &Enable/Disable\ folds<Tab>zi &Омогући/прекини\ подвијање<Tab>zi
|
||||
@@ -130,6 +154,7 @@ menutrans &Close\ all\ folds<Tab>zM Затвори\ с&ве\ подвијут
|
||||
menutrans O&pen\ more\ folds<Tab>zr Отвори\ виш&е\ подвијутака<Tab>zr
|
||||
menutrans &Open\ all\ folds<Tab>zR О&твори\ све\ подвијутке<Tab>zR
|
||||
menutrans Fold\ Met&hod &Начин\ подвијања
|
||||
menutrans Fold\ Col&umn\ Width Ширина\ колоне\ испред\ подвијутака
|
||||
|
||||
" Tools/Folding/Fold Method
|
||||
menutrans M&anual &Ручно
|
||||
@@ -141,8 +166,8 @@ menutrans Ma&rker &Ознака
|
||||
|
||||
" Tools/Diff
|
||||
menutrans &Update &Ажурирај
|
||||
menutrans &Get\ Block &Прихвати\ измену
|
||||
menutrans &Put\ Block Пре&баци\ измену
|
||||
menutrans &Get\ Block &Прихвати\ блок\ изменa
|
||||
menutrans &Put\ Block Пре&баци\ блок\ измена
|
||||
|
||||
" Tools/Error Window
|
||||
menutrans &Update<Tab>:cwin &Ажурирај<Tab>:cwin
|
||||
@@ -190,8 +215,10 @@ menutrans Cu&t &Исеци
|
||||
menutrans &Copy &Копирај
|
||||
menutrans &Paste &Убаци
|
||||
menutrans &Delete И&збриши
|
||||
menutrans Select\ Blockwise Бирај\ &правоугаоно
|
||||
menutrans Select\ Blockwise Бирај\ б&локовски
|
||||
menutrans Select\ &Word Изабери\ &реч
|
||||
menutrans Select\ &Sentence Изабери\ р&еченицу
|
||||
menutrans Select\ Pa&ragraph Изабери\ &параграф
|
||||
menutrans Select\ &Line Изабери\ р&ед
|
||||
menutrans Select\ &Block Изабери\ &блок
|
||||
menutrans Select\ &All Изабери\ &све
|
||||
@@ -237,9 +264,9 @@ endif
|
||||
|
||||
" Syntax menu
|
||||
menutrans &Syntax &Синтакса
|
||||
menutrans &Show\ filetypes\ in\ menu Избор\ 'filetype'\ из\ &менија
|
||||
menutrans Set\ '&syntax'\ only Поде&си\ 'syntax'\ само
|
||||
menutrans Set\ '&filetype'\ too Подеси\ 'filetype'\ &такође
|
||||
menutrans &Show\ File\ Types\ in\ Menu Прикажи\ типове\ датотека\ у\ &менију
|
||||
menutrans Set\ '&syntax'\ only Поде&си\ само\ 'syntax'
|
||||
menutrans Set\ '&filetype'\ too Подеси\ &такође\ и\ 'filetype'
|
||||
menutrans &Off &Искључено
|
||||
menutrans &Manual &Ручно
|
||||
menutrans A&utomatic &Аутоматски
|
||||
@@ -257,7 +284,9 @@ let g:menutrans_tags_dialog = "Унесите имена датотека са
|
||||
|
||||
let g:menutrans_textwidth_dialog = "Унесите нову ширину текста (0 спречава прелом)"
|
||||
|
||||
let g:menutrans_fileformat_dialog = "Изаберите врсту датотеке"
|
||||
let g:menutrans_fileformat_dialog = "Изаберите формат записа датотеке"
|
||||
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Откажи"
|
||||
|
||||
let menutrans_no_file = "[Нема датотеке]"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Oct 19
|
||||
" Last Change: 2018 Apr 18
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
@@ -122,11 +122,13 @@ fun! <SID>Update(lnum, line, local, thiswin)
|
||||
endfun
|
||||
|
||||
" Reset 'title' and 'icon' to make it work faster.
|
||||
" Reset 'undolevels' to avoid undo'ing until the buffer is empty.
|
||||
let s:old_title = &title
|
||||
let s:old_icon = &icon
|
||||
let s:old_sc = &sc
|
||||
let s:old_ru = &ru
|
||||
set notitle noicon nosc noru
|
||||
let s:old_ul = &ul
|
||||
set notitle noicon nosc noru ul=-1
|
||||
|
||||
" If the current window is a help window, try finding a non-help window.
|
||||
" Relies on syntax highlighting to be switched on.
|
||||
@@ -504,12 +506,15 @@ if has("cursorbind")
|
||||
call <SID>BinOptionL("crb")
|
||||
endif
|
||||
if has("terminal")
|
||||
call append("$", "termsize\tsize of a terminal window")
|
||||
call append("$", "termwinsize\tsize of a terminal window")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("tms")
|
||||
call append("$", "termkey\tkey that precedes Vim commands in a terminal window")
|
||||
call <SID>OptionL("tws")
|
||||
call append("$", "termwinkey\tkey that precedes Vim commands in a terminal window")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("tk")
|
||||
call <SID>OptionL("twk")
|
||||
call append("$", "termwinscroll\tmax number of lines to keep for scrollback in a terminal window")
|
||||
call append("$", "\t(local to window)")
|
||||
call <SID>OptionL("twsl")
|
||||
if exists("&winptydll")
|
||||
call append("$", "winptydll\tname of the winpty dynamic library")
|
||||
call <SID>OptionG("winptydll", &winptydll)
|
||||
@@ -647,11 +652,17 @@ if has("gui")
|
||||
endif
|
||||
call append("$", "linespace\tnumber of pixel lines to use between characters")
|
||||
call append("$", " \tset lsp=" . &lsp)
|
||||
if has("balloon_eval")
|
||||
if has("balloon_eval") || has("balloon_eval_term")
|
||||
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
||||
call append("$", " \tset bdlay=" . &bdlay)
|
||||
call append("$", "ballooneval\twhether the balloon evaluation is to be used")
|
||||
call <SID>BinOptionG("beval", &beval)
|
||||
if has("balloon_eval")
|
||||
call append("$", "ballooneval\tuse balloon evaluation in the GUI")
|
||||
call <SID>BinOptionG("beval", &beval)
|
||||
endif
|
||||
if has("balloon_eval_term")
|
||||
call append("$", "balloonevalterm\tuse balloon evaluation in the terminal")
|
||||
call <SID>BinOptionG("bevalterm", &beval)
|
||||
endif
|
||||
if has("eval")
|
||||
call append("$", "balloonexpr\texpression to show in balloon eval")
|
||||
call append("$", " \tset bexpr=" . &bexpr)
|
||||
@@ -750,7 +761,7 @@ call <SID>OptionG("km", &km)
|
||||
call <SID>Header("editing text")
|
||||
call append("$", "undolevels\tmaximum number of changes that can be undone")
|
||||
call append("$", "\t(global or local to buffer)")
|
||||
call append("$", " \tset ul=" . &ul)
|
||||
call append("$", " \tset ul=" . s:old_ul)
|
||||
call append("$", "undofile\tautomatically save and restore undo history")
|
||||
call <SID>BinOptionG("udf", &udf)
|
||||
call append("$", "undodir\tlist of directories for undo files")
|
||||
@@ -796,6 +807,8 @@ if has("insert_expand")
|
||||
call <SID>OptionG("cot", &cot)
|
||||
call append("$", "pumheight\tmaximum height of the popup menu")
|
||||
call <SID>OptionG("ph", &ph)
|
||||
call append("$", "pumwidth\tminimum width of the popup menu")
|
||||
call <SID>OptionG("pw", &pw)
|
||||
call append("$", "completefunc\tuser defined function for Insert mode completion")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>OptionL("cfu")
|
||||
@@ -1348,10 +1361,18 @@ if exists("&pythondll")
|
||||
call append("$", "pythondll\tname of the Python 2 dynamic library")
|
||||
call <SID>OptionG("pythondll", &pythondll)
|
||||
endif
|
||||
if exists("&pythonhome")
|
||||
call append("$", "pythonhome\tname of the Python 2 home directory")
|
||||
call <SID>OptionG("pythonhome", &pythonhome)
|
||||
endif
|
||||
if exists("&pythonthreedll")
|
||||
call append("$", "pythonthreedll\tname of the Python 3 dynamic library")
|
||||
call <SID>OptionG("pythonthreedll", &pythonthreedll)
|
||||
endif
|
||||
if exists("&pythonthreehome")
|
||||
call append("$", "pythonthreehome\tname of the Python 3 home directory")
|
||||
call <SID>OptionG("pythonthreehome", &pythonthreehome)
|
||||
endif
|
||||
if exists("&rubydll")
|
||||
call append("$", "rubydll\tname of the Ruby dynamic library")
|
||||
call <SID>OptionG("rubydll", &rubydll)
|
||||
@@ -1422,6 +1443,7 @@ let &icon = s:old_icon
|
||||
let &ru = s:old_ru
|
||||
let &sc = s:old_sc
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum
|
||||
let &ul = s:old_ul
|
||||
unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum s:old_ul
|
||||
|
||||
" vim: ts=8 sw=2 sts=2
|
||||
|
||||
215
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
215
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
@@ -25,7 +25,8 @@ endif
|
||||
|
||||
" The command that starts debugging, e.g. ":Termdebug vim".
|
||||
" To end type "quit" in the gdb window.
|
||||
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
||||
command -nargs=* -complete=file -bang Termdebug call s:StartDebug(<bang>0, <f-args>)
|
||||
command -nargs=+ -complete=file -bang TermdebugCommand call s:StartDebugCommand(<bang>0, <f-args>)
|
||||
|
||||
" Name of the gdb command, defaults to "gdb".
|
||||
if !exists('termdebugger')
|
||||
@@ -43,7 +44,22 @@ else
|
||||
endif
|
||||
hi default debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||
|
||||
func s:StartDebug(cmd)
|
||||
func s:StartDebug(bang, ...)
|
||||
" First argument is the command to debug, second core file or process ID.
|
||||
call s:StartDebug_internal({'gdb_args': a:000, 'bang': a:bang})
|
||||
endfunc
|
||||
|
||||
func s:StartDebugCommand(bang, ...)
|
||||
" First argument is the command to debug, rest are run arguments.
|
||||
call s:StartDebug_internal({'gdb_args': [a:1], 'proc_args': a:000[1:], 'bang': a:bang})
|
||||
endfunc
|
||||
|
||||
func s:StartDebug_internal(dict)
|
||||
if exists('s:gdbwin')
|
||||
echoerr 'Terminal debugger already running'
|
||||
return
|
||||
endif
|
||||
|
||||
let s:startwin = win_getid(winnr())
|
||||
let s:startsigncolumn = &signcolumn
|
||||
|
||||
@@ -90,7 +106,10 @@ func s:StartDebug(cmd)
|
||||
|
||||
" Open a terminal window to run the debugger.
|
||||
" Add -quiet to avoid the intro message causing a hit-enter prompt.
|
||||
let cmd = [g:termdebugger, '-quiet', '-tty', pty, a:cmd]
|
||||
let gdb_args = get(a:dict, 'gdb_args', [])
|
||||
let proc_args = get(a:dict, 'proc_args', [])
|
||||
|
||||
let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
|
||||
echomsg 'executing "' . join(cmd) . '"'
|
||||
let s:gdbbuf = term_start(cmd, {
|
||||
\ 'exit_cb': function('s:EndDebug'),
|
||||
@@ -104,15 +123,54 @@ func s:StartDebug(cmd)
|
||||
endif
|
||||
let s:gdbwin = win_getid(winnr())
|
||||
|
||||
" Set arguments to be run
|
||||
if len(proc_args)
|
||||
call term_sendkeys(s:gdbbuf, 'set args ' . join(proc_args) . "\r")
|
||||
endif
|
||||
|
||||
" Connect gdb to the communication pty, using the GDB/MI interface
|
||||
" If you get an error "undefined command" your GDB is too old.
|
||||
call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||
|
||||
" Wait for the response to show up, users may not notice the error and wonder
|
||||
" why the debugger doesn't work.
|
||||
let try_count = 0
|
||||
while 1
|
||||
let response = ''
|
||||
for lnum in range(1,200)
|
||||
if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
|
||||
let response = term_getline(s:gdbbuf, lnum + 1)
|
||||
if response =~ 'Undefined command'
|
||||
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
return
|
||||
endif
|
||||
if response =~ 'New UI allocated'
|
||||
" Success!
|
||||
break
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
if response =~ 'New UI allocated'
|
||||
break
|
||||
endif
|
||||
let try_count += 1
|
||||
if try_count > 100
|
||||
echoerr 'Cannot check if your gdb works, continuing anyway'
|
||||
break
|
||||
endif
|
||||
sleep 10m
|
||||
endwhile
|
||||
|
||||
" Interpret commands while the target is running. This should usualy only be
|
||||
" exec-interrupt, since many commands don't work properly while the target is
|
||||
" running.
|
||||
call s:SendCommand('-gdb-set mi-async on')
|
||||
|
||||
" Disable pagination, it causes everything to stop at the gdb
|
||||
" "Type <return> to continue" prompt.
|
||||
call s:SendCommand('-gdb-set pagination off')
|
||||
|
||||
" Sign used to highlight the line where the program has stopped.
|
||||
" There can be only one.
|
||||
sign define debugPC linehl=debugPC
|
||||
@@ -143,11 +201,20 @@ func s:StartDebug(cmd)
|
||||
au BufRead * call s:BufRead()
|
||||
au BufUnload * call s:BufUnloaded()
|
||||
augroup END
|
||||
|
||||
" Run the command if the bang attribute was given
|
||||
" and got to the window
|
||||
if get(a:dict, 'bang', 0)
|
||||
call s:SendCommand('-exec-run')
|
||||
call win_gotoid(s:ptywin)
|
||||
endif
|
||||
|
||||
endfunc
|
||||
|
||||
func s:EndDebug(job, status)
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
unlet s:gdbwin
|
||||
|
||||
let curwinid = win_getid(winnr())
|
||||
|
||||
@@ -201,7 +268,7 @@ endfunc
|
||||
" Install commands in the current window to control the debugger.
|
||||
func s:InstallCommands()
|
||||
command Break call s:SetBreakpoint()
|
||||
command Delete call s:DeleteBreakpoint()
|
||||
command Clear call s:ClearBreakpoint()
|
||||
command Step call s:SendCommand('-exec-step')
|
||||
command Over call s:SendCommand('-exec-next')
|
||||
command Finish call s:SendCommand('-exec-finish')
|
||||
@@ -212,24 +279,45 @@ func s:InstallCommands()
|
||||
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||
command Gdb call win_gotoid(s:gdbwin)
|
||||
command Program call win_gotoid(s:ptywin)
|
||||
command Source call s:GotoStartwinOrCreateIt()
|
||||
command Winbar call s:InstallWinbar()
|
||||
|
||||
" TODO: can the K mapping be restored?
|
||||
nnoremap K :Evaluate<CR>
|
||||
|
||||
if has('menu')
|
||||
nnoremenu WinBar.Step :Step<CR>
|
||||
nnoremenu WinBar.Next :Over<CR>
|
||||
if has('menu') && &mouse != ''
|
||||
call s:InstallWinbar()
|
||||
|
||||
if !exists('g:termdebug_popup') || g:termdebug_popup != 0
|
||||
let s:saved_mousemodel = &mousemodel
|
||||
let &mousemodel = 'popup_setpos'
|
||||
an 1.200 PopUp.-SEP3- <Nop>
|
||||
an 1.210 PopUp.Set\ breakpoint :Break<CR>
|
||||
an 1.220 PopUp.Clear\ breakpoint :Clear<CR>
|
||||
an 1.230 PopUp.Evaluate :Evaluate<CR>
|
||||
endif
|
||||
endif
|
||||
endfunc
|
||||
|
||||
let s:winbar_winids = []
|
||||
|
||||
" Install the window toolbar in the current window.
|
||||
func s:InstallWinbar()
|
||||
if has('menu') && &mouse != ''
|
||||
nnoremenu WinBar.Step :Step<CR>
|
||||
nnoremenu WinBar.Next :Over<CR>
|
||||
nnoremenu WinBar.Finish :Finish<CR>
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Stop :Stop<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Stop :Stop<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
call add(s:winbar_winids, win_getid(winnr()))
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Delete installed debugger commands in the current window.
|
||||
func s:DeleteCommands()
|
||||
delcommand Break
|
||||
delcommand Delete
|
||||
delcommand Clear
|
||||
delcommand Step
|
||||
delcommand Over
|
||||
delcommand Finish
|
||||
@@ -240,16 +328,35 @@ func s:DeleteCommands()
|
||||
delcommand Evaluate
|
||||
delcommand Gdb
|
||||
delcommand Program
|
||||
delcommand Source
|
||||
delcommand Winbar
|
||||
|
||||
nunmap K
|
||||
|
||||
if has('menu')
|
||||
aunmenu WinBar.Step
|
||||
aunmenu WinBar.Next
|
||||
aunmenu WinBar.Finish
|
||||
aunmenu WinBar.Cont
|
||||
aunmenu WinBar.Stop
|
||||
aunmenu WinBar.Eval
|
||||
" Remove the WinBar entries from all windows where it was added.
|
||||
let curwinid = win_getid(winnr())
|
||||
for winid in s:winbar_winids
|
||||
if win_gotoid(winid)
|
||||
aunmenu WinBar.Step
|
||||
aunmenu WinBar.Next
|
||||
aunmenu WinBar.Finish
|
||||
aunmenu WinBar.Cont
|
||||
aunmenu WinBar.Stop
|
||||
aunmenu WinBar.Eval
|
||||
endif
|
||||
endfor
|
||||
call win_gotoid(curwinid)
|
||||
let s:winbar_winids = []
|
||||
|
||||
if exists('s:saved_mousemodel')
|
||||
let &mousemodel = s:saved_mousemodel
|
||||
unlet s:saved_mousemodel
|
||||
aunmenu PopUp.-SEP3-
|
||||
aunmenu PopUp.Set\ breakpoint
|
||||
aunmenu PopUp.Clear\ breakpoint
|
||||
aunmenu PopUp.Evaluate
|
||||
endif
|
||||
endif
|
||||
|
||||
exe 'sign unplace ' . s:pc_id
|
||||
@@ -278,8 +385,8 @@ func s:SetBreakpoint()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" :Delete - Delete a breakpoint at the cursor position.
|
||||
func s:DeleteBreakpoint()
|
||||
" :Clear - Delete a breakpoint at the cursor position.
|
||||
func s:ClearBreakpoint()
|
||||
let fname = fnameescape(expand('%:p'))
|
||||
let lnum = line('.')
|
||||
for [key, val] in items(s:breakpoints)
|
||||
@@ -325,9 +432,11 @@ func s:Evaluate(range, arg)
|
||||
else
|
||||
let expr = expand('<cexpr>')
|
||||
endif
|
||||
let s:ignoreEvalError = 0
|
||||
call s:SendEval(expr)
|
||||
endfunc
|
||||
|
||||
let s:ignoreEvalError = 0
|
||||
let s:evalFromBalloonExpr = 0
|
||||
|
||||
" Handle the result of data-evaluate-expression
|
||||
@@ -347,6 +456,7 @@ func s:HandleEvaluate(msg)
|
||||
|
||||
if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
|
||||
" Looks like a pointer, also display what it points to.
|
||||
let s:ignoreEvalError = 1
|
||||
call s:SendEval('*' . s:evalexpr)
|
||||
else
|
||||
let s:evalFromBalloonExpr = 0
|
||||
@@ -359,24 +469,32 @@ func TermDebugBalloonExpr()
|
||||
if v:beval_winid != s:startwin
|
||||
return
|
||||
endif
|
||||
call s:SendEval(v:beval_text)
|
||||
let s:evalFromBalloonExpr = 1
|
||||
let s:evalFromBalloonExprResult = ''
|
||||
let s:ignoreEvalError = 1
|
||||
call s:SendEval(v:beval_text)
|
||||
return ''
|
||||
endfunc
|
||||
|
||||
" Handle an error.
|
||||
func s:HandleError(msg)
|
||||
if a:msg =~ 'No symbol .* in current context'
|
||||
\ || a:msg =~ 'Cannot access memory at address '
|
||||
\ || a:msg =~ 'Attempt to use a type name as an expression'
|
||||
\ || a:msg =~ 'A syntax error in expression,'
|
||||
if s:ignoreEvalError
|
||||
" Result of s:SendEval() failed, ignore.
|
||||
let s:ignoreEvalError = 0
|
||||
let s:evalFromBalloonExpr = 0
|
||||
return
|
||||
endif
|
||||
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||
endfunc
|
||||
|
||||
func s:GotoStartwinOrCreateIt()
|
||||
if !win_gotoid(s:startwin)
|
||||
new
|
||||
let s:startwin = win_getid(winnr())
|
||||
call s:InstallWinbar()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Handle stopping and running message from gdb.
|
||||
" Will update the sign that shows the current position.
|
||||
func s:HandleCursor(msg)
|
||||
@@ -388,31 +506,32 @@ func s:HandleCursor(msg)
|
||||
let s:stopped = 0
|
||||
endif
|
||||
|
||||
if win_gotoid(s:startwin)
|
||||
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||
if lnum =~ '^[0-9]*$'
|
||||
if expand('%:p') != fnamemodify(fname, ':p')
|
||||
if &modified
|
||||
" TODO: find existing window
|
||||
exe 'split ' . fnameescape(fname)
|
||||
let s:startwin = win_getid(winnr())
|
||||
else
|
||||
exe 'edit ' . fnameescape(fname)
|
||||
endif
|
||||
endif
|
||||
exe lnum
|
||||
exe 'sign unplace ' . s:pc_id
|
||||
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
||||
setlocal signcolumn=yes
|
||||
endif
|
||||
else
|
||||
exe 'sign unplace ' . s:pc_id
|
||||
endif
|
||||
call s:GotoStartwinOrCreateIt()
|
||||
|
||||
call win_gotoid(wid)
|
||||
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||
if lnum =~ '^[0-9]*$'
|
||||
if expand('%:p') != fnamemodify(fname, ':p')
|
||||
if &modified
|
||||
" TODO: find existing window
|
||||
exe 'split ' . fnameescape(fname)
|
||||
let s:startwin = win_getid(winnr())
|
||||
call s:InstallWinbar()
|
||||
else
|
||||
exe 'edit ' . fnameescape(fname)
|
||||
endif
|
||||
endif
|
||||
exe lnum
|
||||
exe 'sign unplace ' . s:pc_id
|
||||
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
||||
setlocal signcolumn=yes
|
||||
endif
|
||||
else
|
||||
exe 'sign unplace ' . s:pc_id
|
||||
endif
|
||||
|
||||
call win_gotoid(wid)
|
||||
endfunc
|
||||
|
||||
" Handle setting a breakpoint
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
" Vim plugin for using Vim as manpager.
|
||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||
" Last Change: 2017 November 07
|
||||
" Last Change: 2018 Feb 04
|
||||
|
||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||
if empty($MAN_PN)
|
||||
finish
|
||||
endif
|
||||
command! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER
|
||||
|
||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||
|
||||
function! s:MANPAGER()
|
||||
let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
|
||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||
|
||||
if $MAN_PN is '1'
|
||||
let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
|
||||
else
|
||||
let manpage = expand($MAN_PN)
|
||||
function! s:ManPager()
|
||||
set nocompatible
|
||||
if exists('+viminfofile')
|
||||
set viminfofile=NONE
|
||||
endif
|
||||
set noswapfile
|
||||
|
||||
let page_sec = matchlist(manpage, '^' . pagesec_pattern . '$')
|
||||
setlocal ft=man
|
||||
runtime ftplugin/man.vim
|
||||
setlocal buftype=nofile bufhidden=hide iskeyword+=: modifiable
|
||||
|
||||
bwipe!
|
||||
" Emulate 'col -b'
|
||||
silent keepj keepp %s/\v(.)\b\ze\1?//ge
|
||||
|
||||
setlocal filetype=man
|
||||
exe 'Man' page_sec[2] page_sec[1]
|
||||
" Remove empty lines above the header
|
||||
call cursor(1, 1)
|
||||
let n = search(".*(.*)", "c")
|
||||
if n > 1
|
||||
exe "1," . n-1 . "d"
|
||||
endif
|
||||
setlocal nomodified readonly
|
||||
|
||||
syntax on
|
||||
endfunction
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
if &cp || exists("g:loaded_netrwPlugin")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwPlugin = "v162"
|
||||
let g:loaded_netrwPlugin = "v156"
|
||||
let s:keepcpo = &cpo
|
||||
set cpo&vim
|
||||
"DechoRemOn
|
||||
@@ -42,8 +42,8 @@ augroup END
|
||||
" Network Browsing Reading Writing: {{{2
|
||||
augroup Network
|
||||
au!
|
||||
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||
@@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
|
||||
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
|
||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
||||
|
||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||
@@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
|
||||
if !hasmapto('<Plug>NetrwBrowseX')
|
||||
nmap <unique> gx <Plug>NetrwBrowseX
|
||||
endif
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
|
||||
endif
|
||||
if maparg('gx','v') == ""
|
||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||
@@ -129,15 +129,19 @@ fun! s:LocalBrowse(dirname)
|
||||
elseif isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||
exe w:netrw_bannercnt
|
||||
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
||||
endif
|
||||
|
||||
else
|
||||
" not a directory, ignore it
|
||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
||||
endif
|
||||
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
||||
|
||||
" call Dret("s:LocalBrowse")
|
||||
endfun
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2017 Nov 11
|
||||
" Last change: 2018 Feb 03
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -100,6 +100,10 @@ if s:line1 =~# "^#!"
|
||||
elseif s:name =~# 'make\>'
|
||||
set ft=make
|
||||
|
||||
" Pike
|
||||
elseif s:name =~# '^pike\%(\>\|[0-9]\)'
|
||||
set ft=pike
|
||||
|
||||
" Lua
|
||||
elseif s:name =~# 'lua'
|
||||
set ft=lua
|
||||
@@ -129,7 +133,7 @@ if s:line1 =~# "^#!"
|
||||
set ft=ruby
|
||||
|
||||
" JavaScript
|
||||
elseif s:name =~# 'node\(js\)\=\>' || s:name =~# 'rhino\>'
|
||||
elseif s:name =~# 'node\(js\)\=\>\|js\>' || s:name =~# 'rhino\>'
|
||||
set ft=javascript
|
||||
|
||||
" BC calculator
|
||||
@@ -172,6 +176,10 @@ if s:line1 =~# "^#!"
|
||||
elseif s:name =~# 'scala\>'
|
||||
set ft=scala
|
||||
|
||||
" Clojure
|
||||
elseif s:name =~# 'clojure'
|
||||
set ft=clojure
|
||||
|
||||
endif
|
||||
unlet s:name
|
||||
|
||||
|
||||
142
runtime/spell/sr/main.aap
Normal file
142
runtime/spell/sr/main.aap
Normal file
@@ -0,0 +1,142 @@
|
||||
# Aap recipe for Serbian Vim spell files.
|
||||
|
||||
# Use a freshly compiled Vim if it exists.
|
||||
@if os.path.exists('../../../src/vim'):
|
||||
VIM = ../../../src/vim
|
||||
@else:
|
||||
:progsearch VIM vim
|
||||
|
||||
SPELLDIR = ..
|
||||
FILES = sr_RS.aff sr_RS.dic
|
||||
'sr_RS@latin.aff' 'sr_RS@latin.dic'
|
||||
|
||||
all: $SPELLDIR/sr.utf-8.spl $SPELLDIR/'sr@latin.utf-8.spl' ../README_sr.txt
|
||||
|
||||
# Original files will be in the subfolder hunspell-sr after unpacking:
|
||||
# sr.dic original cyrillic dictionary
|
||||
# sr.aff original cyrillic affix file
|
||||
# sr-Latn.dic original latin dictionary file
|
||||
# sr-Latn.aff original latin affix file
|
||||
# Just before using the dictionary files, the right ones are copied to
|
||||
# sr_RS.aff
|
||||
# sr_RS.dic
|
||||
# and
|
||||
# sr_RS@latin.aff
|
||||
# sr_RS@latin.dic
|
||||
|
||||
$SPELLDIR/sr.utf-8.spl : $FILES
|
||||
:sys env LANG=sr_RS.UTF-8
|
||||
$VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/sr sr_RS" -c q
|
||||
|
||||
$SPELLDIR/"sr@latin.utf-8.spl" : $FILES
|
||||
:sys env LANG=sr_RS@latin.UTF-8
|
||||
$VIM -u NONE -e -c "set enc=utf-8" -c "mkspell! $SPELLDIR/sr@latin sr_RS@latin" -c q
|
||||
|
||||
../README_sr.txt : hunspell-sr/README_sr.txt README_sr_RS.txt
|
||||
:cat README_sr_RS.txt >!$target
|
||||
:print >>$target
|
||||
:print ============================================================== >>$target
|
||||
:print Следи оригинална README датотека: >>$target
|
||||
:print >>$target
|
||||
:cat hunspell-sr/README_sr.txt >>$target
|
||||
|
||||
#
|
||||
# Used to fetch the files.
|
||||
#
|
||||
ZIPFILE = http://devbase.net/dict-sr/hunspell-sr-20130715.zip
|
||||
|
||||
:attr {fetch = $ZIPFILE} sr_RS.zip
|
||||
|
||||
# The files don't depend on the .zip file so that we can delete it.
|
||||
# Only download the zip file if the targets don't exist.
|
||||
sr_RS.aff sr_RS.dic: {buildcheck=}
|
||||
:assertpkg unzip patch
|
||||
:fetch sr_RS.zip
|
||||
:sys $UNZIP sr_RS.zip
|
||||
:delete sr_RS.zip
|
||||
@if not os.path.exists('sr_RS.orig.aff'):
|
||||
:copy hunspell-sr/sr.aff sr_RS.orig.aff
|
||||
@if not os.path.exists('sr_RS.orig.dic'):
|
||||
:copy hunspell-sr/sr.dic sr_RS.orig.dic
|
||||
@if os.path.exists('sr_RS.diff'):
|
||||
:sys patch <sr_RS.diff
|
||||
:copy sr_RS.orig.aff sr_RS.aff
|
||||
:copy sr_RS.orig.dic sr_RS.dic
|
||||
|
||||
# Remove the 3 misspelled words and update the word count
|
||||
# :sys $VIM -u NONE -e -c "set enc=utf-8"
|
||||
# -c "e sr_RS.orig.dic"
|
||||
# -c "%g/ажуриранје/d"
|
||||
# -c "%g/вишнја/d"
|
||||
# -c "%g/вишнјевац/d"
|
||||
# -c "%s/263909/263906/e"
|
||||
# -c "w! sr_RS.dic"
|
||||
# -c q
|
||||
|
||||
sr_RS@latin.aff sr_RS@latin.dic: {buildcheck=}
|
||||
:assertpkg unzip patch
|
||||
:fetch sr_RS.zip
|
||||
:sys $UNZIP sr_RS.zip
|
||||
:delete sr_RS.zip
|
||||
@if not os.path.exists('sr_RS@latin.orig.aff'):
|
||||
:copy hunspell-sr/sr-Latn.aff 'sr_RS@latin.orig.aff'
|
||||
@if not os.path.exists('sr_RS@latin.orig.dic'):
|
||||
:copy hunspell-sr/sr-Latn.dic 'sr_RS@latin.orig.dic'
|
||||
@if os.path.exists('sr_RS@latin.diff'):
|
||||
:sys patch <'sr_RS@latin.diff'
|
||||
:copy 'sr_RS@latin.orig.aff' 'sr_RS@latin.aff'
|
||||
:copy 'sr_RS@latin.orig.dic' 'sr_RS@latin.dic'
|
||||
|
||||
|
||||
# Remove the 3 duplicated words and update the word count
|
||||
# :sys $VIM -u NONE -e -c "set enc=utf-8"
|
||||
# -c "e sr_RS@latin.orig.dic"
|
||||
# -c "%g/\v(ažuriranje)(\_.*\1)@=/d"
|
||||
# -c "%g/\v(višnja)(\_.*\1)@=/d"
|
||||
# -c "%g/\v(višnjevac)(\_.*\1)@=/d"
|
||||
# -c "%s/263909/263906/e"
|
||||
# -c "w! sr_RS@latin.dic"
|
||||
# -c q
|
||||
|
||||
# Generate diff files, so that others can get the files and apply
|
||||
# the diffs to get the Vim versions.
|
||||
diff:
|
||||
:assertpkg diff
|
||||
:sys {force} diff -a -C 1 sr_RS.orig.aff sr_RS.aff >sr_RS.diff
|
||||
:sys {force} diff -a -C 1 sr_RS.orig.dic sr_RS.dic >>sr_RS.diff
|
||||
:sys {force} diff -a -C 1 'sr_RS@latin.orig.aff' 'sr_RS@latin.aff' >'sr_RS@latin.diff'
|
||||
:sys {force} diff -a -C 1 'sr_RS@latin.orig.dic' 'sr_RS@latin.dic' >>'sr_RS@latin.diff'
|
||||
|
||||
# Delete all the unpacked and generated files, including the "orig" files.
|
||||
clean:
|
||||
:delete {force} sr_RS.zip sr_RS.dic
|
||||
sr_RS.orig.aff sr_RS.orig.dic
|
||||
sr_RS.aff
|
||||
'sr_RS@latin.dic' 'sr_RS@latin.aff'
|
||||
'sr_RS@latin.orig.aff' 'sr_RS@latin.orig.dic'
|
||||
:sys rm -f -r hunspell-sr/
|
||||
|
||||
# Check for updated OpenOffice spell files. When there are changes the
|
||||
# ".new.aff" and ".new.dic" files are left behind for manual inspection.
|
||||
#
|
||||
#check:
|
||||
# :assertpkg unzip diff
|
||||
# :fetch fr_FR.zip
|
||||
# :mkdir tmp
|
||||
# :cd tmp
|
||||
# @try:
|
||||
# @import stat
|
||||
# :sys $UNZIP ../fr_FR.zip
|
||||
# :sys {force} diff ../fr_FR.orig.aff fr_FR.aff >d
|
||||
# @if os.stat('d')[stat.ST_SIZE] > 0:
|
||||
# :copy fr_FR.aff ../fr_FR.new.aff
|
||||
# :sys {force} diff ../fr_FR.orig.dic fr_FR.dic >d
|
||||
# @if os.stat('d')[stat.ST_SIZE] > 0:
|
||||
# :copy fr_FR.dic ../fr_FR.new.dic
|
||||
# @finally:
|
||||
# :cd ..
|
||||
# :delete {r}{f}{q} tmp
|
||||
# :delete fr_FR.zip
|
||||
|
||||
|
||||
vim: set sts=4 sw=4 :
|
||||
68
runtime/spell/sr/sr_RS.diff
Normal file
68
runtime/spell/sr/sr_RS.diff
Normal file
@@ -0,0 +1,68 @@
|
||||
*** sr_RS.orig.aff Fri Feb 23 20:04:41 2018
|
||||
--- sr_RS.aff Fri Feb 23 18:18:48 2018
|
||||
***************
|
||||
*** 1,10 ****
|
||||
! SET UTF-8
|
||||
|
||||
! LANG sr
|
||||
! TRY аиоенртсвумклпјдгзбшчцхћњљжфђџАИОЕНРТСВУМКЛПЈДГЗБШЧЦХЋЊЉЖФЂЏ
|
||||
! KEY љњертжуиопшђж|асдфгхјклчћ|зџцвбнм|жшђ|ћшч|жчђ|ђћж|зж|љањседрфтгжхуј|јиколпч|азсџдцфвгбх|хнјмк
|
||||
!
|
||||
! MAP 4
|
||||
! MAP цћ
|
||||
! MAP цч
|
||||
MAP зж
|
||||
--- 1,5 ----
|
||||
! SET utf-8
|
||||
|
||||
! MAP 3
|
||||
! MAP цћч
|
||||
MAP зж
|
||||
***************
|
||||
*** 12,14 ****
|
||||
|
||||
! REP 8
|
||||
REP дј ђ
|
||||
--- 7,11 ----
|
||||
|
||||
! MIDWORD -’
|
||||
!
|
||||
! REP 4
|
||||
REP дј ђ
|
||||
***************
|
||||
*** 17,28 ****
|
||||
REP дж џ
|
||||
- REP ц с # Ако хоћу да откуцам слово „С“ могу се залетети за ознаком на тастатури и уписати „Ц“ (C)
|
||||
- REP п р # Ако хоћу да откуцам слово „В“ могу се залетети за ознаком и уписати „Б“ (B)
|
||||
- REP џ х # Ако хоћу да откуцам слово „Р“ могу се залетети за ознаком и уписати „П“ (P)
|
||||
- REP х н # Ако хоћу да откуцам слово „Х“ могу се залетети за ознаком и уписати „Џ“ (X)
|
||||
- # Ако хоћу да откуцам слово „В“ могу се залетети за ознаком и уписати „Б“ (B) (покривено KEY паром „в - б“)
|
||||
-
|
||||
- ICONV 3
|
||||
- ICONV ҵ тц
|
||||
- ICONV ҥ нг
|
||||
- ICONV ӕ ае
|
||||
|
||||
--- 14,15 ----
|
||||
*** sr_RS.orig.dic Fri Feb 23 20:04:42 2018
|
||||
--- sr_RS.dic Fri Feb 23 20:04:46 2018
|
||||
***************
|
||||
*** 1,2 ****
|
||||
! 263909
|
||||
а
|
||||
--- 1,2 ----
|
||||
! 263906
|
||||
а
|
||||
***************
|
||||
*** 882,884 ****
|
||||
ажурираних
|
||||
- ажуриранје
|
||||
ажурирано
|
||||
--- 882,883 ----
|
||||
***************
|
||||
*** 22177,22180 ****
|
||||
вишку
|
||||
- вишнја
|
||||
- вишнјевац
|
||||
Вишну
|
||||
--- 22176,22177 ----
|
||||
66
runtime/spell/sr/sr_RS@latin.diff
Normal file
66
runtime/spell/sr/sr_RS@latin.diff
Normal file
@@ -0,0 +1,66 @@
|
||||
*** sr_RS@latin.orig.aff Fri Feb 23 20:08:28 2018
|
||||
--- sr_RS@latin.aff Fri Feb 23 18:18:48 2018
|
||||
***************
|
||||
*** 1,10 ****
|
||||
! SET UTF-8
|
||||
|
||||
! LANG sr-Latn
|
||||
! TRY aioenrtsvumklpjdgzbščchćnjljžfđdžAIOENRTSVUMKLPJDGZBŠČCHĆNJLJŽFĐDŽ
|
||||
! KEY qwertyuiopšđž|asdfghjklčć|zxcvbnm|žšđ|ćšč|žčđ|đćž|zy|qawsedrftgyhuj|jikolpč|azsxdcfvgbh|hnjmk
|
||||
!
|
||||
! MAP 4
|
||||
! MAP cć
|
||||
! MAP cč
|
||||
MAP zž
|
||||
--- 1,5 ----
|
||||
! SET utf-8
|
||||
|
||||
! MAP 3
|
||||
! MAP cćč
|
||||
MAP zž
|
||||
***************
|
||||
*** 12,20 ****
|
||||
|
||||
! REP 1
|
||||
! REP dj đ
|
||||
|
||||
! ICONV fi fi
|
||||
! ICONV fl fl
|
||||
! ICONV st st
|
||||
! ICONV ij ij
|
||||
! ICONV œ oe
|
||||
--- 7,14 ----
|
||||
|
||||
! MIDWORD -’
|
||||
|
||||
! REP 4
|
||||
! REP dj đ
|
||||
! REP fl fl
|
||||
! REP ff ff
|
||||
! REP fi fi
|
||||
*** sr_RS@latin.orig.dic Fri Feb 23 20:08:28 2018
|
||||
--- sr_RS@latin.dic Fri Feb 23 20:08:53 2018
|
||||
***************
|
||||
*** 1,2 ****
|
||||
! 263909
|
||||
a
|
||||
--- 1,2 ----
|
||||
! 263906
|
||||
a
|
||||
***************
|
||||
*** 882,884 ****
|
||||
ažuriranih
|
||||
- ažuriranje
|
||||
ažurirano
|
||||
--- 882,883 ----
|
||||
***************
|
||||
*** 22177,22184 ****
|
||||
višku
|
||||
- višnja
|
||||
- višnjevac
|
||||
Višnu
|
||||
višnja
|
||||
višnjama
|
||||
višnjare
|
||||
višnje
|
||||
--- 22176,22181 ----
|
||||
@@ -1,8 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Apache-Style configuration files (proftpd.conf/apache.conf/..)
|
||||
" Maintainer: Christian Hammers <ch@westend.com>
|
||||
" URL: none
|
||||
" Maintainer: Ben RUBSON <ben.rubson@gmail.com>
|
||||
" Former Maintainer: Christian Hammers <ch@westend.com>
|
||||
" ChangeLog:
|
||||
" 2017-12-17,ch
|
||||
" correctly detect comments
|
||||
" 2001-05-04,ch
|
||||
" adopted Vim 6.0 syntax style
|
||||
" 1999-10-28,ch
|
||||
@@ -27,8 +29,8 @@ endif
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn match apComment /^\s*#.*$/
|
||||
syn match apOption /^\s*[^ \t#<=]*/
|
||||
syn match apComment /^\s*#.*$/
|
||||
"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly
|
||||
|
||||
" tags
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user