mirror of
https://github.com/zoriya/vim.git
synced 2025-12-11 01:36:16 +00:00
Compare commits
502 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28944fecff | ||
|
|
2c7b906afb | ||
|
|
2374faae11 | ||
|
|
191f18bad0 | ||
|
|
fef4ddd5eb | ||
|
|
06b77ef69f | ||
|
|
4bc0bed536 | ||
|
|
8a37b03289 | ||
|
|
ec48a9c589 | ||
|
|
f4aba797cb | ||
|
|
15833239a4 | ||
|
|
b5cb65ba2b | ||
|
|
b7407d3fc9 | ||
|
|
ddb349369d | ||
|
|
8fd2ffc530 | ||
|
|
8dce6c54c8 | ||
|
|
4bfa8af141 | ||
|
|
42b23fad1d | ||
|
|
218101442e | ||
|
|
d4a282f7a5 | ||
|
|
94073167e3 | ||
|
|
1dd45fb4f3 | ||
|
|
a338adcf22 | ||
|
|
37badc898b | ||
|
|
cada78975e | ||
|
|
6f361c9912 | ||
|
|
153b704e20 | ||
|
|
ec0557f08b | ||
|
|
059fd01021 | ||
|
|
a172b63ab8 | ||
|
|
ce46d934af | ||
|
|
b50773c6df | ||
|
|
1274d33493 | ||
|
|
0479e910c4 | ||
|
|
d6d304298a | ||
|
|
40962ec9c0 | ||
|
|
84b242c369 | ||
|
|
501383236d | ||
|
|
d7823d5b7c | ||
|
|
95dbcbea6d | ||
|
|
2ec364e94d | ||
|
|
0cbcd949e1 | ||
|
|
4aad53c369 | ||
|
|
ede35bbbd0 | ||
|
|
200ea8ffaa | ||
|
|
de04654ddc | ||
|
|
9e3dfc6501 | ||
|
|
2095148277 | ||
|
|
df980db69b | ||
|
|
a47ebdbd22 | ||
|
|
fabaf753e2 | ||
|
|
45a0000d5c | ||
|
|
e6640ad44e | ||
|
|
3c09722600 | ||
|
|
b73fa629d6 | ||
|
|
ae6f865125 | ||
|
|
1bd999f982 | ||
|
|
8ada6aa929 | ||
|
|
4ce46c2a6b | ||
|
|
14a4deb064 | ||
|
|
aaf6e43b7a | ||
|
|
1223744849 | ||
|
|
2efb323e87 | ||
|
|
338e47fdfd | ||
|
|
132f75255e | ||
|
|
a0ca7d002d | ||
|
|
4af031dbc8 | ||
|
|
b254af312d | ||
|
|
c9e649ae81 | ||
|
|
606d45ccd8 | ||
|
|
4fb921e388 | ||
|
|
9bca805ec4 | ||
|
|
cb89c98c26 | ||
|
|
f0b03c4e98 | ||
|
|
8ee2d36e21 | ||
|
|
ee219b0e9f | ||
|
|
9e1d399e63 | ||
|
|
890dd05492 | ||
|
|
a1d5c154db | ||
|
|
200d0e36bc | ||
|
|
7e1652c63c | ||
|
|
6621605eb9 | ||
|
|
8b42328cef | ||
|
|
b29d328eb4 | ||
|
|
4697399e8c | ||
|
|
7f88b65f6c | ||
|
|
a6d4849c71 | ||
|
|
fae8ed1fc8 | ||
|
|
a703aaee4d | ||
|
|
8e6a31df81 | ||
|
|
59eb016dff | ||
|
|
74240d3feb | ||
|
|
35c5e8155d | ||
|
|
f405c8fe85 | ||
|
|
620ca2da37 | ||
|
|
05684310a5 | ||
|
|
e4b78e2a42 | ||
|
|
3388d33457 | ||
|
|
6e65d594aa | ||
|
|
23c1b2b018 | ||
|
|
415a6939a4 | ||
|
|
5fe6bdf858 | ||
|
|
3767c6e9ee | ||
|
|
ac112f01a6 | ||
|
|
feeb4d0901 | ||
|
|
1eca6f13d6 | ||
|
|
92467d3351 | ||
|
|
ce6179c799 | ||
|
|
461fe50fea | ||
|
|
1ad022a9b8 | ||
|
|
24820691e6 | ||
|
|
22044dc317 | ||
|
|
af903e5d49 | ||
|
|
a7c54cfcf8 | ||
|
|
97ce419201 | ||
|
|
76bb7196f5 | ||
|
|
2f0584910c | ||
|
|
46359e198f | ||
|
|
8b9e20afb0 | ||
|
|
1a2ab991a6 | ||
|
|
c5aa55db7e | ||
|
|
a45ff6caba | ||
|
|
3660a10c73 | ||
|
|
1ed2276fd5 | ||
|
|
f38c86eb6b | ||
|
|
bdb8139098 | ||
|
|
1355aad2b9 | ||
|
|
17471e84a7 | ||
|
|
c8c75796a6 | ||
|
|
e0aa23f7e3 | ||
|
|
a3571ebef5 | ||
|
|
c41838aa01 | ||
|
|
2877d334ad | ||
|
|
d7ccc4d81d | ||
|
|
fb1db0e355 | ||
|
|
be5d998d0e | ||
|
|
281c93e714 | ||
|
|
83799a7b74 | ||
|
|
819edbe078 | ||
|
|
50d43153a7 | ||
|
|
6315a9ae92 | ||
|
|
291a9d15ed | ||
|
|
3167c3e701 | ||
|
|
2c997d7603 | ||
|
|
93a32e2ec4 | ||
|
|
3679c17917 | ||
|
|
a2a80162de | ||
|
|
52dbb5ea7f | ||
|
|
5505860152 | ||
|
|
ff5467965e | ||
|
|
91ffda9852 | ||
|
|
6e77df2d85 | ||
|
|
5df95ea9ef | ||
|
|
bb160a188a | ||
|
|
73675fbc48 | ||
|
|
5bbef31949 | ||
|
|
40e280d949 | ||
|
|
7221fce8b3 | ||
|
|
669a828cdc | ||
|
|
246fe03d15 | ||
|
|
e518226713 | ||
|
|
44c2bffde7 | ||
|
|
e86ee877c1 | ||
|
|
4ab9d9e9a4 | ||
|
|
d1c28346e1 | ||
|
|
c3719bd87b | ||
|
|
c7d16dce2f | ||
|
|
0f1e643138 | ||
|
|
51b0f3701e | ||
|
|
234d16286a | ||
|
|
ae1e108caa | ||
|
|
9e27217c48 | ||
|
|
7567d0b115 | ||
|
|
d048009717 | ||
|
|
9c6ce0e622 | ||
|
|
209d3874c1 | ||
|
|
7cb769a69f | ||
|
|
cd142e3369 | ||
|
|
a42ad57e48 | ||
|
|
58a8f1706f | ||
|
|
2392143236 | ||
|
|
1dcada1933 | ||
|
|
e42a6d2509 | ||
|
|
2f27aab8e6 | ||
|
|
60e73f2acc | ||
|
|
d327b0c68f | ||
|
|
f8c53d3d26 | ||
|
|
80eaddd3a0 | ||
|
|
7f2e9d7c9c | ||
|
|
13e904199c | ||
|
|
ae147ab2d7 | ||
|
|
aeeb6888ca | ||
|
|
5fd8b78214 | ||
|
|
d09a206ee9 | ||
|
|
462455ee8b | ||
|
|
9ed7d34af3 | ||
|
|
cef7322d8a | ||
|
|
851ee6c3da | ||
|
|
de323093e1 | ||
|
|
040c1feb21 | ||
|
|
8ac441576f | ||
|
|
26d205dcd8 | ||
|
|
a3f7e58bf8 | ||
|
|
c9e9c71409 | ||
|
|
0c4dc88a63 | ||
|
|
4148be468f | ||
|
|
53ec79537a | ||
|
|
fb094e14c1 | ||
|
|
8fdb35a974 | ||
|
|
b0d45e7f53 | ||
|
|
aace215813 | ||
|
|
3bf8c3c38f | ||
|
|
5842a748be | ||
|
|
ffe010fa03 | ||
|
|
ad7dac85c3 | ||
|
|
c363251630 | ||
|
|
5a73e0ca54 | ||
|
|
7dd88c5133 | ||
|
|
1232624ae5 | ||
|
|
ab8b1c14a3 | ||
|
|
13deab8d08 | ||
|
|
52a2f0f1da | ||
|
|
2973daafe1 | ||
|
|
a88254f704 | ||
|
|
01164a6546 | ||
|
|
ea84df8041 | ||
|
|
4c22a91d20 | ||
|
|
430dc5d360 | ||
|
|
8889a5c305 | ||
|
|
d97fbf171e | ||
|
|
f8f8b2eadb | ||
|
|
c20e0d5207 | ||
|
|
5130f31661 | ||
|
|
86b21bb3e7 | ||
|
|
b315876efa | ||
|
|
3e1c617d49 | ||
|
|
b94340c04f | ||
|
|
f45938cc20 | ||
|
|
ffd99f729b | ||
|
|
89c394faca | ||
|
|
ba6febd380 | ||
|
|
48570488f1 | ||
|
|
2e51d9a097 | ||
|
|
af2d20c628 | ||
|
|
d057301b1f | ||
|
|
ef83956e1e | ||
|
|
a6ce1ccf5c | ||
|
|
b9fce6cbf7 | ||
|
|
c3fdf7f80b | ||
|
|
c312b8b87a | ||
|
|
ce15775026 | ||
|
|
9a91c7a1f9 | ||
|
|
0e19fc07e7 | ||
|
|
dc1c981294 | ||
|
|
2a45d64d0a | ||
|
|
ee03b94124 | ||
|
|
cf1ba35fc2 | ||
|
|
9ad89c6c4f | ||
|
|
ce11de87e2 | ||
|
|
15993ce921 | ||
|
|
235dddf1f4 | ||
|
|
f204e05ae9 | ||
|
|
8d84ff1a3c | ||
|
|
d99388ba85 | ||
|
|
6ce6504808 | ||
|
|
2f40d129bf | ||
|
|
4f1982800f | ||
|
|
2e4cb3b042 | ||
|
|
66857f4104 | ||
|
|
ca05aa24af | ||
|
|
f8e8c0643b | ||
|
|
53f0c96239 | ||
|
|
6b89dbb55f | ||
|
|
67435d9983 | ||
|
|
fafcf0dd59 | ||
|
|
ff930cad8a | ||
|
|
87ffb5c1a3 | ||
|
|
6daeef1933 | ||
|
|
059db5c29f | ||
|
|
44cc4cf72f | ||
|
|
67418d97b4 | ||
|
|
8bfe07b708 | ||
|
|
00ce63dc23 | ||
|
|
81b07b527e | ||
|
|
a20f83df1d | ||
|
|
9377df3ecd | ||
|
|
65e4c4f686 | ||
|
|
b2c8750c4e | ||
|
|
ac8069bb63 | ||
|
|
6199d43f4b | ||
|
|
2c33d7bb69 | ||
|
|
6047e2c722 | ||
|
|
1d68d9b2bd | ||
|
|
8065cf2bfb | ||
|
|
4a6fcf8047 | ||
|
|
9202162c5c | ||
|
|
9b69f22e66 | ||
|
|
18cfa940e2 | ||
|
|
0ab35b279f | ||
|
|
4635e11c6b | ||
|
|
75f69e5a18 | ||
|
|
631820536e | ||
|
|
73f4439ca6 | ||
|
|
54e5dbf58e | ||
|
|
d78f03f860 | ||
|
|
c902609f69 | ||
|
|
a0a6f2776e | ||
|
|
19a3d68b2c | ||
|
|
2a6a6c3014 | ||
|
|
712549e04e | ||
|
|
f33606112a | ||
|
|
5ece3e359c | ||
|
|
0aa398f55a | ||
|
|
3a497e1a41 | ||
|
|
c958b31638 | ||
|
|
f52c383156 | ||
|
|
65ed136844 | ||
|
|
c79977a437 | ||
|
|
660b85e39a | ||
|
|
a5e6621aad | ||
|
|
816968defc | ||
|
|
d371bbe0ab | ||
|
|
db51007108 | ||
|
|
24a98a0eb7 | ||
|
|
9cf39cc57f | ||
|
|
1ec96c9269 | ||
|
|
d1bc96ce24 | ||
|
|
1b38344e00 | ||
|
|
97fbc404fc | ||
|
|
2a02745709 | ||
|
|
09ca932f8e | ||
|
|
6edeaf387c | ||
|
|
a8fc0d3817 | ||
|
|
22ab547dc2 | ||
|
|
7c456a4511 | ||
|
|
452030e530 | ||
|
|
0c6a32963d | ||
|
|
0b05e491b4 | ||
|
|
e0de17d84e | ||
|
|
378daf87d3 | ||
|
|
96e7a6ee45 | ||
|
|
bb3e6416f1 | ||
|
|
a21a6a9ade | ||
|
|
eb163d73b1 | ||
|
|
e745d75c3e | ||
|
|
0263146b5d | ||
|
|
53f8174eae | ||
|
|
76301956f0 | ||
|
|
f3d769a585 | ||
|
|
8b21de33bb | ||
|
|
fc7649f8b8 | ||
|
|
b00fdf6eed | ||
|
|
9cb03716c9 | ||
|
|
2e6ab18729 | ||
|
|
a5a2be26fe | ||
|
|
37c64c78fd | ||
|
|
e22bbf6508 | ||
|
|
a8e93d63e3 | ||
|
|
71b2964066 | ||
|
|
d326ad6e93 | ||
|
|
f16c71b669 | ||
|
|
1b9645de3c | ||
|
|
dde403c2d8 | ||
|
|
49150a41f8 | ||
|
|
63c4e8a198 | ||
|
|
8adb0d03ca | ||
|
|
4033c55eca | ||
|
|
e738a1a033 | ||
|
|
1514e8f427 | ||
|
|
495b7dd213 | ||
|
|
4cf56bbc85 | ||
|
|
eef9adddab | ||
|
|
fc2b270cfd | ||
|
|
b5e79ef5a9 | ||
|
|
e8ff56b28e | ||
|
|
f5291f301e | ||
|
|
69fbc9e1da | ||
|
|
38baa3e634 | ||
|
|
69e8aa7511 | ||
|
|
1190cf68e2 | ||
|
|
ef6b8de42f | ||
|
|
478e3a78c3 | ||
|
|
c71053c611 | ||
|
|
71eeb74a60 | ||
|
|
072412ed45 | ||
|
|
518d699699 | ||
|
|
b984b80cd8 | ||
|
|
49a613f84a | ||
|
|
238d43b328 | ||
|
|
a038cb5eab | ||
|
|
c212798333 | ||
|
|
b4d5fbabc9 | ||
|
|
45d5f26d11 | ||
|
|
95c83c64be | ||
|
|
65f084749b | ||
|
|
c168bd4bd3 | ||
|
|
414168d97f | ||
|
|
e9f6fd27d0 | ||
|
|
8696bbaf52 | ||
|
|
e09ba7bae5 | ||
|
|
7be9b50fd7 | ||
|
|
5b5adf5b9c | ||
|
|
9d18961323 | ||
|
|
aba680a851 | ||
|
|
74121231be | ||
|
|
09d6c3818d | ||
|
|
b4ea1914b8 | ||
|
|
fe386641b0 | ||
|
|
3c518400d1 | ||
|
|
1a735d6c9b | ||
|
|
2dc9d26c14 | ||
|
|
ba2929b6af | ||
|
|
99433291b1 | ||
|
|
c6da01a5b8 | ||
|
|
75a60f74ce | ||
|
|
37b53270e1 | ||
|
|
618d6d277e | ||
|
|
e723c42836 | ||
|
|
2e49b6b20c | ||
|
|
c35e4cb4fe | ||
|
|
1b9f9d315f | ||
|
|
28550b74bb | ||
|
|
c3f81394ef | ||
|
|
6756c7037f | ||
|
|
3971905bac | ||
|
|
3d8d2c7ca5 | ||
|
|
8b53b79ea5 | ||
|
|
1bfdc07a49 | ||
|
|
6e32f615eb | ||
|
|
11aa62f8f9 | ||
|
|
178333783f | ||
|
|
9d954207e2 | ||
|
|
e88fc7a574 | ||
|
|
9d654a8d8c | ||
|
|
595a40226e | ||
|
|
d8d85bfb7d | ||
|
|
5e80de3f3e | ||
|
|
00ccf54630 | ||
|
|
ae96b8d058 | ||
|
|
6a8691d483 | ||
|
|
2254a8ad0c | ||
|
|
4ec86ddd77 | ||
|
|
9f45ccd1bf | ||
|
|
e2e69e4813 | ||
|
|
3653822546 | ||
|
|
b31cf2bb0b | ||
|
|
cf4b00c856 | ||
|
|
da22b8cc8b | ||
|
|
dada6d2a8e | ||
|
|
ef68e4fa52 | ||
|
|
3346cc4ffb | ||
|
|
995e4afcfe | ||
|
|
9ac9dfa9e2 | ||
|
|
2c809b7c7d | ||
|
|
9e8dcf9d6f | ||
|
|
da73253a0b | ||
|
|
3d593c2dc9 | ||
|
|
2db0ec4b2e | ||
|
|
5c6dbcb03f | ||
|
|
4e83961985 | ||
|
|
4bebc9a056 | ||
|
|
a539f4f1ae | ||
|
|
1a333bc44a | ||
|
|
dc5471d482 | ||
|
|
0f0f230012 | ||
|
|
d41babef89 | ||
|
|
4ad3b2b588 | ||
|
|
dde6034111 | ||
|
|
f3af54eeb1 | ||
|
|
97a80e440a | ||
|
|
b47a2597e6 | ||
|
|
e561a7e2fa | ||
|
|
48340b62e8 | ||
|
|
97f65fafdb | ||
|
|
3c37a8e660 | ||
|
|
4db2554954 | ||
|
|
1dccf6351d | ||
|
|
cbe6944956 | ||
|
|
c572da5f67 | ||
|
|
7adf06f4e2 | ||
|
|
4ab7968aa9 | ||
|
|
8d9f0ef5c6 | ||
|
|
e85928a324 | ||
|
|
02e177d3e8 | ||
|
|
0903d56f5c | ||
|
|
13ebb03e75 | ||
|
|
dde81312b0 | ||
|
|
a4f99f5a8b | ||
|
|
e922460394 | ||
|
|
833e0e3c8c | ||
|
|
753289f9bf | ||
|
|
be0b72977f | ||
|
|
f6d9f96b2d | ||
|
|
33d66bd9fa | ||
|
|
6c4d12c527 | ||
|
|
285f243e50 | ||
|
|
77f7474d08 | ||
|
|
829aa64cf5 | ||
|
|
d2c45a1964 | ||
|
|
ec0e07a324 | ||
|
|
6d0826dfbb | ||
|
|
5830232c02 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -38,6 +38,7 @@ src/pathdef.c
|
|||||||
src/Obj*/pathdef.c
|
src/Obj*/pathdef.c
|
||||||
gvimext.dll
|
gvimext.dll
|
||||||
gvimext.lib
|
gvimext.lib
|
||||||
|
gvim.lib
|
||||||
runtime/doc/uganda.nsis.txt
|
runtime/doc/uganda.nsis.txt
|
||||||
|
|
||||||
# Borland C++
|
# Borland C++
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ addons:
|
|||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- autoconf
|
- autoconf
|
||||||
|
- clang
|
||||||
- lcov
|
- lcov
|
||||||
- libperl-dev
|
- libperl-dev
|
||||||
- python-dev
|
- python-dev
|
||||||
@@ -87,7 +88,7 @@ before_install:
|
|||||||
# building cffi only works with gcc, not with clang
|
# building cffi only works with gcc, not with clang
|
||||||
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
||||||
# Lua is not installed on Travis OSX
|
# Lua is not installed on Travis OSX
|
||||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export HOMEBREW_NO_AUTO_UPDATE=1; brew update; brew install lua; export LUA_PREFIX=/usr/local; fi
|
||||||
# Use llvm-cov instead of gcov when compiler is clang.
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
||||||
|
|
||||||
@@ -102,9 +103,8 @@ script:
|
|||||||
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
||||||
# Show Vim version and also if_xx versions.
|
# Show Vim version and also if_xx versions.
|
||||||
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then export PATH=/usr/lib/llvm-$(clang -v 2>&1 | sed -n 's/.*version \([1-9]\.[0-9][0-9]*\).*/\1/p')/bin:$PATH; fi
|
|
||||||
- make $SHADOWOPT $TEST
|
- make $SHADOWOPT $TEST
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
|
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do asan_symbolize < "$log"; err=1; done; fi
|
||||||
- if [ -n "$err" ]; then exit 1; fi
|
- if [ -n "$err" ]; then exit 1; fi
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
|
|||||||
13
Filelist
13
Filelist
@@ -12,6 +12,8 @@ SRC_ALL = \
|
|||||||
src/arabic.c \
|
src/arabic.c \
|
||||||
src/arabic.h \
|
src/arabic.h \
|
||||||
src/ascii.h \
|
src/ascii.h \
|
||||||
|
src/beval.c \
|
||||||
|
src/beval.h \
|
||||||
src/blowfish.c \
|
src/blowfish.c \
|
||||||
src/buffer.c \
|
src/buffer.c \
|
||||||
src/channel.c \
|
src/channel.c \
|
||||||
@@ -41,7 +43,6 @@ SRC_ALL = \
|
|||||||
src/gui.c \
|
src/gui.c \
|
||||||
src/gui.h \
|
src/gui.h \
|
||||||
src/gui_beval.c \
|
src/gui_beval.c \
|
||||||
src/gui_beval.h \
|
|
||||||
src/hardcopy.c \
|
src/hardcopy.c \
|
||||||
src/hashtab.c \
|
src/hashtab.c \
|
||||||
src/json.c \
|
src/json.c \
|
||||||
@@ -118,7 +119,6 @@ SRC_ALL = \
|
|||||||
src/testdir/test[0-9]*a.ok \
|
src/testdir/test[0-9]*a.ok \
|
||||||
src/testdir/test_[a-z]*.ok \
|
src/testdir/test_[a-z]*.ok \
|
||||||
src/testdir/test49.vim \
|
src/testdir/test49.vim \
|
||||||
src/testdir/test60.vim \
|
|
||||||
src/testdir/test83-tags? \
|
src/testdir/test83-tags? \
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
@@ -135,9 +135,12 @@ SRC_ALL = \
|
|||||||
src/testdir/bench*.in \
|
src/testdir/bench*.in \
|
||||||
src/testdir/bench*.vim \
|
src/testdir/bench*.vim \
|
||||||
src/testdir/samples/*.txt \
|
src/testdir/samples/*.txt \
|
||||||
|
src/testdir/samples/test000 \
|
||||||
src/testdir/if_ver*.vim \
|
src/testdir/if_ver*.vim \
|
||||||
|
src/testdir/color_ramp.vim \
|
||||||
src/proto.h \
|
src/proto.h \
|
||||||
src/proto/arabic.pro \
|
src/proto/arabic.pro \
|
||||||
|
src/proto/beval.pro \
|
||||||
src/proto/blowfish.pro \
|
src/proto/blowfish.pro \
|
||||||
src/proto/buffer.pro \
|
src/proto/buffer.pro \
|
||||||
src/proto/channel.pro \
|
src/proto/channel.pro \
|
||||||
@@ -405,6 +408,7 @@ SRC_DOS = \
|
|||||||
src/msvcsetup.bat \
|
src/msvcsetup.bat \
|
||||||
src/msvc2008.bat \
|
src/msvc2008.bat \
|
||||||
src/msvc2010.bat \
|
src/msvc2010.bat \
|
||||||
|
src/msvc2015.bat \
|
||||||
src/dimm.idl \
|
src/dimm.idl \
|
||||||
src/dlldata.c \
|
src/dlldata.c \
|
||||||
src/dosinst.c \
|
src/dosinst.c \
|
||||||
@@ -449,6 +453,7 @@ SRC_DOS = \
|
|||||||
src/xxd/Make_mvc.mak \
|
src/xxd/Make_mvc.mak \
|
||||||
nsis/gvim.nsi \
|
nsis/gvim.nsi \
|
||||||
nsis/gvim_version.nsh \
|
nsis/gvim_version.nsh \
|
||||||
|
nsis/vimrc.ini \
|
||||||
nsis/README.txt \
|
nsis/README.txt \
|
||||||
uninstal.txt \
|
uninstal.txt \
|
||||||
src/VisVim/Commands.cpp \
|
src/VisVim/Commands.cpp \
|
||||||
@@ -579,6 +584,7 @@ RT_ALL = \
|
|||||||
runtime/doc/*.txt \
|
runtime/doc/*.txt \
|
||||||
runtime/doc/Makefile \
|
runtime/doc/Makefile \
|
||||||
runtime/doc/doctags.c \
|
runtime/doc/doctags.c \
|
||||||
|
runtime/doc/test_urls.vim \
|
||||||
runtime/doc/vim.1 \
|
runtime/doc/vim.1 \
|
||||||
runtime/doc/evim.1 \
|
runtime/doc/evim.1 \
|
||||||
runtime/doc/vimdiff.1 \
|
runtime/doc/vimdiff.1 \
|
||||||
@@ -638,6 +644,7 @@ RT_ALL = \
|
|||||||
runtime/pack/dist/opt/matchit/doc/tags \
|
runtime/pack/dist/opt/matchit/doc/tags \
|
||||||
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
|
||||||
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
|
||||||
|
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim \
|
||||||
|
|
||||||
# runtime files for all distributions without CR-NL translation
|
# runtime files for all distributions without CR-NL translation
|
||||||
RT_ALL_BIN = \
|
RT_ALL_BIN = \
|
||||||
@@ -655,9 +662,11 @@ RT_SCRIPTS = \
|
|||||||
runtime/makemenu.vim \
|
runtime/makemenu.vim \
|
||||||
runtime/autoload/*.vim \
|
runtime/autoload/*.vim \
|
||||||
runtime/autoload/README.txt \
|
runtime/autoload/README.txt \
|
||||||
|
runtime/autoload/dist/*.vim \
|
||||||
runtime/autoload/xml/*.vim \
|
runtime/autoload/xml/*.vim \
|
||||||
runtime/colors/*.vim \
|
runtime/colors/*.vim \
|
||||||
runtime/colors/README.txt \
|
runtime/colors/README.txt \
|
||||||
|
runtime/colors/tools/*.vim \
|
||||||
runtime/compiler/*.vim \
|
runtime/compiler/*.vim \
|
||||||
runtime/compiler/README.txt \
|
runtime/compiler/README.txt \
|
||||||
runtime/indent/*.vim \
|
runtime/indent/*.vim \
|
||||||
|
|||||||
53
Makefile
53
Makefile
@@ -120,28 +120,28 @@ MINOR = 0
|
|||||||
#
|
#
|
||||||
# MS-Windows:
|
# MS-Windows:
|
||||||
# - Run make on Unix to update the ".mo" files.
|
# - Run make on Unix to update the ".mo" files.
|
||||||
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
||||||
# https://mlocati.github.io/gettext-iconv-windows/ .
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
# Use the "shared-32.zip file and extract the archive to get the files.
|
# Use the "shared-32.zip file and extract the archive to get the files.
|
||||||
# Put them in the top directory, "make dosrt" uses them.
|
# Put them in the gettext32 directory, "make dosrt" uses them.
|
||||||
|
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
|
||||||
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
|
# Use the "shared-64.zip file and extract the archive to get the files.
|
||||||
|
# Put them in the gettext64 directory, "make dosrt" uses them.
|
||||||
# - > make dossrc
|
# - > make dossrc
|
||||||
# > make dosrt
|
# > make dosrt
|
||||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||||
|
# This creates the directory vim/vim80 and puts all files in there.
|
||||||
# Win32 console version build:
|
# Win32 console version build:
|
||||||
# - Set environment for Visual C++ 2008, e.g.:
|
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||||
# > src/msvc2008.bat
|
# - Set environment for Visual C++ 2015:
|
||||||
# Or:
|
# > cd src
|
||||||
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
|
# > msvc2015.bat
|
||||||
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
|
# - Build the console binary:
|
||||||
# paths when necessary).
|
|
||||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
|
||||||
# won't work on Windows 7 and 64 bit systems.
|
|
||||||
# - > cd src
|
|
||||||
# > nmake -f Make_mvc.mak
|
# > nmake -f Make_mvc.mak
|
||||||
# - Run the tests:
|
# - Run the tests and check the ouput:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak test
|
# > nmake -f Make_mvc.mak test
|
||||||
# - check the output.
|
|
||||||
# - Rename (using ../tools/rename.bat):
|
# - Rename (using ../tools/rename.bat):
|
||||||
# vim.exe to vimw32.exe
|
# vim.exe to vimw32.exe
|
||||||
# tee/tee.exe to teew32.exe
|
# tee/tee.exe to teew32.exe
|
||||||
@@ -152,19 +152,18 @@ MINOR = 0
|
|||||||
# Win32 GUI version build:
|
# Win32 GUI version build:
|
||||||
# - > cd src
|
# - > cd src
|
||||||
# > nmake -f Make_mvc.mak GUI=yes
|
# > nmake -f Make_mvc.mak GUI=yes
|
||||||
# - Run the tests:
|
# - Run the tests and check the output:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak testgvim
|
# > nmake -f Make_mvc.mak testgvim
|
||||||
# - check the output.
|
|
||||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||||
# - Move gvim.pdb to here.
|
# - Move gvim.pdb to here.
|
||||||
# - Copy "GvimExt/gvimext.dll" to here.
|
# - Copy "GvimExt/gvimext.dll" to here.
|
||||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||||
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
||||||
# - Install the interfaces you want, see src/INSTALLpc.txt
|
# - Install the interfaces you want, see src/INSTALLpc.txt
|
||||||
|
# Adjust bigvim.bat to match the version of each interface you want.
|
||||||
# - Build:
|
# - Build:
|
||||||
# > cd src
|
# > cd src
|
||||||
# Adjust bigvim.bat to match the version of each interface you want.
|
|
||||||
# > bigvim.bat
|
# > bigvim.bat
|
||||||
# - Run the tests:
|
# - Run the tests:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
@@ -188,10 +187,11 @@ MINOR = 0
|
|||||||
# gvimext64.dll in src/GvimExt
|
# gvimext64.dll in src/GvimExt
|
||||||
# VisVim.dll in src/VisVim
|
# VisVim.dll in src/VisVim
|
||||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||||
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
# gvimext64.dll can be obtained from:
|
||||||
# It is part of vim72.zip as vim72/gvimext.dll.
|
# https://github.com/vim/vim-win32-installer/releases
|
||||||
|
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
||||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||||
# version).
|
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||||
# - go to ../nsis and do:
|
# - go to ../nsis and do:
|
||||||
# > makensis gvim.nsi (takes a few minutes).
|
# > makensis gvim.nsi (takes a few minutes).
|
||||||
# ignore warning for libwinpthread-1.dll
|
# ignore warning for libwinpthread-1.dll
|
||||||
@@ -467,9 +467,13 @@ dosrt_files: dist prepare no_title.vim
|
|||||||
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
|
mkdir dist/vim/$(VIMRTDIR)/gettext32
|
||||||
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/gettext64
|
||||||
|
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
|
||||||
|
|
||||||
# Used before uploading. Don't delete the AAPDIR/sign files!
|
# Used before uploading. Don't delete the AAPDIR/sign files!
|
||||||
@@ -496,7 +500,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
|||||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
|
||||||
|
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
|
||||||
|
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
|
||||||
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
||||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
`README.md` for version 8.0 of Vim: Vi IMproved.
|
`README.md` for version 8.0 of Vim: Vi IMproved.
|
||||||
|
|
||||||
[](https://travis-ci.org/vim/vim)
|
[](https://travis-ci.org/vim/vim)
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||||
[](https://scan.coverity.com/projects/vim)
|
[](https://scan.coverity.com/projects/vim)
|
||||||
|
[](https://buildd.debian.org/vim)
|
||||||
|
|
||||||
|
|
||||||
## What is Vim? ##
|
## What is Vim? ##
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ matrix:
|
|||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||||
|
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- src/appveyor.bat
|
- src/appveyor.bat
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||||
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
|
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||||
|
|
||||||
To build the installable .exe:
|
To build the installable .exe:
|
||||||
|
|
||||||
@@ -17,8 +17,14 @@ To build the installable .exe:
|
|||||||
uninstal.exe,
|
uninstal.exe,
|
||||||
xxd/xxd.exe,
|
xxd/xxd.exe,
|
||||||
|
|
||||||
|
Then execute tools/rename.bat to rename the executables. (mv command is
|
||||||
|
required.)
|
||||||
|
|
||||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||||
archive).
|
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||||
|
as follows:
|
||||||
|
64-bit: src/GvimExt/gvimext64.dll
|
||||||
|
32-bit: src/GvimExt/gvimext.dll
|
||||||
|
|
||||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||||
archive).
|
archive).
|
||||||
@@ -27,13 +33,35 @@ To build the installable .exe:
|
|||||||
get them from a binary archive).
|
get them from a binary archive).
|
||||||
|
|
||||||
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
||||||
"vim61" directory, it's the same for all Vim versions).
|
"vim80" directory, it's the same for all Vim versions).
|
||||||
You can find one in previous Vim versions or in this archive:
|
You can find one in previous Vim versions or in this archive:
|
||||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||||
|
Also put winpty32.dll and winpty-agent.exe there.
|
||||||
|
|
||||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||||
to do this on Unix. Make sure the file is in DOS file format!
|
to do this on Unix. Make sure the file is in DOS file format!
|
||||||
|
|
||||||
|
8. Get gettext and iconv DLLs from the following site:
|
||||||
|
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||||
|
Both 64- and 32-bit versions are needed.
|
||||||
|
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||||
|
DLLs and place them as follows:
|
||||||
|
|
||||||
|
<GETTEXT directory>
|
||||||
|
|
|
||||||
|
+ gettext32/
|
||||||
|
| libintl-8.dll
|
||||||
|
| libiconv-2.dll
|
||||||
|
| libgcc_s_sjlj-1.dll
|
||||||
|
|
|
||||||
|
` gettext64/
|
||||||
|
libintl-8.dll
|
||||||
|
libiconv-2.dll
|
||||||
|
|
||||||
|
The default <GETTEXT directory> is "..", however, you can change it by
|
||||||
|
passing /DGETTEXT=... option to the makensis command.
|
||||||
|
|
||||||
|
|
||||||
Install NSIS if you didn't do that already.
|
Install NSIS if you didn't do that already.
|
||||||
Also install UPX, if you want a compressed file.
|
Also install UPX, if you want a compressed file.
|
||||||
|
|
||||||
|
|||||||
146
nsis/gvim.nsi
146
nsis/gvim.nsi
@@ -20,8 +20,15 @@
|
|||||||
!define VIMTOOLS ..\..
|
!define VIMTOOLS ..\..
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
# Location of gettext.
|
||||||
|
# It must contain two directories: gettext32 and gettext64.
|
||||||
|
# See README.txt for detail.
|
||||||
|
!ifndef GETTEXT
|
||||||
|
!define GETTEXT ${VIMRT}
|
||||||
|
!endif
|
||||||
|
|
||||||
# Comment the next line if you don't have UPX.
|
# Comment the next line if you don't have UPX.
|
||||||
# Get it at http://upx.sourceforge.net
|
# Get it at https://upx.github.io/
|
||||||
!define HAVE_UPX
|
!define HAVE_UPX
|
||||||
|
|
||||||
# comment the next line if you do not want to add Native Language Support
|
# comment the next line if you do not want to add Native Language Support
|
||||||
@@ -76,6 +83,7 @@ SilentInstall normal
|
|||||||
# These are the pages we use
|
# These are the pages we use
|
||||||
Page license
|
Page license
|
||||||
Page components
|
Page components
|
||||||
|
Page custom SetCustom ValidateCustom ": _vimrc setting"
|
||||||
Page directory "" "" CheckInstallDir
|
Page directory "" "" CheckInstallDir
|
||||||
Page instfiles
|
Page instfiles
|
||||||
UninstPage uninstConfirm
|
UninstPage uninstConfirm
|
||||||
@@ -128,6 +136,10 @@ Function .onInit
|
|||||||
StrCpy $1 "-register-OLE"
|
StrCpy $1 "-register-OLE"
|
||||||
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
||||||
|
|
||||||
|
# Extract InstallOptions files
|
||||||
|
# $PLUGINSDIR will automatically be removed when the installer closes
|
||||||
|
InitPluginsDir
|
||||||
|
File /oname=$PLUGINSDIR\vimrc.ini "vimrc.ini"
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function .onUserAbort
|
Function .onUserAbort
|
||||||
@@ -179,7 +191,7 @@ FunctionEnd
|
|||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "Vim executables and runtime files"
|
Section "Vim executables and runtime files"
|
||||||
SectionIn 1 2 3
|
SectionIn 1 2 3 RO
|
||||||
|
|
||||||
# we need also this here if the user changes the instdir
|
# we need also this here if the user changes the instdir
|
||||||
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
StrCpy $0 "$INSTDIR\vim${VER_MAJOR}${VER_MINOR}"
|
||||||
@@ -219,6 +231,14 @@ Section "Vim executables and runtime files"
|
|||||||
|
|
||||||
SetOutPath $0\macros
|
SetOutPath $0\macros
|
||||||
File ${VIMRT}\macros\*.*
|
File ${VIMRT}\macros\*.*
|
||||||
|
SetOutPath $0\macros\hanoi
|
||||||
|
File ${VIMRT}\macros\hanoi\*.*
|
||||||
|
SetOutPath $0\macros\life
|
||||||
|
File ${VIMRT}\macros\life\*.*
|
||||||
|
SetOutPath $0\macros\maze
|
||||||
|
File ${VIMRT}\macros\maze\*.*
|
||||||
|
SetOutPath $0\macros\urm
|
||||||
|
File ${VIMRT}\macros\urm\*.*
|
||||||
|
|
||||||
SetOutPath $0\pack\dist\opt\dvorak\dvorak
|
SetOutPath $0\pack\dist\opt\dvorak\dvorak
|
||||||
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
|
||||||
@@ -248,6 +268,9 @@ Section "Vim executables and runtime files"
|
|||||||
SetOutPath $0\autoload
|
SetOutPath $0\autoload
|
||||||
File ${VIMRT}\autoload\*.*
|
File ${VIMRT}\autoload\*.*
|
||||||
|
|
||||||
|
SetOutPath $0\autoload\dist
|
||||||
|
File ${VIMRT}\autoload\dist\*.*
|
||||||
|
|
||||||
SetOutPath $0\autoload\xml
|
SetOutPath $0\autoload\xml
|
||||||
File ${VIMRT}\autoload\xml\*.*
|
File ${VIMRT}\autoload\xml\*.*
|
||||||
|
|
||||||
@@ -320,24 +343,67 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
|
|
||||||
${If} ${RunningX64}
|
${If} ${RunningX64}
|
||||||
|
# Install 64-bit gvimext.dll into the GvimExt64 directory.
|
||||||
|
SetOutPath $0\GvimExt64
|
||||||
|
ClearErrors
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
${Else}
|
!ifdef HAVE_NLS
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
File ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt64Done
|
||||||
|
|
||||||
|
# Can't copy gvimext.dll, create it under another name and rename it
|
||||||
|
# on next reboot.
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
IfErrors 0 GvimExtDone
|
|
||||||
|
GvimExt64Done:
|
||||||
|
|
||||||
|
# Install 32-bit gvimext.dll into the GvimExt32 directory.
|
||||||
|
SetOutPath $0\GvimExt32
|
||||||
|
ClearErrors
|
||||||
|
|
||||||
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt32Done
|
||||||
|
|
||||||
# Can't copy gvimext.dll, create it under another name and rename it on
|
# Can't copy gvimext.dll, create it under another name and rename it on
|
||||||
# next reboot.
|
# next reboot.
|
||||||
GetTempFileName $3 $0
|
GetTempFileName $3 $0\GvimExt32
|
||||||
${If} ${RunningX64}
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
|
||||||
${Else}
|
!ifdef HAVE_NLS
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
GetTempFileName $3 $0\GvimExt32
|
||||||
${EndIf}
|
File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
Rename /REBOOTOK $3 $0\gvimext.dll
|
Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
GvimExtDone:
|
GvimExt32Done:
|
||||||
SetOverwrite lastused
|
SetOverwrite lastused
|
||||||
|
|
||||||
# We don't have a separate entry for the "Open With..." menu, assume
|
# We don't have a separate entry for the "Open With..." menu, assume
|
||||||
@@ -346,7 +412,7 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "Create a _vimrc if it doesn't exist"
|
Section "Create a _vimrc if it doesn't exist" sec_vimrc_id
|
||||||
SectionIn 1 3
|
SectionIn 1 3
|
||||||
|
|
||||||
StrCpy $1 "$1 -create-vimrc"
|
StrCpy $1 "$1 -create-vimrc"
|
||||||
@@ -386,10 +452,10 @@ SectionEnd
|
|||||||
File ${VIMRT}\keymap\README.txt
|
File ${VIMRT}\keymap\README.txt
|
||||||
File ${VIMRT}\keymap\*.vim
|
File ${VIMRT}\keymap\*.vim
|
||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
File ${VIMRT}\libintl-8.dll
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
File ${VIMRT}\libiconv-2.dll
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
#File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
||||||
File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
|
File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
@@ -404,6 +470,45 @@ Section -post
|
|||||||
BringToFront
|
BringToFront
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
Function SetCustom
|
||||||
|
# Display the InstallOptions dialog
|
||||||
|
|
||||||
|
# Check if a _vimrc should be created
|
||||||
|
SectionGetFlags ${sec_vimrc_id} $0
|
||||||
|
IntOp $0 $0 & 1
|
||||||
|
StrCmp $0 "1" +2 0
|
||||||
|
Abort
|
||||||
|
|
||||||
|
Push $3
|
||||||
|
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||||
|
Pop $3
|
||||||
|
Pop $3
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function ValidateCustom
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 2" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-remap no"
|
||||||
|
Goto behave
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-remap win"
|
||||||
|
|
||||||
|
behave:
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 5" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave unix"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 6" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave mswin"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-behave default"
|
||||||
|
done:
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section Uninstall
|
Section Uninstall
|
||||||
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
||||||
@@ -429,6 +534,11 @@ Section Uninstall
|
|||||||
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
||||||
|
|
||||||
Delete /REBOOTOK $0\*.dll
|
Delete /REBOOTOK $0\*.dll
|
||||||
|
Delete /REBOOTOK $0\GvimExt32\*.dll
|
||||||
|
${If} ${RunningX64}
|
||||||
|
Delete /REBOOTOK $0\GvimExt64\*.dll
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
# Remove everything but *.dll files. Avoids that
|
# Remove everything but *.dll files. Avoids that
|
||||||
# a lot remains when gvimext.dll cannot be deleted.
|
# a lot remains when gvimext.dll cannot be deleted.
|
||||||
|
|||||||
68
nsis/vimrc.ini
Normal file
68
nsis/vimrc.ini
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
[Settings]
|
||||||
|
NumFields=7
|
||||||
|
|
||||||
|
[Field 1]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=0
|
||||||
|
Bottom=53
|
||||||
|
Text=" Key remapping "
|
||||||
|
|
||||||
|
[Field 2]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Do not remap keys for Windows behavior (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=17
|
||||||
|
Bottom=25
|
||||||
|
State=1
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 3]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Remap a few keys for Windows behavior (<C-V>, <C-C>, <C-A>, <C-S>, <C-F>, etc)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=30
|
||||||
|
Bottom=47
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 4]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=55
|
||||||
|
Bottom=-5
|
||||||
|
Text=" Mouse behavior "
|
||||||
|
|
||||||
|
[Field 5]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button extends selection, left button starts visual mode (Unix)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=72
|
||||||
|
Bottom=80
|
||||||
|
State=0
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 6]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts select mode (Windows)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=85
|
||||||
|
Bottom=93
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 7]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts visual mode (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=98
|
||||||
|
Bottom=106
|
||||||
|
State=1
|
||||||
|
Flags=NOTABSTOP
|
||||||
@@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command)
|
|||||||
\" :" . a:Command
|
\" :" . a:Command
|
||||||
execute
|
execute
|
||||||
\ "inoremap <buffer>" .
|
\ "inoremap <buffer>" .
|
||||||
\ " <Learder>a" . a:Keys .
|
\ " <Leader>a" . a:Keys .
|
||||||
\" <C-O>:" . a:Command
|
\" <C-O>:" . a:Command
|
||||||
endif
|
endif
|
||||||
return
|
return
|
||||||
|
|||||||
745
runtime/autoload/dist/ft.vim
vendored
Normal file
745
runtime/autoload/dist/ft.vim
vendored
Normal file
@@ -0,0 +1,745 @@
|
|||||||
|
" Vim functions for file type detection
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
|
" faster.
|
||||||
|
|
||||||
|
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
func dist#ft#Check_inp()
|
||||||
|
if getline(1) =~ '^\*'
|
||||||
|
setf abaqus
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
if line("$") > 500
|
||||||
|
let nmax = 500
|
||||||
|
else
|
||||||
|
let nmax = line("$")
|
||||||
|
endif
|
||||||
|
while n <= nmax
|
||||||
|
if getline(n) =~? "^header surface data"
|
||||||
|
setf trasys
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks for the kind of assembly that is wanted by the user, or
|
||||||
|
" can be detected from the first five lines of the file.
|
||||||
|
func dist#ft#FTasm()
|
||||||
|
" make sure b:asmsyntax exists
|
||||||
|
if !exists("b:asmsyntax")
|
||||||
|
let b:asmsyntax = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
if exists("g:asmsyntax")
|
||||||
|
let b:asmsyntax = g:asmsyntax
|
||||||
|
else
|
||||||
|
let b:asmsyntax = "asm"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTasmsyntax()
|
||||||
|
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||||
|
" b:asmsyntax appropriately
|
||||||
|
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||||
|
\" ".getline(5)." "
|
||||||
|
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||||
|
if match != ''
|
||||||
|
let b:asmsyntax = match
|
||||||
|
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||||
|
let b:asmsyntax = "vmasm"
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||||
|
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||||
|
func dist#ft#FTVB(alt)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||||
|
setf vb
|
||||||
|
else
|
||||||
|
exe "setf " . a:alt
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTbtm()
|
||||||
|
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||||
|
setf dosbatch
|
||||||
|
else
|
||||||
|
setf btm
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#BindzoneCheck(default)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
|
setf bindzone
|
||||||
|
elseif a:default != ''
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTlpc()
|
||||||
|
if exists("g:lpc_syntax_for_c")
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 12
|
||||||
|
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
|
||||||
|
setf lpc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
setf c
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTheader()
|
||||||
|
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||||
|
if exists("g:c_syntax_for_h")
|
||||||
|
setf objc
|
||||||
|
else
|
||||||
|
setf objcpp
|
||||||
|
endif
|
||||||
|
elseif exists("g:c_syntax_for_h")
|
||||||
|
setf c
|
||||||
|
elseif exists("g:ch_syntax_for_h")
|
||||||
|
setf ch
|
||||||
|
else
|
||||||
|
setf cpp
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first ten lines start with a '@'. In
|
||||||
|
" that case it is probably a change file.
|
||||||
|
" If the first line starts with # or ! it's probably a ch file.
|
||||||
|
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||||
|
" Otherwise CHILL is assumed.
|
||||||
|
func dist#ft#FTchange()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10
|
||||||
|
if getline(lnum)[0] == '@'
|
||||||
|
setf change
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ "MODULE"
|
||||||
|
setf chill
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
setf chill
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTent()
|
||||||
|
" This function checks for valid cl syntax in the first five lines.
|
||||||
|
" Look for either an opening comment, '#', or a block start, '{".
|
||||||
|
" If not found, assume SGML.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum < 6
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*[#{]'
|
||||||
|
setf cl
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$'
|
||||||
|
" Not a blank line, not a comment, and not a block start,
|
||||||
|
" so doesn't look like valid cl code.
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf dtd
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#EuphoriaCheck()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
setf euphoria3
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#DtraceCheck()
|
||||||
|
let lines = getline(1, min([line("$"), 100]))
|
||||||
|
if match(lines, '^module\>\|^import\>') > -1
|
||||||
|
" D files often start with a module and/or import statement.
|
||||||
|
setf d
|
||||||
|
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
|
||||||
|
setf dtrace
|
||||||
|
else
|
||||||
|
setf d
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTe()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||||
|
setf specman
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf eiffel
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between HTML, XHTML and Django
|
||||||
|
func dist#ft#FThtml()
|
||||||
|
let n = 1
|
||||||
|
while n < 10 && n < line("$")
|
||||||
|
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||||
|
setf xhtml
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||||
|
setf htmldjango
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf html
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between standard IDL and MS-IDL
|
||||||
|
func dist#ft#FTidl()
|
||||||
|
let n = 1
|
||||||
|
while n < 50 && n < line("$")
|
||||||
|
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||||
|
setf msidl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf idl
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between "default" and Cproto prototype file. */
|
||||||
|
func dist#ft#ProtoCheck(default)
|
||||||
|
" Cproto files have a comment in the first line and a function prototype in
|
||||||
|
" the second line, it always ends in ";". Indent files may also have
|
||||||
|
" comments, thus we can't match comments to see the difference.
|
||||||
|
" IDL files can have a single ';' in the second line, require at least one
|
||||||
|
" chacter before the ';'.
|
||||||
|
if getline(2) =~ '.;$'
|
||||||
|
setf cpp
|
||||||
|
else
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTm()
|
||||||
|
let n = 1
|
||||||
|
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||||
|
while n < 100
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*/\*'
|
||||||
|
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||||
|
" it's either of them yet, but track this as a hint in case we don't see
|
||||||
|
" anything more definitive.
|
||||||
|
let saw_comment = 1
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||||
|
setf objc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf matlab
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*(\*'
|
||||||
|
setf mma
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||||
|
setf murphi
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if saw_comment
|
||||||
|
" We didn't see anything definitive, but this looks like either Objective C
|
||||||
|
" or Murphi based on the comment leader. Assume the former as it is more
|
||||||
|
" common.
|
||||||
|
setf objc
|
||||||
|
elseif exists("g:filetype_m")
|
||||||
|
" Use user specified default filetype for .m
|
||||||
|
exe "setf " . g:filetype_m
|
||||||
|
else
|
||||||
|
" Default is matlab
|
||||||
|
setf matlab
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmms()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||||
|
setf mmix
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*#'
|
||||||
|
setf make
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf mmix
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first five lines start with a dot. In
|
||||||
|
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||||
|
func dist#ft#FTnroff()
|
||||||
|
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||||
|
setf nroff
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmm()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||||
|
setf objcpp
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf nroff
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTpl()
|
||||||
|
if exists("g:filetype_pl")
|
||||||
|
exe "setf " . g:filetype_pl
|
||||||
|
else
|
||||||
|
" recognize Prolog by specific text in the first non-empty line
|
||||||
|
" require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||||
|
let l = getline(nextnonblank(1))
|
||||||
|
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||||
|
setf prolog
|
||||||
|
else
|
||||||
|
setf perl
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTinc()
|
||||||
|
if exists("g:filetype_inc")
|
||||||
|
exe "setf " . g:filetype_inc
|
||||||
|
else
|
||||||
|
let lines = getline(1).getline(2).getline(3)
|
||||||
|
if lines =~? "perlscript"
|
||||||
|
setf aspperl
|
||||||
|
elseif lines =~ "<%"
|
||||||
|
setf aspvbs
|
||||||
|
elseif lines =~ "<?"
|
||||||
|
setf php
|
||||||
|
else
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
if exists("b:asmsyntax")
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
else
|
||||||
|
setf pov
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_cweb()
|
||||||
|
if exists("g:filetype_w")
|
||||||
|
exe "setf " . g:filetype_w
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
|
||||||
|
setf progress
|
||||||
|
else
|
||||||
|
setf cweb
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_asm()
|
||||||
|
if exists("g:filetype_i")
|
||||||
|
exe "setf " . g:filetype_i
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for an assembly comment the first ten lines.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*;' || line =~ '^\*'
|
||||||
|
call dist#ft#FTasm()
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid assembly code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_pascal()
|
||||||
|
if exists("g:filetype_p")
|
||||||
|
exe "setf " . g:filetype_p
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for valid Pascal syntax in the first ten lines.
|
||||||
|
" Look for either an opening comment or a program start.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||||
|
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||||
|
setf pascal
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid Pascal code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTr()
|
||||||
|
let max = line("$") > 50 ? 50 : line("$")
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" Rebol is easy to recognize, check for that first
|
||||||
|
if getline(n) =~? '\<REBOL\>'
|
||||||
|
setf rebol
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" R has # comments
|
||||||
|
if getline(n) =~ '^\s*#'
|
||||||
|
setf r
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" Rexx has /* comments */
|
||||||
|
if getline(n) =~ '^\s*/\*'
|
||||||
|
setf rexx
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" Nothing recognized, use user default or assume Rexx
|
||||||
|
if exists("g:filetype_r")
|
||||||
|
exe "setf " . g:filetype_r
|
||||||
|
else
|
||||||
|
" Rexx used to be the default, but R appears to be much more popular.
|
||||||
|
setf r
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#McSetf()
|
||||||
|
" Rely on the file to start with a comment.
|
||||||
|
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||||
|
for lnum in range(1, min([line("$"), 20]))
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(#\|dnl\)'
|
||||||
|
setf m4 " Sendmail .mc file
|
||||||
|
return
|
||||||
|
elseif line =~ '^\s*;'
|
||||||
|
setf msmessages " MS Message text file
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf m4 " Default: Sendmail .mc file
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Called from filetype.vim and scripts.vim.
|
||||||
|
func dist#ft#SetFileTypeSH(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if a:name =~ '\<csh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/csh.
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<tcsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/tcsh.
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<zsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/zsh.
|
||||||
|
call dist#ft#SetFileTypeShell("zsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<ksh\>'
|
||||||
|
let b:is_kornshell = 1
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
|
||||||
|
let b:is_bash = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif a:name =~ '\<sh\>'
|
||||||
|
let b:is_sh = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
call dist#ft#SetFileTypeShell("sh")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||||
|
" as used for Tcl.
|
||||||
|
" Also called from scripts.vim, thus can't be local to this script.
|
||||||
|
func dist#ft#SetFileTypeShell(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let l = 2
|
||||||
|
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||||
|
" Skip empty and comment lines.
|
||||||
|
let l = l + 1
|
||||||
|
endwhile
|
||||||
|
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||||
|
" Found an "exec" line after a comment with continuation
|
||||||
|
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||||
|
if n =~ '\<tclsh\|\<wish'
|
||||||
|
setf tcl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exe "setf " . a:name
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#CSH()
|
||||||
|
if exists("g:filetype_csh")
|
||||||
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
|
elseif &shell =~ "tcsh"
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
else
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||||
|
func dist#ft#FTRules()
|
||||||
|
let path = expand('<amatch>:p')
|
||||||
|
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||||
|
setf udevrules
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/etc/ufw/'
|
||||||
|
setf conf " Better than hog
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
|
||||||
|
setf javascript
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
try
|
||||||
|
let config_lines = readfile('/etc/udev/udev.conf')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E484/
|
||||||
|
setf hog
|
||||||
|
return
|
||||||
|
endtry
|
||||||
|
let dir = expand('<amatch>:p:h')
|
||||||
|
for line in config_lines
|
||||||
|
if line =~ s:ft_rules_udev_rules_pattern
|
||||||
|
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
|
||||||
|
if dir == udev_rules
|
||||||
|
setf udevrules
|
||||||
|
endif
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf hog
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#SQL()
|
||||||
|
if exists("g:filetype_sql")
|
||||||
|
exe "setf " . g:filetype_sql
|
||||||
|
else
|
||||||
|
setf sql
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||||
|
" it is almost certainly a Perl test file.
|
||||||
|
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||||
|
" file.
|
||||||
|
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||||
|
" a Perl file.
|
||||||
|
func dist#ft#FTperl()
|
||||||
|
let dirname = expand("%:p:h:t")
|
||||||
|
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if getline(1)[0] == '#' && getline(1) =~ 'perl'
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
call cursor(1,1)
|
||||||
|
let has_use = search('^use\s\s*\k', 'c', 30)
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
if has_use
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||||
|
" 1. Check the first line of the file for "%&<format>".
|
||||||
|
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||||
|
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||||
|
func dist#ft#FTtex()
|
||||||
|
let firstline = getline(1)
|
||||||
|
if firstline =~ '^%&\s*\a\+'
|
||||||
|
let format = tolower(matchstr(firstline, '\a\+'))
|
||||||
|
let format = substitute(format, 'pdf', '', '')
|
||||||
|
if format == 'tex'
|
||||||
|
let format = 'latex'
|
||||||
|
elseif format == 'plaintex'
|
||||||
|
let format = 'plain'
|
||||||
|
endif
|
||||||
|
elseif expand('%') =~ 'tex/context/.*/.*.tex'
|
||||||
|
let format = 'context'
|
||||||
|
else
|
||||||
|
" Default value, may be changed later:
|
||||||
|
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
|
||||||
|
" Save position, go to the top of the file, find first non-comment line.
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
call cursor(1,1)
|
||||||
|
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||||
|
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||||
|
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||||
|
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||||
|
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
|
||||||
|
\ 'cnp', firstNC + 1000)
|
||||||
|
if kwline == 1 " lpat matched
|
||||||
|
let format = 'latex'
|
||||||
|
elseif kwline == 2 " cpat matched
|
||||||
|
let format = 'context'
|
||||||
|
endif " If neither matched, keep default set above.
|
||||||
|
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" if cline > 0
|
||||||
|
" let format = 'context'
|
||||||
|
" endif
|
||||||
|
" if lline > 0 && (cline == 0 || cline > lline)
|
||||||
|
" let format = 'tex'
|
||||||
|
" endif
|
||||||
|
endif " firstNC
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
endif " firstline =~ '^%&\s*\a\+'
|
||||||
|
|
||||||
|
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
|
||||||
|
if format == 'plain'
|
||||||
|
setf plaintex
|
||||||
|
elseif format == 'context'
|
||||||
|
setf context
|
||||||
|
else " probably LaTeX
|
||||||
|
setf tex
|
||||||
|
endif
|
||||||
|
return
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTxml()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
" DocBook 4 or DocBook 5.
|
||||||
|
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
|
||||||
|
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
|
||||||
|
if is_docbook4 || is_docbook5
|
||||||
|
let b:docbk_type = "xml"
|
||||||
|
if is_docbook5
|
||||||
|
let b:docbk_ver = 5
|
||||||
|
else
|
||||||
|
let b:docbk_ver = 4
|
||||||
|
endif
|
||||||
|
setf docbk
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
|
||||||
|
setf xbl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n += 1
|
||||||
|
endwhile
|
||||||
|
setf xml
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTy()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf yacc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
|
||||||
|
setf racc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf yacc
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#Redif()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 5 && lnum < line('$')
|
||||||
|
if getline(lnum) =~ "^\ctemplate-type:"
|
||||||
|
setf redif
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
" Restore 'cpoptions'
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
@@ -22,8 +22,8 @@
|
|||||||
if &cp || exists("g:loaded_netrw")
|
if &cp || exists("g:loaded_netrw")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
" netrw requires vim having patch 7.4.213; netrw will benefit from vim's having patch#656, too
|
" netrw requires vim having patch 213; netrw will benefit from vim's having patch#656, too
|
||||||
if v:version < 704 || (v:version == 704 && !has("patch213"))
|
if v:version < 704 || !has("patch213")
|
||||||
if !exists("s:needpatch213")
|
if !exists("s:needpatch213")
|
||||||
unsilent echomsg "***sorry*** this version of netrw requires vim v7.4 with patch 213"
|
unsilent echomsg "***sorry*** this version of netrw requires vim v7.4 with patch 213"
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim support file to help with paste mappings and menus
|
" Vim support file to help with paste mappings and menus
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Jun 23
|
" Last Change: 2017 Aug 30
|
||||||
|
|
||||||
" Define the string to use for items that are present both in Edit, Popup and
|
" Define the string to use for items that are present both in Edit, Popup and
|
||||||
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
if has("virtualedit")
|
if has("virtualedit")
|
||||||
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
||||||
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
||||||
let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
|
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
|
||||||
|
|
||||||
func! paste#Paste()
|
func! paste#Paste()
|
||||||
let ove = &ve
|
let ove = &ve
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: SQL
|
" Language: SQL
|
||||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||||
" Version: 16.0
|
" Version: 16.0
|
||||||
" Last Change: 2015 Dec 29
|
" Last Change: 2017 Oct 15
|
||||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||||
" Usage: For detailed help
|
" Usage: For detailed help
|
||||||
" ":help sql.txt"
|
" ":help sql.txt"
|
||||||
@@ -860,7 +860,7 @@ function! s:SQLCGetColumns(table_name, list_type)
|
|||||||
|
|
||||||
" Start characterwise visual mode
|
" Start characterwise visual mode
|
||||||
" Advance right one character
|
" Advance right one character
|
||||||
" Search foward until one of the following:
|
" Search forward until one of the following:
|
||||||
" 1. Another select/update/delete statement
|
" 1. Another select/update/delete statement
|
||||||
" 2. A ; at the end of a line (the delimiter)
|
" 2. A ; at the end of a line (the delimiter)
|
||||||
" 3. The end of the file (incase no delimiter)
|
" 3. The end of the file (incase no delimiter)
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ Search for "highlight_init".
|
|||||||
If you think you have a color scheme that is good enough to be used by others,
|
If you think you have a color scheme that is good enough to be used by others,
|
||||||
please check the following items:
|
please check the following items:
|
||||||
|
|
||||||
|
- Source the tools/check_colors.vim script to check for common mistakes.
|
||||||
- Does it work in a color terminal as well as in the GUI?
|
- Does it work in a color terminal as well as in the GUI?
|
||||||
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
|
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
|
||||||
it this way:
|
it this way:
|
||||||
|
|||||||
136
runtime/colors/tools/check_colors.vim
Normal file
136
runtime/colors/tools/check_colors.vim
Normal file
@@ -0,0 +1,136 @@
|
|||||||
|
" This script tests a color scheme for some errors. Load the scheme and source
|
||||||
|
" this script. e.g. :e colors/desert.vim | :so test_colors.vim
|
||||||
|
" Will output possible errors.
|
||||||
|
|
||||||
|
let s:save_cpo= &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
func! Test_check_colors()
|
||||||
|
call cursor(1,1)
|
||||||
|
let err={}
|
||||||
|
|
||||||
|
" 1) Check g:colors_name is existing
|
||||||
|
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
|
||||||
|
let err['colors_name'] = 'g:colors_name not set'
|
||||||
|
else
|
||||||
|
let err['colors_name'] = 'OK'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 2) Check for some well-defined highlighting groups
|
||||||
|
" Some items, check several groups, e.g. Diff, Spell
|
||||||
|
let hi_groups = ['ColorColumn', 'Diff', 'ErrorMsg', 'Folded',
|
||||||
|
\ 'FoldColumn', 'IncSearch', 'LineNr', 'ModeMsg', 'MoreMsg', 'NonText',
|
||||||
|
\ 'Normal', 'Pmenu', 'Todo', 'Search', 'Spell', 'StatusLine', 'TabLine',
|
||||||
|
\ 'Title', 'Visual', 'WarningMsg', 'WildMenu']
|
||||||
|
let groups={}
|
||||||
|
for group in hi_groups
|
||||||
|
if search('\c@suppress\s\+'.group, 'cnW')
|
||||||
|
" skip check, if the script contains a line like
|
||||||
|
" @suppress Visual:
|
||||||
|
let groups[group] = 'Ignoring '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+'.group, 'cnW')
|
||||||
|
let groups[group] = 'No highlight definition for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if !search('hi\%[ghlight] \+'.group. '.*fg=', 'cnW')
|
||||||
|
let groups[group] = 'Missing foreground color for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
if search('hi\%[ghlight] \+'.group. '.*guibg=', 'cnW') &&
|
||||||
|
\ !search('hi\%[ghlight] \+'.group. '.*ctermbg=', 'cnW')
|
||||||
|
let groups[group] = 'Missing bg terminal color for '.group
|
||||||
|
continue
|
||||||
|
endif
|
||||||
|
call search('hi\%[ghlight] \+'.group, 'cW')
|
||||||
|
" only check in the current line
|
||||||
|
if !search('guifg', 'cnW', line('.')) || !search('ctermfg', 'cnW', line('.'))
|
||||||
|
" do not check for background colors, they could be intentionally left out
|
||||||
|
let groups[group] = 'Missing fg definition for '.group
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
endfor
|
||||||
|
let err['highlight'] = groups
|
||||||
|
|
||||||
|
" 3) Check, that it does not set background highlighting
|
||||||
|
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
|
||||||
|
let bg_set='\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
|
||||||
|
let bg_let='let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
|
||||||
|
let bg_pat='\%('.bg_set. '\|'.bg_let.'\)'
|
||||||
|
let line=search(bg_pat, 'cnW')
|
||||||
|
if search(bg_pat, 'cnW')
|
||||||
|
exe line
|
||||||
|
if search('hi \U\w\+\s\+\S', 'cbnW')
|
||||||
|
let err['background'] = 'Should not set background option after :hi statement'
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let err['background'] = 'OK'
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
|
||||||
|
" 4) Check, that t_Co is checked
|
||||||
|
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
|
||||||
|
if !search(pat, 'ncW')
|
||||||
|
let err['t_Co'] = 'Does not check terminal for capable colors'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 5) Initializes correctly, e.g. should have a section like
|
||||||
|
" hi clear
|
||||||
|
" if exists("syntax_on")
|
||||||
|
" syntax reset
|
||||||
|
" endif
|
||||||
|
let pat='hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
|
||||||
|
if !search(pat, 'cnW')
|
||||||
|
let err['init'] = 'No initialization'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 6) Does not use :syn on
|
||||||
|
if search('syn\%[tax]\s\+on', 'cnW')
|
||||||
|
let err['background'] = 'Should not issue :syn on'
|
||||||
|
endif
|
||||||
|
|
||||||
|
" 7) Does not define filetype specfic groups like vimCommand, htmlTag,
|
||||||
|
let hi_groups = ['vim', 'html', 'python', 'sh', 'ruby']
|
||||||
|
for group in hi_groups
|
||||||
|
let pat='\Chi\%[ghlight]\s*\zs'.group.'\w\+\>'
|
||||||
|
if search(pat, 'cnW')
|
||||||
|
let line = search(pat, 'cW')
|
||||||
|
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
|
||||||
|
endif
|
||||||
|
call cursor(1,1)
|
||||||
|
endfor
|
||||||
|
let g:err = err
|
||||||
|
|
||||||
|
" print Result
|
||||||
|
call Result(err)
|
||||||
|
endfu
|
||||||
|
|
||||||
|
fu! Result(err)
|
||||||
|
let do_roups = 0
|
||||||
|
echohl Title|echomsg "---------------"|echohl Normal
|
||||||
|
for key in sort(keys(a:err))
|
||||||
|
if key is# 'highlight'
|
||||||
|
let do_groups = 1
|
||||||
|
continue
|
||||||
|
else
|
||||||
|
if a:err[key] !~ 'OK'
|
||||||
|
echohl Title
|
||||||
|
endif
|
||||||
|
echomsg printf("%15s: %s", key, a:err[key])
|
||||||
|
echohl Normal
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
echohl Title|echomsg "---------------"|echohl Normal
|
||||||
|
if do_groups
|
||||||
|
echohl Title | echomsg "Groups" | echohl Normal
|
||||||
|
for v1 in sort(keys(a:err['highlight']))
|
||||||
|
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
|
||||||
|
endfor
|
||||||
|
endif
|
||||||
|
endfu
|
||||||
|
|
||||||
|
call Test_check_colors()
|
||||||
|
|
||||||
|
let &cpo = s:save_cpo
|
||||||
|
unlet s:save_cpo
|
||||||
@@ -343,7 +343,7 @@ xxd.man: xxd.1
|
|||||||
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
||||||
|
|
||||||
uganda.nsis.txt: uganda.txt
|
uganda.nsis.txt: uganda.txt
|
||||||
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
|
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
|
||||||
uganda.txt | uniq >uganda.nsis.txt
|
uganda.txt | uniq >uganda.nsis.txt
|
||||||
|
|
||||||
# Awk version of .txt to .html conversion.
|
# Awk version of .txt to .html conversion.
|
||||||
@@ -375,6 +375,10 @@ tags.ref tags.html: tags
|
|||||||
perlhtml: tags $(DOCS)
|
perlhtml: tags $(DOCS)
|
||||||
./vim2html.pl tags $(DOCS)
|
./vim2html.pl tags $(DOCS)
|
||||||
|
|
||||||
|
# Check URLs in the help with "curl".
|
||||||
|
test_urls:
|
||||||
|
vim -S test_urls.vim
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm doctags *.html tags.ref
|
-rm doctags *.html tags.ref
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
*autocmd.txt* For Vim version 8.0. Last change: 2018 Jan 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -68,7 +68,14 @@ Note: The ":autocmd" command can only be followed by another command when the
|
|||||||
'|' appears before {cmd}. This works: >
|
'|' appears before {cmd}. This works: >
|
||||||
:augroup mine | au! BufRead | augroup END
|
:augroup mine | au! BufRead | augroup END
|
||||||
But this sees "augroup" as part of the defined command: >
|
But this sees "augroup" as part of the defined command: >
|
||||||
|
:augroup mine | au! BufRead * | augroup END
|
||||||
:augroup mine | au BufRead * set tw=70 | augroup END
|
:augroup mine | au BufRead * set tw=70 | augroup END
|
||||||
|
Instead you can put the group name into the command: >
|
||||||
|
:au! mine BufRead *
|
||||||
|
:au mine BufRead * set tw=70
|
||||||
|
Or use `:execute`: >
|
||||||
|
:augroup mine | exe "au! BufRead *" | augroup END
|
||||||
|
:augroup mine | exe "au BufRead * set tw=70" | augroup END
|
||||||
|
|
||||||
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
||||||
arguments are not expanded when the autocommand is defined. These will be
|
arguments are not expanded when the autocommand is defined. These will be
|
||||||
@@ -288,6 +295,8 @@ Name triggered by ~
|
|||||||
|FileChangedShellPost| After handling a file changed since editing started
|
|FileChangedShellPost| After handling a file changed since editing started
|
||||||
|FileChangedRO| before making the first change to a read-only file
|
|FileChangedRO| before making the first change to a read-only file
|
||||||
|
|
||||||
|
|DirChanged| after the working directory has changed
|
||||||
|
|
||||||
|ShellCmdPost| after executing a shell command
|
|ShellCmdPost| after executing a shell command
|
||||||
|ShellFilterPost| after filtering with a shell command
|
|ShellFilterPost| after filtering with a shell command
|
||||||
|
|
||||||
@@ -323,6 +332,7 @@ Name triggered by ~
|
|||||||
|
|
||||||
|TextChanged| after a change was made to the text in Normal mode
|
|TextChanged| after a change was made to the text in Normal mode
|
||||||
|TextChangedI| after a change was made to the text in Insert mode
|
|TextChangedI| after a change was made to the text in Insert mode
|
||||||
|
|TextYankPost| after text is yanked or deleted
|
||||||
|
|
||||||
|ColorScheme| after loading a color scheme
|
|ColorScheme| after loading a color scheme
|
||||||
|
|
||||||
@@ -492,6 +502,29 @@ CmdUndefined When a user command is used but it isn't
|
|||||||
command is defined. An alternative is to
|
command is defined. An alternative is to
|
||||||
always define the user command and have it
|
always define the user command and have it
|
||||||
invoke an autoloaded function. See |autoload|.
|
invoke an autoloaded function. See |autoload|.
|
||||||
|
*CmdlineChanged*
|
||||||
|
CmdlineChanged After a change was made to the text inside
|
||||||
|
command line. Be careful not to mess up the
|
||||||
|
command line, it may cause Vim to lock up.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
|
*CmdlineEnter*
|
||||||
|
CmdlineEnter After moving the cursor to the command line,
|
||||||
|
where the user can type a command or search
|
||||||
|
string.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
|
*CmdlineLeave*
|
||||||
|
CmdlineLeave Before leaving the command line.
|
||||||
|
Also when abandoning the command line, after
|
||||||
|
typing CTRL-C or <Esc>.
|
||||||
|
When the commands result in an error the
|
||||||
|
command line is still executed.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
*CmdwinEnter*
|
*CmdwinEnter*
|
||||||
CmdwinEnter After entering the command-line window.
|
CmdwinEnter After entering the command-line window.
|
||||||
Useful for setting options specifically for
|
Useful for setting options specifically for
|
||||||
@@ -602,6 +635,16 @@ FileChangedRO Before making the first change to a read-only
|
|||||||
*E881*
|
*E881*
|
||||||
If the number of lines changes saving for undo
|
If the number of lines changes saving for undo
|
||||||
may fail and the change will be aborted.
|
may fail and the change will be aborted.
|
||||||
|
*DirChanged*
|
||||||
|
DirChanged The working directory has changed in response
|
||||||
|
to the |:cd| or |:lcd| commands, or as a
|
||||||
|
result of the 'autochdir' option.
|
||||||
|
The pattern can be:
|
||||||
|
"window" to trigger on `:lcd
|
||||||
|
"global" to trigger on `:cd`
|
||||||
|
"auto" to trigger on 'autochdir'.
|
||||||
|
"drop" to trigger on editing a file
|
||||||
|
<afile> is set to the new directory name.
|
||||||
*FileChangedShell*
|
*FileChangedShell*
|
||||||
FileChangedShell When Vim notices that the modification time of
|
FileChangedShell When Vim notices that the modification time of
|
||||||
a file has changed since editing started.
|
a file has changed since editing started.
|
||||||
@@ -933,6 +976,25 @@ TextChangedI After a change was made to the text in the
|
|||||||
current buffer in Insert mode.
|
current buffer in Insert mode.
|
||||||
Not triggered when the popup menu is visible.
|
Not triggered when the popup menu is visible.
|
||||||
Otherwise the same as TextChanged.
|
Otherwise the same as TextChanged.
|
||||||
|
*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|.
|
||||||
*User*
|
*User*
|
||||||
User Never executed automatically. To be used for
|
User Never executed automatically. To be used for
|
||||||
autocommands that are only executed with
|
autocommands that are only executed with
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2017 Jul 11
|
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -826,14 +826,21 @@ Also see |`=|.
|
|||||||
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
||||||
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
||||||
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
||||||
|
*:<cexpr>* *<cexpr>*
|
||||||
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
||||||
Note: these are typed literally, they are not special keys!
|
Note: these are typed literally, they are not special keys!
|
||||||
<cword> is replaced with the word under the cursor (like |star|)
|
<cword> is replaced with the word under the cursor (like |star|)
|
||||||
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
|
||||||
|
<cexpr> is replaced with the word under the cursor, including more
|
||||||
|
to form a C expression. E.g., when the cursor is on "arg"
|
||||||
|
of "ptr->arg" then the result is "ptr->arg"; when the
|
||||||
|
cursor is on "]" of "list[idx]" then the result is
|
||||||
|
"list[idx]". This is used for |v:beval_text|.
|
||||||
<cfile> is replaced with the path name under the cursor (like what
|
<cfile> is replaced with the path name under the cursor (like what
|
||||||
|gf| uses)
|
|gf| uses)
|
||||||
<afile> When executing autocommands, is replaced with the file name
|
<afile> When executing autocommands, is replaced with the file name
|
||||||
for a file read or write.
|
of the buffer being manipulated, or the file for a read or
|
||||||
|
write.
|
||||||
<abuf> When executing autocommands, is replaced with the currently
|
<abuf> When executing autocommands, is replaced with the currently
|
||||||
effective buffer number (for ":r file" and ":so file" it is
|
effective buffer number (for ":r file" and ":so file" it is
|
||||||
the current buffer, the file being read/sourced is not in a
|
the current buffer, the file being read/sourced is not in a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*debugger.txt* For Vim version 8.0. Last change: 2005 Mar 29
|
*debugger.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Gordon Prieur
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@@ -95,10 +95,12 @@ list and colors can be set via X resources (XmNballoonEvalFontList,
|
|||||||
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
||||||
The 'balloondelay' option sets the delay before an attempt is made to show a
|
The 'balloondelay' option sets the delay before an attempt is made to show a
|
||||||
balloon.
|
balloon.
|
||||||
The 'ballooneval' option needs to be set to switch it on.
|
The 'ballooneval' and/or the 'balloonevalterm' option needs to be set to
|
||||||
|
switch it on.
|
||||||
|
|
||||||
Balloon evaluation is only available when compiled with the |+balloon_eval|
|
Balloon evaluation is only available in the GUI when compiled with the
|
||||||
feature.
|
|+balloon_eval| feature. For the terminal the |+balloon_eval_term| feature
|
||||||
|
matters.
|
||||||
|
|
||||||
The Balloon evaluation functions are also used to show a tooltip for the
|
The Balloon evaluation functions are also used to show a tooltip for the
|
||||||
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 8.0. Last change: 2017 Feb 03
|
*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -10,7 +10,7 @@ eight versions of the same file.
|
|||||||
|
|
||||||
The basics are explained in section |08.7| of the user manual.
|
The basics are explained in section |08.7| of the user manual.
|
||||||
|
|
||||||
1. Starting diff mode |vimdiff|
|
1. Starting diff mode |start-vimdiff|
|
||||||
2. Viewing diffs |view-diffs|
|
2. Viewing diffs |view-diffs|
|
||||||
3. Jumping to diffs |jumpto-diffs|
|
3. Jumping to diffs |jumpto-diffs|
|
||||||
4. Copying diffs |copy-diffs|
|
4. Copying diffs |copy-diffs|
|
||||||
@@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting diff mode
|
1. Starting diff mode *start-vimdiff*
|
||||||
|
|
||||||
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
||||||
This starts Vim as usual, and additionally sets up for viewing the differences
|
This starts Vim as usual, and additionally sets up for viewing the differences
|
||||||
@@ -226,8 +226,8 @@ The diffs are highlighted with these groups:
|
|||||||
(searching from the end of the line). The
|
(searching from the end of the line). The
|
||||||
text in between is highlighted. This means
|
text in between is highlighted. This means
|
||||||
that parts in the middle that are still the
|
that parts in the middle that are still the
|
||||||
same are highlighted anyway. Only "iwhite" of
|
same are highlighted anyway. The 'diffopt'
|
||||||
'diffopt' is used here.
|
flags "iwhite" and "icase" are used here.
|
||||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||||
because they don't really exist in this
|
because they don't really exist in this
|
||||||
buffer.
|
buffer.
|
||||||
@@ -326,7 +326,7 @@ g:diff_translations to zero: >
|
|||||||
|
|
||||||
let g:diff_translations = 0
|
let g:diff_translations = 0
|
||||||
<
|
<
|
||||||
After setting this variable, Reload the syntax script: >
|
After setting this variable, reload the syntax script: >
|
||||||
|
|
||||||
set syntax=diff
|
set syntax=diff
|
||||||
<
|
<
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*editing.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
*editing.txt* For Vim version 8.0. Last change: 2017 Nov 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -900,7 +900,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
|||||||
|
|
||||||
*:w* *:write*
|
*:w* *:write*
|
||||||
*E502* *E503* *E504* *E505*
|
*E502* *E503* *E504* *E505*
|
||||||
*E512* *E514* *E667* *E796*
|
*E512* *E514* *E667* *E796* *E949*
|
||||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||||
the normal way to save changes to a file. It fails
|
the normal way to save changes to a file. It fails
|
||||||
when the 'readonly' option is set or when there is
|
when the 'readonly' option is set or when there is
|
||||||
@@ -956,6 +956,9 @@ used, for example, when the write fails and you want to try again later with
|
|||||||
":w #". This can be switched off by removing the 'A' flag from the
|
":w #". This can be switched off by removing the 'A' flag from the
|
||||||
'cpoptions' option.
|
'cpoptions' option.
|
||||||
|
|
||||||
|
Note that the 'fsync' option matters here. If it's set it may make writes
|
||||||
|
slower (but safer).
|
||||||
|
|
||||||
*:sav* *:saveas*
|
*:sav* *:saveas*
|
||||||
:sav[eas][!] [++opt] {file}
|
:sav[eas][!] [++opt] {file}
|
||||||
Save the current buffer under the name {file} and set
|
Save the current buffer under the name {file} and set
|
||||||
@@ -1109,6 +1112,7 @@ The names can be in upper- or lowercase.
|
|||||||
window in the current tab page the current tab page is
|
window in the current tab page the current tab page is
|
||||||
closed |tab-page|.
|
closed |tab-page|.
|
||||||
Triggers the |QuitPre| autocommand event.
|
Triggers the |QuitPre| autocommand event.
|
||||||
|
See |CTRL-W_q| for quitting another window.
|
||||||
|
|
||||||
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
|
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
|
||||||
the last file in the argument list has not been
|
the last file in the argument list has not been
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.0. Last change: 2017 Mar 28
|
*filetype.txt* For Vim version 8.0. Last change: 2017 Dec 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -43,7 +43,7 @@ Detail: The ":filetype on" command will load one of these files:
|
|||||||
BufNewFile and BufRead events. If the file type is not found by the
|
BufNewFile and BufRead events. If the file type is not found by the
|
||||||
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
||||||
contents of the file.
|
contents of the file.
|
||||||
When the GUI is running or will start soon, the menu.vim script is
|
When the GUI is running or will start soon, the |menu.vim| script is
|
||||||
also sourced. See |'go-M'| about avoiding that.
|
also sourced. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
To add your own file types, see |new-filetype| below. To search for help on a
|
To add your own file types, see |new-filetype| below. To search for help on a
|
||||||
@@ -602,11 +602,12 @@ MANPAGER *manpager.vim*
|
|||||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||||
manpages and follows linked manpages on hitting CTRL-]).
|
manpages and follows linked manpages on hitting CTRL-]).
|
||||||
|
|
||||||
Works on:
|
Tested on:
|
||||||
|
|
||||||
- Linux
|
- Linux
|
||||||
- Mac OS
|
- Mac OS
|
||||||
- FreeBSD
|
- FreeBSD
|
||||||
|
- OpenBSD
|
||||||
- Cygwin
|
- Cygwin
|
||||||
- Win 10 under Bash
|
- Win 10 under Bash
|
||||||
|
|
||||||
@@ -616,21 +617,36 @@ Untested:
|
|||||||
- BeOS
|
- BeOS
|
||||||
- OS/2
|
- OS/2
|
||||||
|
|
||||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||||
|
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
|
||||||
|
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
|
||||||
|
manpager does not correctly recognize manpages whose title contains a capital
|
||||||
|
letter. See the discussion on
|
||||||
|
|
||||||
|
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
|
||||||
|
|
||||||
|
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||||
|
|
||||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For (t)csh by adding to the config file
|
For (t)csh, add to the config file
|
||||||
|
|
||||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For fish by adding to the config file
|
For fish, add to the config file
|
||||||
|
|
||||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
On OpenBSD:
|
||||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
|
||||||
superfluous.
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
|
||||||
|
|
||||||
|
If you experience still issues on manpages whose titles do not contain capital
|
||||||
|
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
|
||||||
|
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
|
||||||
|
|
||||||
|
https://github.com/vim/vim/issues/1002
|
||||||
|
|
||||||
|
|
||||||
PDF *ft-pdf-plugin*
|
PDF *ft-pdf-plugin*
|
||||||
|
|
||||||
@@ -690,4 +706,23 @@ You can change the default by defining the variable g:tex_flavor to the format
|
|||||||
Currently no other formats are recognized.
|
Currently no other formats are recognized.
|
||||||
|
|
||||||
|
|
||||||
|
VIM *ft-vim-plugin*
|
||||||
|
|
||||||
|
The Vim filetype plugin defines mappings to move to the start and end of
|
||||||
|
functions with [[ and ]]. Move around comments with ]" and [".
|
||||||
|
|
||||||
|
The mappings can be disabled with: >
|
||||||
|
let g:no_vim_maps = 1
|
||||||
|
|
||||||
|
|
||||||
|
ZIMBU *ft-zimbu-plugin*
|
||||||
|
|
||||||
|
The Zimbu filetype plugin defines mappings to move to the start and end of
|
||||||
|
functions with [[ and ]].
|
||||||
|
|
||||||
|
The mappings can be disabled with: >
|
||||||
|
let g:no_zimbu_maps = 1
|
||||||
|
<
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ COMMANDS *rust-commands*
|
|||||||
|g:rust_playpen_url| is the base URL to the playpen, by default
|
|g:rust_playpen_url| is the base URL to the playpen, by default
|
||||||
"https://play.rust-lang.org/".
|
"https://play.rust-lang.org/".
|
||||||
|
|
||||||
|g:rust_shortener_url| is the base URL for the shorterner, by
|
|g:rust_shortener_url| is the base URL for the shortener, by
|
||||||
default "https://is.gd/"
|
default "https://is.gd/"
|
||||||
|
|
||||||
:RustFmt *:RustFmt*
|
:RustFmt *:RustFmt*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -67,7 +67,7 @@ When the GUI starts up initializations are carried out, in this order:
|
|||||||
executed as an Ex command.
|
executed as an Ex command.
|
||||||
- If the user gvimrc file exists, it is sourced. The name of this file is
|
- If the user gvimrc file exists, it is sourced. The name of this file is
|
||||||
normally "$HOME/.gvimrc". You can check this with ":version".
|
normally "$HOME/.gvimrc". You can check this with ":version".
|
||||||
- For Win32, when $HOME is not set, "$VIM\_gvimrc" is used.
|
- For Win32, $HOME is set by Vim if needed, see |$HOME-windows|.
|
||||||
- When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice
|
- When a "_gvimrc" file is not found, ".gvimrc" is tried too. And vice
|
||||||
versa.
|
versa.
|
||||||
The name of the first file found is stored in $MYGVIMRC, unless it was
|
The name of the first file found is stored in $MYGVIMRC, unless it was
|
||||||
@@ -162,7 +162,7 @@ window Vim is running in with these commands: >
|
|||||||
*gui-IME* *iBus*
|
*gui-IME* *iBus*
|
||||||
Input methods for international characters in X that rely on the XIM
|
Input methods for international characters in X that rely on the XIM
|
||||||
framework, most notably iBus, have been known to produce undesirable results
|
framework, most notably iBus, have been known to produce undesirable results
|
||||||
in gVim. These may include an inability to enter spaces, or long delays
|
in gvim. These may include an inability to enter spaces, or long delays
|
||||||
between typing a character and it being recognized by the application.
|
between typing a character and it being recognized by the application.
|
||||||
|
|
||||||
One workaround that has been successful, for unknown reasons, is to prevent
|
One workaround that has been successful, for unknown reasons, is to prevent
|
||||||
@@ -482,6 +482,7 @@ menus and menu items. They are most useful for things that you can't remember
|
|||||||
what the key sequence was.
|
what the key sequence was.
|
||||||
|
|
||||||
For creating menus in a different language, see |:menutrans|.
|
For creating menus in a different language, see |:menutrans|.
|
||||||
|
If you don't want to use menus at all, see |'go-M'|.
|
||||||
|
|
||||||
*menu.vim*
|
*menu.vim*
|
||||||
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
||||||
@@ -498,7 +499,22 @@ in the menu (which can take a bit of time to load). If you want to have all
|
|||||||
filetypes already present at startup, add: >
|
filetypes already present at startup, add: >
|
||||||
:let do_syntax_sel_menu = 1
|
:let do_syntax_sel_menu = 1
|
||||||
|
|
||||||
<
|
The following menuitems show all available color schemes, keymaps and compiler
|
||||||
|
settings:
|
||||||
|
Edit > Color Scheme ~
|
||||||
|
Edit > Keymap ~
|
||||||
|
Tools > Set Compiler ~
|
||||||
|
However, they can also take a bit of time to load, because they search all
|
||||||
|
related files from the directories in 'runtimepath'. Therefore they are
|
||||||
|
loaded lazily (by the |CursorHold| event), or you can also load them manually.
|
||||||
|
If you want to have all these items already present at startup, add: >
|
||||||
|
:let do_no_lazyload_menus = 1
|
||||||
|
|
||||||
|
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
|
||||||
|
executed or after your .vimrc file is sourced. This means that the 'encoding'
|
||||||
|
option and the language of messages (`:language messages`) must be set before
|
||||||
|
that (if you want to change them).
|
||||||
|
|
||||||
*console-menus*
|
*console-menus*
|
||||||
Although this documentation is in the GUI section, you can actually use menus
|
Although this documentation is in the GUI section, you can actually use menus
|
||||||
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
||||||
@@ -784,10 +800,40 @@ In the Win32 and GTK+ GUI, starting a menu name with ']' excludes that menu
|
|||||||
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
||||||
to display it.
|
to display it.
|
||||||
|
|
||||||
|
*window-toolbar* *WinBar*
|
||||||
|
Each window can have a local toolbar. This uses the first line of the window,
|
||||||
|
thus reduces the space for the text by one line. The items in the toolbar
|
||||||
|
must start with "WinBar".
|
||||||
|
|
||||||
|
Only text can be used. When using Unicode, special characters can be used to
|
||||||
|
make the items look like icons.
|
||||||
|
|
||||||
|
If the items do not fit then the last ones cannot be used. The toolbar does
|
||||||
|
not wrap.
|
||||||
|
|
||||||
|
Note that Vim may be in any mode when executing these commands. The menu
|
||||||
|
should be defined for Normal mode and will be executed without changing the
|
||||||
|
current mode. Thus if the current window is in Visual mode and the menu
|
||||||
|
command does not intentionally change the mode, Vim will remain in Visual
|
||||||
|
mode. Best is to use `:nnoremenu` to avoid side effects.
|
||||||
|
|
||||||
|
Example for debugger tools: >
|
||||||
|
nnoremenu 1.10 WinBar.Step :Step<CR>
|
||||||
|
nnoremenu 1.20 WinBar.Next :Next<CR>
|
||||||
|
nnoremenu 1.30 WinBar.Finish :Finish<CR>
|
||||||
|
nnoremenu 1.40 WinBar.Cont :Continue<CR>
|
||||||
|
<
|
||||||
|
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
||||||
|
|
||||||
|
When splitting the window the window toolbar is not copied to the new window.
|
||||||
|
|
||||||
*popup-menu*
|
*popup-menu*
|
||||||
In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
|
In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
|
||||||
special menu "PopUp". This is the menu that is displayed when the right mouse
|
special menu "PopUp". This is the menu that is displayed when the right mouse
|
||||||
button is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
button is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
||||||
|
Example: >
|
||||||
|
nnoremenu 1.40 PopUp.&Paste "+gP
|
||||||
|
menu PopUp
|
||||||
|
|
||||||
|
|
||||||
5.3 Showing What Menus Are Mapped To *showing-menus*
|
5.3 Showing What Menus Are Mapped To *showing-menus*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.0. Last change: 2014 Dec 20
|
*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -382,38 +382,8 @@ Note that a menu that starts with ']' will not be displayed.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
7. Command line arguments *gui-w32-cmdargs*
|
7. Command line arguments *gui-w32-cmdargs*
|
||||||
|
|
||||||
Analysis of a command line into parameters is not standardised in MS Windows.
|
Command line arguments behave the same way as with the console application,
|
||||||
Gvim has to provide logic to analyse a command line. This logic is likely to
|
see |win32-cmdargs|.
|
||||||
be different from the default logic provided by a compilation system used to
|
|
||||||
build vim. The differences relate to unusual double quote (") usage.
|
|
||||||
The arguments "C:\My Music\freude.txt" and "+/Sch\"iller" are handled in the
|
|
||||||
same way. The argument "+/Sch""iller" may be handled different by gvim and
|
|
||||||
vim, depending what it was compiled with.
|
|
||||||
|
|
||||||
The rules are:
|
|
||||||
a) A parameter is a sequence of graphic characters.
|
|
||||||
b) Parameters are separated by white space.
|
|
||||||
c) A parameter can be enclosed in double quotes to include white space.
|
|
||||||
d) A sequence of zero or more backslashes (\) and a double quote (")
|
|
||||||
is special. The effective number of backslashes is halved, rounded
|
|
||||||
down. An even number of backslashes reverses the acceptability of
|
|
||||||
spaces and tabs, an odd number of backslashes produces a literal
|
|
||||||
double quote.
|
|
||||||
|
|
||||||
So:
|
|
||||||
" is a special double quote
|
|
||||||
\" is a literal double quote
|
|
||||||
\\" is a literal backslash and a special double quote
|
|
||||||
\\\" is a literal backslash and a literal double quote
|
|
||||||
\\\\" is 2 literal backslashes and a special double quote
|
|
||||||
\\\\\" is 2 literal backslashes and a literal double quote
|
|
||||||
etc.
|
|
||||||
|
|
||||||
Example: >
|
|
||||||
gvim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
|
||||||
|
|
||||||
opens "C:\My Music\freude" and executes the line mode commands: >
|
|
||||||
set ignorecase; /"foo\ and /bar\"
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Various *gui-w32-various*
|
8. Various *gui-w32-various*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*help.txt* For Vim version 8.0. Last change: 2017 Oct 28
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -142,6 +142,7 @@ Special issues ~
|
|||||||
|print.txt| printing
|
|print.txt| printing
|
||||||
|remote.txt| using Vim as a server or client
|
|remote.txt| using Vim as a server or client
|
||||||
|term.txt| using different terminals and mice
|
|term.txt| using different terminals and mice
|
||||||
|
|terminal.txt| Terminal window support
|
||||||
|digraph.txt| list of available digraphs
|
|digraph.txt| list of available digraphs
|
||||||
|mbyte.txt| multi-byte text support
|
|mbyte.txt| multi-byte text support
|
||||||
|mlang.txt| non-English language support
|
|mlang.txt| non-English language support
|
||||||
@@ -150,6 +151,7 @@ Special issues ~
|
|||||||
|hebrew.txt| Hebrew language support and editing
|
|hebrew.txt| Hebrew language support and editing
|
||||||
|russian.txt| Russian language support and editing
|
|russian.txt| Russian language support and editing
|
||||||
|ft_ada.txt| Ada (the programming language) support
|
|ft_ada.txt| Ada (the programming language) support
|
||||||
|
|ft_rust.txt| Filetype plugin for Rust
|
||||||
|ft_sql.txt| about the SQL filetype plugin
|
|ft_sql.txt| about the SQL filetype plugin
|
||||||
|hangulin.txt| Hangul (Korean) input mode
|
|hangulin.txt| Hangul (Korean) input mode
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
@@ -202,6 +204,7 @@ Standard plugins ~
|
|||||||
|pi_logipat.txt| Logical operators on patterns
|
|pi_logipat.txt| Logical operators on patterns
|
||||||
|pi_netrw.txt| Reading and writing files over a network
|
|pi_netrw.txt| Reading and writing files over a network
|
||||||
|pi_paren.txt| Highlight matching parens
|
|pi_paren.txt| Highlight matching parens
|
||||||
|
|pi_spec.txt| Filetype plugin to work with rpm spec files
|
||||||
|pi_tar.txt| Tar file explorer
|
|pi_tar.txt| Tar file explorer
|
||||||
|pi_vimball.txt| Create a self-installing Vim script
|
|pi_vimball.txt| Create a self-installing Vim script
|
||||||
|pi_zip.txt| Zip archive explorer
|
|pi_zip.txt| Zip archive explorer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_cscop.txt* For Vim version 8.0. Last change: 2017 Jun 14
|
*if_cscop.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Andy Kahn
|
VIM REFERENCE MANUAL by Andy Kahn
|
||||||
@@ -468,36 +468,18 @@ license or OS distribution), then you can download it for free from:
|
|||||||
http://cscope.sourceforge.net/
|
http://cscope.sourceforge.net/
|
||||||
This is released by SCO under the BSD license.
|
This is released by SCO under the BSD license.
|
||||||
|
|
||||||
If you want a newer version of cscope, you will probably have to buy it.
|
|
||||||
According to the (old) nvi documentation:
|
|
||||||
|
|
||||||
You can buy version 13.3 source with an unrestricted license
|
|
||||||
for $400 from AT&T Software Solutions by calling +1-800-462-8146.
|
|
||||||
|
|
||||||
Also you can download cscope 13.x and mlcscope 14.x (multi-lingual cscope
|
|
||||||
which supports C, C++, Java, lex, yacc, breakpoint listing, Ingres, and SDL)
|
|
||||||
from World-Wide Exptools Open Source packages page:
|
|
||||||
http://www.bell-labs.com/project/wwexptools/packages.html
|
|
||||||
|
|
||||||
In Solaris 2.x, if you have the C compiler license, you will also have
|
In Solaris 2.x, if you have the C compiler license, you will also have
|
||||||
cscope. Both are usually located under /opt/SUNWspro/bin
|
cscope. Both are usually located under /opt/SUNWspro/bin
|
||||||
|
|
||||||
SGI developers can also get it. Search for Cscope on this page:
|
|
||||||
http://freeware.sgi.com/index-by-alpha.html
|
|
||||||
https://toolbox.sgi.com/toolbox/utilities/cscope/
|
|
||||||
The second one is for those who have a password for the SGI toolbox.
|
|
||||||
|
|
||||||
There is source to an older version of a cscope clone (called "cs") available
|
There is source to an older version of a cscope clone (called "cs") available
|
||||||
on the net. Due to various reasons, this is not supported with Vim.
|
on the net. Due to various reasons, this is not supported with Vim.
|
||||||
|
|
||||||
The cscope interface/support for Vim was originally written by
|
The cscope interface/support for Vim was originally written by
|
||||||
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
Andy Kahn <ackahn@netapp.com>. The original structure (as well as a tiny
|
||||||
bit of code) was adapted from the cscope interface in nvi. Please report
|
bit of code) was adapted from the cscope interface in nvi.
|
||||||
any problems, suggestions, patches, et al., you have for the usage of
|
|
||||||
cscope within Vim to him.
|
|
||||||
*cscope-win32*
|
*cscope-win32*
|
||||||
For a cscope version for Win32 see:
|
For a cscope version for Win32 see (seems abandoned):
|
||||||
http://code.google.com/p/cscope-win32/
|
https://code.google.com/archive/p/cscope-win32/
|
||||||
|
|
||||||
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
||||||
him if you have Win32-specific issues.
|
him if you have Win32-specific issues.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 8.0. Last change: 2016 Jan 24
|
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@@ -278,12 +278,15 @@ When you don't use the MzScheme interface you don't need them, thus you can
|
|||||||
use Vim without these DLL files.
|
use Vim without these DLL files.
|
||||||
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
||||||
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
||||||
startup if possible.
|
startup if possible. This may make Vim startup slower.
|
||||||
|
|
||||||
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
||||||
In a console window type "path" to see what directories are used.
|
In a console window type "path" to see what directories are used.
|
||||||
|
|
||||||
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
|
||||||
|
name of the library to load. The initial value is specified at build time.
|
||||||
|
|
||||||
|
The version of the DLL must match the MzScheme version Vim was compiled with.
|
||||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||||
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||||
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_perl.txt* For Vim version 8.0. Last change: 2015 Oct 16
|
*if_perl.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||||
@@ -112,7 +112,7 @@ possible.
|
|||||||
Here is an overview of the functions that are available to Perl: >
|
Here is an overview of the functions that are available to Perl: >
|
||||||
|
|
||||||
:perl VIM::Msg("Text") # displays a message
|
:perl VIM::Msg("Text") # displays a message
|
||||||
:perl VIM::Msg("Error", "ErrorMsg") # displays an error message
|
:perl VIM::Msg("Wrong!", "ErrorMsg") # displays an error message
|
||||||
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
:perl VIM::Msg("remark", "Comment") # displays a highlighted message
|
||||||
:perl VIM::SetOption("ai") # sets a vim option
|
:perl VIM::SetOption("ai") # sets a vim option
|
||||||
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
:perl $nbuf = VIM::Buffers() # returns the number of buffers
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Mar 09
|
*if_pyth.txt* For Vim version 8.0. Last change: 2018 Jan 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -715,6 +715,8 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
|||||||
functions to evaluate Python expressions and pass their values to Vim script.
|
functions to evaluate Python expressions and pass their values to Vim script.
|
||||||
|pyxeval()| is also available.
|
|pyxeval()| is also available.
|
||||||
|
|
||||||
|
The Python value "None" is converted to v:none.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
9. Dynamic loading *python-dynamic*
|
9. Dynamic loading *python-dynamic*
|
||||||
|
|
||||||
@@ -734,8 +736,8 @@ or 'pythonthreedll' option can be also used to specify the Python DLL.
|
|||||||
|
|
||||||
The name of the DLL should match the Python version Vim was compiled with.
|
The name of the DLL should match the Python version Vim was compiled with.
|
||||||
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
|
Currently the name for Python 2 is "python27.dll", that is for Python 2.7.
|
||||||
That is the default value for 'pythondll'. For Python 3 it is python35.dll
|
That is the default value for 'pythondll'. For Python 3 it is python36.dll
|
||||||
(Python 3.5). To know for sure edit "gvim.exe" and search for
|
(Python 3.6). To know for sure edit "gvim.exe" and search for
|
||||||
"python\d*.dll\c".
|
"python\d*.dll\c".
|
||||||
|
|
||||||
|
|
||||||
@@ -807,7 +809,8 @@ Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
|||||||
You can test what Python version is available with: >
|
You can test what Python version is available with: >
|
||||||
if has('python')
|
if has('python')
|
||||||
echo 'there is Python 2.x'
|
echo 'there is Python 2.x'
|
||||||
elseif has('python3')
|
endif
|
||||||
|
if has('python3')
|
||||||
echo 'there is Python 3.x'
|
echo 'there is Python 3.x'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -816,6 +819,24 @@ dynamically, these has() calls will try to load them. If only one can be
|
|||||||
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
loaded at a time, just checking if Python 2 or 3 are available will prevent
|
||||||
the other one from being available.
|
the other one from being available.
|
||||||
|
|
||||||
|
To avoid loading the dynamic library, only check if Vim was compiled with
|
||||||
|
python support: >
|
||||||
|
if has('python_compiled')
|
||||||
|
echo 'compiled with Python 2.x support'
|
||||||
|
if has('python_dynamic
|
||||||
|
echo 'Python 2.x dynamically loaded
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
if has('python3_compiled')
|
||||||
|
echo 'compiled with Python 3.x support'
|
||||||
|
if has('python3_dynamic
|
||||||
|
echo 'Python 3.x dynamically loaded
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
This also tells you whether Python is dynamically loaded, which will fail if
|
||||||
|
the runtime library cannot be found.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Python X *python_x* *pythonx*
|
11. Python X *python_x* *pythonx*
|
||||||
|
|
||||||
|
|||||||
@@ -1583,13 +1583,17 @@ tag command action ~
|
|||||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||||
is only one match
|
is only one match
|
||||||
|:tlast| :tl[ast] jump to last matching tag
|
|:tlast| :tl[ast] jump to last matching tag
|
||||||
|
|:tmapclear| :tmapc[lear] remove all mappings for Terminal-Job mode
|
||||||
|
|:tmap| :tma[p] like ":map" but for Terminal-Job mode
|
||||||
|:tmenu| :tm[enu] define menu tooltip
|
|:tmenu| :tm[enu] define menu tooltip
|
||||||
|:tnext| :tn[ext] jump to next matching tag
|
|:tnext| :tn[ext] jump to next matching tag
|
||||||
|
|:tnoremap| :tno[remap] like ":noremap" but for Terminal-Job mode
|
||||||
|:topleft| :to[pleft] make split window appear at top or far left
|
|:topleft| :to[pleft] make split window appear at top or far left
|
||||||
|:tprevious| :tp[revious] jump to previous matching tag
|
|:tprevious| :tp[revious] jump to previous matching tag
|
||||||
|:trewind| :tr[ewind] jump to first matching tag
|
|:trewind| :tr[ewind] jump to first matching tag
|
||||||
|:try| :try execute commands, abort on error or exception
|
|:try| :try execute commands, abort on error or exception
|
||||||
|:tselect| :ts[elect] list matching tags and select one
|
|:tselect| :ts[elect] list matching tags and select one
|
||||||
|
|:tunmap| :tunma[p] like ":unmap" but for Terminal-Job mode
|
||||||
|:tunmenu| :tu[nmenu] remove menu tooltip
|
|:tunmenu| :tu[nmenu] remove menu tooltip
|
||||||
|:undo| :u[ndo] undo last change(s)
|
|:undo| :u[ndo] undo last change(s)
|
||||||
|:undojoin| :undoj[oin] join next change with previous undo block
|
|:undojoin| :undoj[oin] join next change with previous undo block
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*insert.txt* For Vim version 8.0. Last change: 2017 May 30
|
*insert.txt* For Vim version 8.0. Last change: 2018 Jan 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -433,7 +433,7 @@ An example for using CTRL-G U: >
|
|||||||
inoremap ( ()<C-G>U<Left>
|
inoremap ( ()<C-G>U<Left>
|
||||||
|
|
||||||
This makes it possible to use the cursor keys in Insert mode, without breaking
|
This makes it possible to use the cursor keys in Insert mode, without breaking
|
||||||
the undo sequence and therefore using |.| (redo) will work as expected.
|
the undo sequence and therefore using |.| (redo) will work as expected.
|
||||||
Also entering a text like (with the "(" mapping from above): >
|
Also entering a text like (with the "(" mapping from above): >
|
||||||
|
|
||||||
Lorem ipsum (dolor
|
Lorem ipsum (dolor
|
||||||
@@ -1296,7 +1296,8 @@ it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended.
|
|||||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
||||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||||
A compiled .exe for MS-Windows can be found at:
|
A compiled .exe for MS-Windows can be found at:
|
||||||
http://georgevreilly.com/vim/ctags.html
|
http://ctags.sourceforge.net/
|
||||||
|
https://github.com/universal-ctags/ctags-win32
|
||||||
|
|
||||||
If you want to complete system functions you can do something like this. Use
|
If you want to complete system functions you can do something like this. Use
|
||||||
ctags to generate a tags file for all the system header files: >
|
ctags to generate a tags file for all the system header files: >
|
||||||
@@ -1472,7 +1473,7 @@ The completions provided by CTRL-X CTRL-O are sensitive to the context:
|
|||||||
|
|
||||||
Notes:
|
Notes:
|
||||||
- Vim will load/evaluate code in order to provide completions. This may
|
- Vim will load/evaluate code in order to provide completions. This may
|
||||||
cause some code execution, which may be a concern. This is no longer
|
cause some code execution, which may be a concern. This is no longer
|
||||||
enabled by default, to enable this feature add >
|
enabled by default, to enable this feature add >
|
||||||
let g:rubycomplete_buffer_loading = 1
|
let g:rubycomplete_buffer_loading = 1
|
||||||
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
<- In context 1 above, Vim can parse the entire buffer to add a list of
|
||||||
@@ -1528,15 +1529,15 @@ that begin with the filetype, "php", in this case. For example these syntax
|
|||||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||||
phpFunctions.
|
phpFunctions.
|
||||||
|
|
||||||
If you wish non-filetype syntax items to also be included, you can use a
|
If you wish non-filetype syntax items to also be included, you can use a
|
||||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
regular expression syntax (added in version 13.0 of
|
||||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
autoload\syntaxcomplete.vim) to add items. Looking at the output from
|
||||||
I can see some of these entries: >
|
":syntax list" while editing a PHP file I can see some of these entries: >
|
||||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||||
|
|
||||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||||
file, you can use 3 different regexs, one for each language. Or you can
|
file, you can use 3 different regexs, one for each language. Or you can
|
||||||
simply restrict the include groups to a particular value, without using
|
simply restrict the include groups to a particular value, without using
|
||||||
a regex string: >
|
a regex string: >
|
||||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||||
@@ -1549,9 +1550,9 @@ highlight. These items will be available within the omni completion list.
|
|||||||
|
|
||||||
Some people may find this list unwieldy or are only interested in certain
|
Some people may find this list unwieldy or are only interested in certain
|
||||||
items. There are two ways to prune this list (if necessary). If you find
|
items. There are two ways to prune this list (if necessary). If you find
|
||||||
certain syntax groups you do not wish displayed you can use two different
|
certain syntax groups you do not wish displayed you can use two different
|
||||||
methods to identify these groups. The first specifically lists the syntax
|
methods to identify these groups. The first specifically lists the syntax
|
||||||
groups by name. The second uses a regular expression to identify both
|
groups by name. The second uses a regular expression to identify both
|
||||||
syntax groups. Simply add one the following to your vimrc: >
|
syntax groups. Simply add one the following to your vimrc: >
|
||||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||||
@@ -1574,22 +1575,22 @@ vimrc: >
|
|||||||
|
|
||||||
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
For plugin developers, the plugin exposes a public function OmniSyntaxList.
|
||||||
This function can be used to request a List of syntax items. When editing a
|
This function can be used to request a List of syntax items. When editing a
|
||||||
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
|
||||||
various groups and syntax items. For example: >
|
various groups and syntax items. For example: >
|
||||||
syntax list
|
syntax list
|
||||||
|
|
||||||
Yields data similar to this: >
|
Yields data similar to this:
|
||||||
sqlOperator xxx some prior all like and any escape exists in is not
|
sqlOperator xxx some prior all like and any escape exists in is not ~
|
||||||
or intersect minus between distinct
|
or intersect minus between distinct ~
|
||||||
links to Operator
|
links to Operator ~
|
||||||
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
|
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier ~
|
||||||
date money long tinyint unsigned xml text smalldate
|
date money long tinyint unsigned xml text smalldate ~
|
||||||
double datetime nchar smallint numeric time bit char
|
double datetime nchar smallint numeric time bit char ~
|
||||||
varbinary binary smallmoney
|
varbinary binary smallmoney ~
|
||||||
image float integer timestamp real decimal
|
image float integer timestamp real decimal ~
|
||||||
|
|
||||||
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
|
||||||
a List of syntax items you can call OmniSyntaxList a number of different
|
a List of syntax items you can call OmniSyntaxList a number of different
|
||||||
ways. To retrieve all syntax items regardless of syntax group: >
|
ways. To retrieve all syntax items regardless of syntax group: >
|
||||||
echo OmniSyntaxList( [] )
|
echo OmniSyntaxList( [] )
|
||||||
|
|
||||||
@@ -1606,7 +1607,6 @@ From within a plugin, you would typically assign the output to a List: >
|
|||||||
let myKeywords = []
|
let myKeywords = []
|
||||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SQL *ft-sql-omni*
|
SQL *ft-sql-omni*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.0. Last change: 2017 Aug 05
|
*intro.txt* For Vim version 8.0. Last change: 2018 Jan 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -138,7 +138,7 @@ There are two ways to report bugs, both work:
|
|||||||
see the message. If you don't want that, e.g. because it is a security
|
see the message. If you don't want that, e.g. because it is a security
|
||||||
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
|
||||||
(that's Bram).
|
(that's Bram).
|
||||||
2. Open issue on GitHub: https://github.com/vim/vim/issues
|
2. Open an issue on GitHub: https://github.com/vim/vim/issues
|
||||||
The text will be forwarded to the vim-dev maillist.
|
The text will be forwarded to the vim-dev maillist.
|
||||||
|
|
||||||
Please be brief; all the time that is spent on answering mail is subtracted
|
Please be brief; all the time that is spent on answering mail is subtracted
|
||||||
@@ -264,6 +264,10 @@ Vim would never have become what it is now, without the help of these people!
|
|||||||
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
||||||
MS-DOS ports, autoconf
|
MS-DOS ports, autoconf
|
||||||
Stefan 'Sec' Zehl Maintainer of vim.org
|
Stefan 'Sec' Zehl Maintainer of vim.org
|
||||||
|
Yasuhiro Matsumoto many MS-Windows improvements
|
||||||
|
Ken Takata fixes and features
|
||||||
|
Kazunobu Kuriyama GTK 3
|
||||||
|
Christian Brabandt many fixes, features, user support, etc.
|
||||||
|
|
||||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||||
list is too long to mention them all here. Vim would not be the same without
|
list is too long to mention them all here. Vim would not be the same without
|
||||||
@@ -839,10 +843,12 @@ by Vim. {Vi: not ok}
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
8. Definitions *definitions*
|
8. Definitions *definitions*
|
||||||
|
|
||||||
|
buffer Contains lines of text, usually read from a file.
|
||||||
screen The whole area that Vim uses to work in. This can be
|
screen The whole area that Vim uses to work in. This can be
|
||||||
a terminal emulator window. Also called "the Vim
|
a terminal emulator window. Also called "the Vim
|
||||||
window".
|
window".
|
||||||
window A view on a buffer.
|
window A view on a buffer. There can be multiple windows for
|
||||||
|
one buffer.
|
||||||
|
|
||||||
A screen contains one or more windows, separated by status lines and with the
|
A screen contains one or more windows, separated by status lines and with the
|
||||||
command line at the bottom.
|
command line at the bottom.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.0. Last change: 2017 May 30
|
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -29,7 +29,7 @@ manual.
|
|||||||
1. Key mapping *key-mapping* *mapping* *macro*
|
1. Key mapping *key-mapping* *mapping* *macro*
|
||||||
|
|
||||||
Key mapping is used to change the meaning of typed keys. The most common use
|
Key mapping is used to change the meaning of typed keys. The most common use
|
||||||
is to define a sequence commands for a function key. Example: >
|
is to define a sequence of commands for a function key. Example: >
|
||||||
|
|
||||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||||
|
|
||||||
@@ -55,6 +55,7 @@ modes.
|
|||||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||||
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
||||||
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
||||||
|
:tma[p] {lhs} {rhs} |mapmode-t| *:tma* *:tmap*
|
||||||
Map the key sequence {lhs} to {rhs} for the modes
|
Map the key sequence {lhs} to {rhs} for the modes
|
||||||
where the map command applies. The result, including
|
where the map command applies. The result, including
|
||||||
{rhs}, is then further scanned for mappings. This
|
{rhs}, is then further scanned for mappings. This
|
||||||
@@ -71,6 +72,7 @@ modes.
|
|||||||
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
:ino[remap] {lhs} {rhs} |mapmode-i| *:ino* *:inoremap*
|
||||||
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
:ln[oremap] {lhs} {rhs} |mapmode-l| *:ln* *:lnoremap*
|
||||||
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
:cno[remap] {lhs} {rhs} |mapmode-c| *:cno* *:cnoremap*
|
||||||
|
:tno[remap] {lhs} {rhs} |mapmode-t| *:tno* *:tnoremap*
|
||||||
Map the key sequence {lhs} to {rhs} for the modes
|
Map the key sequence {lhs} to {rhs} for the modes
|
||||||
where the map command applies. Disallow mapping of
|
where the map command applies. Disallow mapping of
|
||||||
{rhs}, to avoid nested and recursive mappings. Often
|
{rhs}, to avoid nested and recursive mappings. Often
|
||||||
@@ -87,6 +89,7 @@ modes.
|
|||||||
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
||||||
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
||||||
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
||||||
|
:tunma[p] {lhs} |mapmode-t| *:tunma* *:tunmap*
|
||||||
Remove the mapping of {lhs} for the modes where the
|
Remove the mapping of {lhs} for the modes where the
|
||||||
map command applies. The mapping may remain defined
|
map command applies. The mapping may remain defined
|
||||||
for other modes where it applies.
|
for other modes where it applies.
|
||||||
@@ -105,6 +108,7 @@ modes.
|
|||||||
:imapc[lear] |mapmode-i| *:imapc* *:imapclear*
|
:imapc[lear] |mapmode-i| *:imapc* *:imapclear*
|
||||||
:lmapc[lear] |mapmode-l| *:lmapc* *:lmapclear*
|
:lmapc[lear] |mapmode-l| *:lmapc* *:lmapclear*
|
||||||
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
|
||||||
|
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
|
||||||
Remove ALL mappings for the modes where the map
|
Remove ALL mappings for the modes where the map
|
||||||
command applies. {not in Vi}
|
command applies. {not in Vi}
|
||||||
Use the <buffer> argument to remove buffer-local
|
Use the <buffer> argument to remove buffer-local
|
||||||
@@ -121,6 +125,7 @@ modes.
|
|||||||
:im[ap] |mapmode-i|
|
:im[ap] |mapmode-i|
|
||||||
:lm[ap] |mapmode-l|
|
:lm[ap] |mapmode-l|
|
||||||
:cm[ap] |mapmode-c|
|
:cm[ap] |mapmode-c|
|
||||||
|
:tma[p] |mapmode-t|
|
||||||
List all key mappings for the modes where the map
|
List all key mappings for the modes where the map
|
||||||
command applies. Note that ":map" and ":map!" are
|
command applies. Note that ":map" and ":map!" are
|
||||||
used most often, because they include the other modes.
|
used most often, because they include the other modes.
|
||||||
@@ -135,6 +140,7 @@ modes.
|
|||||||
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
||||||
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
||||||
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
||||||
|
:tma[p] {lhs} |mapmode-t| *:tmap_l*
|
||||||
List the key mappings for the key sequences starting
|
List the key mappings for the key sequences starting
|
||||||
with {lhs} in the modes where the map command applies.
|
with {lhs} in the modes where the map command applies.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
@@ -318,6 +324,7 @@ Overview of which map command works in which mode. More details below.
|
|||||||
:imap :inoremap :iunmap Insert
|
:imap :inoremap :iunmap Insert
|
||||||
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
:lmap :lnoremap :lunmap Insert, Command-line, Lang-Arg
|
||||||
:cmap :cnoremap :cunmap Command-line
|
:cmap :cnoremap :cunmap Command-line
|
||||||
|
:tmap :tnoremap :tunmap Terminal-Job
|
||||||
|
|
||||||
|
|
||||||
COMMANDS MODES ~
|
COMMANDS MODES ~
|
||||||
@@ -358,6 +365,10 @@ Therefore the ":map" and ":map!" commands enter and display mappings for
|
|||||||
several modes. In Vim you can use the ":nmap", ":vmap", ":omap", ":cmap" and
|
several modes. In Vim you can use the ":nmap", ":vmap", ":omap", ":cmap" and
|
||||||
":imap" commands to enter mappings for each mode separately.
|
":imap" commands to enter mappings for each mode separately.
|
||||||
|
|
||||||
|
*mapmode-t*
|
||||||
|
The terminal mappings are used in a terminal window, when typing keys for the
|
||||||
|
job running in the terminal. See |terminal-typing|.
|
||||||
|
|
||||||
*omap-info*
|
*omap-info*
|
||||||
Operator-pending mappings can be used to define a movement command that can be
|
Operator-pending mappings can be used to define a movement command that can be
|
||||||
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw"
|
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw"
|
||||||
@@ -418,6 +429,7 @@ When listing mappings the characters in the first two columns are:
|
|||||||
i Insert
|
i Insert
|
||||||
l ":lmap" mappings for Insert, Command-line and Lang-Arg
|
l ":lmap" mappings for Insert, Command-line and Lang-Arg
|
||||||
c Command-line
|
c Command-line
|
||||||
|
t Terminal-Job
|
||||||
|
|
||||||
Just before the {rhs} a special character can appear:
|
Just before the {rhs} a special character can appear:
|
||||||
* indicates that it is not remappable
|
* indicates that it is not remappable
|
||||||
@@ -682,7 +694,7 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
|
|||||||
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
||||||
might want to set the 'ttimeout' option.
|
might want to set the 'ttimeout' option.
|
||||||
|
|
||||||
*map-precedence*
|
*map-precedence*
|
||||||
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
||||||
global mappings. When a buffer-local mapping is the same as a global mapping,
|
global mappings. When a buffer-local mapping is the same as a global mapping,
|
||||||
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
||||||
@@ -1415,6 +1427,8 @@ The valid escape sequences are
|
|||||||
<line1> The starting line of the command range.
|
<line1> The starting line of the command range.
|
||||||
*<line2>*
|
*<line2>*
|
||||||
<line2> The final line of the command range.
|
<line2> The final line of the command range.
|
||||||
|
*<range>*
|
||||||
|
<range> The number of items in the command range: 0, 1 or 2
|
||||||
*<count>*
|
*<count>*
|
||||||
<count> Any count supplied (as described for the '-range'
|
<count> Any count supplied (as described for the '-range'
|
||||||
and '-count' attributes).
|
and '-count' attributes).
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*mbyte.txt* For Vim version 8.0. Last change: 2016 Jul 21
|
*mbyte.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|.
|
|||||||
7. Input on X11 |mbyte-XIM|
|
7. Input on X11 |mbyte-XIM|
|
||||||
8. Input on MS-Windows |mbyte-IME|
|
8. Input on MS-Windows |mbyte-IME|
|
||||||
9. Input with a keymap |mbyte-keymap|
|
9. Input with a keymap |mbyte-keymap|
|
||||||
10. Using UTF-8 |mbyte-utf8|
|
10. Input with imactivatefunc() |mbyte-func|
|
||||||
11. Overview of options |mbyte-options|
|
11. Using UTF-8 |mbyte-utf8|
|
||||||
|
12. Overview of options |mbyte-options|
|
||||||
|
|
||||||
NOTE: This file contains UTF-8 characters. These may show up as strange
|
NOTE: This file contains UTF-8 characters. These may show up as strange
|
||||||
characters or boxes when using another encoding.
|
characters or boxes when using another encoding.
|
||||||
@@ -832,6 +833,9 @@ Use the RPM or port for your system.
|
|||||||
|
|
||||||
Currently, GUI Vim supports three styles, |OverTheSpot|, |OffTheSpot| and
|
Currently, GUI Vim supports three styles, |OverTheSpot|, |OffTheSpot| and
|
||||||
|Root|.
|
|Root|.
|
||||||
|
When compiled with |+GUI_GTK| feature, GUI Vim supports two styles,
|
||||||
|
|OnTheSpot| and |OverTheSpot|. You can select the style with the 'imstyle'
|
||||||
|
option.
|
||||||
|
|
||||||
*. on-the-spot *OnTheSpot*
|
*. on-the-spot *OnTheSpot*
|
||||||
Preedit Area and Status Area are performed by the client application in
|
Preedit Area and Status Area are performed by the client application in
|
||||||
@@ -1251,7 +1255,35 @@ Combining forms:
|
|||||||
ﭏ 0xfb4f Xal alef-lamed
|
ﭏ 0xfb4f Xal alef-lamed
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
10. Input with imactivatefunc() *mbyte-func*
|
||||||
|
|
||||||
|
Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to
|
||||||
|
activate/deactivate the input method from Vim in any way, also with an external
|
||||||
|
command. For example, fcitx provide fcitx-remote command: >
|
||||||
|
|
||||||
|
set iminsert=2
|
||||||
|
set imsearch=2
|
||||||
|
set imcmdline
|
||||||
|
|
||||||
|
set imactivatefunc=ImActivate
|
||||||
|
function! ImActivate(active)
|
||||||
|
if a:active
|
||||||
|
call system('fcitx-remote -o')
|
||||||
|
else
|
||||||
|
call system('fcitx-remote -c')
|
||||||
|
endif
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
set imstatusfunc=ImStatus
|
||||||
|
function! ImStatus()
|
||||||
|
return system('fcitx-remote')[0] is# '2'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
Using this script, you can activate/deactivate XIM via Vim even when it is not
|
||||||
|
compiled with |+xim|.
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8*
|
||||||
*Unicode* *unicode*
|
*Unicode* *unicode*
|
||||||
The Unicode character set was designed to include all characters from other
|
The Unicode character set was designed to include all characters from other
|
||||||
character sets. Therefore it is possible to write text in any language using
|
character sets. Therefore it is possible to write text in any language using
|
||||||
@@ -1399,7 +1431,7 @@ not everybody is able to type a composing character.
|
|||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
11. Overview of options *mbyte-options*
|
12. Overview of options *mbyte-options*
|
||||||
|
|
||||||
These options are relevant for editing multi-byte files. Check the help in
|
These options are relevant for editing multi-byte files. Check the help in
|
||||||
options.txt for detailed information.
|
options.txt for detailed information.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*message.txt* For Vim version 8.0. Last change: 2017 Mar 25
|
*message.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -463,12 +463,6 @@ changed. To avoid the message reset the 'warn' option.
|
|||||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||||
how to reproduce this problem, please report it. |bugs|
|
how to reproduce this problem, please report it. |bugs|
|
||||||
|
|
||||||
*E172* >
|
|
||||||
Only one file name allowed
|
|
||||||
|
|
||||||
The ":edit" command only accepts one file name. When you want to specify
|
|
||||||
several files for editing use ":next" |:next|.
|
|
||||||
|
|
||||||
*E41* *E82* *E83* *E342* >
|
*E41* *E82* *E83* *E342* >
|
||||||
Out of memory!
|
Out of memory!
|
||||||
Out of memory! (allocating {number} bytes)
|
Out of memory! (allocating {number} bytes)
|
||||||
@@ -645,6 +639,9 @@ starts. It can be fixed in one of these ways:
|
|||||||
- Just write the file again the next day. Or set your clock to the next day,
|
- Just write the file again the next day. Or set your clock to the next day,
|
||||||
write the file twice and set the clock back.
|
write the file twice and set the clock back.
|
||||||
|
|
||||||
|
If you get W11 all the time, you may need to disable "Acronis Active
|
||||||
|
Protection" or register Vim as a trusted service/application.
|
||||||
|
|
||||||
*W12* >
|
*W12* >
|
||||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 8.0. Last change: 2017 Mar 12
|
*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
|
|||||||
H To line [count] from top (Home) of window (default:
|
H To line [count] from top (Home) of window (default:
|
||||||
first line on the window) on the first non-blank
|
first line on the window) on the first non-blank
|
||||||
character |linewise|. See also 'startofline' option.
|
character |linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yH" yanks from the first visible line
|
||||||
|
until the cursor line (inclusive).
|
||||||
|
|
||||||
*M*
|
*M*
|
||||||
M To Middle line of window, on the first non-blank
|
M To Middle line of window, on the first non-blank
|
||||||
@@ -1327,7 +1330,10 @@ M To Middle line of window, on the first non-blank
|
|||||||
L To line [count] from bottom of window (default: Last
|
L To line [count] from bottom of window (default: Last
|
||||||
line on the window) on the first non-blank character
|
line on the window) on the first non-blank character
|
||||||
|linewise|. See also 'startofline' option.
|
|linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yL" yanks from the cursor to the last
|
||||||
|
visible line.
|
||||||
|
|
||||||
<LeftMouse> Moves to the position on the screen where the mouse
|
<LeftMouse> Moves to the position on the screen where the mouse
|
||||||
click is |exclusive|. See also |<LeftMouse>|. If the
|
click is |exclusive|. See also |<LeftMouse>|. If the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2017 Jul 31
|
*options.txt* For Vim version 8.0. Last change: 2017 Dec 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -417,12 +417,23 @@ On Unix systems the form "${HOME}" can be used too. The name between {} can
|
|||||||
contain non-id characters then. Note that if you want to use this for the
|
contain non-id characters then. Note that if you want to use this for the
|
||||||
"gf" command, you need to add the '{' and '}' characters to 'isfname'.
|
"gf" command, you need to add the '{' and '}' characters to 'isfname'.
|
||||||
|
|
||||||
On MS-Windows, if $HOME is not defined as an environment variable, then
|
|
||||||
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
|
||||||
|
|
||||||
NOTE: expanding environment variables and "~/" is only done with the ":set"
|
NOTE: expanding environment variables and "~/" is only done with the ":set"
|
||||||
command, not when assigning a value to an option with ":let".
|
command, not when assigning a value to an option with ":let".
|
||||||
|
|
||||||
|
*$HOME-windows*
|
||||||
|
On MS-Windows, if $HOME is not defined as an environment variable, then
|
||||||
|
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
||||||
|
If $HOMEDRIVE is not set then $USERPROFILE is used.
|
||||||
|
|
||||||
|
This expanded value is not exported to the environment, this matters when
|
||||||
|
running an external command: >
|
||||||
|
:echo system('set | findstr ^HOME=')
|
||||||
|
and >
|
||||||
|
:echo luaeval('os.getenv("HOME")')
|
||||||
|
should echo nothing (an empty string) despite exists('$HOME') being true.
|
||||||
|
When setting $HOME to a non-empty string it will be exported to the
|
||||||
|
subprocesses.
|
||||||
|
|
||||||
|
|
||||||
Note the maximum length of an expanded option is limited. How much depends on
|
Note the maximum length of an expanded option is limited. How much depends on
|
||||||
the system, mostly it is something like 256 or 1024 characters.
|
the system, mostly it is something like 256 or 1024 characters.
|
||||||
@@ -721,7 +732,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Vim may set this option automatically at startup time when Vim is
|
Vim may set this option automatically at startup time when Vim is
|
||||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||||
escape sequence to request cursor position report.
|
escape sequence to request cursor position report. The response can
|
||||||
|
be found in |v:termu7resp|.
|
||||||
|
|
||||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||||
'antialias' 'anti' boolean (default: off)
|
'antialias' 'anti' boolean (default: off)
|
||||||
@@ -869,11 +881,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Vim will guess the value. In the GUI this should work correctly,
|
< Vim will guess the value. In the GUI this should work correctly,
|
||||||
in other cases Vim might not be able to guess the right value.
|
in other cases Vim might not be able to guess the right value.
|
||||||
|
|
||||||
When the t_BG option is set, Vim will use it to request the background
|
When the |t_RB| option is set, Vim will use it to request the background
|
||||||
color from the terminal. If the returned RGB value is dark/light and
|
color from the terminal. If the returned RGB value is dark/light and
|
||||||
'background' is not dark/light, 'background' will be set and the
|
'background' is not dark/light, 'background' will be set and the
|
||||||
screen is redrawn. This may have side effects, make t_BG empty in
|
screen is redrawn. This may have side effects, make t_BG empty in
|
||||||
your .vimrc if you suspect this problem.
|
your .vimrc if you suspect this problem. The response to |t_RB| can
|
||||||
|
be found in |v:termrbgresp|.
|
||||||
|
|
||||||
When starting the GUI, the default value for 'background' will be
|
When starting the GUI, the default value for 'background' will be
|
||||||
"light". When the value is not set in the .gvimrc, and Vim detects
|
"light". When the value is not set in the .gvimrc, and Vim detects
|
||||||
@@ -889,6 +902,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
|
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
|
||||||
background. Otherwise the default is "light".
|
background. Otherwise the default is "light".
|
||||||
|
|
||||||
|
The |:terminal| command and the |term_start()| function use the
|
||||||
|
'background' value to decide whether the terminal window will start
|
||||||
|
with a white or black background.
|
||||||
|
|
||||||
Normally this option would be set in the .vimrc file. Possibly
|
Normally this option would be set in the .vimrc file. Possibly
|
||||||
depending on the terminal name. Example: >
|
depending on the terminal name. Example: >
|
||||||
:if &term == "pcterm"
|
:if &term == "pcterm"
|
||||||
@@ -1110,7 +1127,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+balloon_eval|
|
{only available when compiled with the |+balloon_eval|
|
||||||
feature}
|
feature}
|
||||||
Switch on the |balloon-eval| functionality.
|
Switch on the |balloon-eval| functionality for the GUI.
|
||||||
|
|
||||||
|
*'balloonevalterm'* *'bevalterm'* *'noballoonevalterm'*
|
||||||
|
*'nobevalterm'*
|
||||||
|
'balloonevalterm' 'bevalterm' boolean (default off)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the
|
||||||
|
|+balloon_eval_term| feature}
|
||||||
|
Switch on the |balloon-eval| functionality for the terminal.
|
||||||
|
|
||||||
*'balloonexpr'* *'bexpr'*
|
*'balloonexpr'* *'bexpr'*
|
||||||
'balloonexpr' 'bexpr' string (default "")
|
'balloonexpr' 'bexpr' string (default "")
|
||||||
@@ -2608,6 +2634,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
vertical Start diff mode with vertical splits (unless
|
vertical Start diff mode with vertical splits (unless
|
||||||
explicitly specified otherwise).
|
explicitly specified otherwise).
|
||||||
|
|
||||||
|
hiddenoff Do not use diff mode for a buffer when it
|
||||||
|
becomes hidden.
|
||||||
|
|
||||||
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
foldcolumn:{n} Set the 'foldcolumn' option to {n} when
|
||||||
starting diff mode. Without this 2 is used.
|
starting diff mode. Without this 2 is used.
|
||||||
|
|
||||||
@@ -3504,6 +3533,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
systems without an fsync() implementation, this variable is always
|
systems without an fsync() implementation, this variable is always
|
||||||
off.
|
off.
|
||||||
Also see 'swapsync' for controlling fsync() on swap files.
|
Also see 'swapsync' for controlling fsync() on swap files.
|
||||||
|
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||||
|
overrule it.
|
||||||
|
|
||||||
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
||||||
'gdefault' 'gd' boolean (default off)
|
'gdefault' 'gd' boolean (default off)
|
||||||
@@ -3878,7 +3909,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
that this flag must be added in the .vimrc file, before
|
that this flag must be added in the .vimrc file, before
|
||||||
switching on syntax or filetype recognition (when the |gvimrc|
|
switching on syntax or filetype recognition (when the |gvimrc|
|
||||||
file is sourced the system menu has already been loaded; the
|
file is sourced the system menu has already been loaded; the
|
||||||
":syntax on" and ":filetype on" commands load the menu too).
|
`:syntax on` and `:filetype on` commands load the menu too).
|
||||||
*'go-g'*
|
*'go-g'*
|
||||||
'g' Grey menu items: Make menu items that are not active grey. If
|
'g' Grey menu items: Make menu items that are not active grey. If
|
||||||
'g' is not included inactive menu items are not shown at all.
|
'g' is not included inactive menu items are not shown at all.
|
||||||
@@ -3922,7 +3953,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
removing it after the GUI has started has no effect.
|
removing it after the GUI has started has no effect.
|
||||||
*'go-F'*
|
*'go-F'*
|
||||||
'F' Add a footer. Only for Motif. See |gui-footer|.
|
'F' Add a footer. Only for Motif. See |gui-footer|.
|
||||||
|
*'go-k'*
|
||||||
|
'k' Keep the GUI window size when adding/removing a scrollbar, or
|
||||||
|
toolbar, tabline, etc. Instead, the behavior is similar to
|
||||||
|
when the window is maximized and will adjust 'lines' and
|
||||||
|
'columns' to fit to the window. Without the 'k' flag Vim will
|
||||||
|
try to keep 'lines' and 'columns' the same when adding and
|
||||||
|
removing GUI components.
|
||||||
|
|
||||||
*'guipty'* *'noguipty'*
|
*'guipty'* *'noguipty'*
|
||||||
'guipty' boolean (default on)
|
'guipty' boolean (default on)
|
||||||
@@ -4041,7 +4078,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||||
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
.:CursorLine,o:ColorColumn,q:QuickFixLine,
|
||||||
$:StatusLineTerm")
|
z:StatusLineTerm,Z:StatusLineTermNC")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
This option can be used to set highlighting mode for various
|
This option can be used to set highlighting mode for various
|
||||||
@@ -4066,7 +4103,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
set.
|
set.
|
||||||
|hl-Question| r |hit-enter| prompt and yes/no questions
|
|hl-Question| r |hit-enter| prompt and yes/no questions
|
||||||
|hl-StatusLine| s status line of current window |status-line|
|
|hl-StatusLine| s status line of current window |status-line|
|
||||||
|hl-StatusLineNC| S status lines of not-current windows
|
|hl-StatusLineNC| S status lines of not-current windows
|
||||||
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
|hl-Title| t Titles for output from ":set all", ":autocmd" etc.
|
||||||
|hl-VertSplit| c column used to separate vertically split windows
|
|hl-VertSplit| c column used to separate vertically split windows
|
||||||
|hl-Visual| v Visual mode
|
|hl-Visual| v Visual mode
|
||||||
@@ -4100,6 +4137,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
s standout (termcap entry "so" and "se")
|
s standout (termcap entry "so" and "se")
|
||||||
u underline (termcap entry "us" and "ue")
|
u underline (termcap entry "us" and "ue")
|
||||||
c undercurl (termcap entry "Cs" and "Ce")
|
c undercurl (termcap entry "Cs" and "Ce")
|
||||||
|
t strikethrough (termcap entry "Ts" and "Te")
|
||||||
n no highlighting
|
n no highlighting
|
||||||
- no highlighting
|
- no highlighting
|
||||||
: use a highlight group
|
: use a highlight group
|
||||||
@@ -4221,10 +4259,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imactivatefunc' 'imaf' string (default "")
|
'imactivatefunc' 'imaf' string (default "")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+mbyte|}
|
||||||
|+GUI_GTK|}
|
|
||||||
This option specifies a function that will be called to
|
This option specifies a function that will be called to
|
||||||
activate/inactivate Input Method.
|
activate or deactivate the Input Method.
|
||||||
|
It is not used in the GUI.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
function ImActivateFunc(active)
|
function ImActivateFunc(active)
|
||||||
@@ -4273,8 +4311,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imcmdline' 'imc' boolean (default off)
|
'imcmdline' 'imc' boolean (default off)
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+xim|,
|
{only available when compiled with |+mbyte|}
|
||||||
|+multi_byte_ime| or |global-ime| features}
|
|
||||||
When set the Input Method is always on when starting to edit a command
|
When set the Input Method is always on when starting to edit a command
|
||||||
line, unless entering a search pattern (see 'imsearch' for that).
|
line, unless entering a search pattern (see 'imsearch' for that).
|
||||||
Setting this option is useful when your input method allows entering
|
Setting this option is useful when your input method allows entering
|
||||||
@@ -4285,15 +4322,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+xim|,
|
{only available when compiled with |+mbyte|}
|
||||||
|+multi_byte_ime| or |global-ime| features}
|
|
||||||
When set the Input Method is never used. This is useful to disable
|
When set the Input Method is never used. This is useful to disable
|
||||||
the IM when it doesn't work properly.
|
the IM when it doesn't work properly.
|
||||||
Currently this option is on by default for SGI/IRIX machines. This
|
Currently this option is on by default for SGI/IRIX machines. This
|
||||||
may change in later releases.
|
may change in later releases.
|
||||||
|
|
||||||
*'iminsert'* *'imi'*
|
*'iminsert'* *'imi'*
|
||||||
'iminsert' 'imi' number (default 0, 2 when an input method is supported)
|
'iminsert' 'imi' number (default 0)
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Specifies whether :lmap or an Input Method (IM) is to be used in
|
Specifies whether :lmap or an Input Method (IM) is to be used in
|
||||||
@@ -4301,8 +4337,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
0 :lmap is off and IM is off
|
0 :lmap is off and IM is off
|
||||||
1 :lmap is ON and IM is off
|
1 :lmap is ON and IM is off
|
||||||
2 :lmap is off and IM is ON
|
2 :lmap is off and IM is ON
|
||||||
2 is available only when compiled with the |+multi_byte_ime|, |+xim|
|
|
||||||
or |global-ime|.
|
|
||||||
To always reset the option to zero when leaving Insert mode with <Esc>
|
To always reset the option to zero when leaving Insert mode with <Esc>
|
||||||
this can be used: >
|
this can be used: >
|
||||||
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
:inoremap <ESC> <ESC>:set iminsert=0<CR>
|
||||||
@@ -4315,8 +4349,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
The value 0 may not work correctly with Athena and Motif with some XIM
|
The value 0 may not work correctly with Athena and Motif with some XIM
|
||||||
methods. Use 'imdisable' to disable XIM then.
|
methods. Use 'imdisable' to disable XIM then.
|
||||||
|
|
||||||
|
You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM
|
||||||
|
via external command if vim is not compiled with the |+xim|,
|
||||||
|
|+multi_byte_ime| or |global-ime|.
|
||||||
|
|
||||||
*'imsearch'* *'ims'*
|
*'imsearch'* *'ims'*
|
||||||
'imsearch' 'ims' number (default 0, 2 when an input method is supported)
|
'imsearch' 'ims' number (default -1)
|
||||||
local to buffer
|
local to buffer
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
Specifies whether :lmap or an Input Method (IM) is to be used when
|
Specifies whether :lmap or an Input Method (IM) is to be used when
|
||||||
@@ -4337,10 +4375,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
'imstatusfunc' 'imsf' string (default "")
|
'imstatusfunc' 'imsf' string (default "")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+mbyte|}
|
||||||
|+GUI_GTK|}
|
|
||||||
This option specifies a function that is called to obtain the status
|
This option specifies a function that is called to obtain the status
|
||||||
of Input Method. It must return a positive number when IME is active.
|
of Input Method. It must return a positive number when IME is active.
|
||||||
|
It is not used in the GUI.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
function ImStatusFunc()
|
function ImStatusFunc()
|
||||||
@@ -4351,6 +4389,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
<
|
<
|
||||||
NOTE: This function is invoked very often. Keep it fast.
|
NOTE: This function is invoked very often. Keep it fast.
|
||||||
|
|
||||||
|
*'imstyle'* *'imst'*
|
||||||
|
'imstyle' 'imst' number (default 1)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with |+xim| and
|
||||||
|
|+GUI_GTK|}
|
||||||
|
This option specifies the input style of Input Method:
|
||||||
|
0 use on-the-spot style
|
||||||
|
1 over-the-spot style
|
||||||
|
See: |xim-input-style|
|
||||||
|
|
||||||
|
For a long time on-the-spot style had been used in the GTK version of
|
||||||
|
vim, however, it is known that it causes troubles when using mappings,
|
||||||
|
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||||
|
default now. This should work fine for most people, however if you
|
||||||
|
have any problem with it, try using on-the-spot style.
|
||||||
|
|
||||||
*'include'* *'inc'*
|
*'include'* *'inc'*
|
||||||
'include' 'inc' string (default "^\s*#\s*include")
|
'include' 'inc' string (default "^\s*#\s*include")
|
||||||
global or local to buffer |global-local|
|
global or local to buffer |global-local|
|
||||||
@@ -4412,7 +4467,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
match may not be found. This is to avoid that Vim hangs while you
|
match may not be found. This is to avoid that Vim hangs while you
|
||||||
are typing the pattern.
|
are typing the pattern.
|
||||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||||
See also: 'hlsearch'.
|
When 'hlsearch' is on, all matched strings are highlighted too while
|
||||||
|
typing a search command. See also: 'hlsearch'.
|
||||||
|
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||||
|
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||||
|
Example: >
|
||||||
|
augroup vimrc-incsearch-highlight
|
||||||
|
autocmd!
|
||||||
|
autocmd CmdlineEnter /,\? :set hlsearch
|
||||||
|
autocmd CmdlineLeave /,\? :set nohlsearch
|
||||||
|
augroup END
|
||||||
|
<
|
||||||
CTRL-L can be used to add one character from after the current match
|
CTRL-L can be used to add one character from after the current match
|
||||||
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
||||||
command line has no uppercase characters, the added character is
|
command line has no uppercase characters, the added character is
|
||||||
@@ -5082,7 +5147,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
:au FileType c,cpp,java set mps+==:;
|
:au FileType c,cpp,java set mps+==:;
|
||||||
|
|
||||||
< For a more advanced way of using "%", see the matchit.vim plugin in
|
< For a more advanced way of using "%", see the matchit.vim plugin in
|
||||||
the $VIMRUNTIME/macros directory. |add-local-help|
|
the $VIMRUNTIME/pack/dist/opt/matchit directory. |add-local-help|
|
||||||
|
|
||||||
*'matchtime'* *'mat'*
|
*'matchtime'* *'mat'*
|
||||||
'matchtime' 'mat' number (default 5)
|
'matchtime' 'mat' number (default 5)
|
||||||
@@ -5285,7 +5350,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
sysmouse and Linux console with gpm). For using the mouse in the
|
sysmouse and Linux console with gpm). For using the mouse in the
|
||||||
GUI, see |gui-mouse|.
|
GUI, see |gui-mouse|.
|
||||||
The mouse can be enabled for different modes:
|
The mouse can be enabled for different modes:
|
||||||
n Normal mode
|
n Normal mode and Terminal modes
|
||||||
v Visual mode
|
v Visual mode
|
||||||
i Insert mode
|
i Insert mode
|
||||||
c Command-line mode
|
c Command-line mode
|
||||||
@@ -5433,6 +5498,33 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
time in msec between two mouse clicks for the second click to be
|
time in msec between two mouse clicks for the second click to be
|
||||||
recognized as a multi click.
|
recognized as a multi click.
|
||||||
|
|
||||||
|
*'mzschemedll'*
|
||||||
|
'mzschemedll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme shared library. The default is
|
||||||
|
DYNAMIC_MZSCH_DLL which was specified at compile time.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
The value must be set in the |vimrc| script or earlier. In the
|
||||||
|
startup, before the |load-plugins| step.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'mzschemegcdll'*
|
||||||
|
'mzschemegcdll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme GC shared library. The default is
|
||||||
|
DYNAMIC_MZGC_DLL which was specified at compile time.
|
||||||
|
The value can be equal to 'mzschemedll' if it includes the GC code.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'mzquantum'* *'mzq'*
|
*'mzquantum'* *'mzq'*
|
||||||
'mzquantum' 'mzq' number (default 100)
|
'mzquantum' 'mzq' number (default 100)
|
||||||
global
|
global
|
||||||
@@ -5657,11 +5749,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
copy of the original file will be kept. The name of the copy is the
|
copy of the original file will be kept. The name of the copy is the
|
||||||
name of the original file with the string in the 'patchmode' option
|
name of the original file with the string in the 'patchmode' option
|
||||||
appended. This option should start with a dot. Use a string like
|
appended. This option should start with a dot. Use a string like
|
||||||
".org". 'backupdir' must not be empty for this to work (Detail: The
|
".orig" or ".org". 'backupdir' must not be empty for this to work
|
||||||
backup file is renamed to the patchmode file after the new file has
|
(Detail: The backup file is renamed to the patchmode file after the
|
||||||
been successfully written, that's why it must be possible to write a
|
new file has been successfully written, that's why it must be possible
|
||||||
backup file). If there was no file to be backed up, an empty file is
|
to write a backup file). If there was no file to be backed up, an
|
||||||
created.
|
empty file is created.
|
||||||
When the 'backupskip' pattern matches, a patchmode file is not made.
|
When the 'backupskip' pattern matches, a patchmode file is not made.
|
||||||
Using 'patchmode' for compressed files appends the extension at the
|
Using 'patchmode' for compressed files appends the extension at the
|
||||||
end (e.g., "file.gz.orig"), thus the resulting name isn't always
|
end (e.g., "file.gz.orig"), thus the resulting name isn't always
|
||||||
@@ -5873,6 +5965,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
DYNAMIC_PYTHON_DLL, which was specified at compile time.
|
DYNAMIC_PYTHON_DLL, which was specified at compile time.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'pythonhome'*
|
||||||
|
'pythonhome' string (default "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+python/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Python 2.x home directory. When 'pythonhome'
|
||||||
|
and the PYTHONHOME environment variable are not set, PYTHON_HOME,
|
||||||
|
which was specified at compile time, will be used for the Python 2.x
|
||||||
|
home directory.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'pythonthreedll'*
|
*'pythonthreedll'*
|
||||||
@@ -5885,6 +5991,20 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
|
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'pythonthreehome'*
|
||||||
|
'pythonthreehome' string (default "")
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+python3/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Python 3 home directory. When
|
||||||
|
'pythonthreehome' and the PYTHONHOME environment variable are not set,
|
||||||
|
PYTHON3_HOME, which was specified at compile time, will be used for
|
||||||
|
the Python 3 home directory.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'pyxversion'* *'pyx'*
|
*'pyxversion'* *'pyx'*
|
||||||
@@ -6030,9 +6150,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
geom pixelGeometry int 0 - 2 (see below)
|
geom pixelGeometry int 0 - 2 (see below)
|
||||||
renmode renderingMode int 0 - 6 (see below)
|
renmode renderingMode int 0 - 6 (see below)
|
||||||
taamode textAntialiasMode int 0 - 3 (see below)
|
taamode textAntialiasMode int 0 - 3 (see below)
|
||||||
|
scrlines Scroll Lines int (deprecated)
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail (except for scrlines):
|
||||||
http://msdn.microsoft.com/en-us/library/dd368190.aspx
|
https://msdn.microsoft.com/en-us/library/dd368190.aspx
|
||||||
|
|
||||||
For geom: structure of a device pixel.
|
For geom: structure of a device pixel.
|
||||||
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
0 - DWRITE_PIXEL_GEOMETRY_FLAT
|
||||||
@@ -6040,7 +6161,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
2 - DWRITE_PIXEL_GEOMETRY_BGR
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368114.aspx
|
https://msdn.microsoft.com/en-us/library/dd368114.aspx
|
||||||
|
|
||||||
For renmode: method of rendering glyphs.
|
For renmode: method of rendering glyphs.
|
||||||
0 - DWRITE_RENDERING_MODE_DEFAULT
|
0 - DWRITE_RENDERING_MODE_DEFAULT
|
||||||
@@ -6052,7 +6173,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
6 - DWRITE_RENDERING_MODE_OUTLINE
|
6 - DWRITE_RENDERING_MODE_OUTLINE
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368118.aspx
|
https://msdn.microsoft.com/en-us/library/dd368118.aspx
|
||||||
|
|
||||||
For taamode: antialiasing mode used for drawing text.
|
For taamode: antialiasing mode used for drawing text.
|
||||||
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
0 - D2D1_TEXT_ANTIALIAS_MODE_DEFAULT
|
||||||
@@ -6061,15 +6182,41 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
3 - D2D1_TEXT_ANTIALIAS_MODE_ALIASED
|
||||||
|
|
||||||
See this URL for detail:
|
See this URL for detail:
|
||||||
http://msdn.microsoft.com/en-us/library/dd368170.aspx
|
https://msdn.microsoft.com/en-us/library/dd368170.aspx
|
||||||
|
|
||||||
|
For scrlines:
|
||||||
|
This was used for optimizing scrolling behavior, however this
|
||||||
|
is now deprecated. If specified, it is simply ignored.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
set encoding=utf-8
|
set encoding=utf-8
|
||||||
set gfn=Ricty_Diminished:h12:cSHIFTJIS
|
set gfn=Ricty_Diminished:h12
|
||||||
set rop=type:directx
|
set rop=type:directx
|
||||||
<
|
<
|
||||||
If select a raster font (Courier, Terminal or FixedSys) to
|
If select a raster font (Courier, Terminal or FixedSys which
|
||||||
'guifont', it fallbacks to be drawn by GDI automatically.
|
have ".fon" extension in file name) to 'guifont', it will be
|
||||||
|
drawn by GDI as a fallback.
|
||||||
|
|
||||||
|
NOTE: It is known that some fonts and options combination
|
||||||
|
causes trouble on drawing glyphs.
|
||||||
|
|
||||||
|
- 'renmode:5' and 'renmode:6' will not work with some
|
||||||
|
special made fonts (True-Type fonts which includes only
|
||||||
|
bitmap glyphs).
|
||||||
|
- 'taamode:3' will not work with some vector fonts.
|
||||||
|
|
||||||
|
NOTE: With this option, you can display colored emoji
|
||||||
|
(emoticon) in Windows 8.1 or later. To display colored emoji,
|
||||||
|
there are some conditions which you should notice.
|
||||||
|
|
||||||
|
- If your font includes non-colored emoji already, it will
|
||||||
|
be used.
|
||||||
|
- If your font doesn't have emoji, the system chooses an
|
||||||
|
alternative symbol font. On Windows 10, "Segoe UI Emoji"
|
||||||
|
will be used.
|
||||||
|
- When this alternative font didn't have fixed width glyph,
|
||||||
|
emoji might be rendered beyond the bounding box of drawing
|
||||||
|
cell.
|
||||||
|
|
||||||
Other render types are currently not supported.
|
Other render types are currently not supported.
|
||||||
|
|
||||||
@@ -6483,14 +6630,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
It is allowed to give an argument to the command, e.g. "csh -f".
|
It is allowed to give an argument to the command, e.g. "csh -f".
|
||||||
See |option-backslash| about including spaces and backslashes.
|
See |option-backslash| about including spaces and backslashes.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
|
|
||||||
If the name of the shell contains a space, you might need to enclose
|
If the name of the shell contains a space, you might need to enclose
|
||||||
it in quotes. Example: >
|
it in quotes or escape the space. Example with quotes: >
|
||||||
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
||||||
< Note the backslash before each quote (to avoid starting a comment) and
|
< Note the backslash before each quote (to avoid starting a comment) and
|
||||||
each space (to avoid ending the option value). Also note that the
|
each space (to avoid ending the option value). Also note that the
|
||||||
"-f" is not inside the quotes, because it is not part of the command
|
"-f" is not inside the quotes, because it is not part of the command
|
||||||
name. And Vim automagically recognizes the backslashes that are path
|
name. Vim automagically recognizes the backslashes that are path
|
||||||
separators.
|
separators.
|
||||||
|
Example with escaped space (Vim will do this when initializing the
|
||||||
|
option from $SHELL): >
|
||||||
|
:set shell=/bin/with\\\ space/sh
|
||||||
|
< The resulting value of 'shell' is "/bin/with\ space/sh", two
|
||||||
|
backslashes are consumed by `:set`.
|
||||||
|
|
||||||
Under MS-Windows, when the executable ends in ".com" it must be
|
Under MS-Windows, when the executable ends in ".com" it must be
|
||||||
included. Thus setting the shell to "command.com" or "4dos.com"
|
included. Thus setting the shell to "command.com" or "4dos.com"
|
||||||
works, but "command" and "4dos" do not work for all commands (e.g.,
|
works, but "command" and "4dos" do not work for all commands (e.g.,
|
||||||
@@ -8143,7 +8297,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
number, more intelligent detection process runs.
|
number, more intelligent detection process runs.
|
||||||
The "xterm2" value will be set if the xterm version is reported to be
|
The "xterm2" value will be set if the xterm version is reported to be
|
||||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||||
277 or highter.
|
277 or higher and when Vim detects Mac Terminal.app or iTerm2.
|
||||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||||
automatically, set t_RV to an empty string: >
|
automatically, set t_RV to an empty string: >
|
||||||
:set t_RV=
|
:set t_RV=
|
||||||
@@ -8224,7 +8378,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Save the whole buffer for undo when reloading it. This applies to the
|
Save the whole buffer for undo when reloading it. This applies to the
|
||||||
":e!" command and reloading for when the buffer changed outside of
|
":e!" command and reloading for when the buffer changed outside of
|
||||||
Vim. |FileChangedShell|
|
Vim. |FileChangedShell|
|
||||||
The save only happens when this options is negative or when the number
|
The save only happens when this option is negative or when the number
|
||||||
of lines is smaller than the value of this option.
|
of lines is smaller than the value of this option.
|
||||||
Set this option to zero to disable undo for a reload.
|
Set this option to zero to disable undo for a reload.
|
||||||
|
|
||||||
@@ -8309,7 +8463,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'viewoptions'* *'vop'*
|
*'viewoptions'* *'vop'*
|
||||||
'viewoptions' 'vop' string (default: "folds,options,cursor")
|
'viewoptions' 'vop' string (default: "folds,options,cursor,curdir")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+mksession|
|
{not available when compiled without the |+mksession|
|
||||||
@@ -8327,6 +8481,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
slashes
|
slashes
|
||||||
unix with Unix end-of-line format (single <NL>), even when
|
unix with Unix end-of-line format (single <NL>), even when
|
||||||
on Windows or DOS
|
on Windows or DOS
|
||||||
|
curdir the window-local directory, if set with `:lcd`
|
||||||
|
|
||||||
"slash" and "unix" are useful on Windows when sharing view files
|
"slash" and "unix" are useful on Windows when sharing view files
|
||||||
with Unix. The Unix version of Vim cannot source dos format scripts,
|
with Unix. The Unix version of Vim cannot source dos format scripts,
|
||||||
@@ -8839,7 +8994,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
feature on MS-Windows}
|
feature on MS-Windows}
|
||||||
Specifies the name of the winpty shared library, used for the
|
Specifies the name of the winpty shared library, used for the
|
||||||
|:terminal| command. The default depends on whether was build as a
|
|:terminal| command. The default depends on whether was build as a
|
||||||
32-bit or 64-bit executable. If not found, "win32pty.dll" is tried as
|
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||||
a fallback.
|
a fallback.
|
||||||
Environment variables are expanded |:set_env|.
|
Environment variables are expanded |:set_env|.
|
||||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*os_mac.txt* For Vim version 8.0. Last change: 2017 Apr 28
|
*os_mac.txt* For Vim version 8.0. Last change: 2018 Jan 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||||
@@ -164,8 +164,9 @@ If you want to disable it, pass `--disable-darwin` to the configure script: >
|
|||||||
and then run `make` to build Vim. The order of the options doesn't matter.
|
and then run `make` to build Vim. The order of the options doesn't matter.
|
||||||
|
|
||||||
To make sure at runtime whether or not the darwin feature is compiled in, you
|
To make sure at runtime whether or not the darwin feature is compiled in, you
|
||||||
can use `has('macunix')` which returns 1 if the feature is compiled in; 0
|
can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
|
||||||
otherwise.
|
otherwise. For backward compatibility, you can still use `macunix` instead of
|
||||||
|
`osxdarwin`.
|
||||||
|
|
||||||
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,45 @@ The directory of the Vim executable is appended to $PATH. This is mostly to
|
|||||||
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
||||||
executable() returns 1 the executable can actually be executed.
|
executable() returns 1 the executable can actually be executed.
|
||||||
|
|
||||||
Quotes in file names *win32-quotes*
|
Command line arguments *win32-cmdargs*
|
||||||
|
|
||||||
Quotes inside a file name (or any other command line argument) can be escaped
|
Analysis of a command line into parameters is not standardised in MS Windows.
|
||||||
with a backslash. E.g. >
|
Vim and gvim used to use different logic to parse it (before 7.4.432), and the
|
||||||
|
logic was also depended on what it was compiled with. Now Vim and gvim both
|
||||||
|
use the CommandLineToArgvW() Win32 API, so they behave in the same way.
|
||||||
|
|
||||||
|
The basic rules are: *win32-backslashes*
|
||||||
|
a) A parameter is a sequence of graphic characters.
|
||||||
|
b) Parameters are separated by white space.
|
||||||
|
c) A parameter can be enclosed in double quotes to include white space.
|
||||||
|
d) A sequence of zero or more backslashes (\) and a double quote (")
|
||||||
|
is special. The effective number of backslashes is halved, rounded
|
||||||
|
down. An even number of backslashes reverses the acceptability of
|
||||||
|
spaces and tabs, an odd number of backslashes produces a literal
|
||||||
|
double quote.
|
||||||
|
|
||||||
|
So:
|
||||||
|
" is a special double quote
|
||||||
|
\" is a literal double quote
|
||||||
|
\\" is a literal backslash and a special double quote
|
||||||
|
\\\" is a literal backslash and a literal double quote
|
||||||
|
\\\\" is 2 literal backslashes and a special double quote
|
||||||
|
\\\\\" is 2 literal backslashes and a literal double quote
|
||||||
|
etc.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
||||||
|
|
||||||
|
opens "C:\My Music\freude" and executes the line mode commands: >
|
||||||
|
set ignorecase; /"foo\ and /bar\"
|
||||||
|
|
||||||
|
These rules are also described in the reference of the CommandLineToArgvW API:
|
||||||
|
https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx
|
||||||
|
|
||||||
|
*win32-quotes*
|
||||||
|
There are additional rules for quotes (which are not well documented).
|
||||||
|
As described above, quotes inside a file name (or any other command line
|
||||||
|
argument) can be escaped with a backslash. E.g. >
|
||||||
vim -c "echo 'foo\"bar'"
|
vim -c "echo 'foo\"bar'"
|
||||||
|
|
||||||
Alternatively use three quotes to get one: >
|
Alternatively use three quotes to get one: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_netrw.txt* For Vim version 8.0. Last change: 2016 Apr 20
|
*pi_netrw.txt* For Vim version 8.0. Last change: 2017 Nov 03
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
(remove NOSPAM from Campbell's email first)
|
(remove NOSPAM from Campbell's email first)
|
||||||
|
|
||||||
Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||||
The VIM LICENSE applies to the files in this package, including
|
The VIM LICENSE applies to the files in this package, including
|
||||||
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
||||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||||
@@ -17,7 +17,6 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
holder be liable for any damages resulting from the use of this
|
holder be liable for any damages resulting from the use of this
|
||||||
software. Use at your own risk!
|
software. Use at your own risk!
|
||||||
|
|
||||||
|
|
||||||
*netrw*
|
*netrw*
|
||||||
*dav* *ftp* *netrw-file* *rcp* *scp*
|
*dav* *ftp* *netrw-file* *rcp* *scp*
|
||||||
*davs* *http* *netrw.vim* *rsync* *sftp*
|
*davs* *http* *netrw.vim* *rsync* *sftp*
|
||||||
@@ -73,7 +72,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Improving Browsing..................................|netrw-ssh-hack|
|
Improving Browsing..................................|netrw-ssh-hack|
|
||||||
Listing Bookmarks And History.......................|netrw-qb|
|
Listing Bookmarks And History.......................|netrw-qb|
|
||||||
Making A New Directory..............................|netrw-d|
|
Making A New Directory..............................|netrw-d|
|
||||||
Making The Browsing Directory The Current Directory.|netrw-c|
|
Making The Browsing Directory The Current Directory.|netrw-cd|
|
||||||
Marking Files.......................................|netrw-mf|
|
Marking Files.......................................|netrw-mf|
|
||||||
Unmarking Files.....................................|netrw-mF|
|
Unmarking Files.....................................|netrw-mF|
|
||||||
Marking Files By Location List......................|netrw-qL|
|
Marking Files By Location List......................|netrw-qL|
|
||||||
@@ -83,6 +82,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
||||||
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
||||||
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
||||||
|
Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
|
||||||
Marked Files: Compression And Decompression.........|netrw-mz|
|
Marked Files: Compression And Decompression.........|netrw-mz|
|
||||||
Marked Files: Copying...............................|netrw-mc|
|
Marked Files: Copying...............................|netrw-mc|
|
||||||
Marked Files: Diff..................................|netrw-md|
|
Marked Files: Diff..................................|netrw-md|
|
||||||
@@ -155,7 +155,7 @@ Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
|||||||
|
|
||||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||||
<
|
<
|
||||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
Netrw will substitute the host's machine name for "MACHINE" from the URL it is
|
||||||
attempting to open, and so one may specify >
|
attempting to open, and so one may specify >
|
||||||
userid
|
userid
|
||||||
password
|
password
|
||||||
@@ -212,7 +212,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
||||||
http: *g:netrw_http_put_cmd* = "curl -T"
|
http: *g:netrw_http_put_cmd* = "curl -T"
|
||||||
rcp: *g:netrw_rcp_cmd* = "rcp"
|
rcp: *g:netrw_rcp_cmd* = "rcp"
|
||||||
rsync: *g:netrw_rsync_cmd* = "rsync -a"
|
rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|)
|
||||||
scp: *g:netrw_scp_cmd* = "scp -q"
|
scp: *g:netrw_scp_cmd* = "scp -q"
|
||||||
sftp: *g:netrw_sftp_cmd* = "sftp"
|
sftp: *g:netrw_sftp_cmd* = "sftp"
|
||||||
file: *g:netrw_file_cmd* = "elinks" or "links"
|
file: *g:netrw_file_cmd* = "elinks" or "links"
|
||||||
@@ -223,7 +223,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
elinks : "-source >"
|
elinks : "-source >"
|
||||||
links : "-dump >"
|
links : "-dump >"
|
||||||
curl : "-o"
|
curl : "-L -o"
|
||||||
wget : "-q -O"
|
wget : "-q -O"
|
||||||
fetch : "-o"
|
fetch : "-o"
|
||||||
<
|
<
|
||||||
@@ -238,7 +238,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
READING *netrw-read* *netrw-nread* {{{2
|
READING *netrw-read* *netrw-nread* {{{2
|
||||||
|
|
||||||
Generally, one may just use the url notation with a normal editing
|
Generally, one may just use the URL notation with a normal editing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:e ftp://[user@]machine/path
|
:e ftp://[user@]machine/path
|
||||||
@@ -260,7 +260,7 @@ READING *netrw-read* *netrw-nread* {{{2
|
|||||||
|
|
||||||
WRITING *netrw-write* *netrw-nwrite* {{{2
|
WRITING *netrw-write* *netrw-nwrite* {{{2
|
||||||
|
|
||||||
One may just use the url notation with a normal file writing
|
One may just use the URL notation with a normal file writing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:w ftp://[user@]machine/path
|
:w ftp://[user@]machine/path
|
||||||
@@ -281,7 +281,7 @@ WRITING *netrw-write* *netrw-nwrite* {{{2
|
|||||||
|
|
||||||
SOURCING *netrw-source* {{{2
|
SOURCING *netrw-source* {{{2
|
||||||
|
|
||||||
One may just use the url notation with the normal file sourcing
|
One may just use the URL notation with the normal file sourcing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:so ftp://[user@]machine/path
|
:so ftp://[user@]machine/path
|
||||||
@@ -479,7 +479,7 @@ file using root-relative paths, use the full path:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
||||||
|
|
||||||
Network-oriented file transfer under Vim is implemented by a VimL-based script
|
Network-oriented file transfer under Vim is implemented by a vim script
|
||||||
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
||||||
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
||||||
dav/cadaver, rsync, or sftp.
|
dav/cadaver, rsync, or sftp.
|
||||||
@@ -532,7 +532,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
|||||||
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
||||||
<
|
<
|
||||||
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
||||||
doesn't work, so it's best to leave it off for that system)
|
doesn't work, so its best to leave it off for that system)
|
||||||
|
|
||||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||||
|
|
||||||
@@ -734,11 +734,11 @@ such as netrw.
|
|||||||
The usual read/write commands are supported. There are also a few
|
The usual read/write commands are supported. There are also a few
|
||||||
additional commands available. Often you won't need to use Nwrite or
|
additional commands available. Often you won't need to use Nwrite or
|
||||||
Nread as shown in |netrw-transparent| (ie. simply use >
|
Nread as shown in |netrw-transparent| (ie. simply use >
|
||||||
:e url
|
:e URL
|
||||||
:r url
|
:r URL
|
||||||
:w url
|
:w URL
|
||||||
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
||||||
below, a {netfile} is an url to a remote file.
|
below, a {netfile} is a URL to a remote file.
|
||||||
|
|
||||||
*:Nwrite* *:Nw*
|
*:Nwrite* *:Nw*
|
||||||
:[range]Nw[rite] Write the specified lines to the current
|
:[range]Nw[rite] Write the specified lines to the current
|
||||||
@@ -868,9 +868,11 @@ variables listed below, and may be modified by the user.
|
|||||||
g:netrw_http_cmd var ="fetch -o" if fetch is available
|
g:netrw_http_cmd var ="fetch -o" if fetch is available
|
||||||
g:netrw_http_cmd var ="wget -O" else if wget is available
|
g:netrw_http_cmd var ="wget -O" else if wget is available
|
||||||
g:netrw_http_put_cmd var ="curl -T"
|
g:netrw_http_put_cmd var ="curl -T"
|
||||||
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
||||||
g:netrw_rcp_cmd var ="rcp"
|
g:netrw_rcp_cmd var ="rcp"
|
||||||
g:netrw_rsync_cmd var ="rsync -a"
|
g:netrw_rsync_cmd var ="rsync"
|
||||||
|
*g:netrw_rsync_sep* var ="/" used to separate the hostname
|
||||||
|
from the file spec
|
||||||
g:netrw_scp_cmd var ="scp -q"
|
g:netrw_scp_cmd var ="scp -q"
|
||||||
g:netrw_sftp_cmd var ="sftp" >
|
g:netrw_sftp_cmd var ="sftp" >
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
@@ -1007,7 +1009,7 @@ where [protocol] is typically scp or ftp. As an example, try: >
|
|||||||
vim ftp://ftp.home.vim.org/pub/vim/
|
vim ftp://ftp.home.vim.org/pub/vim/
|
||||||
<
|
<
|
||||||
For local directories, the trailing slash is not required. Again, because it's
|
For local directories, the trailing slash is not required. Again, because it's
|
||||||
easy to miss: to browse remote directories, the url must terminate with a
|
easy to miss: to browse remote directories, the URL must terminate with a
|
||||||
slash!
|
slash!
|
||||||
|
|
||||||
If you'd like to avoid entering the password repeatedly for remote directory
|
If you'd like to avoid entering the password repeatedly for remote directory
|
||||||
@@ -1077,9 +1079,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
||||||
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
||||||
- Makes Netrw go up one directory |netrw--|
|
- Makes Netrw go up one directory |netrw--|
|
||||||
a Toggles between normal display, |netrw-a|
|
a Cycles between normal display, |netrw-a|
|
||||||
hiding (suppress display of files matching g:netrw_list_hide)
|
hiding (suppress display of files matching g:netrw_list_hide)
|
||||||
showing (display only files which match g:netrw_list_hide)
|
and showing (display only files which match g:netrw_list_hide)
|
||||||
c Make browsing directory the current directory |netrw-c|
|
c Make browsing directory the current directory |netrw-c|
|
||||||
C Setting the editing window |netrw-C|
|
C Setting the editing window |netrw-C|
|
||||||
d Make a directory |netrw-d|
|
d Make a directory |netrw-d|
|
||||||
@@ -1090,6 +1092,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
gh Quick hide/unhide of dot-files |netrw-gh|
|
gh Quick hide/unhide of dot-files |netrw-gh|
|
||||||
gn Make top of tree the directory below the cursor |netrw-gn|
|
gn Make top of tree the directory below the cursor |netrw-gn|
|
||||||
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
||||||
|
I Toggle the displaying of the banner |netrw-I|
|
||||||
mb Bookmark current directory |netrw-mb|
|
mb Bookmark current directory |netrw-mb|
|
||||||
mc Copy marked files to marked-file target directory |netrw-mc|
|
mc Copy marked files to marked-file target directory |netrw-mc|
|
||||||
md Apply diff to marked files (up to 3) |netrw-md|
|
md Apply diff to marked files (up to 3) |netrw-md|
|
||||||
@@ -1169,25 +1172,26 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
|
|||||||
|
|
||||||
BANNER DISPLAY *netrw-I*
|
BANNER DISPLAY *netrw-I*
|
||||||
|
|
||||||
One may toggle the banner display on and off by pressing "I".
|
One may toggle the displaying of the banner by pressing "I".
|
||||||
|
|
||||||
Also See: |g:netrw_banner|
|
Also See: |g:netrw_banner|
|
||||||
|
|
||||||
|
|
||||||
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
|
BOOKMARKING A DIRECTORY *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
|
||||||
|
|
||||||
One may easily "bookmark" the currently browsed directory by using >
|
One may easily "bookmark" the currently browsed directory by using >
|
||||||
|
|
||||||
mb
|
mb
|
||||||
<
|
<
|
||||||
*.netrwbook*
|
*.netrwbook*
|
||||||
Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are
|
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||||
kept in sorted order.
|
as a |List|, which is typically stored in the first directory on the user's
|
||||||
|
'|runtimepath|'; entries are kept in sorted order.
|
||||||
|
|
||||||
If there are marked files and/or directories, mb will add them to the bookmark
|
If there are marked files and/or directories, mb will add them to the bookmark
|
||||||
list.
|
list.
|
||||||
|
|
||||||
*netrw-:NetrwMB*
|
*netrw-:NetrwMB*
|
||||||
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
||||||
|
|
||||||
:NetrwMB[!] [files/directories]
|
:NetrwMB[!] [files/directories]
|
||||||
@@ -1206,7 +1210,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
|
|||||||
invoked in the session).
|
invoked in the session).
|
||||||
|
|
||||||
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
||||||
default, it's stored on the first directory on the user's |'runtimepath'|.
|
default, its stored on the first directory on the user's |'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
|netrw-gb| how to return (go) to a bookmark
|
|netrw-gb| how to return (go) to a bookmark
|
||||||
@@ -1418,20 +1422,20 @@ Related Topics:
|
|||||||
|
|
||||||
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
||||||
|
|
||||||
Every time you change to a new directory (new for the current session),
|
Every time you change to a new directory (new for the current session), netrw
|
||||||
netrw will save the directory in a recently-visited directory history
|
will save the directory in a recently-visited directory history list (unless
|
||||||
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
|
|g:netrw_dirhistmax| is zero; by default, it holds ten entries). With the "u"
|
||||||
"u" map, one can change to an earlier directory (predecessor). To do
|
map, one can change to an earlier directory (predecessor). To do the
|
||||||
the opposite, see |netrw-U|.
|
opposite, see |netrw-U|.
|
||||||
|
|
||||||
The "u" map also accepts counts to go back in the history several slots.
|
The "u" map also accepts counts to go back in the history several slots. For
|
||||||
For your convenience, qb (see |netrw-qb|) lists the history number which may
|
your convenience, qb (see |netrw-qb|) lists the history number which may be
|
||||||
be used in that count.
|
used in that count.
|
||||||
|
|
||||||
*.netrwhist*
|
*.netrwhist*
|
||||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||||
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
||||||
active. By default, it's stored on the first directory on the user's
|
active. By default, its stored on the first directory on the user's
|
||||||
|'runtimepath'|.
|
|'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
@@ -1467,10 +1471,10 @@ changing the top of the tree listing.
|
|||||||
|
|
||||||
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
||||||
|
|
||||||
With NetrwClean one may easily remove netrw from one's home directory;
|
With :NetrwClean one may easily remove netrw from one's home directory;
|
||||||
more precisely, from the first directory on your |'runtimepath'|.
|
more precisely, from the first directory on your |'runtimepath'|.
|
||||||
|
|
||||||
With NetrwClean!, netrw will attempt to remove netrw from all directories on
|
With :NetrwClean!, netrw will attempt to remove netrw from all directories on
|
||||||
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
||||||
correct to do this.
|
correct to do this.
|
||||||
|
|
||||||
@@ -1502,7 +1506,7 @@ Netrw determines which special handler by the following method:
|
|||||||
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
||||||
used instead (see |netrw_filehandler|).
|
used instead (see |netrw_filehandler|).
|
||||||
|
|
||||||
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
|
* for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
|
||||||
* for Gnome (with gnome-open): gnome-open is used.
|
* for Gnome (with gnome-open): gnome-open is used.
|
||||||
* for KDE (with kfmclient) : kfmclient is used
|
* for KDE (with kfmclient) : kfmclient is used
|
||||||
* for Mac OS X : open is used.
|
* for Mac OS X : open is used.
|
||||||
@@ -1518,9 +1522,10 @@ will apply a special handler to it (like "x" works when in a netrw buffer).
|
|||||||
One may also use visual mode (see |visual-start|) to select the text that the
|
One may also use visual mode (see |visual-start|) to select the text that the
|
||||||
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
||||||
text under the cursor; one may change what |expand()| uses via the
|
text under the cursor; one may change what |expand()| uses via the
|
||||||
|g:netrw_gx| variable. Alternatively, one may select the text to be used by
|
|g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that
|
||||||
gx via first making a visual selection (see |visual-block|) or by changing
|
expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may
|
||||||
the |'isfname'| option (which is global, so netrw doesn't modify it).
|
select the text to be used by gx by making a visual selection (see
|
||||||
|
|visual-block|) and then pressing gx.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_gx| control how gx picks up the text under the cursor
|
|g:netrw_gx| control how gx picks up the text under the cursor
|
||||||
@@ -1612,6 +1617,11 @@ A further approach is to delete files which match a pattern.
|
|||||||
This will cause the matching files to be marked. Then,
|
This will cause the matching files to be marked. Then,
|
||||||
press "D".
|
press "D".
|
||||||
|
|
||||||
|
If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
|
||||||
|
is used to remove directories; instead, vim's |delete()| is used with
|
||||||
|
the "d" option. Please note that only empty directories may be deleted
|
||||||
|
with the "D" mapping. Regular files are deleted with |delete()|, too.
|
||||||
|
|
||||||
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
||||||
used to control the attempts to remove remote files and directories. The
|
used to control the attempts to remove remote files and directories. The
|
||||||
g:netrw_rm_cmd is used with files, and its default value is:
|
g:netrw_rm_cmd is used with files, and its default value is:
|
||||||
@@ -1675,17 +1685,18 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
|||||||
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
||||||
window.
|
window.
|
||||||
|
|
||||||
Those who like this method often also often like tree style displays;
|
Those who like this method often also like tree style displays;
|
||||||
see |g:netrw_liststyle|.
|
see |g:netrw_liststyle|.
|
||||||
|
|
||||||
|
:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
|
||||||
|
Explorer window will open on the right hand side and an
|
||||||
|
uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
|
||||||
|
preferentially occur in the leftmost window).
|
||||||
|
|
||||||
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
||||||
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
||||||
|netrw-c-tab| |g:netrw_winsize|
|
|netrw-c-tab| |g:netrw_winsize|
|
||||||
|
|
||||||
:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
|
|
||||||
will open on the right hand side and an uninitialized |g:netrw_chgwin|
|
|
||||||
will be set to 1.
|
|
||||||
|
|
||||||
*netrw-:Sexplore*
|
*netrw-:Sexplore*
|
||||||
:[N]Sexplore will always split the window before invoking the local-directory
|
:[N]Sexplore will always split the window before invoking the local-directory
|
||||||
browser. As with Explore, the splitting is normally done
|
browser. As with Explore, the splitting is normally done
|
||||||
@@ -1847,9 +1858,11 @@ EXECUTING FILE UNDER CURSOR VIA SYSTEM() *netrw-X* {{{2
|
|||||||
|
|
||||||
Pressing X while the cursor is atop an executable file will yield a prompt
|
Pressing X while the cursor is atop an executable file will yield a prompt
|
||||||
using the filename asking for any arguments. Upon pressing a [return], netrw
|
using the filename asking for any arguments. Upon pressing a [return], netrw
|
||||||
will then call |system()| with that command and arguments. The result will
|
will then call |system()| with that command and arguments. The result will be
|
||||||
be displayed by |:echomsg|, and so |:messages| will repeat display of the
|
displayed by |:echomsg|, and so |:messages| will repeat display of the result.
|
||||||
result. Ansi escape sequences will be stripped out.
|
Ansi escape sequences will be stripped out.
|
||||||
|
|
||||||
|
See |cmdline-window| for directions for more on how to edit the arguments.
|
||||||
|
|
||||||
|
|
||||||
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
||||||
@@ -2072,7 +2085,7 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|
|||||||
|g:netrw_remote_mkdir| |netrw-%|
|
|g:netrw_remote_mkdir| |netrw-%|
|
||||||
|
|
||||||
|
|
||||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-cd* {{{2
|
||||||
|
|
||||||
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
||||||
directory will not track the browsing directory. (done for backwards
|
directory will not track the browsing directory. (done for backwards
|
||||||
@@ -2087,6 +2100,9 @@ the two directories the same, use the "c" map (just type c). That map will
|
|||||||
set Vim's notion of the current directory to netrw's current browsing
|
set Vim's notion of the current directory to netrw's current browsing
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
|
||||||
|
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||||
|
|
||||||
Associated setting variable: |g:netrw_keepdir|
|
Associated setting variable: |g:netrw_keepdir|
|
||||||
|
|
||||||
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
||||||
@@ -2131,6 +2147,7 @@ The following netrw maps make use of marked files:
|
|||||||
|netrw-mg| Apply vimgrep to marked files
|
|netrw-mg| Apply vimgrep to marked files
|
||||||
|netrw-mm| Move marked files to target
|
|netrw-mm| Move marked files to target
|
||||||
|netrw-mp| Print marked files
|
|netrw-mp| Print marked files
|
||||||
|
|netrw-ms| Netrw will source marked files
|
||||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||||
|netrw-mT| Generate tags using marked files
|
|netrw-mT| Generate tags using marked files
|
||||||
|netrw-mv| Apply vim command to marked files
|
|netrw-mv| Apply vim command to marked files
|
||||||
@@ -2205,6 +2222,9 @@ converts "*" into ".*" (see |regexp|) and marks files based on that. In the
|
|||||||
future I may make it possible to use |regexp|s instead of glob()-style
|
future I may make it possible to use |regexp|s instead of glob()-style
|
||||||
expressions (yet-another-option).
|
expressions (yet-another-option).
|
||||||
|
|
||||||
|
See |cmdline-window| for directions on more on how to edit the regular
|
||||||
|
expression.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
||||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
@@ -2218,8 +2238,9 @@ the local marked file list, individually:
|
|||||||
* run vim command
|
* run vim command
|
||||||
* sil! keepalt wq!
|
* sil! keepalt wq!
|
||||||
|
|
||||||
A prompt, "Enter vim command: ", will be issued to elicit the vim command
|
A prompt, "Enter vim command: ", will be issued to elicit the vim command you
|
||||||
you wish used.
|
wish used. See |cmdline-window| for directions for more on how to edit the
|
||||||
|
command.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
||||||
@@ -2270,7 +2291,17 @@ MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
|
|||||||
Using ma, one moves filenames from the marked file list to the argument list.
|
Using ma, one moves filenames from the marked file list to the argument list.
|
||||||
Using mA, one moves filenames from the argument list to the marked file list.
|
Using mA, one moves filenames from the argument list to the marked file list.
|
||||||
|
|
||||||
See Also: |netrw-qF| |argument-list| |:args|
|
See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
|
||||||
|
|
||||||
|
|
||||||
|
MARKED FILES: BUFFER LIST *netrw-cb* *netrw-cB*
|
||||||
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
|
(uses the global marked-file list)
|
||||||
|
|
||||||
|
Using cb, one moves filenames from the marked file list to the buffer list.
|
||||||
|
Using cB, one copies filenames from the buffer list to the marked file list.
|
||||||
|
|
||||||
|
See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
||||||
@@ -2306,8 +2337,8 @@ One may also copy directories and their contents (local only) to a target
|
|||||||
directory.
|
directory.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_localcopycmd|
|
|g:netrw_localcopycmd| |g:netrw_localcopycmdopt|
|
||||||
|g:netrw_localcopydircmd|
|
|g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt|
|
||||||
|g:netrw_ssh_cmd|
|
|g:netrw_ssh_cmd|
|
||||||
|
|
||||||
MARKED FILES: DIFF *netrw-md* {{{2
|
MARKED FILES: DIFF *netrw-md* {{{2
|
||||||
@@ -2452,8 +2483,8 @@ When a remote set of files are tagged, the resulting tags file is "obtained";
|
|||||||
ie. a copy is transferred to the local system's directory. The now local tags
|
ie. a copy is transferred to the local system's directory. The now local tags
|
||||||
file is then modified so that one may use it through the network. The
|
file is then modified so that one may use it through the network. The
|
||||||
modification made concerns the names of the files in the tags; each filename is
|
modification made concerns the names of the files in the tags; each filename is
|
||||||
preceded by the netrw-compatible url used to obtain it. When one subsequently
|
preceded by the netrw-compatible URL used to obtain it. When one subsequently
|
||||||
uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
uses one of the go to tag actions (|tags|), the URL will be used by netrw to
|
||||||
edit the desired file and go to the tag.
|
edit the desired file and go to the tag.
|
||||||
|
|
||||||
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||||
@@ -2555,8 +2586,8 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
editing. It will also use the specified tab
|
editing. It will also use the specified tab
|
||||||
and window numbers to perform editing
|
and window numbers to perform editing
|
||||||
(see |clientserver|, |netrw-ctrl-r|)
|
(see |clientserver|, |netrw-ctrl-r|)
|
||||||
This option does not affect |:Lexplore|
|
This option does not affect the production of
|
||||||
windows.
|
|:Lexplore| windows.
|
||||||
|
|
||||||
Related topics:
|
Related topics:
|
||||||
|g:netrw_alto| |g:netrw_altv|
|
|g:netrw_alto| |g:netrw_altv|
|
||||||
@@ -2715,6 +2746,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
*g:netrw_home* The home directory for where bookmarks and
|
*g:netrw_home* The home directory for where bookmarks and
|
||||||
history are saved (as .netrwbook and
|
history are saved (as .netrwbook and
|
||||||
.netrwhist).
|
.netrwhist).
|
||||||
|
Netrw uses |expand()|on the string.
|
||||||
default: the first directory on the
|
default: the first directory on the
|
||||||
|'runtimepath'|
|
|'runtimepath'|
|
||||||
|
|
||||||
@@ -2735,7 +2767,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
default: (if ssh is executable)
|
default: (if ssh is executable)
|
||||||
"ssh HOSTNAME ls -FLa"
|
"ssh HOSTNAME ls -FLa"
|
||||||
|
|
||||||
*g:netrw_list_cmd_options* If this variable exists, then its contents are
|
*g:netrw_list_cmd_options* If this variable exists, then its contents are
|
||||||
appended to the g:netrw_list_cmd. For
|
appended to the g:netrw_list_cmd. For
|
||||||
example, use "2>/dev/null" to get rid of banner
|
example, use "2>/dev/null" to get rid of banner
|
||||||
messages on unix systems.
|
messages on unix systems.
|
||||||
@@ -2761,26 +2793,52 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
|
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
|
||||||
default: ""
|
default: ""
|
||||||
|
|
||||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
="copy" Windows
|
=expand("$COMSPEC") Windows
|
||||||
Copies marked files (|netrw-mf|) to target
|
Copies marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mc|)
|
directory (|netrw-mt|, |netrw-mc|)
|
||||||
|
|
||||||
*g:netrw_localcopydircmd* ="cp -R" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin
|
||||||
="xcopy /e /c /h/ /i /k" Windows
|
=' \c copy' Windows
|
||||||
|
Options for the |g:netrw_localcopycmd|
|
||||||
|
|
||||||
|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
Copies directories to target directory.
|
Copies directories to target directory.
|
||||||
(|netrw-mc|, |netrw-mt|)
|
(|netrw-mc|, |netrw-mt|)
|
||||||
|
|
||||||
*g:netrw_localmkdir* command for making a local directory
|
*g:netrw_localcopydircmdopt* =" -R" Linux/Unix/MacOS/Cygwin
|
||||||
default: "mkdir"
|
=" /c xcopy /e /c /h/ /i /k" Windows
|
||||||
|
Options for |g:netrw_localcopydircmd|
|
||||||
|
|
||||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localmkdir* ="mkdir" Linux/Unix/MacOS/Cygwin
|
||||||
="move" Windows
|
=expand("$COMSPEC") Windows
|
||||||
|
command for making a local directory
|
||||||
|
|
||||||
|
*g:netrw_localmkdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c mkdir" Windows
|
||||||
|
Options for |g:netrw_localmkdir|
|
||||||
|
|
||||||
|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
Moves marked files (|netrw-mf|) to target
|
Moves marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mm|)
|
directory (|netrw-mt|, |netrw-mm|)
|
||||||
|
|
||||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
*g:netrw_localmovecmdopt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
default: "rmdir"
|
=" /c move" Windows
|
||||||
|
Options for |g:netrw_localmovecmd|
|
||||||
|
|
||||||
|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
|
Remove directory command (rmdir)
|
||||||
|
This variable is only used if your vim is
|
||||||
|
earlier than 7.4 or if your vim doesn't
|
||||||
|
have patch#1107. Otherwise, |delete()|
|
||||||
|
is used with the "d" option.
|
||||||
|
|
||||||
|
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c rmdir" Windows
|
||||||
|
Options for |g:netrw_localrmdir|
|
||||||
|
|
||||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||||
listings fit on 80 column displays.
|
listings fit on 80 column displays.
|
||||||
@@ -2893,17 +2951,23 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
netrwTilde : *
|
netrwTilde : *
|
||||||
netrwTmp : tmp* *tmp
|
netrwTmp : tmp* *tmp
|
||||||
|
|
||||||
These syntax highlighting groups are linked
|
In addition, those groups mentioned in
|
||||||
to Folded or DiffChange by default
|
|'suffixes'| are also added to the special
|
||||||
(see |hl-Folded| and |hl-DiffChange|), but
|
file highlighting group.
|
||||||
one may put lines like >
|
These syntax highlighting groups are linked
|
||||||
|
to netrwGray or Folded by default
|
||||||
|
(see |hl-Folded|), but one may put lines like >
|
||||||
hi link netrwCompress Visual
|
hi link netrwCompress Visual
|
||||||
< into one's <.vimrc> to use one's own
|
< into one's <.vimrc> to use one's own
|
||||||
preferences. Alternatively, one may
|
preferences. Alternatively, one may
|
||||||
put such specifications into
|
put such specifications into >
|
||||||
.vim/after/syntax/netrw.vim.
|
.vim/after/syntax/netrw.vim.
|
||||||
|
< The netrwGray highlighting is set up by
|
||||||
As an example, I myself use a dark-background
|
netrw when >
|
||||||
|
* netrwGray has not been previously
|
||||||
|
defined
|
||||||
|
* the gui is running
|
||||||
|
< As an example, I myself use a dark-background
|
||||||
colorscheme with the following in
|
colorscheme with the following in
|
||||||
.vim/after/syntax/netrw.vim: >
|
.vim/after/syntax/netrw.vim: >
|
||||||
|
|
||||||
@@ -3138,8 +3202,8 @@ If there are no marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Renaming files and directories involves moving the cursor to the
|
Renaming files and directories involves moving the cursor to the
|
||||||
file/directory to be moved (renamed) and pressing "R". You will then be
|
file/directory to be moved (renamed) and pressing "R". You will then be
|
||||||
queried for what you want the file/directory to be renamed to You may select
|
queried for what you want the file/directory to be renamed to. You may
|
||||||
a range of lines with the "V" command (visual selection), and then
|
select a range of lines with the "V" command (visual selection), and then
|
||||||
press "R"; you will be queried for each file as to what you want it
|
press "R"; you will be queried for each file as to what you want it
|
||||||
renamed to.
|
renamed to.
|
||||||
|
|
||||||
@@ -3171,16 +3235,20 @@ If there are marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Note that moving files is a dangerous operation; copies are safer. That's
|
Note that moving files is a dangerous operation; copies are safer. That's
|
||||||
because a "move" for remote files is actually a copy + delete -- and if
|
because a "move" for remote files is actually a copy + delete -- and if
|
||||||
the copy fails and the delete does not, you may lose the file.
|
the copy fails and the delete succeeds you may lose the file.
|
||||||
Use at your own risk.
|
Use at your own risk.
|
||||||
|
|
||||||
The g:netrw_rename_cmd variable is used to implement remote renaming. By
|
The *g:netrw_rename_cmd* variable is used to implement remote renaming. By
|
||||||
default its value is:
|
default its value is: >
|
||||||
|
|
||||||
ssh HOSTNAME mv
|
ssh HOSTNAME mv
|
||||||
|
<
|
||||||
One may rename a block of files and directories by selecting them with
|
One may rename a block of files and directories by selecting them with
|
||||||
V (|linewise-visual|) when using thin style
|
V (|linewise-visual|) when using thin style.
|
||||||
|
|
||||||
|
See |cmdline-editing| for more on how to edit the command line; in particular,
|
||||||
|
you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the
|
||||||
|
command line under the cursor) useful in conjunction with the R command.
|
||||||
|
|
||||||
|
|
||||||
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
||||||
@@ -3201,8 +3269,8 @@ number. Subsequent selection of a file to edit (|netrw-cr|) will use that
|
|||||||
window.
|
window.
|
||||||
|
|
||||||
* C : by itself, will select the current window holding a netrw buffer
|
* C : by itself, will select the current window holding a netrw buffer
|
||||||
for editing via |netrw-cr|. The C mapping is only available while in
|
for subsequent editing via |netrw-cr|. The C mapping is only available
|
||||||
netrw buffers.
|
while in netrw buffers.
|
||||||
|
|
||||||
* [count]C : the count will be used as the window number to be used
|
* [count]C : the count will be used as the window number to be used
|
||||||
for subsequent editing via |netrw-cr|.
|
for subsequent editing via |netrw-cr|.
|
||||||
@@ -3215,7 +3283,7 @@ window.
|
|||||||
Using >
|
Using >
|
||||||
let g:netrw_chgwin= -1
|
let g:netrw_chgwin= -1
|
||||||
will restore the default editing behavior
|
will restore the default editing behavior
|
||||||
(ie. editing will use the current window).
|
(ie. subsequent editing will use the current window).
|
||||||
|
|
||||||
Related topics: |netrw-cr| |g:netrw_browse_split|
|
Related topics: |netrw-cr| |g:netrw_browse_split|
|
||||||
Associated setting variables: |g:netrw_chgwin|
|
Associated setting variables: |g:netrw_chgwin|
|
||||||
@@ -3236,9 +3304,9 @@ only if your terminal supports differentiating <c-tab> from a plain
|
|||||||
|
|
||||||
* Else bring up a |:Lexplore| window
|
* Else bring up a |:Lexplore| window
|
||||||
|
|
||||||
If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
|
If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping
|
||||||
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
||||||
than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
|
than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). >
|
||||||
|
|
||||||
nmap <unique> (whatever) <Plug>NetrwShrink
|
nmap <unique> (whatever) <Plug>NetrwShrink
|
||||||
<
|
<
|
||||||
@@ -3271,9 +3339,10 @@ The user function is passed one argument; it resembles >
|
|||||||
|
|
||||||
fun! ExampleUserMapFunc(islocal)
|
fun! ExampleUserMapFunc(islocal)
|
||||||
<
|
<
|
||||||
where a:islocal is 1 if it's a local-directory system call or 0 when
|
where a:islocal is 1 if its a local-directory system call or 0 when
|
||||||
remote-directory system call.
|
remote-directory system call.
|
||||||
|
|
||||||
|
*netrw-call* *netrw-expose* *netrw-modify*
|
||||||
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
||||||
variables.
|
variables.
|
||||||
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
||||||
@@ -3595,7 +3664,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
*netrw-p16*
|
*netrw-p16*
|
||||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||||
under Windows I get an |E303| message complaining that it's unable
|
under Windows I get an |E303| message complaining that its unable
|
||||||
to open a swap file.
|
to open a swap file.
|
||||||
|
|
||||||
(romainl) It looks like you are starting Vim from a protected
|
(romainl) It looks like you are starting Vim from a protected
|
||||||
@@ -3649,7 +3718,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
P21. I've made a directory (or file) with an accented character, but
|
P21. I've made a directory (or file) with an accented character, but
|
||||||
netrw isn't letting me enter that directory/read that file:
|
netrw isn't letting me enter that directory/read that file:
|
||||||
|
|
||||||
It's likely that the shell or o/s is using a different encoding
|
Its likely that the shell or o/s is using a different encoding
|
||||||
than you have vim (netrw) using. A patch to vim supporting
|
than you have vim (netrw) using. A patch to vim supporting
|
||||||
"systemencoding" may address this issue in the future; for
|
"systemencoding" may address this issue in the future; for
|
||||||
now, just have netrw use the proper encoding. For example: >
|
now, just have netrw use the proper encoding. For example: >
|
||||||
@@ -3765,6 +3834,102 @@ netrw:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
12. History *netrw-history* {{{1
|
12. History *netrw-history* {{{1
|
||||||
|
|
||||||
|
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||||
|
with a patch; these are now fixed.
|
||||||
|
Oct 26, 2016 * I started using mate-terminal and found that
|
||||||
|
x and gx (|netrw-x| and |netrw-gx|) were no
|
||||||
|
longer working. Fixed (using atril when
|
||||||
|
$DESKTOP_SESSION is "mate").
|
||||||
|
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
|
||||||
|
being restored with keepregstar rather than
|
||||||
|
keepregplus.
|
||||||
|
Nov 09, 2016 * Broke apart the command from the options,
|
||||||
|
mostly for Windows. Introduced new netrw
|
||||||
|
settings: |g:netrw_localcopycmdopt|
|
||||||
|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|
||||||
|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
|
||||||
|
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
|
||||||
|
winwidth() with winheight()
|
||||||
|
Nov 22, 2016 * (glacambre) reported that files containing
|
||||||
|
spaces weren't being obtained properly via
|
||||||
|
scp. Fix: apparently using single quotes
|
||||||
|
such as with 'file name' wasn't enough; the
|
||||||
|
spaces inside the quotes also had to be
|
||||||
|
escaped (ie. 'file\ name').
|
||||||
|
* Also fixed obtain (|netrw-O|) to be able to
|
||||||
|
obtain files with spaces in their names
|
||||||
|
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
|
||||||
|
when atop "Hiding" in the banner also caused
|
||||||
|
the active-banner hiding control to occur
|
||||||
|
Jan 03, 2017 * (Enno Nagel) reported that attempting to
|
||||||
|
apply netrw to a directory that was without
|
||||||
|
read permission caused a syntax error.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
|
||||||
|
using netrw#Call() better. Now returns
|
||||||
|
value of internal routines return, for example.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
|
||||||
|
use |:edit| instead of |:read|. I also
|
||||||
|
changed the routine name to netrw#FileUrlEdit.
|
||||||
|
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
|
||||||
|
could generate a new listing buffer and
|
||||||
|
window instead of toggling the netrw display.
|
||||||
|
Unfortunately, the directions for eliciting
|
||||||
|
the problem weren't complete, so I may or
|
||||||
|
may not have fixed that issue.
|
||||||
|
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
|
||||||
|
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
|
||||||
|
Mar 21, 2017 * previously, netrw would specify (safe) settings
|
||||||
|
even when the setting was already safe for
|
||||||
|
netrw. Netrw now attempts to leave such
|
||||||
|
already-netrw-safe settings alone.
|
||||||
|
(affects s:NetrwOptionRestore() and
|
||||||
|
s:NetrwSafeOptions(); also introduced
|
||||||
|
s:NetrwRestoreSetting())
|
||||||
|
Jun 26, 2017 * (Christian Brabandt) provided a patch to
|
||||||
|
allow curl to follow redirects (ie. -L
|
||||||
|
option)
|
||||||
|
Jun 26, 2017 * (Callum Howard) reported a problem with
|
||||||
|
:Lexpore not removing the Lexplore window
|
||||||
|
after a change-directory
|
||||||
|
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
|
||||||
|
previously edited file (e.g. with CTRL-^)
|
||||||
|
after editing a file:// URL. Patch to
|
||||||
|
have a "keepalt" included.
|
||||||
|
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
|
||||||
|
did not work on directories in the current
|
||||||
|
tree
|
||||||
|
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
|
||||||
|
a function that returned a 0 while silently
|
||||||
|
invoking a shell command. The shell command
|
||||||
|
activated a ShellCmdPost event which in turn
|
||||||
|
called s:LocalBrowseRefresh(). That looks
|
||||||
|
over all netrw buffers for changes needing
|
||||||
|
refreshes. However, inside a |:map-<expr>|,
|
||||||
|
tab and window changes are disallowed. Fixed.
|
||||||
|
(affects netrw's s:LocalBrowseRefresh())
|
||||||
|
* |g:netrw_localrmdir| not used any more, but
|
||||||
|
the relevant patch that causes |delete()| to
|
||||||
|
take over was #1107 (not #1109).
|
||||||
|
* |expand()| is now used on |g:netrw_home|;
|
||||||
|
consequently, g:netrw_home may now use
|
||||||
|
environment variables
|
||||||
|
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
|
||||||
|
return without doing anything if invoked
|
||||||
|
when inside a non-netrw window
|
||||||
|
Jun 15, 2016 * gx now calls netrw#GX() which returns
|
||||||
|
the word under the cursor. The new
|
||||||
|
wrinkle: if one is in a netrw buffer,
|
||||||
|
then netrw's s:NetrwGetWord().
|
||||||
|
Jun 22, 2016 * Netrw was executing all its associated
|
||||||
|
Filetype commands silently; I'm going
|
||||||
|
to try doing that "noisily" and see if
|
||||||
|
folks have a problem with that.
|
||||||
|
Aug 12, 2016 * Changed order of tool selection for
|
||||||
|
handling http://... viewing.
|
||||||
|
(Nikolay Aleksandrovich Pavlov)
|
||||||
|
Aug 21, 2016 * Included hiding/showing/all for tree
|
||||||
|
listings
|
||||||
|
* Fixed refresh (^L) for tree listings
|
||||||
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||||
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
||||||
fnameescape() on the base portion
|
fnameescape() on the base portion
|
||||||
@@ -3796,9 +3961,9 @@ netrw:
|
|||||||
tell me how they're useful and should be
|
tell me how they're useful and should be
|
||||||
retained?
|
retained?
|
||||||
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
||||||
Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the
|
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
|
||||||
file in addition to simply bringing up the
|
file in addition to simply bringing up the
|
||||||
url in a browser. Fixed.
|
URL in a browser. Fixed.
|
||||||
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
||||||
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
||||||
maps.
|
maps.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
|
*quickfix.txt* For Vim version 8.0. Last change: 2017 Dec 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -44,6 +44,13 @@ From inside Vim an easy way to run a command and handle the output is with the
|
|||||||
The 'errorformat' option should be set to match the error messages from your
|
The 'errorformat' option should be set to match the error messages from your
|
||||||
compiler (see |errorformat| below).
|
compiler (see |errorformat| below).
|
||||||
|
|
||||||
|
*quickfix-ID*
|
||||||
|
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||||
|
number will not change within a Vim session. The getqflist() function can be
|
||||||
|
used to get the identifier assigned to a list. There is also a quickfix list
|
||||||
|
number which may change whenever more than ten lists are added to a quickfix
|
||||||
|
stack.
|
||||||
|
|
||||||
*location-list* *E776*
|
*location-list* *E776*
|
||||||
A location list is a window-local quickfix list. You get one after commands
|
A location list is a window-local quickfix list. You get one after commands
|
||||||
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
|
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
|
||||||
@@ -57,6 +64,14 @@ When a window with a location list is split, the new window gets a copy of the
|
|||||||
location list. When there are no longer any references to a location list,
|
location list. When there are no longer any references to a location list,
|
||||||
the location list is destroyed.
|
the location list is destroyed.
|
||||||
|
|
||||||
|
*quickfix-changedtick*
|
||||||
|
Every quickfix and location list has a read-only changedtick variable that
|
||||||
|
tracks the total number of changes made to the list. Every time the quickfix
|
||||||
|
list is modified, this count is incremented. This can be used to perform an
|
||||||
|
action only when the list has changed. The getqflist() and getloclist()
|
||||||
|
functions can be used to query the current value of changedtick. You cannot
|
||||||
|
change the changedtick variable.
|
||||||
|
|
||||||
The following quickfix commands can be used. The location list commands are
|
The following quickfix commands can be used. The location list commands are
|
||||||
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
|
||||||
command with 'l'.
|
command with 'l'.
|
||||||
@@ -334,6 +349,50 @@ use this code: >
|
|||||||
au QuickfixCmdPost make call QfMakeConv()
|
au QuickfixCmdPost make call QfMakeConv()
|
||||||
Another option is using 'makeencoding'.
|
Another option is using 'makeencoding'.
|
||||||
|
|
||||||
|
*quickfix-title*
|
||||||
|
Every quickfix and location list has a title. By default the title is set to
|
||||||
|
the command that created the list. The |getqflist()| and |getloclist()|
|
||||||
|
functions can be used to get the title of a quickfix and a location list
|
||||||
|
respectively. The |setqflist()| and |setloclist()| functions can be used to
|
||||||
|
modify the title of a quickfix and location list respectively. Examples: >
|
||||||
|
call setqflist([], 'a', {'title' : 'Cmd output'})
|
||||||
|
echo getqflist({'title' : 1})
|
||||||
|
call setloclist(3, [], 'a', {'title' : 'Cmd output'})
|
||||||
|
echo getloclist(3, {'title' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-size*
|
||||||
|
You can get the number of entries (size) in a quickfix and a location list
|
||||||
|
using the |getqflist()| and |getloclist()| functions respectively. Examples: >
|
||||||
|
echo getqflist({'size' : 1})
|
||||||
|
echo getloclist(5, {'size' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-context*
|
||||||
|
Any Vim type can be associated as a context with a quickfix or location list.
|
||||||
|
The |setqflist()| and the |setloclist()| functions can be used to associate a
|
||||||
|
context with a quickfix and a location list respectively. The |getqflist()|
|
||||||
|
and the |getloclist()| functions can be used to retrieve the context of a
|
||||||
|
quickfix and a location list respectively. This is useful for a Vim plugin
|
||||||
|
dealing with multiple quickfix/location lists.
|
||||||
|
Examples: >
|
||||||
|
|
||||||
|
let somectx = {'name' : 'Vim', 'type' : 'Editor'}
|
||||||
|
call setqflist([], 'a', {'context' : somectx})
|
||||||
|
echo getqflist({'context' : 1})
|
||||||
|
|
||||||
|
let newctx = ['red', 'green', 'blue']
|
||||||
|
call setloclist(2, [], 'a', {'id' : qfid, 'context' : newctx})
|
||||||
|
echo getloclist(2, {'id' : qfid, 'context' : 1})
|
||||||
|
<
|
||||||
|
*quickfix-parse*
|
||||||
|
You can parse a list of lines using 'errorformat' without creating or
|
||||||
|
modifying a quickfix list using the |getqflist()| function. Examples: >
|
||||||
|
echo getqflist({'lines' : ["F1:10:Line10", "F2:20:Line20"]})
|
||||||
|
echo getqflist({'lines' : systemlist('grep -Hn quickfix *')})
|
||||||
|
This returns a dictionary where the 'items' key contains the list of quickfix
|
||||||
|
entries parsed from lines. The following shows how to use a custom
|
||||||
|
'errorformat' to parse the lines without modifying the 'errorformat' option: >
|
||||||
|
echo getqflist({'efm' : '%f#%l#%m', 'lines' : ['F1#10#Line']})
|
||||||
|
<
|
||||||
|
|
||||||
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||||
*:cdo*
|
*:cdo*
|
||||||
@@ -535,6 +594,13 @@ In all of the above cases, if the location list for the selected window is not
|
|||||||
yet set, then it is set to the location list displayed in the location list
|
yet set, then it is set to the location list displayed in the location list
|
||||||
window.
|
window.
|
||||||
|
|
||||||
|
*quickfix-window-ID*
|
||||||
|
You can use the |getqflist()| and |getloclist()| functions to obtain the
|
||||||
|
window ID of the quickfix window and location list window respectively (if
|
||||||
|
present). Examples: >
|
||||||
|
echo getqflist({'winid' : 1}).winid
|
||||||
|
echo getloclist(2, {'winid' : 1}).winid
|
||||||
|
<
|
||||||
=============================================================================
|
=============================================================================
|
||||||
3. Using more than one list of errors *quickfix-error-lists*
|
3. Using more than one list of errors *quickfix-error-lists*
|
||||||
|
|
||||||
@@ -579,6 +645,14 @@ list, one newer list is overwritten. This is especially useful if you are
|
|||||||
browsing with ":grep" |grep|. If you want to keep the more recent error
|
browsing with ":grep" |grep|. If you want to keep the more recent error
|
||||||
lists, use ":cnewer 99" first.
|
lists, use ":cnewer 99" first.
|
||||||
|
|
||||||
|
To get the number of lists in the quickfix and location list stack, you can
|
||||||
|
use the |getqflist()| and |getloclist()| functions respectively with the list
|
||||||
|
number set to the special value '$'. Examples: >
|
||||||
|
echo getqflist({'nr' : '$'}).nr
|
||||||
|
echo getloclist(3, {'nr' : '$'}).nr
|
||||||
|
To get the number of the current list in the stack: >
|
||||||
|
echo getqflist({'nr' : 0}).nr
|
||||||
|
<
|
||||||
=============================================================================
|
=============================================================================
|
||||||
4. Using :make *:make_makeprg*
|
4. Using :make *:make_makeprg*
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
*quickref.txt* For Vim version 8.0. Last change: 2017 Nov 21
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -618,7 +618,8 @@ Short explanation of each option: *option-list*
|
|||||||
'backupext' 'bex' extension used for the backup file
|
'backupext' 'bex' extension used for the backup file
|
||||||
'backupskip' 'bsk' no backup for files that match these patterns
|
'backupskip' 'bsk' no backup for files that match these patterns
|
||||||
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
'balloondelay' 'bdlay' delay in mS before a balloon may pop up
|
||||||
'ballooneval' 'beval' switch on balloon evaluation
|
'ballooneval' 'beval' switch on balloon evaluation in the GUI
|
||||||
|
'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
|
||||||
'balloonexpr' 'bexpr' expression to show in balloon
|
'balloonexpr' 'bexpr' expression to show in balloon
|
||||||
'belloff' 'bo' do not ring the bell for these reasons
|
'belloff' 'bo' do not ring the bell for these reasons
|
||||||
'binary' 'bin' read/write/edit file in binary mode
|
'binary' 'bin' read/write/edit file in binary mode
|
||||||
@@ -749,6 +750,7 @@ Short explanation of each option: *option-list*
|
|||||||
'iminsert' 'imi' use :lmap or IM in Insert mode
|
'iminsert' 'imi' use :lmap or IM in Insert mode
|
||||||
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
||||||
'imstatusfunc' 'imsf' function to obtain X input method status
|
'imstatusfunc' 'imsf' function to obtain X input method status
|
||||||
|
'imstyle' 'imst' specifies the input style of the input method
|
||||||
'include' 'inc' pattern to be used to find an include file
|
'include' 'inc' pattern to be used to find an include file
|
||||||
'includeexpr' 'inex' expression used to process an include line
|
'includeexpr' 'inex' expression used to process an include line
|
||||||
'incsearch' 'is' highlight match while typing search pattern
|
'incsearch' 'is' highlight match while typing search pattern
|
||||||
@@ -779,6 +781,8 @@ Short explanation of each option: *option-list*
|
|||||||
'listchars' 'lcs' characters for displaying in list mode
|
'listchars' 'lcs' characters for displaying in list mode
|
||||||
'loadplugins' 'lpl' load plugin scripts when starting up
|
'loadplugins' 'lpl' load plugin scripts when starting up
|
||||||
'luadll' name of the Lua dynamic library
|
'luadll' name of the Lua dynamic library
|
||||||
|
'mzschemedll' name of the MzScheme dynamic library
|
||||||
|
'mzschemegcdll' name of the MzScheme dynamic library for GC
|
||||||
'macatsui' Mac GUI: use ATSUI text drawing
|
'macatsui' Mac GUI: use ATSUI text drawing
|
||||||
'magic' changes special characters in search patterns
|
'magic' changes special characters in search patterns
|
||||||
'makeef' 'mef' name of the errorfile for ":make"
|
'makeef' 'mef' name of the errorfile for ":make"
|
||||||
@@ -835,7 +839,9 @@ Short explanation of each option: *option-list*
|
|||||||
'prompt' 'prompt' enable prompt in Ex mode
|
'prompt' 'prompt' enable prompt in Ex mode
|
||||||
'pumheight' 'ph' maximum height of the popup menu
|
'pumheight' 'ph' maximum height of the popup menu
|
||||||
'pythondll' name of the Python 2 dynamic library
|
'pythondll' name of the Python 2 dynamic library
|
||||||
|
'pythonhome' name of the Python 2 home directory
|
||||||
'pythonthreedll' name of the Python 3 dynamic library
|
'pythonthreedll' name of the Python 3 dynamic library
|
||||||
|
'pythonthreehome' name of the Python 3 home directory
|
||||||
'pyxversion' 'pyx' Python version used for pyx* commands
|
'pyxversion' 'pyx' Python version used for pyx* commands
|
||||||
'quoteescape' 'qe' escape characters used in a string
|
'quoteescape' 'qe' escape characters used in a string
|
||||||
'readonly' 'ro' disallow writing the buffer
|
'readonly' 'ro' disallow writing the buffer
|
||||||
@@ -974,6 +980,7 @@ Short explanation of each option: *option-list*
|
|||||||
'winfixwidth' 'wfw' keep window width when opening/closing windows
|
'winfixwidth' 'wfw' keep window width when opening/closing windows
|
||||||
'winminheight' 'wmh' minimum number of lines for any window
|
'winminheight' 'wmh' minimum number of lines for any window
|
||||||
'winminwidth' 'wmw' minimal number of columns for any window
|
'winminwidth' 'wmw' minimal number of columns for any window
|
||||||
|
'winptydll' name of the winpty dynamic library
|
||||||
'winwidth' 'wiw' minimal number of columns for current window
|
'winwidth' 'wiw' minimal number of columns for current window
|
||||||
'wrap' long lines wrap and continue on the next line
|
'wrap' long lines wrap and continue on the next line
|
||||||
'wrapmargin' 'wm' chars from the right where wrapping starts
|
'wrapmargin' 'wm' chars from the right where wrapping starts
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*remote.txt* For Vim version 8.0. Last change: 2017 Aug 01
|
*remote.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -181,7 +181,8 @@ name on the 'VimRegistry' property on the root window.
|
|||||||
|
|
||||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||||
also act as a command server if a server name is explicitly given with the
|
also act as a command server if a server name is explicitly given with the
|
||||||
--servername argument.
|
--servername argument, or when Vim was build with the |+autoservername|
|
||||||
|
feature.
|
||||||
|
|
||||||
An empty --servername argument will cause the command server to be disabled.
|
An empty --servername argument will cause the command server to be disabled.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 8.0. Last change: 2017 Jun 10
|
*repeat.txt* For Vim version 8.0. Last change: 2017 Dec 17
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -242,6 +242,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
|||||||
If the directory pack/*/opt/{name}/after exists it is
|
If the directory pack/*/opt/{name}/after exists it is
|
||||||
added at the end of 'runtimepath'.
|
added at the end of 'runtimepath'.
|
||||||
|
|
||||||
|
If loading packages from "pack/*/start" was skipped,
|
||||||
|
then this directory is searched first:
|
||||||
|
pack/*/start/{name} ~
|
||||||
|
|
||||||
Note that {name} is the directory name, not the name
|
Note that {name} is the directory name, not the name
|
||||||
of the .vim file. All the files matching the pattern
|
of the .vim file. All the files matching the pattern
|
||||||
pack/*/opt/{name}/plugin/**/*.vim ~
|
pack/*/opt/{name}/plugin/**/*.vim ~
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 8.0. Last change: 2016 Jan 08
|
*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -723,7 +723,7 @@ Additionally the following items are recognized:
|
|||||||
= Case must match exactly.
|
= Case must match exactly.
|
||||||
? Rare word.
|
? Rare word.
|
||||||
! Bad (wrong) word.
|
! Bad (wrong) word.
|
||||||
digit A region in which the word is valid. If no regions are
|
1 to 9 A region in which the word is valid. If no regions are
|
||||||
specified the word is valid in all regions.
|
specified the word is valid in all regions.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
*starting.txt* For Vim version 8.0. Last change: 2018 Jan 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -58,9 +58,9 @@ filename One or more file names. The first one will be the current
|
|||||||
that is read from stdin. The commands that would normally be
|
that is read from stdin. The commands that would normally be
|
||||||
read from stdin will now be read from stderr. Example: >
|
read from stdin will now be read from stderr. Example: >
|
||||||
find . -name "*.c" -print | vim -
|
find . -name "*.c" -print | vim -
|
||||||
< The buffer will be marked modified, because it contains text
|
< The buffer will not be marked as modified, so that it's easy
|
||||||
that needs to be saved. Except when in readonly mode, then
|
to exit. Be careful to mark it as modified if you don't want
|
||||||
the buffer is not marked modified. Example: >
|
to accidentally lose it. Example: >
|
||||||
ls | view -
|
ls | view -
|
||||||
<
|
<
|
||||||
Starting in Ex mode: >
|
Starting in Ex mode: >
|
||||||
@@ -421,7 +421,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
*--not-a-term*
|
*--not-a-term*
|
||||||
--not-a-term Tells Vim that the user knows that the input and/or output is
|
--not-a-term Tells Vim that the user knows that the input and/or output is
|
||||||
not connected to a terminal. This will avoid the warning and
|
not connected to a terminal. This will avoid the warning and
|
||||||
the two second delay that would happen. {not in Vi}
|
the two second delay that would happen.
|
||||||
|
Also avoids the "Reading from stdin..." message.
|
||||||
|
{not in Vi}
|
||||||
|
|
||||||
*--ttyfail*
|
*--ttyfail*
|
||||||
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
|
||||||
@@ -873,6 +875,9 @@ accordingly. Vim proceeds in this order:
|
|||||||
(*) Using this file or environment variable will cause 'compatible' to be
|
(*) Using this file or environment variable will cause 'compatible' to be
|
||||||
off by default. See |compatible-default|.
|
off by default. See |compatible-default|.
|
||||||
|
|
||||||
|
Note: When using the |mzscheme| interface, it is initialized after loading
|
||||||
|
the vimrc file. Changing 'mzschemedll' later has no effect.
|
||||||
|
|
||||||
4. Load the plugin scripts. *load-plugins*
|
4. Load the plugin scripts. *load-plugins*
|
||||||
This does the same as the command: >
|
This does the same as the command: >
|
||||||
:runtime! plugin/**/*.vim
|
:runtime! plugin/**/*.vim
|
||||||
@@ -1038,13 +1043,13 @@ giving the mapping.
|
|||||||
Defaults without a .vimrc file ~
|
Defaults without a .vimrc file ~
|
||||||
*defaults.vim*
|
*defaults.vim*
|
||||||
If Vim is started normally and no user vimrc file is found, the
|
If Vim is started normally and no user vimrc file is found, the
|
||||||
$VIMRUTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
$VIMRUNTIME/defaults.vim script is loaded. This will set 'compatible' off,
|
||||||
switch on syntax highlighting and a few more things. See the script for
|
switch on syntax highlighting and a few more things. See the script for
|
||||||
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
||||||
patch 7.4.2111 to be exact).
|
patch 7.4.2111 to be exact).
|
||||||
|
|
||||||
This should work well for new Vim users. If you create your own .vimrc, it is
|
This should work well for new Vim users. If you create your own .vimrc, it is
|
||||||
recommended to add this line somewhere near the top: >
|
recommended to add these lines somewhere near the top: >
|
||||||
unlet! skip_defaults_vim
|
unlet! skip_defaults_vim
|
||||||
source $VIMRUNTIME/defaults.vim
|
source $VIMRUNTIME/defaults.vim
|
||||||
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
||||||
@@ -1415,7 +1420,7 @@ The output of ":mkview" contains these items:
|
|||||||
5. The scroll position and the cursor position in the file. Doesn't work very
|
5. The scroll position and the cursor position in the file. Doesn't work very
|
||||||
well when there are closed folds.
|
well when there are closed folds.
|
||||||
6. The local current directory, if it is different from the global current
|
6. The local current directory, if it is different from the global current
|
||||||
directory.
|
directory and 'viewoptions' contains "curdir".
|
||||||
|
|
||||||
Note that Views and Sessions are not perfect:
|
Note that Views and Sessions are not perfect:
|
||||||
- They don't restore everything. For example, defined functions, autocommands
|
- They don't restore everything. For example, defined functions, autocommands
|
||||||
@@ -1527,7 +1532,7 @@ Notes for Unix:
|
|||||||
you have worked with.
|
you have worked with.
|
||||||
- If you want to share the viminfo file with other users (e.g. when you "su"
|
- If you want to share the viminfo file with other users (e.g. when you "su"
|
||||||
to another user), you can make the file writable for the group or everybody.
|
to another user), you can make the file writable for the group or everybody.
|
||||||
Vim will preserve this when writing new viminfo files. Be careful, don't
|
Vim will preserve this when replacing the viminfo file. Be careful, don't
|
||||||
allow just anybody to read and write your viminfo file!
|
allow just anybody to read and write your viminfo file!
|
||||||
- Vim will not overwrite a viminfo file that is not writable by the current
|
- Vim will not overwrite a viminfo file that is not writable by the current
|
||||||
"real" user. This helps for when you did "su" to become root, but your
|
"real" user. This helps for when you did "su" to become root, but your
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
*syntax.txt* For Vim version 8.0. Last change: 2018 Jan 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -61,10 +61,12 @@ fine. If it doesn't, try setting the VIM environment variable to the
|
|||||||
directory where the Vim stuff is located. For example, if your syntax files
|
directory where the Vim stuff is located. For example, if your syntax files
|
||||||
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
||||||
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
||||||
|
This command also sources the |menu.vim| script when the GUI is running or
|
||||||
|
will start soon. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
*:syn-on* *:syntax-on*
|
*:syn-on* *:syntax-on*
|
||||||
The ":syntax enable" command will keep your current color settings. This
|
The `:syntax enable` command will keep your current color settings. This
|
||||||
allows using ":highlight" commands to set your preferred colors before or
|
allows using `:highlight` commands to set your preferred colors before or
|
||||||
after using this command. If you want Vim to overrule your settings with the
|
after using this command. If you want Vim to overrule your settings with the
|
||||||
defaults, use: >
|
defaults, use: >
|
||||||
:syntax on
|
:syntax on
|
||||||
@@ -810,12 +812,9 @@ See |mysyntaxfile-add| for installing script languages permanently.
|
|||||||
|
|
||||||
APACHE *apache.vim* *ft-apache-syntax*
|
APACHE *apache.vim* *ft-apache-syntax*
|
||||||
|
|
||||||
The apache syntax file provides syntax highlighting depending on Apache HTTP
|
The apache syntax file provides syntax highlighting for Apache HTTP server
|
||||||
server version, by default for 1.3.x. Set "apache_version" to Apache version
|
version 2.2.3.
|
||||||
(as a string) to get highlighting for another version. Example: >
|
|
||||||
|
|
||||||
:let apache_version = "2.0"
|
|
||||||
<
|
|
||||||
|
|
||||||
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
||||||
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
||||||
@@ -2138,6 +2137,16 @@ set "msql_minlines" to the value you desire. Example: >
|
|||||||
:let msql_minlines = 200
|
:let msql_minlines = 200
|
||||||
|
|
||||||
|
|
||||||
|
N1QL *n1ql.vim* *ft-n1ql-syntax*
|
||||||
|
|
||||||
|
N1QL is a SQL-like declarative language for manipulating JSON documents in
|
||||||
|
Couchbase Server databases.
|
||||||
|
|
||||||
|
Vim syntax highlights N1QL statements, keywords, operators, types, comments,
|
||||||
|
and special values. Vim ignores syntactical elements specific to SQL or its
|
||||||
|
many dialects, like COLUMN or CHAR, that don't exist in N1QL.
|
||||||
|
|
||||||
|
|
||||||
NCF *ncf.vim* *ft-ncf-syntax*
|
NCF *ncf.vim* *ft-ncf-syntax*
|
||||||
|
|
||||||
There is one option for NCF syntax highlighting.
|
There is one option for NCF syntax highlighting.
|
||||||
@@ -4689,13 +4698,14 @@ the same syntax file on all terminals, and use the optimal highlighting.
|
|||||||
|
|
||||||
*bold* *underline* *undercurl*
|
*bold* *underline* *undercurl*
|
||||||
*inverse* *italic* *standout*
|
*inverse* *italic* *standout*
|
||||||
*nocombine*
|
*nocombine* *strikethrough*
|
||||||
term={attr-list} *attr-list* *highlight-term* *E418*
|
term={attr-list} *attr-list* *highlight-term* *E418*
|
||||||
attr-list is a comma separated list (without spaces) of the
|
attr-list is a comma separated list (without spaces) of the
|
||||||
following items (in any order):
|
following items (in any order):
|
||||||
bold
|
bold
|
||||||
underline
|
underline
|
||||||
undercurl not always available
|
undercurl not always available
|
||||||
|
strikethrough not always available
|
||||||
reverse
|
reverse
|
||||||
inverse same as reverse
|
inverse same as reverse
|
||||||
italic
|
italic
|
||||||
@@ -4706,8 +4716,8 @@ term={attr-list} *attr-list* *highlight-term* *E418*
|
|||||||
Note that "bold" can be used here and by using a bold font. They
|
Note that "bold" can be used here and by using a bold font. They
|
||||||
have the same effect.
|
have the same effect.
|
||||||
"undercurl" is a curly underline. When "undercurl" is not possible
|
"undercurl" is a curly underline. When "undercurl" is not possible
|
||||||
then "underline" is used. In general "undercurl" is only available in
|
then "underline" is used. In general "undercurl" and "strikethrough"
|
||||||
the GUI. The color is set with |highlight-guisp|.
|
is only available in the GUI. The color is set with |highlight-guisp|.
|
||||||
|
|
||||||
start={term-list} *highlight-start* *E422*
|
start={term-list} *highlight-start* *E422*
|
||||||
stop={term-list} *term-list* *highlight-stop*
|
stop={term-list} *term-list* *highlight-stop*
|
||||||
@@ -4872,7 +4882,8 @@ guifg={color-name} *highlight-guifg*
|
|||||||
guibg={color-name} *highlight-guibg*
|
guibg={color-name} *highlight-guibg*
|
||||||
guisp={color-name} *highlight-guisp*
|
guisp={color-name} *highlight-guisp*
|
||||||
These give the foreground (guifg), background (guibg) and special
|
These give the foreground (guifg), background (guibg) and special
|
||||||
(guisp) color to use in the GUI. "guisp" is used for undercurl.
|
(guisp) color to use in the GUI. "guisp" is used for undercurl and
|
||||||
|
strikethrough.
|
||||||
There are a few special names:
|
There are a few special names:
|
||||||
NONE no color (transparent)
|
NONE no color (transparent)
|
||||||
bg use normal background color
|
bg use normal background color
|
||||||
@@ -5014,12 +5025,19 @@ StatusLine status line of current window
|
|||||||
StatusLineNC status lines of not-current windows
|
StatusLineNC status lines of not-current windows
|
||||||
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
Note: if this is equal to "StatusLine" Vim will use "^^^" in
|
||||||
the status line of the current window.
|
the status line of the current window.
|
||||||
|
*hl-StatusLineTerm*
|
||||||
|
StatusLineTerm status line of current window, if it is a |terminal| window.
|
||||||
|
*hl-StatusLineTermNC*
|
||||||
|
StatusLineTermNC status lines of not-current windows that is a |terminal|
|
||||||
|
window.
|
||||||
*hl-TabLine*
|
*hl-TabLine*
|
||||||
TabLine tab pages line, not active tab page label
|
TabLine tab pages line, not active tab page label
|
||||||
*hl-TabLineFill*
|
*hl-TabLineFill*
|
||||||
TabLineFill tab pages line, where there are no labels
|
TabLineFill tab pages line, where there are no labels
|
||||||
*hl-TabLineSel*
|
*hl-TabLineSel*
|
||||||
TabLineSel tab pages line, active tab page label
|
TabLineSel tab pages line, active tab page label
|
||||||
|
*hl-Terminal*
|
||||||
|
Terminal |terminal| window (see |terminal-size-color|)
|
||||||
*hl-Title*
|
*hl-Title*
|
||||||
Title titles for output from ":set all", ":autocmd" etc.
|
Title titles for output from ":set all", ":autocmd" etc.
|
||||||
*hl-Visual*
|
*hl-Visual*
|
||||||
|
|||||||
121
runtime/doc/tags
121
runtime/doc/tags
@@ -4,6 +4,7 @@
|
|||||||
$ motion.txt /*$*
|
$ motion.txt /*$*
|
||||||
$HOME options.txt /*$HOME*
|
$HOME options.txt /*$HOME*
|
||||||
$HOME-use version5.txt /*$HOME-use*
|
$HOME-use version5.txt /*$HOME-use*
|
||||||
|
$HOME-windows options.txt /*$HOME-windows*
|
||||||
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
||||||
$MYVIMRC starting.txt /*$MYVIMRC*
|
$MYVIMRC starting.txt /*$MYVIMRC*
|
||||||
$VIM starting.txt /*$VIM*
|
$VIM starting.txt /*$VIM*
|
||||||
@@ -73,12 +74,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'backupskip' options.txt /*'backupskip'*
|
'backupskip' options.txt /*'backupskip'*
|
||||||
'balloondelay' options.txt /*'balloondelay'*
|
'balloondelay' options.txt /*'balloondelay'*
|
||||||
'ballooneval' options.txt /*'ballooneval'*
|
'ballooneval' options.txt /*'ballooneval'*
|
||||||
|
'balloonevalterm' options.txt /*'balloonevalterm'*
|
||||||
'balloonexpr' options.txt /*'balloonexpr'*
|
'balloonexpr' options.txt /*'balloonexpr'*
|
||||||
'bdir' options.txt /*'bdir'*
|
'bdir' options.txt /*'bdir'*
|
||||||
'bdlay' options.txt /*'bdlay'*
|
'bdlay' options.txt /*'bdlay'*
|
||||||
'beautify' vi_diff.txt /*'beautify'*
|
'beautify' vi_diff.txt /*'beautify'*
|
||||||
'belloff' options.txt /*'belloff'*
|
'belloff' options.txt /*'belloff'*
|
||||||
'beval' options.txt /*'beval'*
|
'beval' options.txt /*'beval'*
|
||||||
|
'bevalterm' options.txt /*'bevalterm'*
|
||||||
'bex' options.txt /*'bex'*
|
'bex' options.txt /*'bex'*
|
||||||
'bexpr' options.txt /*'bexpr'*
|
'bexpr' options.txt /*'bexpr'*
|
||||||
'bf' vi_diff.txt /*'bf'*
|
'bf' vi_diff.txt /*'bf'*
|
||||||
@@ -306,6 +309,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'go-g' options.txt /*'go-g'*
|
'go-g' options.txt /*'go-g'*
|
||||||
'go-h' options.txt /*'go-h'*
|
'go-h' options.txt /*'go-h'*
|
||||||
'go-i' options.txt /*'go-i'*
|
'go-i' options.txt /*'go-i'*
|
||||||
|
'go-k' options.txt /*'go-k'*
|
||||||
'go-l' options.txt /*'go-l'*
|
'go-l' options.txt /*'go-l'*
|
||||||
'go-m' options.txt /*'go-m'*
|
'go-m' options.txt /*'go-m'*
|
||||||
'go-p' options.txt /*'go-p'*
|
'go-p' options.txt /*'go-p'*
|
||||||
@@ -366,7 +370,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'ims' options.txt /*'ims'*
|
'ims' options.txt /*'ims'*
|
||||||
'imsearch' options.txt /*'imsearch'*
|
'imsearch' options.txt /*'imsearch'*
|
||||||
'imsf' options.txt /*'imsf'*
|
'imsf' options.txt /*'imsf'*
|
||||||
|
'imst' options.txt /*'imst'*
|
||||||
'imstatusfunc' options.txt /*'imstatusfunc'*
|
'imstatusfunc' options.txt /*'imstatusfunc'*
|
||||||
|
'imstyle' options.txt /*'imstyle'*
|
||||||
'inc' options.txt /*'inc'*
|
'inc' options.txt /*'inc'*
|
||||||
'include' options.txt /*'include'*
|
'include' options.txt /*'include'*
|
||||||
'includeexpr' options.txt /*'includeexpr'*
|
'includeexpr' options.txt /*'includeexpr'*
|
||||||
@@ -474,6 +480,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'msm' options.txt /*'msm'*
|
'msm' options.txt /*'msm'*
|
||||||
'mzq' options.txt /*'mzq'*
|
'mzq' options.txt /*'mzq'*
|
||||||
'mzquantum' options.txt /*'mzquantum'*
|
'mzquantum' options.txt /*'mzquantum'*
|
||||||
|
'mzschemedll' options.txt /*'mzschemedll'*
|
||||||
|
'mzschemegcdll' options.txt /*'mzschemegcdll'*
|
||||||
'nf' options.txt /*'nf'*
|
'nf' options.txt /*'nf'*
|
||||||
'noacd' options.txt /*'noacd'*
|
'noacd' options.txt /*'noacd'*
|
||||||
'noai' options.txt /*'noai'*
|
'noai' options.txt /*'noai'*
|
||||||
@@ -499,7 +507,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'noawa' options.txt /*'noawa'*
|
'noawa' options.txt /*'noawa'*
|
||||||
'nobackup' options.txt /*'nobackup'*
|
'nobackup' options.txt /*'nobackup'*
|
||||||
'noballooneval' options.txt /*'noballooneval'*
|
'noballooneval' options.txt /*'noballooneval'*
|
||||||
|
'noballoonevalterm' options.txt /*'noballoonevalterm'*
|
||||||
'nobeval' options.txt /*'nobeval'*
|
'nobeval' options.txt /*'nobeval'*
|
||||||
|
'nobevalterm' options.txt /*'nobevalterm'*
|
||||||
'nobin' options.txt /*'nobin'*
|
'nobin' options.txt /*'nobin'*
|
||||||
'nobinary' options.txt /*'nobinary'*
|
'nobinary' options.txt /*'nobinary'*
|
||||||
'nobiosk' options.txt /*'nobiosk'*
|
'nobiosk' options.txt /*'nobiosk'*
|
||||||
@@ -935,6 +945,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_Co' term.txt /*'t_Co'*
|
't_Co' term.txt /*'t_Co'*
|
||||||
't_Cs' term.txt /*'t_Cs'*
|
't_Cs' term.txt /*'t_Cs'*
|
||||||
't_DL' term.txt /*'t_DL'*
|
't_DL' term.txt /*'t_DL'*
|
||||||
|
't_EC' term.txt /*'t_EC'*
|
||||||
't_EI' term.txt /*'t_EI'*
|
't_EI' term.txt /*'t_EI'*
|
||||||
't_F1' term.txt /*'t_F1'*
|
't_F1' term.txt /*'t_F1'*
|
||||||
't_F2' term.txt /*'t_F2'*
|
't_F2' term.txt /*'t_F2'*
|
||||||
@@ -971,12 +982,20 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_PE' term.txt /*'t_PE'*
|
't_PE' term.txt /*'t_PE'*
|
||||||
't_PS' term.txt /*'t_PS'*
|
't_PS' term.txt /*'t_PS'*
|
||||||
't_RB' term.txt /*'t_RB'*
|
't_RB' term.txt /*'t_RB'*
|
||||||
|
't_RC' term.txt /*'t_RC'*
|
||||||
|
't_RF' term.txt /*'t_RF'*
|
||||||
't_RI' term.txt /*'t_RI'*
|
't_RI' term.txt /*'t_RI'*
|
||||||
|
't_RS' term.txt /*'t_RS'*
|
||||||
't_RV' term.txt /*'t_RV'*
|
't_RV' term.txt /*'t_RV'*
|
||||||
|
't_SC' term.txt /*'t_SC'*
|
||||||
|
't_SH' term.txt /*'t_SH'*
|
||||||
't_SI' term.txt /*'t_SI'*
|
't_SI' term.txt /*'t_SI'*
|
||||||
't_SR' term.txt /*'t_SR'*
|
't_SR' term.txt /*'t_SR'*
|
||||||
't_Sb' term.txt /*'t_Sb'*
|
't_Sb' term.txt /*'t_Sb'*
|
||||||
't_Sf' term.txt /*'t_Sf'*
|
't_Sf' term.txt /*'t_Sf'*
|
||||||
|
't_Te' term.txt /*'t_Te'*
|
||||||
|
't_Ts' term.txt /*'t_Ts'*
|
||||||
|
't_VS' term.txt /*'t_VS'*
|
||||||
't_WP' term.txt /*'t_WP'*
|
't_WP' term.txt /*'t_WP'*
|
||||||
't_WS' term.txt /*'t_WS'*
|
't_WS' term.txt /*'t_WS'*
|
||||||
't_ZH' term.txt /*'t_ZH'*
|
't_ZH' term.txt /*'t_ZH'*
|
||||||
@@ -1167,6 +1186,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'winheight' options.txt /*'winheight'*
|
'winheight' options.txt /*'winheight'*
|
||||||
'winminheight' options.txt /*'winminheight'*
|
'winminheight' options.txt /*'winminheight'*
|
||||||
'winminwidth' options.txt /*'winminwidth'*
|
'winminwidth' options.txt /*'winminwidth'*
|
||||||
|
'winptydll' options.txt /*'winptydll'*
|
||||||
'winwidth' options.txt /*'winwidth'*
|
'winwidth' options.txt /*'winwidth'*
|
||||||
'wiv' options.txt /*'wiv'*
|
'wiv' options.txt /*'wiv'*
|
||||||
'wiw' options.txt /*'wiw'*
|
'wiw' options.txt /*'wiw'*
|
||||||
@@ -1207,7 +1227,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+acl various.txt /*+acl*
|
+acl various.txt /*+acl*
|
||||||
+arabic various.txt /*+arabic*
|
+arabic various.txt /*+arabic*
|
||||||
+autocmd various.txt /*+autocmd*
|
+autocmd various.txt /*+autocmd*
|
||||||
|
+autoservername various.txt /*+autoservername*
|
||||||
+balloon_eval various.txt /*+balloon_eval*
|
+balloon_eval various.txt /*+balloon_eval*
|
||||||
|
+balloon_eval_term various.txt /*+balloon_eval_term*
|
||||||
+browse various.txt /*+browse*
|
+browse various.txt /*+browse*
|
||||||
+builtin_terms various.txt /*+builtin_terms*
|
+builtin_terms various.txt /*+builtin_terms*
|
||||||
+byte_offset various.txt /*+byte_offset*
|
+byte_offset various.txt /*+byte_offset*
|
||||||
@@ -1323,6 +1345,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+timers various.txt /*+timers*
|
+timers various.txt /*+timers*
|
||||||
+title various.txt /*+title*
|
+title various.txt /*+title*
|
||||||
+toolbar various.txt /*+toolbar*
|
+toolbar various.txt /*+toolbar*
|
||||||
|
+unix eval.txt /*+unix*
|
||||||
+user_commands various.txt /*+user_commands*
|
+user_commands various.txt /*+user_commands*
|
||||||
+vertsplit various.txt /*+vertsplit*
|
+vertsplit various.txt /*+vertsplit*
|
||||||
+viminfo various.txt /*+viminfo*
|
+viminfo various.txt /*+viminfo*
|
||||||
@@ -1887,6 +1910,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:<afile> cmdline.txt /*:<afile>*
|
:<afile> cmdline.txt /*:<afile>*
|
||||||
:<amatch> cmdline.txt /*:<amatch>*
|
:<amatch> cmdline.txt /*:<amatch>*
|
||||||
:<cWORD> cmdline.txt /*:<cWORD>*
|
:<cWORD> cmdline.txt /*:<cWORD>*
|
||||||
|
:<cexpr> cmdline.txt /*:<cexpr>*
|
||||||
:<cfile> cmdline.txt /*:<cfile>*
|
:<cfile> cmdline.txt /*:<cfile>*
|
||||||
:<cword> cmdline.txt /*:<cword>*
|
:<cword> cmdline.txt /*:<cword>*
|
||||||
:<sfile> cmdline.txt /*:<sfile>*
|
:<sfile> cmdline.txt /*:<sfile>*
|
||||||
@@ -1946,6 +1970,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||||
:TOhtml syntax.txt /*:TOhtml*
|
:TOhtml syntax.txt /*:TOhtml*
|
||||||
:TarDiff pi_tar.txt /*:TarDiff*
|
:TarDiff pi_tar.txt /*:TarDiff*
|
||||||
|
:Termdebug terminal.txt /*:Termdebug*
|
||||||
:Texplore pi_netrw.txt /*:Texplore*
|
:Texplore pi_netrw.txt /*:Texplore*
|
||||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||||
@@ -3117,9 +3142,16 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:tl tagsrch.txt /*:tl*
|
:tl tagsrch.txt /*:tl*
|
||||||
:tlast tagsrch.txt /*:tlast*
|
:tlast tagsrch.txt /*:tlast*
|
||||||
:tm gui.txt /*:tm*
|
:tm gui.txt /*:tm*
|
||||||
|
:tma map.txt /*:tma*
|
||||||
|
:tmap map.txt /*:tmap*
|
||||||
|
:tmap_l map.txt /*:tmap_l*
|
||||||
|
:tmapc map.txt /*:tmapc*
|
||||||
|
:tmapclear map.txt /*:tmapclear*
|
||||||
:tmenu gui.txt /*:tmenu*
|
:tmenu gui.txt /*:tmenu*
|
||||||
:tn tagsrch.txt /*:tn*
|
:tn tagsrch.txt /*:tn*
|
||||||
:tnext tagsrch.txt /*:tnext*
|
:tnext tagsrch.txt /*:tnext*
|
||||||
|
:tno map.txt /*:tno*
|
||||||
|
:tnoremap map.txt /*:tnoremap*
|
||||||
:topleft windows.txt /*:topleft*
|
:topleft windows.txt /*:topleft*
|
||||||
:tp tagsrch.txt /*:tp*
|
:tp tagsrch.txt /*:tp*
|
||||||
:tprevious tagsrch.txt /*:tprevious*
|
:tprevious tagsrch.txt /*:tprevious*
|
||||||
@@ -3129,6 +3161,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:ts tagsrch.txt /*:ts*
|
:ts tagsrch.txt /*:ts*
|
||||||
:tselect tagsrch.txt /*:tselect*
|
:tselect tagsrch.txt /*:tselect*
|
||||||
:tu gui.txt /*:tu*
|
:tu gui.txt /*:tu*
|
||||||
|
:tunma map.txt /*:tunma*
|
||||||
|
:tunmap map.txt /*:tunmap*
|
||||||
:tunmenu gui.txt /*:tunmenu*
|
:tunmenu gui.txt /*:tunmenu*
|
||||||
:u undo.txt /*:u*
|
:u undo.txt /*:u*
|
||||||
:un undo.txt /*:un*
|
:un undo.txt /*:un*
|
||||||
@@ -3393,6 +3427,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<bang> map.txt /*<bang>*
|
<bang> map.txt /*<bang>*
|
||||||
<buffer=N> autocmd.txt /*<buffer=N>*
|
<buffer=N> autocmd.txt /*<buffer=N>*
|
||||||
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
||||||
|
<cexpr> cmdline.txt /*<cexpr>*
|
||||||
<cfile> cmdline.txt /*<cfile>*
|
<cfile> cmdline.txt /*<cfile>*
|
||||||
<character> intro.txt /*<character>*
|
<character> intro.txt /*<character>*
|
||||||
<count> map.txt /*<count>*
|
<count> map.txt /*<count>*
|
||||||
@@ -3423,6 +3458,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<mods> map.txt /*<mods>*
|
<mods> map.txt /*<mods>*
|
||||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||||
<q-args> map.txt /*<q-args>*
|
<q-args> map.txt /*<q-args>*
|
||||||
|
<range> map.txt /*<range>*
|
||||||
<reg> map.txt /*<reg>*
|
<reg> map.txt /*<reg>*
|
||||||
<register> map.txt /*<register>*
|
<register> map.txt /*<register>*
|
||||||
<sfile> cmdline.txt /*<sfile>*
|
<sfile> cmdline.txt /*<sfile>*
|
||||||
@@ -3628,6 +3664,8 @@ Cmd-event autocmd.txt /*Cmd-event*
|
|||||||
CmdUndefined autocmd.txt /*CmdUndefined*
|
CmdUndefined autocmd.txt /*CmdUndefined*
|
||||||
Cmdline cmdline.txt /*Cmdline*
|
Cmdline cmdline.txt /*Cmdline*
|
||||||
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
||||||
|
CmdlineEnter autocmd.txt /*CmdlineEnter*
|
||||||
|
CmdlineLeave autocmd.txt /*CmdlineLeave*
|
||||||
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
||||||
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
||||||
ColorScheme autocmd.txt /*ColorScheme*
|
ColorScheme autocmd.txt /*ColorScheme*
|
||||||
@@ -3730,7 +3768,6 @@ E169 message.txt /*E169*
|
|||||||
E17 message.txt /*E17*
|
E17 message.txt /*E17*
|
||||||
E170 eval.txt /*E170*
|
E170 eval.txt /*E170*
|
||||||
E171 eval.txt /*E171*
|
E171 eval.txt /*E171*
|
||||||
E172 message.txt /*E172*
|
|
||||||
E173 message.txt /*E173*
|
E173 message.txt /*E173*
|
||||||
E174 map.txt /*E174*
|
E174 map.txt /*E174*
|
||||||
E175 map.txt /*E175*
|
E175 map.txt /*E175*
|
||||||
@@ -4537,6 +4574,8 @@ E944 pattern.txt /*E944*
|
|||||||
E945 pattern.txt /*E945*
|
E945 pattern.txt /*E945*
|
||||||
E946 terminal.txt /*E946*
|
E946 terminal.txt /*E946*
|
||||||
E947 terminal.txt /*E947*
|
E947 terminal.txt /*E947*
|
||||||
|
E948 terminal.txt /*E948*
|
||||||
|
E949 editing.txt /*E949*
|
||||||
E95 message.txt /*E95*
|
E95 message.txt /*E95*
|
||||||
E96 diff.txt /*E96*
|
E96 diff.txt /*E96*
|
||||||
E97 diff.txt /*E97*
|
E97 diff.txt /*E97*
|
||||||
@@ -4781,6 +4820,7 @@ TermResponse autocmd.txt /*TermResponse*
|
|||||||
Terminal-mode terminal.txt /*Terminal-mode*
|
Terminal-mode terminal.txt /*Terminal-mode*
|
||||||
TextChanged autocmd.txt /*TextChanged*
|
TextChanged autocmd.txt /*TextChanged*
|
||||||
TextChangedI autocmd.txt /*TextChangedI*
|
TextChangedI autocmd.txt /*TextChangedI*
|
||||||
|
TextYankPost autocmd.txt /*TextYankPost*
|
||||||
Transact-SQL ft_sql.txt /*Transact-SQL*
|
Transact-SQL ft_sql.txt /*Transact-SQL*
|
||||||
U undo.txt /*U*
|
U undo.txt /*U*
|
||||||
UTF-8 mbyte.txt /*UTF-8*
|
UTF-8 mbyte.txt /*UTF-8*
|
||||||
@@ -4823,6 +4863,7 @@ W22 eval.txt /*W22*
|
|||||||
WORD motion.txt /*WORD*
|
WORD motion.txt /*WORD*
|
||||||
WWW intro.txt /*WWW*
|
WWW intro.txt /*WWW*
|
||||||
Win32 os_win32.txt /*Win32*
|
Win32 os_win32.txt /*Win32*
|
||||||
|
WinBar gui.txt /*WinBar*
|
||||||
WinEnter autocmd.txt /*WinEnter*
|
WinEnter autocmd.txt /*WinEnter*
|
||||||
WinLeave autocmd.txt /*WinLeave*
|
WinLeave autocmd.txt /*WinLeave*
|
||||||
WinNew autocmd.txt /*WinNew*
|
WinNew autocmd.txt /*WinNew*
|
||||||
@@ -5112,6 +5153,7 @@ backup-extension version4.txt /*backup-extension*
|
|||||||
backup-table editing.txt /*backup-table*
|
backup-table editing.txt /*backup-table*
|
||||||
balloon-eval debugger.txt /*balloon-eval*
|
balloon-eval debugger.txt /*balloon-eval*
|
||||||
balloon_show() eval.txt /*balloon_show()*
|
balloon_show() eval.txt /*balloon_show()*
|
||||||
|
balloon_split() eval.txt /*balloon_split()*
|
||||||
bar motion.txt /*bar*
|
bar motion.txt /*bar*
|
||||||
bars help.txt /*bars*
|
bars help.txt /*bars*
|
||||||
base_font_name_list mbyte.txt /*base_font_name_list*
|
base_font_name_list mbyte.txt /*base_font_name_list*
|
||||||
@@ -5828,6 +5870,7 @@ eval() eval.txt /*eval()*
|
|||||||
eval-examples eval.txt /*eval-examples*
|
eval-examples eval.txt /*eval-examples*
|
||||||
eval-sandbox eval.txt /*eval-sandbox*
|
eval-sandbox eval.txt /*eval-sandbox*
|
||||||
eval.txt eval.txt /*eval.txt*
|
eval.txt eval.txt /*eval.txt*
|
||||||
|
event-variable eval.txt /*event-variable*
|
||||||
eventhandler() eval.txt /*eventhandler()*
|
eventhandler() eval.txt /*eventhandler()*
|
||||||
eview starting.txt /*eview*
|
eview starting.txt /*eview*
|
||||||
evim starting.txt /*evim*
|
evim starting.txt /*evim*
|
||||||
@@ -6134,6 +6177,7 @@ ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
|||||||
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
||||||
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
||||||
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
||||||
|
ft-n1ql-syntax syntax.txt /*ft-n1ql-syntax*
|
||||||
ft-nasm-syntax syntax.txt /*ft-nasm-syntax*
|
ft-nasm-syntax syntax.txt /*ft-nasm-syntax*
|
||||||
ft-ncf-syntax syntax.txt /*ft-ncf-syntax*
|
ft-ncf-syntax syntax.txt /*ft-ncf-syntax*
|
||||||
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
|
ft-nroff-syntax syntax.txt /*ft-nroff-syntax*
|
||||||
@@ -6188,6 +6232,7 @@ ft-vb-syntax syntax.txt /*ft-vb-syntax*
|
|||||||
ft-verilog-indent indent.txt /*ft-verilog-indent*
|
ft-verilog-indent indent.txt /*ft-verilog-indent*
|
||||||
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
|
ft-vhdl-indent indent.txt /*ft-vhdl-indent*
|
||||||
ft-vim-indent indent.txt /*ft-vim-indent*
|
ft-vim-indent indent.txt /*ft-vim-indent*
|
||||||
|
ft-vim-plugin filetype.txt /*ft-vim-plugin*
|
||||||
ft-vim-syntax syntax.txt /*ft-vim-syntax*
|
ft-vim-syntax syntax.txt /*ft-vim-syntax*
|
||||||
ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax*
|
ft-xf86conf-syntax syntax.txt /*ft-xf86conf-syntax*
|
||||||
ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
ft-xhtml-omni insert.txt /*ft-xhtml-omni*
|
||||||
@@ -6195,6 +6240,7 @@ ft-xml-omni insert.txt /*ft-xml-omni*
|
|||||||
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
ft-xml-syntax syntax.txt /*ft-xml-syntax*
|
||||||
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
ft-xpm-syntax syntax.txt /*ft-xpm-syntax*
|
||||||
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
ft-yaml-syntax syntax.txt /*ft-yaml-syntax*
|
||||||
|
ft-zimbu-plugin filetype.txt /*ft-zimbu-plugin*
|
||||||
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
ft-zsh-syntax syntax.txt /*ft-zsh-syntax*
|
||||||
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
ft_ada.txt ft_ada.txt /*ft_ada.txt*
|
||||||
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
ft_rust.txt ft_rust.txt /*ft_rust.txt*
|
||||||
@@ -6360,10 +6406,15 @@ g:netrw_list_cmd_options pi_netrw.txt /*g:netrw_list_cmd_options*
|
|||||||
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
||||||
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
||||||
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
||||||
|
g:netrw_localcopycmdopt pi_netrw.txt /*g:netrw_localcopycmdopt*
|
||||||
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
||||||
|
g:netrw_localcopydircmdopt pi_netrw.txt /*g:netrw_localcopydircmdopt*
|
||||||
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
||||||
|
g:netrw_localmkdiropt pi_netrw.txt /*g:netrw_localmkdiropt*
|
||||||
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
||||||
|
g:netrw_localmovecmdopt pi_netrw.txt /*g:netrw_localmovecmdopt*
|
||||||
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
||||||
|
g:netrw_localrmdiropt pi_netrw.txt /*g:netrw_localrmdiropt*
|
||||||
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
||||||
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
||||||
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
||||||
@@ -6373,11 +6424,13 @@ g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
|
|||||||
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
||||||
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
||||||
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
||||||
|
g:netrw_rename_cmd pi_netrw.txt /*g:netrw_rename_cmd*
|
||||||
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
||||||
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
||||||
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
||||||
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
||||||
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
||||||
|
g:netrw_rsync_sep pi_netrw.txt /*g:netrw_rsync_sep*
|
||||||
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
||||||
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
||||||
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
||||||
@@ -6495,6 +6548,7 @@ ga various.txt /*ga*
|
|||||||
garbagecollect() eval.txt /*garbagecollect()*
|
garbagecollect() eval.txt /*garbagecollect()*
|
||||||
gd pattern.txt /*gd*
|
gd pattern.txt /*gd*
|
||||||
gdb debug.txt /*gdb*
|
gdb debug.txt /*gdb*
|
||||||
|
gdb-version terminal.txt /*gdb-version*
|
||||||
ge motion.txt /*ge*
|
ge motion.txt /*ge*
|
||||||
get() eval.txt /*get()*
|
get() eval.txt /*get()*
|
||||||
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
||||||
@@ -6771,9 +6825,12 @@ hl-SpellLocal syntax.txt /*hl-SpellLocal*
|
|||||||
hl-SpellRare syntax.txt /*hl-SpellRare*
|
hl-SpellRare syntax.txt /*hl-SpellRare*
|
||||||
hl-StatusLine syntax.txt /*hl-StatusLine*
|
hl-StatusLine syntax.txt /*hl-StatusLine*
|
||||||
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
||||||
|
hl-StatusLineTerm syntax.txt /*hl-StatusLineTerm*
|
||||||
|
hl-StatusLineTermNC syntax.txt /*hl-StatusLineTermNC*
|
||||||
hl-TabLine syntax.txt /*hl-TabLine*
|
hl-TabLine syntax.txt /*hl-TabLine*
|
||||||
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
||||||
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
||||||
|
hl-Terminal syntax.txt /*hl-Terminal*
|
||||||
hl-Title syntax.txt /*hl-Title*
|
hl-Title syntax.txt /*hl-Title*
|
||||||
hl-Tooltip syntax.txt /*hl-Tooltip*
|
hl-Tooltip syntax.txt /*hl-Tooltip*
|
||||||
hl-User1 syntax.txt /*hl-User1*
|
hl-User1 syntax.txt /*hl-User1*
|
||||||
@@ -6784,6 +6841,8 @@ hl-Visual syntax.txt /*hl-Visual*
|
|||||||
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
hl-VisualNOS syntax.txt /*hl-VisualNOS*
|
||||||
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
hl-WarningMsg syntax.txt /*hl-WarningMsg*
|
||||||
hl-WildMenu syntax.txt /*hl-WildMenu*
|
hl-WildMenu syntax.txt /*hl-WildMenu*
|
||||||
|
hl-debugBreakpoint terminal.txt /*hl-debugBreakpoint*
|
||||||
|
hl-debugPC terminal.txt /*hl-debugPC*
|
||||||
hlID() eval.txt /*hlID()*
|
hlID() eval.txt /*hlID()*
|
||||||
hlexists() eval.txt /*hlexists()*
|
hlexists() eval.txt /*hlexists()*
|
||||||
hlsearch-variable eval.txt /*hlsearch-variable*
|
hlsearch-variable eval.txt /*hlsearch-variable*
|
||||||
@@ -7263,6 +7322,7 @@ mapmode-n map.txt /*mapmode-n*
|
|||||||
mapmode-nvo map.txt /*mapmode-nvo*
|
mapmode-nvo map.txt /*mapmode-nvo*
|
||||||
mapmode-o map.txt /*mapmode-o*
|
mapmode-o map.txt /*mapmode-o*
|
||||||
mapmode-s map.txt /*mapmode-s*
|
mapmode-s map.txt /*mapmode-s*
|
||||||
|
mapmode-t map.txt /*mapmode-t*
|
||||||
mapmode-v map.txt /*mapmode-v*
|
mapmode-v map.txt /*mapmode-v*
|
||||||
mapmode-x map.txt /*mapmode-x*
|
mapmode-x map.txt /*mapmode-x*
|
||||||
mapping map.txt /*mapping*
|
mapping map.txt /*mapping*
|
||||||
@@ -7295,6 +7355,7 @@ mbyte-encoding mbyte.txt /*mbyte-encoding*
|
|||||||
mbyte-first mbyte.txt /*mbyte-first*
|
mbyte-first mbyte.txt /*mbyte-first*
|
||||||
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
mbyte-fonts-MSwin mbyte.txt /*mbyte-fonts-MSwin*
|
||||||
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
mbyte-fonts-X11 mbyte.txt /*mbyte-fonts-X11*
|
||||||
|
mbyte-func mbyte.txt /*mbyte-func*
|
||||||
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
mbyte-keymap mbyte.txt /*mbyte-keymap*
|
||||||
mbyte-locale mbyte.txt /*mbyte-locale*
|
mbyte-locale mbyte.txt /*mbyte-locale*
|
||||||
mbyte-options mbyte.txt /*mbyte-options*
|
mbyte-options mbyte.txt /*mbyte-options*
|
||||||
@@ -7377,6 +7438,7 @@ mzscheme-vim if_mzsch.txt /*mzscheme-vim*
|
|||||||
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
|
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
|
||||||
mzscheme-window if_mzsch.txt /*mzscheme-window*
|
mzscheme-window if_mzsch.txt /*mzscheme-window*
|
||||||
n pattern.txt /*n*
|
n pattern.txt /*n*
|
||||||
|
n1ql.vim syntax.txt /*n1ql.vim*
|
||||||
nasm.vim syntax.txt /*nasm.vim*
|
nasm.vim syntax.txt /*nasm.vim*
|
||||||
navigation motion.txt /*navigation*
|
navigation motion.txt /*navigation*
|
||||||
nb-commands netbeans.txt /*nb-commands*
|
nb-commands netbeans.txt /*nb-commands*
|
||||||
@@ -7449,7 +7511,11 @@ netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
|||||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||||
netrw-c pi_netrw.txt /*netrw-c*
|
netrw-c pi_netrw.txt /*netrw-c*
|
||||||
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
||||||
|
netrw-cB pi_netrw.txt /*netrw-cB*
|
||||||
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
||||||
|
netrw-call pi_netrw.txt /*netrw-call*
|
||||||
|
netrw-cb pi_netrw.txt /*netrw-cb*
|
||||||
|
netrw-cd pi_netrw.txt /*netrw-cd*
|
||||||
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
||||||
netrw-clean pi_netrw.txt /*netrw-clean*
|
netrw-clean pi_netrw.txt /*netrw-clean*
|
||||||
netrw-contents pi_netrw.txt /*netrw-contents*
|
netrw-contents pi_netrw.txt /*netrw-contents*
|
||||||
@@ -7475,6 +7541,7 @@ netrw-enter pi_netrw.txt /*netrw-enter*
|
|||||||
netrw-ex pi_netrw.txt /*netrw-ex*
|
netrw-ex pi_netrw.txt /*netrw-ex*
|
||||||
netrw-explore pi_netrw.txt /*netrw-explore*
|
netrw-explore pi_netrw.txt /*netrw-explore*
|
||||||
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
||||||
|
netrw-expose pi_netrw.txt /*netrw-expose*
|
||||||
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
||||||
netrw-file pi_netrw.txt /*netrw-file*
|
netrw-file pi_netrw.txt /*netrw-file*
|
||||||
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
||||||
@@ -7524,6 +7591,7 @@ netrw-mh pi_netrw.txt /*netrw-mh*
|
|||||||
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
||||||
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
||||||
netrw-mm pi_netrw.txt /*netrw-mm*
|
netrw-mm pi_netrw.txt /*netrw-mm*
|
||||||
|
netrw-modify pi_netrw.txt /*netrw-modify*
|
||||||
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
||||||
netrw-move pi_netrw.txt /*netrw-move*
|
netrw-move pi_netrw.txt /*netrw-move*
|
||||||
netrw-mp pi_netrw.txt /*netrw-mp*
|
netrw-mp pi_netrw.txt /*netrw-mp*
|
||||||
@@ -7720,6 +7788,7 @@ no-type-checking eval.txt /*no-type-checking*
|
|||||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||||
no_mail_maps filetype.txt /*no_mail_maps*
|
no_mail_maps filetype.txt /*no_mail_maps*
|
||||||
no_plugin_maps filetype.txt /*no_plugin_maps*
|
no_plugin_maps filetype.txt /*no_plugin_maps*
|
||||||
|
nocombine syntax.txt /*nocombine*
|
||||||
non-greedy pattern.txt /*non-greedy*
|
non-greedy pattern.txt /*non-greedy*
|
||||||
non-zero-arg eval.txt /*non-zero-arg*
|
non-zero-arg eval.txt /*non-zero-arg*
|
||||||
none-variable eval.txt /*none-variable*
|
none-variable eval.txt /*none-variable*
|
||||||
@@ -7766,8 +7835,11 @@ option-backslash options.txt /*option-backslash*
|
|||||||
option-list quickref.txt /*option-list*
|
option-list quickref.txt /*option-list*
|
||||||
option-summary options.txt /*option-summary*
|
option-summary options.txt /*option-summary*
|
||||||
option-window options.txt /*option-window*
|
option-window options.txt /*option-window*
|
||||||
|
option_restore() eval.txt /*option_restore()*
|
||||||
|
option_save() eval.txt /*option_save()*
|
||||||
options options.txt /*options*
|
options options.txt /*options*
|
||||||
options-changed version5.txt /*options-changed*
|
options-changed version5.txt /*options-changed*
|
||||||
|
options-in-terminal terminal.txt /*options-in-terminal*
|
||||||
options.txt options.txt /*options.txt*
|
options.txt options.txt /*options.txt*
|
||||||
optwin options.txt /*optwin*
|
optwin options.txt /*optwin*
|
||||||
or() eval.txt /*or()*
|
or() eval.txt /*or()*
|
||||||
@@ -7996,14 +8068,21 @@ qnx-terminal os_qnx.txt /*qnx-terminal*
|
|||||||
quake.vim syntax.txt /*quake.vim*
|
quake.vim syntax.txt /*quake.vim*
|
||||||
quickfix quickfix.txt /*quickfix*
|
quickfix quickfix.txt /*quickfix*
|
||||||
quickfix-6 version6.txt /*quickfix-6*
|
quickfix-6 version6.txt /*quickfix-6*
|
||||||
|
quickfix-ID quickfix.txt /*quickfix-ID*
|
||||||
|
quickfix-changedtick quickfix.txt /*quickfix-changedtick*
|
||||||
|
quickfix-context quickfix.txt /*quickfix-context*
|
||||||
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||||
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
||||||
quickfix-manx quickfix.txt /*quickfix-manx*
|
quickfix-manx quickfix.txt /*quickfix-manx*
|
||||||
|
quickfix-parse quickfix.txt /*quickfix-parse*
|
||||||
quickfix-perl quickfix.txt /*quickfix-perl*
|
quickfix-perl quickfix.txt /*quickfix-perl*
|
||||||
|
quickfix-size quickfix.txt /*quickfix-size*
|
||||||
|
quickfix-title quickfix.txt /*quickfix-title*
|
||||||
quickfix-valid quickfix.txt /*quickfix-valid*
|
quickfix-valid quickfix.txt /*quickfix-valid*
|
||||||
quickfix-window quickfix.txt /*quickfix-window*
|
quickfix-window quickfix.txt /*quickfix-window*
|
||||||
|
quickfix-window-ID quickfix.txt /*quickfix-window-ID*
|
||||||
quickfix.txt quickfix.txt /*quickfix.txt*
|
quickfix.txt quickfix.txt /*quickfix.txt*
|
||||||
quickref quickref.txt /*quickref*
|
quickref quickref.txt /*quickref*
|
||||||
quickref.txt quickref.txt /*quickref.txt*
|
quickref.txt quickref.txt /*quickref.txt*
|
||||||
@@ -8225,6 +8304,7 @@ servername-variable eval.txt /*servername-variable*
|
|||||||
session-file starting.txt /*session-file*
|
session-file starting.txt /*session-file*
|
||||||
set-option options.txt /*set-option*
|
set-option options.txt /*set-option*
|
||||||
set-spc-auto spell.txt /*set-spc-auto*
|
set-spc-auto spell.txt /*set-spc-auto*
|
||||||
|
setbufline() eval.txt /*setbufline()*
|
||||||
setbufvar() eval.txt /*setbufvar()*
|
setbufvar() eval.txt /*setbufvar()*
|
||||||
setcharsearch() eval.txt /*setcharsearch()*
|
setcharsearch() eval.txt /*setcharsearch()*
|
||||||
setcmdpos() eval.txt /*setcmdpos()*
|
setcmdpos() eval.txt /*setcmdpos()*
|
||||||
@@ -8431,6 +8511,7 @@ star pattern.txt /*star*
|
|||||||
starstar editing.txt /*starstar*
|
starstar editing.txt /*starstar*
|
||||||
starstar-wildcard editing.txt /*starstar-wildcard*
|
starstar-wildcard editing.txt /*starstar-wildcard*
|
||||||
start-of-file pattern.txt /*start-of-file*
|
start-of-file pattern.txt /*start-of-file*
|
||||||
|
start-vimdiff diff.txt /*start-vimdiff*
|
||||||
starting starting.txt /*starting*
|
starting starting.txt /*starting*
|
||||||
starting-amiga starting.txt /*starting-amiga*
|
starting-amiga starting.txt /*starting-amiga*
|
||||||
starting.txt starting.txt /*starting.txt*
|
starting.txt starting.txt /*starting.txt*
|
||||||
@@ -8451,6 +8532,7 @@ strdisplaywidth() eval.txt /*strdisplaywidth()*
|
|||||||
strftime() eval.txt /*strftime()*
|
strftime() eval.txt /*strftime()*
|
||||||
strgetchar() eval.txt /*strgetchar()*
|
strgetchar() eval.txt /*strgetchar()*
|
||||||
stridx() eval.txt /*stridx()*
|
stridx() eval.txt /*stridx()*
|
||||||
|
strikethrough syntax.txt /*strikethrough*
|
||||||
string eval.txt /*string*
|
string eval.txt /*string*
|
||||||
string() eval.txt /*string()*
|
string() eval.txt /*string()*
|
||||||
string-functions usr_41.txt /*string-functions*
|
string-functions usr_41.txt /*string-functions*
|
||||||
@@ -8537,12 +8619,14 @@ t_AL term.txt /*t_AL*
|
|||||||
t_BD term.txt /*t_BD*
|
t_BD term.txt /*t_BD*
|
||||||
t_BE term.txt /*t_BE*
|
t_BE term.txt /*t_BE*
|
||||||
t_CS term.txt /*t_CS*
|
t_CS term.txt /*t_CS*
|
||||||
|
t_CTRL-W_CTRL-C terminal.txt /*t_CTRL-W_CTRL-C*
|
||||||
t_CTRL-\_CTRL-N terminal.txt /*t_CTRL-\\_CTRL-N*
|
t_CTRL-\_CTRL-N terminal.txt /*t_CTRL-\\_CTRL-N*
|
||||||
t_CV term.txt /*t_CV*
|
t_CV term.txt /*t_CV*
|
||||||
t_Ce term.txt /*t_Ce*
|
t_Ce term.txt /*t_Ce*
|
||||||
t_Co term.txt /*t_Co*
|
t_Co term.txt /*t_Co*
|
||||||
t_Cs term.txt /*t_Cs*
|
t_Cs term.txt /*t_Cs*
|
||||||
t_DL term.txt /*t_DL*
|
t_DL term.txt /*t_DL*
|
||||||
|
t_EC term.txt /*t_EC*
|
||||||
t_EI term.txt /*t_EI*
|
t_EI term.txt /*t_EI*
|
||||||
t_F1 term.txt /*t_F1*
|
t_F1 term.txt /*t_F1*
|
||||||
t_F2 term.txt /*t_F2*
|
t_F2 term.txt /*t_F2*
|
||||||
@@ -8579,12 +8663,20 @@ t_KL term.txt /*t_KL*
|
|||||||
t_PE term.txt /*t_PE*
|
t_PE term.txt /*t_PE*
|
||||||
t_PS term.txt /*t_PS*
|
t_PS term.txt /*t_PS*
|
||||||
t_RB term.txt /*t_RB*
|
t_RB term.txt /*t_RB*
|
||||||
|
t_RC term.txt /*t_RC*
|
||||||
|
t_RF term.txt /*t_RF*
|
||||||
t_RI term.txt /*t_RI*
|
t_RI term.txt /*t_RI*
|
||||||
|
t_RS term.txt /*t_RS*
|
||||||
t_RV term.txt /*t_RV*
|
t_RV term.txt /*t_RV*
|
||||||
|
t_SC term.txt /*t_SC*
|
||||||
|
t_SH term.txt /*t_SH*
|
||||||
t_SI term.txt /*t_SI*
|
t_SI term.txt /*t_SI*
|
||||||
t_SR term.txt /*t_SR*
|
t_SR term.txt /*t_SR*
|
||||||
t_Sb term.txt /*t_Sb*
|
t_Sb term.txt /*t_Sb*
|
||||||
t_Sf term.txt /*t_Sf*
|
t_Sf term.txt /*t_Sf*
|
||||||
|
t_Te term.txt /*t_Te*
|
||||||
|
t_Ts term.txt /*t_Ts*
|
||||||
|
t_VS term.txt /*t_VS*
|
||||||
t_WP term.txt /*t_WP*
|
t_WP term.txt /*t_WP*
|
||||||
t_WS term.txt /*t_WS*
|
t_WS term.txt /*t_WS*
|
||||||
t_ZH term.txt /*t_ZH*
|
t_ZH term.txt /*t_ZH*
|
||||||
@@ -8815,6 +8907,7 @@ term_gettty() eval.txt /*term_gettty()*
|
|||||||
term_list() eval.txt /*term_list()*
|
term_list() eval.txt /*term_list()*
|
||||||
term_scrape() eval.txt /*term_scrape()*
|
term_scrape() eval.txt /*term_scrape()*
|
||||||
term_sendkeys() eval.txt /*term_sendkeys()*
|
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||||
|
term_setsize() eval.txt /*term_setsize()*
|
||||||
term_start() eval.txt /*term_start()*
|
term_start() eval.txt /*term_start()*
|
||||||
term_wait() eval.txt /*term_wait()*
|
term_wait() eval.txt /*term_wait()*
|
||||||
termcap term.txt /*termcap*
|
termcap term.txt /*termcap*
|
||||||
@@ -8824,14 +8917,29 @@ termcap-cursor-color term.txt /*termcap-cursor-color*
|
|||||||
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||||
termcap-options term.txt /*termcap-options*
|
termcap-options term.txt /*termcap-options*
|
||||||
termcap-title term.txt /*termcap-title*
|
termcap-title term.txt /*termcap-title*
|
||||||
|
termdebug-commands terminal.txt /*termdebug-commands*
|
||||||
|
termdebug-communication terminal.txt /*termdebug-communication*
|
||||||
|
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||||
|
termdebug-example terminal.txt /*termdebug-example*
|
||||||
|
termdebug-starting terminal.txt /*termdebug-starting*
|
||||||
|
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||||
|
termdebug-variables terminal.txt /*termdebug-variables*
|
||||||
terminal terminal.txt /*terminal*
|
terminal terminal.txt /*terminal*
|
||||||
terminal-colors os_unix.txt /*terminal-colors*
|
terminal-colors os_unix.txt /*terminal-colors*
|
||||||
|
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||||
terminal-debug terminal.txt /*terminal-debug*
|
terminal-debug terminal.txt /*terminal-debug*
|
||||||
|
terminal-functions usr_41.txt /*terminal-functions*
|
||||||
terminal-info term.txt /*terminal-info*
|
terminal-info term.txt /*terminal-info*
|
||||||
terminal-key-codes term.txt /*terminal-key-codes*
|
terminal-key-codes term.txt /*terminal-key-codes*
|
||||||
|
terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||||
terminal-options term.txt /*terminal-options*
|
terminal-options term.txt /*terminal-options*
|
||||||
terminal-output-codes term.txt /*terminal-output-codes*
|
terminal-output-codes term.txt /*terminal-output-codes*
|
||||||
|
terminal-resizing terminal.txt /*terminal-resizing*
|
||||||
|
terminal-size-color terminal.txt /*terminal-size-color*
|
||||||
|
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||||
terminal-testing terminal.txt /*terminal-testing*
|
terminal-testing terminal.txt /*terminal-testing*
|
||||||
|
terminal-typing terminal.txt /*terminal-typing*
|
||||||
|
terminal-unix terminal.txt /*terminal-unix*
|
||||||
terminal-use terminal.txt /*terminal-use*
|
terminal-use terminal.txt /*terminal-use*
|
||||||
terminal.txt terminal.txt /*terminal.txt*
|
terminal.txt terminal.txt /*terminal.txt*
|
||||||
terminfo term.txt /*terminfo*
|
terminfo term.txt /*terminfo*
|
||||||
@@ -8839,6 +8947,7 @@ termresponse-variable eval.txt /*termresponse-variable*
|
|||||||
test-functions usr_41.txt /*test-functions*
|
test-functions usr_41.txt /*test-functions*
|
||||||
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
||||||
test_autochdir() eval.txt /*test_autochdir()*
|
test_autochdir() eval.txt /*test_autochdir()*
|
||||||
|
test_feedinput() eval.txt /*test_feedinput()*
|
||||||
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
||||||
test_ignore_error() eval.txt /*test_ignore_error()*
|
test_ignore_error() eval.txt /*test_ignore_error()*
|
||||||
test_null_channel() eval.txt /*test_null_channel()*
|
test_null_channel() eval.txt /*test_null_channel()*
|
||||||
@@ -9012,6 +9121,7 @@ v:ctype eval.txt /*v:ctype*
|
|||||||
v:dying eval.txt /*v:dying*
|
v:dying eval.txt /*v:dying*
|
||||||
v:errmsg eval.txt /*v:errmsg*
|
v:errmsg eval.txt /*v:errmsg*
|
||||||
v:errors eval.txt /*v:errors*
|
v:errors eval.txt /*v:errors*
|
||||||
|
v:event eval.txt /*v:event*
|
||||||
v:exception eval.txt /*v:exception*
|
v:exception eval.txt /*v:exception*
|
||||||
v:false eval.txt /*v:false*
|
v:false eval.txt /*v:false*
|
||||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||||
@@ -9065,7 +9175,12 @@ v:t_list eval.txt /*v:t_list*
|
|||||||
v:t_none eval.txt /*v:t_none*
|
v:t_none eval.txt /*v:t_none*
|
||||||
v:t_number eval.txt /*v:t_number*
|
v:t_number eval.txt /*v:t_number*
|
||||||
v:t_string eval.txt /*v:t_string*
|
v:t_string eval.txt /*v:t_string*
|
||||||
|
v:termblinkresp eval.txt /*v:termblinkresp*
|
||||||
|
v:termrbgresp eval.txt /*v:termrbgresp*
|
||||||
v:termresponse eval.txt /*v:termresponse*
|
v:termresponse eval.txt /*v:termresponse*
|
||||||
|
v:termrfgresp eval.txt /*v:termrfgresp*
|
||||||
|
v:termstyleresp eval.txt /*v:termstyleresp*
|
||||||
|
v:termu7resp eval.txt /*v:termu7resp*
|
||||||
v:testing eval.txt /*v:testing*
|
v:testing eval.txt /*v:testing*
|
||||||
v:this_session eval.txt /*v:this_session*
|
v:this_session eval.txt /*v:this_session*
|
||||||
v:throwpoint eval.txt /*v:throwpoint*
|
v:throwpoint eval.txt /*v:throwpoint*
|
||||||
@@ -9348,6 +9463,8 @@ wildmenumode() eval.txt /*wildmenumode()*
|
|||||||
win32 os_win32.txt /*win32*
|
win32 os_win32.txt /*win32*
|
||||||
win32-!start gui_w32.txt /*win32-!start*
|
win32-!start gui_w32.txt /*win32-!start*
|
||||||
win32-PATH os_win32.txt /*win32-PATH*
|
win32-PATH os_win32.txt /*win32-PATH*
|
||||||
|
win32-backslashes os_win32.txt /*win32-backslashes*
|
||||||
|
win32-cmdargs os_win32.txt /*win32-cmdargs*
|
||||||
win32-colors gui_w32.txt /*win32-colors*
|
win32-colors gui_w32.txt /*win32-colors*
|
||||||
win32-compiling os_win32.txt /*win32-compiling*
|
win32-compiling os_win32.txt /*win32-compiling*
|
||||||
win32-curdir os_win32.txt /*win32-curdir*
|
win32-curdir os_win32.txt /*win32-curdir*
|
||||||
@@ -9372,6 +9489,7 @@ win_getid() eval.txt /*win_getid()*
|
|||||||
win_gotoid() eval.txt /*win_gotoid()*
|
win_gotoid() eval.txt /*win_gotoid()*
|
||||||
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
win_id2tabwin() eval.txt /*win_id2tabwin()*
|
||||||
win_id2win() eval.txt /*win_id2win()*
|
win_id2win() eval.txt /*win_id2win()*
|
||||||
|
win_screenpos() eval.txt /*win_screenpos()*
|
||||||
winbufnr() eval.txt /*winbufnr()*
|
winbufnr() eval.txt /*winbufnr()*
|
||||||
wincol() eval.txt /*wincol()*
|
wincol() eval.txt /*wincol()*
|
||||||
window windows.txt /*window*
|
window windows.txt /*window*
|
||||||
@@ -9385,6 +9503,7 @@ window-resize windows.txt /*window-resize*
|
|||||||
window-size term.txt /*window-size*
|
window-size term.txt /*window-size*
|
||||||
window-size-functions usr_41.txt /*window-size-functions*
|
window-size-functions usr_41.txt /*window-size-functions*
|
||||||
window-tag windows.txt /*window-tag*
|
window-tag windows.txt /*window-tag*
|
||||||
|
window-toolbar gui.txt /*window-toolbar*
|
||||||
window-variable eval.txt /*window-variable*
|
window-variable eval.txt /*window-variable*
|
||||||
windowid windows.txt /*windowid*
|
windowid windows.txt /*windowid*
|
||||||
windowid-variable eval.txt /*windowid-variable*
|
windowid-variable eval.txt /*windowid-variable*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -195,6 +195,7 @@ the same entry.
|
|||||||
information in the tags file(s).
|
information in the tags file(s).
|
||||||
When [ident] is not given, the last tag name from the
|
When [ident] is not given, the last tag name from the
|
||||||
tag stack is used.
|
tag stack is used.
|
||||||
|
See |tag-!| for [!].
|
||||||
With a '>' in the first column is indicated which is
|
With a '>' in the first column is indicated which is
|
||||||
the current position in the list (if there is one).
|
the current position in the list (if there is one).
|
||||||
[ident] can be a regexp pattern, see |tag-regexp|.
|
[ident] can be a regexp pattern, see |tag-regexp|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*term.txt* For Vim version 8.0. Last change: 2017 Jul 21
|
*term.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -295,13 +295,11 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||||
t_ue underline end *t_ue* *'t_ue'*
|
t_ue underline end *t_ue* *'t_ue'*
|
||||||
t_us underline mode *t_us* *'t_us'*
|
t_us underline mode *t_us* *'t_us'*
|
||||||
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
|
||||||
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
|
||||||
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
||||||
t_vb visual bell *t_vb* *'t_vb'*
|
t_vb visual bell *t_vb* *'t_vb'*
|
||||||
t_ve cursor visible *t_ve* *'t_ve'*
|
t_ve cursor visible *t_ve* *'t_ve'*
|
||||||
t_vi cursor invisible *t_vi* *'t_vi'*
|
t_vi cursor invisible *t_vi* *'t_vi'*
|
||||||
t_vs cursor very visible *t_vs* *'t_vs'*
|
t_vs cursor very visible (blink) *t_vs* *'t_vs'*
|
||||||
*t_xs* *'t_xs'*
|
*t_xs* *'t_xs'*
|
||||||
t_xs if non-empty, standout not erased by overwriting (hpterm)
|
t_xs if non-empty, standout not erased by overwriting (hpterm)
|
||||||
*t_xn* *'t_xn'*
|
*t_xn* *'t_xn'*
|
||||||
@@ -311,11 +309,16 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ZR italics end *t_ZR* *'t_ZR'*
|
t_ZR italics end *t_ZR* *'t_ZR'*
|
||||||
|
|
||||||
Added by Vim (there are no standard codes for these):
|
Added by Vim (there are no standard codes for these):
|
||||||
|
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
||||||
|
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
||||||
|
t_Te strikethrough end *t_Te* *'t_Te'*
|
||||||
|
t_Ts strikethrough mode *t_Ts* *'t_Ts'*
|
||||||
t_IS set icon text start *t_IS* *'t_IS'*
|
t_IS set icon text start *t_IS* *'t_IS'*
|
||||||
t_IE set icon text end *t_IE* *'t_IE'*
|
t_IE set icon text end *t_IE* *'t_IE'*
|
||||||
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
||||||
t_GP get window position (Y, X) in pixels *t_GP* *'t_GP'*
|
t_GP get window position (Y, X) in pixels *t_GP* *'t_GP'*
|
||||||
t_WS set window size (height, width in cells) *t_WS* *'t_WS'*
|
t_WS set window size (height, width in cells) *t_WS* *'t_WS'*
|
||||||
|
t_VS cursor normally visible (no blink) *t_VS* *'t_VS'*
|
||||||
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
|
t_SI start insert mode (bar cursor shape) *t_SI* *'t_SI'*
|
||||||
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
|
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
|
||||||
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|
||||||
@@ -324,6 +327,7 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||||
see |'ambiwidth'|
|
see |'ambiwidth'|
|
||||||
|
t_RF request terminal foreground color *t_RF* *'t_RF'*
|
||||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||||
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
||||||
|xterm-true-color|
|
|xterm-true-color|
|
||||||
@@ -333,6 +337,29 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-bracketed-paste|
|
|xterm-bracketed-paste|
|
||||||
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
||||||
|xterm-bracketed-paste|
|
|xterm-bracketed-paste|
|
||||||
|
t_SC set cursor color start *t_SC* *'t_SC'*
|
||||||
|
t_EC set cursor color end *t_EC* *'t_EC'*
|
||||||
|
t_SH set cursor shape *t_SH* *'t_SH'*
|
||||||
|
t_RC request terminal cursor blinking *t_RC* *'t_RC'*
|
||||||
|
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
||||||
|
|
||||||
|
Some codes have a start, middle and end part. The start and end are defined
|
||||||
|
by the termcap option, the middle part is text.
|
||||||
|
set title text: t_ts {title text} t_fs
|
||||||
|
set icon text: t_IS {icon text} t_IE
|
||||||
|
set cursor color: t_SC {color name} t_EC
|
||||||
|
|
||||||
|
t_SH must take one argument:
|
||||||
|
0, 1 or none blinking block cursor
|
||||||
|
2 block cursor
|
||||||
|
3 blinking underline cursor
|
||||||
|
4 underline cursor
|
||||||
|
5 blinking vertical bar cursor
|
||||||
|
6 vertical bar cursor
|
||||||
|
|
||||||
|
t_RS is sent only if the response to t_RV has been received. It is not used
|
||||||
|
on Mac OS when Terminal.app could be recognized from the termresponse.
|
||||||
|
|
||||||
|
|
||||||
KEY CODES *terminal-key-codes*
|
KEY CODES *terminal-key-codes*
|
||||||
Note: Use the <> form if possible
|
Note: Use the <> form if possible
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Aug 20
|
*terminal.txt* For Vim version 8.0. Last change: 2018 Jan 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -14,11 +14,30 @@ The terminal feature is optional, use this to check if your Vim has it: >
|
|||||||
If the result is "1" you have it.
|
If the result is "1" you have it.
|
||||||
|
|
||||||
|
|
||||||
1. Basic use |terminal-use|
|
1. Basic use |terminal-use|
|
||||||
2. Remote testing |terminal-testing|
|
Typing |terminal-typing|
|
||||||
3. Debugging |terminal-debug|
|
Size and color |terminal-size-color|
|
||||||
|
Syntax |:terminal|
|
||||||
|
Resizing |terminal-resizing|
|
||||||
|
Terminal Modes |Terminal-mode|
|
||||||
|
Cursor style |terminal-cursor-style|
|
||||||
|
Special keys |terminal-special-keys|
|
||||||
|
Unix |terminal-unix|
|
||||||
|
MS-Windows |terminal-ms-windows|
|
||||||
|
2. Remote testing |terminal-testing|
|
||||||
|
3. Debugging |terminal-debug|
|
||||||
|
Starting |termdebug-starting|
|
||||||
|
Example session |termdebug-example|
|
||||||
|
Stepping through code |termdebug-stepping|
|
||||||
|
Inspecting variables |termdebug-variables|
|
||||||
|
Other commands |termdebug-commands|
|
||||||
|
Communication |termdebug-communication|
|
||||||
|
Customizing |termdebug-customizing|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{Vi does not have any of these commands}
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
The terminal feature requires the |+multi_byte|, |+job| and |+channel| features.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Basic use *terminal-use*
|
1. Basic use *terminal-use*
|
||||||
@@ -27,21 +46,21 @@ This feature is for running a terminal emulator in a Vim window. A job can be
|
|||||||
started connected to the terminal emulator. For example, to run a shell: >
|
started connected to the terminal emulator. For example, to run a shell: >
|
||||||
:term bash
|
:term bash
|
||||||
|
|
||||||
Or to run a debugger: >
|
Or to run build command: >
|
||||||
:term gdb vim
|
:term make myprogram
|
||||||
|
|
||||||
The job runs asynchronously from Vim, the window will be updated to show
|
The job runs asynchronously from Vim, the window will be updated to show
|
||||||
output from the job, also while editing in any other window.
|
output from the job, also while editing in another window.
|
||||||
|
|
||||||
|
|
||||||
Typing ~
|
Typing ~
|
||||||
|
*terminal-typing*
|
||||||
When the keyboard focus is in the terminal window, typed keys will be sent to
|
When the keyboard focus is in the terminal window, typed keys will be sent to
|
||||||
the job. This uses a pty when possible. You can click outside of the
|
the job. This uses a pty when possible. You can click outside of the
|
||||||
terminal window to move keyboard focus elsewhere.
|
terminal window to move keyboard focus elsewhere.
|
||||||
|
|
||||||
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
||||||
CTRL-W CTRL-W move focus to the next window
|
CTRL-W CTRL-W move focus to the next window
|
||||||
CTRL-W : enter an Ex command
|
CTRL-W : enter an Ex command
|
||||||
See |CTRL-W| for more commands.
|
See |CTRL-W| for more commands.
|
||||||
|
|
||||||
@@ -61,7 +80,7 @@ the job. For example:
|
|||||||
'termkey' : enter an Ex command
|
'termkey' : enter an Ex command
|
||||||
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
'termkey' 'termkey' send 'termkey' to the job in the terminal
|
||||||
'termkey' . send a CTRL-W to the job in the terminal
|
'termkey' . send a CTRL-W to the job in the terminal
|
||||||
'termkey' N go to terminal Normal mode, see below
|
'termkey' N go to terminal Normal mode, see below
|
||||||
'termkey' CTRL-N same as CTRL-W N
|
'termkey' CTRL-N same as CTRL-W N
|
||||||
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
'termkey' CTRL-C same as |t_CTRL-W_CTRL-C|
|
||||||
*t_CTRL-\_CTRL-N*
|
*t_CTRL-\_CTRL-N*
|
||||||
@@ -76,15 +95,36 @@ do. For simple commands this causes a SIGINT to be sent to the job, which
|
|||||||
would end it. Other commands may ignore the SIGINT or handle the CTRL-C
|
would end it. Other commands may ignore the SIGINT or handle the CTRL-C
|
||||||
themselves (like Vim does).
|
themselves (like Vim does).
|
||||||
|
|
||||||
|
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||||
|
These are defined like any mapping, but apply only when typing keys that are
|
||||||
|
sent to the job running in the terminal. For example, to make Escape switch
|
||||||
|
to Terminal-Normal mode: >
|
||||||
|
tnoremap <Esc> <C-W>N
|
||||||
|
< *options-in-terminal*
|
||||||
|
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||||
|
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||||
|
options specifically for the window and buffer. Example: >
|
||||||
|
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||||
|
|
||||||
|
Mouse events (click and drag) are passed to the terminal. Mouse move events
|
||||||
|
are only passed when Vim itself is receiving them. For a terminal that is
|
||||||
|
when 'balloonevalterm' is enabled.
|
||||||
|
|
||||||
|
|
||||||
Size and color ~
|
Size and color ~
|
||||||
|
*terminal-size-color*
|
||||||
See option 'termsize' for controlling the size of the terminal window.
|
See option 'termsize' for controlling the size of the terminal window.
|
||||||
(TODO: scrolling when the terminal is larger than the window)
|
(TODO: scrolling when the terminal is larger than the window)
|
||||||
|
|
||||||
The terminal uses the 'background' option to decide whether the terminal
|
The job running in the terminal can change the colors. The default foreground
|
||||||
window will start with a white or black background. The job running in the
|
and background colors are taken from Vim, the Normal highlight group.
|
||||||
terminal can change the colors.
|
|
||||||
|
For a color terminal the 'background' option is used to decide whether the
|
||||||
|
terminal window will start with a white or black background.
|
||||||
|
|
||||||
|
To use a different color the Terminal highlight group can be used, for
|
||||||
|
example: >
|
||||||
|
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
|
||||||
|
|
||||||
|
|
||||||
Syntax ~
|
Syntax ~
|
||||||
@@ -95,6 +135,8 @@ Syntax ~
|
|||||||
If [command] is provided run it as a job and connect
|
If [command] is provided run it as a job and connect
|
||||||
the input and output to the terminal.
|
the input and output to the terminal.
|
||||||
If [command] is not given the 'shell' option is used.
|
If [command] is not given the 'shell' option is used.
|
||||||
|
if [command] is NONE no job is started, the pty of the
|
||||||
|
terminal can be used by a command like gdb.
|
||||||
|
|
||||||
A new buffer will be created, using [command] or
|
A new buffer will be created, using [command] or
|
||||||
'shell' as the name, prefixed with a "!". If a buffer
|
'shell' as the name, prefixed with a "!". If a buffer
|
||||||
@@ -104,13 +146,9 @@ Syntax ~
|
|||||||
|
|
||||||
If [range] is given the specified lines are used as
|
If [range] is given the specified lines are used as
|
||||||
input for the job. It will not be possible to type
|
input for the job. It will not be possible to type
|
||||||
keys in the terminal window.
|
keys in the terminal window. For MS-Windows see the
|
||||||
|
++eof argument below.
|
||||||
|
|
||||||
Two comma separated numbers are used as "rows,cols".
|
|
||||||
E.g. `:24,80gdb` opens a terminal with 24 rows and 80
|
|
||||||
columns. However, if the terminal window spans the
|
|
||||||
Vim window with, there is no vertical split, the Vim
|
|
||||||
window width is used.
|
|
||||||
*term++close* *term++open*
|
*term++close* *term++open*
|
||||||
Supported [options] are:
|
Supported [options] are:
|
||||||
++close The terminal window will close
|
++close The terminal window will close
|
||||||
@@ -125,9 +163,24 @@ Syntax ~
|
|||||||
++hidden Open the terminal in a hidden buffer,
|
++hidden Open the terminal in a hidden buffer,
|
||||||
no window will be used.
|
no window will be used.
|
||||||
++rows={height} Use {height} for the terminal window
|
++rows={height} Use {height} for the terminal window
|
||||||
height.
|
height. If the terminal uses the full
|
||||||
|
Vim height (no window above or below
|
||||||
|
th terminal window) the command line
|
||||||
|
height will be reduced as needed.
|
||||||
++cols={width} Use {width} for the terminal window
|
++cols={width} Use {width} for the terminal window
|
||||||
width.
|
width. If the terminal uses the full
|
||||||
|
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
|
||||||
|
appended. For MS-Windows the default
|
||||||
|
is to send CTRL-D.
|
||||||
|
E.g. for a shell use "++eof=exit" and
|
||||||
|
for Python "++eof=exit()". Special
|
||||||
|
codes can be used like with `:map`,
|
||||||
|
e.g. "<C-Z>" for CTRL-Z.
|
||||||
|
|
||||||
If you want to use more options use the |term_start()|
|
If you want to use more options use the |term_start()|
|
||||||
function.
|
function.
|
||||||
@@ -135,11 +188,19 @@ Syntax ~
|
|||||||
When the buffer associated with the terminal is unloaded or wiped out the job
|
When the buffer associated with the terminal is unloaded or wiped out the job
|
||||||
is killed, similar to calling `job_stop(job, "kill")`
|
is killed, similar to calling `job_stop(job, "kill")`
|
||||||
|
|
||||||
By default the 'bufhidden' option of the buffer will be set to "hide".
|
So long as the job is running the window behaves like it contains a modified
|
||||||
So long as the job is running: If the window is closed the buffer becomes
|
buffer. Trying to close the window with `CTRL-W :quit` fails. When using
|
||||||
hidden. The command will not be stopped. The `:buffer` command can be used
|
`CTRL-W :quit!` the job is ended. The text in the window is lost. The buffer
|
||||||
to turn the current window into a terminal window. If there are unsaved
|
still exists, but getting it in a window with `:buffer` will show an empty
|
||||||
changes this fails, use ! to force, as usual.
|
buffer.
|
||||||
|
|
||||||
|
Trying to close the window with `CTRL-W :close` also fails. Using
|
||||||
|
`CTRL-W :close!` will close the window and make the buffer hidden.
|
||||||
|
|
||||||
|
You can use `CTRL-W :hide` to close the terminal window and make the buffer
|
||||||
|
hidden, the job keeps running. The `:buffer` command can be used to turn the
|
||||||
|
current window into a terminal window. If there are unsaved changes this
|
||||||
|
fails, use ! to force, as usual.
|
||||||
|
|
||||||
To have a background job run without a window, and open the window when it's
|
To have a background job run without a window, and open the window when it's
|
||||||
done, use options like this: >
|
done, use options like this: >
|
||||||
@@ -162,7 +223,7 @@ the buffer name will still be set to the command.
|
|||||||
|
|
||||||
|
|
||||||
Resizing ~
|
Resizing ~
|
||||||
|
*terminal-resizing*
|
||||||
The size of the terminal can be in one of three modes:
|
The size of the terminal can be in one of three modes:
|
||||||
|
|
||||||
1. The 'termsize' option is empty: The terminal size follows the window size.
|
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||||
@@ -193,12 +254,16 @@ mode.
|
|||||||
Use CTRL-W N (or 'termkey' N) to switch to Terminal-Normal mode. Now the
|
Use CTRL-W N (or 'termkey' N) to switch to Terminal-Normal mode. Now the
|
||||||
contents of the terminal window is under control of Vim, the job output is
|
contents of the terminal window is under control of Vim, the job output is
|
||||||
suspended. CTRL-\ CTRL-N does the same.
|
suspended. CTRL-\ CTRL-N does the same.
|
||||||
|
|
||||||
|
Terminal-Job mode is where |:tmap| mappings are applied. Keys sent by
|
||||||
|
|term_sendkeys()| are not subject to tmap, but keys from |feedkeys()| are.
|
||||||
|
|
||||||
*E946*
|
*E946*
|
||||||
In Terminal-Normal mode you can move the cursor around with the usual Vim
|
In Terminal-Normal mode you can move the cursor around with the usual Vim
|
||||||
commands, Visually mark text, yank text, etc. But you cannot change the
|
commands, Visually mark text, yank text, etc. But you cannot change the
|
||||||
contents of the buffer. The commands that would start insert mode, such as
|
contents of the buffer. The commands that would start insert mode, such as
|
||||||
'i' and 'a', return to Terminal-Job mode. The window will be updated to show
|
'i' and 'a', return to Terminal-Job mode. The window will be updated to show
|
||||||
the contents of the terminal.
|
the contents of the terminal. |:startinsert| is ineffective.
|
||||||
|
|
||||||
In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
In Terminal-Normal mode the statusline and window title show "(Terminal)". If
|
||||||
the job ends while in Terminal-Normal mode this changes to
|
the job ends while in Terminal-Normal mode this changes to
|
||||||
@@ -207,8 +272,34 @@ the job ends while in Terminal-Normal mode this changes to
|
|||||||
It is not possible to enter Insert mode from Terminal-Job mode.
|
It is not possible to enter Insert mode from Terminal-Job mode.
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Cursor style ~
|
||||||
|
*terminal-cursor-style*
|
||||||
|
By default the cursor in the terminal window uses a not blinking block. The
|
||||||
|
normal xterm escape sequences can be used to change the blinking state and the
|
||||||
|
shape. Once focus leaves the terminal window Vim will restore the original
|
||||||
|
cursor.
|
||||||
|
|
||||||
|
An exception is when xterm is started with the "-bc" argument, or another way
|
||||||
|
that causes the cursor to blink. This actually means that the blinking flag
|
||||||
|
is inverted. Since Vim cannot detect this, the terminal window cursor
|
||||||
|
blinking will also be inverted.
|
||||||
|
|
||||||
|
|
||||||
|
Special keys ~
|
||||||
|
*terminal-special-keys*
|
||||||
|
Since the terminal emulator simulates an xterm, only escape sequences that
|
||||||
|
both Vim and xterm recognize will be available in the terminal window. If you
|
||||||
|
want to pass on other escape sequences to the job running in the terminal you
|
||||||
|
need to set up forwarding. Example: >
|
||||||
|
tmap <expr> <Esc>]b SendToTerm("\<Esc>]b")
|
||||||
|
func SendToTerm(what)
|
||||||
|
call term_sendkeys('', a:what)
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
Unix ~
|
||||||
|
*terminal-unix*
|
||||||
On Unix a pty is used to make it possible to run all kinds of commands. You
|
On Unix a pty is used to make it possible to run all kinds of commands. You
|
||||||
can even run Vim in the terminal! That's used for debugging, see below.
|
can even run Vim in the terminal! That's used for debugging, see below.
|
||||||
|
|
||||||
@@ -231,7 +322,7 @@ This will open the file "some_file.c" and put the cursor on line 123.
|
|||||||
|
|
||||||
|
|
||||||
MS-Windows ~
|
MS-Windows ~
|
||||||
|
*terminal-ms-windows*
|
||||||
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
||||||
Obviously, they must be commands that run in a terminal, not open their own
|
Obviously, they must be commands that run in a terminal, not open their own
|
||||||
window.
|
window.
|
||||||
@@ -250,6 +341,9 @@ to point to the right file, if needed. If you have both the 32-bit and 64-bit
|
|||||||
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
version, rename to winpty32.dll and winpty64.dll to match the way Vim was
|
||||||
build.
|
build.
|
||||||
|
|
||||||
|
Environment variables are used to pass information to the running job:
|
||||||
|
VIM_SERVERNAME v:servername
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
2. Remote testing *terminal-testing*
|
2. Remote testing *terminal-testing*
|
||||||
|
|
||||||
@@ -260,7 +354,7 @@ inspects the resulting screen state.
|
|||||||
|
|
||||||
Functions ~
|
Functions ~
|
||||||
|
|
||||||
term_sendkeys() send keystrokes to a terminal
|
term_sendkeys() send keystrokes to a terminal (not subject to tmap)
|
||||||
term_wait() wait for screen to be updated
|
term_wait() wait for screen to be updated
|
||||||
term_scrape() inspect terminal screen
|
term_scrape() inspect terminal screen
|
||||||
|
|
||||||
@@ -269,25 +363,191 @@ term_scrape() inspect terminal screen
|
|||||||
3. Debugging *terminal-debug*
|
3. Debugging *terminal-debug*
|
||||||
|
|
||||||
The Terminal debugging plugin can be used to debug a program with gdb and view
|
The Terminal debugging plugin can be used to debug a program with gdb and view
|
||||||
the source code in a Vim window. For example: >
|
the source code in a Vim window. Since this is completely contained inside
|
||||||
|
Vim this also works remotely over an ssh connection.
|
||||||
|
|
||||||
:TermDebug vim
|
|
||||||
|
|
||||||
This opens three windows:
|
Starting ~
|
||||||
- A terminal window in which "gdb vim" is executed. Here you can directly
|
*termdebug-starting*
|
||||||
interact with gdb.
|
Load the plugin with this command: >
|
||||||
- A terminal window for the executed program. When "run" is used in gdb the
|
packadd termdebug
|
||||||
program I/O will happen in this window, so that it does not interfere with
|
< *:Termdebug*
|
||||||
controlling gdb.
|
To start debugging use `:Termdebug` followed by the command name, for example: >
|
||||||
- A normal Vim window used to show the source code. When gdb jumps to a
|
:Termdebug vim
|
||||||
source file location this window will display the code, if possible. Values
|
|
||||||
of variables can be inspected, breakpoints set and cleared, etc.
|
|
||||||
|
|
||||||
This uses two terminal windows. To open the gdb window: >
|
This opens two windows:
|
||||||
:term gdb [arguments]
|
|
||||||
To open the terminal to run the tested program |term_start()| is used.
|
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||||
|
can directly interact with gdb. The buffer name is "!gdb".
|
||||||
|
|
||||||
|
program window A terminal window for the executed program. When "run" is
|
||||||
|
used in gdb the program I/O will happen in this window, so
|
||||||
|
that it does not interfere with controlling gdb. The buffer
|
||||||
|
name is "gdb program".
|
||||||
|
|
||||||
|
The current window is used to show the source code. When gdb pauses the
|
||||||
|
source file location will be displayed, if possible. A sign is used to
|
||||||
|
highlight the current position (using highlight group debugPC).
|
||||||
|
|
||||||
|
If the buffer in the current window is modified, another window will be opened
|
||||||
|
to display the current gdb position.
|
||||||
|
|
||||||
|
Focus the terminal of the executed program to interact with it. This works
|
||||||
|
the same as any command running in a terminal window.
|
||||||
|
|
||||||
|
When the debugger ends, typically by typing "quit" in the gdb window, the two
|
||||||
|
opened windows are closed.
|
||||||
|
|
||||||
|
|
||||||
|
Example session ~
|
||||||
|
*termdebug-example*
|
||||||
|
Start in the Vim "src" directory and build Vim: >
|
||||||
|
% make
|
||||||
|
Start Vim: >
|
||||||
|
% ./vim
|
||||||
|
Load the termdebug plugin and start debugging Vim: >
|
||||||
|
:packadd termdebug
|
||||||
|
:Termdebug vim
|
||||||
|
You should now have three windows:
|
||||||
|
source - where you started, has a window toolbar with buttons
|
||||||
|
gdb - you can type gdb commands here
|
||||||
|
program - the executed program will use this window
|
||||||
|
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||||
|
Put focus on the gdb window and type: >
|
||||||
|
break ex_help
|
||||||
|
run
|
||||||
|
Vim will start running in the program window. Put focus there and type: >
|
||||||
|
:help gui
|
||||||
|
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||||
|
ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
|
||||||
|
line where the debugger stopped is highlighted. You can now step through the
|
||||||
|
program. Let's use the mouse: click on the "Next" button in the window
|
||||||
|
toolbar. You will see the highlighting move as the debugger executes a line
|
||||||
|
of source code.
|
||||||
|
|
||||||
|
Click "Next" a few times until the for loop is highlighted. Put the cursor on
|
||||||
|
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
|
||||||
|
displayed:
|
||||||
|
"eap->arg": 0x555555e68855 "gui" ~
|
||||||
|
This way you can inspect the value of local variables. You can also focus the
|
||||||
|
gdb window and use a "print" command, e.g.: >
|
||||||
|
print *eap
|
||||||
|
|
||||||
|
Now go back to the source window and put the cursor on the first line after
|
||||||
|
the for loop, then type: >
|
||||||
|
:Break
|
||||||
|
You will see a ">>" marker appear, this indicates the new breakpoint. Now
|
||||||
|
click "Cont" in the toolbar and the code until the breakpoint will be
|
||||||
|
executed.
|
||||||
|
|
||||||
|
You can type more advanced commands in the gdb window. For example, type: >
|
||||||
|
watch curbuf
|
||||||
|
Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
|
||||||
|
will now continue until the value of "curbuf" changes, which is in do_ecmd().
|
||||||
|
To remove this watchpoint again type in the gdb window: >
|
||||||
|
delete 3
|
||||||
|
|
||||||
|
You can see the stack by typing in the gdb window: >
|
||||||
|
where
|
||||||
|
Move through the stack frames, e.g. with: >
|
||||||
|
frame 3
|
||||||
|
The source window will show the code, at the point where the call was made to
|
||||||
|
a deeper level.
|
||||||
|
|
||||||
|
|
||||||
|
Stepping through code ~
|
||||||
|
*termdebug-stepping*
|
||||||
|
Put focus on the gdb window to type commands there. Some common ones are:
|
||||||
|
- CTRL-C interrupt the program
|
||||||
|
- next execute the current line and stop at the next line
|
||||||
|
- step execute the current line and stop at the next statement,
|
||||||
|
entering functions
|
||||||
|
- finish execute until leaving the current function
|
||||||
|
- where show the stack
|
||||||
|
- frame N go to the Nth stack frame
|
||||||
|
- continue continue execution
|
||||||
|
|
||||||
|
In the window showing the source code these commands can used to control gdb:
|
||||||
|
:Run [args] run the program with [args] or the previous arguments
|
||||||
|
:Arguments {args} set arguments for the next :Run
|
||||||
|
|
||||||
|
:Break set a breakpoint at the current line; a sign will be displayed
|
||||||
|
:Delete delete a breakpoint at the current line
|
||||||
|
|
||||||
|
:Step execute the gdb "step" command
|
||||||
|
:Over execute the gdb "next" command (:Next is a Vim command)
|
||||||
|
:Finish execute the gdb "finish" command
|
||||||
|
:Continue execute the gdb "continue" command
|
||||||
|
:Stop interrupt the program
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
Inspecting variables ~
|
||||||
|
*termdebug-variables*
|
||||||
|
:Evaluate evaluate the expression under the cursor
|
||||||
|
K same
|
||||||
|
:Evaluate {expr} evaluate {expr}
|
||||||
|
:'<,'>Evaluate evaluate the Visually selected text
|
||||||
|
|
||||||
|
This is similar to using "print" in the gdb window.
|
||||||
|
|
||||||
|
|
||||||
|
Other commands ~
|
||||||
|
*termdebug-commands*
|
||||||
|
:Gdb jump to the gdb window
|
||||||
|
:Program jump to the window with the running program
|
||||||
|
|
||||||
|
|
||||||
|
Communication ~
|
||||||
|
*termdebug-communication*
|
||||||
|
There is another, hidden, buffer, which is used for Vim to communicate with
|
||||||
|
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
|
||||||
|
will break the debugger.
|
||||||
|
|
||||||
|
|
||||||
|
Customizing ~
|
||||||
|
*termdebug-customizing*
|
||||||
|
To change the name of the gdb command, set the "termdebugger" variable before
|
||||||
|
invoking `:Termdebug`: >
|
||||||
|
let termdebugger = "mygdb"
|
||||||
|
< *gdb-version*
|
||||||
|
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||||
|
interface. This probably requires gdb version 7.12. if you get this error:
|
||||||
|
Undefined command: "new-ui". Try "help".~
|
||||||
|
Then your gdb is too old.
|
||||||
|
|
||||||
|
*hl-debugPC* *hl-debugBreakpoint*
|
||||||
|
The color of the signs can be adjusted with these highlight groups:
|
||||||
|
- debugPC the current position
|
||||||
|
- debugBreakpoint a breakpoint
|
||||||
|
|
||||||
|
The defaults are, when 'background' is "light":
|
||||||
|
hi debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||||
|
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
When 'background' is "dark":
|
||||||
|
hi debugPC term=reverse ctermbg=darkblue guibg=darkblue
|
||||||
|
hi debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
To change the width of the Vim window when debugging starts, and use a
|
||||||
|
vertical split: >
|
||||||
|
let g:termdebug_wide = 163
|
||||||
|
This will set &columns to 163 when :Termdebug is used. The value is restored
|
||||||
|
when quitting the debugger.
|
||||||
|
If g:termdebug_wide is set and &Columns is already larger than
|
||||||
|
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||||
|
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||||
|
for when the terminal can't be resized by Vim).
|
||||||
|
|
||||||
TODO
|
|
||||||
|
|
||||||
|
|
||||||
vim:tw=78:ts=8:ft=help:norl:
|
vim:tw=78:ts=8:ft=help:norl:
|
||||||
|
|||||||
68
runtime/doc/test_urls.vim
Normal file
68
runtime/doc/test_urls.vim
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
" Test for URLs in help documents.
|
||||||
|
"
|
||||||
|
" Opens a new window with all found URLS followed by return code from curl
|
||||||
|
" (anything other than 0 means unreachable)
|
||||||
|
"
|
||||||
|
" Written by Christian Brabandt.
|
||||||
|
|
||||||
|
func Test_check_URLs()
|
||||||
|
if has("win32")
|
||||||
|
echoerr "Doesn't work on MS-Windows"
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if executable('curl')
|
||||||
|
" Note: does not follow redirects!
|
||||||
|
let s:command = 'curl --silent --fail --output /dev/null --head '
|
||||||
|
elseif executable('wget')
|
||||||
|
" Note: only allow a couple of redirects
|
||||||
|
let s:command = 'wget --quiet -S --spider --max-redirect=2 --timeout=5 --tries=2 -O /dev/null '
|
||||||
|
else
|
||||||
|
echoerr 'Only works when "curl" or "wget" is available'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
let pat='\(https\?\|ftp\)://[^\t* ]\+'
|
||||||
|
exe 'helpgrep' pat
|
||||||
|
helpclose
|
||||||
|
|
||||||
|
let urls = map(getqflist(), 'v:val.text')
|
||||||
|
" do not use submatch(1)!
|
||||||
|
let urls = map(urls, {key, val -> matchstr(val, pat)})
|
||||||
|
" remove examples like user@host (invalid urls)
|
||||||
|
let urls = filter(urls, 'v:val !~ "@"')
|
||||||
|
" Remove example URLs which are invalid
|
||||||
|
let urls = filter(urls, {key, val -> val !~ '\<\(\(my\|some\)\?host\|machine\|hostname\|file\)\>'})
|
||||||
|
new
|
||||||
|
put =urls
|
||||||
|
" remove some more invalid items
|
||||||
|
" empty lines
|
||||||
|
v/./d
|
||||||
|
" remove # anchors
|
||||||
|
%s/#.*$//e
|
||||||
|
" remove trailing stuff (parenthesis, dot, comma, quotes), but only for HTTP
|
||||||
|
" links
|
||||||
|
g/^h/s#[.,)'"/>][:.]\?$##
|
||||||
|
g#^[hf]t\?tp:/\(/\?\.*\)$#d
|
||||||
|
silent! g/ftp://,$/d
|
||||||
|
silent! g/=$/d
|
||||||
|
let a = getline(1,'$')
|
||||||
|
let a = uniq(sort(a))
|
||||||
|
%d
|
||||||
|
call setline(1, a)
|
||||||
|
|
||||||
|
" Do the testing.
|
||||||
|
set nomore
|
||||||
|
%s/.*/\=TestURL(submatch(0))/
|
||||||
|
|
||||||
|
" highlight the failures
|
||||||
|
/.* \([0-9]*[1-9]\|[0-9]\{2,}\)$
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func TestURL(url)
|
||||||
|
" Relies on the return code to determine whether a page is valid
|
||||||
|
echom printf("Testing URL: %d/%d %s", line('.'), line('$'), a:url)
|
||||||
|
call system(s:command . shellescape(a:url))
|
||||||
|
return printf("%s %d", a:url, v:shell_error)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
call Test_check_URLs()
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
*todo.txt* For Vim version 8.0. Last change: 2018 Jan 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -7,9 +7,9 @@
|
|||||||
TODO list for Vim *todo*
|
TODO list for Vim *todo*
|
||||||
|
|
||||||
This is a veeeery long list of known bugs, current work and desired
|
This is a veeeery long list of known bugs, current work and desired
|
||||||
improvements. To make it a little bit accessible, the items are grouped by
|
improvements. To make it a little bit accessible, the older items are grouped
|
||||||
subject. In the first column of the line a classification is used to be able
|
by subject. In the first column of the line a classification is used to be
|
||||||
to look for "the next thing to do":
|
able to look for "the next thing to do":
|
||||||
|
|
||||||
Priority classification:
|
Priority classification:
|
||||||
9 next point release
|
9 next point release
|
||||||
@@ -38,28 +38,29 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
No maintainer for Vietnamese translations.
|
No maintainer for Vietnamese translations.
|
||||||
No maintainer for Simplified Chinese translations.
|
No maintainer for Simplified Chinese translations.
|
||||||
|
|
||||||
|
|
||||||
Terminal emulator window:
|
Terminal emulator window:
|
||||||
- Lots of stuff to implement, see src/terminal.c
|
- Lots of stuff to implement, see src/terminal.c
|
||||||
- Add winpty.dll and winpty-agent.exe in the NSIS build.
|
- Improve debugger interface:
|
||||||
- Add debugger interface. Implementation for gdb by Xavier de Gaye. Should
|
Include all debug features of Agide.
|
||||||
work like an IDE. Try to keep it generic. Now found here:
|
|
||||||
http://clewn.sf.net.
|
|
||||||
Can this replace Agide? http://www.a-a-p.org/images/debugfull.png
|
|
||||||
- make showballoon() work in a terminal. Requires getting mouse-move
|
|
||||||
events.
|
|
||||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
|
||||||
in terminal mode.
|
|
||||||
- Implement the right-click popup menu for the terminal. Can use the
|
- Implement the right-click popup menu for the terminal. Can use the
|
||||||
completion popup menu code and mouse dragging.
|
completion popup menu code and mouse dragging.
|
||||||
- Look into the idevim plugin/script.
|
Use it for "set breakpoint", "remove breakpoint", etc.
|
||||||
- Related wishes for NetBeans commands:
|
- get ideas from http://clewn.sf.net
|
||||||
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
- Look into the idevim plugin/script.
|
||||||
|
- Improve testing:
|
||||||
|
Make a screenshot of a terminal, store in a file.
|
||||||
|
Display a stored screenshot, display diff with another one.
|
||||||
|
Make a test that puts Vim in a specific state, make a screenshot and compare
|
||||||
|
with the expected screenshot. Set t_Co to 256.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
|
- 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:
|
- Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
|
- 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,
|
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
|
||||||
2016 Dec 11, #1320)
|
2016 Dec 11, #1320)
|
||||||
- Implement |job-term| ?
|
- Implement |job-term| ?
|
||||||
@@ -74,11 +75,15 @@ Terminal emulator window:
|
|||||||
Feb 9) How to do this on MS-Windows?
|
Feb 9) How to do this on MS-Windows?
|
||||||
- For connection to server, a "keep open" flag would be useful. Retry
|
- For connection to server, a "keep open" flag would be useful. Retry
|
||||||
connecting in the main loop with zero timeout.
|
connecting in the main loop with zero timeout.
|
||||||
- job_start(): run job in a newly opened terminal.
|
- job_start(): run job in a newly opened terminal (not a terminal window).
|
||||||
With xterm could use -S{pty}.
|
With xterm could use -S{pty}.
|
||||||
Although user could use "xterm -e 'cmd arg'".
|
Although user could use "xterm -e 'cmd arg'".
|
||||||
|
|
||||||
Regexp problems:
|
Regexp problems:
|
||||||
|
- When search pattern has the base character both with and without combining
|
||||||
|
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
|
||||||
|
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||||
|
characters, esp. including 0xa0. Use character class zero.
|
||||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||||
(Manuel Ortega, 2016 Apr 24)
|
(Manuel Ortega, 2016 Apr 24)
|
||||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||||
@@ -125,75 +130,302 @@ Regexp problems:
|
|||||||
Include a few color schemes, based on popularity:
|
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://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
|
http://vimawesome.com/?q=tag:color-scheme
|
||||||
Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||||
- monokai - Xia Crusoe (2017 Aug 4)
|
- monokai - Xia Crusoe (2017 Aug 4)
|
||||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||||
- gruvbox - 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)
|
- janah - Marco Hinz (2017 Aug 4)
|
||||||
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file
|
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
|
||||||
Suggested by Hiroki Kokubun:
|
Suggested by Hiroki Kokubun:
|
||||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||||
|
Include solarized color scheme?, it does not support termguicolors.
|
||||||
|
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
|
||||||
|
|
||||||
test_gui fails with gnome2: cannot create .gnome2 dir
|
Reproducible:
|
||||||
use testdir/Xfakehome instead of does/not/exist?
|
invalid memory access in regexp with zero-width.
|
||||||
|
reproduced by Dominique, 2017 Dec 23
|
||||||
|
heap-use-after-free in win_equal_rec (#2467)
|
||||||
|
au* 0 vs¡
|
||||||
|
ar0
|
||||||
|
arga
|
||||||
|
al
|
||||||
|
al
|
||||||
|
Patch to fix using freed memory. (Christian Brabandt, 2018 Jan 6, #2467)
|
||||||
|
|
||||||
Patch for quickfix: parse lines for any quickfix list. (Yegappan Lakshmanan,
|
Patch for nsis runtime files. (Ken Takata, 2018 Jan 25)
|
||||||
2017 Jul 20)
|
|
||||||
|
|
||||||
Patch for restoring wide characters in the console buffer.
|
Patch for scheme runtime files (new version) (Evan Hanson, 2018 Jan 26)
|
||||||
(Ken Takata, 2016 Jun 7)
|
|
||||||
|
|
||||||
Patch to add Couchbase syntax file. (Eugene Ciurana, 2017 Aug 8, #1951)
|
Patch to turn tests into new style. (Yegappan, 2017 Dec 29, #2509)
|
||||||
|
|
||||||
Patch to fix font name problem with cp932. (Ken Takata, 2017 Aug 9)
|
Patch to fix crash in rubyf. (W, #2512) fixes #2511
|
||||||
|
|
||||||
|
Updates for Debian runtime files. (James McCoy, 2018 Jan 7)
|
||||||
|
|
||||||
|
Crash when calling term_start() with empty command on windows. (Wang Shidong,
|
||||||
|
2018 Dec 27, #2501)
|
||||||
|
|
||||||
|
Patch to improve DirectX rendering. (Ken Takata, 2018 Jan 18, #2560 fixes
|
||||||
|
#2401)
|
||||||
|
|
||||||
|
Endless loop invovlving gui_mch_stop_blink(). (zdohnal, 2018 Jan 11)
|
||||||
|
|
||||||
|
Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
|
||||||
|
2016 Nov 21, #1266)
|
||||||
|
|
||||||
|
"silent! try" doesn't restore emsg_silent when an exception is thrown.
|
||||||
|
(Ben Reilly, 2018 Jan 5, #2531) Possible solution by Christian Brabandt, 2018
|
||||||
|
Jan 6.
|
||||||
|
|
||||||
|
Patch to fix ex mode buffering output. (Brian M. Carlson, 2018 Jan 8, #2537)
|
||||||
|
|
||||||
|
Patch for config.vim syntax file. (James McCoy, 2018 Jan 28, maintainer didn't
|
||||||
|
respond).
|
||||||
|
|
||||||
|
Patch to add support for clojure script filetype detection. (David Burgin,
|
||||||
|
2018 Jan 20, #257)
|
||||||
|
|
||||||
|
Patch to implement the DirChanged autocmd event. (Andy Massimino, 2018 Jan 9,
|
||||||
|
replaces #888)
|
||||||
|
|
||||||
|
Patch to fix not adding a slash after :find completion. (Genki Sky, 2018 Jan
|
||||||
|
10)
|
||||||
|
|
||||||
|
Patch for man.vim, fix for Mac. (SungHyun Nam, 2018 Jan 8, #2488)
|
||||||
|
Update Jan 10.
|
||||||
|
|
||||||
|
Patch to fix illegal memory access in del_bytes(). (Christian Brabandt, 2018
|
||||||
|
Jan 2, #2466)
|
||||||
|
|
||||||
|
Recursive use of alist_add() (Christian Brabandt, 2018 Jan 6, #2472)
|
||||||
|
|
||||||
|
patch 1218 breaks etags. (zdohnal, 2018 Jan 5)
|
||||||
|
|
||||||
|
Errors found with random data:
|
||||||
|
heap-buffer-overflow in alist_add (#2472)
|
||||||
|
heap-buffer-overflow in del_bytes (#2466)
|
||||||
|
|
||||||
|
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)
|
||||||
|
patch by Christian Brabandt, 2018 Jan 8
|
||||||
|
- undefined left shift in get_string_tv() (#2250)
|
||||||
|
|
||||||
|
Patch to fix CursorIM highlighting on Windows. (Ken Takata, 2018 Jan 18)
|
||||||
|
|
||||||
|
Cursor in wrong screen line with WinBar. (#2362)
|
||||||
|
Fix by Christian Brabandt (2018 Jan 2)
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Patch to make installer faster. (Ken Takata, 2018 Jan 3, #2522)
|
||||||
|
|
||||||
|
Patch to support hunspell. (Matej Cepl, Jan 2018, #2500)
|
||||||
|
|
||||||
|
Cursor in status line after search. (#2530)
|
||||||
|
|
||||||
|
Cursor in wrong position when line wraps. (#2540)
|
||||||
|
|
||||||
|
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||||
|
|
||||||
|
Patch for minimum width of completion popup menu. (Christian Brabandt, 2018
|
||||||
|
Jan 3, #2314)
|
||||||
|
|
||||||
|
When using :packadd files under "later" are not used, which is inconsistent
|
||||||
|
with packages under "start". (xtal8, #1994)
|
||||||
|
|
||||||
|
Patch to make D&D work between 32 bit app and 64 bit Vim. (Ken Takata, #2504)
|
||||||
|
|
||||||
|
Patch to fix invalid return value with backwards searchpair. (Daniel Hahler,
|
||||||
|
2018 Jan 15, #2552)
|
||||||
|
|
||||||
|
Column number is wrong whsn using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||||
|
Jan 15, #2555)
|
||||||
|
|
||||||
|
Patch to remove redundant "if". (Dominique Pelle, 2018 Jan 14)
|
||||||
|
|
||||||
|
Serbian translations. (Peseic, 2018 Jan 17)
|
||||||
|
|
||||||
|
Check argument of systemlist(). (Pavlov)
|
||||||
|
|
||||||
|
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||||
|
#2546)
|
||||||
|
|
||||||
|
Patch to fix illegal memory access. (Christian Brabandt, 2018 Jan 6, #2523)
|
||||||
|
|
||||||
|
When 'inchsearch' and 'hlsearch' are set /\v highlights everything.
|
||||||
|
Also see #2337
|
||||||
|
|
||||||
|
Starting job with cwd option, when the directory does not exist, gives a
|
||||||
|
confusing error message. (Wang Shidong, 2018 Jan 2, #2519)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
7 Make "ga" show the digraph for a character, if it exists.
|
||||||
|
Patch from Christian Brabandt, 2011 Aug 19.
|
||||||
|
|
||||||
|
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
|
||||||
|
8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that
|
||||||
|
first.
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
Problem with mouse scroll in tmux. (fcying, #2419) Might be caused by patch
|
||||||
|
8.0.1309.
|
||||||
|
|
||||||
|
Des setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
|
||||||
|
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
|
||||||
|
|
||||||
|
Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
|
||||||
|
|
||||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||||
(Marcin Szewczyk, 2017 Apr 26)
|
(Marcin Szewczyk, 2017 Apr 26)
|
||||||
|
|
||||||
|
Using 'wildignore' also applies to literally entered file name. Also with
|
||||||
|
:drop (remote commands).
|
||||||
|
|
||||||
|
"gvim --remote" from a directory with non-word characters changes the current
|
||||||
|
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||||
|
Also see #1689.
|
||||||
|
|
||||||
|
Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
|
||||||
|
Takasaki, Ken Takata, 2017 Oct 1, #2060).
|
||||||
|
|
||||||
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||||
Lemonboy can reproduce (2017 Jun 5)
|
Lemonboy can reproduce (2017 Jun 5)
|
||||||
|
|
||||||
|
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||||
|
highlighted. (van-debugger, 2018 Jan 23, #2576)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
Start a test directory under runtime, to test runtime file changes.
|
Patch to avoid clearing the intro message on Win32 console.
|
||||||
Start with filetype detection. Only include in the source distribution.
|
(Ken Takata, 2017 Nov 14)
|
||||||
"make test" in src/ can be renamed to "make testsrc" and "make test" would do
|
|
||||||
both "testsrc" and "testruntime" targets.
|
|
||||||
|
|
||||||
Patch for Murphi syntax. (Matthew Fernandez, 2017 Jul 24)
|
Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20,
|
||||||
|
#2478)
|
||||||
|
|
||||||
Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)
|
Patch to copy buffer-local options before buffer leaves the window. (Bjorn
|
||||||
|
Linse, 2017 Nov 14, #2336)
|
||||||
|
|
||||||
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
|
Join truncates xml comment. (Dmitrii Tcyganok, 2017 Dec 24, #2494)
|
||||||
Kiichi, 2016 Feb 28)
|
Requires 'formatoptions' to include "j". (Gary Johnson, 2017 Dec 24)
|
||||||
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
|
When a timer is running and typing CTRL-R on the command line, it is not
|
||||||
Update Aug 2017: #1953
|
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||||
|
|
||||||
|
Universal solution to detect if t_RS is working, using cursor position.
|
||||||
|
Koichi Iwamoto, #2126
|
||||||
|
|
||||||
|
Patch to fix cmdline abbreviation after '<,'>. (Christian Brabandt, 2017 Nov
|
||||||
|
13, on issue #2320)
|
||||||
|
|
||||||
|
Patch 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)
|
||||||
|
|
||||||
|
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||||
|
mode. Also used for switching Terminal mode.
|
||||||
|
|
||||||
|
When using command line window, CmdlineLeave is triggered without
|
||||||
|
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
|
||||||
|
Add some way to get the nested state. Although CmdwinEnter is obviously
|
||||||
|
always nested.
|
||||||
|
|
||||||
|
matchit hasn't been maintained for a long time. #955.
|
||||||
|
|
||||||
|
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
|
||||||
|
|
||||||
|
MS-Windows: buffer 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)
|
||||||
|
|
||||||
Add options_default() / options_restore() to set several options to Vim
|
Add options_default() / options_restore() to set several options to Vim
|
||||||
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
||||||
Perhaps use a vimcontext / endvimcontext command block.
|
Perhaps use a vimcontext / endvimcontext command block.
|
||||||
|
|
||||||
|
After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep
|
||||||
|
13, #2084). Set old position after the command.
|
||||||
|
|
||||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||||
Still happens (2017 Jul 9)
|
Still happens (2017 Jul 9)
|
||||||
|
|
||||||
Memory leak in test_arabic.
|
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||||
|
line breaks. (Ken Takata, 2017 Aug 22)
|
||||||
|
|
||||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||||
|
|
||||||
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
|
Using uninitialized value in test_crypt.
|
||||||
|
Memory leaks in test_escaped_glob
|
||||||
|
|
||||||
|
Patch to clear background when "guibg=NONE" is used and 'termguicolors' is
|
||||||
|
set. (Nick Jensen, 2017 Nov 13, #2332, based on #981 by Kazunobu Kuriyama)
|
||||||
|
|
||||||
|
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||||
|
|
||||||
|
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
|
||||||
|
|
||||||
|
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||||
It can replace the BeOS code, which is likely not used anymore.
|
It can replace the BeOS code, which is likely not used anymore.
|
||||||
Now on github: #1856. Is now up-to-date?
|
Now on github: #1856. Updated Oct 2017
|
||||||
Got permission to include this under the Vim license.
|
Got permission to include this under the Vim license.
|
||||||
|
|
||||||
|
Patch to include hunspell support. (Matej Cepl, 2017 Dec 26, #845)
|
||||||
|
Doesn't work on Windows yet.
|
||||||
|
|
||||||
Refactored HTML indent file. (Michael Lee, #1821)
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
|
|
||||||
Using uninitialized value in test_crypt.
|
|
||||||
|
|
||||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||||
|
|
||||||
|
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
|
||||||
|
|
||||||
All functions are global, which makes functions like get() and len() awkward.
|
All functions are global, which makes functions like get() and len() awkward.
|
||||||
For the future use the ~get() and ~len() syntax, e.g.:
|
For the future use the ~get() and ~len() syntax, e.g.:
|
||||||
mylist~get(idx)
|
mylist~get(idx)
|
||||||
@@ -208,6 +440,15 @@ Alternatives for ~:
|
|||||||
|
|
||||||
The ++ options for the :edit command are also useful on the Vim command line.
|
The ++ options for the :edit command are also useful on the Vim command line.
|
||||||
|
|
||||||
|
When recovering a file, put the swap file name in b:recovered_swapfile. Then
|
||||||
|
a command can delete it.
|
||||||
|
|
||||||
|
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||||
|
#2089) Patch with possible solution by Björn Linse.
|
||||||
|
|
||||||
|
The change list index is local to a buffer, but it doesn't make sense using it
|
||||||
|
for another buffer. (lacygoll) Copy w_changelistidx to wininfo_S and back.
|
||||||
|
|
||||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||||
clip_x11_request_selection_cb() is called with zero value and length.
|
clip_x11_request_selection_cb() is called with zero value and length.
|
||||||
@@ -222,15 +463,30 @@ Creating a partial with an autoload function is confused about the "self"
|
|||||||
attribute of the function. For an unknown function assume "self" and make
|
attribute of the function. For an unknown function assume "self" and make
|
||||||
that optiona? (Bjorn Linse, 2017 Aug 5)
|
that optiona? (Bjorn Linse, 2017 Aug 5)
|
||||||
|
|
||||||
|
Cindent: returning a structure has more indent for the second item.
|
||||||
|
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
||||||
|
|
||||||
Completion mixes results from the current buffer with tags and other files.
|
Completion mixes results from the current buffer with tags and other files.
|
||||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||||
terminal.c and then CTRL-N twice.
|
terminal.c and then CTRL-N twice.
|
||||||
Should do current file first and not split it up when more results are found.
|
Should do current file first and not split it up when more results are found.
|
||||||
(Also #1890)
|
(Also #1890)
|
||||||
|
|
||||||
|
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||||
|
buffer. (2013 Dec 9)
|
||||||
|
Also fixes #2166?
|
||||||
|
|
||||||
|
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||||
|
|
||||||
Python: After "import vim" error messages only show the first line of the
|
Python: After "import vim" error messages only show the first line of the
|
||||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||||
|
|
||||||
|
Profile of a dict function is lost when the dict is deleted. Would it be
|
||||||
|
possible to collect this? (Daniel Hahler, #2350)
|
||||||
|
|
||||||
|
Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
|
||||||
|
#2322) Now in #2327?
|
||||||
|
|
||||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||||
case of :bwipe followed by :new.
|
case of :bwipe followed by :new.
|
||||||
|
|
||||||
@@ -266,8 +522,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
|||||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||||
8, #1690)
|
8, #1690)
|
||||||
|
|
||||||
Include solarized color scheme?
|
|
||||||
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||||
manager. Problem with Motif?
|
manager. Problem with Motif?
|
||||||
|
|
||||||
@@ -307,7 +561,7 @@ Perhaps simpler: actually delete the mappings. Use maplist() to list matching
|
|||||||
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
|
||||||
maprestore() to restore (using the output of maplist()).
|
maprestore() to restore (using the output of maplist()).
|
||||||
|
|
||||||
Add an argument to :mkvimrc (or add aother command) to skip mappings from
|
Add an argument to :mkvimrc (or add another command) to skip mappings from
|
||||||
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
plugins (source is a Vim script). No need to put these in a .vimrc, they will
|
||||||
be defined when the plugin is loaded.
|
be defined when the plugin is loaded.
|
||||||
|
|
||||||
@@ -344,10 +598,6 @@ Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
|||||||
|
|
||||||
Completion for :!cmd shows each match twice. #1435
|
Completion for :!cmd shows each match twice. #1435
|
||||||
|
|
||||||
Patch to change GUI behavior: instead of changing the window size change the
|
|
||||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
|
||||||
#703)
|
|
||||||
|
|
||||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||||
timer expires.
|
timer expires.
|
||||||
@@ -382,9 +632,6 @@ Implement optional arguments for functions.
|
|||||||
call Foo(12, all = 0)
|
call Foo(12, all = 0)
|
||||||
call Foo(12, 15, 0)
|
call Foo(12, 15, 0)
|
||||||
|
|
||||||
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
|
||||||
Feb 14).
|
|
||||||
|
|
||||||
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
|
||||||
support, or similar.
|
support, or similar.
|
||||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||||
@@ -443,8 +690,6 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
|
|||||||
(Ozaki Kiichi, 2016 Nov 25)
|
(Ozaki Kiichi, 2016 Nov 25)
|
||||||
Does this also fix #1408 ?
|
Does this also fix #1408 ?
|
||||||
|
|
||||||
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
|
|
||||||
|
|
||||||
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
||||||
|
|
||||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||||
@@ -531,7 +776,7 @@ Probably list of keystrokes, with some annotations for mode changes.
|
|||||||
Could store in logfile to be able to analyse it with an external command.
|
Could store in logfile to be able to analyse it with an external command.
|
||||||
E.g. to see when's the last time a plugin command was used.
|
E.g. to see when's the last time a plugin command was used.
|
||||||
|
|
||||||
execute() cannot be used with command completeion. (Daniel Hahler, 2016 Oct 1,
|
execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
|
||||||
#1141)
|
#1141)
|
||||||
|
|
||||||
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
|
||||||
@@ -563,9 +808,6 @@ Patch to add ":syn foldlevel" to use fold level further down the line.
|
|||||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||||
Jul 25, #948)
|
Jul 25, #948)
|
||||||
|
|
||||||
Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.
|
|
||||||
(Ken Takata, 2016 Oct 4)
|
|
||||||
|
|
||||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||||
Assume the system converts between the actual encoding of the filesystem to
|
Assume the system converts between the actual encoding of the filesystem to
|
||||||
@@ -588,9 +830,6 @@ Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
|
|||||||
Have a way to get the call stack, in a function and from an exception.
|
Have a way to get the call stack, in a function and from an exception.
|
||||||
#1125
|
#1125
|
||||||
|
|
||||||
Patch to add 'pythonhome' and 'pythonthreehome' options. (Kazuki Sakamoto,
|
|
||||||
2016 Nov 21, #1266)
|
|
||||||
|
|
||||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||||
|
|
||||||
@@ -605,11 +844,6 @@ Patch to improve map documentation. Issue #799.
|
|||||||
|
|
||||||
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
||||||
|
|
||||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
|
||||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
|
||||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
|
||||||
Update 2016 Aug 10.
|
|
||||||
|
|
||||||
We can use '. to go to the last change in the current buffer, but how about
|
We can use '. to go to the last change in the current buffer, but how about
|
||||||
the last change in any buffer? Can we use ', (, is next to .)?
|
the last change in any buffer? Can we use ', (, is next to .)?
|
||||||
|
|
||||||
@@ -624,11 +858,6 @@ Reject the value? #710.
|
|||||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||||
|
|
||||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
|
||||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
|
||||||
Update mentioned by Christian, 2016 Apr 25.
|
|
||||||
Update from Ken Takata, 2016 Jul 17.
|
|
||||||
|
|
||||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||||
|
|
||||||
@@ -715,12 +944,6 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
|
|||||||
In debug mode one can inspect variables, but not the function parameters
|
In debug mode one can inspect variables, but not the function parameters
|
||||||
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)
|
(starting with a:). (Luc Hermitte, 2017 Jan 4, #1352)
|
||||||
|
|
||||||
7 Add a watchpoint in the debug mode: An expression that breaks execution
|
|
||||||
when evaluating to non-zero. Add the "watchadd expr" command, stop when
|
|
||||||
the value of the expression changes. ":watchdel" deletes an item,
|
|
||||||
":watchlist" lists the items. (Charles Campbell)
|
|
||||||
Patch by Christian Brabandt, 2016 Jun 10, #859
|
|
||||||
|
|
||||||
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||||
2016 Apr 25, #780)
|
2016 Apr 25, #780)
|
||||||
|
|
||||||
@@ -850,7 +1073,8 @@ When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
|||||||
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
||||||
|
|
||||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||||
Sep 10)
|
Sep 10) Update 2018 Jan 4 #2575
|
||||||
|
Alternate change by Ken Takata.
|
||||||
|
|
||||||
Example in editing.txt uses $HOME with the expectation that it ends in a
|
Example in editing.txt uses $HOME with the expectation that it ends in a
|
||||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||||
@@ -957,8 +1181,6 @@ Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
|
|||||||
Patch for building a 32bit Vim with 64bit MingW compiler.
|
Patch for building a 32bit Vim with 64bit MingW compiler.
|
||||||
(Michael Soyka, 2014 Oct 15)
|
(Michael Soyka, 2014 Oct 15)
|
||||||
|
|
||||||
Delete old code in os_msdos.c, mch_FullName().
|
|
||||||
|
|
||||||
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
Patch: On MS-Windows shellescape() may have to triple double quotes.
|
||||||
(Ingo Karkat, 2015 Jan 16)
|
(Ingo Karkat, 2015 Jan 16)
|
||||||
|
|
||||||
@@ -986,8 +1208,6 @@ Jun 8)
|
|||||||
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
||||||
insert a space. (Micha Mos, 2014 Nov 7)
|
insert a space. (Micha Mos, 2014 Nov 7)
|
||||||
|
|
||||||
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
|
||||||
|
|
||||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||||
|
|
||||||
Patch to make extend() fail early when it might fail at some point.
|
Patch to make extend() fail early when it might fail at some point.
|
||||||
@@ -1133,9 +1353,6 @@ When evaluating expression in backticks, autoload doesn't work.
|
|||||||
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
||||||
Dec 13.
|
Dec 13.
|
||||||
|
|
||||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
|
||||||
buffer. (2013 Dec 9)
|
|
||||||
|
|
||||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||||
(Aaron Cornelius, 2012 Feb 6)
|
(Aaron Cornelius, 2012 Feb 6)
|
||||||
|
|
||||||
@@ -1156,13 +1373,6 @@ Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
|
|||||||
Doesn't work for string in list. Other way to pass all types of variables
|
Doesn't work for string in list. Other way to pass all types of variables
|
||||||
reliably?
|
reliably?
|
||||||
|
|
||||||
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
|
|
||||||
That is, calling a dictionary function on an autoloaded dict.
|
|
||||||
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
|
|
||||||
17)
|
|
||||||
Patch by Christian Brabandt, 2013 Mar 23.
|
|
||||||
Not 100% sure this is the right solution.
|
|
||||||
|
|
||||||
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||||
(Christian Brabandt, 2013 Dec 9)
|
(Christian Brabandt, 2013 Dec 9)
|
||||||
|
|
||||||
@@ -1396,9 +1606,6 @@ Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
|||||||
When using a Vim server, a # in the path causes an error message.
|
When using a Vim server, a # in the path causes an error message.
|
||||||
(Jeff Lanzarotta, 2011 Feb 17)
|
(Jeff Lanzarotta, 2011 Feb 17)
|
||||||
|
|
||||||
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
|
|
||||||
Fritz (2011 Oct 27).
|
|
||||||
|
|
||||||
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
When there is a ">" in a line that "gq" wraps to the start of the next line,
|
||||||
then the following line will pick it up as a leader. Should get the leader
|
then the following line will pick it up as a leader. Should get the leader
|
||||||
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
from the first line, not a wrapped line. (Matt Ackeret, 2012 Feb 27)
|
||||||
@@ -1412,8 +1619,6 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
|
|||||||
BT regexp engine: After trying a \@> match and failing, submatches are not
|
BT regexp engine: After trying a \@> match and failing, submatches are not
|
||||||
cleared. See test64.
|
cleared. See test64.
|
||||||
|
|
||||||
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
|
|
||||||
|
|
||||||
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||||
Would also need to do this for spellbadword() and spellsuggest().
|
Would also need to do this for spellbadword() and spellsuggest().
|
||||||
@@ -1436,9 +1641,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
|||||||
|
|
||||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||||
|
|
||||||
7 Make "ga" show the digraph for a character, if it exists.
|
|
||||||
Patch from Christian Brabandt, 2011 Aug 19.
|
|
||||||
|
|
||||||
maparg() does not show the <script> flag. When temporarily changing a
|
maparg() does not show the <script> flag. When temporarily changing a
|
||||||
mapping, how to restore the script ID?
|
mapping, how to restore the script ID?
|
||||||
|
|
||||||
@@ -1456,9 +1658,6 @@ Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
|||||||
|
|
||||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||||
|
|
||||||
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
|
|
||||||
May 24) Update May 26.
|
|
||||||
|
|
||||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||||
|
|
||||||
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
|
||||||
@@ -1503,6 +1702,9 @@ GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
|
|||||||
Win32: tear-off menu does not work when menu language is German. (Markus
|
Win32: tear-off menu does not work when menu language is German. (Markus
|
||||||
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
||||||
|
|
||||||
|
Wish for NetBeans commands:
|
||||||
|
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
||||||
|
|
||||||
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
||||||
|
|
||||||
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
||||||
@@ -1835,8 +2037,6 @@ Haskell, 2010 Aug 24)
|
|||||||
|
|
||||||
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
|
||||||
|
|
||||||
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
|
|
||||||
|
|
||||||
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
|
||||||
messages, even though locale is not supported. But ":lang messages
|
messages, even though locale is not supported. But ":lang messages
|
||||||
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
es_ES.utf-8" gives an error and doesn't switch messages. (Dominique Pelle,
|
||||||
@@ -2186,9 +2386,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
|||||||
go to Insert mode and add a few lines. Then backspacing every other time
|
go to Insert mode and add a few lines. Then backspacing every other time
|
||||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||||
|
|
||||||
Windows installer should install 32-bit version of right-click handler also on
|
|
||||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
|
||||||
|
|
||||||
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
||||||
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
||||||
Just have two choices, always using one Vim and selecting between using an
|
Just have two choices, always using one Vim and selecting between using an
|
||||||
@@ -3693,7 +3890,7 @@ Multi-byte characters:
|
|||||||
at a multi-byte character >= 0x100.
|
at a multi-byte character >= 0x100.
|
||||||
- Add the possibility to enter mappings which are used whenever normal text
|
- Add the possibility to enter mappings which are used whenever normal text
|
||||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||||
of opposite of 'langmap'. Use ":tmap" command?
|
of opposite of 'langmap'. Use ":amap" command?
|
||||||
- When breaking a line, take properties of multi-byte characters into
|
- When breaking a line, take properties of multi-byte characters into
|
||||||
account. The "linebreak" program from Bruno Haible can do it:
|
account. The "linebreak" program from Bruno Haible can do it:
|
||||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||||
@@ -4625,7 +4822,7 @@ Command line history:
|
|||||||
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
- Add "KeyWasTyped" flag: It's reset before each command and set when a
|
||||||
character from the keyboard is consumed. Value is used to decide to put a
|
character from the keyboard is consumed. Value is used to decide to put a
|
||||||
command line in history or not. Put line in history if it didn't
|
command line in history or not. Put line in history if it didn't
|
||||||
completely resulted from one mapping.
|
completely result from one mapping.
|
||||||
- When using ":browse", also put the resulting edit command in the history,
|
- When using ":browse", also put the resulting edit command in the history,
|
||||||
so that it can be repeated. (Demirel)
|
so that it can be repeated. (Demirel)
|
||||||
|
|
||||||
@@ -5173,7 +5370,7 @@ Swap (.swp) files:
|
|||||||
- Add an option to create a swap file only when making the first change to
|
- Add an option to create a swap file only when making the first change to
|
||||||
the buffer. (Liang) Or only when the buffer is not read-only.
|
the buffer. (Liang) Or only when the buffer is not read-only.
|
||||||
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
||||||
'backupumask' and 'swapumask'? Or 'umaskback' and 'umaskswap'?
|
'backupumask' and 'swapumask'? Or 'umaskbackup' and 'umaskswap'?
|
||||||
- When editing a readonly file, don't use a swap file but read parts from the
|
- When editing a readonly file, don't use a swap file but read parts from the
|
||||||
original file. Also do this when the file is huge (>'maxmem'). We do
|
original file. Also do this when the file is huge (>'maxmem'). We do
|
||||||
need to load the file once to count the number of lines? Perhaps keep a
|
need to load the file once to count the number of lines? Perhaps keep a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_07.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
*usr_07.txt* For Vim version 8.0. Last change: 2017 Sep 18
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -215,14 +215,14 @@ change: >
|
|||||||
|
|
||||||
`.
|
`.
|
||||||
|
|
||||||
Suppose you are editing the file "one.txt". Somewhere halfway the file you
|
Suppose you are editing the file "one.txt". Somewhere halfway through the
|
||||||
use "x" to delete a character. Then you go to the last line with "G" and
|
file you use "x" to delete a character. Then you go to the last line with "G"
|
||||||
write the file with ":w". You edit several other files, and then use ":edit
|
and write the file with ":w". You edit several other files, and then use
|
||||||
one.txt" to come back to "one.txt". If you now use `" Vim jumps to the last
|
":edit one.txt" to come back to "one.txt". If you now use `" Vim jumps to the
|
||||||
line of the file. Using `. takes you to the position where you deleted the
|
last line of the file. Using `. takes you to the position where you deleted
|
||||||
character. Even when you move around in the file `" and `. will take you to
|
the character. Even when you move around in the file `" and `. will take you
|
||||||
the remembered position. At least until you make another change or leave the
|
to the remembered position. At least until you make another change or leave
|
||||||
file.
|
the file.
|
||||||
|
|
||||||
|
|
||||||
FILE MARKS
|
FILE MARKS
|
||||||
@@ -233,8 +233,8 @@ another file and place marks there, these are specific for that file. Thus
|
|||||||
each file has its own set of marks, they are local to the file.
|
each file has its own set of marks, they are local to the file.
|
||||||
So far we were using marks with a lowercase letter. There are also marks
|
So far we were using marks with a lowercase letter. There are also marks
|
||||||
with an uppercase letter. These are global, they can be used from any file.
|
with an uppercase letter. These are global, they can be used from any file.
|
||||||
For example suppose that we are editing the file "foo.txt". Go to halfway the
|
For example suppose that we are editing the file "foo.txt". Go to halfway
|
||||||
file ("50%") and place the F mark there (F for foo): >
|
down the file ("50%") and place the F mark there (F for foo): >
|
||||||
|
|
||||||
50%mF
|
50%mF
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Table of contents: |usr_toc.txt|
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*09.1* Parts of the GUI
|
*09.1* Parts of the GUI
|
||||||
|
|
||||||
You might have an icon on your desktop that starts gVim. Otherwise, one of
|
You might have an icon on your desktop that starts gvim. Otherwise, one of
|
||||||
these commands should do it: >
|
these commands should do it: >
|
||||||
|
|
||||||
gvim file.txt
|
gvim file.txt
|
||||||
@@ -184,12 +184,12 @@ currently highlighted. In Vim this is the Visual area (this assumes you are
|
|||||||
using the default option settings). You can paste this selection in another
|
using the default option settings). You can paste this selection in another
|
||||||
application without any further action.
|
application without any further action.
|
||||||
For example, in this text select a few words with the mouse. Vim will
|
For example, in this text select a few words with the mouse. Vim will
|
||||||
switch to Visual mode and highlight the text. Now start another gVim, without
|
switch to Visual mode and highlight the text. Now start another gvim, without
|
||||||
a file name argument, so that it displays an empty window. Click the middle
|
a file name argument, so that it displays an empty window. Click the middle
|
||||||
mouse button. The selected text will be inserted.
|
mouse button. The selected text will be inserted.
|
||||||
|
|
||||||
The "current selection" will only remain valid until some other text is
|
The "current selection" will only remain valid until some other text is
|
||||||
selected. After doing the paste in the other gVim, now select some characters
|
selected. After doing the paste in the other gvim, now select some characters
|
||||||
in that window. You will notice that the words that were previously selected
|
in that window. You will notice that the words that were previously selected
|
||||||
in the other gvim window are displayed differently. This means that it no
|
in the other gvim window are displayed differently. This means that it no
|
||||||
longer is the current selection.
|
longer is the current selection.
|
||||||
@@ -204,10 +204,10 @@ Now for the other place with which text can be exchanged. We call this the
|
|||||||
"real clipboard", to avoid confusion. Often both the "current selection" and
|
"real clipboard", to avoid confusion. Often both the "current selection" and
|
||||||
the "real clipboard" are called clipboard, you'll have to get used to that.
|
the "real clipboard" are called clipboard, you'll have to get used to that.
|
||||||
To put text on the real clipboard, select a few different words in one of
|
To put text on the real clipboard, select a few different words in one of
|
||||||
the gVims you have running. Then use the Edit/Copy menu entry. Now the text
|
the gvims you have running. Then use the Edit/Copy menu entry. Now the text
|
||||||
has been copied to the real clipboard. You can't see this, unless you have
|
has been copied to the real clipboard. You can't see this, unless you have
|
||||||
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
||||||
Now select the other gVim, position the cursor somewhere and use the
|
Now select the other gvim, position the cursor somewhere and use the
|
||||||
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_27.txt* For Vim version 8.0. Last change: 2010 Mar 28
|
*usr_27.txt* For Vim version 8.0. Last change: 2018 Jan 26
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -225,9 +225,9 @@ specify a line offset, this can cause trouble. For example: >
|
|||||||
/const/-2
|
/const/-2
|
||||||
|
|
||||||
This finds the next word "const" and then moves two lines up. If you
|
This finds the next word "const" and then moves two lines up. If you
|
||||||
use "n" to search again, Vim could start at the current position and find the same
|
use "n" to search again, Vim could start at the current position and find the
|
||||||
"const" match. Then using the offset again, you would be back where you started.
|
same "const" match. Then using the offset again, you would be back where you
|
||||||
You would be stuck!
|
started. You would be stuck!
|
||||||
It could be worse: Suppose there is another match with "const" in the next
|
It could be worse: Suppose there is another match with "const" in the next
|
||||||
line. Then repeating the forward search would find this match and move two
|
line. Then repeating the forward search would find this match and move two
|
||||||
lines up. Thus you would actually move the cursor back!
|
lines up. Thus you would actually move the cursor back!
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Jul 19
|
*usr_41.txt* For Vim version 8.0. Last change: 2017 Dec 02
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -886,10 +886,11 @@ GUI: *gui-functions*
|
|||||||
getwinposx() X position of the GUI Vim window
|
getwinposx() X position of the GUI Vim window
|
||||||
getwinposy() Y position of the GUI Vim window
|
getwinposy() Y position of the GUI Vim window
|
||||||
balloon_show() set the balloon content
|
balloon_show() set the balloon content
|
||||||
|
balloon_split() split a message for a balloon
|
||||||
|
|
||||||
Vim server: *server-functions*
|
Vim server: *server-functions*
|
||||||
serverlist() return the list of server names
|
serverlist() return the list of server names
|
||||||
remote_startserve() run a server
|
remote_startserver() run a server
|
||||||
remote_send() send command characters to a Vim server
|
remote_send() send command characters to a Vim server
|
||||||
remote_expr() evaluate an expression in a Vim server
|
remote_expr() evaluate an expression in a Vim server
|
||||||
server2client() send a reply to a client of a Vim server
|
server2client() send a reply to a client of a Vim server
|
||||||
@@ -901,6 +902,7 @@ Vim server: *server-functions*
|
|||||||
Window size and position: *window-size-functions*
|
Window size and position: *window-size-functions*
|
||||||
winheight() get height of a specific window
|
winheight() get height of a specific window
|
||||||
winwidth() get width of a specific window
|
winwidth() get width of a specific window
|
||||||
|
win_screenpos() get screen position of a window
|
||||||
winrestcmd() return command to restore window sizes
|
winrestcmd() return command to restore window sizes
|
||||||
winsaveview() get view of current window
|
winsaveview() get view of current window
|
||||||
winrestview() restore saved view of current window
|
winrestview() restore saved view of current window
|
||||||
@@ -966,6 +968,23 @@ Jobs: *job-functions*
|
|||||||
job_info() get information about a job
|
job_info() get information about a job
|
||||||
job_setoptions() set options for a job
|
job_setoptions() set options for a job
|
||||||
|
|
||||||
|
Terminal window: *terminal-functions*
|
||||||
|
term_start() open a terminal window and run a job
|
||||||
|
term_list() get the list of terminal buffers
|
||||||
|
term_sendkeys() send keystrokes to a terminal
|
||||||
|
term_wait() wait for screen to be updated
|
||||||
|
term_getjob() get the job associated with a terminal
|
||||||
|
term_scrape() get row of a terminal screen
|
||||||
|
term_getline() get a line of text from a terminal
|
||||||
|
term_getattr() get the value of attribute {what}
|
||||||
|
term_getcursor() get the cursor position of a terminal
|
||||||
|
term_getscrolled() get the scroll count of a terminal
|
||||||
|
term_getaltscreen() get the alternate screen flag
|
||||||
|
term_getsize() get the size of a terminal
|
||||||
|
term_getstatus() get the status of a terminal
|
||||||
|
term_gettitle() get the title of a terminal
|
||||||
|
term_gettty() get the tty name of a terminal
|
||||||
|
|
||||||
Timers: *timer-functions*
|
Timers: *timer-functions*
|
||||||
timer_start() create a timer
|
timer_start() create a timer
|
||||||
timer_pause() pause or unpause a timer
|
timer_pause() pause or unpause a timer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*various.txt* For Vim version 8.0. Last change: 2017 Feb 24
|
*various.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -309,9 +309,13 @@ g8 Print the hex values of the bytes used in the
|
|||||||
*+ARP* Amiga only: ARP support included
|
*+ARP* Amiga only: ARP support included
|
||||||
B *+arabic* |Arabic| language support
|
B *+arabic* |Arabic| language support
|
||||||
N *+autocmd* |:autocmd|, automatic commands
|
N *+autocmd* |:autocmd|, automatic commands
|
||||||
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
H *+autoservername* Automatically enable |clientserver|
|
||||||
supported GUI (Motif, GTK, GUI) and either
|
m *+balloon_eval* |balloon-eval| support in the GUI. Included when
|
||||||
Netbeans/Sun Workshop integration or |+eval| feature.
|
compiling with supported GUI (Motif, GTK, GUI) and
|
||||||
|
either Netbeans/Sun Workshop integration or |+eval|
|
||||||
|
feature.
|
||||||
|
H *+balloon_eval_term* |balloon-eval| support in the terminal,
|
||||||
|
'balloonevalterm'
|
||||||
N *+browse* |:browse| command
|
N *+browse* |:browse| command
|
||||||
N *+builtin_terms* some terminals builtin |builtin-terms|
|
N *+builtin_terms* some terminals builtin |builtin-terms|
|
||||||
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
B *++builtin_terms* maximal terminals builtin |builtin-terms|
|
||||||
@@ -322,7 +326,7 @@ N *+cindent* |'cindent'|, C indenting
|
|||||||
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||||
*+clipboard* |clipboard| support
|
*+clipboard* |clipboard| support
|
||||||
N *+cmdline_compl* command line completion |cmdline-completion|
|
N *+cmdline_compl* command line completion |cmdline-completion|
|
||||||
N *+cmdline_hist* command line history |cmdline-history|
|
S *+cmdline_hist* command line history |cmdline-history|
|
||||||
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
||||||
N *+comments* |'comments'| support
|
N *+comments* |'comments'| support
|
||||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||||
@@ -361,7 +365,7 @@ m *+hangul_input* Hangul input support |hangul|
|
|||||||
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
||||||
N *+insert_expand* |insert_expand| Insert mode completion
|
N *+insert_expand* |insert_expand| Insert mode completion
|
||||||
m *+job* starting and stopping jobs |job|
|
m *+job* starting and stopping jobs |job|
|
||||||
N *+jumplist* |jumplist|
|
S *+jumplist* |jumplist|
|
||||||
B *+keymap* |'keymap'|
|
B *+keymap* |'keymap'|
|
||||||
N *+lambda* |lambda| and |closure|
|
N *+lambda* |lambda| and |closure|
|
||||||
B *+langmap* |'langmap'|
|
B *+langmap* |'langmap'|
|
||||||
@@ -438,14 +442,16 @@ N *+title* Setting the window 'title' and 'icon'
|
|||||||
N *+toolbar* |gui-toolbar|
|
N *+toolbar* |gui-toolbar|
|
||||||
N *+user_commands* User-defined commands. |user-commands|
|
N *+user_commands* User-defined commands. |user-commands|
|
||||||
N *+viminfo* |'viminfo'|
|
N *+viminfo* |'viminfo'|
|
||||||
N *+vertsplit* Vertically split windows |:vsplit|
|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||||
|
since 8.0.1118.
|
||||||
|
in sync with the |+windows| feature
|
||||||
N *+virtualedit* |'virtualedit'|
|
N *+virtualedit* |'virtualedit'|
|
||||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||||
N *+vreplace* |gR| and |gr|
|
N *+vreplace* |gR| and |gr|
|
||||||
N *+wildignore* |'wildignore'|
|
N *+wildignore* |'wildignore'|
|
||||||
N *+wildmenu* |'wildmenu'|
|
N *+wildmenu* |'wildmenu'|
|
||||||
S *+windows* more than one window
|
*+windows* more than one window; Always enabled since 8.0.1118.
|
||||||
m *+writebackup* |'writebackup'| is default on
|
m *+writebackup* |'writebackup'| is default on
|
||||||
m *+xim* X input method |xim|
|
m *+xim* X input method |xim|
|
||||||
*+xfontset* X fontset support |xfontset|
|
*+xfontset* X fontset support |xfontset|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version8.txt* For Vim version 8.0. Last change: 2017 Apr 23
|
*version8.txt* For Vim version 8.0. Last change: 2017 Nov 24
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -11778,7 +11778,7 @@ Files: src/os_unix.c
|
|||||||
Patch 7.4.1915
|
Patch 7.4.1915
|
||||||
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
||||||
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
||||||
Harper, closs #855)
|
Harper, closes #855)
|
||||||
Files: src/menu.c
|
Files: src/menu.c
|
||||||
|
|
||||||
Patch 7.4.1916 (after 7.4.1906)
|
Patch 7.4.1916 (after 7.4.1906)
|
||||||
@@ -15398,7 +15398,7 @@ Files: src/testdir/test_undo.vim, src/undo.c
|
|||||||
Patch 8.0.0150
|
Patch 8.0.0150
|
||||||
Problem: When the pattern of :filter does not have a separator then
|
Problem: When the pattern of :filter does not have a separator then
|
||||||
completion of the command fails.
|
completion of the command fails.
|
||||||
Solution: Skip over the pattern. (Ozaki Kiichi, clodes #1299)
|
Solution: Skip over the pattern. (Ozaki Kiichi, closes #1299)
|
||||||
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
||||||
|
|
||||||
Patch 8.0.0151
|
Patch 8.0.0151
|
||||||
@@ -15582,7 +15582,7 @@ Files: src/json.c, src/testdir/test_json.vim
|
|||||||
|
|
||||||
Patch 8.0.0181
|
Patch 8.0.0181
|
||||||
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
Problem: When 'cursorbind' and 'cursorcolumn' are both on, the column
|
||||||
highlignt in non-current windows is wrong.
|
highlight in non-current windows is wrong.
|
||||||
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
Solution: Add validate_cursor(). (Masanori Misono, closes #1372)
|
||||||
Files: src/move.c
|
Files: src/move.c
|
||||||
|
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ You can still edit the buffer, but will be prevented from accidentally
|
|||||||
overwriting a file.
|
overwriting a file.
|
||||||
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
||||||
as in ":w!".
|
as in ":w!".
|
||||||
The \-R option also implies the \-n option (see below).
|
The \-R option also implies the \-n option (see above).
|
||||||
The 'readonly' option can be reset with ":set noro".
|
The 'readonly' option can be reset with ":set noro".
|
||||||
See ":help 'readonly'".
|
See ":help 'readonly'".
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ VIM(1) General Commands Manual VIM(1)
|
|||||||
|
|
||||||
|
|
||||||
NAME
|
NAME
|
||||||
vim - Vi IMproved, a programmers text editor
|
vim - Vi IMproved, a programmer's text editor
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
vim [options] [file ..]
|
vim [options] [file ..]
|
||||||
@@ -225,7 +225,7 @@ OPTIONS
|
|||||||
dentally overwriting a file. If you do want to overwrite a
|
dentally overwriting a file. If you do want to overwrite a
|
||||||
file, add an exclamation mark to the Ex command, as in
|
file, add an exclamation mark to the Ex command, as in
|
||||||
":w!". The -R option also implies the -n option (see
|
":w!". The -R option also implies the -n option (see
|
||||||
below). The 'readonly' option can be reset with ":set
|
above). The 'readonly' option can be reset with ":set
|
||||||
noro". See ":help 'readonly'".
|
noro". See ":help 'readonly'".
|
||||||
|
|
||||||
-r List swap files, with information about using them for
|
-r List swap files, with information about using them for
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*visual.txt* For Vim version 8.0. Last change: 2014 Mar 23
|
*visual.txt* For Vim version 8.0. Last change: 2017 Sep 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -314,8 +314,8 @@ Visual-block Insert *v_b_I*
|
|||||||
With a blockwise selection, I{string}<ESC> will insert {string} at the start
|
With a blockwise selection, I{string}<ESC> will insert {string} at the start
|
||||||
of block on every line of the block, provided that the line extends into the
|
of block on every line of the block, provided that the line extends into the
|
||||||
block. Thus lines that are short will remain unmodified. TABs are split to
|
block. Thus lines that are short will remain unmodified. TABs are split to
|
||||||
retain visual columns.
|
retain visual columns. Works only for adding text to a line, not for
|
||||||
See |v_b_I_example|.
|
deletions. See |v_b_I_example|.
|
||||||
|
|
||||||
Visual-block Append *v_b_A*
|
Visual-block Append *v_b_A*
|
||||||
With a blockwise selection, A{string}<ESC> will append {string} to the end of
|
With a blockwise selection, A{string}<ESC> will append {string} to the end of
|
||||||
@@ -331,6 +331,7 @@ See |v_b_A_example|.
|
|||||||
Note: "I" and "A" behave differently for lines that don't extend into the
|
Note: "I" and "A" behave differently for lines that don't extend into the
|
||||||
selected block. This was done intentionally, so that you can do it the way
|
selected block. This was done intentionally, so that you can do it the way
|
||||||
you want.
|
you want.
|
||||||
|
Works only for adding text to a line, not for deletions.
|
||||||
|
|
||||||
Visual-block change *v_b_c*
|
Visual-block change *v_b_c*
|
||||||
All selected text in the block will be replaced by the same text string. When
|
All selected text in the block will be replaced by the same text string. When
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*windows.txt* For Vim version 8.0. Last change: 2017 Jul 23
|
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -344,8 +344,9 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
|||||||
*:hide*
|
*:hide*
|
||||||
:hid[e]
|
:hid[e]
|
||||||
:{count}hid[e]
|
:{count}hid[e]
|
||||||
Quit the current window, unless it is the last window on the
|
Without {count}: Quit the current window, unless it is the
|
||||||
screen. For {count} see |:quit| command.
|
last window on the screen.
|
||||||
|
If {count} is given quit the {count} window.
|
||||||
|
|
||||||
The buffer becomes hidden (unless there is another window
|
The buffer becomes hidden (unless there is another window
|
||||||
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
||||||
@@ -618,7 +619,8 @@ The minimal height and width of a window is set with 'winminheight' and
|
|||||||
41. :buffers list of buffers
|
41. :buffers list of buffers
|
||||||
|
|
||||||
The meaning of [N] depends on the command:
|
The meaning of [N] depends on the command:
|
||||||
[N] is number of buffers to go forward/backward on ?2, ?3, and ?4
|
[N] is the number of buffers to go forward/backward on 2/12/22/32,
|
||||||
|
3/13/23/33, and 4/14/24/34
|
||||||
[N] is an argument number, defaulting to current argument, for 1 and 21
|
[N] is an argument number, defaulting to current argument, for 1 and 21
|
||||||
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
||||||
[N] is a count for 19 and 39
|
[N] is a count for 19 and 39
|
||||||
@@ -1031,6 +1033,9 @@ list of buffers. |unlisted-buffer|
|
|||||||
displayed in a window |hidden-buffer|
|
displayed in a window |hidden-buffer|
|
||||||
- a buffer with 'modifiable' off
|
- a buffer with 'modifiable' off
|
||||||
= a readonly buffer
|
= a readonly buffer
|
||||||
|
R a terminal buffer with a running job
|
||||||
|
F a terminal buffer with a finished job
|
||||||
|
? a terminal buffer without a job: `:terminal NONE`
|
||||||
+ a modified buffer
|
+ a modified buffer
|
||||||
x a buffer with read errors
|
x a buffer with read errors
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim script for Evim key bindings
|
" Vim script for Evim key bindings
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jul 24
|
" Last Change: 2017 Sep 20
|
||||||
|
|
||||||
" Don't use Vi-compatible mode.
|
" Don't use Vi-compatible mode.
|
||||||
set nocompatible
|
set nocompatible
|
||||||
@@ -67,8 +67,10 @@ endif " has("autocmd")
|
|||||||
"
|
"
|
||||||
" The matchit plugin makes the % command work better, but it is not backwards
|
" The matchit plugin makes the % command work better, but it is not backwards
|
||||||
" compatible.
|
" compatible.
|
||||||
|
" The ! means the package won't be loaded right away but when plugins are
|
||||||
|
" loaded during initialization.
|
||||||
if has('syntax') && has('eval')
|
if has('syntax') && has('eval')
|
||||||
packadd matchit
|
packadd! matchit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" vim: set sw=2 :
|
" vim: set sw=2 :
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jun 12
|
" Last Change: 2017 Sep 28
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -35,8 +35,8 @@ if has("vms")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||||
" braces in comments.
|
" braces in comments properly.
|
||||||
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||||
let b:match_skip = 's:comment\|string\|character\|special'
|
let b:match_skip = 's:comment\|string\|character\|special'
|
||||||
|
|
||||||
" Win32 can filter files in the browse dialog
|
" Win32 can filter files in the browse dialog
|
||||||
|
|||||||
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
|
||||||
12
runtime/ftplugin/gdb.vim
Normal file
12
runtime/ftplugin/gdb.vim
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: gdb
|
||||||
|
" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org>
|
||||||
|
" Last Changed: 26 Oct 2017
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal commentstring=#%s
|
||||||
|
|
||||||
|
" Undo the stuff we changed.
|
||||||
|
let b:undo_ftplugin = "setlocal cms<"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: man
|
" Language: man
|
||||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||||
" Last Change: 2017 Jan 18
|
" Last Change: 2018 Jan 15
|
||||||
|
|
||||||
" To make the ":Man" command available before editing a manual page, source
|
" To make the ":Man" command available before editing a manual page, source
|
||||||
" this script from your startup vimrc file.
|
" this script from your startup vimrc file.
|
||||||
@@ -15,12 +15,6 @@ if &filetype == "man"
|
|||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
" Ensure Vim is not recursively invoked (man-db does this)
|
|
||||||
" when doing ctrl-[ on a man page reference.
|
|
||||||
if exists("$MANPAGER")
|
|
||||||
let $MANPAGER = ""
|
|
||||||
endif
|
|
||||||
|
|
||||||
" allow dot and dash in manual page name.
|
" allow dot and dash in manual page name.
|
||||||
setlocal iskeyword+=\.,-
|
setlocal iskeyword+=\.,-
|
||||||
|
|
||||||
@@ -45,7 +39,7 @@ if &filetype == "man"
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if exists(":Man") != 2
|
if exists(":Man") != 2
|
||||||
com -nargs=+ Man call s:GetPage(<f-args>)
|
com -nargs=+ -complete=shellcmd Man call s:GetPage(<f-args>)
|
||||||
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
nmap <Leader>K :call <SID>PreGetPage(0)<CR>
|
||||||
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
|
||||||
endif
|
endif
|
||||||
@@ -176,7 +170,19 @@ func <SID>GetPage(...)
|
|||||||
let $MANWIDTH = winwidth(0)
|
let $MANWIDTH = winwidth(0)
|
||||||
let unsetwidth = 1
|
let unsetwidth = 1
|
||||||
endif
|
endif
|
||||||
silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
|
|
||||||
|
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
|
||||||
|
" on a man page reference by unsetting MANPAGER.
|
||||||
|
" Some versions of env(1) do not support the '-u' option, and in such case
|
||||||
|
" we set MANPAGER=cat.
|
||||||
|
if !exists('s:env_has_u')
|
||||||
|
call system('env -u x true')
|
||||||
|
let s:env_has_u = (v:shell_error == 0)
|
||||||
|
endif
|
||||||
|
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
|
||||||
|
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
|
||||||
|
silent exec "r !" . man_cmd
|
||||||
|
|
||||||
if unsetwidth
|
if unsetwidth
|
||||||
let $MANWIDTH = ''
|
let $MANWIDTH = ''
|
||||||
endif
|
endif
|
||||||
|
|||||||
23
runtime/ftplugin/neomuttrc.vim
Normal file
23
runtime/ftplugin/neomuttrc.vim
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: NeoMutt RC File
|
||||||
|
" Previous Maintainer: Guillaume Brogi <gui-gui@netcourrier.com>
|
||||||
|
" Latest Revision: 2017-09-17
|
||||||
|
" Original version copied from ftplugin/muttrc.vim
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||||
|
|
||||||
|
setlocal comments=:# commentstring=#\ %s
|
||||||
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
|
let &l:include = '^\s*source\>'
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
@@ -1,22 +1,43 @@
|
|||||||
" Vim ftplugin file
|
" Vim ftplugin file
|
||||||
" Language: NSIS script
|
" Language: NSIS script
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Maintainer: Ken Takata
|
||||||
" Latest Revision: 2008-07-09
|
" URL: https://github.com/k-takata/vim-nsis
|
||||||
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
let s:cpo_save = &cpo
|
" Last Change: 2018-01-26
|
||||||
set cpo&vim
|
|
||||||
|
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
let b:undo_ftplugin = "setl com< cms< fo< def< inc<"
|
||||||
|
\ " | unlet! b:match_ignorecase b:match_words"
|
||||||
|
|
||||||
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
setlocal comments=s1:/*,mb:*,ex:*/,b:#,:; commentstring=;\ %s
|
||||||
setlocal formatoptions-=t formatoptions+=croql
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\=
|
setlocal define=^\\s*!define\\%(\\%(utc\\)\\=date\\|math\\)\\=
|
||||||
setlocal include=^\\s*!include\\%(/NONFATAL\\)\\=
|
setlocal include=^\\s*!include\\%(/NONFATAL\\)\\=
|
||||||
|
|
||||||
|
if exists("loaded_matchit")
|
||||||
|
let b:match_ignorecase = 1
|
||||||
|
let b:match_words =
|
||||||
|
\ '\${\%(If\|IfNot\|Unless\)}:\${\%(Else\|ElseIf\|ElseIfNot\|ElseUnless\)}:\${\%(EndIf\|EndUnless\)},' .
|
||||||
|
\ '\${Select}:\${EndSelect},' .
|
||||||
|
\ '\${Switch}:\${EndSwitch},' .
|
||||||
|
\ '\${\%(Do\|DoWhile\|DoUntil\)}:\${\%(Loop\|LoopWhile\|LoopUntil\)},' .
|
||||||
|
\ '\${\%(For\|ForEach\)}:\${Next},' .
|
||||||
|
\ '\<Function\>:\<FunctionEnd\>,' .
|
||||||
|
\ '\<Section\>:\<SectionEnd\>,' .
|
||||||
|
\ '\<SectionGroup\>:\<SectionGroupEnd\>,' .
|
||||||
|
\ '\<PageEx\>:\<PageExEnd\>,' .
|
||||||
|
\ '\${MementoSection}:\${MementoSectionEnd},' .
|
||||||
|
\ '!if\%(\%(macro\)\?n\?def\)\?\>:!else\>:!endif\>,' .
|
||||||
|
\ '!macro\>:!macroend\>'
|
||||||
|
endif
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2015-02-09
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -33,14 +33,14 @@ endif
|
|||||||
setlocal include=\\<\\(use\\\|require\\)\\>
|
setlocal include=\\<\\(use\\\|require\\)\\>
|
||||||
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
||||||
setlocal define=[^A-Za-z_]
|
setlocal define=[^A-Za-z_]
|
||||||
|
setlocal iskeyword+=:
|
||||||
|
|
||||||
" The following line changes a global variable but is necessary to make
|
" The following line changes a global variable but is necessary to make
|
||||||
" gf and similar commands work. The change to iskeyword was incorrect.
|
" gf and similar commands work. Thanks to Andrew Pimlott for pointing
|
||||||
" Thanks to Andrew Pimlott for pointing out the problem. If this causes a
|
" out the problem. If this causes a problem for you, add an
|
||||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
" after/ftplugin/perl.vim file that contains
|
||||||
" set isfname-=:
|
" set isfname-=:
|
||||||
set isfname+=:
|
set isfname+=:
|
||||||
set iskeyword+=:
|
|
||||||
|
|
||||||
" Set this once, globally.
|
" Set this once, globally.
|
||||||
if !exists("perlpath")
|
if !exists("perlpath")
|
||||||
@@ -77,11 +77,12 @@ endif
|
|||||||
"---------------------------------------------
|
"---------------------------------------------
|
||||||
|
|
||||||
" Undo the stuff we changed.
|
" Undo the stuff we changed.
|
||||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
|
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk< isf< kp< path<" .
|
||||||
\ " | unlet! b:browsefilter"
|
\ " | unlet! b:browsefilter"
|
||||||
|
|
||||||
" proper matching for matchit plugin
|
" proper matching for matchit plugin
|
||||||
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
||||||
|
let b:match_words = '\<if\>:\<elsif\>:\<else\>'
|
||||||
|
|
||||||
" Restore the saved compatibility options.
|
" Restore the saved compatibility options.
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: python
|
" Language: python
|
||||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
" Maintainer: Tom Picton <tom@tompicton.co.uk>
|
||||||
|
" Previous Maintainer: James Sully <sullyj3@gmail.com>
|
||||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change: Tue, 09 October 2016
|
" Last Change: Wed, 20 December 2017
|
||||||
" https://github.com/sullyj3/vim-ftplugin-python
|
" https://github.com/tpict/vim-ftplugin-python
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -19,36 +20,59 @@ setlocal comments=b:#,fb:-
|
|||||||
setlocal commentstring=#\ %s
|
setlocal commentstring=#\ %s
|
||||||
|
|
||||||
setlocal omnifunc=pythoncomplete#Complete
|
setlocal omnifunc=pythoncomplete#Complete
|
||||||
|
if has('python3')
|
||||||
|
setlocal omnifunc=python3complete#Complete
|
||||||
|
endif
|
||||||
|
|
||||||
set wildignore+=*.pyc
|
set wildignore+=*.pyc
|
||||||
|
|
||||||
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
||||||
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
||||||
|
let b:next_endtoplevel='\v%$\|\S.*\n+(def\|class)'
|
||||||
|
let b:prev_endtoplevel='\v\S.*\n+(def\|class)'
|
||||||
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||||
let b:prev='\v^\s*(class\|def\|async def)>'
|
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||||
|
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
|
||||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
if !exists('*<SID>Python_jump')
|
if !exists('*<SID>Python_jump')
|
||||||
fun! <SID>Python_jump(mode, motion, flags) range
|
fun! <SID>Python_jump(mode, motion, flags, ...) range
|
||||||
|
let l:startofline = (a:0 >= 1) ? a:1 : 1
|
||||||
|
|
||||||
if a:mode == 'x'
|
if a:mode == 'x'
|
||||||
normal! gv
|
normal! gv
|
||||||
endif
|
endif
|
||||||
|
|
||||||
normal! 0
|
if l:startofline == 1
|
||||||
|
normal! 0
|
||||||
|
endif
|
||||||
|
|
||||||
let cnt = v:count1
|
let cnt = v:count1
|
||||||
mark '
|
mark '
|
||||||
@@ -57,7 +81,9 @@ if !exists('*<SID>Python_jump')
|
|||||||
let cnt = cnt - 1
|
let cnt = cnt - 1
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
normal! ^
|
if l:startofline == 1
|
||||||
|
normal! ^
|
||||||
|
endif
|
||||||
endfun
|
endfun
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Verilog HDL
|
" Language: Verilog HDL
|
||||||
" Maintainer: Chih-Tsun Huang <cthuang@larc.ee.nthu.edu.tw>
|
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
||||||
" Last Change: Wed Sep 3 15:24:49 CST 2008
|
" Last Change: 2017 Aug 25 by Chih-Tsun Huang
|
||||||
" URL: http://larc.ee.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
|
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/ftplugin/verilog.vim
|
||||||
|
"
|
||||||
|
" Credits:
|
||||||
|
" Suggestions for improvement, bug reports by
|
||||||
|
" Shao <shaominghai2005@163.com>
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -45,11 +49,16 @@ if exists("loaded_matchit")
|
|||||||
\ '\<begin\>:\<end\>,' .
|
\ '\<begin\>:\<end\>,' .
|
||||||
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
\ '\<case\>\|\<casex\>\|\<casez\>:\<endcase\>,' .
|
||||||
\ '\<module\>:\<endmodule\>,' .
|
\ '\<module\>:\<endmodule\>,' .
|
||||||
\ '\<if\>:\<else\>,' .
|
\ '\<if\>:`\@<!\<else\>,' .
|
||||||
\ '\<function\>:\<endfunction\>,' .
|
\ '\<function\>:\<endfunction\>,' .
|
||||||
\ '`ifdef\>:`else\>:`endif\>,' .
|
\ '`ifn\?def\>:`elsif\>:`else\>:`endif\>,' .
|
||||||
\ '\<task\>:\<endtask\>,' .
|
\ '\<task\>:\<endtask\>,' .
|
||||||
\ '\<specify\>:\<endspecify\>'
|
\ '\<specify\>:\<endspecify\>,' .
|
||||||
|
\ '\<config\>:\<endconfig\>,' .
|
||||||
|
\ '\<generate\>:\<endgenerate\>,' .
|
||||||
|
\ '\<fork\>:\<join\>,' .
|
||||||
|
\ '\<primitive\>:\<endprimitive\>,' .
|
||||||
|
\ '\<table\>:\<endtable\>'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Reset 'cpoptions' back to the user's setting
|
" Reset 'cpoptions' back to the user's setting
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: Vim
|
" Language: Vim
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Sep 07
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -25,6 +25,9 @@ setlocal fo-=t fo+=croql
|
|||||||
" keyword character. E.g., for netrw#Nread().
|
" keyword character. E.g., for netrw#Nread().
|
||||||
setlocal isk+=#
|
setlocal isk+=#
|
||||||
|
|
||||||
|
" Use :help to lookup the keyword under the cursor with K.
|
||||||
|
setlocal keywordprg=:help
|
||||||
|
|
||||||
" Set 'comments' to format dashed lists in comments
|
" Set 'comments' to format dashed lists in comments
|
||||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||||
|
|
||||||
@@ -36,21 +39,23 @@ endif
|
|||||||
" Comments start with a double quote
|
" Comments start with a double quote
|
||||||
setlocal commentstring=\"%s
|
setlocal commentstring=\"%s
|
||||||
|
|
||||||
" Move around functions.
|
if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||||
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
" Move around functions.
|
||||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||||
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
nnoremap <silent><buffer> [] m':call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "bW")<CR>
|
||||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
nnoremap <silent><buffer> ][ m':call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||||
|
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf*\%[unction]\>', "W")<CR>
|
||||||
|
|
||||||
" Move around comments
|
" Move around comments
|
||||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||||
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
vnoremap <silent><buffer> ]" :<C-U>exe "normal! gv"<Bar>call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||||
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||||
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
vnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
" Let the matchit plugin know what items can be matched.
|
" Let the matchit plugin know what items can be matched.
|
||||||
if exists("loaded_matchit")
|
if exists("loaded_matchit")
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Zimbu
|
" Language: Zimbu
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2012 Sep 08
|
" Last Change: 2017 Dec 05
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -135,8 +135,10 @@ iabbr <buffer> <expr> until GCUpperSpace("until")
|
|||||||
iabbr <buffer> <expr> while GCUpperSpace("while")
|
iabbr <buffer> <expr> while GCUpperSpace("while")
|
||||||
iabbr <buffer> <expr> repeat GCUpper("repeat")
|
iabbr <buffer> <expr> repeat GCUpper("repeat")
|
||||||
|
|
||||||
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
if !exists("no_plugin_maps") && !exists("no_zimbu_maps")
|
||||||
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
|
||||||
|
nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
" Using a function makes sure the search pattern is restored
|
" Using a function makes sure the search pattern is restored
|
||||||
func! ZimbuGoStartBlock()
|
func! ZimbuGoStartBlock()
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Zsh shell script
|
" Language: Zsh shell script
|
||||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2015-05-29
|
" Latest Revision: 2017-11-22
|
||||||
" License: Vim (see :h license)
|
" License: Vim (see :h license)
|
||||||
" Repository: https://github.com/chrisbra/vim-zsh
|
" Repository: https://github.com/chrisbra/vim-zsh
|
||||||
|
|
||||||
@@ -18,9 +18,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
|||||||
|
|
||||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
let b:match_words =
|
let b:match_words = ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
||||||
\ &matchpairs
|
|
||||||
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
|
|
||||||
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
|
||||||
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
|
||||||
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
let b:match_skip = 's:comment\|string\|heredoc\|subst'
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Program: CMake - Cross-Platform Makefile Generator
|
|
||||||
" Module: $RCSfile: cmake-indent.vim,v $
|
|
||||||
" Language: CMake (ft=cmake)
|
" Language: CMake (ft=cmake)
|
||||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||||
" Last Change: $Date: 2008-01-16 16:53:53 $
|
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||||
" Version: $Revision: 1.9 $
|
" Last Change: 2017 Sep 24
|
||||||
"
|
"
|
||||||
" Licence: The CMake license applies to this file. See
|
" Licence: The CMake license applies to this file. See
|
||||||
" http://www.cmake.org/HTML/Copyright.html
|
" https://cmake.org/licensing
|
||||||
" This implies that distribution with Vim is allowed
|
" This implies that distribution with Vim is allowed
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: gitolite configuration
|
" Language: gitolite configuration
|
||||||
" URL: https://github.com/tmatilai/gitolite.vim
|
" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/indent/gitolite.vim
|
||||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/indent/gitolite.vim)
|
||||||
" Last Change: 2017 Jun 13
|
" Maintainer: Sitaram Chamarty <sitaramc@gmail.com>
|
||||||
|
" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>)
|
||||||
|
" Last Change: 2017 Oct 05
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -30,6 +32,8 @@ function! GetGitoliteIndent()
|
|||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*config\s'
|
elseif cline =~ '^\s*config\s'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
|
elseif cline =~ '^\s*option\s'
|
||||||
|
return shiftwidth()
|
||||||
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*#'
|
elseif cline =~ '^\s*#'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Javascript
|
" Language: Javascript
|
||||||
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
||||||
" URL: https://github.com/pangloss/vim-javascript
|
" URL: https://github.com/pangloss/vim-javascript
|
||||||
" Last Change: March 21, 2017
|
" Last Change: December 4, 2017
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
@@ -29,6 +29,23 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
" indent correctly if inside <script>
|
||||||
|
" vim/vim@690afe1 for the switch from cindent
|
||||||
|
" overridden with b:html_indent_script1
|
||||||
|
call extend(g:,{'html_indent_script1': 'inc'},'keep')
|
||||||
|
|
||||||
|
" Regex of syntax group names that are or delimit string or are comments.
|
||||||
|
let s:bvars = {
|
||||||
|
\ 'syng_strcom': 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!',
|
||||||
|
\ 'syng_str': 'string\|template\|special' }
|
||||||
|
" template strings may want to be excluded when editing graphql:
|
||||||
|
" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special'
|
||||||
|
" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc'
|
||||||
|
|
||||||
|
function s:GetVars()
|
||||||
|
call extend(b:,extend(s:bvars,{'js_cache': [0,0,0]}),'keep')
|
||||||
|
endfunction
|
||||||
|
|
||||||
" Get shiftwidth value
|
" Get shiftwidth value
|
||||||
if exists('*shiftwidth')
|
if exists('*shiftwidth')
|
||||||
function s:sw()
|
function s:sw()
|
||||||
@@ -36,7 +53,7 @@ if exists('*shiftwidth')
|
|||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:sw()
|
function s:sw()
|
||||||
return &l:shiftwidth == 0 ? &l:tabstop : &l:shiftwidth
|
return &l:shiftwidth ? &l:shiftwidth : &l:tabstop
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -44,272 +61,325 @@ endif
|
|||||||
" matches before pos.
|
" matches before pos.
|
||||||
let s:z = has('patch-7.4.984') ? 'z' : ''
|
let s:z = has('patch-7.4.984') ? 'z' : ''
|
||||||
|
|
||||||
|
" Expression used to check whether we should skip a match with searchpair().
|
||||||
|
let s:skip_expr = "s:SynAt(line('.'),col('.')) =~? b:syng_strcom"
|
||||||
|
let s:in_comm = s:skip_expr[:-14] . "'comment\\|doc'"
|
||||||
|
|
||||||
|
let s:rel = has('reltime')
|
||||||
" searchpair() wrapper
|
" searchpair() wrapper
|
||||||
if has('reltime')
|
if s:rel
|
||||||
function s:GetPair(start,end,flags,skip,time,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time)
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200)
|
||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:GetPair(start,end,flags,skip,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)]))
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1)
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Regex of syntax group names that are or delimit string or are comments.
|
function s:SynAt(l,c)
|
||||||
let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!'
|
let byte = line2byte(a:l) + a:c - 1
|
||||||
let s:syng_str = 'string\|template\|special'
|
let pos = index(s:synid_cache[0], byte)
|
||||||
let s:syng_com = 'comment\|doc'
|
if pos == -1
|
||||||
" Expression used to check whether we should skip a match with searchpair().
|
let s:synid_cache[:] += [[byte], [synIDattr(synID(a:l, a:c, 0), 'name')]]
|
||||||
let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
|
||||||
|
|
||||||
function s:parse_cino(f) abort
|
|
||||||
return float2nr(eval(substitute(substitute(join(split(
|
|
||||||
\ matchstr(&cino,'.*'.a:f.'\zs[^,]*'), 's',1), '*'.s:W)
|
|
||||||
\ , '^-\=\zs\*','',''), '^-\=\zs\.','0.','')))
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:skip_func()
|
|
||||||
if getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
|
||||||
return eval(s:skip_expr)
|
|
||||||
elseif s:checkIn || search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
|
||||||
let s:checkIn = eval(s:skip_expr)
|
|
||||||
endif
|
endif
|
||||||
let s:looksyn = line('.')
|
return s:synid_cache[1][pos]
|
||||||
return s:checkIn
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:alternatePair(stop)
|
function s:ParseCino(f)
|
||||||
let pos = getpos('.')[1:2]
|
let [divider, n, cstr] = [0] + matchlist(&cino,
|
||||||
let pat = '[][(){};]'
|
\ '\%(.*,\)\=\%(\%d'.char2nr(a:f).'\(-\)\=\([.s0-9]*\)\)\=')[1:2]
|
||||||
while search('\m'.pat,'bW',a:stop)
|
for c in split(cstr,'\zs')
|
||||||
if s:skip_func() | continue | endif
|
if c == '.' && !divider
|
||||||
let idx = stridx('])};',s:looking_at())
|
let divider = 1
|
||||||
if idx is 3 | let pat = '[{}()]' | continue | endif
|
elseif c ==# 's'
|
||||||
if idx + 1
|
if n !~ '\d'
|
||||||
if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0
|
return n . s:sw() + 0
|
||||||
|
endif
|
||||||
|
let n = str2nr(n) * s:sw()
|
||||||
|
break
|
||||||
|
else
|
||||||
|
let [n, divider] .= [c, 0]
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return str2nr(n) / max([str2nr(divider),1])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Optimized {skip} expr, only callable from the search loop which
|
||||||
|
" GetJavascriptIndent does to find the containing [[{(] (side-effects)
|
||||||
|
function s:SkipFunc()
|
||||||
|
if s:top_col == 1
|
||||||
|
throw 'out of bounds'
|
||||||
|
elseif s:check_in
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let s:check_in = 0
|
||||||
|
elseif getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
let s:check_in = 1
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let s:synid_cache[:] += [[line2byte('.') + col('.') - 1], ['']]
|
||||||
|
endif
|
||||||
|
let [s:looksyn, s:top_col] = getpos('.')[1:2]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:AlternatePair()
|
||||||
|
let [pat, l:for] = ['[][(){};]', 2]
|
||||||
|
while s:SearchLoop(pat,'bW','s:SkipFunc()')
|
||||||
|
if s:LookingAt() == ';'
|
||||||
|
if !l:for
|
||||||
|
if s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
|
return
|
||||||
|
endif
|
||||||
break
|
break
|
||||||
|
else
|
||||||
|
let [pat, l:for] = ['[{}();]', l:for - 1]
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
return
|
let idx = stridx('])}',s:LookingAt())
|
||||||
|
if idx == -1
|
||||||
|
return
|
||||||
|
elseif !s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
|
break
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
call call('cursor',pos)
|
throw 'out of bounds'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:save_pos(f,...)
|
function s:Nat(int)
|
||||||
let l:pos = getpos('.')[1:2]
|
return a:int * (a:int > 0)
|
||||||
let ret = call(a:f,a:000)
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return ret
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:syn_at(l,c)
|
function s:LookingAt()
|
||||||
return synIDattr(synID(a:l,a:c,0),'name')
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:looking_at()
|
|
||||||
return getline('.')[col('.')-1]
|
return getline('.')[col('.')-1]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:token()
|
function s:Token()
|
||||||
return s:looking_at() =~ '\k' ? expand('<cword>') : s:looking_at()
|
return s:LookingAt() =~ '\k' ? expand('<cword>') : s:LookingAt()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:previous_token()
|
function s:PreviousToken(...)
|
||||||
let l:pos = getpos('.')[1:2]
|
let [l:pos, tok] = [getpos('.'), '']
|
||||||
if search('\m\k\{1,}\zs\k\|\S','bW')
|
if search('\m\k\{1,}\|\S','ebW')
|
||||||
if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:pos[0] &&
|
if getline('.')[col('.')-2:col('.')-1] == '*/'
|
||||||
\ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com
|
if eval(s:in_comm) && !s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||||
while search('\m\S\ze\_s*\/[/*]','bW')
|
call setpos('.',l:pos)
|
||||||
if s:syn_at(line('.'),col('.')) !~? s:syng_com
|
else
|
||||||
return s:token()
|
let tok = s:Token()
|
||||||
endif
|
endif
|
||||||
endwhile
|
|
||||||
else
|
else
|
||||||
return s:token()
|
let two = a:0 || line('.') != l:pos[1] ? strridx(getline('.')[:col('.')],'//') + 1 : 0
|
||||||
|
if two && eval(s:in_comm)
|
||||||
|
call cursor(0,two)
|
||||||
|
let tok = s:PreviousToken(1)
|
||||||
|
if tok is ''
|
||||||
|
call setpos('.',l:pos)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let tok = s:Token()
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
call call('cursor',l:pos)
|
return tok
|
||||||
return ''
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:expr_col()
|
function s:Pure(f,...)
|
||||||
|
return eval("[call(a:f,a:000),cursor(a:firstline,".col('.').")][0]")
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:SearchLoop(pat,flags,expr)
|
||||||
|
return s:GetPair(a:pat,'\_$.',a:flags,a:expr)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:ExprCol()
|
||||||
if getline('.')[col('.')-2] == ':'
|
if getline('.')[col('.')-2] == ':'
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
let bal = 0
|
let bal = 0
|
||||||
while search('\m[{}?:;]','bW')
|
while s:SearchLoop('[{}?:]','bW',s:skip_expr)
|
||||||
if eval(s:skip_expr) | continue | endif
|
if s:LookingAt() == ':'
|
||||||
" switch (looking_at())
|
if getline('.')[col('.')-2] == ':'
|
||||||
exe { '}': "if s:GetPair('{','}','bW',s:skip_expr,200) <= 0 | return | endif",
|
call cursor(0,col('.')-1)
|
||||||
\ ';': "return",
|
continue
|
||||||
\ '{': "return getpos('.')[1:2] != b:js_cache[1:] && !s:IsBlock()",
|
endif
|
||||||
\ ':': "let bal -= getline('.')[max([col('.')-2,0]):col('.')] !~ '::'",
|
let bal -= 1
|
||||||
\ '?': "let bal += 1 | if bal > 0 | return 1 | endif" }[s:looking_at()]
|
elseif s:LookingAt() == '?'
|
||||||
|
if getline('.')[col('.'):col('.')+1] =~ '^\.\d\@!'
|
||||||
|
continue
|
||||||
|
elseif !bal
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let bal += 1
|
||||||
|
elseif s:LookingAt() == '{'
|
||||||
|
return !s:IsBlock()
|
||||||
|
elseif !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
|
break
|
||||||
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" configurable regexes that define continuation lines, not including (, {, or [.
|
" configurable regexes that define continuation lines, not including (, {, or [.
|
||||||
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||||
\ '\C\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)')
|
\ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)')
|
||||||
let s:continuation = get(g:,'javascript_continuation',
|
let s:continuation = get(g:,'javascript_continuation',
|
||||||
\ '\C\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
\ '\C\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
||||||
|
|
||||||
function s:continues(ln,con)
|
function s:Continues()
|
||||||
if !cursor(a:ln, match(' '.a:con,s:continuation))
|
let tok = matchstr(strpart(getline('.'),col('.')-15,15),s:continuation)
|
||||||
let teol = s:looking_at()
|
if tok =~ '[a-z:]'
|
||||||
if teol == '/'
|
return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.'
|
||||||
return s:syn_at(line('.'),col('.')) !~? 'regex'
|
elseif tok !~ '[/>]'
|
||||||
elseif teol =~ '[-+>]'
|
return tok isnot ''
|
||||||
return getline('.')[col('.')-2] != tr(teol,'>','=')
|
endif
|
||||||
elseif teol =~ '\l'
|
return s:SynAt(line('.'),col('.')) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||||
return s:previous_token() != '.'
|
endfunction
|
||||||
elseif teol == ':'
|
|
||||||
return s:expr_col()
|
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||||
|
function s:Balanced(lnum,line)
|
||||||
|
let l:open = 0
|
||||||
|
let pos = match(a:line, '[][(){}]')
|
||||||
|
while pos != -1
|
||||||
|
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
|
||||||
|
let l:open += match(' ' . a:line[pos],'[[({]')
|
||||||
|
if l:open < 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
let pos = match(a:line, !l:open ? '[][(){}]' : '()' =~ a:line[pos] ?
|
||||||
|
\ '[()]' : '{}' =~ a:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||||
|
endwhile
|
||||||
|
return !l:open
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:OneScope()
|
||||||
|
if s:LookingAt() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
|
let tok = s:PreviousToken()
|
||||||
|
return (count(split('for if let while with'),tok) ||
|
||||||
|
\ tok =~# '^await$\|^each$' && s:PreviousToken() ==# 'for') &&
|
||||||
|
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
|
||||||
|
elseif s:Token() =~# '^else$\|^do$'
|
||||||
|
return s:Pure('s:PreviousToken') != '.'
|
||||||
|
elseif strpart(getline('.'),col('.')-2,2) == '=>'
|
||||||
|
call cursor(0,col('.')-1)
|
||||||
|
if s:PreviousToken() == ')'
|
||||||
|
return s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
endif
|
endif
|
||||||
return 1
|
return 1
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" get the line of code stripped of comments and move cursor to the last
|
function s:DoWhile()
|
||||||
" non-comment char.
|
let cpos = searchpos('\m\<','cbW')
|
||||||
function s:Trim(ln)
|
while s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||||
let pline = substitute(getline(a:ln),'\s*$','','')
|
if s:LookingAt() =~ '\a'
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
if s:Pure('s:IsBlock')
|
||||||
while l:max != -1 && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com
|
if s:LookingAt() ==# 'd'
|
||||||
let pline = pline[: l:max]
|
return 1
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
endif
|
||||||
let pline = substitute(pline[:-2],'\s*$','','')
|
break
|
||||||
endwhile
|
|
||||||
return pline is '' || cursor(a:ln,strlen(pline)) ? pline : pline
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Find line above 'lnum' that isn't empty or in a comment
|
|
||||||
function s:PrevCodeLine(lnum)
|
|
||||||
let [l:pos, l:n] = [getpos('.')[1:2], prevnonblank(a:lnum)]
|
|
||||||
while l:n
|
|
||||||
if getline(l:n) =~ '^\s*\/[/*]'
|
|
||||||
let l:n = prevnonblank(l:n-1)
|
|
||||||
elseif stridx(getline(l:n), '*/') + 1 && s:syn_at(l:n,1) =~? s:syng_com
|
|
||||||
call cursor(l:n,1)
|
|
||||||
keepjumps norm! [*
|
|
||||||
let l:n = search('\m\S','nbW')
|
|
||||||
else
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return l:n
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
|
||||||
function s:Balanced(lnum)
|
|
||||||
let l:open = 0
|
|
||||||
let l:line = getline(a:lnum)
|
|
||||||
let pos = match(l:line, '[][(){}]', 0)
|
|
||||||
while pos != -1
|
|
||||||
if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom
|
|
||||||
let l:open += match(' ' . l:line[pos],'[[({]')
|
|
||||||
if l:open < 0
|
|
||||||
return
|
|
||||||
endif
|
endif
|
||||||
endif
|
elseif s:LookingAt() != '}' || !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
let pos = match(l:line, (l:open ?
|
|
||||||
\ '['.escape(tr(l:line[pos],'({[]})',')}][{(').l:line[pos],']').']' :
|
|
||||||
\ '[][(){}]'), pos + 1)
|
|
||||||
endwhile
|
|
||||||
return !l:open
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:OneScope(lnum)
|
|
||||||
let pline = s:Trim(a:lnum)
|
|
||||||
let kw = 'else do'
|
|
||||||
if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
|
||||||
if s:previous_token() =~# '^\%(await\|each\)$'
|
|
||||||
call s:previous_token()
|
|
||||||
let kw = 'for'
|
|
||||||
else
|
|
||||||
let kw = 'for if let while with'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 &&
|
|
||||||
\ s:save_pos('s:previous_token') != '.'
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" returns braceless levels started by 'i' and above lines * shiftwidth().
|
|
||||||
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
|
|
||||||
" line 'i' + 1 is a continued expression, which could have started in a
|
|
||||||
" braceless context
|
|
||||||
function s:iscontOne(i,num,cont)
|
|
||||||
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
|
||||||
let pind = a:num ? indent(l:num) + s:W : 0
|
|
||||||
let ind = indent(l:i) + (a:cont ? 0 : s:W)
|
|
||||||
while l:i >= l:num && (ind > pind || l:i == l:num)
|
|
||||||
if indent(l:i) < ind && s:OneScope(l:i)
|
|
||||||
let bL += s:W
|
|
||||||
let l:i = line('.')
|
|
||||||
elseif !a:cont || bL || ind < indent(a:i)
|
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
let ind = min([ind, indent(l:i)])
|
|
||||||
let l:i = s:PrevCodeLine(l:i - 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return bL
|
call call('cursor',cpos)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" returns total offset from braceless contexts. 'num' is the lineNr which
|
||||||
|
" encloses the entire context, 'cont' if whether a:firstline is a continued
|
||||||
|
" expression, which could have started in a braceless context
|
||||||
|
function s:IsContOne(cont)
|
||||||
|
let [l:num, b_l] = [b:js_cache[1] + !b:js_cache[1], 0]
|
||||||
|
let pind = b:js_cache[1] ? indent(b:js_cache[1]) + s:sw() : 0
|
||||||
|
let ind = indent('.') + !a:cont
|
||||||
|
while line('.') > l:num && ind > pind || line('.') == l:num
|
||||||
|
if indent('.') < ind && s:OneScope()
|
||||||
|
let b_l += 1
|
||||||
|
elseif !a:cont || b_l || ind < indent(a:firstline)
|
||||||
|
break
|
||||||
|
else
|
||||||
|
call cursor(0,1)
|
||||||
|
endif
|
||||||
|
let ind = min([ind, indent('.')])
|
||||||
|
if s:PreviousToken() is ''
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
return b_l
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:IsSwitch()
|
||||||
|
call call('cursor',b:js_cache[1:])
|
||||||
|
return search('\m\C\%#.\_s*\%(\%(\/\/.*\_$\|\/\*\_.\{-}\*\/\)\@>\_s*\)*\%(case\|default\)\>','nWc'.s:z)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
||||||
function s:IsBlock()
|
function s:IsBlock()
|
||||||
if s:looking_at() == '{'
|
let tok = s:PreviousToken()
|
||||||
let l:n = line('.')
|
if join(s:stack) =~? 'xml\|jsx' && s:SynAt(line('.'),col('.')-1) =~? 'xml\|jsx'
|
||||||
let char = s:previous_token()
|
let s:in_jsx = 1
|
||||||
if match(s:stack,'\cxml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx'
|
return tok != '{'
|
||||||
return char != '{'
|
elseif tok =~ '\k'
|
||||||
elseif char =~ '\k'
|
if tok ==# 'type'
|
||||||
if char ==# 'type'
|
return s:Pure('eval',"s:PreviousToken() !~# '^\\%(im\\|ex\\)port$' || s:PreviousToken() == '.'")
|
||||||
return s:previous_token() !~# '^\%(im\|ex\)port$'
|
elseif tok ==# 'of'
|
||||||
endif
|
return s:Pure('eval',"!s:GetPair('[[({]','[])}]','bW',s:skip_expr) || s:LookingAt() != '(' ||"
|
||||||
return index(split('return const let import export extends yield default delete var await void typeof throw case new of in instanceof')
|
\ ."s:{s:PreviousToken() ==# 'await' ? 'Previous' : ''}Token() !=# 'for' || s:PreviousToken() == '.'")
|
||||||
\ ,char) < (line('.') != l:n) || s:save_pos('s:previous_token') == '.'
|
|
||||||
elseif char == '>'
|
|
||||||
return getline('.')[col('.')-2] == '=' || s:syn_at(line('.'),col('.')) =~? '^jsflow'
|
|
||||||
elseif char == ':'
|
|
||||||
return !s:save_pos('s:expr_col')
|
|
||||||
elseif char == '/'
|
|
||||||
return s:syn_at(line('.'),col('.')) =~? 'regex'
|
|
||||||
endif
|
endif
|
||||||
return char !~ '[=~!<*,?^%|&([]' &&
|
return index(split('return const let import export extends yield default delete var await void typeof throw case new in instanceof')
|
||||||
\ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char)
|
\ ,tok) < (line('.') != a:firstline) || s:Pure('s:PreviousToken') == '.'
|
||||||
|
elseif tok == '>'
|
||||||
|
return getline('.')[col('.')-2] == '=' || s:SynAt(line('.'),col('.')) =~? 'jsflow\|^html'
|
||||||
|
elseif tok == '*'
|
||||||
|
return s:Pure('s:PreviousToken') == ':'
|
||||||
|
elseif tok == ':'
|
||||||
|
return s:Pure('eval',"s:PreviousToken() =~ '^\\K\\k*$' && !s:ExprCol()")
|
||||||
|
elseif tok == '/'
|
||||||
|
return s:SynAt(line('.'),col('.')) =~? 'regex'
|
||||||
|
elseif tok !~ '[=~!<,.?^%|&([]'
|
||||||
|
return tok !~ '[-+]' || line('.') != a:firstline && getline('.')[col('.')-2] == tok
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function GetJavascriptIndent()
|
function GetJavascriptIndent()
|
||||||
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
call s:GetVars()
|
||||||
" Get the current line.
|
let s:synid_cache = [[],[]]
|
||||||
call cursor(v:lnum,1)
|
let l:line = getline(v:lnum)
|
||||||
let l:line = getline('.')
|
|
||||||
" use synstack as it validates syn state and works in an empty line
|
" use synstack as it validates syn state and works in an empty line
|
||||||
let s:stack = map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
let s:stack = [''] + map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
||||||
let syns = get(s:stack,-1,'')
|
|
||||||
|
|
||||||
" start with strings,comments,etc.
|
" start with strings,comments,etc.
|
||||||
if syns =~? s:syng_com
|
if s:stack[-1] =~? 'comment\|doc'
|
||||||
if l:line =~ '^\s*\*'
|
if l:line =~ '^\s*\*'
|
||||||
return cindent(v:lnum)
|
return cindent(v:lnum)
|
||||||
elseif l:line !~ '^\s*\/[/*]'
|
elseif l:line !~ '^\s*\/[/*]'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
elseif syns =~? s:syng_str
|
elseif s:stack[-1] =~? b:syng_str
|
||||||
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1,getline(v:lnum-1))
|
||||||
let b:js_cache[0] = v:lnum
|
let b:js_cache[0] = v:lnum
|
||||||
endif
|
endif
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
let l:lnum = s:PrevCodeLine(v:lnum - 1)
|
|
||||||
if !l:lnum
|
let s:l1 = max([0,prevnonblank(v:lnum) - (s:rel ? 2000 : 1000),
|
||||||
|
\ get(get(b:,'hi_indent',{}),'blocklnr')])
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
if s:PreviousToken() is ''
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
let [l:lnum, pline] = [line('.'), getline('.')[:col('.')-1]]
|
||||||
|
|
||||||
let l:line = substitute(l:line,'^\s*','','')
|
let l:line = substitute(l:line,'^\s*','','')
|
||||||
|
let l:line_raw = l:line
|
||||||
if l:line[:1] == '/*'
|
if l:line[:1] == '/*'
|
||||||
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
||||||
endif
|
endif
|
||||||
@@ -318,60 +388,92 @@ function GetJavascriptIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" the containing paren, bracket, or curly. Many hacks for performance
|
" the containing paren, bracket, or curly. Many hacks for performance
|
||||||
|
call cursor(v:lnum,1)
|
||||||
let idx = index([']',')','}'],l:line[0])
|
let idx = index([']',')','}'],l:line[0])
|
||||||
if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum &&
|
if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum ||
|
||||||
\ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum))
|
\ b:js_cache[0] == l:lnum && s:Balanced(l:lnum,pline)
|
||||||
call call('cursor',b:js_cache[1:])
|
call call('cursor',b:js_cache[1:])
|
||||||
else
|
else
|
||||||
let [s:looksyn, s:checkIn, top] = [v:lnum - 1, 0, (!indent(l:lnum) &&
|
let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0,
|
||||||
\ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum]
|
\ max([s:l1, &smc ? search('\m^.\{'.&smc.',}','nbW',s:l1 + 1) + 1 : 0])]
|
||||||
if idx + 1
|
try
|
||||||
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:skip_func()',2000,top)
|
if idx != -1
|
||||||
elseif getline(v:lnum) !~ '^\S' && syns =~? 'block'
|
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
call s:GetPair('{','}','bW','s:skip_func()',2000,top)
|
elseif getline(v:lnum) !~ '^\S' && s:stack[-1] =~? 'block\|^jsobject$'
|
||||||
else
|
call s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
call s:alternatePair(top)
|
else
|
||||||
endif
|
call s:AlternatePair()
|
||||||
|
endif
|
||||||
|
catch /^\Cout of bounds$/
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
endtry
|
||||||
|
let b:js_cache[1:] = line('.') == v:lnum ? [0,0] : getpos('.')[1:2]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2])
|
let [b:js_cache[0], num] = [v:lnum, b:js_cache[1]]
|
||||||
let num = b:js_cache[1]
|
|
||||||
|
|
||||||
let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0]
|
let [num_ind, is_op, b_l, l:switch_offset, s:in_jsx] = [s:Nat(indent(num)),0,0,0,0]
|
||||||
if !num || s:IsBlock()
|
if !num || s:LookingAt() == '{' && s:IsBlock()
|
||||||
let ilnum = line('.')
|
let ilnum = line('.')
|
||||||
let pline = s:save_pos('s:Trim',l:lnum)
|
if num && !s:in_jsx && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr)
|
||||||
if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
if ilnum == num
|
||||||
let num = ilnum == num ? line('.') : num
|
let [num, num_ind] = [line('.'), indent('.')]
|
||||||
if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.'
|
endif
|
||||||
if &cino !~ ':'
|
if idx == -1 && s:PreviousToken() ==# 'switch' && s:IsSwitch()
|
||||||
let switch_offset = s:W
|
let l:switch_offset = &cino !~ ':' ? s:sw() : s:ParseCino(':')
|
||||||
else
|
|
||||||
let switch_offset = max([-indent(num),s:parse_cino(':')])
|
|
||||||
endif
|
|
||||||
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
||||||
return indent(num) + switch_offset
|
return s:Nat(num_ind + l:switch_offset)
|
||||||
|
elseif &cino =~ '='
|
||||||
|
let l:case_offset = s:ParseCino('=')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if idx < 0 && pline[-1:] !~ '[{;]'
|
if idx == -1 && pline[-1:] !~ '[{;]'
|
||||||
let isOp = (l:line =~# s:opfirst || s:continues(l:lnum,pline)) * s:W
|
call cursor(l:lnum, len(pline))
|
||||||
let bL = s:iscontOne(l:lnum,b:js_cache[1],isOp)
|
let sol = matchstr(l:line,s:opfirst)
|
||||||
let bL -= (bL && l:line[0] == '{') * s:W
|
if sol is '' || sol == '/' && s:SynAt(v:lnum,
|
||||||
|
\ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex'
|
||||||
|
if s:Continues()
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$' &&
|
||||||
|
\ s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) &&
|
||||||
|
\ s:PreviousToken() == ')' && s:GetPair('(',')','bW',s:skip_expr) &&
|
||||||
|
\ (s:PreviousToken() == ']' || s:LookingAt() =~ '\k' &&
|
||||||
|
\ s:{s:PreviousToken() == '*' ? 'Previous' : ''}Token() !=# 'function')
|
||||||
|
return num_ind + s:sw()
|
||||||
|
else
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
call cursor(l:lnum, len(pline))
|
||||||
|
let b_l = s:Nat(s:IsContOne(is_op) - (!is_op && l:line =~ '^{')) * s:sw()
|
||||||
endif
|
endif
|
||||||
elseif idx < 0 && getline(b:js_cache[1])[b:js_cache[2]-1] == '(' && &cino =~ '('
|
elseif idx.s:LookingAt().&cino =~ '^-1(.*(' && (search('\m\S','nbW',num) || s:ParseCino('U'))
|
||||||
let pval = s:parse_cino('(')
|
let pval = s:ParseCino('(')
|
||||||
return !pval ? (s:parse_cino('w') ? 0 : -(!!search('\m\S','W'.s:z,num))) + virtcol('.') :
|
if !pval
|
||||||
\ max([indent('.') + pval + (s:GetPair('(',')','nbrmW',s:skip_expr,100,num) * s:W),0])
|
let [Wval, vcol] = [s:ParseCino('W'), virtcol('.')]
|
||||||
|
if search('\m\S','W',num)
|
||||||
|
return s:ParseCino('w') ? vcol : virtcol('.')-1
|
||||||
|
endif
|
||||||
|
return Wval ? s:Nat(num_ind + Wval) : vcol
|
||||||
|
endif
|
||||||
|
return s:Nat(num_ind + pval + searchpair('\m(','','\m)','nbrmW',s:skip_expr,num) * s:sw())
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" main return
|
" main return
|
||||||
if l:line =~ '^\%([])}]\||}\)'
|
if l:line =~ '^[])}]\|^|}'
|
||||||
return max([indent(num),0])
|
if l:line_raw[0] == ')'
|
||||||
|
if s:ParseCino('M')
|
||||||
|
return indent(l:lnum)
|
||||||
|
elseif num && &cino =~# 'm' && !s:ParseCino('m')
|
||||||
|
return virtcol('.') - 1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
return num_ind
|
||||||
elseif num
|
elseif num
|
||||||
return indent(num) + s:W + switch_offset + bL + isOp
|
return s:Nat(num_ind + get(l:,'case_offset',s:sw()) + l:switch_offset + b_l + is_op)
|
||||||
endif
|
endif
|
||||||
return bL + isOp
|
return b_l + is_op
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
91
runtime/indent/nsis.vim
Normal file
91
runtime/indent/nsis.vim
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
" Vim indent file
|
||||||
|
" Language: NSIS script
|
||||||
|
" Maintainer: Ken Takata
|
||||||
|
" URL: https://github.com/k-takata/vim-nsis
|
||||||
|
" Last Change: 2018-01-21
|
||||||
|
" Filenames: *.nsi
|
||||||
|
" License: VIM License
|
||||||
|
|
||||||
|
if exists("b:did_indent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
setlocal nosmartindent
|
||||||
|
setlocal noautoindent
|
||||||
|
setlocal indentexpr=GetNsisIndent(v:lnum)
|
||||||
|
setlocal indentkeys=!^F,o,O
|
||||||
|
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||||
|
|
||||||
|
if exists("*GetNsisIndent")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
function! GetNsisIndent(lnum)
|
||||||
|
" If this line is explicitly joined: If the previous line was also joined,
|
||||||
|
" line it up with that one, otherwise add two 'shiftwidth'
|
||||||
|
if getline(a:lnum - 1) =~ '\\$'
|
||||||
|
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
|
||||||
|
return indent(a:lnum - 1)
|
||||||
|
endif
|
||||||
|
return indent(a:lnum - 1) + shiftwidth() * 2
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Grab the current line, stripping comments.
|
||||||
|
let l:thisl = substitute(getline(a:lnum), '[;#].*$', '', '')
|
||||||
|
" Check if this line is a conditional preprocessor line.
|
||||||
|
let l:preproc = l:thisl =~? '^\s*!\%(if\|else\|endif\)'
|
||||||
|
|
||||||
|
" Grab the previous line, stripping comments.
|
||||||
|
" Skip preprocessor lines and continued lines.
|
||||||
|
let l:prevlnum = a:lnum
|
||||||
|
while 1
|
||||||
|
let l:prevlnum = prevnonblank(l:prevlnum - 1)
|
||||||
|
if l:prevlnum == 0
|
||||||
|
" top of file
|
||||||
|
return 0
|
||||||
|
endif
|
||||||
|
let l:prevl = substitute(getline(l:prevlnum), '[;#].*$', '', '')
|
||||||
|
let l:prevpreproc = l:prevl =~? '^\s*!\%(if\|else\|endif\)'
|
||||||
|
if l:preproc == l:prevpreproc && getline(l:prevlnum - 1) !~? '\\$'
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endwhile
|
||||||
|
let l:previ = indent(l:prevlnum)
|
||||||
|
let l:ind = l:previ
|
||||||
|
|
||||||
|
if l:preproc
|
||||||
|
" conditional preprocessor
|
||||||
|
if l:prevl =~? '^\s*!\%(if\%(\%(macro\)\?n\?def\)\?\|else\)\>'
|
||||||
|
let l:ind += shiftwidth()
|
||||||
|
endif
|
||||||
|
if l:thisl =~? '^\s*!\%(else\|endif\)\?\>'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
endif
|
||||||
|
return l:ind
|
||||||
|
endif
|
||||||
|
|
||||||
|
if l:prevl =~? '^\s*\%(\${\%(If\|IfNot\|Unless\|ElseIf\|ElseIfNot\|ElseUnless\|Else\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Select\|Case\|Case[2-5]\|CaseElse\|Default\|Switch\|Do\|DoWhile\|DoUntil\|For\|ForEach\|MementoSection\)}\|Function\>\|Section\>\|SectionGroup\|PageEx\>\|!macro\>\)'
|
||||||
|
" previous line opened a block
|
||||||
|
let l:ind += shiftwidth()
|
||||||
|
endif
|
||||||
|
if l:thisl =~? '^\s*\%(\${\%(ElseIf\|ElseIfNot\|ElseUnless\|Else\|EndIf\|EndUnless\|AndIf\|AndIfNot\|AndUnless\|OrIf\|OrIfNot\|OrUnless\|Loop\|LoopWhile\|LoopUntil\|Next\|MementoSectionEnd\)\>}\?\|FunctionEnd\>\|SectionEnd\>\|SectionGroupEnd\|PageExEnd\>\|!macroend\>\)'
|
||||||
|
" this line closed a block
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
elseif l:thisl =~? '^\s*\${\%(Case\|Case[2-5]\|CaseElse\|Default\)\>}\?'
|
||||||
|
if l:prevl !~? '^\s*\${\%(Select\|Switch\)}'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
endif
|
||||||
|
elseif l:thisl =~? '^\s*\${\%(EndSelect\|EndSwitch\)\>}\?'
|
||||||
|
" this line closed a block
|
||||||
|
if l:prevl =~? '^\s*\${\%(Select\|Switch\)}'
|
||||||
|
let l:ind -= shiftwidth()
|
||||||
|
else
|
||||||
|
let l:ind -= shiftwidth() * 2
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
return l:ind
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" vim: ts=8 sw=2 sts=2
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017-01-04
|
||||||
|
|
||||||
" Suggestions and improvements by :
|
" Suggestions and improvements by :
|
||||||
" Aaron J. Sherman (use syntax for hints)
|
" Aaron J. Sherman (use syntax for hints)
|
||||||
@@ -48,11 +48,6 @@ function! GetPerlIndent()
|
|||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't reindent comments on first column
|
|
||||||
if cline =~ '^#.'
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Get current syntax item at the line's first char
|
" Get current syntax item at the line's first char
|
||||||
let csynid = ''
|
let csynid = ''
|
||||||
if b:indent_use_syntax
|
if b:indent_use_syntax
|
||||||
@@ -134,6 +129,7 @@ function! GetPerlIndent()
|
|||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlHereDoc"
|
\ || synid == "perlHereDoc"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ "^perlFiledescStatement"
|
\ || synid =~ "^perlFiledescStatement"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let brace = strpart(line, bracepos, 1)
|
let brace = strpart(line, bracepos, 1)
|
||||||
@@ -151,6 +147,7 @@ function! GetPerlIndent()
|
|||||||
if synid == ""
|
if synid == ""
|
||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Language: Verilog HDL
|
" Language: Verilog HDL
|
||||||
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
" Maintainer: Chih-Tsun Huang <cthuang@cs.nthu.edu.tw>
|
||||||
" Last Change: 2017 Feb 24 by Chih-Tsun Huang
|
" Last Change: 2017 Aug 25 by Chih-Tsun Huang
|
||||||
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/indent/verilog.vim
|
" URL: http://www.cs.nthu.edu.tw/~cthuang/vim/indent/verilog.vim
|
||||||
"
|
"
|
||||||
" Credits:
|
" Credits:
|
||||||
@@ -25,7 +25,8 @@ let b:did_indent = 1
|
|||||||
setlocal indentexpr=GetVerilogIndent()
|
setlocal indentexpr=GetVerilogIndent()
|
||||||
setlocal indentkeys=!^F,o,O,0),=begin,=end,=join,=endcase
|
setlocal indentkeys=!^F,o,O,0),=begin,=end,=join,=endcase
|
||||||
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
|
||||||
setlocal indentkeys+==`else,=`endif
|
setlocal indentkeys+==endconfig,=endgenerate,=endprimitive,=endtable
|
||||||
|
setlocal indentkeys+==`else,=`elsif,=`endif
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists("*GetVerilogIndent")
|
if exists("*GetVerilogIndent")
|
||||||
@@ -84,7 +85,9 @@ function GetVerilogIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
" Indent after if/else/for/case/always/initial/specify/fork blocks
|
||||||
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
|
" Note: We exclude '`if' or '`else' and consider 'end else'
|
||||||
|
" 'end if' is redundant here
|
||||||
|
elseif last_line =~ '^\s*\(end\)\=\s*`\@<!\<\(if\|else\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\)\>' ||
|
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(always\|initial\)\>' ||
|
\ last_line =~ '^\s*\<\(always\|initial\)\>' ||
|
||||||
\ last_line =~ '^\s*\<\(specify\|fork\)\>'
|
\ last_line =~ '^\s*\<\(specify\|fork\)\>'
|
||||||
@@ -93,8 +96,8 @@ function GetVerilogIndent()
|
|||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
if vverb | echo vverb_str "Indent after a block statement." | endif
|
if vverb | echo vverb_str "Indent after a block statement." | endif
|
||||||
endif
|
endif
|
||||||
" Indent after function/task blocks
|
" Indent after function/task/config/generate/primitive/table blocks
|
||||||
elseif last_line =~ '^\s*\<\(function\|task\)\>'
|
elseif last_line =~ '^\s*\<\(function\|task\|config\|generate\|primitive\|table\)\>'
|
||||||
if last_line !~ '\<end\>\s*' . vlog_comment . '*$' ||
|
if last_line !~ '\<end\>\s*' . vlog_comment . '*$' ||
|
||||||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . vlog_comment . '*$'
|
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . vlog_comment . '*$'
|
||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
@@ -161,11 +164,11 @@ function GetVerilogIndent()
|
|||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
if vverb | echo vverb_str "De-indent after a close statement." | endif
|
||||||
|
|
||||||
" `ifdef and `else
|
" `ifdef or `ifndef or `elsif or `else
|
||||||
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
|
elseif last_line =~ '^\s*`\<\(ifn\?def\|elsif\|else\)\>'
|
||||||
let ind = ind + offset
|
let ind = ind + offset
|
||||||
if vverb
|
if vverb
|
||||||
echo vverb_str "Indent after a `ifdef or `else statement."
|
echo vverb_str "Indent after a `ifdef or `ifndef or `elsif or `else statement."
|
||||||
endif
|
endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -175,7 +178,8 @@ function GetVerilogIndent()
|
|||||||
" De-indent on the end of the block
|
" De-indent on the end of the block
|
||||||
" join/end/endcase/endfunction/endtask/endspecify
|
" join/end/endcase/endfunction/endtask/endspecify
|
||||||
if curr_line =~ '^\s*\<\(join\|end\|endcase\)\>' ||
|
if curr_line =~ '^\s*\<\(join\|end\|endcase\)\>' ||
|
||||||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>'
|
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\)\>' ||
|
||||||
|
\ curr_line =~ '^\s*\<\(endconfig\|endgenerate\|endprimitive\|endtable\)\>'
|
||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
if vverb | echo vverb_str "De-indent the end of a block." | endif
|
||||||
elseif curr_line =~ '^\s*\<endmodule\>'
|
elseif curr_line =~ '^\s*\<endmodule\>'
|
||||||
@@ -186,7 +190,7 @@ function GetVerilogIndent()
|
|||||||
|
|
||||||
" De-indent on a stand-alone 'begin'
|
" De-indent on a stand-alone 'begin'
|
||||||
elseif curr_line =~ '^\s*\<begin\>'
|
elseif curr_line =~ '^\s*\<begin\>'
|
||||||
if last_line !~ '^\s*\<\(function\|task\|specify\|module\)\>' &&
|
if last_line !~ '^\s*\<\(function\|task\|specify\|module\|config\|generate\|primitive\|table\)\>' &&
|
||||||
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . vlog_comment . '*$' &&
|
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . vlog_comment . '*$' &&
|
||||||
\ ( last_line =~
|
\ ( last_line =~
|
||||||
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\)\>' ||
|
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\)\>' ||
|
||||||
@@ -208,10 +212,10 @@ function GetVerilogIndent()
|
|||||||
echo vverb_str "De-indent the end of a multiple statement."
|
echo vverb_str "De-indent the end of a multiple statement."
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" De-indent `else and `endif
|
" De-indent `elsif or `else or `endif
|
||||||
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
|
elseif curr_line =~ '^\s*`\<\(elsif\|else\|endif\)\>'
|
||||||
let ind = ind - offset
|
let ind = ind - offset
|
||||||
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
|
if vverb | echo vverb_str "De-indent `elsif or `else or `endif statement." | endif
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" VHDL indent ('93 syntax)
|
" VHDL indent ('93 syntax)
|
||||||
" Language: VHDL
|
" Language: VHDL
|
||||||
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
||||||
" Version: 1.60
|
" Version: 1.62
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017 Oct 17
|
||||||
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
||||||
|
|
||||||
" only load this indent file when no other was loaded
|
" only load this indent file when no other was loaded
|
||||||
@@ -412,11 +412,12 @@ function GetVHDLindent()
|
|||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement
|
" indent: maintain indent of previous opening statement
|
||||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||||
" where: start of current line
|
" where: start of current line
|
||||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||||
return ind2
|
return ind2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement, corner case which
|
" indent: maintain indent of previous opening statement, corner case which
|
||||||
" does not end in ;, but is part of a mapping
|
" does not end in ;, but is part of a mapping
|
||||||
@@ -424,10 +425,10 @@ function GetVHDLindent()
|
|||||||
" prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
" prevline without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
||||||
" where: start of current line
|
" where: start of current line
|
||||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
|
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*[^;].*$'
|
||||||
if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
if prevs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
||||||
return ind2
|
return ind2
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" return leftover filtered indent
|
" return leftover filtered indent
|
||||||
return ind
|
return ind
|
||||||
|
|||||||
153
runtime/menu.vim
153
runtime/menu.vim
@@ -2,7 +2,7 @@
|
|||||||
" You can also use this as a start for your own set of menus.
|
" You can also use this as a start for your own set of menus.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Mar 04
|
" Last Change: 2017 Nov 09
|
||||||
|
|
||||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
" in all modes and avoid side effects from mappings defined by the user.
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
@@ -159,7 +159,7 @@ nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p [p
|
|||||||
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
||||||
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
||||||
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
||||||
if has("win32") || has("win16")
|
if has("win32")
|
||||||
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
||||||
endif
|
endif
|
||||||
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
||||||
@@ -167,7 +167,7 @@ inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>S
|
|||||||
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
||||||
|
|
||||||
an 20.405 &Edit.-SEP2- <Nop>
|
an 20.405 &Edit.-SEP2- <Nop>
|
||||||
if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
if has("win32") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
||||||
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
||||||
vunmenu &Edit.&Find\.\.\.
|
vunmenu &Edit.&Find\.\.\.
|
||||||
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
||||||
@@ -339,51 +339,65 @@ fun! s:FileFormat()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_color_schemes = 0
|
||||||
|
|
||||||
" Setup the Edit.Color Scheme submenu
|
" Setup the Edit.Color Scheme submenu
|
||||||
|
func! s:SetupColorSchemes() abort
|
||||||
|
if s:did_setup_color_schemes
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:did_setup_color_schemes = 1
|
||||||
|
|
||||||
" get NL separated string with file names
|
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
|
||||||
let s:n = globpath(&runtimepath, "colors/*.vim")
|
|
||||||
|
|
||||||
" split at NL, Ignore case for VMS and windows, sort on name
|
" Ignore case for VMS and windows, sort on name
|
||||||
let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||||
|
|
||||||
" define all the submenu entries
|
" define all the submenu entries
|
||||||
let s:idx = 100
|
let idx = 100
|
||||||
for s:name in s:names
|
for name in names
|
||||||
exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
exe "an 20.450." . idx . ' &Edit.C&olor\ Scheme.' . name . " :colors " . name . "<CR>"
|
||||||
let s:idx = s:idx + 10
|
let idx = idx + 10
|
||||||
endfor
|
endfor
|
||||||
unlet s:name s:names s:n s:idx
|
silent! aunmenu &Edit.Show\ C&olor\ Schemes\ in\ Menu
|
||||||
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
else
|
||||||
|
an <silent> 20.450 &Edit.Show\ C&olor\ Schemes\ in\ Menu :call <SID>SetupColorSchemes()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
" Setup the Edit.Keymap submenu
|
" Setup the Edit.Keymap submenu
|
||||||
if has("keymap")
|
if has("keymap")
|
||||||
let s:n = globpath(&runtimepath, "keymap/*.vim")
|
let s:did_setup_keymaps = 0
|
||||||
if s:n != ""
|
|
||||||
let s:idx = 100
|
func! s:SetupKeymaps() abort
|
||||||
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
if s:did_setup_keymaps
|
||||||
while strlen(s:n) > 0
|
return
|
||||||
let s:i = stridx(s:n, "\n")
|
endif
|
||||||
if s:i < 0
|
let s:did_setup_keymaps = 1
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
let n = globpath(&runtimepath, "keymap/*.vim", 1, 1)
|
||||||
else
|
if !empty(n)
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
let idx = 100
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
||||||
endif
|
for name in n
|
||||||
" Ignore case for VMS and windows
|
" Ignore case for VMS and windows
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
||||||
exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
|
exe "an 20.460." . idx . ' &Edit.&Keymap.' . name . " :set keymap=" . name . "<CR>"
|
||||||
unlet s:name
|
let idx = idx + 10
|
||||||
unlet s:i
|
endfor
|
||||||
let s:idx = s:idx + 10
|
endif
|
||||||
endwhile
|
silent! aunmenu &Edit.Show\ &Keymaps\ in\ Menu
|
||||||
unlet s:idx
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
else
|
||||||
|
an <silent> 20.460 &Edit.Show\ &Keymaps\ in\ Menu :call <SID>SetupKeymaps()<CR>
|
||||||
endif
|
endif
|
||||||
unlet s:n
|
|
||||||
endif
|
endif
|
||||||
if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
if has("win32") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
||||||
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -441,10 +455,10 @@ if has("spell")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let found = 0
|
let found = 0
|
||||||
let s = globpath(&rtp, "spell/*." . enc . ".spl")
|
let s = globpath(&runtimepath, "spell/*." . enc . ".spl", 1, 1)
|
||||||
if s != ""
|
if !empty(s)
|
||||||
let n = 300
|
let n = 300
|
||||||
for f in split(s, "\n")
|
for f in s
|
||||||
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
||||||
if nm != "en" && nm !~ '/'
|
if nm != "en" && nm !~ '/'
|
||||||
let _nm = nm
|
let _nm = nm
|
||||||
@@ -574,27 +588,46 @@ func! s:XxdFind()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_compilers = 0
|
||||||
|
|
||||||
" Setup the Tools.Compiler submenu
|
" Setup the Tools.Compiler submenu
|
||||||
let s:n = globpath(&runtimepath, "compiler/*.vim")
|
func! s:SetupCompilers() abort
|
||||||
let s:idx = 100
|
if s:did_setup_compilers
|
||||||
while strlen(s:n) > 0
|
return
|
||||||
let s:i = stridx(s:n, "\n")
|
|
||||||
if s:i < 0
|
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
|
||||||
else
|
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
|
||||||
endif
|
endif
|
||||||
" Ignore case for VMS and windows
|
let s:did_setup_compilers = 1
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
|
||||||
exe "an 30.440." . s:idx . ' &Tools.Se&t\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
|
let n = globpath(&runtimepath, "compiler/*.vim", 1, 1)
|
||||||
unlet s:name
|
let idx = 100
|
||||||
unlet s:i
|
for name in n
|
||||||
let s:idx = s:idx + 10
|
" Ignore case for VMS and windows
|
||||||
endwhile
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
||||||
unlet s:n
|
exe "an 30.440." . idx . ' &Tools.Se&t\ Compiler.' . name . " :compiler " . name . "<CR>"
|
||||||
unlet s:idx
|
let idx = idx + 10
|
||||||
|
endfor
|
||||||
|
silent! aunmenu &Tools.Show\ Compiler\ Se&ttings\ in\ Menu
|
||||||
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupCompilers()
|
||||||
|
else
|
||||||
|
an <silent> 30.440 &Tools.Show\ Compiler\ Se&ttings\ in\ Menu :call <SID>SetupCompilers()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load ColorScheme, Compiler Setting and Keymap menus when idle.
|
||||||
|
if !exists("do_no_lazyload_menus")
|
||||||
|
func! s:SetupLazyloadMenus()
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
call s:SetupCompilers()
|
||||||
|
if has("keymap")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
augroup SetupLazyloadMenus
|
||||||
|
au!
|
||||||
|
au CursorHold,CursorHoldI * call <SID>SetupLazyloadMenus() | au! SetupLazyloadMenus
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
if !exists("no_buffers_menu")
|
if !exists("no_buffers_menu")
|
||||||
|
|
||||||
@@ -1095,7 +1128,7 @@ if (exists("did_load_filetypes") || exists("syntax_on"))
|
|||||||
if exists("do_syntax_sel_menu")
|
if exists("do_syntax_sel_menu")
|
||||||
runtime! synmenu.vim
|
runtime! synmenu.vim
|
||||||
else
|
else
|
||||||
an 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
an <silent> 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
||||||
an 50.195 &Syntax.-SEP1- <Nop>
|
an 50.195 &Syntax.-SEP1- <Nop>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Feb 09
|
" Last change: 2017 Oct 28
|
||||||
|
|
||||||
" bail out if this isn't wanted (mrsvim.vim uses this).
|
" bail out if this isn't wanted (mrsvim.vim uses this).
|
||||||
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
||||||
@@ -105,14 +105,15 @@ onoremap <C-F4> <C-C><C-W>c
|
|||||||
|
|
||||||
if has("gui")
|
if has("gui")
|
||||||
" CTRL-F is the search dialog
|
" CTRL-F is the search dialog
|
||||||
noremap <C-F> :promptfind<CR>
|
noremap <expr> <C-F> has("gui_running") ? ":promptfind\<CR>" : "/"
|
||||||
inoremap <C-F> <C-\><C-O>:promptfind<CR>
|
inoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-O>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
cnoremap <C-F> <C-\><C-C>:promptfind<CR>
|
cnoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-C>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
|
|
||||||
" CTRL-H is the replace dialog
|
" CTRL-H is the replace dialog,
|
||||||
noremap <C-H> :promptrepl<CR>
|
" but in console, it might be backspace, so don't map it there
|
||||||
inoremap <C-H> <C-\><C-O>:promptrepl<CR>
|
nnoremap <expr> <C-H> has("gui_running") ? ":promptrepl\<CR>" : "\<C-H>"
|
||||||
cnoremap <C-H> <C-\><C-C>:promptrepl<CR>
|
inoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-O>:promptrepl\<CR>" : "\<C-H>"
|
||||||
|
cnoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-C>:promptrepl\<CR>" : "\<C-H>"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" restore 'cpoptions'
|
" restore 'cpoptions'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" These commands create the option window.
|
" These commands create the option window.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Aug 19
|
" Last Change: 2017 Nov 21
|
||||||
|
|
||||||
" If there already is an option window, jump to that one.
|
" If there already is an option window, jump to that one.
|
||||||
let buf = bufnr('option-window')
|
let buf = bufnr('option-window')
|
||||||
@@ -647,11 +647,17 @@ if has("gui")
|
|||||||
endif
|
endif
|
||||||
call append("$", "linespace\tnumber of pixel lines to use between characters")
|
call append("$", "linespace\tnumber of pixel lines to use between characters")
|
||||||
call append("$", " \tset lsp=" . &lsp)
|
call append("$", " \tset lsp=" . &lsp)
|
||||||
if has("balloon_eval")
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
call append("$", "balloondelay\tdelay in milliseconds before a balloon may pop up")
|
||||||
call append("$", " \tset bdlay=" . &bdlay)
|
call append("$", " \tset bdlay=" . &bdlay)
|
||||||
call append("$", "ballooneval\twhether the balloon evaluation is to be used")
|
if has("balloon_eval")
|
||||||
call <SID>BinOptionG("beval", &beval)
|
call append("$", "ballooneval\tuse balloon evaluation in the GUI")
|
||||||
|
call <SID>BinOptionG("beval", &beval)
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
call append("$", "balloonevalterm\tuse balloon evaluation in the terminal")
|
||||||
|
call <SID>BinOptionG("bevalterm", &beval)
|
||||||
|
endif
|
||||||
if has("eval")
|
if has("eval")
|
||||||
call append("$", "balloonexpr\texpression to show in balloon eval")
|
call append("$", "balloonexpr\texpression to show in balloon eval")
|
||||||
call append("$", " \tset bexpr=" . &bexpr)
|
call append("$", " \tset bexpr=" . &bexpr)
|
||||||
@@ -1225,6 +1231,8 @@ endif
|
|||||||
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("imi")
|
call <SID>OptionL("imi")
|
||||||
|
call append("$", "imstyle\tinput method style, 0: on-the-spot, 1: over-the-spot")
|
||||||
|
call <SID>OptionG("imst", &imst)
|
||||||
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("ims")
|
call <SID>OptionL("ims")
|
||||||
@@ -1346,10 +1354,18 @@ if exists("&pythondll")
|
|||||||
call append("$", "pythondll\tname of the Python 2 dynamic library")
|
call append("$", "pythondll\tname of the Python 2 dynamic library")
|
||||||
call <SID>OptionG("pythondll", &pythondll)
|
call <SID>OptionG("pythondll", &pythondll)
|
||||||
endif
|
endif
|
||||||
|
if exists("&pythonhome")
|
||||||
|
call append("$", "pythonhome\tname of the Python 2 home directory")
|
||||||
|
call <SID>OptionG("pythonhome", &pythonhome)
|
||||||
|
endif
|
||||||
if exists("&pythonthreedll")
|
if exists("&pythonthreedll")
|
||||||
call append("$", "pythonthreedll\tname of the Python 3 dynamic library")
|
call append("$", "pythonthreedll\tname of the Python 3 dynamic library")
|
||||||
call <SID>OptionG("pythonthreedll", &pythonthreedll)
|
call <SID>OptionG("pythonthreedll", &pythonthreedll)
|
||||||
endif
|
endif
|
||||||
|
if exists("&pythonthreehome")
|
||||||
|
call append("$", "pythonthreehome\tname of the Python 3 home directory")
|
||||||
|
call <SID>OptionG("pythonthreehome", &pythonthreehome)
|
||||||
|
endif
|
||||||
if exists("&rubydll")
|
if exists("&rubydll")
|
||||||
call append("$", "rubydll\tname of the Ruby dynamic library")
|
call append("$", "rubydll\tname of the Ruby dynamic library")
|
||||||
call <SID>OptionG("rubydll", &rubydll)
|
call <SID>OptionG("rubydll", &rubydll)
|
||||||
@@ -1358,6 +1374,12 @@ if exists("&tcldll")
|
|||||||
call append("$", "tcldll\tname of the Tcl dynamic library")
|
call append("$", "tcldll\tname of the Tcl dynamic library")
|
||||||
call <SID>OptionG("tcldll", &tcldll)
|
call <SID>OptionG("tcldll", &tcldll)
|
||||||
endif
|
endif
|
||||||
|
if exists("&mzschemedll")
|
||||||
|
call append("$", "mzschemedll\tname of the Tcl dynamic library")
|
||||||
|
call <SID>OptionG("mzschemedll", &mzschemedll)
|
||||||
|
call append("$", "mzschemegcdll\tname of the Tcl GC dynamic library")
|
||||||
|
call <SID>OptionG("mzschemegcdll", &mzschemegcdll)
|
||||||
|
endif
|
||||||
|
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
" matchit.vim: (global plugin) Extended "%" matching
|
" matchit.vim: (global plugin) Extended "%" matching
|
||||||
" Last Change: 2017 March 26
|
" Last Change: 2017 Sep 15
|
||||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||||
" Version: 1.13.3, for Vim 6.3+
|
" Version: 1.13.3, for Vim 6.3+
|
||||||
" Fix from Fernando Torres included.
|
" Fix from Fernando Torres included.
|
||||||
@@ -704,9 +704,8 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
let skip = 's:comment\|string'
|
let skip = 's:comment\|string'
|
||||||
endif
|
endif
|
||||||
let skip = s:ParseSkip(skip)
|
let skip = s:ParseSkip(skip)
|
||||||
" let restore_cursor = line(".") . "G" . virtcol(".") . "|"
|
" save v:count1 variable, might be reset from the restore_cursor command
|
||||||
" normal! H
|
let level = v:count1
|
||||||
" let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
|
||||||
let restore_cursor = virtcol(".") . "|"
|
let restore_cursor = virtcol(".") . "|"
|
||||||
normal! g0
|
normal! g0
|
||||||
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
||||||
@@ -726,7 +725,6 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
execute "if " . skip . "| let skip = '0' | endif"
|
execute "if " . skip . "| let skip = '0' | endif"
|
||||||
endif
|
endif
|
||||||
mark '
|
mark '
|
||||||
let level = v:count1
|
|
||||||
while level
|
while level
|
||||||
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
||||||
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
||||||
|
|||||||
484
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
Normal file
484
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
Normal file
@@ -0,0 +1,484 @@
|
|||||||
|
" Debugger plugin using gdb.
|
||||||
|
"
|
||||||
|
" WORK IN PROGRESS - much doesn't work yet
|
||||||
|
"
|
||||||
|
" Open two visible terminal windows:
|
||||||
|
" 1. run a pty, as with ":term NONE"
|
||||||
|
" 2. run gdb, passing the pty
|
||||||
|
" The current window is used to view source code and follows gdb.
|
||||||
|
"
|
||||||
|
" A third terminal window is hidden, it is used for communication with gdb.
|
||||||
|
"
|
||||||
|
" The communication with gdb uses GDB/MI. See:
|
||||||
|
" https://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html
|
||||||
|
"
|
||||||
|
" Author: Bram Moolenaar
|
||||||
|
" Copyright: Vim license applies, see ":help license"
|
||||||
|
|
||||||
|
" In case this gets loaded twice.
|
||||||
|
if exists(':Termdebug')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Uncomment this line to write logging in "debuglog".
|
||||||
|
" call ch_logfile('debuglog', 'w')
|
||||||
|
|
||||||
|
" The command that starts debugging, e.g. ":Termdebug vim".
|
||||||
|
" To end type "quit" in the gdb window.
|
||||||
|
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
||||||
|
|
||||||
|
" Name of the gdb command, defaults to "gdb".
|
||||||
|
if !exists('termdebugger')
|
||||||
|
let termdebugger = 'gdb'
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:pc_id = 12
|
||||||
|
let s:break_id = 13
|
||||||
|
let s:stopped = 1
|
||||||
|
|
||||||
|
if &background == 'light'
|
||||||
|
hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||||
|
else
|
||||||
|
hi default debugPC term=reverse ctermbg=darkblue guibg=darkblue
|
||||||
|
endif
|
||||||
|
hi default debugBreakpoint term=reverse ctermbg=red guibg=red
|
||||||
|
|
||||||
|
func s:StartDebug(cmd)
|
||||||
|
let s:startwin = win_getid(winnr())
|
||||||
|
let s:startsigncolumn = &signcolumn
|
||||||
|
|
||||||
|
let s:save_columns = 0
|
||||||
|
if exists('g:termdebug_wide')
|
||||||
|
if &columns < g:termdebug_wide
|
||||||
|
let s:save_columns = &columns
|
||||||
|
let &columns = g:termdebug_wide
|
||||||
|
endif
|
||||||
|
let vertical = 1
|
||||||
|
else
|
||||||
|
let vertical = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Open a terminal window without a job, to run the debugged program
|
||||||
|
let s:ptybuf = term_start('NONE', {
|
||||||
|
\ 'term_name': 'gdb program',
|
||||||
|
\ 'vertical': vertical,
|
||||||
|
\ })
|
||||||
|
if s:ptybuf == 0
|
||||||
|
echoerr 'Failed to open the program terminal window'
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||||
|
let s:ptywin = win_getid(winnr())
|
||||||
|
if vertical
|
||||||
|
" Assuming the source code window will get a signcolumn, use two more
|
||||||
|
" columns for that, thus one less for the terminal window.
|
||||||
|
exe (&columns / 2 - 1) . "wincmd |"
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Create a hidden terminal window to communicate with gdb
|
||||||
|
let s:commbuf = term_start('NONE', {
|
||||||
|
\ 'term_name': 'gdb communication',
|
||||||
|
\ 'out_cb': function('s:CommOutput'),
|
||||||
|
\ 'hidden': 1,
|
||||||
|
\ })
|
||||||
|
if s:commbuf == 0
|
||||||
|
echoerr 'Failed to open the communication terminal window'
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let commpty = job_info(term_getjob(s:commbuf))['tty_out']
|
||||||
|
|
||||||
|
" Open a terminal window to run the debugger.
|
||||||
|
" Add -quiet to avoid the intro message causing a hit-enter prompt.
|
||||||
|
let cmd = [g:termdebugger, '-quiet', '-tty', pty, a:cmd]
|
||||||
|
echomsg 'executing "' . join(cmd) . '"'
|
||||||
|
let s:gdbbuf = term_start(cmd, {
|
||||||
|
\ 'exit_cb': function('s:EndDebug'),
|
||||||
|
\ 'term_finish': 'close',
|
||||||
|
\ })
|
||||||
|
if s:gdbbuf == 0
|
||||||
|
echoerr 'Failed to open the gdb terminal window'
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
exe 'bwipe! ' . s:commbuf
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:gdbwin = win_getid(winnr())
|
||||||
|
|
||||||
|
" Connect gdb to the communication pty, using the GDB/MI interface
|
||||||
|
" If you get an error "undefined command" your GDB is too old.
|
||||||
|
call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||||
|
|
||||||
|
" Interpret commands while the target is running. This should usualy only be
|
||||||
|
" exec-interrupt, since many commands don't work properly while the target is
|
||||||
|
" running.
|
||||||
|
call s:SendCommand('-gdb-set mi-async on')
|
||||||
|
|
||||||
|
" Sign used to highlight the line where the program has stopped.
|
||||||
|
" There can be only one.
|
||||||
|
sign define debugPC linehl=debugPC
|
||||||
|
|
||||||
|
" Sign used to indicate a breakpoint.
|
||||||
|
" Can be used multiple times.
|
||||||
|
sign define debugBreakpoint text=>> texthl=debugBreakpoint
|
||||||
|
|
||||||
|
" Install debugger commands in the text window.
|
||||||
|
call win_gotoid(s:startwin)
|
||||||
|
call s:InstallCommands()
|
||||||
|
call win_gotoid(s:gdbwin)
|
||||||
|
|
||||||
|
" Enable showing a balloon with eval info
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=TermDebugBalloonExpr()
|
||||||
|
if has("balloon_eval")
|
||||||
|
set ballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set balloonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:breakpoints = {}
|
||||||
|
|
||||||
|
augroup TermDebug
|
||||||
|
au BufRead * call s:BufRead()
|
||||||
|
au BufUnload * call s:BufUnloaded()
|
||||||
|
augroup END
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:EndDebug(job, status)
|
||||||
|
exe 'bwipe! ' . s:ptybuf
|
||||||
|
exe 'bwipe! ' . s:commbuf
|
||||||
|
|
||||||
|
let curwinid = win_getid(winnr())
|
||||||
|
|
||||||
|
call win_gotoid(s:startwin)
|
||||||
|
let &signcolumn = s:startsigncolumn
|
||||||
|
call s:DeleteCommands()
|
||||||
|
|
||||||
|
call win_gotoid(curwinid)
|
||||||
|
if s:save_columns > 0
|
||||||
|
let &columns = s:save_columns
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=
|
||||||
|
if has("balloon_eval")
|
||||||
|
set noballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set noballoonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
au! TermDebug
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a message received from gdb on the GDB/MI interface.
|
||||||
|
func s:CommOutput(chan, msg)
|
||||||
|
let msgs = split(a:msg, "\r")
|
||||||
|
|
||||||
|
for msg in msgs
|
||||||
|
" remove prefixed NL
|
||||||
|
if msg[0] == "\n"
|
||||||
|
let msg = msg[1:]
|
||||||
|
endif
|
||||||
|
if msg != ''
|
||||||
|
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
|
||||||
|
call s:HandleCursor(msg)
|
||||||
|
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
|
||||||
|
call s:HandleNewBreakpoint(msg)
|
||||||
|
elseif msg =~ '^=breakpoint-deleted,'
|
||||||
|
call s:HandleBreakpointDelete(msg)
|
||||||
|
elseif msg =~ '^\^done,value='
|
||||||
|
call s:HandleEvaluate(msg)
|
||||||
|
elseif msg =~ '^\^error,msg='
|
||||||
|
call s:HandleError(msg)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Install commands in the current window to control the debugger.
|
||||||
|
func s:InstallCommands()
|
||||||
|
command Break call s:SetBreakpoint()
|
||||||
|
command Delete call s:DeleteBreakpoint()
|
||||||
|
command Step call s:SendCommand('-exec-step')
|
||||||
|
command Over call s:SendCommand('-exec-next')
|
||||||
|
command Finish call s:SendCommand('-exec-finish')
|
||||||
|
command -nargs=* Run call s:Run(<q-args>)
|
||||||
|
command -nargs=* Arguments call s:SendCommand('-exec-arguments ' . <q-args>)
|
||||||
|
command Stop call s:SendCommand('-exec-interrupt')
|
||||||
|
command Continue call s:SendCommand('-exec-continue')
|
||||||
|
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||||
|
command Gdb call win_gotoid(s:gdbwin)
|
||||||
|
command Program call win_gotoid(s:ptywin)
|
||||||
|
|
||||||
|
" TODO: can the K mapping be restored?
|
||||||
|
nnoremap K :Evaluate<CR>
|
||||||
|
|
||||||
|
if has('menu') && &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>
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Delete installed debugger commands in the current window.
|
||||||
|
func s:DeleteCommands()
|
||||||
|
delcommand Break
|
||||||
|
delcommand Delete
|
||||||
|
delcommand Step
|
||||||
|
delcommand Over
|
||||||
|
delcommand Finish
|
||||||
|
delcommand Run
|
||||||
|
delcommand Arguments
|
||||||
|
delcommand Stop
|
||||||
|
delcommand Continue
|
||||||
|
delcommand Evaluate
|
||||||
|
delcommand Gdb
|
||||||
|
delcommand Program
|
||||||
|
|
||||||
|
nunmap K
|
||||||
|
|
||||||
|
if has('menu')
|
||||||
|
aunmenu WinBar.Step
|
||||||
|
aunmenu WinBar.Next
|
||||||
|
aunmenu WinBar.Finish
|
||||||
|
aunmenu WinBar.Cont
|
||||||
|
aunmenu WinBar.Stop
|
||||||
|
aunmenu WinBar.Eval
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
for key in keys(s:breakpoints)
|
||||||
|
exe 'sign unplace ' . (s:break_id + key)
|
||||||
|
endfor
|
||||||
|
sign undefine debugPC
|
||||||
|
sign undefine debugBreakpoint
|
||||||
|
unlet s:breakpoints
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Break - Set a breakpoint at the cursor position.
|
||||||
|
func s:SetBreakpoint()
|
||||||
|
" Setting a breakpoint may not work while the program is running.
|
||||||
|
" Interrupt to make it work.
|
||||||
|
let do_continue = 0
|
||||||
|
if !s:stopped
|
||||||
|
let do_continue = 1
|
||||||
|
call s:SendCommand('-exec-interrupt')
|
||||||
|
sleep 10m
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-break-insert --source '
|
||||||
|
\ . fnameescape(expand('%:p')) . ' --line ' . line('.'))
|
||||||
|
if do_continue
|
||||||
|
call s:SendCommand('-exec-continue')
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Delete - Delete a breakpoint at the cursor position.
|
||||||
|
func s:DeleteBreakpoint()
|
||||||
|
let fname = fnameescape(expand('%:p'))
|
||||||
|
let lnum = line('.')
|
||||||
|
for [key, val] in items(s:breakpoints)
|
||||||
|
if val['fname'] == fname && val['lnum'] == lnum
|
||||||
|
call term_sendkeys(s:commbuf, '-break-delete ' . key . "\r")
|
||||||
|
" Assume this always wors, the reply is simply "^done".
|
||||||
|
exe 'sign unplace ' . (s:break_id + key)
|
||||||
|
unlet s:breakpoints[key]
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Next, :Continue, etc - send a command to gdb
|
||||||
|
func s:SendCommand(cmd)
|
||||||
|
call term_sendkeys(s:commbuf, a:cmd . "\r")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:Run(args)
|
||||||
|
if a:args != ''
|
||||||
|
call s:SendCommand('-exec-arguments ' . a:args)
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-exec-run')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:SendEval(expr)
|
||||||
|
call s:SendCommand('-data-evaluate-expression "' . a:expr . '"')
|
||||||
|
let s:evalexpr = a:expr
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" :Evaluate - evaluate what is under the cursor
|
||||||
|
func s:Evaluate(range, arg)
|
||||||
|
if a:arg != ''
|
||||||
|
let expr = a:arg
|
||||||
|
elseif a:range == 2
|
||||||
|
let pos = getcurpos()
|
||||||
|
let reg = getreg('v', 1, 1)
|
||||||
|
let regt = getregtype('v')
|
||||||
|
normal! gv"vy
|
||||||
|
let expr = @v
|
||||||
|
call setpos('.', pos)
|
||||||
|
call setreg('v', reg, regt)
|
||||||
|
else
|
||||||
|
let expr = expand('<cexpr>')
|
||||||
|
endif
|
||||||
|
call s:SendEval(expr)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
|
||||||
|
" Handle the result of data-evaluate-expression
|
||||||
|
func s:HandleEvaluate(msg)
|
||||||
|
let value = substitute(a:msg, '.*value="\(.*\)"', '\1', '')
|
||||||
|
let value = substitute(value, '\\"', '"', 'g')
|
||||||
|
if s:evalFromBalloonExpr
|
||||||
|
if s:evalFromBalloonExprResult == ''
|
||||||
|
let s:evalFromBalloonExprResult = s:evalexpr . ': ' . value
|
||||||
|
else
|
||||||
|
let s:evalFromBalloonExprResult .= ' = ' . value
|
||||||
|
endif
|
||||||
|
call balloon_show(s:evalFromBalloonExprResult)
|
||||||
|
else
|
||||||
|
echomsg '"' . s:evalexpr . '": ' . value
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
|
||||||
|
" Looks like a pointer, also display what it points to.
|
||||||
|
call s:SendEval('*' . s:evalexpr)
|
||||||
|
else
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Show a balloon with information of the variable under the mouse pointer,
|
||||||
|
" if there is any.
|
||||||
|
func TermDebugBalloonExpr()
|
||||||
|
if v:beval_winid != s:startwin
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
call s:SendEval(v:beval_text)
|
||||||
|
let s:evalFromBalloonExpr = 1
|
||||||
|
let s:evalFromBalloonExprResult = ''
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle an error.
|
||||||
|
func s:HandleError(msg)
|
||||||
|
if a:msg =~ 'No symbol .* in current context'
|
||||||
|
\ || a:msg =~ 'Cannot access memory at address '
|
||||||
|
\ || a:msg =~ 'Attempt to use a type name as an expression'
|
||||||
|
\ || a:msg =~ 'A syntax error in expression,'
|
||||||
|
" Result of s:SendEval() failed, ignore.
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle stopping and running message from gdb.
|
||||||
|
" Will update the sign that shows the current position.
|
||||||
|
func s:HandleCursor(msg)
|
||||||
|
let wid = win_getid(winnr())
|
||||||
|
|
||||||
|
if a:msg =~ '^\*stopped'
|
||||||
|
let s:stopped = 1
|
||||||
|
elseif a:msg =~ '^\*running'
|
||||||
|
let s:stopped = 0
|
||||||
|
endif
|
||||||
|
|
||||||
|
if win_gotoid(s:startwin)
|
||||||
|
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||||
|
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||||
|
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||||
|
if lnum =~ '^[0-9]*$'
|
||||||
|
if expand('%:p') != fnamemodify(fname, ':p')
|
||||||
|
if &modified
|
||||||
|
" TODO: find existing window
|
||||||
|
exe 'split ' . fnameescape(fname)
|
||||||
|
let s:startwin = win_getid(winnr())
|
||||||
|
else
|
||||||
|
exe 'edit ' . fnameescape(fname)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exe lnum
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
||||||
|
setlocal signcolumn=yes
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
|
endif
|
||||||
|
|
||||||
|
call win_gotoid(wid)
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle setting a breakpoint
|
||||||
|
" Will update the sign that shows the breakpoint
|
||||||
|
func s:HandleNewBreakpoint(msg)
|
||||||
|
let nr = substitute(a:msg, '.*number="\([0-9]\)*\".*', '\1', '') + 0
|
||||||
|
if nr == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
if has_key(s:breakpoints, nr)
|
||||||
|
let entry = s:breakpoints[nr]
|
||||||
|
else
|
||||||
|
let entry = {}
|
||||||
|
let s:breakpoints[nr] = entry
|
||||||
|
endif
|
||||||
|
|
||||||
|
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||||
|
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||||
|
let entry['fname'] = fname
|
||||||
|
let entry['lnum'] = lnum
|
||||||
|
|
||||||
|
if bufloaded(fname)
|
||||||
|
call s:PlaceSign(nr, entry)
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:PlaceSign(nr, entry)
|
||||||
|
exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint file=' . a:entry['fname']
|
||||||
|
let a:entry['placed'] = 1
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle deleting a breakpoint
|
||||||
|
" Will remove the sign that shows the breakpoint
|
||||||
|
func s:HandleBreakpointDelete(msg)
|
||||||
|
let nr = substitute(a:msg, '.*id="\([0-9]*\)\".*', '\1', '') + 0
|
||||||
|
if nr == 0
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if has_key(s:breakpoints, nr)
|
||||||
|
let entry = s:breakpoints[nr]
|
||||||
|
if has_key(entry, 'placed')
|
||||||
|
exe 'sign unplace ' . (s:break_id + nr)
|
||||||
|
unlet entry['placed']
|
||||||
|
endif
|
||||||
|
unlet s:breakpoints[nr]
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a BufRead autocommand event: place any signs.
|
||||||
|
func s:BufRead()
|
||||||
|
let fname = expand('<afile>:p')
|
||||||
|
for [nr, entry] in items(s:breakpoints)
|
||||||
|
if entry['fname'] == fname
|
||||||
|
call s:PlaceSign(nr, entry)
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Handle a BufUnloaded autocommand event: unplace any signs.
|
||||||
|
func s:BufUnloaded()
|
||||||
|
let fname = expand('<afile>:p')
|
||||||
|
for [nr, entry] in items(s:breakpoints)
|
||||||
|
if entry['fname'] == fname
|
||||||
|
let entry['placed'] = 0
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
endfunc
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for using Vim as manpager.
|
" Vim plugin for using Vim as manpager.
|
||||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||||
" Last Change: 2016 May 20
|
" Last Change: 2017 November 07
|
||||||
|
|
||||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||||
if empty($MAN_PN)
|
if empty($MAN_PN)
|
||||||
@@ -10,17 +10,17 @@ endif
|
|||||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||||
|
|
||||||
function! s:MANPAGER()
|
function! s:MANPAGER()
|
||||||
let page_pattern = '\v\w+%([-_.]\w+)*'
|
let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
|
||||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||||
|
|
||||||
if $MAN_PN is '1'
|
if $MAN_PN is '1'
|
||||||
let manpage = matchstr( getline(1), '^' . pagesec_pattern )
|
let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
|
||||||
else
|
else
|
||||||
let manpage = expand('$MAN_PN')
|
let manpage = expand($MAN_PN)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern . '$')
|
let page_sec = matchlist(manpage, '^' . pagesec_pattern . '$')
|
||||||
|
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for showing matching parens
|
" Vim plugin for showing matching parens
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Feb 16
|
" Last Change: 2017 Sep 30
|
||||||
|
|
||||||
" Exit quickly when:
|
" Exit quickly when:
|
||||||
" - this plugin was already loaded (or disabled)
|
" - this plugin was already loaded (or disabled)
|
||||||
@@ -186,9 +186,23 @@ function! s:Highlight_Matching_Pair()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Define commands that will disable and enable the plugin.
|
" Define commands that will disable and enable the plugin.
|
||||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
command! DoMatchParen call s:DoMatchParen()
|
||||||
\ au! matchparen
|
command! NoMatchParen call s:NoMatchParen()
|
||||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
|
||||||
|
func! s:NoMatchParen()
|
||||||
|
let w = winnr()
|
||||||
|
noau windo silent! call matchdelete(3)
|
||||||
|
unlet! g:loaded_matchparen
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
au! matchparen
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func! s:DoMatchParen()
|
||||||
|
runtime plugin/matchparen.vim
|
||||||
|
let w = winnr()
|
||||||
|
silent windo doau CursorMoved
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
endfunc
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types in scripts
|
" Vim support file to detect file types in scripts
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Jun 11
|
" Last change: 2018 Feb 03
|
||||||
|
|
||||||
" This file is called by an autocommand for every file that has just been
|
" This file is called by an autocommand for every file that has just been
|
||||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||||
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
|
|||||||
|
|
||||||
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" csh scripts
|
" csh scripts
|
||||||
elseif s:name =~# '^csh\>'
|
elseif s:name =~# '^csh\>'
|
||||||
if exists("g:filetype_csh")
|
if exists("g:filetype_csh")
|
||||||
call SetFileTypeShell(g:filetype_csh)
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
else
|
else
|
||||||
call SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" tcsh scripts
|
" tcsh scripts
|
||||||
elseif s:name =~# '^tcsh\>'
|
elseif s:name =~# '^tcsh\>'
|
||||||
call SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:name =~# '^zsh\>'
|
elseif s:name =~# '^zsh\>'
|
||||||
@@ -100,6 +100,14 @@ if s:line1 =~# "^#!"
|
|||||||
elseif s:name =~# 'make\>'
|
elseif s:name =~# 'make\>'
|
||||||
set ft=make
|
set ft=make
|
||||||
|
|
||||||
|
" Pike
|
||||||
|
elseif s:name =~# '^pike\%(\>\|[0-9]\)'
|
||||||
|
set ft=pike
|
||||||
|
|
||||||
|
" Pike
|
||||||
|
elseif s:name =~# '^pike\%(\>\|[0-9]\)'
|
||||||
|
set ft=pike
|
||||||
|
|
||||||
" Lua
|
" Lua
|
||||||
elseif s:name =~# 'lua'
|
elseif s:name =~# 'lua'
|
||||||
set ft=lua
|
set ft=lua
|
||||||
@@ -129,7 +137,7 @@ if s:line1 =~# "^#!"
|
|||||||
set ft=ruby
|
set ft=ruby
|
||||||
|
|
||||||
" JavaScript
|
" JavaScript
|
||||||
elseif s:name =~# 'node\(js\)\=\>' || s:name =~# 'rhino\>'
|
elseif s:name =~# 'node\(js\)\=\>\|js\>' || s:name =~# 'rhino\>'
|
||||||
set ft=javascript
|
set ft=javascript
|
||||||
|
|
||||||
" BC calculator
|
" BC calculator
|
||||||
@@ -172,6 +180,10 @@ if s:line1 =~# "^#!"
|
|||||||
elseif s:name =~# 'scala\>'
|
elseif s:name =~# 'scala\>'
|
||||||
set ft=scala
|
set ft=scala
|
||||||
|
|
||||||
|
" Clojure
|
||||||
|
elseif s:name =~# 'clojure'
|
||||||
|
set ft=clojure
|
||||||
|
|
||||||
endif
|
endif
|
||||||
unlet s:name
|
unlet s:name
|
||||||
|
|
||||||
@@ -185,7 +197,7 @@ else
|
|||||||
|
|
||||||
" Bourne-like shell scripts: sh ksh bash bash2
|
" Bourne-like shell scripts: sh ksh bash bash2
|
||||||
if s:line1 =~# '^:$'
|
if s:line1 =~# '^:$'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||||
@@ -306,7 +318,7 @@ else
|
|||||||
set ft=virata
|
set ft=virata
|
||||||
|
|
||||||
" Strace
|
" Strace
|
||||||
elseif s:line1 =~# '^\(\[pid \d\+\] \)\=[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main'
|
elseif s:line1 =~# '[0-9:.]* *execve(' || s:line1 =~# '^__libc_start_main'
|
||||||
set ft=strace
|
set ft=strace
|
||||||
|
|
||||||
" VSE JCL
|
" VSE JCL
|
||||||
@@ -324,7 +336,7 @@ else
|
|||||||
set ft=sindacmp
|
set ft=sindacmp
|
||||||
|
|
||||||
" DNS zone files
|
" DNS zone files
|
||||||
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
set ft=bindzone
|
set ft=bindzone
|
||||||
|
|
||||||
" BAAN
|
" BAAN
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" This file is normally sourced from menu.vim.
|
" This file is normally sourced from menu.vim.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Aug 13
|
" Last Change: 2017 Oct 28
|
||||||
|
|
||||||
" Define the SetSyn function, used for the Syntax menu entries.
|
" Define the SetSyn function, used for the Syntax menu entries.
|
||||||
" Set 'filetype' and also 'syntax' if it is manually selected.
|
" Set 'filetype' and also 'syntax' if it is manually selected.
|
||||||
@@ -351,12 +351,13 @@ an 50.70.510 &Syntax.M.Muttrc :cal SetSyn("muttrc")<CR>
|
|||||||
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
||||||
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
||||||
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
||||||
an 50.80.130 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
an 50.80.130 &Syntax.NO.Neomuttrc :cal SetSyn("neomuttrc")<CR>
|
||||||
an 50.80.140 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
an 50.80.140 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
||||||
an 50.80.150 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
an 50.80.150 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
||||||
an 50.80.160 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
an 50.80.160 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
||||||
an 50.80.170 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
an 50.80.170 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
||||||
an 50.80.180 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
an 50.80.180 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
||||||
|
an 50.80.190 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
||||||
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
||||||
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
||||||
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Apache-Style configuration files (proftpd.conf/apache.conf/..)
|
" Language: Apache-Style configuration files (proftpd.conf/apache.conf/..)
|
||||||
" Maintainer: Christian Hammers <ch@westend.com>
|
" Maintainer: Ben RUBSON <ben.rubson@gmail.com>
|
||||||
" URL: none
|
" Former Maintainer: Christian Hammers <ch@westend.com>
|
||||||
" ChangeLog:
|
" ChangeLog:
|
||||||
|
" 2017-12-17,ch
|
||||||
|
" correctly detect comments
|
||||||
" 2001-05-04,ch
|
" 2001-05-04,ch
|
||||||
" adopted Vim 6.0 syntax style
|
" adopted Vim 6.0 syntax style
|
||||||
" 1999-10-28,ch
|
" 1999-10-28,ch
|
||||||
@@ -27,8 +29,8 @@ endif
|
|||||||
|
|
||||||
syn case ignore
|
syn case ignore
|
||||||
|
|
||||||
syn match apComment /^\s*#.*$/
|
|
||||||
syn match apOption /^\s*[^ \t#<=]*/
|
syn match apOption /^\s*[^ \t#<=]*/
|
||||||
|
syn match apComment /^\s*#.*$/
|
||||||
"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly
|
"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly
|
||||||
|
|
||||||
" tags
|
" tags
|
||||||
|
|||||||
101
runtime/syntax/autodoc.vim
Normal file
101
runtime/syntax/autodoc.vim
Normal file
@@ -0,0 +1,101 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: Autodoc
|
||||||
|
" Maintainer: Stephen R. van den Berg <srb@cuci.nl>
|
||||||
|
" Last Change: 2018 Jan 23
|
||||||
|
" Version: 2.9
|
||||||
|
" Remark: Included by pike.vim, cmod.vim and optionally c.vim
|
||||||
|
" Remark: In order to make c.vim use it, set: c_autodoc
|
||||||
|
|
||||||
|
" Quit when a (custom) syntax file was already loaded
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
syn case match
|
||||||
|
|
||||||
|
" A bunch of useful autodoc keywords
|
||||||
|
syn keyword autodocStatement contained appears belongs global
|
||||||
|
syn keyword autodocStatement contained decl directive inherit
|
||||||
|
syn keyword autodocStatement contained deprecated obsolete bugs
|
||||||
|
syn keyword autodocStatement contained copyright example fixme note param returns
|
||||||
|
syn keyword autodocStatement contained seealso thanks throws constant
|
||||||
|
syn keyword autodocStatement contained member index elem
|
||||||
|
syn keyword autodocStatement contained value type item
|
||||||
|
|
||||||
|
syn keyword autodocRegion contained enum mapping code multiset array
|
||||||
|
syn keyword autodocRegion contained int string section mixed ol ul dl
|
||||||
|
syn keyword autodocRegion contained class module namespace
|
||||||
|
syn keyword autodocRegion contained endenum endmapping endcode endmultiset
|
||||||
|
syn keyword autodocRegion contained endarray endint endstring endsection
|
||||||
|
syn keyword autodocRegion contained endmixed endol endul enddl
|
||||||
|
syn keyword autodocRegion contained endclass endmodule endnamespace
|
||||||
|
|
||||||
|
syn keyword autodocIgnore contained ignore endignore
|
||||||
|
|
||||||
|
syn keyword autodocStatAcc contained b i u tt url pre sub sup
|
||||||
|
syn keyword autodocStatAcc contained ref rfc xml dl expr image
|
||||||
|
|
||||||
|
syn keyword autodocTodo contained TODO FIXME XXX
|
||||||
|
|
||||||
|
syn match autodocLineStart display "\(//\|/\?\*\)\@2<=!"
|
||||||
|
syn match autodocWords "[^!@{}[\]]\+" display contains=@Spell
|
||||||
|
|
||||||
|
syn match autodocLink "@\[[^[\]]\+]"hs=s+2,he=e-1 display contains=autodocLead
|
||||||
|
syn match autodocAtStmt "@[a-z]\+\%(\s\|$\)\@="hs=s+1 display contains=autodocStatement,autodocIgnore,autodocLead,autodocRegion
|
||||||
|
|
||||||
|
" Due to limitations of the matching algorithm, we cannot highlight
|
||||||
|
" nested autodocNStmtAcc structures correctly
|
||||||
|
syn region autodocNStmtAcc start="@[a-z]\+{" end="@}" contains=autodocStatAcc,autodocLead keepend
|
||||||
|
|
||||||
|
syn match autodocUrl contained display ".\+"
|
||||||
|
syn region autodocAtUrlAcc start="{"ms=s+1 end="@}"he=e-1,me=e-2 contained display contains=autodocUrl,autodocLead keepend
|
||||||
|
syn region autodocNUrlAcc start="@url{" end="@}" contains=autodocStatAcc,autodocAtUrlAcc,autodocLead transparent
|
||||||
|
|
||||||
|
syn match autodocSpecial "@@" display
|
||||||
|
syn match autodocLead "@" display contained
|
||||||
|
|
||||||
|
"when wanted, highlight trailing white space
|
||||||
|
if exists("c_space_errors")
|
||||||
|
if !exists("c_no_trail_space_error")
|
||||||
|
syn match autodocSpaceError display excludenl "\s\+$"
|
||||||
|
endif
|
||||||
|
if !exists("c_no_tab_space_error")
|
||||||
|
syn match autodocSpaceError display " \+\t"me=e-1
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
if exists("c_minlines")
|
||||||
|
let b:c_minlines = c_minlines
|
||||||
|
else
|
||||||
|
if !exists("c_no_if0")
|
||||||
|
let b:c_minlines = 50 " #if 0 constructs can be long
|
||||||
|
else
|
||||||
|
let b:c_minlines = 15 " mostly for () constructs
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exec "syn sync ccomment autodocComment minlines=" . b:c_minlines
|
||||||
|
|
||||||
|
" Define the default highlighting.
|
||||||
|
" Only used when an item doesn't have highlighting yet
|
||||||
|
hi def link autodocStatement Statement
|
||||||
|
hi def link autodocStatAcc Statement
|
||||||
|
hi def link autodocRegion Structure
|
||||||
|
hi def link autodocAtStmt Error
|
||||||
|
hi def link autodocNStmtAcc Identifier
|
||||||
|
hi def link autodocLink Type
|
||||||
|
hi def link autodocTodo Todo
|
||||||
|
hi def link autodocSpaceError Error
|
||||||
|
hi def link autodocLineStart SpecialComment
|
||||||
|
hi def link autodocSpecial SpecialChar
|
||||||
|
hi def link autodocUrl Underlined
|
||||||
|
hi def link autodocLead Statement
|
||||||
|
hi def link autodocIgnore Delimiter
|
||||||
|
|
||||||
|
let b:current_syntax = "autodoc"
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
|
" vim: ts=8
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||||
" Filenames: *.bib
|
" Filenames: *.bib
|
||||||
" Last Change: 2016 Sep 12
|
" Last Change: 2017 Sep 29
|
||||||
|
|
||||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||||
|
|
||||||
@@ -81,16 +81,18 @@ syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1
|
|||||||
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
||||||
syn match bibVariable contained /[^{}," \t=]/
|
syn match bibVariable contained /[^{}," \t=]/
|
||||||
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
syn region bibMath contained start=/\$/ end=/\$/ skip=/\(\\\$\)/
|
syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/
|
||||||
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
||||||
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
||||||
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
||||||
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
||||||
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField
|
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3
|
||||||
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
||||||
" an error, so we explicitly distinguish versions with and without folding functionality:
|
" an error, so we explicitly distinguish versions with and without folding functionality:
|
||||||
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
||||||
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
|
" biblatex style comments inside a bibEntry
|
||||||
|
syn match bibComment3 "%.*"
|
||||||
|
|
||||||
" Synchronization
|
" Synchronization
|
||||||
" ===============
|
" ===============
|
||||||
@@ -111,6 +113,7 @@ hi def link bibVariable Constant
|
|||||||
hi def link bibUnescapedSpecial Error
|
hi def link bibUnescapedSpecial Error
|
||||||
hi def link bibComment Comment
|
hi def link bibComment Comment
|
||||||
hi def link bibComment2 Comment
|
hi def link bibComment2 Comment
|
||||||
|
hi def link bibComment3 Comment
|
||||||
|
|
||||||
let b:current_syntax = "bib"
|
let b:current_syntax = "bib"
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,14 @@ set cpo&vim
|
|||||||
|
|
||||||
let s:ft = matchstr(&ft, '^\([^.]\)\+')
|
let s:ft = matchstr(&ft, '^\([^.]\)\+')
|
||||||
|
|
||||||
|
" Optional embedded Autodoc parsing
|
||||||
|
" To enable it add: let g:c_autodoc = 1
|
||||||
|
" to your .vimrc
|
||||||
|
if exists("c_autodoc")
|
||||||
|
syn include @cAutodoc <sfile>:p:h/autodoc.vim
|
||||||
|
unlet b:current_syntax
|
||||||
|
endif
|
||||||
|
|
||||||
" A bunch of useful C keywords
|
" A bunch of useful C keywords
|
||||||
syn keyword cStatement goto break return continue asm
|
syn keyword cStatement goto break return continue asm
|
||||||
syn keyword cLabel case default
|
syn keyword cLabel case default
|
||||||
@@ -377,6 +385,13 @@ syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInP
|
|||||||
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||||
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
|
||||||
|
|
||||||
|
" Optional embedded Autodoc parsing
|
||||||
|
if exists("c_autodoc")
|
||||||
|
syn match cAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cAutodoc containedin=cComment,cCommentL
|
||||||
|
syn cluster cCommentGroup add=cAutodocReal
|
||||||
|
syn cluster cPreProcGroup add=cAutodocReal
|
||||||
|
endif
|
||||||
|
|
||||||
" Highlight User Labels
|
" Highlight User Labels
|
||||||
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
|
||||||
if s:ft ==# 'c' || exists("cpp_no_cpp11")
|
if s:ft ==# 'c' || exists("cpp_no_cpp11")
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user