mirror of
https://github.com/zoriya/vim.git
synced 2025-12-06 15:26:18 +00:00
Compare commits
426 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
98056533b9 | ||
|
|
469bdbde1e | ||
|
|
36698e34aa | ||
|
|
e24437b643 | ||
|
|
9810cfbe55 | ||
|
|
213ed008bb | ||
|
|
4954019c93 | ||
|
|
0efd1bdcf4 | ||
|
|
99ebf22c52 | ||
|
|
1e46705a83 | ||
|
|
e24c5b3332 | ||
|
|
04357fbb87 | ||
|
|
2ed639abdc | ||
|
|
661ed8b4b6 | ||
|
|
0ba89ec47c | ||
|
|
0ff822d2eb | ||
|
|
1b03a193b3 | ||
|
|
32b364fcc0 | ||
|
|
e2a3f36bf2 | ||
|
|
5f1920ada2 | ||
|
|
bfd3433330 | ||
|
|
d283e89138 | ||
|
|
6b649ac4fd | ||
|
|
1f9a028def | ||
|
|
08d2e795e7 | ||
|
|
3c47e8384d | ||
|
|
664f3cf3f2 | ||
|
|
f48ee3c284 | ||
|
|
88a3e2b2ac | ||
|
|
1f3e7d3bf0 | ||
|
|
bef93ac9db | ||
|
|
9a838fe543 | ||
|
|
e7dd0deb3c | ||
|
|
c08ee7476b | ||
|
|
e38eab22c1 | ||
|
|
0d6f5d9740 | ||
|
|
63d9e730f7 | ||
|
|
0f8737355d | ||
|
|
6e0ce171e1 | ||
|
|
c95e8d6490 | ||
|
|
309976ec1f | ||
|
|
707d226ac5 | ||
|
|
4ba37b5833 | ||
|
|
2ab2e8608f | ||
|
|
9834b96820 | ||
|
|
42e931b0f5 | ||
|
|
85db547598 | ||
|
|
079119babe | ||
|
|
4ceaa3a6e0 | ||
|
|
734a867ffe | ||
|
|
a050b9471c | ||
|
|
54c8d229f5 | ||
|
|
306139005c | ||
|
|
217e1b8359 | ||
|
|
5d18efecfd | ||
|
|
fa5612c7d8 | ||
|
|
912bc4a51a | ||
|
|
6f1f0ca3ed | ||
|
|
269e4bd9d2 | ||
|
|
5a4c3082d7 | ||
|
|
9625d3d92d | ||
|
|
05ad5ff0ab | ||
|
|
0c5c3faef2 | ||
|
|
a2c2ae473a | ||
|
|
c667da5185 | ||
|
|
71136db1bf | ||
|
|
9bf703d46a | ||
|
|
20ebbeac46 | ||
|
|
91359014b3 | ||
|
|
e219f73ed5 | ||
|
|
dee50a5180 | ||
|
|
7257073043 | ||
|
|
310c32e892 | ||
|
|
15a7bdcb77 | ||
|
|
0387cae15c | ||
|
|
9134f1ecd4 | ||
|
|
68e9e5f7fc | ||
|
|
f8c1f9200c | ||
|
|
c7d2a57b3a | ||
|
|
31ff2e1b43 | ||
|
|
5708079a6b | ||
|
|
424e98baab | ||
|
|
7a212c6253 | ||
|
|
d52986e7be | ||
|
|
ea599a65ee | ||
|
|
8fbd6723af | ||
|
|
e307073680 | ||
|
|
92e25ab2df | ||
|
|
0c0734d527 | ||
|
|
fc4ea2a72d | ||
|
|
cc4423ae13 | ||
|
|
8f76e6b12b | ||
|
|
84f903326d | ||
|
|
38571a04b4 | ||
|
|
c1faf3dc38 | ||
|
|
6a228c6463 | ||
|
|
07e4a19795 | ||
|
|
06b0b4bc27 | ||
|
|
67a2deb9cb | ||
|
|
a106e6cde6 | ||
|
|
70077dd1ca | ||
|
|
c672525b48 | ||
|
|
85c3502ef5 | ||
|
|
4ebe0e62d0 | ||
|
|
2118a30295 | ||
|
|
fd318115a5 | ||
|
|
828ffd5963 | ||
|
|
556ae8ea28 | ||
|
|
7bae0b1bc8 | ||
|
|
94d9f4fa65 | ||
|
|
44f0bd878a | ||
|
|
bd3bc0314e | ||
|
|
546125869f | ||
|
|
10455d43fe | ||
|
|
9ae862ebba | ||
|
|
202c3f7e3e | ||
|
|
403f3eb4c1 | ||
|
|
a075490082 | ||
|
|
ffc4fb8fee | ||
|
|
0a5aa7b28a | ||
|
|
f9ae154c51 | ||
|
|
07a63d8633 | ||
|
|
5f76334818 | ||
|
|
37ff4cf870 | ||
|
|
91b992c387 | ||
|
|
539aa6b25e | ||
|
|
7170b295b0 | ||
|
|
eda1da0c9a | ||
|
|
077b9dd354 | ||
|
|
09c6f265b2 | ||
|
|
0324f9ea0a | ||
|
|
d8a8c4ca08 | ||
|
|
abe12a1a4f | ||
|
|
ecafcc15ca | ||
|
|
a37cb55da6 | ||
|
|
f36a2c7e60 | ||
|
|
e53ec39270 | ||
|
|
db3a205147 | ||
|
|
08f23636ae | ||
|
|
f4a1d1c054 | ||
|
|
ab85ca4e6a | ||
|
|
1ebbb6ee45 | ||
|
|
574ee7bc12 | ||
|
|
afe45b68a6 | ||
|
|
36e7a823c6 | ||
|
|
0743ef9f8a | ||
|
|
d6a98a3a97 | ||
|
|
58e32ab503 | ||
|
|
4eb7dae255 | ||
|
|
cbee635eee | ||
|
|
cc184cfb09 | ||
|
|
d002e411c6 | ||
|
|
adf4aa200b | ||
|
|
5ef1c6a483 | ||
|
|
a9aa86ff95 | ||
|
|
c823477979 | ||
|
|
5c6b6187ac | ||
|
|
1666ac9c56 | ||
|
|
622b646037 | ||
|
|
d6beab0248 | ||
|
|
439b3aca37 | ||
|
|
91e22eb6e0 | ||
|
|
4c054e9fb2 | ||
|
|
ee85702c10 | ||
|
|
b0745b221d | ||
|
|
dbd4316806 | ||
|
|
3503d7c94a | ||
|
|
b73e439606 | ||
|
|
5bf46e9786 | ||
|
|
1e15e61188 | ||
|
|
d1c1c82389 | ||
|
|
4dd8fe0b4f | ||
|
|
34059e7b67 | ||
|
|
398a59b6a5 | ||
|
|
0208b6b771 | ||
|
|
dc9ef26845 | ||
|
|
3d2a47c782 | ||
|
|
3b991527e8 | ||
|
|
f8b036bcae | ||
|
|
638a4a7508 | ||
|
|
fcf8a8743b | ||
|
|
215ba3b636 | ||
|
|
1e673b9eb6 | ||
|
|
177c9f2f06 | ||
|
|
36ec6f6953 | ||
|
|
7d2320414f | ||
|
|
dc968e7a45 | ||
|
|
ae20f340ad | ||
|
|
e5a3272d32 | ||
|
|
2d6d76f9cd | ||
|
|
0630bb6580 | ||
|
|
ad4de52510 | ||
|
|
2ade714728 | ||
|
|
197c6b7da3 | ||
|
|
30efcf3d26 | ||
|
|
d047840ce4 | ||
|
|
1e814bc017 | ||
|
|
e890b9f5dd | ||
|
|
1f068233c1 | ||
|
|
2f7b7b1e12 | ||
|
|
82cf7f6df7 | ||
|
|
32aa10203b | ||
|
|
70def98a95 | ||
|
|
024dbd229f | ||
|
|
f2885d3fb7 | ||
|
|
1a577433ac | ||
|
|
1ff14ba24c | ||
|
|
757bd2ea49 | ||
|
|
7a641ca1e1 | ||
|
|
bb26596242 | ||
|
|
77ccc00340 | ||
|
|
3f39697b73 | ||
|
|
69bf634858 | ||
|
|
8b530c1ff9 | ||
|
|
077ff436a7 | ||
|
|
efae76ab1a | ||
|
|
38ba4dce4a | ||
|
|
1c329c04be | ||
|
|
5b418992cf | ||
|
|
52410575be | ||
|
|
dfded98f87 | ||
|
|
cb86893114 | ||
|
|
7ab5d77666 | ||
|
|
96f45c0b6f | ||
|
|
8fc4296436 | ||
|
|
6a0cc916bd | ||
|
|
28ed4dfe1f | ||
|
|
453c19257f | ||
|
|
c7488a7fc8 | ||
|
|
1fd30d7bae | ||
|
|
7aee6876eb | ||
|
|
11a58af66f | ||
|
|
aa1f04d092 | ||
|
|
3691f1ee72 | ||
|
|
336bf2b8b2 | ||
|
|
b754b5bf6d | ||
|
|
ec6f735012 | ||
|
|
faf626e5d1 | ||
|
|
edaad6e0a0 | ||
|
|
28686682e7 | ||
|
|
6656c2ec4c | ||
|
|
8f7ab4bd1e | ||
|
|
823edd1eed | ||
|
|
93bbf33ceb | ||
|
|
13a1f3fb0c | ||
|
|
1cac70953d | ||
|
|
a720be78d7 | ||
|
|
396b7c78c0 | ||
|
|
34ba06b6e6 | ||
|
|
d53ebfc624 | ||
|
|
4d14bac8e7 | ||
|
|
4b57018ee4 | ||
|
|
a13961536e | ||
|
|
dca7abe79c | ||
|
|
88d3d09e07 | ||
|
|
83e9a1ce75 | ||
|
|
82260afb0e | ||
|
|
2b78ab5d0c | ||
|
|
b40c2576d4 | ||
|
|
7eed964b41 | ||
|
|
bbfd1562ae | ||
|
|
cfb381421f | ||
|
|
ba089307bb | ||
|
|
5b39d7adb0 | ||
|
|
a74fda6f4d | ||
|
|
00e192becd | ||
|
|
b98678a974 | ||
|
|
15ee567809 | ||
|
|
afbdb905c3 | ||
|
|
8459006af5 | ||
|
|
c3bf7b56f2 | ||
|
|
89577b3b3e | ||
|
|
92ea26b925 | ||
|
|
7751d1d1a3 | ||
|
|
a1cb1d1dce | ||
|
|
0d2c4bf171 | ||
|
|
3cea8a9a51 | ||
|
|
b1ba9abcb3 | ||
|
|
2559a47823 | ||
|
|
4a4981b7cd | ||
|
|
2e693a88b2 | ||
|
|
4f2f61a014 | ||
|
|
7b3d939667 | ||
|
|
b2fe1d676f | ||
|
|
4e03933726 | ||
|
|
4bd88d568a | ||
|
|
a6cc5beb17 | ||
|
|
fafb4b18cd | ||
|
|
17efc7fa05 | ||
|
|
8f7b29f033 | ||
|
|
9115c611db | ||
|
|
a3817730c0 | ||
|
|
1142a31b8c | ||
|
|
3439028c89 | ||
|
|
27fc8cab22 | ||
|
|
3c8cd4a1dc | ||
|
|
03b00476ee | ||
|
|
e3a22cb1ba | ||
|
|
6aa7523b96 | ||
|
|
53efb18530 | ||
|
|
1e7b52ad8a | ||
|
|
459fd785e4 | ||
|
|
171a921b51 | ||
|
|
4facea310c | ||
|
|
d1e2f3984a | ||
|
|
e8070987c6 | ||
|
|
ceba3dd518 | ||
|
|
18a79a6841 | ||
|
|
4cdbed33e4 | ||
|
|
1a4cbb19de | ||
|
|
ec66c41d84 | ||
|
|
00eab7f128 | ||
|
|
6a0299d8f4 | ||
|
|
07282f01da | ||
|
|
a129974bc7 | ||
|
|
c25e702dee | ||
|
|
073e779640 | ||
|
|
1ac41a5c13 | ||
|
|
9326805442 | ||
|
|
14c01f8348 | ||
|
|
6bd1d77067 | ||
|
|
b189295b72 | ||
|
|
345f28df54 | ||
|
|
c3e555b22f | ||
|
|
fbbd102be0 | ||
|
|
a27e1dcddc | ||
|
|
1614a14901 | ||
|
|
524f3b19ae | ||
|
|
eb66328bd7 | ||
|
|
49474ca122 | ||
|
|
1671de3098 | ||
|
|
2efc44b3f0 | ||
|
|
fd00c042af | ||
|
|
9ca250855b | ||
|
|
4c063dde73 | ||
|
|
2a8d3b8997 | ||
|
|
e8a7dfedfc | ||
|
|
1824f45883 | ||
|
|
23324a0b35 | ||
|
|
8617348e21 | ||
|
|
b4367b7fb6 | ||
|
|
2886dcceba | ||
|
|
792cf5e1be | ||
|
|
18223a592e | ||
|
|
d17a57a433 | ||
|
|
ac02a638b4 | ||
|
|
ee1a2b5a2a | ||
|
|
b7a97ef340 | ||
|
|
37ac4a531c | ||
|
|
66f0e6c6e2 | ||
|
|
8c96af9c05 | ||
|
|
a893194d91 | ||
|
|
473952e852 | ||
|
|
9be0e0b9d3 | ||
|
|
1a61339806 | ||
|
|
0f1c6708fd | ||
|
|
2e47cab715 | ||
|
|
7b666c7883 | ||
|
|
383f387d9d | ||
|
|
5be4ceecea | ||
|
|
a7f6c3cf07 | ||
|
|
38f1eeac3d | ||
|
|
2313b61257 | ||
|
|
5e8e967f25 | ||
|
|
ce0fac2897 | ||
|
|
30e8e73506 | ||
|
|
46a426c9ac | ||
|
|
d2842ea60b | ||
|
|
d2c1fb476d | ||
|
|
f21118e4a9 | ||
|
|
4aea03eb87 | ||
|
|
e0d749a496 | ||
|
|
101e99207f | ||
|
|
0d0c3ca007 | ||
|
|
010ee9657a | ||
|
|
03ac52fc02 | ||
|
|
053f712ef2 | ||
|
|
b8ff5c271e | ||
|
|
0f6629a08a | ||
|
|
513537bfff | ||
|
|
cadbe1b1fb | ||
|
|
c258549032 | ||
|
|
910c378d93 | ||
|
|
bd67aac279 | ||
|
|
1e82a784ac | ||
|
|
b20b9e14dd | ||
|
|
4d5c12626c | ||
|
|
bffba7f704 | ||
|
|
589edb3404 | ||
|
|
56ebbabea1 | ||
|
|
4bd782339e | ||
|
|
7528d1f6b5 | ||
|
|
cd67059c0c | ||
|
|
181d4f58cc | ||
|
|
cebfcffa40 | ||
|
|
d103ee7843 | ||
|
|
7a9bd7c1e0 | ||
|
|
705918f9f7 | ||
|
|
7e0f462db5 | ||
|
|
397c6a1438 | ||
|
|
37d1807a80 | ||
|
|
0e57dd859e | ||
|
|
69198cb8c0 | ||
|
|
dac1347b4d | ||
|
|
8aeec40207 | ||
|
|
ea8dcf8346 | ||
|
|
9c658c9eac | ||
|
|
248fdb3332 | ||
|
|
e00fdf35d0 | ||
|
|
8ae54375ca | ||
|
|
af91438338 | ||
|
|
a046b37c22 | ||
|
|
1ac90b4fa6 | ||
|
|
60a8de28d1 | ||
|
|
50bf7ce0c9 | ||
|
|
0571f3d6f9 | ||
|
|
076d98839c | ||
|
|
5babc6e858 | ||
|
|
997d42427e | ||
|
|
017ba07fa2 | ||
|
|
d9b0d83b13 | ||
|
|
57da698168 | ||
|
|
dbec74907e | ||
|
|
1946de140a | ||
|
|
9283f92008 | ||
|
|
dcb2b9cb08 |
17
.cirrus.yml
Normal file
17
.cirrus.yml
Normal file
@@ -0,0 +1,17 @@
|
||||
env:
|
||||
CIRRUS_CLONE_DEPTH: 3
|
||||
FEATURES: huge
|
||||
|
||||
freebsd_12_task:
|
||||
freebsd_instance:
|
||||
image: freebsd-12-1-release-amd64
|
||||
install_script:
|
||||
pkg install -y gettext
|
||||
build_script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=${FEATURES}
|
||||
- make -j${NPROC}
|
||||
- src/vim --version
|
||||
test_script:
|
||||
# Runtime Indent tests do not work, run only the normal test suite
|
||||
- cd src && make test
|
||||
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
||||
src/testdir/test42.in diff
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -50,6 +50,7 @@ nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
.DS_Store
|
||||
|
||||
# All platforms
|
||||
*.rej
|
||||
@@ -77,6 +78,7 @@ src/testdir/messages
|
||||
src/testdir/viminfo
|
||||
src/testdir/opt_test.vim
|
||||
runtime/indent/testdir/*.out
|
||||
runtime/indent/testdir/*.fail
|
||||
src/memfile_test
|
||||
src/json_test
|
||||
src/message_test
|
||||
|
||||
@@ -142,7 +142,10 @@ script:
|
||||
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
|
||||
cat if_ver.txt
|
||||
fi
|
||||
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||
- >
|
||||
do_test make ${SHADOWOPT} ${TEST} &&
|
||||
make -C runtime/doc vimtags VIMEXE=../../"${SRCDIR}"/vim &&
|
||||
FOLD_MARKER=travis_fold
|
||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||
|
||||
|
||||
|
||||
@@ -65,6 +65,9 @@ If the maintainer does not respond, contact the vim-dev maillist.
|
||||
|
||||
# Translations
|
||||
|
||||
Translations of this CONTRIBUTING file:
|
||||
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/CONTRIBUTING_ko.md)
|
||||
|
||||
Translating messages and runtime files is very much appreciated! These things
|
||||
can be translated:
|
||||
* Messages in Vim, see [src/po/README.txt][1]
|
||||
|
||||
36
Filelist
36
Filelist
@@ -4,9 +4,11 @@
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.gitignore \
|
||||
.gitattributes \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
.travis.yml \
|
||||
.cirrus.yml \
|
||||
appveyor.yml \
|
||||
ci/appveyor.bat \
|
||||
src/Make_all.mak \
|
||||
@@ -21,9 +23,11 @@ SRC_ALL = \
|
||||
src/blob.c \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/bufwrite.c \
|
||||
src/change.c \
|
||||
src/channel.c \
|
||||
src/charset.c \
|
||||
src/cindent.c \
|
||||
src/cmdexpand.c \
|
||||
src/cmdhist.c \
|
||||
src/crypt.c \
|
||||
@@ -32,6 +36,8 @@ SRC_ALL = \
|
||||
src/dict.c \
|
||||
src/diff.c \
|
||||
src/digraph.c \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
src/edit.c \
|
||||
src/eval.c \
|
||||
src/evalbuffer.c \
|
||||
@@ -78,6 +84,7 @@ SRC_ALL = \
|
||||
src/message_test.c \
|
||||
src/misc1.c \
|
||||
src/misc2.c \
|
||||
src/mouse.c \
|
||||
src/move.c \
|
||||
src/mysign \
|
||||
src/nbdebug.c \
|
||||
@@ -88,7 +95,8 @@ SRC_ALL = \
|
||||
src/option.c \
|
||||
src/option.h \
|
||||
src/optiondefs.h \
|
||||
src/popupmnu.c \
|
||||
src/optionstr.c \
|
||||
src/popupmenu.c \
|
||||
src/popupwin.c \
|
||||
src/profiler.c \
|
||||
src/quickfix.c \
|
||||
@@ -96,6 +104,7 @@ SRC_ALL = \
|
||||
src/regexp_bt.c \
|
||||
src/regexp_nfa.c \
|
||||
src/regexp.h \
|
||||
src/register.c \
|
||||
src/scriptfile.c \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
@@ -106,6 +115,7 @@ SRC_ALL = \
|
||||
src/spell.c \
|
||||
src/spell.h \
|
||||
src/spellfile.c \
|
||||
src/spellsuggest.c \
|
||||
src/structs.h \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
@@ -180,9 +190,11 @@ SRC_ALL = \
|
||||
src/proto/blob.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/bufwrite.pro \
|
||||
src/proto/change.pro \
|
||||
src/proto/channel.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/cindent.pro \
|
||||
src/proto/cmdexpand.pro \
|
||||
src/proto/cmdhist.pro \
|
||||
src/proto/crypt.pro \
|
||||
@@ -191,6 +203,8 @@ SRC_ALL = \
|
||||
src/proto/dict.pro \
|
||||
src/proto/diff.pro \
|
||||
src/proto/digraph.pro \
|
||||
src/proto/drawline.pro \
|
||||
src/proto/drawscreen.pro \
|
||||
src/proto/edit.pro \
|
||||
src/proto/eval.pro \
|
||||
src/proto/evalbuffer.pro \
|
||||
@@ -226,16 +240,19 @@ SRC_ALL = \
|
||||
src/proto/message.pro \
|
||||
src/proto/misc1.pro \
|
||||
src/proto/misc2.pro \
|
||||
src/proto/mouse.pro \
|
||||
src/proto/move.pro \
|
||||
src/proto/netbeans.pro \
|
||||
src/proto/normal.pro \
|
||||
src/proto/ops.pro \
|
||||
src/proto/option.pro \
|
||||
src/proto/popupmnu.pro \
|
||||
src/proto/optionstr.pro \
|
||||
src/proto/popupmenu.pro \
|
||||
src/proto/popupwin.pro \
|
||||
src/proto/profiler.pro \
|
||||
src/proto/quickfix.pro \
|
||||
src/proto/regexp.pro \
|
||||
src/proto/register.pro \
|
||||
src/proto/scriptfile.pro \
|
||||
src/proto/screen.pro \
|
||||
src/proto/search.pro \
|
||||
@@ -245,6 +262,7 @@ SRC_ALL = \
|
||||
src/proto/sound.pro \
|
||||
src/proto/spell.pro \
|
||||
src/proto/spellfile.pro \
|
||||
src/proto/spellsuggest.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
@@ -267,9 +285,6 @@ SRC_ALL = \
|
||||
src/libvterm/README \
|
||||
src/libvterm/tbl2inc_c.pl \
|
||||
src/libvterm/vterm.pc.in \
|
||||
src/libvterm/bin/unterm.c \
|
||||
src/libvterm/bin/vterm-ctrl.c \
|
||||
src/libvterm/bin/vterm-dump.c \
|
||||
src/libvterm/doc/URLs \
|
||||
src/libvterm/doc/seqs.txt \
|
||||
src/libvterm/include/vterm.h \
|
||||
@@ -284,7 +299,7 @@ SRC_ALL = \
|
||||
src/libvterm/src/parser.c \
|
||||
src/libvterm/src/pen.c \
|
||||
src/libvterm/src/rect.h \
|
||||
src/libvterm/src/termscreen.c \
|
||||
src/libvterm/src/screen.c \
|
||||
src/libvterm/src/state.c \
|
||||
src/libvterm/src/unicode.c \
|
||||
src/libvterm/src/utf8.h \
|
||||
@@ -384,7 +399,6 @@ SRC_UNIX = \
|
||||
src/gui_xmebwp.h \
|
||||
src/gui_x11.c \
|
||||
src/gui_x11_pm.h \
|
||||
src/hangulin.c \
|
||||
src/if_xcmdsrv.c \
|
||||
src/link.sh \
|
||||
src/installman.sh \
|
||||
@@ -404,7 +418,6 @@ SRC_UNIX = \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
src/proto/hangulin.pro \
|
||||
src/proto/if_xcmdsrv.pro \
|
||||
src/proto/os_unix.pro \
|
||||
src/proto/pty.pro \
|
||||
@@ -505,7 +518,7 @@ SRC_DOS = \
|
||||
src/testdir/Make_dos.mak \
|
||||
src/testdir/Make_ming.mak \
|
||||
src/testdir/dos.vim \
|
||||
src/uninstal.c \
|
||||
src/uninstall.c \
|
||||
src/vim.def \
|
||||
src/vim.rc \
|
||||
src/vimio.h \
|
||||
@@ -520,7 +533,7 @@ SRC_DOS = \
|
||||
nsis/gvim_version.nsh \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
uninstal.txt \
|
||||
uninstall.txt \
|
||||
src/VisVim/Commands.cpp \
|
||||
src/VisVim/Commands.h \
|
||||
src/VisVim/DSAddIn.cpp \
|
||||
@@ -646,6 +659,7 @@ RT_ALL = \
|
||||
runtime/doc/*.txt \
|
||||
runtime/doc/Makefile \
|
||||
runtime/doc/doctags.c \
|
||||
runtime/doc/doctags.vim \
|
||||
runtime/doc/test_urls.vim \
|
||||
runtime/doc/vim.1 \
|
||||
runtime/doc/evim.1 \
|
||||
@@ -840,7 +854,7 @@ BIN_AMI = \
|
||||
# files for DOS binary (also in extra archive)
|
||||
BIN_DOS = \
|
||||
README_bindos.txt \
|
||||
uninstal.txt \
|
||||
uninstall.txt \
|
||||
|
||||
# files for Win32 OLE binary (also in extra archive)
|
||||
BIN_OLE = \
|
||||
|
||||
31
Makefile
31
Makefile
@@ -85,19 +85,19 @@ indenttest:
|
||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||
|
||||
MAJOR = 8
|
||||
MINOR = 1
|
||||
MINOR = 2
|
||||
|
||||
# CHECKLIST for creating a new version:
|
||||
#
|
||||
# - Update Vim version number. For a test version in: src/version.h,
|
||||
# READMEdir/Contents, MAJOR/MINOR above, VIMMAJOR and VIMMINOR in
|
||||
# src/Makefile, README.txt, README.md, READMEdir/README*.txt,
|
||||
# src/Makefile, README.txt, README.md, src/README.md, READMEdir/README*.txt,
|
||||
# runtime/doc/*.txt and make nsis/gvim_version.nsh.
|
||||
# For a minor/major version: src/GvimExt/GvimExt.reg, src/vim.def,
|
||||
# src/gvim.exe.mnf.
|
||||
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if
|
||||
# you can make it all work), Cscope and "huge" features. Exclude workshop
|
||||
# and SNiFF.
|
||||
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, Lua, Cscope and
|
||||
# "huge" features. Add MZscheme if you can make it work.
|
||||
# Use "make reconfig" after selecting the configure arguments.
|
||||
# - With these features: "make proto" (requires cproto and Motif installed;
|
||||
# ignore warnings for missing include files, fix problems for syntax errors).
|
||||
# - With these features: "make depend" (works best with gcc).
|
||||
@@ -106,9 +106,6 @@ MINOR = 1
|
||||
# - If you have valgrind, enable it in src/testdir/Makefile and run "make
|
||||
# test". Enable EXITFREE, disable GUI, scheme and tcl to avoid false alarms.
|
||||
# Check the valgrind output.
|
||||
# - If you have the efence library, enable it in "src/Makefile" and run "make
|
||||
# test". Disable Python and Ruby to avoid trouble with threads (efence is
|
||||
# not threadsafe).
|
||||
# - Adjust the date and other info in src/version.h.
|
||||
# - Correct included_patches[] in src/version.c.
|
||||
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
|
||||
@@ -148,7 +145,7 @@ MINOR = 1
|
||||
# - > make dossrc
|
||||
# > make dosrt
|
||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||
# This creates the directory vim/vim81 and puts all files in there.
|
||||
# This creates the directory vim/vim82 and puts all files in there.
|
||||
# Win32 console version build:
|
||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||
# - Set environment for Visual C++ 2015:
|
||||
@@ -165,7 +162,7 @@ MINOR = 1
|
||||
# xxd/xxd.exe to xxdw32.exe
|
||||
# vim.pdb to vimw32.pdb
|
||||
# install.exe to installw32.exe
|
||||
# uninstal.exe to uninstalw32.exe
|
||||
# uninstall.exe to uninstallw32.exe
|
||||
# Win32 GUI version build:
|
||||
# - > cd src
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
@@ -175,7 +172,7 @@ MINOR = 1
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||
# - Delete vimrun.exe, install.exe and uninstall.exe.
|
||||
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
||||
# - Install the interfaces you want, see src/INSTALLpc.txt
|
||||
# Adjust bigvim.bat to match the version of each interface you want.
|
||||
@@ -188,7 +185,7 @@ MINOR = 1
|
||||
# - check the output.
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
# - Delete install.exe and uninstal.exe.
|
||||
# - Delete install.exe and uninstall.exe.
|
||||
# Create the archives:
|
||||
# - Copy all the "*.exe" files to where this Makefile is.
|
||||
# - Copy all the "*.pdb" files to where this Makefile is.
|
||||
@@ -197,7 +194,7 @@ MINOR = 1
|
||||
# NSIS self installing exe:
|
||||
# - To get NSIS see http://nsis.sourceforge.net
|
||||
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
|
||||
# uninstalw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
|
||||
# uninstallw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
|
||||
# above.
|
||||
# - copy these files (get them from a binary archive or build them):
|
||||
# gvimext.dll in src/GvimExt
|
||||
@@ -206,7 +203,7 @@ MINOR = 1
|
||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||
# gvimext64.dll can be obtained from:
|
||||
# https://github.com/vim/vim-win32-installer/releases
|
||||
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
||||
# It is part of gvim_8.2.*_x64.zip as vim/vim82/GvimExt/gvimext64.dll.
|
||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||
# - go to ../nsis and do:
|
||||
@@ -518,7 +515,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
|
||||
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
|
||||
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
|
||||
@@ -539,7 +536,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
|
||||
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
|
||||
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
|
||||
|
||||
@@ -557,7 +554,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
|
||||
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
|
||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
||||
cp README_ole.txt dist/vim/$(VIMRTDIR)
|
||||
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll
|
||||
|
||||
12
README.md
12
README.md
@@ -1,12 +1,14 @@
|
||||

|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://cirrus-ci.com/github/vim/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
[](https://lgtm.com/projects/g/vim/vim/context:cpp)
|
||||
[](https://buildd.debian.org/vim)
|
||||
[](https://repology.org/metapackage/vim)
|
||||
For translations of this README see the end.
|
||||
|
||||
|
||||
## What is Vim? ##
|
||||
@@ -29,7 +31,6 @@ almost all flavours of UNIX. Porting to other systems should not be very
|
||||
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
|
||||
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
|
||||
## Distribution ##
|
||||
|
||||
You can often use your favorite package manager to install Vim. On Mac and
|
||||
@@ -140,4 +141,9 @@ Send any other comments, patches, flowers and suggestions to:
|
||||
Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
|
||||
This is `README.md` for version 8.1 of Vim: Vi IMproved.
|
||||
This is `README.md` for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
## Translations of this README ##
|
||||
|
||||
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/README_ko.md)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
WHAT IS VIM?
|
||||
|
||||
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
|
||||
messages, shows current file name in window title, on-line
|
||||
help, rectangular cut/paste, etc., etc., etc...
|
||||
|
||||
Version 8.1. Also runs under UNIX, MS-Windows, Mac, etc.
|
||||
vim81rt.tgz contains the documentation and syntax files.
|
||||
vim81bin.tgz contains the binaries.
|
||||
vim81src.tgz contains the sources.
|
||||
Version 8.2. Also runs under UNIX, MS-Windows, Mac, etc.
|
||||
vim82rt.tgz contains the documentation and syntax files.
|
||||
vim82bin.tgz contains the binaries.
|
||||
vim82src.tgz contains the sources.
|
||||
Author: Bram Moolenaar et al.
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_ami.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_ami.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Amiga systems.
|
||||
See README.txt for general information about Vim.
|
||||
@@ -16,8 +16,8 @@ easily upgrade to a new version. For example:
|
||||
You would then unpack the archives like this:
|
||||
|
||||
cd dh0:editors
|
||||
tar xf t:vim81bin.tar
|
||||
tar xf t:vim81rt.tar
|
||||
tar xf t:vim82bin.tar
|
||||
tar xf t:vim82rt.tar
|
||||
|
||||
Set the $VIM environment variable to point to the top directory of your Vim
|
||||
files. For the above example:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_amibin.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_amibin.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim81rt.tgz).
|
||||
These files are in the runtime archive (vim82rt.tgz).
|
||||
|
||||
|
||||
The Amiga "bin" archive contains the Vim executable for the Amiga. It was
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_amisrc.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_amisrc.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
These files are in the runtime archive (vim81rt.tgz).
|
||||
These files are in the runtime archive (vim82rt.tgz).
|
||||
|
||||
|
||||
The Amiga source archive contains the files needed to compile Vim on the
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
README_bindos.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_bindos.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim81rt.zip).
|
||||
These files are in the runtime archive (vim82rt.zip).
|
||||
|
||||
|
||||
There are several binary distributions of Vim for the PC. You would normally
|
||||
pick only one of them, but it's also possible to install several.
|
||||
These ones are available (the version number may differ):
|
||||
vim81w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim81.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim81ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
vim82w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim82.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim82ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
|
||||
You MUST also get the runtime archive (vim81rt.zip).
|
||||
The sources are also available (vim81src.zip).
|
||||
You MUST also get the runtime archive (vim82rt.zip).
|
||||
The sources are also available (vim82src.zip).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_dos.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_dos.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -41,19 +41,19 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
located. Check the $VIM setting to see where it points to:
|
||||
set VIM
|
||||
For example, if you have
|
||||
C:\vim\vim81
|
||||
C:\vim\vim82
|
||||
do
|
||||
cd C:\
|
||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||
on top of each other.
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim81",
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim82",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d gvim81.zip
|
||||
unzip vim81w32.zip
|
||||
pkunzip -d gvim82.zip
|
||||
unzip vim82w32.zip
|
||||
|
||||
You need to unpack the runtime archive and at least one of the binary
|
||||
archives. When using more than one binary version, be careful not to
|
||||
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
archive and follow the instructions in the documentation.
|
||||
|
||||
3. Change to the new directory:
|
||||
cd vim\vim81
|
||||
cd vim\vim82
|
||||
Run the "install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
console or in a shell. You can select one of the directories in your
|
||||
$PATH. If you skip this, you can add Vim to the search path manually:
|
||||
The simplest is to add a line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim81
|
||||
set path=%path%;D:\editors\vim\vim81
|
||||
set path=%path%;C:\vim\vim82
|
||||
set path=%path%;D:\editors\vim\vim82
|
||||
- Create entries for Vim on the desktop and in the Start menu.
|
||||
|
||||
That's it!
|
||||
@@ -93,8 +93,8 @@ Remarks:
|
||||
won't show a menubar. Then you need to set the $VIM environment variable to
|
||||
point to the top directory of your Vim files. Example:
|
||||
set VIM=C:\editors\vim
|
||||
Vim version 8.1 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim81. See ":help $VIM" for more information.
|
||||
Vim version 8.2 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim82. See ":help $VIM" for more information.
|
||||
|
||||
- To avoid confusion between distributed files of different versions and your
|
||||
own modified vim scripts, it is recommended to use this directory layout:
|
||||
@@ -105,14 +105,14 @@ Remarks:
|
||||
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim81\vim.exe The Vim version 8.1 executable.
|
||||
C:\vim\vim81\doc\*.txt The version 8.1 documentation files.
|
||||
C:\vim\vim81\bugreport.vim A Vim version 8.1 script.
|
||||
C:\vim\vim81\... Other version 8.1 distributed files.
|
||||
C:\vim\vim82\vim.exe The Vim version 8.2 executable.
|
||||
C:\vim\vim82\doc\*.txt The version 8.2 documentation files.
|
||||
C:\vim\vim82\bugreport.vim A Vim version 8.2 script.
|
||||
C:\vim\vim82\... Other version 8.2 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim81". Don't add
|
||||
"vim81" to $VIM, that won't work.
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim82". Don't add
|
||||
"vim82" to $VIM, that won't work.
|
||||
|
||||
- You can put your Vim executable anywhere else. If the executable is not
|
||||
with the other Vim files, you should set $VIM. The simplest is to add a line
|
||||
@@ -136,8 +136,8 @@ Remarks:
|
||||
Select Properties.
|
||||
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
||||
Vim executable. Examples:
|
||||
C:\command.com /c C:\vim\vim81\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim81\vim.exe
|
||||
C:\command.com /c C:\vim\vim82\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim82\vim.exe
|
||||
6. Select the font, window size, etc. that you like. If this isn't
|
||||
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
||||
mode".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_extra.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_extra.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
These extra files of Vim are for special purposes. This README explains what
|
||||
the files are for. For general information about Vim, see the "README.txt"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_mac.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_mac.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Macintosh systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_ole.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_ole.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains gvim.exe with OLE interface and VisVim.
|
||||
This version of gvim.exe can also load a number of interface dynamically (you
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_os2.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_os2.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file used to explain the installation of Vim on OS/2 systems.
|
||||
However, support for OS/2 has been removed in patch 7.4.1008.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_os390.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_os390.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -11,8 +11,8 @@ Getting the source to z/OS:
|
||||
|
||||
First get the source code in one big tar file and ftp it a binary to z/OS. If
|
||||
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
|
||||
uncompress it on your PC, as this tools are (most likely) not available on the
|
||||
mainframe.
|
||||
uncompress it on your PC, as these tools are (most likely) not available on
|
||||
the mainframe.
|
||||
|
||||
To reduce the size of the tar file you might compress it into a zip file. On
|
||||
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
|
||||
@@ -82,8 +82,8 @@ WARNING: This instruction was not tested with Vim 7.4 or later.
|
||||
|
||||
There are two ways for building VIM with X11 support. The first way is simple
|
||||
and results in a big executable (~13 Mb), the second needs a few additional
|
||||
steps and results in a much smaller executable (~4.5 Mb). This examples assume
|
||||
you want Motif.
|
||||
steps and results in a much smaller executable (~4.5 Mb). These examples
|
||||
assume you want Motif.
|
||||
|
||||
The easy way:
|
||||
$ export CC=cc
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_src.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_src.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
The source archive contains the files needed to compile Vim on Unix systems.
|
||||
It is packed for Unix systems (NL line separator).
|
||||
|
||||
For more information, see the README.txt file that comes with the runtime
|
||||
archive (vim-8.1-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive (vim-8.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive too!
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_srcdos.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_srcdos.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim81rt.zip).
|
||||
These files are in the runtime archive (vim82rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-DOS or
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_unix.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_unix.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Unix systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_vms.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_vms.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on VMS systems.
|
||||
See "README.txt" in the runtime archive for information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_w32s.txt for version 8.1 of Vim: Vi IMproved.
|
||||
README_w32s.txt for version 8.2 of Vim: Vi IMproved.
|
||||
|
||||
This archive contains the gvim.exe that was specifically compiled for use in
|
||||
the Win32s subsystem in MS-Windows 3.1 and 3.11.
|
||||
|
||||
@@ -14,7 +14,7 @@ To build the installable .exe:
|
||||
gvim.exe (the OLE version),
|
||||
vimrun.exe,
|
||||
install.exe,
|
||||
uninstal.exe,
|
||||
uninstall.exe,
|
||||
tee/tee.exe,
|
||||
xxd/xxd.exe,
|
||||
|
||||
|
||||
@@ -341,13 +341,13 @@ Section "$(str_section_exe)" id_section_exe
|
||||
File ${VIMSRC}\vim${BIT}.dll
|
||||
!endif
|
||||
File /oname=install.exe ${VIMSRC}\installw32.exe
|
||||
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
|
||||
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
|
||||
File ${VIMSRC}\vimrun.exe
|
||||
File /oname=tee.exe ${VIMSRC}\teew32.exe
|
||||
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
|
||||
File ..\vimtutor.bat
|
||||
File ..\README.txt
|
||||
File ..\uninstal.txt
|
||||
File ..\uninstall.txt
|
||||
File ${VIMRT}\*.vim
|
||||
File ${VIMRT}\rgb.txt
|
||||
|
||||
@@ -955,7 +955,7 @@ Section "un.$(str_unsection_register)" id_unsection_register
|
||||
|
||||
# delete the context menu entry and batch files
|
||||
DetailPrint "$(str_msg_unregistering)"
|
||||
nsExec::Exec "$0\uninstal.exe -nsis"
|
||||
nsExec::Exec "$0\uninstall.exe -nsis"
|
||||
Pop $3
|
||||
|
||||
# We may have been put to the background when uninstall did something.
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
!ifndef __GVIM_VER__NSH__
|
||||
!define __GVIM_VER__NSH__
|
||||
!define VER_MAJOR 8
|
||||
!define VER_MINOR 1
|
||||
!define VER_MINOR 2
|
||||
!endif
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#
|
||||
# Locale ID : 2052
|
||||
# fileencoding : UTF-8
|
||||
# Author : Guopeng Wen
|
||||
# Author : Guopeng Wen, David Liu
|
||||
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
|
||||
@@ -112,7 +112,7 @@ LangString str_desc_plugin ${LANG_SIMPCHINESE} \
|
||||
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"私有插件目录"
|
||||
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"Create plugin directories in HOME directory."
|
||||
"在主目录创建私有插件目录。"
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
|
||||
"公共插件目录"
|
||||
@@ -141,14 +141,14 @@ LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
|
||||
"删除 Vim 的所有执行文件及脚本。"
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
|
||||
"Remove plugin directories"
|
||||
"移除插件目录"
|
||||
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
|
||||
"Remove the plugin directories if they are empty."
|
||||
"移除插件目录(如果目录为空)。"
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"私有插件目录"
|
||||
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"Remove the plugin directories from HOME directory."
|
||||
"从主目录中移除私有插件目录。"
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
|
||||
"公共插件目录"
|
||||
@@ -241,37 +241,37 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
|
||||
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
|
||||
"设置 _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
|
||||
"选择键盘、鼠标和增强选项。"
|
||||
"选择键盘、鼠标和扩展设置。"
|
||||
|
||||
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
|
||||
"Vi / Vim 行为"
|
||||
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
|
||||
"&Compatibility and enhancements"
|
||||
"兼容性与扩展(&B)"
|
||||
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
|
||||
"Vi compatible"
|
||||
"原始 Vi"
|
||||
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
|
||||
"Vim original"
|
||||
"原始 Vim"
|
||||
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
|
||||
"Vim with some enhancements (load defaults.vim)"
|
||||
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
|
||||
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
||||
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
|
||||
"键盘映射"
|
||||
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
|
||||
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F 等)"
|
||||
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
|
||||
"Do not remap keys (Default)"
|
||||
"不映射按键 (缺省)"
|
||||
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
|
||||
"Remap a few keys"
|
||||
"映射一些按键"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
|
||||
"鼠标"
|
||||
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
|
||||
"&Behavior of right and left buttons"
|
||||
"左键和右键行为(&B)"
|
||||
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
|
||||
"Right: popup menu, Left: visual mode (Default)"
|
||||
"右键:弹出菜单, 左键:可视化模式 (缺省)"
|
||||
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
|
||||
"Right: popup menu, Left: select mode (Windows)"
|
||||
"右键:弹出菜单, 左键:选择模式 (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
|
||||
"Right: extends selection, Left: visual mode (Unix)"
|
||||
"右键: 扩展选择, 左键:可视化模式 (Unix)"
|
||||
|
||||
190
nsis/lang/turkish.nsi
Normal file
190
nsis/lang/turkish.nsi
Normal file
@@ -0,0 +1,190 @@
|
||||
# turkish.nsi: Turkish language strings for gvim NSIS installer.
|
||||
# fileencoding : UTF-8
|
||||
# Author : Emir SARI
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_TURKISH} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_TURKISH} \
|
||||
"$(^Name) Uninstall"
|
||||
|
||||
LangString str_show_readme ${LANG_TURKISH} \
|
||||
"Kurulum bittikten sonra README dosyasını aç"
|
||||
|
||||
# Install types:
|
||||
LangString str_type_typical ${LANG_TURKISH} \
|
||||
"Normal"
|
||||
|
||||
LangString str_type_minimal ${LANG_TURKISH} \
|
||||
"Küçük"
|
||||
|
||||
LangString str_type_full ${LANG_TURKISH} \
|
||||
"Tam"
|
||||
|
||||
##############################################################################
|
||||
# Section Titles & Description {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_section_old_ver ${LANG_TURKISH} \
|
||||
"Eski sürümü kaldır"
|
||||
LangString str_desc_old_ver ${LANG_TURKISH} \
|
||||
"Vim'in eski sürümünü sisteminizden kaldırır."
|
||||
|
||||
LangString str_section_exe ${LANG_TURKISH} \
|
||||
"Vim grafik arabirimi ve çalışma dosyaları"
|
||||
LangString str_desc_exe ${LANG_TURKISH} \
|
||||
"Vim program başlatıcı ve çalışma dosyaları. Bu bileşen zorunludur."
|
||||
|
||||
LangString str_section_console ${LANG_TURKISH} \
|
||||
"Vim konsol sürümü"
|
||||
LangString str_desc_console ${LANG_TURKISH} \
|
||||
"Vim'in konsol sürümü (vim.exe)."
|
||||
|
||||
LangString str_section_batch ${LANG_TURKISH} \
|
||||
".bat dosyaları oluştur"
|
||||
LangString str_desc_batch ${LANG_TURKISH} \
|
||||
"Vim için komut satırında kullanmak üzere .bat dosyaları oluşturur"
|
||||
|
||||
LangString str_group_icons ${LANG_TURKISH} \
|
||||
"Vim için kısayollar oluştur"
|
||||
LangString str_desc_icons ${LANG_TURKISH} \
|
||||
"Kolay erişim için Vim kısayolları oluşturur."
|
||||
|
||||
LangString str_section_desktop ${LANG_TURKISH} \
|
||||
"Masaüstünde"
|
||||
LangString str_desc_desktop ${LANG_TURKISH} \
|
||||
"gVim programı için Masaüstünde kısayol oluşturur."
|
||||
|
||||
LangString str_section_start_menu ${LANG_TURKISH} \
|
||||
"Başlat Menüsü - Programlar klasöründe"
|
||||
LangString str_desc_start_menu ${LANG_TURKISH} \
|
||||
"Vim kısayolunu Başlat Menüsüne ekler."
|
||||
|
||||
LangString str_section_edit_with ${LANG_TURKISH} \
|
||||
"Vim ile Aç"
|
||||
LangString str_desc_edit_with ${LANG_TURKISH} \
|
||||
"Vim'i $\"Birlikte aç$\" sağ tıklama menüsüne ekler."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_TURKISH} \
|
||||
"Bir konfigürasyon dosyası oluştur"
|
||||
LangString str_desc_vim_rc ${LANG_TURKISH} \
|
||||
"Eğer yoksa bir konfigürasyon dosyası (_vimrc) oluşturur."
|
||||
|
||||
LangString str_group_plugin ${LANG_TURKISH} \
|
||||
"Eklenti dizinleri oluştur"
|
||||
LangString str_desc_plugin ${LANG_TURKISH} \
|
||||
"Bu dizinlere Vim eklentilerini yerleştirerek Vim'e yeni \
|
||||
özellikler kazandırabilirsiniz."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_TURKISH} \
|
||||
"Gizli"
|
||||
LangString str_desc_plugin_home ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini EV dizininde oluşturur."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_TURKISH} \
|
||||
"Paylaşılan"
|
||||
LangString str_desc_plugin_vim ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini Vim yükleme dizininde oluşturur. Bu eklentilerden \
|
||||
bilgisayarın tüm kullanıcıları yararlanabilir."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_TURKISH} \
|
||||
"VisVim eklentisi"
|
||||
LangString str_desc_vis_vim ${LANG_TURKISH} \
|
||||
"Microsoft Visual Studio entegrasyonu için VisVim eklentisi"
|
||||
|
||||
LangString str_section_nls ${LANG_TURKISH} \
|
||||
"Ek dil desteği"
|
||||
LangString str_desc_nls ${LANG_TURKISH} \
|
||||
"Mevcut olan Vim yerelleştirmelerini yükler."
|
||||
|
||||
LangString str_unsection_register ${LANG_TURKISH} \
|
||||
"Vim kaydını kaldır"
|
||||
LangString str_desc_unregister ${LANG_TURKISH} \
|
||||
"Vim'in bu bilgisayardaki kaydını kaldırır."
|
||||
|
||||
LangString str_unsection_exe ${LANG_TURKISH} \
|
||||
"Vim programını ve çalıştırma dosyalarını kaldır"
|
||||
LangString str_desc_rm_exe ${LANG_TURKISH} \
|
||||
"Tüm Vim çalıştırılabilir dosyalarını ve diğer dosyaları kaldırır."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini kaldır"
|
||||
LangString str_desc_rm_plugin ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini eğer boş ise kaldırır."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_TURKISH} \
|
||||
"Gizli"
|
||||
LangString str_desc_rm_plugin_home ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini EV dizininden kaldırır."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_TURKISH} \
|
||||
"Paylaşılan"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_TURKISH} \
|
||||
"Eklenti dizinlerini Vim yükleme dizininden kaldırır."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldır"
|
||||
LangString str_desc_rm_rootdir ${LANG_TURKISH} \
|
||||
"Vim kök dizinini kaldırır. Bu dizin Vim konfigürasyon dosyalarını içerir!"
|
||||
|
||||
LangString str_msg_install_fail ${LANG_TURKISH} \
|
||||
"Yükleme başarısız oldu. Yeniden deneyin."
|
||||
|
||||
LangString str_msg_rm_exe_fail ${LANG_TURKISH} \
|
||||
"$0 içindeki bazı dosyalar silinemedi!$\r$\n\
|
||||
Bu dosyaları el ile kaldırmalısınız."
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_TURKISH} \
|
||||
"Eski sürüm kaldırılıyor..."
|
||||
|
||||
LangString str_msg_registering ${LANG_TURKISH} \
|
||||
"Kaydediliyor..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_TURKISH} \
|
||||
"Kayıt siliniyor..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
# Dialog Box {{{1
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_TURKISH} \
|
||||
"_vimrc ayarlarını seçin"
|
||||
LangString str_vimrc_page_subtitle ${LANG_TURKISH} \
|
||||
"Yüklenecek ek özellikler, klavye ve fare için ayarları seçin."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_TURKISH} \
|
||||
" Vi / Vim davranışı "
|
||||
LangString str_msg_compat_desc ${LANG_TURKISH} \
|
||||
"&Uyumluluk ve ek özellikler"
|
||||
LangString str_msg_compat_vi ${LANG_TURKISH} \
|
||||
"Vi uyumlu"
|
||||
LangString str_msg_compat_vim ${LANG_TURKISH} \
|
||||
"Vim orijinal"
|
||||
LangString str_msg_compat_defaults ${LANG_TURKISH} \
|
||||
"Vim ve ek olarak bazı ek özellikler (load defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_TURKISH} \
|
||||
"Vim ve ek olarak tüm ek özellikler (load vimrc_example.vim) (Default)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_TURKISH} \
|
||||
" Klavye İşlevleri "
|
||||
LangString str_msg_keymap_desc ${LANG_TURKISH} \
|
||||
"&Windows için bazı düğmeleri yeniden ayarla (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
LangString str_msg_keymap_default ${LANG_TURKISH} \
|
||||
"Düğme işlevlerini değiştirme (varsayılan)"
|
||||
LangString str_msg_keymap_windows ${LANG_TURKISH} \
|
||||
"Bazı düğmeleri yeniden ayarla"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_TURKISH} \
|
||||
" Fare İşlevleri "
|
||||
LangString str_msg_mouse_desc ${LANG_TURKISH} \
|
||||
"&Sağ ve sol düğme davranışı"
|
||||
LangString str_msg_mouse_default ${LANG_TURKISH} \
|
||||
"Sağ: açılır menü, Sol: Görsel Kip (varsayılan)"
|
||||
LangString str_msg_mouse_windows ${LANG_TURKISH} \
|
||||
"Sağ: açılır menü, Sol: seçim kipi (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_TURKISH} \
|
||||
"Sağ: seçimi genişlet, Sol: Görsel Kip (Unix)"
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: HTML and XHTML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2014 Jun 20
|
||||
" Last Change: 2019 Sep 27
|
||||
|
||||
" Distinguish between HTML versions.
|
||||
" To use with other HTML versions add another "elseif" condition to match
|
||||
@@ -245,7 +245,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
|
||||
" If context contains white space it is attribute.
|
||||
" It can be also value of attribute.
|
||||
" We have to get first word to offer proper completions
|
||||
if context == ''
|
||||
if context =~ '^\s*$'
|
||||
" empty or whitespace line
|
||||
let tag = ''
|
||||
else
|
||||
let tag = split(context)[0]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Jul 16, 2019
|
||||
" Version: 165
|
||||
" Date: Nov 29, 2019
|
||||
" Version: 167
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
@@ -13,6 +13,10 @@
|
||||
" expressed or implied. By using this plugin, you agree that
|
||||
" in no event will the copyright holder be liable for any damages
|
||||
" resulting from the use of this software.
|
||||
"
|
||||
" Note: the code here was started in 1999 under a much earlier version of vim. The directory browsing
|
||||
" code was written using vim v6, which did not have Lists (Lists were first offered with vim-v7).
|
||||
"
|
||||
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
"
|
||||
" But be doers of the Word, and not only hearers, deluding your own selves {{{1
|
||||
@@ -39,7 +43,7 @@ if exists("s:needspatches")
|
||||
endfor
|
||||
endif
|
||||
|
||||
let g:loaded_netrw = "v165"
|
||||
let g:loaded_netrw = "v167"
|
||||
if !exists("s:NOTE")
|
||||
let s:NOTE = 0
|
||||
let s:WARNING = 1
|
||||
@@ -232,12 +236,12 @@ if !exists("g:netrw_ftp_options")
|
||||
let g:netrw_ftp_options= "-i -n"
|
||||
endif
|
||||
if !exists("g:netrw_http_cmd")
|
||||
if executable("curl")
|
||||
let g:netrw_http_cmd = "curl"
|
||||
call s:NetrwInit("g:netrw_http_xcmd","-L -o")
|
||||
elseif executable("wget")
|
||||
if executable("wget")
|
||||
let g:netrw_http_cmd = "wget"
|
||||
call s:NetrwInit("g:netrw_http_xcmd","-q -O")
|
||||
elseif executable("curl")
|
||||
let g:netrw_http_cmd = "curl"
|
||||
call s:NetrwInit("g:netrw_http_xcmd","-L -o")
|
||||
elseif executable("elinks")
|
||||
let g:netrw_http_cmd = "elinks"
|
||||
call s:NetrwInit("g:netrw_http_xcmd","-source >")
|
||||
@@ -689,6 +693,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
" save registers
|
||||
if has("clipboard")
|
||||
" call Decho("(netrw#Explore) save @* and @+",'~'.expand("<slnum>"))
|
||||
sil! let keepregstar = @*
|
||||
sil! let keepregplus = @+
|
||||
endif
|
||||
@@ -916,8 +921,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
if !exists("w:netrw_explore_list") " sanity check
|
||||
NetrwKeepj call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40)
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore")
|
||||
@@ -941,8 +947,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
if !exists("w:netrw_explore_list") " sanity check
|
||||
NetrwKeepj call netrw#ErrorMsg(s:WARNING,"using Pexplore or <s-up> improperly; see help for netrw-starstar",41)
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore")
|
||||
@@ -996,8 +1003,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
keepalt call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45)
|
||||
if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore : no files matched pattern")
|
||||
@@ -1032,8 +1040,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/')
|
||||
keepalt NetrwKeepj call netrw#ErrorMsg(s:WARNING,"no files matched",42)
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore : no files matched")
|
||||
@@ -1080,8 +1089,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
keepalt NetrwKeepj call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44)
|
||||
endif
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore : missing +path_extra")
|
||||
@@ -1153,8 +1163,9 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" Consequently, set s:netrw_events to 2.
|
||||
let s:netrw_events= 2
|
||||
if has("clipboard")
|
||||
sil! let @* = keepregstar
|
||||
sil! let @+ = keepregplus
|
||||
" call Decho("(netrw#Explore) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
sil! let @/ = keepregslash
|
||||
" call Dret("netrw#Explore : @/<".@/.">")
|
||||
@@ -1528,7 +1539,8 @@ fun! netrw#Obtain(islocal,fname,...)
|
||||
" -i : turns off interactive prompting from ftp
|
||||
" -n unix : DON'T use <.netrc>, even though it exists
|
||||
" -n win32: quit being obnoxious about password
|
||||
NetrwKeepj norm! 1Gdd
|
||||
" Note: using "_dd to delete to the black hole register; avoids messing up @@
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
|
||||
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
|
||||
if getline(1) !~ "^$"
|
||||
@@ -1642,7 +1654,6 @@ fun! s:NetrwOptionsSave(vt)
|
||||
let {a:vt}netrw_cpokeep = &l:cpo
|
||||
let {a:vt}netrw_diffkeep = &l:diff
|
||||
let {a:vt}netrw_fenkeep = &l:fen
|
||||
" call Decho("saving current settings: got here#1",'~'.expand("<slnum>"))
|
||||
if !exists("g:netrw_ffkeep") || g:netrw_ffkeep
|
||||
let {a:vt}netrw_ffkeep = &l:ff
|
||||
endif
|
||||
@@ -1661,7 +1672,6 @@ fun! s:NetrwOptionsSave(vt)
|
||||
let {a:vt}netrw_rokeep = &l:ro
|
||||
let {a:vt}netrw_selkeep = &l:sel
|
||||
let {a:vt}netrw_spellkeep = &l:spell
|
||||
" call Decho("saving current settings: got here#2",'~'.expand("<slnum>"))
|
||||
if !g:netrw_use_noswf
|
||||
let {a:vt}netrw_swfkeep = &l:swf
|
||||
endif
|
||||
@@ -1675,6 +1685,7 @@ fun! s:NetrwOptionsSave(vt)
|
||||
" call Decho("saving a few selected netrw-related variables",'~'.expand("<slnum>"))
|
||||
if g:netrw_keepdir
|
||||
let {a:vt}netrw_dirkeep = getcwd()
|
||||
" call Decho("saving to ".a:vt."netrw_dirkeep<".{a:vt}netrw_dirkeep.">",'~'.expand("<slnum>"))
|
||||
endif
|
||||
if has("clipboard")
|
||||
sil! let {a:vt}netrw_starkeep = @*
|
||||
@@ -1745,6 +1756,7 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
" call Dfunc("s:NetrwOptionsRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> winnr($)=".winnr("$"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
if !exists("{a:vt}netrw_optionsave")
|
||||
" call Decho("case ".a:vt."netrw_optionsave : doesn't exist",'~'.expand("<slnum>"))
|
||||
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
|
||||
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
" call Dret("s:NetrwOptionsRestore : ".a:vt."netrw_optionsave doesn't exist")
|
||||
@@ -1829,6 +1841,7 @@ fun! s:NetrwOptionsRestore(vt)
|
||||
endif
|
||||
endif
|
||||
if has("clipboard")
|
||||
" call Decho("has clipboard",'~'.expand("<slnum>"))
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_starkeep","@*")
|
||||
call s:NetrwRestoreSetting(a:vt."netrw_pluskeep","@+")
|
||||
endif
|
||||
@@ -1890,7 +1903,7 @@ endfun
|
||||
" Used by s:NetrwOptionsRestore() to restore each netrw-senstive setting
|
||||
" keepvars are set up by s:NetrwOptionsSave
|
||||
fun! s:NetrwRestoreSetting(keepvar,setting)
|
||||
"" call Dfunc("s:NetrwRestoreSetting(a:keepvar<".a:keepvar."> a:setting<".a:setting.">)")
|
||||
""" call Dfunc("s:NetrwRestoreSetting(a:keepvar<".a:keepvar."> a:setting<".a:setting.">)")
|
||||
|
||||
" typically called from s:NetrwOptionsRestore
|
||||
" call s:NetrwRestoreSettings(keep-option-variable-name,'associated-option')
|
||||
@@ -1905,7 +1918,7 @@ fun! s:NetrwRestoreSetting(keepvar,setting)
|
||||
"" call Decho("fyi: a:setting<".a:setting."> setting<".setting.">")
|
||||
|
||||
if setting != keepvarval
|
||||
"" call Decho("restore setting<".a:setting."=".setting."> to keepvarval<".keepvarval.">")
|
||||
"" call Decho("restore setting<".a:setting."> (currently=".setting.") to keepvarval<".keepvarval.">")
|
||||
if type(a:setting) == 0
|
||||
exe "let ".a:setting."= ".keepvarval
|
||||
elseif type(a:setting) == 1
|
||||
@@ -2195,7 +2208,7 @@ fun! netrw#NetRead(mode,...)
|
||||
" -i : turns off interactive prompting from ftp
|
||||
" -n unix : DON'T use <.netrc>, even though it exists
|
||||
" -n win32: quit being obnoxious about password
|
||||
NetrwKeepj norm! 1Gdd
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
|
||||
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
|
||||
if getline(1) !~ "^$"
|
||||
@@ -2295,7 +2308,7 @@ fun! netrw#NetRead(mode,...)
|
||||
NetrwKeepj put ='quit'
|
||||
|
||||
" perform cadaver operation:
|
||||
NetrwKeepj norm! 1Gdd
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd)
|
||||
keepj bd!
|
||||
endif
|
||||
@@ -2611,7 +2624,7 @@ fun! netrw#NetWrite(...) range
|
||||
" -i : turns off interactive prompting from ftp
|
||||
" -n unix : DON'T use <.netrc>, even though it exists
|
||||
" -n win32: quit being obnoxious about password
|
||||
NetrwKeepj norm! 1Gdd
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
|
||||
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
|
||||
if getline(1) !~ "^$"
|
||||
@@ -2677,7 +2690,7 @@ fun! netrw#NetWrite(...) range
|
||||
NetrwKeepj put ='put '.tmpfile.' '.netrw_fname
|
||||
|
||||
" perform cadaver operation:
|
||||
NetrwKeepj norm! 1Gdd
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".g:netrw_dav_cmd)
|
||||
|
||||
" remove enew buffer (quietly)
|
||||
@@ -2863,7 +2876,7 @@ fun! s:NetrwGetFile(readcmd, tfile, method)
|
||||
" readcmd=='t': simply do nothing
|
||||
if a:readcmd == 't'
|
||||
" call Decho(" ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
" call Dret("NetrwGetFile : skip read of <".a:tfile.">")
|
||||
" call Dret("NetrwGetFile : skip read of tfile<".a:tfile.">")
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -4359,7 +4372,7 @@ fun! s:NetrwGetWord()
|
||||
let curline= getline('.')
|
||||
|
||||
if curline =~# '"\s*Sorted by\s'
|
||||
NetrwKeepj norm! s
|
||||
NetrwKeepj norm! "_s
|
||||
let s:netrw_skipbrowse= 1
|
||||
echo 'Pressing "s" also works'
|
||||
|
||||
@@ -5194,17 +5207,31 @@ fun! s:NetrwBrowseUpDir(islocal)
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#BrowseX: (implements "x") executes a special "viewer" script or program for the {{{2
|
||||
" netrw#BrowseX: (implements "x" and "gx") executes a special "viewer" script or program for the {{{2
|
||||
" given filename; typically this means given their extension.
|
||||
" 0=local, 1=remote
|
||||
fun! netrw#BrowseX(fname,remote)
|
||||
" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.")")
|
||||
let use_ctrlo= 1
|
||||
" call Dfunc("netrw#BrowseX(fname<".a:fname."> remote=".a:remote.") implements x and gx maps")
|
||||
|
||||
" if its really just a local directory, then do a "gf" instead
|
||||
if (a:remote == 0 && isdirectory(a:fname)) || (a:remote == 1 && a:fname =~ '/$' && a:fname !~ '^https\=:')
|
||||
if a:remote == 0 && isdirectory(a:fname)
|
||||
" if its really just a local directory, then do a "gf" instead
|
||||
" call Decho("remote≡0 and a:fname<".a:fname."> ".(isdirectory(a:fname)? "is a directory" : "is not a directory"),'~'.expand("<slnum>"))
|
||||
" call Decho("..appears to be a local directory; using gf instead",'~'.expand("<slnum>"))
|
||||
norm! gf
|
||||
" call Dret("(netrw#BrowseX) did gf instead")
|
||||
" call Dret("netrw#BrowseX")
|
||||
return
|
||||
elseif a:remote == 1 && a:fname !~ '^https\=:' && a:fname =~ '/$'
|
||||
" remote directory, not a webpage access, looks like an attempt to do a directory listing
|
||||
" call Decho("remote≡1 and a:fname<".a:fname.">",'~'.expand("<slnum>"))
|
||||
" call Decho("..and fname ".((a:fname =~ '^https\=:')? 'matches' : 'does not match').'^https\=:','~'.expand("<slnum>"))
|
||||
" call Decho("..and fname ".((a:fname =~ '/$')? 'matches' : 'does not match').' /$','~'.expand("<slnum>"))
|
||||
" call Decho("..appears to be a remote directory listing request; using gf instead",'~'.expand("<slnum>"))
|
||||
norm! gf
|
||||
" call Dret("netrw#BrowseX")
|
||||
return
|
||||
endif
|
||||
" call Decho("not a local file nor a webpage request",'~'.expand("<slnum>"))
|
||||
|
||||
let ykeep = @@
|
||||
let screenposn = winsaveview()
|
||||
@@ -5302,10 +5329,9 @@ fun! netrw#BrowseX(fname,remote)
|
||||
endif
|
||||
" call Decho("set up redirection: redir{".redir."} srr{".&srr."}",'~'.expand("<slnum>"))
|
||||
|
||||
" extract any viewing options. Assumes that they're set apart by quotes.
|
||||
" call Decho("extract any viewing options",'~'.expand("<slnum>"))
|
||||
" extract any viewing options. Assumes that they're set apart by spaces.
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
" call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
" call Decho("extract any viewing options from g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
if g:netrw_browsex_viewer =~ '\s'
|
||||
let viewer = substitute(g:netrw_browsex_viewer,'\s.*$','','')
|
||||
let viewopt = substitute(g:netrw_browsex_viewer,'^\S\+\s*','','')." "
|
||||
@@ -5328,16 +5354,16 @@ fun! netrw#BrowseX(fname,remote)
|
||||
" execute the file handler
|
||||
" call Decho("execute the file handler (if any)",'~'.expand("<slnum>"))
|
||||
if exists("g:netrw_browsex_viewer") && g:netrw_browsex_viewer == '-'
|
||||
" call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
let ret= netrwFileHandlers#Invoke(exten,fname)
|
||||
|
||||
elseif exists("g:netrw_browsex_viewer") && executable(viewer)
|
||||
" call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !".viewer." ".viewopt.s:ShellEscape(fname,1).redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("win32") || has("win64")
|
||||
" call Decho("win".(has("win32")? "32" : "64")",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) win".(has("win32")? "32" : "64"),'~'.expand("<slnum>"))
|
||||
if executable("start")
|
||||
call s:NetrwExe('sil! !start rundll32 url.dll,FileProtocolHandler '.s:ShellEscape(fname,1))
|
||||
elseif executable("rundll32")
|
||||
@@ -5345,56 +5371,68 @@ fun! netrw#BrowseX(fname,remote)
|
||||
else
|
||||
call netrw#ErrorMsg(s:WARNING,"rundll32 not on path",74)
|
||||
endif
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("win32unix")
|
||||
let winfname= 'c:\cygwin'.substitute(fname,'/','\\','g')
|
||||
" call Decho("cygwin: winfname<".s:ShellEscape(winfname,1).">",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) cygwin: winfname<".s:ShellEscape(winfname,1).">",'~'.expand("<slnum>"))
|
||||
if executable("start")
|
||||
" call Decho("(netrw#BrowseX) win32unix+start",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe('sil !start rundll32 url.dll,FileProtocolHandler '.s:ShellEscape(winfname,1))
|
||||
elseif executable("rundll32")
|
||||
" call Decho("(netrw#BrowseX) win32unix+rundll32",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe('sil !rundll32 url.dll,FileProtocolHandler '.s:ShellEscape(winfname,1))
|
||||
elseif executable("cygstart")
|
||||
" call Decho("(netrw#BrowseX) win32unix+cygstart",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe('sil !cygstart '.s:ShellEscape(fname,1))
|
||||
else
|
||||
call netrw#ErrorMsg(s:WARNING,"rundll32 not on path",74)
|
||||
endif
|
||||
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("kfmclient") && s:CheckIfKde()
|
||||
" call Decho("unix and kfmclient",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) unix and kfmclient",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !kfmclient exec ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("exo-open") && executable("xdg-open") && executable("setsid")
|
||||
" call Decho("unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) unix, exo-open, xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !setsid xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && $DESKTOP_SESSION == "mate" && executable("atril")
|
||||
" call Decho("unix and atril",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !atril ".s:ShellEscape(fname,1).redir)
|
||||
" call Decho("(netrw#BrowseX) unix and atril",'~'.expand("<slnum>"))
|
||||
if a:fname =~ '^https\=://'
|
||||
" atril does not appear to understand how to handle html -- so use gvim to edit the document
|
||||
let use_ctrlo= 0
|
||||
" call Decho("(COMBAK) fname<".fname.">")
|
||||
" call Decho("(COMBAK) a:fname<".a:fname.">")
|
||||
call s:NetrwExe("sil! !gvim ".fname.' -c "keepj keepalt file '.fnameescape(a:fname).'"')
|
||||
|
||||
else
|
||||
call s:NetrwExe("sil !atril ".s:ShellEscape(fname,1).redir)
|
||||
endif
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("unix") && executable("xdg-open")
|
||||
" call Decho("unix and xdg-open",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) unix and xdg-open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !xdg-open ".s:ShellEscape(fname,1).redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
elseif has("macunix") && executable("open")
|
||||
" call Decho("macunix and open",'~'.expand("<slnum>"))
|
||||
" call Decho("(netrw#BrowseX) macunix and open",'~'.expand("<slnum>"))
|
||||
call s:NetrwExe("sil !open ".s:ShellEscape(fname,1)." ".redir)
|
||||
let ret= v:shell_error
|
||||
|
||||
else
|
||||
" netrwFileHandlers#Invoke() always returns 0
|
||||
" call Decho("(netrw#BrowseX) use netrwFileHandlers",'~'.expand("<slnum>"))
|
||||
let ret= netrwFileHandlers#Invoke(exten,fname)
|
||||
endif
|
||||
|
||||
" if unsuccessful, attempt netrwFileHandlers#Invoke()
|
||||
if ret
|
||||
" call Decho("(netrw#BrowseX) ret=".ret," indicates unsuccessful thus far",'~'.expand("<slnum>"))
|
||||
let ret= netrwFileHandlers#Invoke(exten,fname)
|
||||
endif
|
||||
|
||||
@@ -5416,8 +5454,9 @@ fun! netrw#BrowseX(fname,remote)
|
||||
if g:netrw_use_noswf
|
||||
setl noswf
|
||||
endif
|
||||
exe "sil! NetrwKeepj norm! \<c-o>"
|
||||
" redraw!
|
||||
if use_ctrlo
|
||||
exe "sil! NetrwKeepj norm! \<c-o>"
|
||||
endif
|
||||
endif
|
||||
" call Decho("restoring posn to screenposn<".string(screenposn).">",'~'.expand("<slnum>"))
|
||||
call winrestview(screenposn)
|
||||
@@ -5446,11 +5485,11 @@ endfun
|
||||
" netrw#BrowseXVis: used by gx in visual mode to select a file for browsing {{{2
|
||||
fun! netrw#BrowseXVis()
|
||||
" call Dfunc("netrw#BrowseXVis()")
|
||||
let atkeep = @@
|
||||
norm! gvy
|
||||
" call Decho("@@<".@@.">",'~'.expand("<slnum>"))
|
||||
call netrw#BrowseX(@@,netrw#CheckIfRemote(@@))
|
||||
let @@ = atkeep
|
||||
let akeep = @a
|
||||
norm! gv"ay
|
||||
let gxfile= @a
|
||||
let @a = akeep
|
||||
call netrw#BrowseX(gxfile,netrw#CheckIfRemote(gxfile))
|
||||
" call Dret("netrw#BrowseXVis")
|
||||
endfun
|
||||
|
||||
@@ -6070,13 +6109,12 @@ fun! s:NetrwSLeftrelease(islocal)
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" s:NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2
|
||||
" separated patterns given in g:netrw_list_hide
|
||||
" s:NetrwListHide: uses [range]g~...~d to delete files that match {{{2
|
||||
" comma-separated patterns given in g:netrw_list_hide
|
||||
fun! s:NetrwListHide()
|
||||
" call Dfunc("s:NetrwListHide() g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
|
||||
" call Decho("initial: ".string(getline(w:netrw_bannercnt,'$')))
|
||||
let ykeep= @@
|
||||
" call DechoBuf(bufnr("%"),"COMBAK#3")
|
||||
|
||||
" find a character not in the "hide" string to use as a separator for :g and :v commands
|
||||
" How-it-works: take the hiding command, convert it into a range.
|
||||
@@ -6085,8 +6123,8 @@ fun! s:NetrwListHide()
|
||||
" Use the first character left as a separator character.
|
||||
" call Decho("find a character not in the hide string to use as a separator")
|
||||
let listhide= g:netrw_list_hide
|
||||
let sep = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
|
||||
" call Decho("sep=".sep,'~'.expand("<slnum>"))
|
||||
let sep = strpart(substitute('~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
|
||||
" call Decho("sep=".sep," (sep not in hide string)'~'.expand("<slnum>"))
|
||||
|
||||
while listhide != ""
|
||||
if listhide =~ ','
|
||||
@@ -6096,10 +6134,19 @@ fun! s:NetrwListHide()
|
||||
let hide = listhide
|
||||
let listhide = ""
|
||||
endif
|
||||
" call Decho("hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
|
||||
" call Decho("..extracted from listhide: hide<".hide."> g:netrw_sort_by<".g:netrw_sort_by.'>','~'.expand("<slnum>"))
|
||||
if g:netrw_sort_by =~ '^[ts]'
|
||||
if hide =~ '^\^'
|
||||
" call Decho("..modify hide to handle a \"^...\" pattern",'~'.expand("<slnum>"))
|
||||
let hide= substitute(hide,'^\^','^\(\\d\\+/\)','')
|
||||
elseif hide =~ '^\\(\^'
|
||||
let hide= substitute(hide,'^\\(\^','\\(^\\(\\d\\+/\\)','')
|
||||
endif
|
||||
" call Decho("..hide<".hide."> listhide<".listhide.'>','~'.expand("<slnum>"))
|
||||
endif
|
||||
|
||||
" Prune the list by hiding any files which match
|
||||
" call Decho("prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
|
||||
" call Decho("..prune the list by hiding any files which ",((g:netrw_hide == 1)? "" : "don't")." match hide<".hide.">")
|
||||
if g:netrw_hide == 1
|
||||
" call Decho("..hiding<".hide.">",'~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
|
||||
@@ -6120,7 +6167,6 @@ fun! s:NetrwListHide()
|
||||
" remove any blank lines that have somehow remained.
|
||||
" This seems to happen under Windows.
|
||||
exe 'sil! NetrwKeepj 1,$g@^\s*$@d'
|
||||
" call DechoBuf(bufnr("%"),"COMBAK#4")
|
||||
|
||||
let @@= ykeep
|
||||
" call Dret("s:NetrwListHide")
|
||||
@@ -6328,7 +6374,7 @@ fun! s:NetrwMaps(islocal)
|
||||
|
||||
" generate default <Plug> maps {{{3
|
||||
if !hasmapto('<Plug>NetrwHide') |nmap <buffer> <silent> <nowait> a <Plug>NetrwHide_a|endif
|
||||
if !hasmapto('<Plug>NetrwBrowseUpDir') |nmap <buffer> <silent> <nowait> - <Plug>NetrwBrowseUpDir |endif
|
||||
if !hasmapto('<Plug>NetrwBrowseUpDir') |nmap <buffer> <silent> <nowait> - <Plug>NetrwBrowseUpDir|endif
|
||||
if !hasmapto('<Plug>NetrwOpenFile') |nmap <buffer> <silent> <nowait> % <Plug>NetrwOpenFile|endif
|
||||
if !hasmapto('<Plug>NetrwBadd_cb') |nmap <buffer> <silent> <nowait> cb <Plug>NetrwBadd_cb|endif
|
||||
if !hasmapto('<Plug>NetrwBadd_cB') |nmap <buffer> <silent> <nowait> cB <Plug>NetrwBadd_cB|endif
|
||||
@@ -6645,9 +6691,9 @@ fun! s:NetrwMarkFiles(islocal,...)
|
||||
while i <= a:0
|
||||
if a:islocal
|
||||
if v:version > 704 || (v:version == 704 && has("patch656"))
|
||||
let mffiles= glob(fnameescape(a:{i}),0,1,1)
|
||||
let mffiles= glob(a:{i},0,1,1)
|
||||
else
|
||||
let mffiles= glob(fnameescape(a:{i}),0,1)
|
||||
let mffiles= glob(a:{i},0,1)
|
||||
endif
|
||||
else
|
||||
let mffiles= [a:{i}]
|
||||
@@ -6788,13 +6834,15 @@ fun! s:NetrwMarkFile(islocal,fname)
|
||||
if index(s:netrwmarkfilelist,dname) == -1
|
||||
" append new filename to global markfilelist
|
||||
call add(s:netrwmarkfilelist,s:ComposePath(b:netrw_curdir,a:fname))
|
||||
" call Decho("append filename<".a:fname."> to global markfilelist<".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
" call Decho("append filename<".a:fname."> to global s:markfilelist<".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
else
|
||||
" remove new filename from global markfilelist
|
||||
" call Decho("filter(".string(s:netrwmarkfilelist).",'v:val != '.".dname.")",'~'.expand("<slnum>"))
|
||||
" call Decho("remove new filename from global s:markfilelist",'~'.expand("<slnum>"))
|
||||
" call Decho("..filter(".string(s:netrwmarkfilelist).",'v:val != '.".dname.")",'~'.expand("<slnum>"))
|
||||
call filter(s:netrwmarkfilelist,'v:val != "'.dname.'"')
|
||||
" call Decho("ending s:netrwmarkfilelist <".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
" call Decho("..ending s:netrwmarkfilelist <".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
if s:netrwmarkfilelist == []
|
||||
" call Decho("s:netrwmarkfilelist is empty; unlet it",'~'.expand("<slnum>"))
|
||||
unlet s:netrwmarkfilelist
|
||||
endif
|
||||
endif
|
||||
@@ -6818,7 +6866,8 @@ fun! s:NetrwMarkFile(islocal,fname)
|
||||
endif
|
||||
endif
|
||||
let @@= ykeep
|
||||
" call Dret("s:NetrwMarkFile : s:netrwmarkfilelist_".curbufnr."<".(exists("s:netrwmarkfilelist_{curbufnr}")? string(s:netrwmarkfilelist_{curbufnr}) : " doesn't exist").">")
|
||||
" call Decho("s:netrwmarkfilelist[".(exists("s:netrwmarkfilelist")? string(s:netrwmarkfilelist) : "")."] (avail in all buffers)",'~'.expand("<slnum>"))
|
||||
" call Dret("s:NetrwMarkFile : s:netrwmarkfilelist_".curbufnr."<".(exists("s:netrwmarkfilelist_{curbufnr}")? string(s:netrwmarkfilelist_{curbufnr}) : " doesn't exist")."> (buf#".curbufnr."list)")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
@@ -7573,8 +7622,9 @@ fun! s:NetrwMarkFileGrep(islocal)
|
||||
let curdir = s:NetrwGetCurdir(a:islocal)
|
||||
|
||||
if exists("s:netrwmarkfilelist")
|
||||
" call Decho("s:netrwmarkfilelist".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
" call Decho("using s:netrwmarkfilelist".string(s:netrwmarkfilelist).">",'~'.expand("<slnum>"))
|
||||
let netrwmarkfilelist= join(map(deepcopy(s:netrwmarkfilelist), "fnameescape(v:val)"))
|
||||
" call Decho("keeping copy of s:netrwmarkfilelist in function-local variable,'~'.expand("<slnum>"))"
|
||||
call s:NetrwUnmarkAll()
|
||||
else
|
||||
" call Decho('no marked files, using "*"','~'.expand("<slnum>"))
|
||||
@@ -7582,6 +7632,7 @@ fun! s:NetrwMarkFileGrep(islocal)
|
||||
endif
|
||||
|
||||
" ask user for pattern
|
||||
" call Decho("ask user for search pattern",'~'.expand("<slnum>"))
|
||||
call inputsave()
|
||||
let pat= input("Enter pattern: ","")
|
||||
call inputrestore()
|
||||
@@ -8694,7 +8745,7 @@ fun! s:NetrwUpload(fname,tgt,...)
|
||||
" -i : turns off interactive prompting from ftp
|
||||
" -n unix : DON'T use <.netrc>, even though it exists
|
||||
" -n win32: quit being obnoxious about password
|
||||
NetrwKeepj norm! 1Gdd
|
||||
NetrwKeepj norm! 1G"_dd
|
||||
call s:NetrwExe(s:netrw_silentxfer."%!".s:netrw_ftp_cmd." ".g:netrw_ftp_options)
|
||||
" If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
|
||||
sil NetrwKeepj g/Local directory now/d
|
||||
@@ -9532,12 +9583,14 @@ fun! s:NetrwWideListing()
|
||||
" fpl: filenames per line
|
||||
" fpc: filenames per column
|
||||
setl ma noro
|
||||
let keepa= @a
|
||||
" call Decho("setl ma noro",'~'.expand("<slnum>"))
|
||||
let b:netrw_cpf= 0
|
||||
if line("$") >= w:netrw_bannercnt
|
||||
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
|
||||
NetrwKeepj call histdel("/",-1)
|
||||
else
|
||||
let @a= keepa
|
||||
" call Dret("NetrwWideListing")
|
||||
return
|
||||
endif
|
||||
@@ -9560,6 +9613,7 @@ fun! s:NetrwWideListing()
|
||||
let newcolend = newcolstart + fpc - 1
|
||||
" call Decho("bannercnt=".w:netrw_bannercnt." fpl=".w:netrw_fpl." fpc=".fpc." newcol[".newcolstart.",".newcolend."]",'~'.expand("<slnum>"))
|
||||
if has("clipboard")
|
||||
" call Decho("(s:NetrwWideListing) save @* and @+",'~'.expand("<slnum>"))
|
||||
sil! let keepregstar = @*
|
||||
sil! let keepregplus = @+
|
||||
endif
|
||||
@@ -9568,16 +9622,17 @@ fun! s:NetrwWideListing()
|
||||
let newcolqty= newcolend - newcolstart
|
||||
exe newcolstart
|
||||
if newcolqty == 0
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p"
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>$h\"ax".w:netrw_bannercnt."G$\"ap"
|
||||
else
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p'
|
||||
exe "sil! NetrwKeepj norm! 0\<c-v>".newcolqty.'j$h\"ax'.w:netrw_bannercnt.'G$\"ap'
|
||||
endif
|
||||
exe "sil! NetrwKeepj ".newcolstart.','.newcolend.'d _'
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt
|
||||
endwhile
|
||||
if has("clipboard")
|
||||
sil! let @*= keepregstar
|
||||
sil! let @+= keepregplus
|
||||
" call Decho("(s:NetrwWideListing) restore @* and @+",'~'.expand("<slnum>"))
|
||||
if @* != keepregstar | sil! let @* = keepregstar | endif
|
||||
if @+ != keepregplus | sil! let @+ = keepregplus | endif
|
||||
endif
|
||||
exe "sil! NetrwKeepj ".w:netrw_bannercnt.',$s/\s\+$//e'
|
||||
NetrwKeepj call histdel("/",-1)
|
||||
@@ -9585,6 +9640,7 @@ fun! s:NetrwWideListing()
|
||||
exe 'nno <buffer> <silent> b :call search(''^.\\|\s\s\zs\S'',''bW'')'."\<cr>"
|
||||
" call Decho("NetrwWideListing) setl noma nomod ro",'~'.expand("<slnum>"))
|
||||
exe "setl ".g:netrw_bufsettings
|
||||
let @a= keepa
|
||||
" call Decho("ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
|
||||
" call Dret("NetrwWideListing")
|
||||
return
|
||||
@@ -9782,6 +9838,7 @@ fun! s:PerformListing(islocal)
|
||||
exe 'sil NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
|
||||
endif
|
||||
endif
|
||||
|
||||
" remove priority pattern prefix
|
||||
" call Decho("remove priority pattern prefix",'~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{3}'.g:netrw_sepchr.'//e'
|
||||
@@ -9820,6 +9877,7 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho('exe sil NetrwKeepj '.w:netrw_bannercnt.',$sort!','~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$sort!'.' '.g:netrw_sort_options
|
||||
endif
|
||||
" call Decho("remove leading digits/ (sorting) information from listing",'~'.expand("<slnum>"))
|
||||
exe 'sil! NetrwKeepj '.w:netrw_bannercnt.',$s/^\d\{-}\///e'
|
||||
NetrwKeepj call histdel("/",-1)
|
||||
endif
|
||||
@@ -9882,6 +9940,7 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho("exe setl ts=".(g:netrw_maxfilenamelen+1),'~'.expand("<slnum>"))
|
||||
exe "setl ts=".(g:netrw_maxfilenamelen+1)
|
||||
endif
|
||||
" call Decho("PerformListing buffer:",'~'.expand("<slnum>"))
|
||||
" call DechoBuf(bufnr("%"))
|
||||
|
||||
if exists("s:treecurpos")
|
||||
@@ -10849,7 +10908,6 @@ fun! s:LocalListing()
|
||||
for filename in filelist
|
||||
" call Decho(" ",'~'.expand("<slnum>"))
|
||||
" call Decho("for filename in filelist: filename<".filename.">",'~'.expand("<slnum>"))
|
||||
" call DechoBuf(bufnr("%"),"COMBAK#1")
|
||||
|
||||
if getftype(filename) == "link"
|
||||
" indicate a symbolic link
|
||||
@@ -10907,10 +10965,10 @@ fun! s:LocalListing()
|
||||
|
||||
if w:netrw_liststyle == s:LONGLIST
|
||||
let sz = getfsize(filename)
|
||||
let fsz = strpart(" ",1,15-strlen(sz)).sz
|
||||
if g:netrw_sizestyle =~# "[hH]"
|
||||
let sz= s:NetrwHumanReadable(sz)
|
||||
endif
|
||||
let fsz = strpart(" ",1,15-strlen(sz)).sz
|
||||
let longfile= printf("%-".(g:netrw_maxfilenamelen+1)."s",pfile)
|
||||
let pfile = longfile.fsz." ".strftime(g:netrw_timefmt,getftime(filename))
|
||||
" call Decho("longlist support: sz=".sz." fsz=".fsz,'~'.expand("<slnum>"))
|
||||
@@ -10918,10 +10976,11 @@ fun! s:LocalListing()
|
||||
|
||||
if g:netrw_sort_by =~# "^t"
|
||||
" sort by time (handles time up to 1 quintillion seconds, US)
|
||||
" Decorate listing by prepending a timestamp/ . Sorting will then be done based on time.
|
||||
" call Decho("getftime(".filename.")=".getftime(filename),'~'.expand("<slnum>"))
|
||||
let t = getftime(filename)
|
||||
let ft = strpart("000000000000000000",1,18-strlen(t)).t
|
||||
" call Decho("exe NetrwKeepj put ='".ft.'/'.filename."'",'~'.expand("<slnum>"))
|
||||
" call Decho("exe NetrwKeepj put ='".ft.'/'.pfile."'",'~'.expand("<slnum>"))
|
||||
let ftpfile= ft.'/'.pfile
|
||||
sil! NetrwKeepj put=ftpfile
|
||||
|
||||
@@ -10942,7 +11001,7 @@ fun! s:LocalListing()
|
||||
" call Decho("exe NetrwKeepj put ='".pfile."'",'~'.expand("<slnum>"))
|
||||
sil! NetrwKeepj put=pfile
|
||||
endif
|
||||
" call DechoBuf(bufnr("%"),"COMBAK#2")
|
||||
" call DechoBuf(bufnr("%"),"bufnr(%)")
|
||||
endfor
|
||||
|
||||
" cleanup any windows mess at end-of-line
|
||||
@@ -11259,7 +11318,9 @@ fun! netrw#Expose(varname)
|
||||
" call Dfunc("netrw#Expose(varname<".a:varname.">)")
|
||||
if exists("s:".a:varname)
|
||||
exe "let retval= s:".a:varname
|
||||
" call Decho("retval=".retval,'~'.expand("<slnum>"))
|
||||
if exists("g:netrw_pchk")
|
||||
" call Decho("type(g:netrw_pchk=".g:netrw_pchk.")=".type(retval),'~'.expand("<slnum>"))
|
||||
if type(retval) == 3
|
||||
let retval = copy(retval)
|
||||
let i = 0
|
||||
@@ -11268,10 +11329,13 @@ fun! netrw#Expose(varname)
|
||||
let i = i + 1
|
||||
endwhile
|
||||
endif
|
||||
" call Dret("netrw#Expose ".string(retval))
|
||||
" call Dret("netrw#Expose ".string(retval)),'~'.expand("<slnum>"))
|
||||
return string(retval)
|
||||
else
|
||||
" call Decho("g:netrw_pchk doesn't exist",'~'.expand("<slnum>"))
|
||||
endif
|
||||
else
|
||||
" call Decho("s:".a:varname." doesn't exist",'~'.expand("<slnum>"))
|
||||
let retval= "n/a"
|
||||
endif
|
||||
|
||||
|
||||
@@ -18,61 +18,5 @@
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
function! netrw_gitignore#Hide(...)
|
||||
let additional_files = a:000
|
||||
|
||||
let default_files = ['.gitignore', '.git/info/exclude']
|
||||
|
||||
" get existing global/system gitignore files
|
||||
let global_gitignore = expand(substitute(system("git config --global core.excludesfile"), '\n', '', 'g'))
|
||||
if global_gitignore !=# ''
|
||||
let default_files = add(default_files, global_gitignore)
|
||||
endif
|
||||
let system_gitignore = expand(substitute(system("git config --system core.excludesfile"), '\n', '', 'g'))
|
||||
if system_gitignore !=# ''
|
||||
let default_files = add(default_files, system_gitignore)
|
||||
endif
|
||||
|
||||
" append additional files if given as function arguments
|
||||
if additional_files !=# []
|
||||
let files = extend(default_files, additional_files)
|
||||
else
|
||||
let files = default_files
|
||||
endif
|
||||
|
||||
" keep only existing/readable files
|
||||
let gitignore_files = []
|
||||
for file in files
|
||||
if filereadable(file)
|
||||
let gitignore_files = add(gitignore_files, file)
|
||||
endif
|
||||
endfor
|
||||
|
||||
" get contents of gitignore patterns from those files
|
||||
let gitignore_lines = []
|
||||
for file in gitignore_files
|
||||
for line in readfile(file)
|
||||
" filter empty lines and comments
|
||||
if line !~# '^#' && line !~# '^$'
|
||||
let gitignore_lines = add(gitignore_lines, line)
|
||||
endif
|
||||
endfor
|
||||
endfor
|
||||
|
||||
" convert gitignore patterns to Netrw/Vim regex patterns
|
||||
let escaped_lines = []
|
||||
for line in gitignore_lines
|
||||
let escaped = line
|
||||
let escaped = substitute(escaped, '\*\*', '*', 'g')
|
||||
let escaped = substitute(escaped, '\.', '\\.', 'g')
|
||||
let escaped = substitute(escaped, '\$', '\\$', 'g')
|
||||
let escaped = substitute(escaped, '*', '.*', 'g')
|
||||
" correction: dot, dollar and asterisks chars shouldn't be escaped when
|
||||
" within regex matching groups.
|
||||
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\.', '\.', 'g')
|
||||
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\\\$', '\$', 'g')
|
||||
let escaped = substitute(escaped, '\(\[[^]]*\)\zs\.\*', '*', 'g')
|
||||
let escaped_lines = add(escaped_lines, escaped)
|
||||
endfor
|
||||
|
||||
return join(escaped_lines, ',')
|
||||
return substitute(substitute(system('git ls-files --other --ignored --exclude-standard --directory'), '\n', ',', 'g'), ',$', '', '')
|
||||
endfunction
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
" Last Change: 2019 Feb 25
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||
@@ -53,6 +53,23 @@ if !exists("g:rubycomplete_include_objectspace")
|
||||
endif
|
||||
" }}} configuration failsafe initialization
|
||||
|
||||
" {{{ regex patterns
|
||||
|
||||
" Regex that defines the start-match for the 'end' keyword.
|
||||
let s:end_start_regex =
|
||||
\ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' .
|
||||
\ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' .
|
||||
\ '\|\%(\K\k*[!?]\?\s\+\)\=def\):\@!\>' .
|
||||
\ '\|\%(^\|[^.:@$]\)\@<=\<do:\@!\>'
|
||||
|
||||
" Regex that defines the middle-match for the 'end' keyword.
|
||||
let s:end_middle_regex = '\<\%(ensure\|else\|\%(\%(^\|;\)\s*\)\@<=\<rescue:\@!\>\|when\|elsif\):\@!\>'
|
||||
|
||||
" Regex that defines the end-match for the 'end' keyword.
|
||||
let s:end_end_regex = '\%(^\|[^.:@$]\)\@<=\<end:\@!\>'
|
||||
|
||||
" }}} regex patterns
|
||||
|
||||
" {{{ vim-side support functions
|
||||
let s:rubycomplete_debug = 0
|
||||
|
||||
@@ -103,7 +120,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
|
||||
endif
|
||||
|
||||
let curpos = getpos(".")
|
||||
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'W' )
|
||||
let [enum,ecol] = searchpairpos( s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'W' )
|
||||
call cursor(lastpos[1], lastpos[2])
|
||||
|
||||
if lnum > enum
|
||||
@@ -128,19 +145,28 @@ function! s:IsPosInClassDef(pos)
|
||||
return ret
|
||||
endfunction
|
||||
|
||||
function! s:IsInComment(pos)
|
||||
let stack = synstack(a:pos[0], a:pos[1])
|
||||
if !empty(stack)
|
||||
return synIDattr(stack[0], 'name') =~ 'ruby\%(.*Comment\|Documentation\)'
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:GetRubyVarType(v)
|
||||
let stopline = 1
|
||||
let vtp = ''
|
||||
let pos = getpos('.')
|
||||
let curpos = getpos('.')
|
||||
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
|
||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
call setpos('.',pos)
|
||||
call setpos('.',curpos)
|
||||
let str = getline(lnum)
|
||||
let vtp = substitute(str,sstr,'\1','')
|
||||
return vtp
|
||||
endif
|
||||
call setpos('.',pos)
|
||||
call setpos('.',curpos)
|
||||
let ctors = '\(now\|new\|open\|get_instance'
|
||||
if exists('g:rubycomplete_rails') && g:rubycomplete_rails == 1 && s:rubycomplete_rails_loaded == 1
|
||||
let ctors = ctors.'\|find\|create'
|
||||
@@ -150,9 +176,13 @@ function! s:GetRubyVarType(v)
|
||||
|
||||
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
|
||||
let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr
|
||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
let str = matchstr(getline(lnum),fstr,lcol)
|
||||
let pos = searchpos(sstr,'bW')
|
||||
while pos != [0,0] && s:IsInComment(pos)
|
||||
let pos = searchpos(sstr,'bW')
|
||||
endwhile
|
||||
if pos != [0,0]
|
||||
let [lnum, col] = pos
|
||||
let str = matchstr(getline(lnum),fstr,col)
|
||||
let str = substitute(str,'^=\s*','','')
|
||||
|
||||
call setpos('.',pos)
|
||||
@@ -174,7 +204,7 @@ function! s:GetRubyVarType(v)
|
||||
end
|
||||
return ''
|
||||
endif
|
||||
call setpos('.',pos)
|
||||
call setpos('.',curpos)
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
@@ -671,11 +701,10 @@ class VimRubyCompletion
|
||||
methods.delete_if { |c| c.match( /'/ ) }
|
||||
end
|
||||
|
||||
when /^::([A-Z][^:\.\(]*)$/ # Absolute Constant or class methods
|
||||
when /^::([A-Z][^:\.\(]*)?$/ # Absolute Constant or class methods
|
||||
dprint "const or cls"
|
||||
receiver = $1
|
||||
methods = Object.constants
|
||||
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
|
||||
methods = Object.constants.collect{ |c| c.to_s }.grep(/^#{receiver}/)
|
||||
|
||||
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
|
||||
receiver = $1
|
||||
@@ -684,13 +713,13 @@ class VimRubyCompletion
|
||||
load_buffer_class( receiver )
|
||||
load_buffer_module( receiver )
|
||||
begin
|
||||
classes = eval("#{receiver}.constants")
|
||||
#methods = eval("#{receiver}.methods")
|
||||
constants = eval("#{receiver}.constants").collect{ |c| c.to_s }.grep(/^#{message}/)
|
||||
methods = eval("#{receiver}.methods").collect{ |m| m.to_s }.grep(/^#{message}/)
|
||||
rescue Exception
|
||||
dprint "exception: %s" % $!
|
||||
constants = []
|
||||
methods = []
|
||||
end
|
||||
methods.grep(/^#{message}/).collect{|e| receiver + "::" + e}
|
||||
|
||||
when /^(:[^:.]+)\.([^.]*)$/ # Symbol
|
||||
dprint "symbol"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for the tohtml plugin.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2018 Nov 11
|
||||
" Last Change: 2019 Aug 16
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -364,6 +364,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
let body_line = ''
|
||||
|
||||
let html = []
|
||||
let s:html5 = 0
|
||||
if s:settings.use_xhtml
|
||||
call add(html, xml_line)
|
||||
endif
|
||||
@@ -371,8 +372,9 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">")
|
||||
call add(html, '<html xmlns="http://www.w3.org/1999/xhtml">')
|
||||
elseif s:settings.use_css && !s:settings.no_pre
|
||||
call add(html, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">")
|
||||
call add(html, "<!DOCTYPE html>")
|
||||
call add(html, '<html>')
|
||||
let s:html5 = 1
|
||||
else
|
||||
call add(html, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"')
|
||||
call add(html, ' "http://www.w3.org/TR/html4/loose.dtd">')
|
||||
@@ -383,7 +385,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" include encoding as close to the top as possible, but only if not already
|
||||
" contained in XML information
|
||||
if s:settings.encoding != "" && !s:settings.use_xhtml
|
||||
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
|
||||
if s:html5
|
||||
call add(html, '<meta charset="' . s:settings.encoding . '"' . tag_close)
|
||||
else
|
||||
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
|
||||
endif
|
||||
endif
|
||||
|
||||
call add(html, '<title>diff</title>')
|
||||
@@ -392,6 +398,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, '<meta name="settings" content="'.
|
||||
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
|
||||
\ ',prevent_copy='.s:settings.prevent_copy.
|
||||
\ ',use_input_for_pc='.s:settings.use_input_for_pc.
|
||||
\ '"'.tag_close)
|
||||
call add(html, '<meta name="colorscheme" content="'.
|
||||
\ (exists('g:colors_name')
|
||||
@@ -400,16 +407,8 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
|
||||
call add(html, '</head>')
|
||||
let body_line_num = len(html)
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call add(html, "<body onload='FixCharWidth();".(s:settings.line_ids ? " JumpToLine();" : "")."'>")
|
||||
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
|
||||
call add(html, "<div id='oneCharWidth'>0</div>")
|
||||
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
|
||||
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
|
||||
else
|
||||
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
|
||||
endif
|
||||
call add(html, "<table border='1' width='100%' id='vimCodeElement".s:settings.id_suffix."'>")
|
||||
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
|
||||
call add(html, "<table ".(s:settings.use_css? "" : "border='1' width='100%' ")."id='vimCodeElement".s:settings.id_suffix."'>")
|
||||
|
||||
call add(html, '<tr>')
|
||||
for buf in a:win_list
|
||||
@@ -443,7 +442,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" Grab the style information. Some of this will be duplicated so only insert
|
||||
" it if it's not already there. {{{
|
||||
1
|
||||
let style_start = search('^<style type="text/css">')
|
||||
let style_start = search('^<style\( type="text/css"\)\?>')
|
||||
1
|
||||
let style_end = search('^</style>')
|
||||
if style_start > 0 && style_end > 0
|
||||
@@ -481,7 +480,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" TODO: restore using grabbed lines if undolevel is 1?
|
||||
normal! 2u
|
||||
if s:settings.use_css
|
||||
call add(html, '<td valign="top"><div>')
|
||||
call add(html, '<td><div>')
|
||||
elseif s:settings.use_xhtml
|
||||
call add(html, '<td nowrap="nowrap" valign="top"><div>')
|
||||
else
|
||||
@@ -515,7 +514,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
let name = substitute(name, '\d*\.x\?html$', '', '') . i . '.' . fnamemodify(copy(name), ":t:e")
|
||||
let i += 1
|
||||
endwhile
|
||||
|
||||
let s:ei_sav = &eventignore
|
||||
set eventignore+=FileType
|
||||
exe "topleft new " . name
|
||||
let &eventignore=s:ei_sav
|
||||
unlet s:ei_sav
|
||||
|
||||
setlocal modifiable
|
||||
|
||||
" just in case some user autocmd creates content in the new buffer, make sure
|
||||
@@ -544,7 +549,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" add required javascript in reverse order so we can just call append again
|
||||
" and again without adjusting {{{
|
||||
|
||||
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids || !empty(s:settings.prevent_copy)
|
||||
let s:uses_script = s:settings.dynamic_folds || s:settings.line_ids
|
||||
|
||||
" insert script closing tag if needed
|
||||
if s:uses_script
|
||||
@@ -555,31 +560,6 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert script which corrects the size of small input elements in
|
||||
" prevent_copy mode. See 2html.vim for details on why this is needed and how
|
||||
" it works.
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ '/* simulate a "ch" unit by asking the browser how big a zero character is */',
|
||||
\ 'function FixCharWidth() {',
|
||||
\ ' /* get the hidden element which gives the width of a single character */',
|
||||
\ ' var goodWidth = document.getElementById("oneCharWidth").clientWidth;',
|
||||
\ ' /* get all input elements, we''ll filter on class later */',
|
||||
\ ' var inputTags = document.getElementsByTagName("input");',
|
||||
\ ' var ratio = 5;',
|
||||
\ ' var inputWidth = document.getElementById("oneInputWidth").clientWidth;',
|
||||
\ ' var emWidth = document.getElementById("oneEmWidth").clientWidth;',
|
||||
\ ' if (inputWidth > goodWidth) {',
|
||||
\ ' while (ratio < 100*goodWidth/emWidth && ratio < 100) {',
|
||||
\ ' ratio += 5;',
|
||||
\ ' }',
|
||||
\ ' document.getElementById("vimCodeElement'.s:settings.id_suffix.'").className = "em"+ratio;',
|
||||
\ ' }',
|
||||
\ '}'
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||
" jumping to any lines contained therein
|
||||
if s:settings.line_ids
|
||||
@@ -659,10 +639,9 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
endif
|
||||
|
||||
if s:uses_script
|
||||
" insert script tag; javascript is always needed for the line number
|
||||
" normalization for URL hashes
|
||||
" insert script tag if needed
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ "<script" . (s:html5 ? "" : " type='text/javascript'") . ">",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
endif
|
||||
|
||||
@@ -673,11 +652,13 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" is pretty useless for really long lines. {{{
|
||||
if s:settings.use_css
|
||||
call append(style_start,
|
||||
\ ['<style type="text/css">']+
|
||||
\ ['<style' . (s:html5 ? '' : 'type="text/css"') . '>']+
|
||||
\ style+
|
||||
\ [ s:settings.use_xhtml ? '' : '<!--',
|
||||
\ 'table { table-layout: fixed; }',
|
||||
\ 'html, body, table, tbody { width: 100%; margin: 0; padding: 0; }',
|
||||
\ 'table, td, th { border: 1px solid; }',
|
||||
\ 'td { vertical-align: top; }',
|
||||
\ 'th, td { width: '.printf("%.1f",100.0/len(a:win_list)).'%; }',
|
||||
\ 'td div { overflow: auto; }',
|
||||
\ s:settings.use_xhtml ? '' : '-->',
|
||||
@@ -720,21 +701,22 @@ func! tohtml#GetUserSettings() "{{{
|
||||
endif
|
||||
|
||||
" get current option settings with appropriate defaults {{{
|
||||
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
|
||||
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
|
||||
call tohtml#GetOption(user_settings, 'number_lines', &number )
|
||||
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
|
||||
call tohtml#GetOption(user_settings, 'use_css', 1 )
|
||||
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
|
||||
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
|
||||
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
|
||||
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_pre', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
||||
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
||||
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
||||
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
|
||||
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
|
||||
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
|
||||
call tohtml#GetOption(user_settings, 'number_lines', &number )
|
||||
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
|
||||
call tohtml#GetOption(user_settings, 'use_css', 1 )
|
||||
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
|
||||
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
|
||||
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
|
||||
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_pre', 0 )
|
||||
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
||||
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
||||
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
||||
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
|
||||
call tohtml#GetOption(user_settings, 'use_input_for_pc', 'fallback')
|
||||
" }}}
|
||||
|
||||
" override those settings that need it {{{
|
||||
@@ -868,6 +850,16 @@ func! tohtml#GetUserSettings() "{{{
|
||||
let user_settings.no_invalid = 0
|
||||
endif
|
||||
|
||||
" enforce valid values for use_input_for_pc
|
||||
if user_settings.use_input_for_pc !~# 'fallback\|none\|all'
|
||||
let user_settings.use_input_for_pc = 'fallback'
|
||||
echohl WarningMsg
|
||||
echomsg '2html: "' . g:html_use_input_for_pc . '" is not valid for g:html_use_input_for_pc'
|
||||
echomsg '2html: defaulting to "' . user_settings.use_input_for_pc . '"'
|
||||
echohl None
|
||||
sleep 3
|
||||
endif
|
||||
|
||||
if exists('g:html_id_expr')
|
||||
let user_settings.id_suffix = eval(g:html_id_expr)
|
||||
if user_settings.id_suffix !~ '^[-_:.A-Za-z0-9]*$'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: Thu, 07 Dec 2018
|
||||
" Version: 0.1
|
||||
" Last Change: 2019 Oct 24
|
||||
" Version: 0.2
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" License: VIM License
|
||||
@@ -22,44 +22,73 @@ func! xmlformat#Format()
|
||||
" do not fall back to internal formatting
|
||||
return 0
|
||||
endif
|
||||
let count_orig = v:count
|
||||
let sw = shiftwidth()
|
||||
let prev = prevnonblank(v:lnum-1)
|
||||
let s:indent = indent(prev)/sw
|
||||
let result = []
|
||||
let lastitem = prev ? getline(prev) : ''
|
||||
let is_xml_decl = 0
|
||||
" split on `<`, but don't split on very first opening <
|
||||
for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<'
|
||||
let t=split(item, '.<\@=\zs')
|
||||
let s:indent+=1
|
||||
call add(result, s:Indent(t[0]))
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(t[1]))
|
||||
else
|
||||
" go through every line, but don't join all content together and join it
|
||||
" back. We might lose empty lines
|
||||
let list = getline(v:lnum, (v:lnum + count_orig - 1))
|
||||
let current = 0
|
||||
for line in list
|
||||
" Keep empty input lines?
|
||||
if empty(line)
|
||||
call add(result, '')
|
||||
continue
|
||||
elseif line !~# '<[/]\?[^>]*>'
|
||||
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
||||
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
|
||||
call remove(list, current+1, nextmatch-1)
|
||||
endif
|
||||
" split on `>`, but don't split on very first opening <
|
||||
" this means, items can be like ['<tag>', 'tag content</tag>']
|
||||
for item in split(line, '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<', if there is one,
|
||||
" but reformat according to &textwidth
|
||||
let t=split(item, '.<\@=\zs')
|
||||
" t should only contain 2 items, but just be safe here
|
||||
if s:IsTag(lastitem)
|
||||
let s:indent+=1
|
||||
endif
|
||||
let result+=s:FormatContent([t[0]])
|
||||
if s:EndTag(t[1])
|
||||
let s:indent = s:DecreaseIndent()
|
||||
endif
|
||||
"for y in t[1:]
|
||||
let result+=s:FormatContent(t[1:])
|
||||
"endfor
|
||||
else
|
||||
call add(result, s:Indent(item))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
let lastitem = item
|
||||
endfor
|
||||
let lastitem = item
|
||||
endfor
|
||||
let current += 1
|
||||
endfor
|
||||
|
||||
if !empty(result)
|
||||
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
|
||||
if !empty(result)
|
||||
let lastprevline = getline(v:lnum + count_orig)
|
||||
let delete_lastline = v:lnum + count_orig - 1 == line('$')
|
||||
exe v:lnum. ",". (v:lnum + count_orig - 1). 'd'
|
||||
call append(v:lnum - 1, result)
|
||||
" Might need to remove the last line, if it became empty because of the
|
||||
" append() call
|
||||
let last = v:lnum + len(result)
|
||||
if getline(last) is ''
|
||||
" do not use empty(), it returns true for `empty(0)`
|
||||
if getline(last) is '' && lastprevline is '' && delete_lastline
|
||||
exe last. 'd'
|
||||
endif
|
||||
endif
|
||||
@@ -88,6 +117,7 @@ func! s:StartTag(tag)
|
||||
let is_comment = s:IsComment(a:tag)
|
||||
return a:tag =~? '^\s*<[^/?]' && !is_comment
|
||||
endfunc
|
||||
" Check if tag is a Comment start {{{1
|
||||
func! s:IsComment(tag)
|
||||
return a:tag =~? '<!--'
|
||||
endfunc
|
||||
@@ -108,6 +138,43 @@ endfunc
|
||||
func! s:EmptyTag(tag)
|
||||
return a:tag =~ '/>\s*$'
|
||||
endfunc
|
||||
" Format input line according to textwidth {{{1
|
||||
func! s:FormatContent(list)
|
||||
let result=[]
|
||||
let limit = 80
|
||||
if &textwidth > 0
|
||||
let limit = &textwidth
|
||||
endif
|
||||
let column=0
|
||||
let idx = -1
|
||||
let add_indent = 0
|
||||
let cnt = 0
|
||||
for item in a:list
|
||||
for word in split(item, '\s\+\S\+\zs')
|
||||
let column += strdisplaywidth(word, column)
|
||||
if match(word, "^\\s*\n\\+\\s*$") > -1
|
||||
call add(result, '')
|
||||
let idx += 1
|
||||
let column = 0
|
||||
let add_indent = 1
|
||||
elseif column > limit || cnt == 0
|
||||
let add = s:Indent(s:Trim(word))
|
||||
call add(result, add)
|
||||
let column = strdisplaywidth(add)
|
||||
let idx += 1
|
||||
else
|
||||
if add_indent
|
||||
let result[idx] = s:Indent(s:Trim(word))
|
||||
else
|
||||
let result[idx] .= ' '. s:Trim(word)
|
||||
endif
|
||||
let add_indent = 0
|
||||
endif
|
||||
let cnt += 1
|
||||
endfor
|
||||
endfor
|
||||
return result
|
||||
endfunc
|
||||
" Restoration And Modelines: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2019 Feb 18
|
||||
" Last change: 2019 Oct 27
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -75,8 +75,14 @@ inoremap <C-U> <C-G>u<C-U>
|
||||
|
||||
" In many terminal emulators the mouse works just fine. By enabling it you
|
||||
" can position the cursor, Visually select and scroll with the mouse.
|
||||
" Only xterm can grab the mouse events when using the shift key, for other
|
||||
" terminals use ":", select text and press Esc.
|
||||
if has('mouse')
|
||||
set mouse=a
|
||||
if &term =~ 'xterm'
|
||||
set mouse=a
|
||||
else
|
||||
set mouse=nvi
|
||||
endif
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
|
||||
@@ -2,30 +2,31 @@
|
||||
" Warning: This also deletes all menus defined by the user!
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Sep 11
|
||||
" Last Change: 2019 Dec 10
|
||||
|
||||
aunmenu *
|
||||
tlunmenu *
|
||||
|
||||
silent! unlet did_install_default_menus
|
||||
silent! unlet did_install_syntax_menu
|
||||
if exists("did_menu_trans")
|
||||
unlet! g:did_install_default_menus
|
||||
unlet! g:did_install_syntax_menu
|
||||
|
||||
if exists('g:did_menu_trans')
|
||||
menutrans clear
|
||||
unlet did_menu_trans
|
||||
unlet g:did_menu_trans
|
||||
endif
|
||||
|
||||
silent! unlet find_help_dialog
|
||||
unlet! g:find_help_dialog
|
||||
|
||||
silent! unlet menutrans_help_dialog
|
||||
silent! unlet menutrans_path_dialog
|
||||
silent! unlet menutrans_tags_dialog
|
||||
silent! unlet menutrans_textwidth_dialog
|
||||
silent! unlet menutrans_fileformat_dialog
|
||||
silent! unlet menutrans_fileformat_choices
|
||||
silent! unlet menutrans_no_file
|
||||
silent! unlet menutrans_set_lang_to
|
||||
silent! unlet menutrans_spell_change_ARG_to
|
||||
silent! unlet menutrans_spell_add_ARG_to_word_list
|
||||
silent! unlet menutrans_spell_ignore_ARG
|
||||
unlet! g:menutrans_fileformat_choices
|
||||
unlet! g:menutrans_fileformat_dialog
|
||||
unlet! g:menutrans_help_dialog
|
||||
unlet! g:menutrans_no_file
|
||||
unlet! g:menutrans_path_dialog
|
||||
unlet! g:menutrans_set_lang_to
|
||||
unlet! g:menutrans_spell_add_ARG_to_word_list
|
||||
unlet! g:menutrans_spell_change_ARG_to
|
||||
unlet! g:menutrans_spell_ignore_ARG
|
||||
unlet! g:menutrans_tags_dialog
|
||||
unlet! g:menutrans_textwidth_dialog
|
||||
|
||||
" vim: set sw=2 :
|
||||
|
||||
@@ -323,7 +323,10 @@ all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
|
||||
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||
# compiled and installed. Supports multiple languages.
|
||||
vimtags: $(DOCS)
|
||||
$(VIMEXE) -u NONE -esX -c "helptags ++t ." -c quit
|
||||
@if command -v $(VIMEXE); then \
|
||||
$(VIMEXE) --clean -eX -u doctags.vim >/dev/null && \
|
||||
echo "help tags updated"; \
|
||||
else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi
|
||||
|
||||
# Use "doctags" to generate the tags file. Only works for English!
|
||||
tags: doctags $(DOCS)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*arabic.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*arabic.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jun 26
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2019 Dec 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -268,7 +268,6 @@ Name triggered by ~
|
||||
|BufCreate| just after adding a buffer to the buffer list
|
||||
|BufDelete| before deleting a buffer from the buffer list
|
||||
|BufWipeout| before completely deleting a buffer
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|
||||
|BufFilePre| before changing the name of the current buffer
|
||||
|BufFilePost| after changing the name of the current buffer
|
||||
@@ -302,6 +301,10 @@ Name triggered by ~
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
Terminal
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|TerminalWinOpen| after a terminal buffer was created in a new window
|
||||
|
||||
Various
|
||||
|FileChangedShell| Vim notices that a file changed since editing started
|
||||
|FileChangedShellPost| After handling a file changed since editing started
|
||||
@@ -355,6 +358,10 @@ Name triggered by ~
|
||||
when popup menu visible
|
||||
|TextYankPost| after text has been yanked or deleted
|
||||
|
||||
|SafeState| nothing pending, going to wait for the user to type a
|
||||
character
|
||||
|SafeStateAgain| repeated SafeState
|
||||
|
||||
|ColorSchemePre| before loading a color scheme
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
@@ -380,6 +387,8 @@ BufAdd or BufCreate Just after creating a new buffer which is
|
||||
to the buffer list.
|
||||
Also used just after a buffer in the buffer
|
||||
list has been renamed.
|
||||
Not triggered for the initial buffers created
|
||||
during startup.
|
||||
The BufCreate event is for historic reasons.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
@@ -577,7 +586,7 @@ ColorScheme After loading a color scheme. |:colorscheme|
|
||||
ColorSchemePre Before loading a color scheme. |:colorscheme|
|
||||
Useful to setup removing things added by a
|
||||
color scheme, before another one is loaded.
|
||||
CompleteChanged *CompleteChanged*
|
||||
CompleteChanged *CompleteChanged*
|
||||
After each time the Insert mode completion
|
||||
menu changed. Not fired on popup menu hide,
|
||||
use |CompleteDone| for that. Never triggered
|
||||
@@ -955,6 +964,32 @@ RemoteReply When a reply from a Vim that functions as
|
||||
Note that even if an autocommand is defined,
|
||||
the reply should be read with |remote_read()|
|
||||
to consume it.
|
||||
*SafeState*
|
||||
SafeState When nothing is pending, going to wait for the
|
||||
user to type a character.
|
||||
This will not be triggered when:
|
||||
- an operator is pending
|
||||
- a register was entered with "r
|
||||
- halfway executing a command
|
||||
- executing a mapping
|
||||
- there is typeahead
|
||||
- Insert mode completion is active
|
||||
- Command line completion is active
|
||||
You can use `mode()` to find out what state
|
||||
Vim is in. That may be:
|
||||
- VIsual mode
|
||||
- Normal mode
|
||||
- Insert mode
|
||||
- Command-line mode
|
||||
Depending on what you want to do, you may also
|
||||
check more with `state()`, e.g. whether the
|
||||
screen was scrolled for messages.
|
||||
*SafeStateAgain*
|
||||
SafeStateAgain Like SafeState but after processing any
|
||||
messages and invoking callbacks. This may be
|
||||
triggered often, don't do something that takes
|
||||
time.
|
||||
|
||||
*SessionLoadPost*
|
||||
SessionLoadPost After loading the session file created using
|
||||
the |:mksession| command.
|
||||
@@ -1051,6 +1086,12 @@ TerminalOpen Just after a terminal buffer was created, with
|
||||
`:terminal` or |term_start()|. This event is
|
||||
triggered even if the buffer is created
|
||||
without a window, with the ++hidden option.
|
||||
*TerminalWinOpen*
|
||||
TerminalWinOpen Just after a terminal buffer was created, with
|
||||
`:terminal` or |term_start()|. This event is
|
||||
triggered only if the buffer is created
|
||||
with a window. Can be used to set window
|
||||
local options for the terminal window.
|
||||
*TermResponse*
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
@@ -1087,8 +1128,8 @@ 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
|
||||
operator The operation performed.
|
||||
regcontents Text that was stored in the
|
||||
register, as a list of lines,
|
||||
like with: >
|
||||
getreg(r, 1, 1)
|
||||
@@ -1124,7 +1165,7 @@ VimEnter After doing all the startup stuff, including
|
||||
if v:vim_did_enter
|
||||
call s:init()
|
||||
else
|
||||
au VimEnter * call s:init()
|
||||
au VimEnter * call s:init()
|
||||
endif
|
||||
< *VimLeave*
|
||||
VimLeave Before exiting Vim, just after writing the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.1. Last change: 2019 Aug 21
|
||||
*change.txt* For Vim version 8.2. Last change: 2019 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -999,9 +999,13 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
delete and yank) ({.%#:} only work with put).
|
||||
|
||||
*:reg* *:registers*
|
||||
:reg[isters] Display the contents of all numbered and named
|
||||
registers. If a register is written to for |:redir|
|
||||
it will not be listed.
|
||||
:reg[isters] Display the type and contents of all numbered and
|
||||
named registers. If a register is written to for
|
||||
|:redir| it will not be listed.
|
||||
Type can be one of:
|
||||
"c" for |characterwise| text
|
||||
"l" for |linewise| text
|
||||
"b" for |blockwise-visual| text
|
||||
|
||||
|
||||
:reg[isters] {arg} Display the contents of the numbered and named
|
||||
@@ -1172,7 +1176,7 @@ Rationale: In Vi the "y" command followed by a backwards motion would
|
||||
With a linewise yank command the cursor is put in the first line, but the
|
||||
column is unmodified, thus it may not be on the first yanked character.
|
||||
|
||||
There are ten types of registers: *registers* *E354*
|
||||
There are ten types of registers: *registers* *{register}* *E354*
|
||||
1. The unnamed register ""
|
||||
2. 10 numbered registers "0 to "9
|
||||
3. The small delete register "-
|
||||
@@ -1312,7 +1316,7 @@ When writing to this register, nothing happens. This can be used to delete
|
||||
text without affecting the normal registers. When reading from this register,
|
||||
nothing is returned.
|
||||
|
||||
10. Last search pattern register "/ *quote_/* *quote/*
|
||||
10. Last search pattern register "/ *quote_/* *quote/*
|
||||
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
|
||||
It is writable with `:let`, you can change it to have 'hlsearch' highlight
|
||||
other matches without actually searching. You can't yank or delete into this
|
||||
@@ -1618,8 +1622,6 @@ By default, "b:#" is included. This means that a line that starts with
|
||||
"#include" is not recognized as a comment line. But a line that starts with
|
||||
"# define" is recognized. This is a compromise.
|
||||
|
||||
{not available when compiled without the |+comments| feature}
|
||||
|
||||
*fo-table*
|
||||
You can use the 'formatoptions' option to influence how Vim formats text.
|
||||
'formatoptions' is a string that can contain any of the letters below. The
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.1. Last change: 2019 Sep 11
|
||||
*channel.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -223,7 +223,7 @@ ch_open() fails quickly. On MS-Windows "waittime" applies.
|
||||
*E898* *E901* *E902*
|
||||
|
||||
If there is an error reading or writing a channel it will be closed.
|
||||
*E630* *E631*
|
||||
*E630* *E631*
|
||||
|
||||
==============================================================================
|
||||
4. Using a JSON or JS channel *channel-use*
|
||||
@@ -752,7 +752,7 @@ handle that separately, add an "err_cb" handler: >
|
||||
|
||||
If you want to handle both stderr and stdout with one handler use the
|
||||
"callback" option: >
|
||||
let job = job_start(command, {"callback": "MyHandler"})
|
||||
let job = job_start(command, {"callback": "MyHandler"})
|
||||
|
||||
Depending on the system, starting a job can put Vim in the background, the
|
||||
started job gets the focus. To avoid that, use the `foreground()` function.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.1. Last change: 2019 Sep 04
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2019 Nov 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -77,10 +77,17 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
|
||||
way as in Insert mode (see above, |i_CTRL-V|).
|
||||
Note: Under Windows CTRL-V is often mapped to paste text.
|
||||
Use CTRL-Q instead then.
|
||||
When |modifyOtherKeys| is enabled then special Escape sequence
|
||||
is converted back to what it was without |modifyOtherKeys|,
|
||||
unless the Shift key is also pressed.
|
||||
*c_CTRL-Q*
|
||||
CTRL-Q Same as CTRL-V. But with some terminals it is used for
|
||||
control flow, it doesn't work then.
|
||||
|
||||
CTRL-SHIFT-V *c_CTRL-SHIFT-V* *c_CTRL-SHIFT-Q*
|
||||
CTRL-SHIFT-Q Works just like CTRL-V, unless |modifyOtherKeys| is active,
|
||||
then it inserts the Escape sequence for a key with modifiers.
|
||||
|
||||
*c_<Left>* *c_Left*
|
||||
<Left> cursor left
|
||||
*c_<Right>* *c_Right*
|
||||
@@ -129,7 +136,7 @@ CTRL-K {char1} {char2} *c_CTRL-K*
|
||||
enter digraph (see |digraphs|). When {char1} is a special
|
||||
key, the code for that key is inserted in <> form.
|
||||
|
||||
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
|
||||
CTRL-R {register} *c_CTRL-R* *c_<C-R>*
|
||||
Insert the contents of a numbered or named register. Between
|
||||
typing CTRL-R and the second character '"' will be displayed
|
||||
to indicate that you are expected to enter the name of a
|
||||
@@ -191,8 +198,8 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
|
||||
|
||||
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
|
||||
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
|
||||
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
CTRL-R CTRL-O {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
|
||||
Insert register or object under the cursor. Works like
|
||||
|c_CTRL-R| but inserts the text literally. For example, if
|
||||
register a contains "xy^Hz" (where ^H is a backspace),
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debug.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||
*debug.txt* For Vim version 8.2. Last change: 2019 May 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debugger.txt* For Vim version 8.1. Last change: 2019 Jul 06
|
||||
*debugger.txt* For Vim version 8.2. Last change: 2019 Jul 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
|
||||
*develop.txt* For Vim version 8.2. Last change: 2019 Nov 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -195,10 +195,14 @@ problems for existing patches. Only use them for new and changed code.
|
||||
|
||||
Comments ~
|
||||
|
||||
Traditionally Vim uses /* comments */. We intend to keep it that way,
|
||||
especially for file and function headers. For new code or lines of code that
|
||||
change, it is allowed to use // comments. Especially when it comes after
|
||||
code:
|
||||
Traditionally Vim uses /* comments */. We intend to keep it that way
|
||||
for file and function headers and larger blocks of code, E.g.:
|
||||
/*
|
||||
* The "foo" argument does something useful.
|
||||
* Return OK or FAIL.
|
||||
*/
|
||||
For new code or lines of code that change, it is preferred to use // comments.
|
||||
Especially when it comes after code:
|
||||
int some_var; // single line comment useful here
|
||||
|
||||
Enums ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 8.1. Last change: 2019 Jul 27
|
||||
*diff.txt* For Vim version 8.2. Last change: 2019 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -68,11 +68,12 @@ reset to the global value.
|
||||
The options can still be overruled from a modeline when re-editing the file.
|
||||
However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is
|
||||
set.
|
||||
See `:diffoff` for an easy way to revert the options.
|
||||
|
||||
The differences shown are actually the differences in the buffer. Thus if you
|
||||
make changes after loading a file, these will be included in the displayed
|
||||
diffs. You might have to do ":diffupdate" now and then, not all changes are
|
||||
immediately taken into account.
|
||||
immediately taken into account, especially when using an external diff command.
|
||||
|
||||
In your .vimrc file you could do something special when Vim was started in
|
||||
diff mode. You could use a construct like this: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*digraph.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
6
runtime/doc/doctags.vim
Normal file
6
runtime/doc/doctags.vim
Normal file
@@ -0,0 +1,6 @@
|
||||
" This script makes a tags file for help text.
|
||||
"
|
||||
" Usage: vim -eX -u doctags.vim
|
||||
|
||||
helptags ++t .
|
||||
qa!
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.1. Last change: 2019 Jun 10
|
||||
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1452,7 +1452,7 @@ Do this before writing the file. When reading an encrypted file it will be
|
||||
set automatically to the method used when that file was written. You can
|
||||
change 'cryptmethod' before writing that file to change the method.
|
||||
|
||||
To set the default method, used for new files, use this in your |vimrc|
|
||||
To set the default method, used for new files, use this in your |vimrc|
|
||||
file: >
|
||||
set cm=blowfish2
|
||||
Using "blowfish2" is highly recommended. Only use another method if you
|
||||
@@ -1554,7 +1554,7 @@ focus.
|
||||
If you want to automatically reload a file when it has been changed outside of
|
||||
Vim, set the 'autoread' option. This doesn't work at the moment you write the
|
||||
file though, only when the file wasn't changed inside of Vim.
|
||||
|
||||
*ignore-timestamp*
|
||||
If you do not want to be asked or automatically reload the file, you can use
|
||||
this: >
|
||||
set buftype=nofile
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Sep 10
|
||||
*eval.txt* For Vim version 8.2. Last change: 2019 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -42,7 +42,8 @@ Profiling is documented at |profiling|.
|
||||
*E712* *E896* *E897* *E899*
|
||||
There are ten types of variables:
|
||||
|
||||
Number A 32 or 64 bit signed number. |expr-number| *Number*
|
||||
*Number* *Integer*
|
||||
Number A 32 or 64 bit signed number. |expr-number|
|
||||
64-bit Numbers are available only when compiled with the
|
||||
|+num64| feature.
|
||||
Examples: -123 0x10 0177 0b1011
|
||||
@@ -92,7 +93,8 @@ the Number. Examples:
|
||||
*octal*
|
||||
Conversion from a String to a Number is done by converting the first digits to
|
||||
a number. Hexadecimal "0xf9", Octal "017", and Binary "0b10" numbers are
|
||||
recognized. If the String doesn't start with digits, the result is zero.
|
||||
recognized (NOTE: when using |scriptversion-4| octal is not recognized). If
|
||||
the String doesn't start with digits, the result is zero.
|
||||
Examples:
|
||||
String "456" --> Number 456 ~
|
||||
String "6bar" --> Number 6 ~
|
||||
@@ -487,7 +489,7 @@ as a key.
|
||||
To avoid having to put quotes around every key the #{} form can be used. This
|
||||
does require the key to consist only of ASCII letters, digits, '-' and '_'.
|
||||
Example: >
|
||||
let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
|
||||
:let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
|
||||
Note that 333 here is the string "333". Empty keys are not possible with #{}.
|
||||
|
||||
A value can be any expression. Using a Dictionary for a value creates a
|
||||
@@ -1661,6 +1663,10 @@ PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
|
||||
*E963*
|
||||
Some variables can be set by the user, but the type cannot be changed.
|
||||
|
||||
*v:argv* *argv-variable*
|
||||
v:argv The command line arguments Vim was invoked with. This is a
|
||||
list of strings. The first item is the Vim command.
|
||||
|
||||
*v:beval_col* *beval_col-variable*
|
||||
v:beval_col The number of the column, over which the mouse pointer is.
|
||||
This is the byte index in the |v:beval_lnum| line.
|
||||
@@ -2475,6 +2481,7 @@ getline({lnum}) String line {lnum} of current buffer
|
||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||
getloclist({nr} [, {what}]) List list of location list items
|
||||
getmatches([{win}]) List list of current matches
|
||||
getmousepos() Dict last known mouse position
|
||||
getpid() Number process ID of Vim
|
||||
getpos({expr}) List position of cursor, mark, etc.
|
||||
getqflist([{what}]) List list of quickfix items
|
||||
@@ -2525,6 +2532,7 @@ inputrestore() Number restore typeahead
|
||||
inputsave() Number save and clear typeahead
|
||||
inputsecret({prompt} [, {text}]) String like input() but hiding the text
|
||||
insert({object}, {item} [, {idx}]) List insert {item} in {object} [before {idx}]
|
||||
interrupt() none interrupt script execution
|
||||
invert({expr}) Number bitwise invert
|
||||
isdirectory({directory}) Number |TRUE| if {directory} is a directory
|
||||
isinf({expr}) Number determine if {expr} is infinity value
|
||||
@@ -2594,7 +2602,7 @@ or({expr}, {expr}) Number bitwise OR
|
||||
pathshorten({expr}) String shorten directory names in a path
|
||||
perleval({expr}) any evaluate |Perl| expression
|
||||
popup_atcursor({what}, {options}) Number create popup window near the cursor
|
||||
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
||||
popup_beval({what}, {options}) Number create popup window for 'ballooneval'
|
||||
popup_clear() none close all popup windows
|
||||
popup_close({id} [, {result}]) none close popup window {id}
|
||||
popup_create({what}, {options}) Number create a popup window
|
||||
@@ -2641,6 +2649,7 @@ pumvisible() Number whether popup menu is visible
|
||||
pyeval({expr}) any evaluate |Python| expression
|
||||
py3eval({expr}) any evaluate |python3| expression
|
||||
pyxeval({expr}) any evaluate |python_x| expression
|
||||
rand([{expr}]) Number get pseudo-random number
|
||||
range({expr} [, {max} [, {stride}]])
|
||||
List items from {expr} to {max}
|
||||
readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
|
||||
@@ -2661,7 +2670,7 @@ remote_read({serverid} [, {timeout}])
|
||||
remote_send({server}, {string} [, {idvar}])
|
||||
String send key sequence
|
||||
remote_startserver({name}) none become server {name}
|
||||
remove({list}, {idx} [, {end}]) any/List
|
||||
remove({list}, {idx} [, {end}]) any/List
|
||||
remove items {idx}-{end} from {list}
|
||||
remove({blob}, {idx} [, {end}]) Number/Blob
|
||||
remove bytes {idx}-{end} from {blob}
|
||||
@@ -2754,15 +2763,18 @@ spellsuggest({word} [, {max} [, {capital}]])
|
||||
split({expr} [, {pat} [, {keepempty}]])
|
||||
List make |List| from {pat} separated {expr}
|
||||
sqrt({expr}) Float square root of {expr}
|
||||
srand([{expr}]) List get seed for |rand()|
|
||||
state([{what}]) String current state of Vim
|
||||
str2float({expr}) Float convert String to Float
|
||||
str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
ASCII/UTF8 value
|
||||
str2nr({expr} [, {base}]) Number convert String to Number
|
||||
str2nr({expr} [, {base} [, {quoted}]])
|
||||
Number convert String to Number
|
||||
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||
strcharpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
||||
strftime({format} [, {time}]) String time in specified format
|
||||
strftime({format} [, {time}]) String format time with a specified format
|
||||
strgetchar({str}, {index}) Number get char {index} from {str}
|
||||
stridx({haystack}, {needle} [, {start}])
|
||||
Number index of {needle} in {haystack}
|
||||
@@ -2770,6 +2782,8 @@ string({expr}) String String representation of {expr} value
|
||||
strlen({expr}) Number length of the String {expr}
|
||||
strpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
strptime({format}, {timestring})
|
||||
Number Convert {timestring} to unix timestamp
|
||||
strridx({haystack}, {needle} [, {start}])
|
||||
Number last index of {needle} in {haystack}
|
||||
strtrans({expr}) String translate string to make it printable
|
||||
@@ -2816,6 +2830,7 @@ term_gettty({buf}, [{input}]) String get the tty name of a terminal
|
||||
term_list() List get the list of terminal buffers
|
||||
term_scrape({buf}, {row}) List get row of a terminal screen
|
||||
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
|
||||
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
|
||||
term_setansicolors({buf}, {colors})
|
||||
none set ANSI palette in GUI color mode
|
||||
term_setkill({buf}, {how}) none set signal to stop job in terminal
|
||||
@@ -2876,7 +2891,7 @@ win_id2tabwin({expr}) List get tab and window nr from window ID
|
||||
win_id2win({expr}) Number get window nr from window ID
|
||||
win_screenpos({nr}) List get screen position of window {nr}
|
||||
win_splitmove({nr}, {target} [, {options}])
|
||||
none move window {nr} to split of {target}
|
||||
Number move window {nr} to split of {target}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight({nr}) Number height of window {nr}
|
||||
@@ -2970,6 +2985,9 @@ append({lnum}, {text}) *append()*
|
||||
appendbufline({expr}, {lnum}, {text}) *appendbufline()*
|
||||
Like |append()| but append the text in buffer {expr}.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
For the use of {expr}, see |bufname()|.
|
||||
|
||||
{lnum} is used like with |append()|. Note that using |line()|
|
||||
@@ -3027,6 +3045,7 @@ argv([{nr} [, {winid}])
|
||||
the whole |arglist| is returned.
|
||||
|
||||
The {winid} argument specifies the window ID, see |argc()|.
|
||||
For the Vim command line arguments see |v:argv|.
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
@@ -3259,9 +3278,14 @@ bufnr([{expr} [, {create}]])
|
||||
The result is the number of a buffer, as it is displayed by
|
||||
the ":ls" command. For the use of {expr}, see |bufname()|
|
||||
above.
|
||||
|
||||
If the buffer doesn't exist, -1 is returned. Or, if the
|
||||
{create} argument is present and not zero, a new, unlisted,
|
||||
buffer is created and its number is returned.
|
||||
buffer is created and its number is returned. Example: >
|
||||
let newbuf = bufnr('Scratch001', 1)
|
||||
< Using an empty name uses the current buffer. To create a new
|
||||
buffer with an empty name use |bufadd()|.
|
||||
|
||||
bufnr("$") is the last buffer: >
|
||||
:let last_buffer = bufnr("$")
|
||||
< The result is a Number, which is the highest buffer number
|
||||
@@ -3531,8 +3555,8 @@ complete({startcol}, {matches}) *complete()* *E785*
|
||||
< This isn't very useful, but it shows how it works. Note that
|
||||
an empty string is returned to avoid a zero being inserted.
|
||||
|
||||
Can also be used as a |method|, the second argument is passed
|
||||
in: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetMatches()->complete(col('.'))
|
||||
|
||||
complete_add({expr}) *complete_add()*
|
||||
@@ -3667,7 +3691,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
|
||||
Can also be used as a |method|in: >
|
||||
BuildMessage()->confirm("&Yes\n&No")
|
||||
|
||||
<
|
||||
*copy()*
|
||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
@@ -3862,6 +3886,9 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
|
||||
If {last} is omitted then delete line {first} only.
|
||||
On success 0 is returned, on failure 1 is returned.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
{first} and {last} are used like with |getline()|. Note that
|
||||
@@ -3870,7 +3897,7 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->deletebufline(1)
|
||||
|
||||
<
|
||||
*did_filetype()*
|
||||
did_filetype() Returns |TRUE| when autocommands are being executed and the
|
||||
FileType event has been triggered at least once. Can be used
|
||||
@@ -4031,7 +4058,7 @@ exepath({expr}) *exepath()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCommand()->exepath()
|
||||
|
||||
<
|
||||
*exists()*
|
||||
exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
zero otherwise.
|
||||
@@ -4227,8 +4254,8 @@ expandcmd({expr}) *expandcmd()*
|
||||
Expand special items in {expr} like what is done for an Ex
|
||||
command such as `:edit`. This expands special keywords, like
|
||||
with |expand()|, and environment variables, anywhere in
|
||||
{expr}. Returns the expanded string.
|
||||
Example: >
|
||||
{expr}. "~user" and "~/path" are only expanded at the start.
|
||||
Returns the expanded string. Example: >
|
||||
:echo expandcmd('make %<.o')
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
@@ -4557,7 +4584,7 @@ foldlevel({lnum}) *foldlevel()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->foldlevel()
|
||||
|
||||
<
|
||||
*foldtext()*
|
||||
foldtext() Returns a String, to be displayed for a closed fold. This is
|
||||
the default function used for the 'foldtext' option and should
|
||||
@@ -4763,6 +4790,10 @@ getbufinfo([{dict}])
|
||||
changed TRUE if the buffer is modified.
|
||||
changedtick number of changes made to the buffer.
|
||||
hidden TRUE if the buffer is hidden.
|
||||
lastused timestamp in seconds, like
|
||||
|localtime()|, when the buffer was
|
||||
last used.
|
||||
{only with the |+viminfo| feature}
|
||||
listed TRUE if the buffer is listed.
|
||||
lnum current line number in buffer.
|
||||
loaded TRUE if the buffer is loaded.
|
||||
@@ -4894,8 +4925,9 @@ getchar([expr]) *getchar()*
|
||||
|
||||
When the user clicks a mouse button, the mouse event will be
|
||||
returned. The position can then be found in |v:mouse_col|,
|
||||
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|. This
|
||||
example positions the mouse as it would normally happen: >
|
||||
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
|
||||
|getmousepos()| can also be used. This example positions the
|
||||
mouse as it would normally happen: >
|
||||
let c = getchar()
|
||||
if c == "\<LeftMouse>" && v:mouse_win > 0
|
||||
exe v:mouse_win . "wincmd w"
|
||||
@@ -5305,6 +5337,35 @@ getmatches([{win}]) *getmatches()*
|
||||
'pattern': 'FIXME', 'priority': 10, 'id': 2}] >
|
||||
:unlet m
|
||||
<
|
||||
getmousepos() *getmousepos()*
|
||||
Returns a Dictionary with the last known position of the
|
||||
mouse. This can be used in a mapping for a mouse click or in
|
||||
a filter of a popup window. The items are:
|
||||
screenrow screen row
|
||||
screencol screen column
|
||||
winid Window ID of the click
|
||||
winrow row inside "winid"
|
||||
wincol column inside "winid"
|
||||
line text line inside "winid"
|
||||
column text column inside "winid"
|
||||
All numbers are 1-based.
|
||||
|
||||
If not over a window, e.g. when in the command line, then only
|
||||
"screenrow" and "screencol" are valid, the others are zero.
|
||||
|
||||
When on the status line below a window or the vertical
|
||||
separater right of a window, the "line" and "column" values
|
||||
are zero.
|
||||
|
||||
When the position is after the text then "column" is the
|
||||
length of the text in bytes.
|
||||
|
||||
If the mouse is over a popup window then that window is used.
|
||||
|
||||
|
||||
When using |getchar()| the Vim variables |v:mouse_lnum|,
|
||||
|v:mouse_col| and |v:mouse_winid| also provide these values.
|
||||
|
||||
*getpid()*
|
||||
getpid() Return a Number which is the process ID of the Vim process.
|
||||
On Unix and MS-Windows this is a unique number, until Vim
|
||||
@@ -5579,7 +5640,7 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
terminal 1 if a terminal window
|
||||
{only with the +terminal feature}
|
||||
tabnr tab page number
|
||||
topline first displayed buffer line
|
||||
topline first displayed buffer line
|
||||
variables a reference to the dictionary with
|
||||
window-local variables
|
||||
width window width
|
||||
@@ -5597,7 +5658,7 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
|
||||
getwinpos([{timeout}]) *getwinpos()*
|
||||
The result is a list with two numbers, the result of
|
||||
getwinposx() and getwinposy() combined:
|
||||
|getwinposx()| and |getwinposy()| combined:
|
||||
[x-pos, y-pos]
|
||||
{timeout} can be used to specify how long to wait in msec for
|
||||
a response from the terminal. When omitted 100 msec is used.
|
||||
@@ -5839,7 +5900,7 @@ histadd({history}, {item}) *histadd()*
|
||||
:let date=input("Enter date: ")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used for the
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetHistory()->histadd('search')
|
||||
|
||||
@@ -6124,6 +6185,19 @@ insert({object}, {item} [, {idx}]) *insert()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->insert(item)
|
||||
|
||||
interrupt() *interrupt()*
|
||||
Interrupt script execution. It works more or less like the
|
||||
user typing CTRL-C, most commands won't execute and control
|
||||
returns to the user. This is useful to abort execution
|
||||
from lower down, e.g. in an autocommand. Example: >
|
||||
:function s:check_typoname(file)
|
||||
: if fnamemodify(a:file, ':t') == '['
|
||||
: echomsg 'Maybe typo'
|
||||
: call interrupt()
|
||||
: endif
|
||||
:endfunction
|
||||
:au BufWritePre * call s:check_typoname(expand('<amatch>'))
|
||||
|
||||
invert({expr}) *invert()*
|
||||
Bitwise invert. The argument is converted to a number. A
|
||||
List, Dict or Float argument causes an error. Example: >
|
||||
@@ -6367,8 +6441,8 @@ libcall({libname}, {funcname}, {argument})
|
||||
Examples: >
|
||||
:echo libcall("libc.so", "getenv", "HOME")
|
||||
|
||||
< Can also be used as a |method|, where the base is passed as
|
||||
the argument to the called function: >
|
||||
< Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->libcall("libc.so", "getenv")
|
||||
<
|
||||
*libcallnr()*
|
||||
@@ -6382,8 +6456,8 @@ libcallnr({libname}, {funcname}, {argument})
|
||||
:call libcallnr("libc.so", "printf", "Hello World!\n")
|
||||
:call libcallnr("libc.so", "sleep", 10)
|
||||
<
|
||||
Can also be used as a |method|, where the base is passed as
|
||||
the argument to the called function: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->libcallnr("libc.so", "printf")
|
||||
<
|
||||
|
||||
@@ -6477,8 +6551,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
a:bufnr the buffer that was changed
|
||||
a:start first changed line number
|
||||
a:end first line number below the change
|
||||
a:added total number of lines added, negative if lines
|
||||
were deleted
|
||||
a:added number of lines added, negative if lines were
|
||||
deleted
|
||||
a:changes a List of items with details about the changes
|
||||
|
||||
Example: >
|
||||
@@ -6534,8 +6608,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
The {callback} is also not invoked when the buffer is
|
||||
unloaded, use the |BufUnload| autocmd event for that.
|
||||
|
||||
Can also be used as a |method|, where the base is passed as
|
||||
the second argument, the buffer: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetBuffer()->listener_add(callback)
|
||||
|
||||
listener_flush([{buf}]) *listener_flush()*
|
||||
@@ -6559,7 +6633,7 @@ listener_remove({id}) *listener_remove()*
|
||||
|
||||
localtime() *localtime()*
|
||||
Return the current time, measured as seconds since 1st Jan
|
||||
1970. See also |strftime()| and |getftime()|.
|
||||
1970. See also |strftime()|, |strptime()| and |getftime()|.
|
||||
|
||||
|
||||
log({expr}) *log()*
|
||||
@@ -7005,6 +7079,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetText()->matchstrpos('word')
|
||||
<
|
||||
*max()*
|
||||
max({expr}) Return the maximum value of all items in {expr}.
|
||||
{expr} can be a list or a dictionary. For a dictionary,
|
||||
@@ -7047,9 +7122,9 @@ mkdir({name} [, {path} [, {prot}]])
|
||||
|
||||
There is no error if the directory already exists and the "p"
|
||||
flag is passed (since patch 8.0.1708). However, without the
|
||||
"p" option the call will fail.
|
||||
"p" option the call will fail.
|
||||
|
||||
The function result is a Number, which is 1 if the call was
|
||||
The function result is a Number, which is 1 if the call was
|
||||
successful or 0 if the directory creation failed or partly
|
||||
failed.
|
||||
|
||||
@@ -7064,6 +7139,7 @@ mode([expr]) Return a string that indicates the current mode.
|
||||
If [expr] is supplied and it evaluates to a non-zero Number or
|
||||
a non-empty String (|non-zero-arg|), then the full mode is
|
||||
returned, otherwise only the first letter is returned.
|
||||
Also see |state()|.
|
||||
|
||||
n Normal, Terminal-Normal
|
||||
no Operator-pending
|
||||
@@ -7489,7 +7565,7 @@ pum_getpos() *pum_getpos()*
|
||||
row top screen row (0 first row)
|
||||
col leftmost screen column (0 first col)
|
||||
size total nr of items
|
||||
scrollbar |TRUE| if visible
|
||||
scrollbar |TRUE| if scrollbar is visible
|
||||
|
||||
The values are the same as in |v:event| during
|
||||
|CompleteChanged|.
|
||||
@@ -7564,6 +7640,21 @@ range({expr} [, {max} [, {stride}]]) *range()*
|
||||
Can also be used as a |method|: >
|
||||
GetExpr()->range()
|
||||
<
|
||||
|
||||
rand([{expr}]) *rand()*
|
||||
Return a pseudo-random Number generated with an xoshiro128**
|
||||
algorithm using seed {expr}. The returned number is 32 bits,
|
||||
also on 64 bits systems, for consistency.
|
||||
{expr} can be initialized by |srand()| and will be updated by
|
||||
rand(). If {expr} is omitted, an internal seed value is used
|
||||
and updated.
|
||||
|
||||
Examples: >
|
||||
:echo rand()
|
||||
:let seed = srand()
|
||||
:echo rand(seed)
|
||||
:echo rand(seed) % 16 " random number 0 - 15
|
||||
<
|
||||
*readdir()*
|
||||
readdir({directory} [, {expr}])
|
||||
Return a list with file and directory names in {directory}.
|
||||
@@ -8260,20 +8351,31 @@ serverlist() *serverlist()*
|
||||
:echo serverlist()
|
||||
<
|
||||
setbufline({expr}, {lnum}, {text}) *setbufline()*
|
||||
Set line {lnum} to {text} in buffer {expr}. To insert
|
||||
lines use |append()|. Any text properties in {lnum} are
|
||||
cleared.
|
||||
Set line {lnum} to {text} in buffer {expr}. This works like
|
||||
|setline()| for the specified buffer.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
To insert lines use |appendbufline()|.
|
||||
Any text properties in {lnum} are cleared.
|
||||
|
||||
{text} can be a string to set one line, or a list of strings
|
||||
to set multiple lines. If the list extends below the last
|
||||
line then those lines are added.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
{lnum} is used like with |setline()|.
|
||||
This works like |setline()| for the specified buffer.
|
||||
When {lnum} is just below the last line the {text} will be
|
||||
added below the last line.
|
||||
|
||||
When {expr} is not a valid buffer, the buffer is not loaded or
|
||||
{lnum} is not valid then 1 is returned. On success 0 is
|
||||
returned.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetText()->setbufline(buf, lnum)
|
||||
|
||||
setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
@@ -8289,7 +8391,8 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
:call setbufvar("todo", "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->setbufvar(buf, varname)
|
||||
|
||||
setcharsearch({dict}) *setcharsearch()*
|
||||
@@ -8338,7 +8441,8 @@ setenv({name}, {val}) *setenv()*
|
||||
When {val} is |v:null| the environment variable is deleted.
|
||||
See also |expr-env|.
|
||||
|
||||
Can also be used as a |method|, passing the value as the base: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetPath()->setenv('PATH')
|
||||
|
||||
setfperm({fname}, {mode}) *setfperm()* *chmod*
|
||||
@@ -8369,7 +8473,7 @@ setline({lnum}, {text}) *setline()*
|
||||
|
||||
{lnum} is used like with |getline()|.
|
||||
When {lnum} is just below the last line the {text} will be
|
||||
added as a new line.
|
||||
added below the last line.
|
||||
|
||||
If this succeeds, 0 is returned. If this fails (most likely
|
||||
because {lnum} is invalid) 1 is returned.
|
||||
@@ -8387,7 +8491,8 @@ setline({lnum}, {text}) *setline()*
|
||||
|
||||
< Note: The '[ and '] marks are not set.
|
||||
|
||||
Can also be used as a |method|, passing the text as the base: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetText()->setline(lnum)
|
||||
|
||||
setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
||||
@@ -8636,7 +8741,8 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
|
||||
Tabs are numbered starting with one.
|
||||
This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used as the value: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->settabvar(tab, name)
|
||||
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
@@ -8657,7 +8763,8 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used as the value: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
fourth argument: >
|
||||
GetValue()->settabvar(tab, winnr, name)
|
||||
|
||||
settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
@@ -8691,7 +8798,8 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
call settagstack(1003, stack)
|
||||
unlet stack
|
||||
<
|
||||
Can also be used as a |method|, the base is used as the Dict: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetStack()->settagstack(winnr)
|
||||
|
||||
setwinvar({winnr}, {varname}, {val}) *setwinvar()*
|
||||
@@ -8700,7 +8808,8 @@ setwinvar({winnr}, {varname}, {val}) *setwinvar()*
|
||||
:call setwinvar(1, "&list", 0)
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
|
||||
< Can also be used as a |method|, the base is used as the value: >
|
||||
< Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->setwinvar(winnr, name)
|
||||
|
||||
sha256({string}) *sha256()*
|
||||
@@ -9039,6 +9148,56 @@ sqrt({expr}) *sqrt()*
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
|
||||
srand([{expr}]) *srand()*
|
||||
Initialize seed used by |rand()|:
|
||||
- If {expr} is not given, seed values are initialized by
|
||||
reading from /dev/urandom, if possible, or using time(NULL)
|
||||
a.k.a. epoch time otherwise; this only has second accuracy.
|
||||
- If {expr} is given it must be a Number. It is used to
|
||||
initialize the seed values. This is useful for testing or
|
||||
when a predictable sequence is intended.
|
||||
|
||||
Examples: >
|
||||
:let seed = srand()
|
||||
:let seed = srand(userinput)
|
||||
:echo rand(seed)
|
||||
|
||||
state([{what}]) *state()*
|
||||
Return a string which contains characters indicating the
|
||||
current state. Mostly useful in callbacks that want to do
|
||||
work that may not always be safe. Roughly this works like:
|
||||
- callback uses state() to check if work is safe to do.
|
||||
Yes: then do it right away.
|
||||
No: add to work queue and add a |SafeState| and/or
|
||||
|SafeStateAgain| autocommand (|SafeState| triggers at
|
||||
toplevel, |SafeStateAgain| triggers after handling
|
||||
messages and callbacks).
|
||||
- When SafeState or SafeStateAgain is triggered and executes
|
||||
your autocommand, check with `state()` if the work can be
|
||||
done now, and if yes remove it from the queue and execute.
|
||||
Remove the autocommand if the queue is now empty.
|
||||
Also see |mode()|.
|
||||
|
||||
When {what} is given only characters in this string will be
|
||||
added. E.g, this checks if the screen has scrolled: >
|
||||
if state('s') == ''
|
||||
" screen has not scrolled
|
||||
<
|
||||
These characters indicate the state, generally indicating that
|
||||
something is busy:
|
||||
m halfway a mapping, :normal command, feedkeys() or
|
||||
stuffed command
|
||||
o operator pending or waiting for a command argument,
|
||||
e.g. after |f|
|
||||
a Insert mode autocomplete active
|
||||
x executing an autocommand
|
||||
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
||||
ch_readraw() when reading json.
|
||||
S not triggering SafeState or SafeStateAgain
|
||||
c callback invoked, including timer (repeats for
|
||||
recursiveness up to "ccc")
|
||||
s screen has scrolled for messages
|
||||
|
||||
str2float({expr}) *str2float()*
|
||||
Convert String {expr} to a Float. This mostly works the same
|
||||
as when using a floating point number in an expression, see
|
||||
@@ -9075,14 +9234,16 @@ str2list({expr} [, {utf8}]) *str2list()*
|
||||
GetString()->str2list()
|
||||
|
||||
|
||||
str2nr({expr} [, {base}]) *str2nr()*
|
||||
str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
|
||||
Convert string {expr} to a number.
|
||||
{base} is the conversion base, it can be 2, 8, 10 or 16.
|
||||
When {quoted} is present and non-zero then embedded single
|
||||
quotes are ignored, thus "1'000'000" is a million.
|
||||
|
||||
When {base} is omitted base 10 is used. This also means that
|
||||
a leading zero doesn't cause octal conversion to be used, as
|
||||
with the default String to Number conversion. Example: >
|
||||
let nr = str2nr('123')
|
||||
let nr = str2nr('0123')
|
||||
<
|
||||
When {base} is 16 a leading "0x" or "0X" is ignored. With a
|
||||
different base the result will be zero. Similarly, when
|
||||
@@ -9154,7 +9315,7 @@ strftime({format} [, {time}]) *strftime()*
|
||||
{format} depends on your system, thus this is not portable!
|
||||
See the manual page of the C function strftime() for the
|
||||
format. The maximum length of the result is 80 characters.
|
||||
See also |localtime()| and |getftime()|.
|
||||
See also |localtime()|, |getftime()| and |strptime()|.
|
||||
The language can be changed with the |:language| command.
|
||||
Examples: >
|
||||
:echo strftime("%c") Sun Apr 27 11:49:23 1997
|
||||
@@ -9199,6 +9360,7 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetHaystack()->stridx(needle)
|
||||
<
|
||||
*string()*
|
||||
string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
||||
Float, String, Blob or a composition of them, then the result
|
||||
@@ -9254,6 +9416,34 @@ strpart({src}, {start} [, {len}]) *strpart()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->strpart(5)
|
||||
|
||||
strptime({format}, {timestring}) *strptime()*
|
||||
The result is a Number, which is a unix timestamp representing
|
||||
the date and time in {timestring}, which is expected to match
|
||||
the format specified in {format}.
|
||||
|
||||
The accepted {format} depends on your system, thus this is not
|
||||
portable! See the manual page of the C function strptime()
|
||||
for the format. Especially avoid "%c". The value of $TZ also
|
||||
matters.
|
||||
|
||||
If the {timestring} cannot be parsed with {format} zero is
|
||||
returned. If you do not know the format of {timestring} you
|
||||
can try different {format} values until you get a non-zero
|
||||
result.
|
||||
|
||||
See also |strftime()|.
|
||||
Examples: >
|
||||
:echo strptime("%Y %b %d %X", "1997 Apr 27 11:49:23")
|
||||
< 862156163 >
|
||||
:echo strftime("%c", strptime("%y%m%d %T", "970427 11:53:55"))
|
||||
< Sun Apr 27 11:53:55 1997 >
|
||||
:echo strftime("%c", strptime("%Y%m%d%H%M%S", "19970427115355") + 3600)
|
||||
< Sun Apr 27 12:53:55 1997
|
||||
|
||||
Not available on all systems. To check use: >
|
||||
:if exists("*strptime")
|
||||
|
||||
|
||||
strridx({haystack}, {needle} [, {start}]) *strridx()*
|
||||
The result is a Number, which gives the byte index in
|
||||
{haystack} of the last occurrence of the String {needle}.
|
||||
@@ -9586,9 +9776,14 @@ systemlist({expr} [, {input}]) *systemlist()*
|
||||
Same as |system()|, but returns a |List| with lines (parts of
|
||||
output separated by NL) with NULs transformed into NLs. Output
|
||||
is the same as |readfile()| will output with {binary} argument
|
||||
set to "b". Note that on MS-Windows you may get trailing CR
|
||||
characters.
|
||||
set to "b", except that there is no extra empty item when the
|
||||
result ends in a NL.
|
||||
Note that on MS-Windows you may get trailing CR characters.
|
||||
|
||||
To see the difference between "echo hello" and "echo -n hello"
|
||||
use |system()| and |split()|: >
|
||||
echo system('echo hello')->split('\n', 1)
|
||||
<
|
||||
Returns an empty string on error.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@@ -10089,8 +10284,8 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
|
||||
Not all commands are allowed in popup windows.
|
||||
When window {id} does not exist then no error is given.
|
||||
|
||||
Can also be used as a |method|, the base is used for the
|
||||
command: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetCommand()->win_execute(winid)
|
||||
|
||||
win_findbuf({bufnr}) *win_findbuf()*
|
||||
@@ -10408,11 +10603,11 @@ xor({expr}, {expr}) *xor()*
|
||||
to a number. A List, Dict or Float argument causes an error.
|
||||
Example: >
|
||||
:let bits = xor(bits, 0x80)
|
||||
< Can also be used as a |method|: >
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
:let bits = bits->xor(0x80)
|
||||
<
|
||||
|
||||
|
||||
*feature-list*
|
||||
There are four types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
@@ -10481,7 +10676,7 @@ eval Compiled with expression evaluation support. Always
|
||||
ex_extra |+ex_extra| (always true)
|
||||
extra_search Compiled with support for |'incsearch'| and
|
||||
|'hlsearch'|
|
||||
farsi Compiled with Farsi support |farsi|.
|
||||
farsi Support for Farsi was removed |farsi|.
|
||||
file_in_path Compiled with support for |gf| and |<cfile>|
|
||||
filterpipe When 'shelltemp' is off pipes are used for shell
|
||||
read/write/filter commands
|
||||
@@ -10607,6 +10802,7 @@ ttyout output is a terminal (tty)
|
||||
unix Unix version of Vim. *+unix*
|
||||
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
|
||||
user_commands User-defined commands. (always true)
|
||||
vartabs Compiled with variable tabstop support |'vartabstop'|.
|
||||
vcon Win32: Virtual console support is working, can use
|
||||
'termguicolors'. Also see |+vtp|.
|
||||
vertsplit Compiled with vertically split windows |:vsplit|.
|
||||
@@ -11285,21 +11481,22 @@ This does NOT work: >
|
||||
|
||||
*:let=<<* *:let-heredoc*
|
||||
*E990* *E991* *E172* *E221*
|
||||
:let {var-name} =<< [trim] {marker}
|
||||
:let {var-name} =<< [trim] {endmarker}
|
||||
text...
|
||||
text...
|
||||
{marker}
|
||||
{endmarker}
|
||||
Set internal variable {var-name} to a List containing
|
||||
the lines of text bounded by the string {marker}.
|
||||
{marker} must not contain white space.
|
||||
{marker} cannot start with a lower case character.
|
||||
The last line should end only with the {marker} string
|
||||
without any other character. Watch out for white
|
||||
space after {marker}!
|
||||
the lines of text bounded by the string {endmarker}.
|
||||
{endmarker} must not contain white space.
|
||||
{endmarker} cannot start with a lower case character.
|
||||
The last line should end only with the {endmarker}
|
||||
string without any other character. Watch out for
|
||||
white space after {endmarker}!
|
||||
|
||||
Without "trim" any white space characters in the lines
|
||||
of text are preserved. If "trim" is specified before
|
||||
{marker}, then indentation is stripped so you can do: >
|
||||
{endmarker}, then indentation is stripped so you can
|
||||
do: >
|
||||
let text =<< trim END
|
||||
if ok
|
||||
echo 'done'
|
||||
@@ -11313,23 +11510,31 @@ text...
|
||||
non-empty text line is stripped from the input lines.
|
||||
All leading indentation exactly matching the leading
|
||||
indentation before `let` is stripped from the line
|
||||
containing {marker}. Note that the difference between
|
||||
space and tab matters here.
|
||||
containing {endmarker}. Note that the difference
|
||||
between space and tab matters here.
|
||||
|
||||
If {var-name} didn't exist yet, it is created.
|
||||
Cannot be followed by another command, but can be
|
||||
followed by a comment.
|
||||
|
||||
To avoid line continuation to be applied, consider
|
||||
adding 'C' to 'cpoptions': >
|
||||
set cpo+=C
|
||||
let var =<< END
|
||||
\ leading backslash
|
||||
END
|
||||
set cpo-=C
|
||||
<
|
||||
Examples: >
|
||||
let var1 =<< END
|
||||
Sample text 1
|
||||
Sample text 2
|
||||
Sample text 3
|
||||
END
|
||||
Sample text 1
|
||||
Sample text 2
|
||||
Sample text 3
|
||||
END
|
||||
|
||||
let data =<< trim DATA
|
||||
1 2 3 4
|
||||
5 6 7 8
|
||||
1 2 3 4
|
||||
5 6 7 8
|
||||
DATA
|
||||
<
|
||||
*E121*
|
||||
@@ -11457,21 +11662,6 @@ text...
|
||||
Unlock the internal variable {name}. Does the
|
||||
opposite of |:lockvar|.
|
||||
|
||||
*:eval*
|
||||
:eval {expr} Evaluate {expr} and discard the result. Example: >
|
||||
:eval Getlist()->Filter()->append('$')
|
||||
|
||||
< The expression is supposed to have a side effect,
|
||||
since the resulting value is not used. In the example
|
||||
the `append()` call appends the List with text to the
|
||||
buffer. This is similar to `:call` but works with any
|
||||
expression.
|
||||
|
||||
The command can be shortened to `:ev` or `:eva`, but
|
||||
these are hard to recognize and therefore not to be
|
||||
used.
|
||||
|
||||
|
||||
:if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580*
|
||||
:en[dif] Execute the commands until the next matching ":else"
|
||||
or ":endif" if {expr1} evaluates to non-zero.
|
||||
@@ -11758,6 +11948,21 @@ text...
|
||||
And to get a beep: >
|
||||
:exe "normal \<Esc>"
|
||||
<
|
||||
*:eval*
|
||||
:eval {expr} Evaluate {expr} and discard the result. Example: >
|
||||
:eval Getlist()->Filter()->append('$')
|
||||
|
||||
< The expression is supposed to have a side effect,
|
||||
since the resulting value is not used. In the example
|
||||
the `append()` call appends the List with text to the
|
||||
buffer. This is similar to `:call` but works with any
|
||||
expression.
|
||||
|
||||
The command can be shortened to `:ev` or `:eva`, but
|
||||
these are hard to recognize and therefore not to be
|
||||
used.
|
||||
|
||||
|
||||
*:exe* *:execute*
|
||||
:exe[cute] {expr1} .. Executes the string that results from the evaluation
|
||||
of {expr1} as an Ex command.
|
||||
@@ -12937,6 +13142,23 @@ instead of failing in mysterious ways.
|
||||
|
||||
Test for support with: >
|
||||
has('vimscript-3')
|
||||
<
|
||||
*scriptversion-4* >
|
||||
:scriptversion 4
|
||||
< Numbers with a leading zero are not recognized as octal. With the
|
||||
previous version you get: >
|
||||
echo 017 " displays 15
|
||||
echo 018 " displays 18
|
||||
< with script version 4: >
|
||||
echo 017 " displays 17
|
||||
echo 018 " displays 18
|
||||
< Also, it is possible to use single quotes inside numbers to make them
|
||||
easier to read: >
|
||||
echo 1'000'000
|
||||
< The quotes must be surrounded by digits.
|
||||
|
||||
Test for support with: >
|
||||
has('vimscript-4')
|
||||
|
||||
==============================================================================
|
||||
11. No +eval feature *no-eval-feature*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*farsi.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*farsi.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.1. Last change: 2019 Jul 16
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2019 Jul 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -595,6 +595,10 @@ If you do not like the default folding, use an autocommand to add your desired
|
||||
folding style instead. For example: >
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
|
||||
If you would like :Man {number} {name} to behave like man {number} {name} by
|
||||
not running man {name} if no page is found, then use this: >
|
||||
let g:ft_man_no_sect_fallback = 1
|
||||
|
||||
You may also want to set 'keywordprg' to make the |K| command open a manual
|
||||
page in a Vim window: >
|
||||
set keywordprg=:Man
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*fold.txt* For Vim version 8.2. Last change: 2019 Jun 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_ada.txt* For Vim version 8.1. Last change: 2010 Jul 20
|
||||
*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20
|
||||
|
||||
|
||||
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
|
||||
*ft_rust.txt* For Vim version 8.2. Last change: 2017 Nov 02
|
||||
|
||||
This is documentation for the Rust filetype plugin.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
|
||||
*ft_sql.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -342,8 +342,8 @@ The defaults static maps are: >
|
||||
imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
|
||||
imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
|
||||
|
||||
The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it
|
||||
may not work properly on all platforms: >
|
||||
The use of "<C-C>" can be user chosen by using the following in your |.vimrc|
|
||||
as it may not work properly on all platforms: >
|
||||
let g:ftplugin_sql_omni_key = '<C-C>'
|
||||
>
|
||||
The static maps (which are based on the syntax highlight groups) follow this
|
||||
@@ -522,7 +522,7 @@ The SQL completion plugin can also display a list of columns for particular
|
||||
tables. The column completion is trigger via <C-C>c.
|
||||
|
||||
NOTE: The following example uses <Right> to trigger a column list while
|
||||
the popup window is active.
|
||||
the popup window is active.
|
||||
|
||||
Example of using column completion:
|
||||
- Press <C-C>t again to display the list of tables.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.1. Last change: 2019 Aug 21
|
||||
*gui.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -309,7 +309,7 @@ because the menu command will always be applied to the top window.
|
||||
|
||||
If you are on the ':' line (or '/' or '?'), then clicking the left or right
|
||||
mouse button will position the cursor on the ':' line (if 'mouse' contains
|
||||
'c', 'a' or 'A').
|
||||
'c' or 'a').
|
||||
|
||||
In any situation the middle mouse button may be clicked to paste the current
|
||||
selection.
|
||||
@@ -560,8 +560,9 @@ floating menus that do not appear on the main menu bar.
|
||||
*E330* *E327* *E331* *E336* *E333*
|
||||
*E328* *E329* *E337* *E792*
|
||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
||||
the ":map" set of commands but the first argument is a menu item name, given
|
||||
as a path of menus and submenus with a '.' between them, e.g.: >
|
||||
the ":map" set of commands (see |map-modes|), but the first argument is a menu
|
||||
item name, given as a path of menus and submenus with a '.' between them,
|
||||
e.g.: >
|
||||
|
||||
:menu File.Save :w<CR>
|
||||
:inoremenu File.Save <C-O>:w<CR>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*gui_w32.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -171,14 +171,14 @@ you can.
|
||||
path {path}\gvim.exe
|
||||
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6
|
||||
DisplayName Vim 5.6: Edit with Vim popup menu entry
|
||||
UninstallString {path}\uninstal.exe
|
||||
UninstallString {path}\uninstall.exe
|
||||
|
||||
Replace {path} with the path that leads to the executable.
|
||||
Don't type {default}, this is the value for the key itself.
|
||||
|
||||
To remove "Edit with Vim" from the popup menu, just remove the registry
|
||||
entries mentioned above. The "uninstal.exe" program can do this for you. You
|
||||
can also use the entry in the Windows standard "Add/Remove Programs" list.
|
||||
entries mentioned above. The "uninstall.exe" program can do this for you.
|
||||
You can also use the entry in the Windows standard "Add/Remove Programs" list.
|
||||
|
||||
If you notice that this entry overrules other file type associations, set
|
||||
those associations again by hand (using Windows Explorer, see above). This
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*gui_x11.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,112 +1,17 @@
|
||||
*hangulin.txt* For Vim version 8.1. Last change: 2015 Nov 24
|
||||
*hangulin.txt* For Vim version 8.2. Last change: 2019 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||
|
||||
*hangul*
|
||||
Vim had built-in support for hangul, the Korean language, for users without
|
||||
XIM (X Input Method). Since it didn't work well and was not maintained it was
|
||||
removed in Vim 8.1.2327.
|
||||
|
||||
Introduction *hangul*
|
||||
------------
|
||||
It is to input hangul, the Korean language, with Vim GUI version.
|
||||
If you have a XIM program, you can use another |+xim| feature.
|
||||
Basically, it is for anybody who has no XIM program.
|
||||
If you want this hangul input mehod you can go back to Vim 8.1.2326 or
|
||||
earlier. If you think this code is still useful and want to maintain it, make
|
||||
a patch to add it back. However, making it work with UTF-8 encoding would be
|
||||
best.
|
||||
|
||||
Compile
|
||||
-------
|
||||
Next is a basic option. You can add any other configure option. >
|
||||
|
||||
./configure --with-x --enable-multibyte --enable-hangulinput \
|
||||
--disable-xim
|
||||
|
||||
And you should check feature.h. If |+hangul_input| feature is enabled
|
||||
by configure, you can select more options such as keyboard type, 2 bulsik
|
||||
or 3 bulsik. You can find keywords like next in there. >
|
||||
|
||||
#define HANGUL_DEFAULT_KEYBOARD 2
|
||||
#define ESC_CHG_TO_ENG_MODE
|
||||
/* #define X_LOCALE */
|
||||
|
||||
Environment variables
|
||||
---------------------
|
||||
You should set LANG variable to Korean locale such as ko, ko_KR.eucKR
|
||||
or ko_KR.UTF-8.
|
||||
If you set LC_ALL variable, it should be set to Korean locale also.
|
||||
|
||||
Vim resource
|
||||
------------
|
||||
You may want to set 'encoding' and 'fileencodings'.
|
||||
Next are examples: >
|
||||
|
||||
:set encoding=euc-kr
|
||||
:set encoding=utf-8
|
||||
:set fileencodings=ucs-bom,utf-8,cp949,euc-kr,latin1
|
||||
|
||||
Keyboard
|
||||
--------
|
||||
You can change keyboard type (2 bulsik or 3 bulsik) using VIM_KEYBOARD
|
||||
or HANGUL_KEYBOARD_TYPE environment variables. For sh, just do (2 bulsik): >
|
||||
|
||||
export VIM_KEYBOARD="2"
|
||||
or >
|
||||
export HANGUL_KEYBOARD_TYPE="2"
|
||||
|
||||
If both are set, VIM_KEYBOARD has higher priority.
|
||||
|
||||
Hangul Fonts
|
||||
------------
|
||||
If you use GTK version of gvim, you should set 'guifont' and 'guifontwide'.
|
||||
For example: >
|
||||
set guifont=Courier\ 12
|
||||
set guifontwide=NanumGothicCoding\ 12
|
||||
|
||||
If you use Motif or Athena version of gvim, you should set 'guifontset' in
|
||||
your vimrc. You can set fontset in the .Xdefaults file.
|
||||
|
||||
$HOME/.gvimrc: >
|
||||
set guifontset=english_font,hangul_font
|
||||
|
||||
$HOME/.Xdefaults: >
|
||||
Vim.font: english_font
|
||||
|
||||
! Nexts are for hangul menu with Athena
|
||||
*international: True
|
||||
Vim*fontSet: english_font,hangul_font
|
||||
|
||||
! Nexts are for hangul menu with Motif
|
||||
*international: True
|
||||
Vim*fontList: english_font;hangul_font:
|
||||
|
||||
attention! the , (comma) or ; (semicolon)
|
||||
|
||||
And there should be no ':set guifont'. If it exists, then gvim ignores
|
||||
':set guifontset'. It means Vim runs without fontset supporting.
|
||||
So, you can see only English. Hangul does not be correctly displayed.
|
||||
|
||||
After "fontset" feature is enabled, Vim does not allow using english
|
||||
font only in "font" setting for syntax.
|
||||
For example, if you use >
|
||||
:set guifontset=eng_font,your_font
|
||||
in your .gvimrc, then you should do for syntax >
|
||||
:hi Comment guifg=Cyan font=another_eng_font,another_your_font
|
||||
If you just do >
|
||||
:hi Comment font=another_eng_font
|
||||
then you can see a error message. Be careful!
|
||||
|
||||
hangul_font width should be twice than english_font width.
|
||||
|
||||
Unsupported Feature
|
||||
-------------------
|
||||
We don't support Johab font.
|
||||
We don't support Hanja input.
|
||||
And We don't have any plan to support them.
|
||||
|
||||
If you really need such features, you can use console version of Vim with a
|
||||
capable terminal emulator.
|
||||
|
||||
Bug or Comment
|
||||
--------------
|
||||
Send comments, patches and suggestions to:
|
||||
|
||||
SungHyun Nam <goweol@gmail.com>
|
||||
Chi-Deok Hwang <...>
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*hebrew.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*hebrew.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*help.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2019 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -102,7 +102,11 @@ Help on help files *helphelp*
|
||||
current file. See |help-translated|.
|
||||
|
||||
*:helpc* *:helpclose*
|
||||
:helpc[lose] Close one help window, if there is one.
|
||||
:helpc[lose] Close one help window, if there is one.
|
||||
Vim will try to restore the window layout (including
|
||||
cursor position) to the same layout it was before
|
||||
opening the help window initially. This might cause
|
||||
triggering several autocommands.
|
||||
|
||||
*:helpg* *:helpgrep*
|
||||
:helpg[rep] {pattern}[@xx]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*howto.txt* For Vim version 8.1. Last change: 2006 Apr 02
|
||||
*howto.txt* For Vim version 8.2. Last change: 2006 Apr 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*if_cscop.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_mzsch.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
@@ -87,7 +87,7 @@ To avoid clashes with MzScheme, consider using prefix when requiring module,
|
||||
e.g.: >
|
||||
:mzscheme (require (prefix vim- vimext))
|
||||
<
|
||||
All the examples below assume this naming scheme.
|
||||
All the examples below assume this naming scheme.
|
||||
|
||||
*mzscheme-sandbox*
|
||||
When executed in the |sandbox|, access to some filesystem and Vim interface
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ole.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*if_ole.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -39,7 +39,7 @@ instance), code similar to the following should be used:
|
||||
$vim = new Win32::OLE 'Vim.Application';
|
||||
|
||||
[C#] >
|
||||
// Add a reference to Vim in your project.
|
||||
// Add a reference to Vim in your project.
|
||||
// Choose the COM tab.
|
||||
// Select "Vim Ole Interface 1.1 Type Library"
|
||||
Vim.Vim vimobj = new Vim.Vim();
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_perl.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -55,14 +55,14 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
|
||||
working: >
|
||||
:perl VIM::Msg("Hello")
|
||||
|
||||
:pe[rl] << [endpattern]
|
||||
:pe[rl] << [endmarker]
|
||||
{script}
|
||||
{endpattern}
|
||||
{endmarker}
|
||||
Execute Perl script {script}.
|
||||
The {endpattern} after {script} must NOT be preceded
|
||||
by any white space.
|
||||
The {endmarker} after {script} must NOT be preceded by
|
||||
any white space.
|
||||
|
||||
If [endpattern] is omitted, it defaults to a dot '.'
|
||||
If [endmarker] is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands. Using
|
||||
'.' helps when inside a function, because "$i;" looks
|
||||
like the start of an |:insert| command to Vim.
|
||||
@@ -180,7 +180,7 @@ VIM::Windows([{wn}...]) With no arguments, returns a list of all the windows
|
||||
VIM::DoCommand({cmd}) Executes Ex command {cmd}.
|
||||
|
||||
*perl-Eval*
|
||||
VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
|
||||
VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
|
||||
context or just value in scalar context.
|
||||
success=1 indicates that val contains the value of
|
||||
{expr}; success=0 indicates a failure to evaluate
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_pyth.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -183,7 +183,7 @@ vim.eval(str) *python-eval*
|
||||
:py text_width = vim.eval("&tw")
|
||||
:
|
||||
:" contents of the 'a' register
|
||||
:py a_reg = vim.eval("@a")
|
||||
:py a_reg = vim.eval("@a")
|
||||
:
|
||||
:" Result is a string! Use string.atoi() to convert to a number.
|
||||
:py str = vim.eval("12+12")
|
||||
@@ -194,25 +194,25 @@ vim.eval(str) *python-eval*
|
||||
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}] ~
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|
||||
vim.strwidth(str) *python-strwidth*
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
is counted as one cell.
|
||||
|
||||
vim.foreach_rtp(callable) *python-foreach_rtp*
|
||||
Call the given callable for each path in 'runtimepath' until either
|
||||
callable returns something but None, the exception is raised or there
|
||||
are no longer paths. If stopped in case callable returned non-None,
|
||||
Call the given callable for each path in 'runtimepath' until either
|
||||
callable returns something but None, the exception is raised or there
|
||||
are no longer paths. If stopped in case callable returned non-None,
|
||||
vim.foreach_rtp function returns the value returned by callable.
|
||||
|
||||
vim.chdir(*args, **kwargs) *python-chdir*
|
||||
vim.fchdir(*args, **kwargs) *python-fchdir*
|
||||
Run os.chdir or os.fchdir, then all appropriate vim stuff.
|
||||
Note: you should not use these functions directly, use os.chdir and
|
||||
os.fchdir instead. Behavior of vim.fchdir is undefined in case
|
||||
Note: you should not use these functions directly, use os.chdir and
|
||||
os.fchdir instead. Behavior of vim.fchdir is undefined in case
|
||||
os.fchdir does not exist.
|
||||
|
||||
Error object of the "vim" module
|
||||
@@ -247,15 +247,15 @@ vim.windows *python-windows*
|
||||
:py w in vim.windows # Membership test
|
||||
:py n = len(vim.windows) # Number of elements
|
||||
:py for w in vim.windows: # Sequential access
|
||||
< Note: vim.windows object always accesses current tab page.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
< Note: vim.windows object always accesses current tab page.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
they will not lose their properties in this case.
|
||||
|
||||
vim.tabpages *python-tabpages*
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
object supports the following operations: >
|
||||
:py t = vim.tabpages[i] # Indexing (read-only)
|
||||
:py t in vim.tabpages # Membership test
|
||||
@@ -276,12 +276,12 @@ vim.current *python-current*
|
||||
"current range". A range is a bit like a buffer, but with all access
|
||||
restricted to a subset of lines. See |python-range| for more details.
|
||||
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
autocommands use >
|
||||
py << EOF
|
||||
saved_eventignore = vim.options['eventignore']
|
||||
@@ -294,12 +294,12 @@ vim.current *python-current*
|
||||
<
|
||||
vim.vars *python-vars*
|
||||
vim.vvars *python-vvars*
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
|
||||
but faster.
|
||||
|
||||
vim.options *python-options*
|
||||
Object partly supporting mapping protocol (supports setting and
|
||||
Object partly supporting mapping protocol (supports setting and
|
||||
getting items) providing a read-write access to global options.
|
||||
Note: unlike |:set| this provides access only to global options. You
|
||||
cannot use this object to obtain or set local options' values or
|
||||
@@ -310,7 +310,7 @@ vim.options *python-options*
|
||||
buffer-local options and |python-window| objects to access to
|
||||
window-local options.
|
||||
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
module.
|
||||
|
||||
Output from Python *python-output*
|
||||
@@ -331,10 +331,10 @@ Output from Python *python-output*
|
||||
*python2-directory* *python3-directory* *pythonx-directory*
|
||||
Python 'runtimepath' handling *python-special-path*
|
||||
|
||||
In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
|
||||
the list of paths found in 'runtimepath': with this directory in sys.path and
|
||||
vim.path_hooks in sys.path_hooks python will try to load module from
|
||||
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
|
||||
In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
|
||||
the list of paths found in 'runtimepath': with this directory in sys.path and
|
||||
vim.path_hooks in sys.path_hooks python will try to load module from
|
||||
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
|
||||
each {rtp} found in 'runtimepath'.
|
||||
|
||||
Implementation is similar to the following, but written in C: >
|
||||
@@ -362,8 +362,8 @@ Implementation is similar to the following, but written in C: >
|
||||
fmr = find_module(fullname, path)
|
||||
return load_module(fullname, *fmr)
|
||||
|
||||
# It uses vim module itself in place of VimPathFinder class: it does not
|
||||
# matter for python which object has find_module function attached to as
|
||||
# It uses vim module itself in place of VimPathFinder class: it does not
|
||||
# matter for python which object has find_module function attached to as
|
||||
# an attribute.
|
||||
class VimPathFinder(object):
|
||||
@classmethod
|
||||
@@ -386,28 +386,28 @@ Implementation is similar to the following, but written in C: >
|
||||
sys.path_hooks.append(hook)
|
||||
|
||||
vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
|
||||
String constant used in conjunction with vim path hook. If path hook
|
||||
installed by vim is requested to handle anything but path equal to
|
||||
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
|
||||
String constant used in conjunction with vim path hook. If path hook
|
||||
installed by vim is requested to handle anything but path equal to
|
||||
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
|
||||
case it uses special loader.
|
||||
|
||||
Note: you must not use value of this constant directly, always use
|
||||
Note: you must not use value of this constant directly, always use
|
||||
vim.VIM_SPECIAL_PATH object.
|
||||
|
||||
vim.find_module(...) *python-find_module*
|
||||
vim.path_hook(path) *python-path_hook*
|
||||
Methods or objects used to implement path loading as described above.
|
||||
You should not be using any of these directly except for vim.path_hook
|
||||
in case you need to do something with sys.meta_path. It is not
|
||||
guaranteed that any of the objects will exist in the future vim
|
||||
Methods or objects used to implement path loading as described above.
|
||||
You should not be using any of these directly except for vim.path_hook
|
||||
in case you need to do something with sys.meta_path. It is not
|
||||
guaranteed that any of the objects will exist in the future vim
|
||||
versions.
|
||||
|
||||
vim._get_paths *python-_get_paths*
|
||||
Methods returning a list of paths which will be searched for by path
|
||||
hook. You should not rely on this method being present in future
|
||||
Methods returning a list of paths which will be searched for by path
|
||||
hook. You should not rely on this method being present in future
|
||||
versions, but can use it for debugging.
|
||||
|
||||
It returns a list of {rtp}/python2 (or {rtp}/python3) and
|
||||
It returns a list of {rtp}/python2 (or {rtp}/python3) and
|
||||
{rtp}/pythonx directories for each {rtp} in 'runtimepath'.
|
||||
|
||||
==============================================================================
|
||||
@@ -436,21 +436,21 @@ line numbers, which start from 1. This is particularly relevant when dealing
|
||||
with marks (see below) which use vim line numbers.
|
||||
|
||||
The buffer object attributes are:
|
||||
b.vars Dictionary-like object used to access
|
||||
b.vars Dictionary-like object used to access
|
||||
|buffer-variable|s.
|
||||
b.options Mapping object (supports item getting, setting and
|
||||
deleting) that provides access to buffer-local options
|
||||
and buffer-local values of |global-local| options. Use
|
||||
|python-window|.options if option is window-local,
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
b.options Mapping object (supports item getting, setting and
|
||||
deleting) that provides access to buffer-local options
|
||||
and buffer-local values of |global-local| options. Use
|
||||
|python-window|.options if option is window-local,
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
will return None.
|
||||
b.name String, RW. Contains buffer name (full path).
|
||||
Note: when assigning to b.name |BufFilePre| and
|
||||
Note: when assigning to b.name |BufFilePre| and
|
||||
|BufFilePost| autocommands are launched.
|
||||
b.number Buffer number. Can be used as |python-buffers| key.
|
||||
Read-only.
|
||||
b.valid True or False. Buffer object becomes invalid when
|
||||
b.valid True or False. Buffer object becomes invalid when
|
||||
corresponding buffer is wiped out.
|
||||
|
||||
The buffer object methods are:
|
||||
@@ -538,16 +538,16 @@ Window attributes are:
|
||||
This is a tuple, (row,col).
|
||||
height (read-write) The window height, in rows
|
||||
width (read-write) The window width, in columns
|
||||
vars (read-only) The window |w:| variables. Attribute is
|
||||
unassignable, but you can change window
|
||||
vars (read-only) The window |w:| variables. Attribute is
|
||||
unassignable, but you can change window
|
||||
variables this way
|
||||
options (read-only) The window-local options. Attribute is
|
||||
unassignable, but you can change window
|
||||
options this way. Provides access only to
|
||||
window-local options, for buffer-local use
|
||||
|python-buffer| and for global ones use
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
options (read-only) The window-local options. Attribute is
|
||||
unassignable, but you can change window
|
||||
options this way. Provides access only to
|
||||
window-local options, for buffer-local use
|
||||
|python-buffer| and for global ones use
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
return None.
|
||||
number (read-only) Window number. The first window has number 1.
|
||||
This is zero in case it cannot be determined
|
||||
@@ -556,7 +556,7 @@ Window attributes are:
|
||||
row, col (read-only) On-screen window position in display cells.
|
||||
First position is zero.
|
||||
tabpage (read-only) Window tab page.
|
||||
valid (read-write) True or False. Window object becomes invalid
|
||||
valid (read-write) True or False. Window object becomes invalid
|
||||
when corresponding window is closed.
|
||||
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
@@ -567,21 +567,21 @@ Window object type is available using "Window" attribute of vim module.
|
||||
==============================================================================
|
||||
6. Tab page objects *python-tabpage*
|
||||
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
ways:
|
||||
- via vim.current.tabpage (|python-current|)
|
||||
- from indexing vim.tabpages (|python-tabpages|)
|
||||
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
no sequence or other interfaces.
|
||||
|
||||
Tab page attributes are:
|
||||
number The tab page number like the one returned by
|
||||
number The tab page number like the one returned by
|
||||
|tabpagenr()|.
|
||||
windows Like |python-windows|, but for current tab page.
|
||||
vars The tab page |t:| variables.
|
||||
window Current tabpage window.
|
||||
valid True or False. Tab page object becomes invalid when
|
||||
valid True or False. Tab page object becomes invalid when
|
||||
corresponding tab page is closed.
|
||||
|
||||
TabPage object type is available using "TabPage" attribute of vim module.
|
||||
@@ -598,8 +598,8 @@ vim.Dictionary object *python-Dictionary*
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
Read-write. You can unlock locked variable by assigning
|
||||
`True` or `False` to this attribute. No recursive locking
|
||||
Read-write. You can unlock locked variable by assigning
|
||||
`True` or `False` to this attribute. No recursive locking
|
||||
is supported.
|
||||
scope One of
|
||||
Value Description ~
|
||||
@@ -615,23 +615,23 @@ vim.Dictionary object *python-Dictionary*
|
||||
update(iterable), update(dictionary), update(**kwargs)
|
||||
Adds keys to dictionary.
|
||||
get(key[, default=None])
|
||||
Obtain key from dictionary, returning the default if it is
|
||||
Obtain key from dictionary, returning the default if it is
|
||||
not present.
|
||||
pop(key[, default])
|
||||
Remove specified key from dictionary and return
|
||||
corresponding value. If key is not found and default is
|
||||
Remove specified key from dictionary and return
|
||||
corresponding value. If key is not found and default is
|
||||
given returns the default, otherwise raises KeyError.
|
||||
popitem()
|
||||
Remove random key from dictionary and return (key, value)
|
||||
Remove random key from dictionary and return (key, value)
|
||||
pair.
|
||||
has_key(key)
|
||||
Check whether dictionary contains specified key, similar
|
||||
Check whether dictionary contains specified key, similar
|
||||
to `key in dict`.
|
||||
|
||||
__new__(), __new__(iterable), __new__(dictionary), __new__(update)
|
||||
You can use `vim.Dictionary()` to create new vim
|
||||
dictionaries. `d=vim.Dictionary(arg)` is the same as
|
||||
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
|
||||
You can use `vim.Dictionary()` to create new vim
|
||||
dictionaries. `d=vim.Dictionary(arg)` is the same as
|
||||
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
|
||||
constructs empty dictionary.
|
||||
|
||||
Examples: >
|
||||
@@ -652,15 +652,15 @@ vim.Dictionary object *python-Dictionary*
|
||||
|
||||
vim.List object *python-List*
|
||||
Sequence-like object providing access to vim |List| type.
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
following methods:
|
||||
Method Description ~
|
||||
extend(item) Add items to the list.
|
||||
|
||||
__new__(), __new__(iterable)
|
||||
You can use `vim.List()` to create new vim lists.
|
||||
`l=vim.List(iterable)` is the same as
|
||||
`l=vim.bindeval('[]');l.extend(iterable)`. Without
|
||||
You can use `vim.List()` to create new vim lists.
|
||||
`l=vim.List(iterable)` is the same as
|
||||
`l=vim.bindeval('[]');l.extend(iterable)`. Without
|
||||
arguments constructs empty list.
|
||||
Examples: >
|
||||
l = vim.List("abc") # Constructor, result: ['a', 'b', 'c']
|
||||
@@ -674,24 +674,24 @@ vim.List object *python-List*
|
||||
class List(vim.List): # Subclassing
|
||||
|
||||
vim.Function object *python-Function*
|
||||
Function-like object, acting like vim |Funcref| object. Accepts special
|
||||
keyword argument `self`, see |Dictionary-function|. You can also use
|
||||
`vim.Function(name)` constructor, it is the same as
|
||||
Function-like object, acting like vim |Funcref| object. Accepts special
|
||||
keyword argument `self`, see |Dictionary-function|. You can also use
|
||||
`vim.Function(name)` constructor, it is the same as
|
||||
`vim.bindeval('function(%s)'%json.dumps(name))`.
|
||||
|
||||
Attributes (read-only):
|
||||
Attribute Description ~
|
||||
name Function name.
|
||||
args `None` or a |python-List| object with arguments. Note
|
||||
that this is a copy of the arguments list, constructed
|
||||
each time you request this attribute. Modifications made
|
||||
to the list will be ignored (but not to the containers
|
||||
inside argument list: this is like |copy()| and not
|
||||
args `None` or a |python-List| object with arguments. Note
|
||||
that this is a copy of the arguments list, constructed
|
||||
each time you request this attribute. Modifications made
|
||||
to the list will be ignored (but not to the containers
|
||||
inside argument list: this is like |copy()| and not
|
||||
|deepcopy()|).
|
||||
self `None` or a |python-Dictionary| object with self
|
||||
dictionary. Note that explicit `self` keyword used when
|
||||
self `None` or a |python-Dictionary| object with self
|
||||
dictionary. Note that explicit `self` keyword used when
|
||||
calling resulting object overrides this attribute.
|
||||
auto_rebind Boolean. True if partial created from this Python object
|
||||
auto_rebind Boolean. True if partial created from this Python object
|
||||
and stored in the Vim script dictionary should be
|
||||
automatically rebound to the dictionary it is stored in
|
||||
when this dictionary is indexed. Exposes Vim internal
|
||||
@@ -699,11 +699,11 @@ vim.Function object *python-Function*
|
||||
`function(dict.func,dict)` (auto_rebind=False). This
|
||||
attribute makes no sense if `self` attribute is `None`.
|
||||
|
||||
Constructor additionally accepts `args`, `self` and `auto_rebind`
|
||||
keywords. If `args` and/or `self` argument is given then it constructs
|
||||
a partial, see |function()|. `auto_rebind` is only used when `self`
|
||||
argument is given, otherwise it is assumed to be `True` regardless of
|
||||
whether it was given or not. If `self` is given then it defaults to
|
||||
Constructor additionally accepts `args`, `self` and `auto_rebind`
|
||||
keywords. If `args` and/or `self` argument is given then it constructs
|
||||
a partial, see |function()|. `auto_rebind` is only used when `self`
|
||||
argument is given, otherwise it is assumed to be `True` regardless of
|
||||
whether it was given or not. If `self` is given then it defaults to
|
||||
`False`.
|
||||
|
||||
Examples: >
|
||||
@@ -726,7 +726,7 @@ vim.Function object *python-Function*
|
||||
==============================================================================
|
||||
8. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to Vim script.
|
||||
|pyxeval()| is also available.
|
||||
|
||||
@@ -767,17 +767,28 @@ match the Python 2.x or Python 3 version Vim was compiled with.
|
||||
10. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
:[range]py3 {stmt}
|
||||
:[range]py3 << [endmarker]
|
||||
{script}
|
||||
{endmarker}
|
||||
|
||||
To see what version of Python you have: >
|
||||
:py3 import sys
|
||||
:py3 print(sys.version)
|
||||
:[range]python3 {stmt}
|
||||
:[range]python3 << [endmarker]
|
||||
{script}
|
||||
{endmarker}
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A
|
||||
simple check if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
<
|
||||
To see what version of Python you have: >
|
||||
:py3 import sys
|
||||
:py3 print(sys.version)
|
||||
< *:py3file*
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
:[range]py3f[ile] {file}
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
:[range]py3do {body}
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
|
||||
Vim can be built in four ways (:version output):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_ruby.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -28,14 +28,14 @@ downloading Ruby there.
|
||||
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
||||
:ruby print "Hello"
|
||||
|
||||
:rub[y] << [endpattern]
|
||||
:rub[y] << [endmarker]
|
||||
{script}
|
||||
{endpattern}
|
||||
{endmarker}
|
||||
Execute Ruby script {script}.
|
||||
The {endpattern} after {script} must NOT be preceded
|
||||
by any white space.
|
||||
The {endmarker} after {script} must NOT be preceded by
|
||||
any white space.
|
||||
|
||||
If [endpattern] is omitted, it defaults to a dot '.'
|
||||
If [endmarker] is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands.
|
||||
|
||||
This form of the |:ruby| command is mainly useful for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_sniff.txt* For Vim version 8.1. Last change: 2016 Feb 27
|
||||
*if_sniff.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_tcl.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_tcl.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ingo Wilken
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
|
||||
*indent.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -532,7 +532,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*javascript-cinoptions* *javascript-indenting* *cino-J*
|
||||
JN Indent JavaScript object declarations correctly by not confusing
|
||||
them with labels. The value 'N' is currently unused but must be
|
||||
them with labels. The value 'N' is currently unused but must be
|
||||
non-zero (e.g. 'J1'). If you enable this you probably also want
|
||||
to set |cino-j|. >
|
||||
|
||||
@@ -541,7 +541,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
that: this,
|
||||
some: ok,
|
||||
},
|
||||
"bar":{
|
||||
"bar":{
|
||||
a : 2,
|
||||
b: "123abc",
|
||||
x: 4,
|
||||
@@ -812,6 +812,16 @@ Detail:
|
||||
<!-- --> : -1
|
||||
|
||||
|
||||
MATLAB *ft-matlab-indent* *matlab-indent* *matlab-indenting*
|
||||
|
||||
The setting Function indenting format in MATLAB Editor/Debugger Language
|
||||
Preferences corresponds to: >
|
||||
:let g:MATLAB_function_indent = {0, 1 or 2 (default)}
|
||||
|
||||
Where 0 is for Classic, 1 for Indent nested functions and 2 for Indent all
|
||||
functions.
|
||||
|
||||
|
||||
PHP *ft-php-indent* *php-indent* *php-indenting*
|
||||
|
||||
NOTE: PHP files will be indented correctly only if PHP |syntax| is active.
|
||||
@@ -885,7 +895,7 @@ To automatically remove '\r' characters when the 'fileformat' is set to Unix: >
|
||||
*PHP_BracesAtCodeLevel*
|
||||
To indent braces at the same level than the code they contain: >
|
||||
:let g:PHP_BracesAtCodeLevel = 1
|
||||
|
||||
|
||||
This will give the following result: >
|
||||
if ($foo)
|
||||
{
|
||||
@@ -949,10 +959,12 @@ Function call arguments will indent 1 extra level. For two-space indentation: >
|
||||
-------------
|
||||
|
||||
*PHP_IndentFunctionDeclarationParameters*
|
||||
Extra indentation levels to add to arguments in multi-line function definitions. >
|
||||
Extra indentation levels to add to arguments in multi-line function
|
||||
definitions. >
|
||||
let g:PHP_IndentFunctionDeclarationParameters = 1
|
||||
|
||||
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
|
||||
Function arguments in declarations will indent 1 extra level. For two-space
|
||||
indentation: >
|
||||
|
||||
function call_the_thing(
|
||||
$with_this,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.1. Last change: 2019 Sep 02
|
||||
*index.txt* For Vim version 8.2. Last change: 2019 Sep 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -73,14 +73,14 @@ tag char action in Insert mode ~
|
||||
the cursor
|
||||
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
|
||||
control flow
|
||||
|i_CTRL-R| CTRL-R {0-9a-z"%#*:=}
|
||||
|i_CTRL-R| CTRL-R {register}
|
||||
insert the contents of a register
|
||||
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:=}
|
||||
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
|
||||
insert the contents of a register literally
|
||||
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z"%#*:=}
|
||||
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {register}
|
||||
insert the contents of a register literally
|
||||
and don't auto-indent
|
||||
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z"%#*:=}
|
||||
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
|
||||
insert the contents of a register literally
|
||||
and fix indent.
|
||||
CTRL-S (used for terminal control flow)
|
||||
@@ -781,6 +781,7 @@ tag char note action in Normal mode ~
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|gm| gm 1 go to character at middle of the screenline
|
||||
|gM| gM 1 go to character at middle of the text line
|
||||
|go| go 1 cursor to byte N in the buffer
|
||||
|gp| ["x]gp 2 put the text [from register x] after the
|
||||
cursor N times, leave the cursor after it
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.1. Last change: 2019 Sep 08
|
||||
*insert.txt* For Vim version 8.2. Last change: 2019 Nov 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -106,7 +106,7 @@ CTRL-K {char1} [char2]
|
||||
CTRL-N Find next keyword (see |i_CTRL-N|).
|
||||
CTRL-P Find previous keyword (see |i_CTRL-P|).
|
||||
|
||||
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
||||
CTRL-R {register} *i_CTRL-R*
|
||||
Insert the contents of a register. Between typing CTRL-R and
|
||||
the second character, '"' will be displayed to indicate that
|
||||
you are expected to enter the name of a register.
|
||||
@@ -143,7 +143,7 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
||||
sequence will be broken.
|
||||
See |registers| about registers.
|
||||
|
||||
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
||||
CTRL-R CTRL-R {register} *i_CTRL-R_CTRL-R*
|
||||
Insert the contents of a register. Works like using a single
|
||||
CTRL-R, but the text is inserted literally, not as if typed.
|
||||
This differs when the register contains characters like <BS>.
|
||||
@@ -155,7 +155,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed.
|
||||
|
||||
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
||||
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
|
||||
Insert the contents of a register literally and don't
|
||||
auto-indent. Does the same as pasting with the mouse
|
||||
|<MiddleMouse>|. When the register is linewise this will
|
||||
@@ -164,7 +164,7 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
|
||||
The '.' register (last inserted text) is still inserted as
|
||||
typed.
|
||||
|
||||
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
|
||||
CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
|
||||
Insert the contents of a register literally and fix the
|
||||
indent, like |[<MiddleMouse>|.
|
||||
Does not replace characters!
|
||||
@@ -196,6 +196,13 @@ CTRL-V Insert next non-digit literally. For special keys, the
|
||||
mapping.
|
||||
Note: When CTRL-V is mapped (e.g., to paste text) you can
|
||||
often use CTRL-Q instead |i_CTRL-Q|.
|
||||
When |modifyOtherKeys| is enabled then special Escape sequence
|
||||
is converted back to what it was without |modifyOtherKeys|,
|
||||
unless the Shift key is also pressed.
|
||||
|
||||
*i_CTRL-SHIFT-V*
|
||||
CTRL-SHIFT-V Works just like CTRL-V, unless |modifyOtherKeys| is active,
|
||||
then it inserts the Escape sequence for a key with modifiers.
|
||||
|
||||
*i_CTRL-Q*
|
||||
CTRL-Q Same as CTRL-V.
|
||||
@@ -1138,6 +1145,27 @@ below the text, and the bottom of the menu otherwise.
|
||||
After the info popup is created it can be found with |popup_findinfo()| and
|
||||
properties can be changed with |popup_setoptions()|.
|
||||
|
||||
*complete-popuphidden*
|
||||
If the information for the popup is obtained asynchronously, use "popuphidden"
|
||||
in 'completeopt'. The info popup will then be initially hidden and
|
||||
|popup_show()| must be called once it has been filled with the info. This can
|
||||
be done with a |CompleteChanged| autocommand, something like this: >
|
||||
set completeopt+=popuphidden
|
||||
au CompleteChanged * call UpdateCompleteInfo()
|
||||
func UpdateCompleteInfo()
|
||||
" Cancel any pending info fetch
|
||||
let item = v:event.completed_item
|
||||
" Start fetching info for the item then call ShowCompleteInfo(info)
|
||||
endfunc
|
||||
func ShowCompleteInfo(info)
|
||||
let id = popup_findinfo()
|
||||
if id
|
||||
call popup_settext(id, 'async info: ' .. a:info)
|
||||
call popup_show(id)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
< *complete-item-kind*
|
||||
The "kind" item uses a single letter to indicate the kind of completion. This
|
||||
may be used to show the completion differently (different color or icon).
|
||||
Currently these types can be used:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.1. Last change: 2019 Aug 16
|
||||
*intro.txt* For Vim version 8.2. Last change: 2019 Nov 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -234,7 +234,7 @@ Vim would never have become what it is now, without the help of these people!
|
||||
Sung-Hyun Nam Work on multi-byte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle valgrind reports and many fixes
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
A.Politz Many bug reports and some fixes
|
||||
George V. Reilly Win32 port, Win32 GUI start-off
|
||||
Stephen Riehm bug collector
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*map.txt* For Vim version 8.2. Last change: 2019 Nov 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,7 +20,8 @@ manual.
|
||||
1.8 Examples |map-examples|
|
||||
1.9 Using mappings |map-typing|
|
||||
1.10 Mapping alt-keys |:map-alt-keys|
|
||||
1.11 Mapping an operator |:map-operator|
|
||||
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
|
||||
1.12 Mapping an operator |:map-operator|
|
||||
2. Abbreviations |abbreviations|
|
||||
3. Local mappings and functions |script-local|
|
||||
4. User-defined commands |user-commands|
|
||||
@@ -357,6 +358,8 @@ Some commands work both in Insert mode and Command-line mode, some not:
|
||||
:cmap :cnoremap :cunmap :cmapclear - yes -
|
||||
:lmap :lnoremap :lunmap :lmapclear yes* yes* yes*
|
||||
|
||||
* If 'iminsert' is 1, see |language-mapping| below.
|
||||
|
||||
The original Vi did not have separate mappings for
|
||||
Normal/Visual/Operator-pending mode and for Insert/Command-line mode.
|
||||
Therefore the ":map" and ":map!" commands enter and display mappings for
|
||||
@@ -777,6 +780,9 @@ In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
|
||||
always work. But in a terminal Vim gets a sequence of bytes and has to figure
|
||||
out whether ALT was pressed or not.
|
||||
|
||||
If the terminal supports the modifyOtherKeys mode and it has been enabled,
|
||||
then Vim can recognize more key combinations, see |modifyOtherKeys| below.
|
||||
|
||||
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
|
||||
character. Most decent terminals can work that way, such as xterm, aterm and
|
||||
rxvt. If your <A-k> mappings don't work it might be that the terminal is
|
||||
@@ -814,7 +820,39 @@ on the terminal; that's a good last resource in case you want to send ESC when
|
||||
using other applications but not when inside Vim.
|
||||
|
||||
|
||||
1.11 MAPPING AN OPERATOR *:map-operator*
|
||||
1.11 MAPPING IN modifyOtherKeys mode *modifyOtherKeys*
|
||||
|
||||
Xterm and a few other terminals can be put in a mode where keys with modifiers
|
||||
are sent with a special escape code. Vim recognizes these codes and can then
|
||||
make a difference between CTRL-H and Backspace, even when Backspace sends the
|
||||
character 8. And many more special keys.
|
||||
|
||||
For xterm modifyOtherKeys is enabled in the builtin termcap entry. If this is
|
||||
not used you can enable modifyOtherKeys with these lines in your vimrc: >
|
||||
let &t_TI = "\<Esc>[>4;2m"
|
||||
let &t_TE = "\<Esc>[>4;m"
|
||||
|
||||
In case the modifyOtherKeys mode causes problems you can disable it: >
|
||||
let &t_TI = ""
|
||||
let &t_TE = ""
|
||||
It does not take effect immediately. To have this work without restarting Vim
|
||||
execute a shell command, e.g.: `!ls` Or put the lines in your |vimrc|.
|
||||
|
||||
When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
||||
imap <C-[> [[[
|
||||
imap <C-S-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
||||
|
||||
A known side effect effect is that in Insert mode the raw escape sequence is
|
||||
inserted after the CTRL-V key. This can be used to check whether
|
||||
modifyOtherKeys is enabled: In Insert mode type CTRL-V CTRL-V, if you get
|
||||
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||
|
||||
When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
|
||||
Insert mode to avoid every key with a modifier causing Insert mode to end.
|
||||
|
||||
|
||||
1.12 MAPPING AN OPERATOR *:map-operator*
|
||||
|
||||
An operator is used before a {motion} command. To define your own operator
|
||||
you must create mapping that first sets the 'operatorfunc' option and then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.1. Last change: 2019 Jul 04
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
|
||||
*message.txt* For Vim version 8.2. Last change: 2019 Oct 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -480,7 +480,7 @@ try to solve the memory shortage. To stay on the safe side, exit Vim and
|
||||
start again.
|
||||
|
||||
If this happens while Vim is still initializing, editing files is very
|
||||
unlikely to work, therefore Vim will exit with value 123.
|
||||
unlikely to work, therefore Vim will exit with value 123.
|
||||
|
||||
Buffers are only partly kept in memory, thus editing a very large file is
|
||||
unlikely to cause an out-of-memory situation. Undo information is completely
|
||||
@@ -582,7 +582,8 @@ allowed for the command that was used.
|
||||
Vim was not able to create a swap file. You can still edit the file, but if
|
||||
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
||||
memory when editing a big file. You may want to change the 'directory' option
|
||||
to avoid this error. See |swap-file|.
|
||||
to avoid this error. This error is not given when 'directory' is empty. See
|
||||
|swap-file|.
|
||||
|
||||
*E140* >
|
||||
Use ! to write partial buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*motion.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -227,6 +227,12 @@ g^ When lines wrap ('wrap' on): To the first non-blank
|
||||
gm Like "g0", but half a screenwidth to the right (or as
|
||||
much as possible).
|
||||
|
||||
*gM*
|
||||
gM Like "g0", but to halfway the text of the line.
|
||||
With a count: to this percentage of text in the line.
|
||||
Thus "10gM" is near the start of the text and "90gM"
|
||||
is near the end of the text.
|
||||
|
||||
*g$* *g<End>*
|
||||
g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
||||
the screen line and [count - 1] screen lines downward
|
||||
@@ -958,6 +964,7 @@ These commands are not marks themselves, but jump to a mark:
|
||||
- numbered marks '0 - '9
|
||||
- last insert position '^
|
||||
- last change position '.
|
||||
- last affected text area '[ and ']
|
||||
- the Visual area '< and '>
|
||||
- line numbers in placed signs
|
||||
- line numbers in quickfix positions
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Sep 09
|
||||
*options.txt* For Vim version 8.2. Last change: 2019 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -496,10 +496,11 @@ to set options automatically for one or more files:
|
||||
|
||||
*modeline* *vim:* *vi:* *ex:* *E520*
|
||||
There are two forms of modelines. The first form:
|
||||
[text]{white}{vi:|vim:|ex:}[white]{options}
|
||||
[text{white}]{vi:|vim:|ex:}[white]{options}
|
||||
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
[text{white}] empty or any text followed by at least one blank
|
||||
character (<Space> or <Tab>); "ex:" always requires at
|
||||
least one blank character
|
||||
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
|
||||
[white] optional white space
|
||||
{options} a list of option settings, separated with white space
|
||||
@@ -856,6 +857,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set background&
|
||||
< 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.
|
||||
If the GUI supports a dark theme, you can use the "d" flag in
|
||||
'guioptions', see 'go-d'.
|
||||
|
||||
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
|
||||
@@ -1193,7 +1196,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
(mostly used in |Normal-mode| or |Cmdline-mode|).
|
||||
esc hitting <Esc> in |Normal-mode|.
|
||||
ex In |Visual-mode|, hitting |Q| results in an error.
|
||||
hangul Error occurred when using hangul input.
|
||||
hangul Ignored.
|
||||
insertmode Pressing <Esc> in 'insertmode'.
|
||||
lang Calling the beep module for Lua/Mzscheme/TCL.
|
||||
mess No output available for |g<|.
|
||||
@@ -1683,8 +1686,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'comments' 'com' string (default
|
||||
"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
|
||||
local to buffer
|
||||
{not available when compiled without the |+comments|
|
||||
feature}
|
||||
A comma separated list of strings that can start a comment line. See
|
||||
|format-comments|. See |option-backslash| about using backslashes to
|
||||
insert a space.
|
||||
@@ -1877,7 +1878,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'completeslash'* *'csl'*
|
||||
'completeslash' 'csl' string (default: "")
|
||||
local to buffer
|
||||
{not in Vi} {only for MS-Windows}
|
||||
{only for MS-Windows}
|
||||
When this option is set it overrules 'shellslash' for completion:
|
||||
- When this option is set to "slash", a forward slash is used for path
|
||||
completion in insert mode. This is useful when editing HTML tag, or
|
||||
@@ -1917,7 +1918,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
completion in a popup window. Only works in combination
|
||||
with "menu" or "menuone". Overrides "preview".
|
||||
See |'completepopup'| for specifying properties.
|
||||
{only works when compiled with the +textprop feature}
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
popuphidden
|
||||
Just like "popup" but initially hide the popup. Use a
|
||||
|CompleteChanged| autocommand to fetch the info and call
|
||||
|popup_show()| once the popup has been filled.
|
||||
See the example at |complete-popuphidden|.
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
noinsert Do not insert any text for a match until the user selects
|
||||
a match from the menu. Only works in combination with
|
||||
@@ -2468,17 +2476,23 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
|
||||
*'cursorlineopt'* *'culopt'*
|
||||
'cursorlineopt' 'culopt' string (default: "both")
|
||||
'cursorlineopt' 'culopt' string (default: "number,line")
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+syntax|
|
||||
feature}
|
||||
Settings for how 'cursorline' is displayed. Valid values:
|
||||
"line" Highlight the text line of the cursor with
|
||||
Comma separated list of settings for how 'cursorline' is displayed.
|
||||
Valid values:
|
||||
"line" Highlight the text line of the cursor with
|
||||
CursorLine |hl-CursorLine|.
|
||||
"number" Highlight the line number of the cursor with
|
||||
"screenline" Highlight only the screen line of the cursor with
|
||||
CursorLine |hl-CursorLine|.
|
||||
"number" Highlight the line number of the cursor with
|
||||
CursorLineNr |hl-CursorLineNr|.
|
||||
"both" Highlight as both "line" and "number" are set.
|
||||
|
||||
Special value:
|
||||
"both" Alias for the values "line,number".
|
||||
|
||||
"line" and "screenline" cannot be used together.
|
||||
|
||||
|
||||
*'debug'*
|
||||
@@ -2578,7 +2592,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
security reasons.
|
||||
|
||||
*'dip'* *'diffopt'*
|
||||
'diffopt' 'dip' string (default "internal,filler")
|
||||
'diffopt' 'dip' string (default "internal,filler,closeoff")
|
||||
global
|
||||
{not available when compiled without the |+diff|
|
||||
feature}
|
||||
@@ -2637,6 +2651,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
vertical Start diff mode with vertical splits (unless
|
||||
explicitly specified otherwise).
|
||||
|
||||
closeoff When a window is closed where 'diff' is set
|
||||
and there is only one window remaining in the
|
||||
same tab page with 'diff' set, execute
|
||||
`:diffoff` in that window. This undoes a
|
||||
`:diffsplit` command.
|
||||
|
||||
hiddenoff Do not use diff mode for a buffer when it
|
||||
becomes hidden.
|
||||
|
||||
@@ -2687,7 +2707,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- The swap file will be created in the first directory where this is
|
||||
possible.
|
||||
- Empty means that no swap file will be used (recovery is
|
||||
impossible!).
|
||||
impossible!) and no |E303| error will be given.
|
||||
- A directory "." means to put the swap file in the same directory as
|
||||
the edited file. On Unix, a dot is prepended to the file name, so
|
||||
it doesn't show in a directory listing. On MS-Windows the "hidden"
|
||||
@@ -2920,6 +2940,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
won't work by default.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
NOTE: when this option is off then the |modifyOtherKeys| functionality
|
||||
is disabled while in Insert mode to avoid ending Insert mode with any
|
||||
key that has a modifier.
|
||||
|
||||
*'eventignore'* *'ei'*
|
||||
'eventignore' 'ei' string (default "")
|
||||
@@ -3733,6 +3756,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'go-c'*
|
||||
'c' Use console dialogs instead of popup dialogs for simple
|
||||
choices.
|
||||
*'go-d'*
|
||||
'd' Use dark theme variant if available. Currently only works for
|
||||
GTK+ GUI.
|
||||
*'go-e'*
|
||||
'e' Add tab pages when indicated with 'showtabline'.
|
||||
'guitablabel' can be used to change the text in the labels.
|
||||
@@ -3907,6 +3933,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"8:SpecialKey,~:EndOfBuffer,@:NonText,
|
||||
d:Directory,e:ErrorMsg,i:IncSearch,
|
||||
l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
|
||||
a:LineNrAbove,b:LineNrBelow,
|
||||
N:CursorLineNr,r:Question,s:StatusLine,
|
||||
S:StatusLineNC,c:VertSplit,t:Title,
|
||||
v:Visual,V:VisualNOS,w:WarningMsg,
|
||||
@@ -3938,6 +3965,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|
||||
|hl-LineNr| n line number for ":number" and ":#" commands, and
|
||||
when 'number' or 'relativenumber' option is set.
|
||||
|hl-LineNrAbove| a line number above the cursor for when the
|
||||
'relativenumber' option is set.
|
||||
|hl-LineNrBelow| b line number below the cursor for when the
|
||||
'relativenumber' option is set.
|
||||
|hl-CursorLineNr| N like n for when 'cursorline' or 'relativenumber' is
|
||||
set.
|
||||
|hl-Question| r |hit-enter| prompt and yes/no questions
|
||||
@@ -4830,9 +4861,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
off and the line continues beyond the right of the
|
||||
screen.
|
||||
*lcs-precedes*
|
||||
precedes:c Character to show in the first column, when 'wrap'
|
||||
is off and there is text preceding the character
|
||||
visible in the first column.
|
||||
precedes:c Character to show in the first visible column of the
|
||||
physical line, when there is text preceding the
|
||||
character visible in the first column.
|
||||
*lcs-conceal*
|
||||
conceal:c Character to show in place of concealed text, when
|
||||
'conceallevel' is set to 1.
|
||||
@@ -5175,12 +5206,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'mouse'* *E538*
|
||||
'mouse' string (default "", "a" for GUI, MS-DOS and Win32,
|
||||
set to "a" in |defaults.vim|)
|
||||
set to "a" or "nvi" in |defaults.vim|)
|
||||
global
|
||||
Enable the use of the mouse. Only works for certain terminals
|
||||
(xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
|
||||
sysmouse and Linux console with gpm). For using the mouse in the
|
||||
GUI, see |gui-mouse|.
|
||||
Enable the use of the mouse. Works for most terminals (xterm, MS-DOS,
|
||||
Win32 |win32-mouse|, QNX pterm, *BSD console with sysmouse and Linux
|
||||
console with gpm). For using the mouse in the GUI, see |gui-mouse|.
|
||||
The mouse can be enabled for different modes:
|
||||
n Normal mode and Terminal modes
|
||||
v Visual mode
|
||||
@@ -5191,7 +5221,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
r for |hit-enter| and |more-prompt| prompt
|
||||
Normally you would enable the mouse in all five modes with: >
|
||||
:set mouse=a
|
||||
< When the mouse is not enabled, the GUI will still use the mouse for
|
||||
< If your terminal can't overrule the mouse events going to the
|
||||
application, use: >
|
||||
:set mouse=nvi
|
||||
< The you can press ":", select text for the system, and press Esc to go
|
||||
back to Vim using the mouse events.
|
||||
In |defaults.vim| "nvi" is used if the 'term' option is not matching
|
||||
"xterm".
|
||||
|
||||
When the mouse is not enabled, the GUI will still use the mouse for
|
||||
modeless selection. This doesn't move the text cursor.
|
||||
|
||||
See |mouse-using|. Also see |'clipboard'|.
|
||||
@@ -5210,6 +5248,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
mouse pointer is moved to the window with keyboard focus. Off is the
|
||||
default because it makes using the pull down menus a little goofy, as
|
||||
a pointer transit may activate a window unintentionally.
|
||||
MS-Windows: Also see 'scrollfocus' for what window is scrolled when
|
||||
using the mouse scroll whel.
|
||||
|
||||
*'mousehide'* *'mh'* *'nomousehide'* *'nomh'*
|
||||
'mousehide' 'mh' boolean (default on)
|
||||
@@ -6254,6 +6294,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
file. This means that ":split | edit file" results in two windows
|
||||
with scroll-binding, but ":split file" does not.
|
||||
|
||||
*'scrollfocus'* *'scf'* *'noscrollfocus'* *'noscf'*
|
||||
'scrollfocus' 'scf' boolean (default off)
|
||||
global
|
||||
{only for MS-Windows GUI}
|
||||
When using the scroll wheel and this option is set, the window under
|
||||
the mouse pointer is scrolled. With this option off the current
|
||||
window is scrolled.
|
||||
Systems other than MS-Windows always behave like this option is on.
|
||||
|
||||
*'scrolljump'* *'sj'*
|
||||
'scrolljump' 'sj' number (default 1)
|
||||
global
|
||||
@@ -6425,8 +6474,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
Environment variables are expanded |:set_env|.
|
||||
|
||||
If the name of the shell contains a space, you might need to enclose
|
||||
it in quotes or escape the space. Example with quotes: >
|
||||
If the name of the shell contains a space, you need to enclose it in
|
||||
quotes and escape the space. Example with quotes: >
|
||||
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
||||
< Note the backslash before each quote (to avoid starting a comment) and
|
||||
each space (to avoid ending the option value). Also note that the
|
||||
@@ -6481,10 +6530,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For Unix the default it "| tee". The stdout of the compiler is saved
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
|
||||
default becomes "2>&1| tee". This means that stderr is also included.
|
||||
Before using the 'shell' option a path is removed, thus "/bin/sh" uses
|
||||
"sh".
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
"bash" or "fish" the default becomes "2>&1| tee". This means that
|
||||
stderr is also included. Before using the 'shell' option a path is
|
||||
removed, thus "/bin/sh" uses "sh".
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellpipe' option changes automatically, unless it was
|
||||
@@ -6524,13 +6573,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The name of the temporary file can be represented by "%s" if necessary
|
||||
(the file name is appended automatically if no %s appears in the value
|
||||
of this option).
|
||||
The default is ">". For Unix, if the 'shell' option is "csh", "tcsh"
|
||||
or "zsh" during initializations, the default becomes ">&". If the
|
||||
'shell' option is "sh", "ksh" or "bash" the default becomes
|
||||
">%s 2>&1". This means that stderr is also included.
|
||||
For Win32, the Unix checks are done and additionally "cmd" is checked
|
||||
for, which makes the default ">%s 2>&1". Also, the same names with
|
||||
".exe" appended are checked for.
|
||||
The default is ">". For Unix, if the 'shell' option is "csh" or
|
||||
"tcsh" during initializations, the default becomes ">&". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
"bash" or "fish", the default becomes ">%s 2>&1". This means that
|
||||
stderr is also included. For Win32, the Unix checks are done and
|
||||
additionally "cmd" is checked for, which makes the default ">%s 2>&1".
|
||||
Also, the same names with ".exe" appended are checked for.
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellredir' option changes automatically unless it was
|
||||
@@ -6710,7 +6759,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'showbreak'* *'sbr'* *E595*
|
||||
'showbreak' 'sbr' string (default "")
|
||||
global
|
||||
global or local to window |global-local|
|
||||
{not available when compiled without the |+linebreak|
|
||||
feature}
|
||||
String to put at the start of lines that have been wrapped. Useful
|
||||
@@ -6727,7 +6776,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Note that tabs after the showbreak will be displayed differently.
|
||||
If you want the 'showbreak' to appear in between line numbers, add the
|
||||
"n" flag to 'cpoptions'.
|
||||
|
||||
A window-local value overrules a global value. If the global value is
|
||||
set and you want no value in the current window use NONE: >
|
||||
:setlocal showbreak=NONE
|
||||
<
|
||||
*'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
|
||||
'showcmd' 'sc' boolean (Vim default: on, off for Unix,
|
||||
Vi default: off, set in |defaults.vim|)
|
||||
@@ -7203,7 +7255,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{ NF Evaluate expression between '%{' and '}' and substitute result.
|
||||
Note that there is no '%' before the closing '}'. The
|
||||
expression cannot contain a '}' character, call a function to
|
||||
work around that.
|
||||
work around that. See |stl-%{| below.
|
||||
( - Start of item group. Can be used for setting the width and
|
||||
alignment of a section. Must be followed by %) somewhere.
|
||||
) - End of item group. No width fields allowed.
|
||||
@@ -7237,13 +7289,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set statusline=...%(\ [%M%R%H]%)...
|
||||
< Beware that an expression is evaluated each and every time the status
|
||||
line is displayed.
|
||||
*g:actual_curbuf* *g:actual_curwin*
|
||||
The current buffer and current window will be set temporarily to that
|
||||
of the window (and buffer) whose statusline is currently being drawn.
|
||||
The expression will evaluate in this context. The variable
|
||||
"g:actual_curbuf" is set to the `bufnr()` number of the real current
|
||||
buffer and "g:actual_curwin" to the |window-ID| of the real current
|
||||
window. These values are strings.
|
||||
*stl-%{* *g:actual_curbuf* *g:actual_curwin*
|
||||
While evaluationg %{} the current buffer and current window will be
|
||||
set temporarily to that of the window (and buffer) whose statusline is
|
||||
currently being drawn. The expression will evaluate in this context.
|
||||
The variable "g:actual_curbuf" is set to the `bufnr()` number of the
|
||||
real current buffer and "g:actual_curwin" to the |window-ID| of the
|
||||
real current window. These values are strings.
|
||||
|
||||
The 'statusline' option will be evaluated in the |sandbox| if set from
|
||||
a modeline, see |sandbox-option|.
|
||||
@@ -7365,6 +7417,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
vsplit Just like "split" but split vertically.
|
||||
newtab Like "split", but open a new tab page. Overrules
|
||||
"split" when both are present.
|
||||
uselast If included, jump to the previously used window when
|
||||
jumping to errors with |quickfix| commands.
|
||||
|
||||
*'synmaxcol'* *'smc'*
|
||||
'synmaxcol' 'smc' number (default 3000)
|
||||
@@ -8165,8 +8219,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Win32 and OS/2)
|
||||
global or local to buffer |global-local|
|
||||
Maximum number of changes that can be undone. Since undo information
|
||||
is kept in memory, higher numbers will cause more memory to be used
|
||||
(nevertheless, a single change can use an unlimited amount of memory).
|
||||
is kept in memory, higher numbers will cause more memory to be used.
|
||||
Nevertheless, a single change can already use a large amount of memory.
|
||||
Set to 0 for Vi compatibility: One level of undo and "u" undoes
|
||||
itself: >
|
||||
set ul=0
|
||||
@@ -8553,8 +8607,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
":map <BS> X" to make backspace delete the character in front of the
|
||||
cursor.
|
||||
When 'l' is included and it is used after an operator at the end of a
|
||||
line then it will not move to the next line. This makes "dl", "cl",
|
||||
"yl" etc. work normally.
|
||||
line (not an empty line) then it will not move to the next line. This
|
||||
makes "dl", "cl", "yl" etc. work normally.
|
||||
NOTE: This option is set to the Vi default value when 'compatible' is
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
@@ -8672,6 +8726,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
complete first match.
|
||||
"list:longest" When more than one match, list all matches and
|
||||
complete till longest common string.
|
||||
"list:lastused" When more than one buffer matches, sort buffers
|
||||
by time last used (other than the current buffer).
|
||||
When there is only a single match, it is fully completed in all cases.
|
||||
|
||||
Examples: >
|
||||
@@ -8895,6 +8951,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
fail (and make sure not to exit Vim until the write was successful).
|
||||
See |backup-table| for another explanation.
|
||||
When the 'backupskip' pattern matches, a backup is not made anyway.
|
||||
Depending on 'backupcopy' the backup is a new file or the original
|
||||
file renamed (and a new file is written).
|
||||
NOTE: This option is set to the default value when 'compatible' is
|
||||
set.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_390.txt* For Vim version 8.1. Last change: 2016 Feb 27
|
||||
*os_390.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ralf Schandl
|
||||
@@ -93,7 +93,7 @@ There is no solution for this yet.
|
||||
|
||||
- No glib/gtk support. I have not been able to successfully compile glib on
|
||||
z/OS UNIX. This means you'll have to live without the pretty gtk toolbar.
|
||||
|
||||
|
||||
Disabled at compile time:
|
||||
- Multibyte support (|multibyte|)
|
||||
- Right-to-left mode (|rileft|)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_amiga.txt* For Vim version 8.1. Last change: 2010 Aug 14
|
||||
*os_amiga.txt* For Vim version 8.2. Last change: 2010 Aug 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_beos.txt* For Vim version 8.1. Last change: 2016 Mar 28
|
||||
*os_beos.txt* For Vim version 8.2. Last change: 2016 Mar 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_dos.txt* For Vim version 8.1. Last change: 2006 Mar 30
|
||||
*os_dos.txt* For Vim version 8.2. Last change: 2006 Mar 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mac.txt* For Vim version 8.1. Last change: 2019 Apr 21
|
||||
*os_mac.txt* For Vim version 8.2. Last change: 2019 Apr 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mint.txt* For Vim version 8.1. Last change: 2005 Mar 29
|
||||
*os_mint.txt* For Vim version 8.2. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Jens M. Felderhoff
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_msdos.txt* For Vim version 8.1. Last change: 2016 Feb 26
|
||||
*os_msdos.txt* For Vim version 8.2. Last change: 2016 Feb 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_os2.txt* For Vim version 8.1. Last change: 2015 Dec 31
|
||||
*os_os2.txt* For Vim version 8.2. Last change: 2015 Dec 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Slootman
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_qnx.txt* For Vim version 8.1. Last change: 2005 Mar 29
|
||||
*os_qnx.txt* For Vim version 8.2. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Julian Kinraid
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_risc.txt* For Vim version 8.1. Last change: 2011 May 10
|
||||
*os_risc.txt* For Vim version 8.2. Last change: 2011 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Thomas Leonard
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_unix.txt* For Vim version 8.1. Last change: 2005 Mar 29
|
||||
*os_unix.txt* For Vim version 8.2. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 29
|
||||
*os_vms.txt* For Vim version 8.2. Last change: 2019 Jan 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 8.1. Last change: 2017 Mar 21
|
||||
*os_win32.txt* For Vim version 8.2. Last change: 2017 Mar 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -78,7 +78,7 @@ N Repeat the latest "/" or "?" [count] times in
|
||||
4. the first non-blank word after the cursor,
|
||||
in the current line
|
||||
Only whole keywords are searched for, like with the
|
||||
command "/\<keyword\>". |exclusive|
|
||||
command "/\<keyword\>". |exclusive|
|
||||
'ignorecase' is used, 'smartcase' is not.
|
||||
|
||||
*#*
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user