mirror of
https://github.com/zoriya/vim.git
synced 2025-12-22 15:15:25 +00:00
Compare commits
362 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 |
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
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -50,6 +50,7 @@ nbproject/*
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
.DS_Store
|
||||
|
||||
# All platforms
|
||||
*.rej
|
||||
|
||||
@@ -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]
|
||||
|
||||
26
Filelist
26
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 \
|
||||
@@ -92,7 +96,7 @@ SRC_ALL = \
|
||||
src/option.h \
|
||||
src/optiondefs.h \
|
||||
src/optionstr.c \
|
||||
src/popupmnu.c \
|
||||
src/popupmenu.c \
|
||||
src/popupwin.c \
|
||||
src/profiler.c \
|
||||
src/quickfix.c \
|
||||
@@ -111,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 \
|
||||
@@ -185,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 \
|
||||
@@ -240,7 +247,7 @@ SRC_ALL = \
|
||||
src/proto/ops.pro \
|
||||
src/proto/option.pro \
|
||||
src/proto/optionstr.pro \
|
||||
src/proto/popupmnu.pro \
|
||||
src/proto/popupmenu.pro \
|
||||
src/proto/popupwin.pro \
|
||||
src/proto/profiler.pro \
|
||||
src/proto/quickfix.pro \
|
||||
@@ -255,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 \
|
||||
@@ -277,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 \
|
||||
@@ -294,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 \
|
||||
@@ -394,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 \
|
||||
@@ -414,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 \
|
||||
@@ -515,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 \
|
||||
@@ -530,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 \
|
||||
@@ -656,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 \
|
||||
@@ -850,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 = \
|
||||
|
||||
23
Makefile
23
Makefile
@@ -95,9 +95,9 @@ MINOR = 1
|
||||
# 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).
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
10
README.md
10
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
|
||||
@@ -141,3 +142,8 @@ Send any other comments, patches, flowers and suggestions to:
|
||||
|
||||
|
||||
This is `README.md` for version 8.1 of Vim: Vi IMproved.
|
||||
|
||||
|
||||
## Translations of this README ##
|
||||
|
||||
[Korean](https://github.com/cjw1359/opensource/blob/master/Vim/README_ko.md)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -1081,6 +1084,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|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.1. Last change: 2019 Aug 21
|
||||
*change.txt* For Vim version 8.1. 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.1. 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.1. 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 @@
|
||||
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
|
||||
*develop.txt* For Vim version 8.1. 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.1. 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: >
|
||||
|
||||
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.1. 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 26
|
||||
*eval.txt* For Vim version 8.1. 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
|
||||
@@ -488,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
|
||||
@@ -1662,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.
|
||||
@@ -2476,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
|
||||
@@ -2526,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
|
||||
@@ -2642,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}
|
||||
@@ -2662,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}
|
||||
@@ -2755,6 +2763,7 @@ 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
|
||||
@@ -2765,7 +2774,7 @@ 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}
|
||||
@@ -2773,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
|
||||
@@ -2880,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}
|
||||
@@ -2974,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()|
|
||||
@@ -3031,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|
|
||||
@@ -3540,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()*
|
||||
@@ -3676,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.
|
||||
@@ -3871,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
|
||||
@@ -3879,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
|
||||
@@ -4040,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.
|
||||
@@ -4236,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|: >
|
||||
@@ -4566,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
|
||||
@@ -4772,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.
|
||||
@@ -4903,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"
|
||||
@@ -5314,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
|
||||
@@ -5588,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
|
||||
@@ -5606,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.
|
||||
@@ -5848,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')
|
||||
|
||||
@@ -6133,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: >
|
||||
@@ -6376,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()*
|
||||
@@ -6391,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")
|
||||
<
|
||||
|
||||
@@ -6486,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: >
|
||||
@@ -6543,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()*
|
||||
@@ -6568,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()*
|
||||
@@ -7014,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,
|
||||
@@ -7056,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.
|
||||
|
||||
@@ -7499,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|.
|
||||
@@ -7574,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}.
|
||||
@@ -8270,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()*
|
||||
@@ -8299,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()*
|
||||
@@ -8348,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*
|
||||
@@ -8379,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.
|
||||
@@ -8397,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()*
|
||||
@@ -8646,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()*
|
||||
@@ -8667,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()*
|
||||
@@ -8701,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()*
|
||||
@@ -8710,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()*
|
||||
@@ -9049,6 +9148,20 @@ 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
|
||||
@@ -9078,8 +9191,8 @@ state([{what}]) *state()*
|
||||
e.g. after |f|
|
||||
a Insert mode autocomplete active
|
||||
x executing an autocommand
|
||||
w blocked on waiting, e.g. ch_evalexpr() and
|
||||
ch_read(), ch_readraw() when reading json.
|
||||
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")
|
||||
@@ -9130,7 +9243,7 @@ str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
|
||||
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
|
||||
@@ -9202,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
|
||||
@@ -9247,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
|
||||
@@ -9302,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}.
|
||||
@@ -9634,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|: >
|
||||
@@ -10137,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()*
|
||||
@@ -10456,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
|
||||
@@ -10529,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
|
||||
@@ -10655,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|.
|
||||
@@ -11333,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'
|
||||
@@ -11361,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*
|
||||
@@ -11505,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.
|
||||
@@ -11806,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.
|
||||
|
||||
@@ -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 @@
|
||||
*ft_sql.txt* For Vim version 8.1. Last change: 2013 May 15
|
||||
*ft_sql.txt* For Vim version 8.1. 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.1. 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>
|
||||
|
||||
@@ -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,112 +1,17 @@
|
||||
*hangulin.txt* For Vim version 8.1. Last change: 2015 Nov 24
|
||||
*hangulin.txt* For Vim version 8.1. 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 @@
|
||||
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
|
||||
*helphelp.txt* For Vim version 8.1. 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 @@
|
||||
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 Jul 21
|
||||
*if_mzsch.txt* For Vim version 8.1. 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.1. 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.1. 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.1. 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):
|
||||
|
||||
@@ -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 @@
|
||||
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
|
||||
*indent.txt* For Vim version 8.1. 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.1. 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.1. 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.1. 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.1. 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 @@
|
||||
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
|
||||
*message.txt* For Vim version 8.1. 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 @@
|
||||
*motion.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*motion.txt* For Vim version 8.1. 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 @@
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Sep 18
|
||||
*options.txt* For Vim version 8.1. 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,7 +857,7 @@ 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 them, you can use the "d" flag in
|
||||
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
|
||||
@@ -1195,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<|.
|
||||
@@ -1685,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.
|
||||
@@ -1879,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
|
||||
@@ -1919,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
|
||||
@@ -2472,7 +2478,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'cursorlineopt'* *'culopt'*
|
||||
'cursorlineopt' 'culopt' string (default: "number,line")
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+syntax|
|
||||
feature}
|
||||
Comma separated list of settings for how 'cursorline' is displayed.
|
||||
@@ -2587,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}
|
||||
@@ -2646,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.
|
||||
|
||||
@@ -2696,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"
|
||||
@@ -2929,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 "")
|
||||
@@ -3919,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,
|
||||
@@ -3950,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
|
||||
@@ -5187,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
|
||||
@@ -5203,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'|.
|
||||
@@ -5222,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)
|
||||
@@ -6266,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
|
||||
@@ -6437,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
|
||||
@@ -6493,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
|
||||
@@ -6536,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
|
||||
@@ -6722,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
|
||||
@@ -6739,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|)
|
||||
@@ -7215,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.
|
||||
@@ -7249,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|.
|
||||
@@ -7377,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)
|
||||
@@ -8177,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
|
||||
@@ -8684,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: >
|
||||
@@ -8907,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.1. 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 @@
|
||||
*pattern.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*pattern.txt* For Vim version 8.1. 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.
|
||||
|
||||
*#*
|
||||
|
||||
@@ -41,7 +41,6 @@ Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||
is performed and echoed onto the display.
|
||||
|
||||
:LogiPatFlags {search flags} *LogiPat-flags*
|
||||
:LogiPatFlags {search flags}
|
||||
LogiPat uses the |search()| command. The flags
|
||||
passed to that call to search() may be specified
|
||||
by the :LogiPatFlags command.
|
||||
@@ -105,7 +104,7 @@ Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. LogiPat History *logiPat-history*
|
||||
5. LogiPat History *logiPat-history*
|
||||
|
||||
v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard
|
||||
plugin distribution; hence the name change
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
|
||||
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Dec 09
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -1184,7 +1184,7 @@ One may easily "bookmark" the currently browsed directory by using >
|
||||
*.netrwbook*
|
||||
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||
as a |List|, which is typically stored in the first directory on the user's
|
||||
'runtimepath'; entries are kept in sorted order.
|
||||
runtimepath'; entries are kept in sorted order.
|
||||
|
||||
If there are marked files and/or directories, mb will add them to the bookmark
|
||||
list.
|
||||
@@ -3512,7 +3512,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
- Click "Add..."
|
||||
- Set External Editor (adjust path as needed, include
|
||||
the quotes and !.! at the end):
|
||||
"c:\Program Files\Vim\vim70\gvim.exe" !.!
|
||||
"c:\Program Files\Vim\vim81\gvim.exe" !.!
|
||||
- Check that the filetype in the box below is
|
||||
{asterisk}.{asterisk} (all files), or whatever types
|
||||
you want (cec: change {asterisk} to * ; I had to
|
||||
@@ -3762,8 +3762,8 @@ by obtaining a copy of the latest (often developmental) netrw at:
|
||||
|
||||
The <netrw.vim> script is typically installed on systems as something like:
|
||||
>
|
||||
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim7x/autoload/netrw.vim
|
||||
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim8x/autoload/netrw.vim
|
||||
(see output of :echo &rtp)
|
||||
<
|
||||
which is loaded automatically at startup (assuming :set nocp). If you
|
||||
@@ -3842,6 +3842,18 @@ netrw:
|
||||
==============================================================================
|
||||
12. History *netrw-history* {{{1
|
||||
|
||||
v167: Nov 29, 2019 * netrw does a save&restore on @* and @+.
|
||||
That causes problems with the clipboard.
|
||||
Now restores occurs only if @* or @+ have
|
||||
been changed.
|
||||
* netrw will change @* or @+ less often.
|
||||
Never if I happen to have caught all the
|
||||
operations that modify the unnamed
|
||||
register (which also writes @*).
|
||||
* Modified hiding behavior so that "s"
|
||||
will not ignore hiding.
|
||||
v166: Nov 06, 2019 * Removed a space from a nmap for "-"
|
||||
* Numerous debugging statement changes
|
||||
v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel')
|
||||
was left changed
|
||||
* (Holger Mitschke) reported a problem with
|
||||
@@ -3852,6 +3864,8 @@ netrw:
|
||||
* (Holger Mitschke) amended this help file
|
||||
with additional |g:netrw_special_syntax|
|
||||
items
|
||||
* Prioritized wget over curl for
|
||||
g:netrw_http_cmd
|
||||
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||
with a patch; these are now fixed.
|
||||
Oct 26, 2016 * I started using mate-terminal and found that
|
||||
@@ -4285,4 +4299,4 @@ netrw:
|
||||
|
||||
==============================================================================
|
||||
Modelines: {{{1
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
|
||||
vim:tw=78:ts=8:ft=help:norl:fdm=marker
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Sep 25
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Nov 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Displaying text in a floating window. *popup* *popup-window*
|
||||
Displaying text in a floating window. *popup* *popup-window* *popupwin*
|
||||
|
||||
|
||||
1. Introduction |popup-intro|
|
||||
@@ -24,7 +24,7 @@ Displaying text in a floating window. *popup* *popup-window*
|
||||
4. Examples |popup-examples|
|
||||
|
||||
|
||||
{not available if the |+textprop| feature was disabled at compile time}
|
||||
{not available if the |+popupwin| feature was disabled at compile time}
|
||||
|
||||
==============================================================================
|
||||
1. Introduction *popup-intro*
|
||||
@@ -186,6 +186,8 @@ popup_atcursor({what}, {options}) *popup_atcursor()*
|
||||
\ moved: 'WORD',
|
||||
\ })
|
||||
< Use {options} to change the properties.
|
||||
If "pos" is passed as "topleft" then the default for "line"
|
||||
becomes "cursor+1".
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetText()->popup_atcursor({})
|
||||
@@ -305,8 +307,9 @@ popup_findinfo() *popup_findinfo()*
|
||||
Get the |window-ID| for the popup info window, as it used by
|
||||
the popup menu. See |complete-popup|. The info popup is
|
||||
hidden when not used, it can be deleted with |popup_clear()|
|
||||
and |popup_close()|.
|
||||
Return zero if there is none.
|
||||
and |popup_close()|. Use |popup_show()| to reposition it to
|
||||
the item in the popup menu.
|
||||
Returns zero if there is none.
|
||||
|
||||
|
||||
popup_findpreview() *popup_findpreview()*
|
||||
@@ -314,7 +317,6 @@ popup_findpreview() *popup_findpreview()*
|
||||
Return zero if there is none.
|
||||
|
||||
|
||||
|
||||
popup_getoptions({id}) *popup_getoptions()*
|
||||
Return the {options} for popup {id} in a Dict.
|
||||
A zero value means the option was not set. For "zindex" the
|
||||
@@ -361,7 +363,9 @@ popup_getpos({id}) *popup_getpos()*
|
||||
core_width width of the text box in screen cells
|
||||
core_height height of the text box in screen cells
|
||||
firstline line of the buffer at top (1 unless scrolled)
|
||||
(not the value of the "firstline" property)
|
||||
(not the value of the "firstline" property)
|
||||
lastline line of the buffer at the bottom (updated when
|
||||
the popup is redrawn)
|
||||
scrollbar non-zero if a scrollbar is displayed
|
||||
visible one if the popup is displayed, zero if hidden
|
||||
Note that these are the actual screen positions. They differ
|
||||
@@ -474,6 +478,8 @@ popup_notification({what}, {options}) *popup_notification()*
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
If {id} is the info popup it will be positioned next to the
|
||||
current popup menu item.
|
||||
|
||||
|
||||
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
@@ -563,6 +569,11 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
Alternatively "center" can be used to position the
|
||||
popup in the center of the Vim window, in which case
|
||||
"line" and "col" are ignored.
|
||||
posinvert When FALSE the value of "pos" is always used. When
|
||||
TRUE (the default) and the popup does not fit
|
||||
vertically and there is more space on the other side
|
||||
then the popup is placed on the other side of the
|
||||
position indicated by "line".
|
||||
textprop When present the popup is positioned next to a text
|
||||
property with this name and will move when the text
|
||||
property moves. Use an empty string to remove. See
|
||||
@@ -680,8 +691,15 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
- "expr": if the cursor moved outside |<cexpr>|
|
||||
- [{start}, {end}]: if the cursor moved before column
|
||||
{start} or after {end}
|
||||
- [{lnum}, {start}, {end}]: if the cursor moved away
|
||||
from line {lnum}, before column {start} or after
|
||||
{end}
|
||||
- [0, 0, 0] do not close the popup when the cursor
|
||||
moves
|
||||
The popup also closes if the cursor moves to another
|
||||
line or to another window.
|
||||
mousemoved Like "moved" but referring to the mouse pointer
|
||||
position
|
||||
cursorline non-zero: Highlight the cursor line. Also scrolls the
|
||||
text to show this line (only works properly
|
||||
when 'wrap' is off).
|
||||
@@ -744,22 +762,22 @@ is inserted or deleted. The popup functions like a tooltip.
|
||||
These steps are needed to make this work:
|
||||
|
||||
- Define a text property type, it defines the name. >
|
||||
call prop_type_add('popupMarker', {})
|
||||
call prop_type_add('popupMarker', {})
|
||||
|
||||
- Place a text property at the desired text: >
|
||||
let lnum = {line of the text}
|
||||
let col = {start column of the text}
|
||||
let len = {length of the text}
|
||||
let propId = {arbitrary but unique number}
|
||||
call prop_add(lnum, col, #{
|
||||
call prop_add(lnum, col, #{
|
||||
\ length: len,
|
||||
\ type: 'popupMarker',
|
||||
\ id: propId,
|
||||
\ })
|
||||
|
||||
- Create a popup: >
|
||||
let winid = popup_create('the text', #{
|
||||
\ pos: 'botleft',
|
||||
let winid = popup_create('the text', #{
|
||||
\ pos: 'botleft',
|
||||
\ textprop: 'popupMarker',
|
||||
\ textpropid: propId,
|
||||
\ border: [],
|
||||
@@ -799,7 +817,7 @@ Some hints:
|
||||
a click, as in the example above, helps for that.
|
||||
- If the text property is removed the popup is closed. Use something like
|
||||
this: >
|
||||
call prop_remove(#{type: 'popupMarker', id: propId})
|
||||
call prop_remove(#{type: 'popupMarker', id: propId})
|
||||
|
||||
|
||||
POPUP FILTER *popup-filter*
|
||||
@@ -844,9 +862,8 @@ Some recommended key actions:
|
||||
cursor keys select another entry
|
||||
Tab accept current suggestion
|
||||
|
||||
A mouse click arrives as <LeftMouse>. The coordinates are in
|
||||
v:mouse_popup_col and v:mouse_popup_row. The top-left screen cell of the
|
||||
popup is col 1, row 1 (not counting the border).
|
||||
A mouse click arrives as <LeftMouse>. The coordinates can be obtained with
|
||||
|getmousepos()|.
|
||||
|
||||
Vim provides standard filters |popup_filter_menu()| and
|
||||
|popup_filter_yesno()|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -313,7 +313,7 @@ processing a quickfix or location list command, it will be aborted.
|
||||
*:cex* *:cexpr* *E777*
|
||||
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
|
||||
jump to the first error.
|
||||
If {expr} is a String, then each new-line terminated
|
||||
If {expr} is a String, then each newline terminated
|
||||
line in the String is processed using the global value
|
||||
of 'errorformat' and the result is added to the
|
||||
quickfix list.
|
||||
@@ -486,7 +486,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
etc.
|
||||
< When the current file can't be |abandon|ed and the [!]
|
||||
is not present, the command fails.
|
||||
When an error is detected execution stops.
|
||||
When going to the next entry fails execution stops.
|
||||
The last buffer (or where an error occurred) becomes
|
||||
the current buffer.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
@@ -1099,7 +1099,7 @@ id-utils) in a similar way to its compiler integration (see |:make| above).
|
||||
allowed with |:bufdo|.
|
||||
An example that uses the argument list and avoids
|
||||
errors for files without matches: >
|
||||
:silent argdo try
|
||||
:silent argdo try
|
||||
\ | grepadd! something %
|
||||
\ | catch /E480:/
|
||||
\ | endtry"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.1. Last change: 2019 Aug 20
|
||||
*quickref.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -47,6 +47,7 @@ N is used to indicate an optional count that can be given before the command.
|
||||
|g$| N g$ to last character in screen line (differs from "$"
|
||||
when lines wrap)
|
||||
|gm| gm to middle of the screen line
|
||||
|gM| gM to middle of the line
|
||||
|bar| N | to column N (default: 1)
|
||||
|f| N f{char} to the Nth occurrence of {char} to the right
|
||||
|F| N F{char} to the Nth occurrence of {char} to the left
|
||||
@@ -291,7 +292,7 @@ moving around:
|
||||
|i_CTRL-A| CTRL-A insert previously inserted text
|
||||
|i_CTRL-@| CTRL-@ insert previously inserted text and stop
|
||||
Insert mode
|
||||
|i_CTRL-R| CTRL-R {0-9a-z%#:.-="} insert the contents of a register
|
||||
|i_CTRL-R| CTRL-R {register} insert the contents of a register
|
||||
|
||||
|i_CTRL-N| CTRL-N insert next match of identifier before the
|
||||
cursor
|
||||
@@ -626,7 +627,7 @@ Short explanation of each option: *option-list*
|
||||
'bioskey' 'biosk' MS-DOS: use bios calls for input characters
|
||||
'bomb' prepend a Byte Order Mark to the file
|
||||
'breakat' 'brk' characters that may cause a line break
|
||||
'breakindent' 'bri' wrapped line repeats indent
|
||||
'breakindent' 'bri' wrapped line repeats indent
|
||||
'breakindentopt' 'briopt' settings for 'breakindent'
|
||||
'browsedir' 'bsdir' which directory to start browsing in
|
||||
'bufhidden' 'bh' what to do when buffer is no longer in window
|
||||
@@ -868,6 +869,7 @@ Short explanation of each option: *option-list*
|
||||
'runtimepath' 'rtp' list of directories used for runtime files
|
||||
'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
|
||||
'scrollbind' 'scb' scroll in window as other windows scroll
|
||||
'scrollfocus' 'scf' scroll wheel applies to window under pointer
|
||||
'scrolljump' 'sj' minimum number of lines to scroll
|
||||
'scrolloff' 'so' minimum nr. of lines above and below cursor
|
||||
'scrollopt' 'sbo' how 'scrollbind' should behave
|
||||
@@ -1077,8 +1079,7 @@ Short explanation of each option: *option-list*
|
||||
three digits)
|
||||
|c_CTRL-K| CTRL-K {char1} {char2}
|
||||
enter digraph (See |Q_di|)
|
||||
|c_CTRL-R| CTRL-R {0-9a-z"%#:-=}
|
||||
insert the contents of a register
|
||||
|c_CTRL-R| CTRL-R {register} insert the contents of a register
|
||||
|
||||
|c_<Left>| <Left>/<Right> cursor left/right
|
||||
|c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.1. Last change: 2019 Sep 20
|
||||
*repeat.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -79,7 +79,7 @@ The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
|
||||
the command. If an error message is given for a line, the command for that
|
||||
line is aborted and the global command continues with the next marked or
|
||||
unmarked line.
|
||||
*E147*
|
||||
*E147*
|
||||
When the command is used recursively, it only works on one line. Giving a
|
||||
range is then not allowed. This is useful to find all lines that match a
|
||||
pattern and do not match another pattern: >
|
||||
@@ -193,7 +193,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
Read Ex commands from {file} in each directory given
|
||||
by 'runtimepath' and/or 'packpath'. There is no error
|
||||
for non-existing files.
|
||||
|
||||
|
||||
Example: >
|
||||
:runtime syntax/c.vim
|
||||
|
||||
@@ -268,7 +268,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
*:packl* *:packloadall*
|
||||
:packl[oadall][!] Load all packages in the "start" directory under each
|
||||
entry in 'packpath'.
|
||||
|
||||
|
||||
First all the directories found are added to
|
||||
'runtimepath', then the plugins found in the
|
||||
directories are sourced. This allows for a plugin to
|
||||
@@ -547,7 +547,7 @@ When Vim starts up, after processing your .vimrc, it scans all directories in
|
||||
directories are added to 'runtimepath'. Then all the plugins are loaded.
|
||||
See |packload-two-steps| for how these two steps can be useful.
|
||||
|
||||
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
|
||||
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
|
||||
"~/.vim/pack/foo/start/foobar" to 'runtimepath'.
|
||||
|
||||
If the "foobar" plugin kicks in and sets the 'filetype' to "some", Vim will
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.1. Last change: 2019 Sep 06
|
||||
*sign.txt* For Vim version 8.1. Last change: 2019 Nov 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -48,8 +48,8 @@ When signs are defined for a file, Vim will automatically add a column of two
|
||||
characters to display them in. When the last sign is unplaced the column
|
||||
disappears again. This behavior can be changed with the 'signcolumn' option.
|
||||
|
||||
The color of the column is set with the SignColumn group |hl-SignColumn|.
|
||||
Example to set the color: >
|
||||
The color of the column is set with the SignColumn highlight group
|
||||
|hl-SignColumn|. Example to set the color: >
|
||||
|
||||
:highlight SignColumn guibg=darkgrey
|
||||
<
|
||||
@@ -71,6 +71,10 @@ placed in the named group. The sign identifier is unique within a group. The
|
||||
sign group allows Vim plugins to use unique signs without interfering with
|
||||
other plugins using signs.
|
||||
|
||||
To place a sign in a popup window the group name must start with "PopUp".
|
||||
Other signs will not show in a popup window. The group name "PopUpMenu" is
|
||||
used by popup windows where 'cursorline' is set.
|
||||
|
||||
*sign-priority*
|
||||
Each placed sign is assigned a priority value. When multiple signs are placed
|
||||
on the same line, the attributes of the sign with the highest priority is used
|
||||
@@ -371,7 +375,7 @@ sign_define({list})
|
||||
|
||||
The one argument {list} can be used to define a list of signs.
|
||||
Each list item is a dictionary with the above items in {dict}
|
||||
and a 'name' item for the sign name.
|
||||
and a "name" item for the sign name.
|
||||
|
||||
Returns 0 on success and -1 on failure. When the one argument
|
||||
{list} is used, then returns a List of values one for each
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,8 +60,8 @@ If the VIM environment variable is not set, Vim will try to find
|
||||
the path in another way (see |$VIMRUNTIME|). Usually this works just
|
||||
fine. If it doesn't, try setting the VIM environment variable to the
|
||||
directory where the Vim stuff is located. For example, if your syntax files
|
||||
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
||||
are in the "/usr/vim/vim81/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim81". You must do this in the shell, before starting Vim.
|
||||
This command also sources the |menu.vim| script when the GUI is running or
|
||||
will start soon. See |'go-M'| about avoiding that.
|
||||
|
||||
@@ -476,6 +476,16 @@ conversion. See |-E| and |-s-ex| for details. It is probably best to create a
|
||||
script to replace all the -c commands and use it with the -u flag instead of
|
||||
specifying each command separately.
|
||||
|
||||
*hl-TOhtmlProgress* *TOhtml-progress-color*
|
||||
When displayed, the progress bar will show colored boxes along the statusline
|
||||
as the HTML conversion proceeds. By default, the background color as the
|
||||
current "DiffDelete" highlight group is used. If "DiffDelete" and "StatusLine"
|
||||
have the same background color, TOhtml will automatically adjust the color to
|
||||
differ. If you do not like the automatically selected colors, you can define
|
||||
your own highlight colors for the progress bar. Example: >
|
||||
|
||||
hi TOhtmlProgress guifg=#c0ffee ctermbg=7
|
||||
<
|
||||
*g:html_number_lines*
|
||||
Default: current 'number' setting.
|
||||
When 0, buffer text is displayed in the generated HTML without line numbering.
|
||||
@@ -507,8 +517,8 @@ For example: >
|
||||
<
|
||||
*g:html_use_css*
|
||||
Default: 1.
|
||||
When 1, generate valid HTML 4.01 markup with CSS1 styling, supported in all
|
||||
modern browsers and most old browsers.
|
||||
When 1, generate valid HTML 5 markup with CSS styling, supported in all modern
|
||||
browsers and many old browsers.
|
||||
When 0, generate <font> tags and similar outdated markup. This is not
|
||||
recommended but it may work better in really old browsers, email clients,
|
||||
forum posts, and similar situations where basic CSS support is unavailable.
|
||||
@@ -580,23 +590,43 @@ affected in this way as follows:
|
||||
Example, to make the fold column and line numbers uncopyable: >
|
||||
:let g:html_prevent_copy = "fn"
|
||||
<
|
||||
This feature is currently implemented by inserting read-only <input> elements
|
||||
into the markup to contain the uncopyable areas. This does not work well in
|
||||
all cases. When pasting to some applications which understand HTML, the
|
||||
<input> elements also get pasted. But plain-text paste destinations should
|
||||
always work.
|
||||
The method used to prevent copying in the generated page depends on the value
|
||||
of |g:html_use_input_for_pc|.
|
||||
|
||||
*g:html_use_input_for_pc*
|
||||
Default: "fallback"
|
||||
If |g:html_prevent_copy| is non-empty, then:
|
||||
|
||||
When "all", read-only <input> elements are used in place of normal text for
|
||||
uncopyable regions. In some browsers, especially older browsers, after
|
||||
selecting an entire page and copying the selection, the <input> tags are not
|
||||
pasted with the page text. If |g:html_no_invalid| is 0, the <input> tags have
|
||||
invalid type; this works in more browsers, but the page will not validate.
|
||||
Note: this method does NOT work in recent versions of Chrome and equivalent
|
||||
browsers; the <input> tags get pasted with the text.
|
||||
|
||||
When "fallback" (default value), the same <input> elements are generated for
|
||||
older browsers, but newer browsers (detected by CSS feature query) hide the
|
||||
<input> elements and instead use generated content in an ::before pseudoelement
|
||||
to display the uncopyable text. This method should work with the largest
|
||||
number of browsers, both old and new.
|
||||
|
||||
When "none", the <input> elements are not generated at all. Only the
|
||||
generated-content method is used. This means that old browsers, notably
|
||||
Internet Explorer, will either copy the text intended not to be copyable, or
|
||||
the non-copyable text may not appear at all. However, this is the most
|
||||
standards-based method, and there will be much less markup.
|
||||
|
||||
*g:html_no_invalid*
|
||||
Default: 0.
|
||||
When 0, if |g:html_prevent_copy| is non-empty, an invalid attribute is
|
||||
intentionally inserted into the <input> element for the uncopyable areas. This
|
||||
increases the number of applications you can paste to without also pasting the
|
||||
<input> elements. Specifically, Microsoft Word will not paste the <input>
|
||||
elements if they contain this invalid attribute.
|
||||
When 1, no invalid markup is ever intentionally inserted, and the generated
|
||||
page should validate. However, be careful pasting into Microsoft Word when
|
||||
|g:html_prevent_copy| is non-empty; it can be hard to get rid of the <input>
|
||||
elements which get pasted.
|
||||
When 0, if |g:html_prevent_copy| is non-empty and |g:html_use_input_for_pc| is
|
||||
not "none", an invalid attribute is intentionally inserted into the <input>
|
||||
element for the uncopyable areas. This prevents pasting the <input> elements
|
||||
in some applications. Specifically, some versions of Microsoft Word will not
|
||||
paste the <input> elements if they contain this invalid attribute. When 1, no
|
||||
invalid markup is inserted, and the generated page should validate. However,
|
||||
<input> elements may be pasted into some applications and can be difficult to
|
||||
remove afterward.
|
||||
|
||||
*g:html_hover_unfold*
|
||||
Default: 0.
|
||||
@@ -936,10 +966,12 @@ Basic.
|
||||
C *c.vim* *ft-c-syntax*
|
||||
|
||||
A few things in C highlighting are optional. To enable them assign any value
|
||||
to the respective variable. Example: >
|
||||
(including zero) to the respective variable. Example: >
|
||||
:let c_comment_strings = 1
|
||||
To disable them use ":unlet". Example: >
|
||||
:let c_no_bracket_error = 0
|
||||
To disable them use `:unlet`. Example: >
|
||||
:unlet c_comment_strings
|
||||
Setting the value to zero doesn't work!
|
||||
|
||||
An alternative is to switch to the C++ highlighting: >
|
||||
:set filetype=cpp
|
||||
@@ -955,8 +987,8 @@ Variable Highlight ~
|
||||
except { and } in first column
|
||||
Default is to highlight them, otherwise you
|
||||
can't spot a missing ")".
|
||||
*c_curly_error* highlight a missing }; this forces syncing from the
|
||||
start of the file, can be slow
|
||||
*c_curly_error* highlight a missing } by finding all pairs; this
|
||||
forces syncing from the start of the file, can be slow
|
||||
*c_no_ansi* don't do standard ANSI types and constants
|
||||
*c_ansi_typedefs* ... but do standard ANSI types
|
||||
*c_ansi_constants* ... but do standard ANSI constants
|
||||
@@ -1158,6 +1190,26 @@ startup vimrc: >
|
||||
:let filetype_w = "cweb"
|
||||
|
||||
|
||||
DART *dart.vim* *ft-dart-syntax*
|
||||
|
||||
Dart is an object-oriented, typed, class defined, garbage collected language
|
||||
used for developing mobile, desktop, web, and back-end applications. Dart uses
|
||||
a C-like syntax derived from C, Java, and JavaScript, with features adopted
|
||||
from Smalltalk, Python, Ruby, and others.
|
||||
|
||||
More information about the language and its development environment at the
|
||||
official Dart language website at https://dart.dev
|
||||
|
||||
dart.vim syntax detects and highlights Dart statements, reserved words,
|
||||
type declarations, storage classes, conditionals, loops, interpolated values,
|
||||
and comments. There is no support idioms from Flutter or any other Dart
|
||||
framework.
|
||||
|
||||
Changes, fixes? Submit an issue or pull request via:
|
||||
|
||||
https://github.com/pr3d4t0r/dart-vim-syntax/
|
||||
|
||||
|
||||
DESKTOP *desktop.vim* *ft-desktop-syntax*
|
||||
|
||||
Primary goal of this syntax file is to highlight .desktop and .directory files
|
||||
@@ -1349,26 +1401,26 @@ to your startup file.
|
||||
|
||||
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
|
||||
|
||||
Two syntax highlighting files exists for Euphoria. One for Euphoria
|
||||
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||
Two syntax highlighting files exists for Euphoria. One for Euphoria
|
||||
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||
Euphoria version 4.0.5 or later.
|
||||
|
||||
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
|
||||
for developing applications for the DOS platform, which Euphoria version 4
|
||||
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
|
||||
for developing applications for the DOS platform, which Euphoria version 4
|
||||
(http://www.openeuphoria.org/) does not support.
|
||||
|
||||
The following file extensions are auto-detected as Euphoria file type:
|
||||
|
||||
The following file extensions are auto-detected as Euphoria file type:
|
||||
|
||||
*.e, *.eu, *.ew, *.ex, *.exu, *.exw
|
||||
*.E, *.EU, *.EW, *.EX, *.EXU, *.EXW
|
||||
|
||||
To select syntax highlighting file for Euphoria, as well as for
|
||||
To select syntax highlighting file for Euphoria, as well as for
|
||||
auto-detecting the *.e and *.E file extensions as Euphoria file type,
|
||||
add the following line to your startup file: >
|
||||
|
||||
:let filetype_euphoria="euphoria3"
|
||||
|
||||
or
|
||||
or
|
||||
|
||||
:let filetype_euphoria="euphoria4"
|
||||
|
||||
@@ -2721,10 +2773,10 @@ To set a user-defined list of code block syntax highlighting: >
|
||||
To assign multiple code block types to a single syntax, define
|
||||
`rst_syntax_code_list` as a mapping: >
|
||||
let rst_syntax_code_list = {
|
||||
\ 'cpp' = ['cpp', 'c++'],
|
||||
\ 'bash' = ['bash', 'sh'],
|
||||
\ 'cpp': ['cpp', 'c++'],
|
||||
\ 'bash': ['bash', 'sh'],
|
||||
...
|
||||
}
|
||||
\ }
|
||||
|
||||
To use color highlighting for emphasis text: >
|
||||
let rst_use_emphasis_colors = 1
|
||||
@@ -3485,26 +3537,26 @@ It will look much better with a font in a quadratic cell size, e.g. for X: >
|
||||
YAML *yaml.vim* *ft-yaml-syntax*
|
||||
|
||||
*g:yaml_schema* *b:yaml_schema*
|
||||
A YAML schema is a combination of a set of tags and a mechanism for resolving
|
||||
non-specific tags. For user this means that YAML parser may, depending on
|
||||
plain scalar contents, treat plain scalar (which can actually be only string
|
||||
and nothing else) as a value of the other type: null, boolean, floating-point,
|
||||
integer. `g:yaml_schema` option determines according to which schema values
|
||||
A YAML schema is a combination of a set of tags and a mechanism for resolving
|
||||
non-specific tags. For user this means that YAML parser may, depending on
|
||||
plain scalar contents, treat plain scalar (which can actually be only string
|
||||
and nothing else) as a value of the other type: null, boolean, floating-point,
|
||||
integer. `g:yaml_schema` option determines according to which schema values
|
||||
will be highlighted specially. Supported schemas are
|
||||
|
||||
Schema Description ~
|
||||
failsafe No additional highlighting.
|
||||
json Supports JSON-style numbers, booleans and null.
|
||||
core Supports more number, boolean and null styles.
|
||||
pyyaml In addition to core schema supports highlighting timestamps,
|
||||
but there are some differences in what is recognized as
|
||||
numbers and many additional boolean values not present in core
|
||||
pyyaml In addition to core schema supports highlighting timestamps,
|
||||
but there are some differences in what is recognized as
|
||||
numbers and many additional boolean values not present in core
|
||||
schema.
|
||||
|
||||
Default schema is `core`.
|
||||
|
||||
Note that schemas are not actually limited to plain scalars, but this is the
|
||||
only difference between schemas defined in YAML specification and the only
|
||||
Note that schemas are not actually limited to plain scalars, but this is the
|
||||
only difference between schemas defined in YAML specification and the only
|
||||
difference defined in the syntax file.
|
||||
|
||||
|
||||
@@ -3606,7 +3658,7 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||
|
||||
clear: Syntax specific iskeyword setting is disabled and the
|
||||
buffer-local 'iskeyword' setting is used.
|
||||
{option} Set the syntax 'iskeyword' option to a new value.
|
||||
{option} Set the syntax 'iskeyword' option to a new value.
|
||||
|
||||
Example: >
|
||||
:syntax iskeyword @,48-57,192-255,$,_
|
||||
@@ -5051,6 +5103,12 @@ IncSearch 'incsearch' highlighting; also used for the text replaced with
|
||||
*hl-LineNr*
|
||||
LineNr Line number for ":number" and ":#" commands, and when 'number'
|
||||
or 'relativenumber' option is set.
|
||||
*hl-LineNrAbove*
|
||||
LineNrAbove Line number for when the 'relativenumber'
|
||||
option is set, above the cursor line.
|
||||
*hl-LineNrBelow*
|
||||
LineNrBelow Line number for when the 'relativenumber'
|
||||
option is set, below the cursor line.
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' is
|
||||
set to "number" or "both", or 'relativenumber' is set, for
|
||||
|
||||
@@ -663,7 +663,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'nosb' options.txt /*'nosb'*
|
||||
'nosc' options.txt /*'nosc'*
|
||||
'noscb' options.txt /*'noscb'*
|
||||
'noscf' options.txt /*'noscf'*
|
||||
'noscrollbind' options.txt /*'noscrollbind'*
|
||||
'noscrollfocus' options.txt /*'noscrollfocus'*
|
||||
'noscs' options.txt /*'noscs'*
|
||||
'nosecure' options.txt /*'nosecure'*
|
||||
'nosft' options.txt /*'nosft'*
|
||||
@@ -843,10 +845,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
'sbr' options.txt /*'sbr'*
|
||||
'sc' options.txt /*'sc'*
|
||||
'scb' options.txt /*'scb'*
|
||||
'scf' options.txt /*'scf'*
|
||||
'scl' options.txt /*'scl'*
|
||||
'scr' options.txt /*'scr'*
|
||||
'scroll' options.txt /*'scroll'*
|
||||
'scrollbind' options.txt /*'scrollbind'*
|
||||
'scrollfocus' options.txt /*'scrollfocus'*
|
||||
'scrolljump' options.txt /*'scrolljump'*
|
||||
'scrolloff' options.txt /*'scrolloff'*
|
||||
'scrollopt' options.txt /*'scrollopt'*
|
||||
@@ -1016,6 +1020,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
't_Sb' term.txt /*'t_Sb'*
|
||||
't_Sf' term.txt /*'t_Sf'*
|
||||
't_Si' term.txt /*'t_Si'*
|
||||
't_TE' term.txt /*'t_TE'*
|
||||
't_TI' term.txt /*'t_TI'*
|
||||
't_Te' term.txt /*'t_Te'*
|
||||
't_Ts' term.txt /*'t_Ts'*
|
||||
't_VS' term.txt /*'t_VS'*
|
||||
@@ -1347,6 +1353,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
+perl various.txt /*+perl*
|
||||
+perl/dyn various.txt /*+perl\/dyn*
|
||||
+persistent_undo various.txt /*+persistent_undo*
|
||||
+popupwin various.txt /*+popupwin*
|
||||
+postscript various.txt /*+postscript*
|
||||
+printer various.txt /*+printer*
|
||||
+profile various.txt /*+profile*
|
||||
@@ -4041,6 +4048,8 @@ E274 eval.txt /*E274*
|
||||
E275 textprop.txt /*E275*
|
||||
E276 eval.txt /*E276*
|
||||
E277 remote.txt /*E277*
|
||||
E278 popup.txt /*E278*
|
||||
E279 terminal.txt /*E279*
|
||||
E28 syntax.txt /*E28*
|
||||
E280 if_tcl.txt /*E280*
|
||||
E282 starting.txt /*E282*
|
||||
@@ -4858,6 +4867,7 @@ InsertChange autocmd.txt /*InsertChange*
|
||||
InsertCharPre autocmd.txt /*InsertCharPre*
|
||||
InsertEnter autocmd.txt /*InsertEnter*
|
||||
InsertLeave autocmd.txt /*InsertLeave*
|
||||
Integer eval.txt /*Integer*
|
||||
J change.txt /*J*
|
||||
Japanese mbyte.txt /*Japanese*
|
||||
Job eval.txt /*Job*
|
||||
@@ -5030,6 +5040,7 @@ TERM starting.txt /*TERM*
|
||||
TOhtml-encoding syntax.txt /*TOhtml-encoding*
|
||||
TOhtml-encoding-detect syntax.txt /*TOhtml-encoding-detect*
|
||||
TOhtml-performance syntax.txt /*TOhtml-performance*
|
||||
TOhtml-progress-color syntax.txt /*TOhtml-progress-color*
|
||||
TOhtml-uncopyable-text syntax.txt /*TOhtml-uncopyable-text*
|
||||
TOhtml-wrap-text syntax.txt /*TOhtml-wrap-text*
|
||||
TRUE eval.txt /*TRUE*
|
||||
@@ -5047,6 +5058,7 @@ Terminal-Job terminal.txt /*Terminal-Job*
|
||||
Terminal-Normal terminal.txt /*Terminal-Normal*
|
||||
Terminal-mode terminal.txt /*Terminal-mode*
|
||||
TerminalOpen autocmd.txt /*TerminalOpen*
|
||||
TerminalWinOpen autocmd.txt /*TerminalWinOpen*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
TextChangedP autocmd.txt /*TextChangedP*
|
||||
@@ -5275,6 +5287,7 @@ added-7.2 version7.txt /*added-7.2*
|
||||
added-7.3 version7.txt /*added-7.3*
|
||||
added-7.4 version7.txt /*added-7.4*
|
||||
added-8.1 version8.txt /*added-8.1*
|
||||
added-8.2 version8.txt /*added-8.2*
|
||||
added-BeOS version5.txt /*added-BeOS*
|
||||
added-Mac version5.txt /*added-Mac*
|
||||
added-VMS version5.txt /*added-VMS*
|
||||
@@ -5310,6 +5323,7 @@ arglist-quit usr_07.txt /*arglist-quit*
|
||||
arglistid() eval.txt /*arglistid()*
|
||||
argument-list editing.txt /*argument-list*
|
||||
argv() eval.txt /*argv()*
|
||||
argv-variable eval.txt /*argv-variable*
|
||||
as motion.txt /*as*
|
||||
asin() eval.txt /*asin()*
|
||||
asm.vim syntax.txt /*asm.vim*
|
||||
@@ -5546,6 +5560,8 @@ c_CTRL-R_CTRL-O cmdline.txt /*c_CTRL-R_CTRL-O*
|
||||
c_CTRL-R_CTRL-P cmdline.txt /*c_CTRL-R_CTRL-P*
|
||||
c_CTRL-R_CTRL-R cmdline.txt /*c_CTRL-R_CTRL-R*
|
||||
c_CTRL-R_CTRL-W cmdline.txt /*c_CTRL-R_CTRL-W*
|
||||
c_CTRL-SHIFT-Q cmdline.txt /*c_CTRL-SHIFT-Q*
|
||||
c_CTRL-SHIFT-V cmdline.txt /*c_CTRL-SHIFT-V*
|
||||
c_CTRL-T cmdline.txt /*c_CTRL-T*
|
||||
c_CTRL-U cmdline.txt /*c_CTRL-U*
|
||||
c_CTRL-V cmdline.txt /*c_CTRL-V*
|
||||
@@ -5638,6 +5654,7 @@ changed-7.2 version7.txt /*changed-7.2*
|
||||
changed-7.3 version7.txt /*changed-7.3*
|
||||
changed-7.4 version7.txt /*changed-7.4*
|
||||
changed-8.1 version8.txt /*changed-8.1*
|
||||
changed-8.2 version8.txt /*changed-8.2*
|
||||
changelist motion.txt /*changelist*
|
||||
changelog.vim syntax.txt /*changelog.vim*
|
||||
changenr() eval.txt /*changenr()*
|
||||
@@ -5787,8 +5804,10 @@ compl-vim insert.txt /*compl-vim*
|
||||
compl-whole-line insert.txt /*compl-whole-line*
|
||||
complete() eval.txt /*complete()*
|
||||
complete-functions insert.txt /*complete-functions*
|
||||
complete-item-kind insert.txt /*complete-item-kind*
|
||||
complete-items insert.txt /*complete-items*
|
||||
complete-popup insert.txt /*complete-popup*
|
||||
complete-popuphidden insert.txt /*complete-popuphidden*
|
||||
complete_CTRL-E insert.txt /*complete_CTRL-E*
|
||||
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
|
||||
complete_add() eval.txt /*complete_add()*
|
||||
@@ -5948,6 +5967,7 @@ daB motion.txt /*daB*
|
||||
daW motion.txt /*daW*
|
||||
dab motion.txt /*dab*
|
||||
dap motion.txt /*dap*
|
||||
dart.vim syntax.txt /*dart.vim*
|
||||
das motion.txt /*das*
|
||||
date-functions usr_41.txt /*date-functions*
|
||||
dav pi_netrw.txt /*dav*
|
||||
@@ -6399,6 +6419,7 @@ ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
|
||||
ft-dart-syntax syntax.txt /*ft-dart-syntax*
|
||||
ft-dash-syntax syntax.txt /*ft-dash-syntax*
|
||||
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
|
||||
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
|
||||
@@ -6444,6 +6465,7 @@ ft-man-plugin filetype.txt /*ft-man-plugin*
|
||||
ft-maple-syntax syntax.txt /*ft-maple-syntax*
|
||||
ft-masm-syntax syntax.txt /*ft-masm-syntax*
|
||||
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
|
||||
ft-matlab-indent indent.txt /*ft-matlab-indent*
|
||||
ft-mma-syntax syntax.txt /*ft-mma-syntax*
|
||||
ft-moo-syntax syntax.txt /*ft-moo-syntax*
|
||||
ft-msql-syntax syntax.txt /*ft-msql-syntax*
|
||||
@@ -6634,6 +6656,7 @@ g:html_prevent_copy syntax.txt /*g:html_prevent_copy*
|
||||
g:html_start_line syntax.txt /*g:html_start_line*
|
||||
g:html_use_css syntax.txt /*g:html_use_css*
|
||||
g:html_use_encoding syntax.txt /*g:html_use_encoding*
|
||||
g:html_use_input_for_pc syntax.txt /*g:html_use_input_for_pc*
|
||||
g:html_use_xhtml syntax.txt /*g:html_use_xhtml*
|
||||
g:html_whole_filler syntax.txt /*g:html_whole_filler*
|
||||
g:netrw_altfile pi_netrw.txt /*g:netrw_altfile*
|
||||
@@ -6806,6 +6829,7 @@ gF editing.txt /*gF*
|
||||
gH visual.txt /*gH*
|
||||
gI insert.txt /*gI*
|
||||
gJ change.txt /*gJ*
|
||||
gM motion.txt /*gM*
|
||||
gN visual.txt /*gN*
|
||||
gP change.txt /*gP*
|
||||
gQ intro.txt /*gQ*
|
||||
@@ -6858,6 +6882,7 @@ getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||
getline() eval.txt /*getline()*
|
||||
getloclist() eval.txt /*getloclist()*
|
||||
getmatches() eval.txt /*getmatches()*
|
||||
getmousepos() eval.txt /*getmousepos()*
|
||||
getpid() eval.txt /*getpid()*
|
||||
getpos() eval.txt /*getpos()*
|
||||
getqflist() eval.txt /*getqflist()*
|
||||
@@ -7091,6 +7116,8 @@ hl-Folded syntax.txt /*hl-Folded*
|
||||
hl-Ignore syntax.txt /*hl-Ignore*
|
||||
hl-IncSearch syntax.txt /*hl-IncSearch*
|
||||
hl-LineNr syntax.txt /*hl-LineNr*
|
||||
hl-LineNrAbove syntax.txt /*hl-LineNrAbove*
|
||||
hl-LineNrBelow syntax.txt /*hl-LineNrBelow*
|
||||
hl-MatchParen syntax.txt /*hl-MatchParen*
|
||||
hl-Menu syntax.txt /*hl-Menu*
|
||||
hl-ModeMsg syntax.txt /*hl-ModeMsg*
|
||||
@@ -7115,6 +7142,7 @@ hl-StatusLine syntax.txt /*hl-StatusLine*
|
||||
hl-StatusLineNC syntax.txt /*hl-StatusLineNC*
|
||||
hl-StatusLineTerm syntax.txt /*hl-StatusLineTerm*
|
||||
hl-StatusLineTermNC syntax.txt /*hl-StatusLineTermNC*
|
||||
hl-TOhtmlProgress syntax.txt /*hl-TOhtmlProgress*
|
||||
hl-TabLine syntax.txt /*hl-TabLine*
|
||||
hl-TabLineFill syntax.txt /*hl-TabLineFill*
|
||||
hl-TabLineSel syntax.txt /*hl-TabLineSel*
|
||||
@@ -7232,6 +7260,7 @@ i_CTRL-R_= insert.txt /*i_CTRL-R_=*
|
||||
i_CTRL-R_CTRL-O insert.txt /*i_CTRL-R_CTRL-O*
|
||||
i_CTRL-R_CTRL-P insert.txt /*i_CTRL-R_CTRL-P*
|
||||
i_CTRL-R_CTRL-R insert.txt /*i_CTRL-R_CTRL-R*
|
||||
i_CTRL-SHIFT-V insert.txt /*i_CTRL-SHIFT-V*
|
||||
i_CTRL-T insert.txt /*i_CTRL-T*
|
||||
i_CTRL-U insert.txt /*i_CTRL-U*
|
||||
i_CTRL-V insert.txt /*i_CTRL-V*
|
||||
@@ -7293,6 +7322,7 @@ if_ruby.txt if_ruby.txt /*if_ruby.txt*
|
||||
if_sniff.txt if_sniff.txt /*if_sniff.txt*
|
||||
if_tcl.txt if_tcl.txt /*if_tcl.txt*
|
||||
ignore-errors eval.txt /*ignore-errors*
|
||||
ignore-timestamp editing.txt /*ignore-timestamp*
|
||||
improved-autocmds-5.4 version5.txt /*improved-autocmds-5.4*
|
||||
improved-quickfix version5.txt /*improved-quickfix*
|
||||
improved-sessions version5.txt /*improved-sessions*
|
||||
@@ -7360,6 +7390,7 @@ interfaces-5.2 version5.txt /*interfaces-5.2*
|
||||
internal-variables eval.txt /*internal-variables*
|
||||
internal-wordlist spell.txt /*internal-wordlist*
|
||||
internet intro.txt /*internet*
|
||||
interrupt() eval.txt /*interrupt()*
|
||||
intro intro.txt /*intro*
|
||||
intro.txt intro.txt /*intro.txt*
|
||||
inverse syntax.txt /*inverse*
|
||||
@@ -7645,6 +7676,8 @@ matchlist() eval.txt /*matchlist()*
|
||||
matchparen pi_paren.txt /*matchparen*
|
||||
matchstr() eval.txt /*matchstr()*
|
||||
matchstrpos() eval.txt /*matchstrpos()*
|
||||
matlab-indent indent.txt /*matlab-indent*
|
||||
matlab-indenting indent.txt /*matlab-indenting*
|
||||
max() eval.txt /*max()*
|
||||
mbyte-IME mbyte.txt /*mbyte-IME*
|
||||
mbyte-XIM mbyte.txt /*mbyte-XIM*
|
||||
@@ -7690,6 +7723,7 @@ modeless-selection gui.txt /*modeless-selection*
|
||||
modeline options.txt /*modeline*
|
||||
modeline-local options.txt /*modeline-local*
|
||||
modeline-version options.txt /*modeline-version*
|
||||
modifyOtherKeys map.txt /*modifyOtherKeys*
|
||||
moo.vim syntax.txt /*moo.vim*
|
||||
more-compatible version5.txt /*more-compatible*
|
||||
more-prompt message.txt /*more-prompt*
|
||||
@@ -8053,9 +8087,11 @@ new-onemore version7.txt /*new-onemore*
|
||||
new-operator-mod version6.txt /*new-operator-mod*
|
||||
new-options-5.2 version5.txt /*new-options-5.2*
|
||||
new-options-5.4 version5.txt /*new-options-5.4*
|
||||
new-other-8.2 version8.txt /*new-other-8.2*
|
||||
new-perl-python version5.txt /*new-perl-python*
|
||||
new-persistent-undo version7.txt /*new-persistent-undo*
|
||||
new-plugins version6.txt /*new-plugins*
|
||||
new-popup-window version8.txt /*new-popup-window*
|
||||
new-posix version7.txt /*new-posix*
|
||||
new-print-multi-byte version7.txt /*new-print-multi-byte*
|
||||
new-printing version6.txt /*new-printing*
|
||||
@@ -8072,6 +8108,7 @@ new-spell version7.txt /*new-spell*
|
||||
new-style-testing testing.txt /*new-style-testing*
|
||||
new-tab-pages version7.txt /*new-tab-pages*
|
||||
new-terminal-window version8.txt /*new-terminal-window*
|
||||
new-text-properties version8.txt /*new-text-properties*
|
||||
new-undo-branches version7.txt /*new-undo-branches*
|
||||
new-unlisted-buffers version6.txt /*new-unlisted-buffers*
|
||||
new-user-defined version5.txt /*new-user-defined*
|
||||
@@ -8082,10 +8119,10 @@ new-vim-script version7.txt /*new-vim-script*
|
||||
new-vim-script-8 version8.txt /*new-vim-script-8*
|
||||
new-vim-server version6.txt /*new-vim-server*
|
||||
new-vimgrep version7.txt /*new-vimgrep*
|
||||
new-vimscript-8.2 version8.txt /*new-vimscript-8.2*
|
||||
new-virtedit version6.txt /*new-virtedit*
|
||||
news intro.txt /*news*
|
||||
nextnonblank() eval.txt /*nextnonblank()*
|
||||
nice todo.txt /*nice*
|
||||
no-eval-feature eval.txt /*no-eval-feature*
|
||||
no-type-checking eval.txt /*no-type-checking*
|
||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||
@@ -8306,6 +8343,7 @@ popup_settext() popup.txt /*popup_settext()*
|
||||
popup_show() popup.txt /*popup_show()*
|
||||
popupmenu-completion insert.txt /*popupmenu-completion*
|
||||
popupmenu-keys insert.txt /*popupmenu-keys*
|
||||
popupwin popup.txt /*popupwin*
|
||||
ports-5.2 version5.txt /*ports-5.2*
|
||||
ports-6 version6.txt /*ports-6*
|
||||
posix vi_diff.txt /*posix*
|
||||
@@ -8495,6 +8533,7 @@ quotestar gui.txt /*quotestar*
|
||||
quote~ change.txt /*quote~*
|
||||
r change.txt /*r*
|
||||
r.vim syntax.txt /*r.vim*
|
||||
rand() eval.txt /*rand()*
|
||||
range() eval.txt /*range()*
|
||||
raw-terminal-mode term.txt /*raw-terminal-mode*
|
||||
rcp pi_netrw.txt /*rcp*
|
||||
@@ -8916,6 +8955,7 @@ sqlj ft_sql.txt /*sqlj*
|
||||
sqlserver ft_sql.txt /*sqlserver*
|
||||
sqlsettype ft_sql.txt /*sqlsettype*
|
||||
sqrt() eval.txt /*sqrt()*
|
||||
srand() eval.txt /*srand()*
|
||||
sscanf eval.txt /*sscanf*
|
||||
standard-plugin usr_05.txt /*standard-plugin*
|
||||
standard-plugin-list help.txt /*standard-plugin-list*
|
||||
@@ -8935,6 +8975,7 @@ state() eval.txt /*state()*
|
||||
static-tag tagsrch.txt /*static-tag*
|
||||
status-line windows.txt /*status-line*
|
||||
statusmsg-variable eval.txt /*statusmsg-variable*
|
||||
stl-%{ options.txt /*stl-%{*
|
||||
str2float() eval.txt /*str2float()*
|
||||
str2list() eval.txt /*str2list()*
|
||||
str2nr() eval.txt /*str2nr()*
|
||||
@@ -8955,6 +8996,7 @@ string-match eval.txt /*string-match*
|
||||
strlen() eval.txt /*strlen()*
|
||||
strpart() eval.txt /*strpart()*
|
||||
strpbrk() eval.txt /*strpbrk()*
|
||||
strptime() eval.txt /*strptime()*
|
||||
strrchr() eval.txt /*strrchr()*
|
||||
strridx() eval.txt /*strridx()*
|
||||
strspn() eval.txt /*strspn()*
|
||||
@@ -9102,6 +9144,8 @@ t_ST term.txt /*t_ST*
|
||||
t_Sb term.txt /*t_Sb*
|
||||
t_Sf term.txt /*t_Sf*
|
||||
t_Si term.txt /*t_Si*
|
||||
t_TE term.txt /*t_TE*
|
||||
t_TI term.txt /*t_TI*
|
||||
t_Te term.txt /*t_Te*
|
||||
t_Ts term.txt /*t_Ts*
|
||||
t_VS term.txt /*t_VS*
|
||||
@@ -9342,6 +9386,7 @@ term_list() terminal.txt /*term_list()*
|
||||
term_scrape() terminal.txt /*term_scrape()*
|
||||
term_sendkeys() terminal.txt /*term_sendkeys()*
|
||||
term_setansicolors() terminal.txt /*term_setansicolors()*
|
||||
term_setapi() terminal.txt /*term_setapi()*
|
||||
term_setkill() terminal.txt /*term_setkill()*
|
||||
term_setrestore() terminal.txt /*term_setrestore()*
|
||||
term_setsize() terminal.txt /*term_setsize()*
|
||||
@@ -9369,6 +9414,7 @@ termdebug_wide terminal.txt /*termdebug_wide*
|
||||
terminal terminal.txt /*terminal*
|
||||
terminal-api terminal.txt /*terminal-api*
|
||||
terminal-client-server terminal.txt /*terminal-client-server*
|
||||
terminal-close terminal.txt /*terminal-close*
|
||||
terminal-colors os_unix.txt /*terminal-colors*
|
||||
terminal-communication terminal.txt /*terminal-communication*
|
||||
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||
@@ -9382,6 +9428,7 @@ terminal-functions usr_41.txt /*terminal-functions*
|
||||
terminal-info term.txt /*terminal-info*
|
||||
terminal-job-index index.txt /*terminal-job-index*
|
||||
terminal-key-codes term.txt /*terminal-key-codes*
|
||||
terminal-mouse term.txt /*terminal-mouse*
|
||||
terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||
terminal-options term.txt /*terminal-options*
|
||||
terminal-output-codes term.txt /*terminal-output-codes*
|
||||
@@ -9575,6 +9622,7 @@ utf-8-typing mbyte.txt /*utf-8-typing*
|
||||
utf8 mbyte.txt /*utf8*
|
||||
v visual.txt /*v*
|
||||
v: eval.txt /*v:*
|
||||
v:argv eval.txt /*v:argv*
|
||||
v:beval_bufnr eval.txt /*v:beval_bufnr*
|
||||
v:beval_col eval.txt /*v:beval_col*
|
||||
v:beval_lnum eval.txt /*v:beval_lnum*
|
||||
@@ -9811,6 +9859,7 @@ version-7.3 version7.txt /*version-7.3*
|
||||
version-7.4 version7.txt /*version-7.4*
|
||||
version-8.0 version8.txt /*version-8.0*
|
||||
version-8.1 version8.txt /*version-8.1*
|
||||
version-8.2 version8.txt /*version-8.2*
|
||||
version-variable eval.txt /*version-variable*
|
||||
version4.txt version4.txt /*version4.txt*
|
||||
version5.txt version5.txt /*version5.txt*
|
||||
@@ -9823,6 +9872,7 @@ version7.4 version7.txt /*version7.4*
|
||||
version7.txt version7.txt /*version7.txt*
|
||||
version8.0 version8.txt /*version8.0*
|
||||
version8.1 version8.txt /*version8.1*
|
||||
version8.2 version8.txt /*version8.2*
|
||||
version8.txt version8.txt /*version8.txt*
|
||||
versionlong-variable eval.txt /*versionlong-variable*
|
||||
vi intro.txt /*vi*
|
||||
@@ -9838,6 +9888,7 @@ views-sessions starting.txt /*views-sessions*
|
||||
vim-7.4 version7.txt /*vim-7.4*
|
||||
vim-8 version8.txt /*vim-8*
|
||||
vim-8.1 version8.txt /*vim-8.1*
|
||||
vim-8.2 version8.txt /*vim-8.2*
|
||||
vim-additions vi_diff.txt /*vim-additions*
|
||||
vim-announce intro.txt /*vim-announce*
|
||||
vim-arguments starting.txt /*vim-arguments*
|
||||
@@ -10163,6 +10214,7 @@ zz scroll.txt /*zz*
|
||||
{move-around} visual.txt /*{move-around}*
|
||||
{offset} pattern.txt /*{offset}*
|
||||
{pat} autocmd.txt /*{pat}*
|
||||
{register} change.txt /*{register}*
|
||||
{rhs} map.txt /*{rhs}*
|
||||
{subject} helphelp.txt /*{subject}*
|
||||
{} intro.txt /*{}*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Jun 10
|
||||
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Nov 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -436,7 +436,7 @@ files here, it is only supported for backwards compatibility :-).
|
||||
|
||||
Lines in Emacs tags files can be very long. Vim only deals with lines of up
|
||||
to about 510 bytes. To see whether lines are ignored set 'verbose' to 5 or
|
||||
higher.
|
||||
higher. Non-Emacs tags file lines can be any length.
|
||||
|
||||
*tags-option*
|
||||
The 'tags' option is a list of file names. Each of these files is searched
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -80,14 +80,19 @@ can do this best in your .vimrc. Example: >
|
||||
<
|
||||
*raw-terminal-mode*
|
||||
For normal editing the terminal will be put into "raw" mode. The strings
|
||||
defined with 't_ti' and 't_ks' will be sent to the terminal. Normally this
|
||||
puts the terminal in a state where the termcap codes are valid and activates
|
||||
the cursor and function keys. When Vim exits the terminal will be put back
|
||||
into the mode it was before Vim started. The strings defined with 't_te' and
|
||||
't_ke' will be sent to the terminal. On the Amiga, with commands that execute
|
||||
an external command (e.g., "!!"), the terminal will be put into Normal mode
|
||||
for a moment. This means that you can stop the output to the screen by
|
||||
hitting a printing key. Output resumes when you hit <BS>.
|
||||
defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal. Normally
|
||||
this puts the terminal in a state where the termcap codes are valid and
|
||||
activates the cursor and function keys.
|
||||
When Vim exits the terminal will be put back into the mode it was before Vim
|
||||
started. The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
|
||||
the terminal. On the Amiga, with commands that execute an external command
|
||||
(e.g., "!!"), the terminal will be put into Normal mode for a moment. This
|
||||
means that you can stop the output to the screen by hitting a printing key.
|
||||
Output resumes when you hit <BS>.
|
||||
|
||||
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
|
||||
alternate screen. This may slightly change what happens when executing a
|
||||
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
|
||||
|
||||
*xterm-bracketed-paste*
|
||||
When the 't_BE' option is set then 't_BE' will be sent to the
|
||||
@@ -297,8 +302,8 @@ OUTPUT CODES *terminal-output-codes*
|
||||
t_se standout end *t_se* *'t_se'*
|
||||
t_so standout mode *t_so* *'t_so'*
|
||||
t_sr scroll reverse (backward) *t_sr* *'t_sr'*
|
||||
t_te out of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal in "termcap" mode *t_ti* *'t_ti'*
|
||||
t_te end of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal into "termcap" mode *t_ti* *'t_ti'*
|
||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||
t_ue underline end *t_ue* *'t_ue'*
|
||||
t_us underline mode *t_us* *'t_us'*
|
||||
@@ -359,6 +364,8 @@ Added by Vim (there are no standard codes for these):
|
||||
t_RT restore window title from stack *t_RT* *'t_RT'*
|
||||
t_Si save icon text to stack *t_Si* *'t_Si'*
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
t_TE end of "raw" mode *t_TE* *'t_TE'*
|
||||
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
@@ -498,7 +505,7 @@ Vim has started, the escape sequences may not be recognized anymore.
|
||||
|
||||
*xterm-true-color*
|
||||
Vim supports using true colors in the terminal (taken from |highlight-guifg|
|
||||
and |highlight-guibg|), given that the terminal supports this. To make this
|
||||
and |highlight-guibg|), given that the terminal supports this. To make this
|
||||
work the 'termguicolors' option needs to be set.
|
||||
See https://gist.github.com/XVilka/8346728 for a list of terminals that
|
||||
support true colors.
|
||||
@@ -739,12 +746,21 @@ jump to tags).
|
||||
Whether the selection that is started with the mouse is in Visual mode or
|
||||
Select mode depends on whether "mouse" is included in the 'selectmode'
|
||||
option.
|
||||
|
||||
*terminal-mouse*
|
||||
In an xterm, with the currently active mode included in the 'mouse' option,
|
||||
normal mouse clicks are used by Vim, mouse clicks with the shift or ctrl key
|
||||
pressed go to the xterm. With the currently active mode not included in
|
||||
'mouse' all mouse clicks go to the xterm.
|
||||
|
||||
For terminals where it is not possible to have the mouse events be used by the
|
||||
terminal itself by using a modifier, a workaround is to not use mouse events
|
||||
for Vim in command-line mode: >
|
||||
:set mouse=nvi
|
||||
Then to select text with the terminal, use ":" to go to command-line mode,
|
||||
select and copy the text to the system, then press Esc.
|
||||
|
||||
Another way is to temporarily use ":sh" to run a shell, copy the text, then
|
||||
exit the shell. 'mouse' can remain set to "a" then.
|
||||
*xterm-clipboard*
|
||||
In the Athena and Motif GUI versions, when running in a terminal and there is
|
||||
access to the X-server (DISPLAY is set), the copy and paste will behave like
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 26
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -72,7 +72,7 @@ CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
|
||||
CTRL-W : enter an Ex command
|
||||
See |CTRL-W| for more commands.
|
||||
|
||||
Special in the terminal window: *t_CTRL-W_.* *t_CTRL-W_N*
|
||||
Special in the terminal window: *t_CTRL-W_.* *t_CTRL-W_N*
|
||||
CTRL-W . send a CTRL-W to the job in the terminal
|
||||
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
|
||||
@@ -193,6 +193,7 @@ Command syntax ~
|
||||
Supported [options] are:
|
||||
++close The terminal window will close
|
||||
automatically when the job terminates.
|
||||
|terminal-close|
|
||||
++noclose The terminal window will NOT close
|
||||
automatically when the job terminates.
|
||||
++open When the job terminates and no window
|
||||
@@ -209,6 +210,10 @@ Command syntax ~
|
||||
no window will be used.
|
||||
++norestore Do not include this terminal window
|
||||
in a session file.
|
||||
++shell Instead of executing {command}
|
||||
directly, use a shell, like with
|
||||
`:!command` *E279*
|
||||
{only works on Unix currently}
|
||||
++kill={how} When trying to close the terminal
|
||||
window kill the job with {how}. See
|
||||
|term_setkill()| for the values.
|
||||
@@ -267,6 +272,12 @@ hidden, the job keeps running. The `:buffer` command can be used to turn the
|
||||
current window into a terminal window. If there are unsaved changes this
|
||||
fails, use ! to force, as usual.
|
||||
|
||||
*terminal-close*
|
||||
When the terminal window is closed, e.g. when the shell exits and "++close"
|
||||
argument was used, and this is the last normal Vim window, then Vim will exit.
|
||||
This is like using |:quit| in a normal window. Help and preview windows are
|
||||
not counted.
|
||||
|
||||
To have a background job run without a window, and open the window when it's
|
||||
done, use options like this: >
|
||||
:term ++hidden ++open make
|
||||
@@ -496,7 +507,7 @@ term_dumpload({filename} [, {options}])
|
||||
For {options} see |term_dumpdiff()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetFilename()-> term_dumpload()
|
||||
GetFilename()->term_dumpload()
|
||||
<
|
||||
*term_dumpwrite()*
|
||||
term_dumpwrite({buf}, {filename} [, {options}])
|
||||
@@ -514,7 +525,7 @@ term_dumpwrite({buf}, {filename} [, {options}])
|
||||
|
||||
Can also be used as a |method|, the base is used for the file
|
||||
name: >
|
||||
GetFilename()-> term_dumpwrite(bufnr)
|
||||
GetFilename()->term_dumpwrite(bufnr)
|
||||
|
||||
term_getaltscreen({buf}) *term_getaltscreen()*
|
||||
Returns 1 if the terminal of {buf} is using the alternate
|
||||
@@ -863,8 +874,6 @@ term_start({cmd} [, {options}]) *term_start()*
|
||||
Can also be used as a |method|: >
|
||||
GetCommand()->term_start()
|
||||
|
||||
< {only available when compiled with the |+terminal| feature}
|
||||
|
||||
|
||||
term_wait({buf} [, {time}]) *term_wait()*
|
||||
Wait for pending updates of {buf} to be handled.
|
||||
@@ -917,7 +926,7 @@ Currently supported commands:
|
||||
|
||||
Call a user defined function with {argument}.
|
||||
The function is called with two arguments: the buffer number
|
||||
of the terminal and {argument}, the decoded JSON argument.
|
||||
of the terminal and {argument}, the decoded JSON argument.
|
||||
By default, the function name must start with "Tapi_" to avoid
|
||||
accidentally calling a function not meant to be used for the
|
||||
terminal API. This can be changed with |term_setapi()|.
|
||||
@@ -1037,12 +1046,12 @@ file for now, e.g.: >
|
||||
|
||||
The test will then fail, giving you the command to compare the reference dump
|
||||
and the failed dump, e.g.: >
|
||||
call term_dumpdiff("Test_func.dump.failed", "dumps/Test_func.dump")
|
||||
call term_dumpdiff("failed/Test_func.dump", "dumps/Test_func.dump")
|
||||
|
||||
Use this command in Vim, with the current directory set to src/testdir.
|
||||
Once you are satisfied with the test, move the failed dump in place of the
|
||||
reference: >
|
||||
:!mv Test_func.dump.failed dumps/Test_func.dump
|
||||
:!mv failed/Test_func.dump dumps/Test_func.dump
|
||||
|
||||
|
||||
Creating a screen dump ~
|
||||
@@ -1131,7 +1140,7 @@ program window A terminal window for the executed program. When "run" is
|
||||
|
||||
The current window is used to show the source code. When gdb pauses the
|
||||
source file location will be displayed, if possible. A sign is used to
|
||||
highlight the current position, using highlight group debugPC.
|
||||
highlight the current position, using highlight group debugPC.
|
||||
|
||||
If the buffer in the current window is modified, another window will be opened
|
||||
to display the current gdb position. You can use `:Winbar` to add a window
|
||||
@@ -1168,8 +1177,12 @@ Example session ~
|
||||
*termdebug-example*
|
||||
Start in the Vim "src" directory and build Vim: >
|
||||
% make
|
||||
Make sure that debug symbols are present, usually that means that $CFLAGS
|
||||
includes "-g".
|
||||
|
||||
Start Vim: >
|
||||
% ./vim
|
||||
|
||||
Load the termdebug plugin and start debugging Vim: >
|
||||
:packadd termdebug
|
||||
:Termdebug vim
|
||||
@@ -1184,7 +1197,7 @@ Put focus on the gdb window and type: >
|
||||
run
|
||||
Vim will start running in the program window. Put focus there and type: >
|
||||
:help gui
|
||||
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||
ex_cmds.c file. A red "1 " marker will appear in the signcolumn where the
|
||||
breakpoint was set. The line where the debugger stopped is highlighted. You
|
||||
can now step through the program. Let's use the mouse: click on the "Next"
|
||||
@@ -1243,7 +1256,7 @@ gdb:
|
||||
|
||||
*:Break* set a breakpoint at the cursor position
|
||||
:Break {position}
|
||||
set a breakpoint at the specified position
|
||||
set a breakpoint at the specified position
|
||||
*:Clear* delete the breakpoint at the cursor position
|
||||
|
||||
*:Step* execute the gdb "step" command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Sep 04
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6,13 +6,6 @@
|
||||
|
||||
Displaying text with properties attached. *textprop* *text-properties*
|
||||
|
||||
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
|
||||
|
||||
What is not working yet:
|
||||
- Adjusting column/length when inserting text
|
||||
- Text properties spanning more than one line
|
||||
- prop_find()
|
||||
|
||||
|
||||
1. Introduction |text-prop-intro|
|
||||
2. Functions |text-prop-functions|
|
||||
@@ -52,11 +45,11 @@ A text property has these fields:
|
||||
|
||||
Property Types ~
|
||||
*E971*
|
||||
A text property normally has the name of a property type, which defines
|
||||
A text property normally has the name of a property type, which defines
|
||||
how to highlight the text. The property type can have these entries:
|
||||
"highlight" name of the highlight group to use
|
||||
"combine" when TRUE the text property highlighting is combined
|
||||
with any syntax highlighting, when omitted or FALSE the
|
||||
"combine" when omitted or TRUE the text property highlighting is
|
||||
combined with any syntax highlighting; when FALSE the
|
||||
text property highlighting replaces the syntax
|
||||
highlighting
|
||||
"priority" when properties overlap, the one with the highest
|
||||
@@ -94,6 +87,12 @@ and/or ends with a specific character, such as the quote surrounding a string.
|
||||
Nevertheless, when text is inserted or deleted the text may need to be parsed
|
||||
and the text properties updated. But this can be done asynchronously.
|
||||
|
||||
|
||||
Internal error *E967*
|
||||
|
||||
If you see E967, please report the bug. You can do this at Github:
|
||||
https://github.com/vim/vim/issues/new
|
||||
|
||||
==============================================================================
|
||||
2. Functions *text-prop-functions*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Dec 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,40 +38,21 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Add test for state().
|
||||
Add test for using SafeState and SafeStateAgain autocommand.
|
||||
Then plugin can:
|
||||
- When callback is invoked and state() returns non-empty, add to work queue
|
||||
- When SafeState autocommand event triggers, process work queue
|
||||
|
||||
Fix for "x" should be done by fixing "dl" ? 8.1.2052
|
||||
|
||||
'completeopt' "popup" variant that uses a callback after the popup has been
|
||||
created, so the contents can be changed. Make it hidden, callback
|
||||
or later has to make it visible. #4924 Setting the buffer contents later
|
||||
doesn't work well.
|
||||
|
||||
Popup windows:
|
||||
- Use popup (or popup menu) for command line completion
|
||||
- Implement flip option
|
||||
- Why does 'nrformats' leak from the popup window buffer???
|
||||
Happens in Test_simple_popup() at the second screendump.
|
||||
- For the "moved" property also include mouse movement?
|
||||
- Make redrawing more efficient and avoid flicker:
|
||||
- put popup menu also in popup_mask?
|
||||
- Any other commands to disable in a popup window?
|
||||
Use ERROR_IF_POPUP_WINDOW for more commands.
|
||||
- Figure out the size and position better.
|
||||
if wrapping splits a double-wide character
|
||||
if wrapping inserts indent
|
||||
- When drawing on top half a double-wide character, display ">" or "<" in the
|
||||
incomplete cell.
|
||||
Use ERROR_IF_POPUP_WINDOW for these.
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
Text properties: See comment at top of src/textprop.c.
|
||||
Text properties:
|
||||
- Implement prop_find() issue #4970
|
||||
- Text properties spanning more than one line
|
||||
- See remarks at top of src/textprop.c
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
||||
was set. (#3837)
|
||||
'incsearch' with :s:
|
||||
- :s/foo using CTRL-G moves to another line, should not happen, or use the
|
||||
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
|
||||
- :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
|
||||
@@ -83,7 +64,7 @@ Text properties: See comment at top of src/textprop.c.
|
||||
Then :%s?foo should take the first match above the cursor line.
|
||||
|
||||
Prompt buffer:
|
||||
- Add a command line history.
|
||||
- Add a command line history, using up/down keys. issue #5010
|
||||
- delay next prompt until plugin gives OK?
|
||||
- add prompt_addtext({buf}, {expr}) none add text to a prompt buffer
|
||||
|
||||
@@ -96,15 +77,13 @@ Terminal debugger:
|
||||
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
|
||||
after "run". Everything else works, including communication channel. Not
|
||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||
- Add support for lldb? #3565
|
||||
- Add support for lldb? issue #3565
|
||||
- Could we do something similar for debugging Vim scripts? At least see the
|
||||
script while stepping through it. Simple version would use an extra window.
|
||||
More complete solution would actually run Vim in a Terminal and control it
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- When typing "exit" in a terminal window with a shell and it's the only
|
||||
window, should exit Vim instead of editing another buffer. (#4539)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
And use modeless selection. #2962
|
||||
@@ -112,13 +91,10 @@ Terminal emulator window:
|
||||
be redrawn.
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
|
||||
- GUI: hang until key typed. (#3530)
|
||||
- Allow for specifying the directory, with ++cwd={dir}.
|
||||
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
|
||||
#2977)
|
||||
- Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
|
||||
directly. Perhaps ":term ++shell cmd". (#3340)
|
||||
- When pasting should call vterm_keyboard_start_paste(), e.g. when using
|
||||
K_MIDDLEMOUSE, calling insert_reg().
|
||||
- Users expect parsing the :term argument like a shell does, also support
|
||||
@@ -138,16 +114,19 @@ Terminal emulator window:
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E278, E279, E290, E292, E362, E366, E450, E451, E452,
|
||||
E290, E292, E362, E366, E450, E451, E452,
|
||||
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||
E654, E856, E857, E860, E861, E863, E889, E900
|
||||
|
||||
Improve running tests on MS-Windows: #4922
|
||||
Patch to move duplicated code to a function. (Yegappan Lakshmanan, #5330)
|
||||
|
||||
Patch to properly break CJK lines: #3875
|
||||
Ready to include now?
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||
Athena is OK.
|
||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
|
||||
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
|
||||
Patch to properly break CJK lines: Anton Kochkov, #3875
|
||||
Flag in 'formatoptions' is not used in the tests.
|
||||
|
||||
undo result wrong: Masato Nishihata, #4798
|
||||
|
||||
@@ -155,59 +134,64 @@ Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
|
||||
Sound: support on Mac? Or does libcanberra work there?
|
||||
|
||||
Patch for #4733: #4734. Test needs improvements.
|
||||
|
||||
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
|
||||
20)
|
||||
Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
|
||||
May 20)
|
||||
Also put :argadd commands at the start for all buffers, so that their order
|
||||
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||
terminal.c and then CTRL-N twice.
|
||||
Happens when typing CTRL-N while still searching for results. E.g., type "b_"
|
||||
in terminal.c and then CTRL-N twice.
|
||||
Should do current file first and not split it up when more results are found.
|
||||
(Also #1890)
|
||||
|
||||
Patch to use timers in matchparen. (Daniel Hahler, #1338)
|
||||
Ready to include now?
|
||||
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087)
|
||||
|
||||
Instead of using a syntax error, use #error to fail early when something is
|
||||
wrong. E.g. in vim.h "Error:", and blowfish.c "error!". (#5299)
|
||||
|
||||
":helptags ALL" should skip directories where "tags" cannot be written.
|
||||
(Matěj Cepl, #5026)
|
||||
|
||||
":bnext" in a help buffer is supposed to go to the next help buffer, but it
|
||||
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||
unlisted. (#4478)
|
||||
|
||||
Patch to fix using zero sc_sid. (#4877)
|
||||
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
|
||||
|
||||
Make 'showbreak' global-local.
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
The :syntax cchar value can only be a single character. It would be useful to
|
||||
support combining characters. (Charles Campbell) Also #4687
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
|
||||
Result of synID() sometimes wrong in help files. (#5252)
|
||||
|
||||
Problem showing a line if the number column width changes when using "o".
|
||||
(Mateusz Morusiewicz, #4245)
|
||||
|
||||
When using :packadd for a replacement language plugin, it is loaded after the
|
||||
default one. #4698
|
||||
|
||||
Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
|
||||
|
||||
When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320)
|
||||
|
||||
Modeless selection doesn't work in gvim. (#4783)
|
||||
Caused by patch 8.1.1534.
|
||||
|
||||
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
|
||||
Alternative from Christian Brabandt. (2010 Sep 19)
|
||||
New one from Yasuhiro Matsumoto, #1277.
|
||||
|
||||
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
|
||||
fit. (Kevin Lawler, #4457)
|
||||
|
||||
Patch to add interrupt(). (Yasuhiro Matsumoto, #2834)
|
||||
|
||||
Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd
|
||||
-". (Yegappan Lakshmanan, #4362)
|
||||
|
||||
@@ -218,16 +202,55 @@ Does not build with MinGW out of the box:
|
||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
|
||||
|
||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||
|
||||
Patch to support "0o" for octal numbers. (Ken Takata, #5304)
|
||||
|
||||
When getting a focus event halfway a mapping this aborts the mapping. E.g.
|
||||
when "qq" is mapped and after the first "q" the mouse is moved outside of the
|
||||
gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the
|
||||
input buffer. (#5302)
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Update 2016 Aug 12.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
Check_external_diff() is used too often. (Daniel Hahler, #4800)
|
||||
|
||||
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
|
||||
2007 Feb 18)
|
||||
Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
|
||||
|
||||
Add a WindowScrolled event. Trigger around the same time as CursorMoved.
|
||||
Can be used to update highlighting. #3127 #5181
|
||||
|
||||
Patch for Template string: #4491. New pull: #4634
|
||||
Implementation is too inefficient, avoid using lambda.
|
||||
|
||||
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
|
||||
|
||||
Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)
|
||||
Needs a test.
|
||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
|
||||
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
Patch to support CamelCase for spell checking: See a lower-to-upper case
|
||||
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
|
||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||
(Ben Tucker, 2016 Dec 2)
|
||||
|
||||
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
|
||||
Update 2016 Jun 10, #861
|
||||
|
||||
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
||||
|
||||
Improve fallback for menu translations, to avoid having to create lots of
|
||||
files that source the actual file. E.g. menu_da_de -> menu_da
|
||||
Include part of #3242?
|
||||
@@ -235,11 +258,28 @@ Include part of #3242?
|
||||
When a terminal exit_cb closes the window, a following typed key is lost, if
|
||||
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
||||
|
||||
Patch for Inno Setup: #2739
|
||||
Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
|
||||
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution? Need to cleanup langmap behavior:
|
||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
||||
a copy-buffer, only when langmap is appropriate for the current mode. Then
|
||||
check for mapping and let gotchars() work on the copy-buffer.
|
||||
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
|
||||
covered by the above change.
|
||||
So that replaying the register doesn't use keymap/langmap and still does the
|
||||
same thing. Remarks on PR #543 (Roland Puntaier).
|
||||
Also see #737: langmap not applied to replaying recording.
|
||||
|
||||
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||
t:diffexpr_option t:diffopt_option? (#4782)
|
||||
|
||||
v:register isn't reset early enough, may be used by next command.
|
||||
(Andy Massimino, #5294, possible fix in #5305)
|
||||
|
||||
Internal diff doesn't handle binary file like external diff does. (Mike
|
||||
Williams, 2018 Oct 30)
|
||||
|
||||
@@ -248,19 +288,35 @@ Williams, 2018 Oct 30)
|
||||
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
|
||||
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
|
||||
|
||||
Error drawing the number column when 'cursorline' is set. (#3893)
|
||||
|
||||
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
||||
|
||||
Add an argument to expandcmd() to expand like ":next" does.
|
||||
|
||||
When both "a" and "l" is in 'formatoptions' then auto-formatting also happens
|
||||
in a long line. #5189
|
||||
|
||||
The quoting of the [command] argument of :terminal is not clearly documented.
|
||||
Give a few examples. (#4288)
|
||||
|
||||
Opening a file with --remote-tab-silent that matches 'wildignore' does not
|
||||
work, results in (E479: No match". (#4610)
|
||||
|
||||
Patch for this (Tristan Konolige, #1011, only adds the option, no implem.):
|
||||
7 Add an option to add one pixel column to the character width? Lucida
|
||||
Console italic is wider than the normal font ("d" overlaps with next char).
|
||||
Opposite of 'linespace': 'columnspace'.
|
||||
|
||||
Bug: script written with "-W scriptout" contains Key codes, while the script
|
||||
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
||||
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
||||
|
||||
":registers" should indicate char/block/linewise. (Ayberk Aydin, #4546)
|
||||
Add a string to the 'display' option ("smoothscroll" ?) to make CTRL-E and
|
||||
CTRL-Y scroll one screen line, also if this means the first line doesn't start
|
||||
with the first character (like what happens with a last line that doesn't
|
||||
fit). Display "<<<" at the start of the first visible line (like "@@@" is
|
||||
displayed in the last line). (Arseny Nasokin, #5154)
|
||||
|
||||
Patch for ambiguous width characters in libvterm on MS-Windows 10.
|
||||
(Nobuhiro Takasaki, #4411)
|
||||
@@ -276,7 +332,7 @@ Include a few color schemes, based on popularity:
|
||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||
http://vimawesome.com/?q=tag:color-scheme
|
||||
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- monokai - Xia Crusoe (2017 Aug 4)
|
||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
|
||||
Lifepillar, 2018 Jan 22, #2573)
|
||||
@@ -371,11 +427,6 @@ Not existing directory in CDPATH leads to two shell calls. (#4525)
|
||||
Use dict_iterate_start() / dict_iterate_next() instead of relying on the
|
||||
internals of the dict structure.
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||
Athena is OK.
|
||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
|
||||
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
||||
|
||||
Missing tests for:
|
||||
@@ -385,9 +436,6 @@ Redo only remembers the last change. Could use "{count}g." to redo an older
|
||||
change. How does the user know which change? At least have a way to list
|
||||
them: ":repeats". Add to history, like search history and command line history.
|
||||
|
||||
When using exclusive selection and vi" that fails, cursor moves to the left.
|
||||
Cursor should not move. (#4024)
|
||||
|
||||
Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
|
||||
Also run all tests with C locale?
|
||||
|
||||
@@ -506,9 +554,6 @@ How would we know that the status line needs to be updated?
|
||||
|
||||
Adjust windows installer explanation of behavior. (scootergrisen, #3310)
|
||||
|
||||
Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
|
||||
(Daniel Hahler, 2018 Aug 8, #3299)
|
||||
|
||||
Update for xim-input-style help (Tony Mechelynck, 2019 Jan 10).
|
||||
Feedback from someone who uses this?
|
||||
|
||||
@@ -534,7 +579,7 @@ When the last line wraps, selecting with the mouse below that line only
|
||||
includes the first screen line. (2018 Aug 23, #3368)
|
||||
|
||||
Refactored HTML indent file. (Michael Lee, #1821)
|
||||
Ask to write a test first.
|
||||
Asked to write a test.
|
||||
|
||||
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
|
||||
(lkintact, 2018 Sep 22, #3473)
|
||||
@@ -543,6 +588,9 @@ Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||
|
||||
Display error when a conceal match uses '\%>1l'. (#4854)
|
||||
|
||||
Add a windowID argument to placing a sign, so that it only shows up in one
|
||||
window for the buffer.
|
||||
|
||||
Request to add sign_setlist() to make it faster to add a lot of signs, e.g.
|
||||
when adding a sign for every quickfix entry. (#4557)
|
||||
|
||||
@@ -594,9 +642,9 @@ Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
|
||||
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
|
||||
24)
|
||||
|
||||
Try out background make plugin:
|
||||
Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
or asyncmake:
|
||||
or asyncmake:
|
||||
https://github.com/yegappan/asyncmake
|
||||
|
||||
Add a ModeChanged autocommand that has an argument indicating the old and new
|
||||
@@ -608,9 +656,6 @@ used for git temp files.
|
||||
|
||||
Cursor in wrong position when line wraps. (#2540)
|
||||
|
||||
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
|
||||
#2546) Fixes #1057. Missing a test.
|
||||
|
||||
Setting 'columns' in a BufEnter autocommand causes a second tab width to
|
||||
behave strangely, as if there is a gap and a vertical window separator.
|
||||
(Michael Soyka, 2018 Sep 23, #3477)
|
||||
@@ -621,9 +666,6 @@ pass an expression to evaluate. Allow passing zero for "never skip".
|
||||
Add an option similar to 'lazyredraw' to skip redrawing while executing a
|
||||
script or function.
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
When using a menu item while the "more" prompt is displayed doesn't work well.
|
||||
E.g. after using help->version. Have a key that ends the "more" prompt and
|
||||
does nothing otherwise?
|
||||
@@ -661,9 +703,6 @@ Jan 15, #2555)
|
||||
|
||||
":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
|
||||
|
||||
Patch for Template string: #4491. New pull: #4634
|
||||
It's an awful lot of code for something that is just a bit nicer syntax.
|
||||
|
||||
Check argument of systemlist(). (Pavlov)
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
@@ -820,15 +859,8 @@ The ":move" command does not honor closed folds. (Ryan Lue, #2351)
|
||||
Patch to fix increment/decrement not working properly when 'virtualedit' is
|
||||
set. (Hirohito Higashi, 2016 Aug 1, #923)
|
||||
|
||||
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||
|
||||
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
|
||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||
|
||||
@@ -925,8 +957,6 @@ Memory leak in test97? The string is actually freed. Weird.
|
||||
assert_fails() can only check for the first error. Make it possible to have
|
||||
it catch multiple errors and check all of them.
|
||||
|
||||
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
|
||||
|
||||
Add a toolbar in the terminal. Can be global, above all windows, or specific
|
||||
for one window.
|
||||
|
||||
@@ -1069,10 +1099,6 @@ Patch to make it possible to extend a list with itself.
|
||||
|
||||
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
|
||||
|
||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||
|
||||
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
|
||||
|
||||
On Windows buffer completion sees backslash as escape char instead of path
|
||||
separator. (Toffanim, 2016 Nov 24, #1274)
|
||||
|
||||
@@ -1093,6 +1119,9 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
|
||||
+channel:
|
||||
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
|
||||
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
|
||||
available. Should be more efficient than looping over ch_read() with
|
||||
ch_status() to check for more.
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
@@ -1172,8 +1201,6 @@ Regexp problems:
|
||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||
(2017 May 15, #1252)
|
||||
|
||||
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
|
||||
|
||||
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
|
||||
#1350)
|
||||
|
||||
@@ -1189,11 +1216,6 @@ Include the test.
|
||||
When 'keywordprg' starts with ":" the argument is still escaped as a shell
|
||||
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
|
||||
|
||||
Patch to support CamelCase for spell checking: See a lower-to-upper case
|
||||
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
|
||||
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
|
||||
(Ben Tucker, 2016 Dec 2)
|
||||
|
||||
Idea from Sven: record sequence of keys. Useful to show others what they are
|
||||
doing (look over the shoulder), and also to see what happened.
|
||||
Probably list of keystrokes, with some annotations for mode changes.
|
||||
@@ -1276,9 +1298,6 @@ Reject the value? #710.
|
||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||
|
||||
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
|
||||
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
|
||||
|
||||
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
||||
|
||||
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||
@@ -1340,10 +1359,6 @@ Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
||||
Test object i{ and it do not behave the same. #1379
|
||||
Do not include the linebreak at the start?
|
||||
|
||||
Patch to have text objects defined by arbitrary single characters. (Daniel
|
||||
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
|
||||
Added tests (James McCoy, 2016 Aug 3). Still needs more work.
|
||||
|
||||
Feature request: add the "al" text object, to manipulate a screen line.
|
||||
Especially useful when using 'linebreak'
|
||||
|
||||
@@ -1359,9 +1374,6 @@ If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||
(Christian Brabandt, 2016 Jan 28)
|
||||
|
||||
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
|
||||
Update 2016 Jun 10, #861
|
||||
|
||||
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
|
||||
|
||||
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||
@@ -1480,18 +1492,6 @@ Patch to fix checking global option value when not using it.
|
||||
When 'showbreak' is set repeating a Visual operation counts the size of the
|
||||
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
|
||||
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution? Need to cleanup langmap behavior:
|
||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
||||
a copy-buffer, only when langmap is appropriate for the current mode. Then
|
||||
check for mapping and let gotchars() work on the copy-buffer.
|
||||
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
|
||||
covered by the above change.
|
||||
So that replaying the register doesn't use keymap/langmap and still does the
|
||||
same thing. Remarks on issue 543 (Roland Puntaier).
|
||||
Also see #737: langmap not applied to replaying recording.
|
||||
|
||||
Patch to add grepfile(). (Scott Prager, 2015 May 26)
|
||||
Work in progress.
|
||||
|
||||
@@ -1600,14 +1600,6 @@ compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
Spell checking: Add a feature to only consider two spaces after a dot to start
|
||||
a new sentence. Don't give the capitalization error when there is one space.
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Update 2016 Aug 12.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
@@ -2151,10 +2143,6 @@ Looks like only bash can do it. (Yakov Lerner)
|
||||
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
|
||||
Jun 29) Caused by 7.2.433?
|
||||
|
||||
I often see pasted text (from Firefox, to Vim in xterm) appear twice.
|
||||
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
|
||||
an external command).
|
||||
|
||||
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)
|
||||
|
||||
Problem with transparent cmdline. Also: Terminal title is wrong with
|
||||
@@ -2522,7 +2510,7 @@ Works OK when 'cmdheight' is 2.
|
||||
Patch by Christian Brabandt, 2013 May 31.
|
||||
|
||||
The utf class table is missing some entries:
|
||||
0x2212, minus sign
|
||||
0x2212, minus sign
|
||||
0x2217, star
|
||||
0x2500, bar
|
||||
0x26ab, circle
|
||||
@@ -2717,10 +2705,6 @@ patches by Mathias, see mail Feb 22)
|
||||
Win32: compiling with normal features and OLE fails. Patch by Mathias
|
||||
Michaelis, 2006 Jun 4.
|
||||
|
||||
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
|
||||
2007 Feb 18)
|
||||
Patch by Alex Dobrynin, 2007 Jun 3. Also fixes other scroll wheel problems.
|
||||
|
||||
Win32: using CTRL-S in Insert mode doesn't remove the "+" from the tab pages
|
||||
label. (Tsakiridis, 2007 Feb 18) Patch from Ian Kelling, 2008 Aug 6.
|
||||
|
||||
@@ -2750,10 +2734,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
||||
Feature request: Command to go to previous tab, like what CTRL-W p does for
|
||||
windows. (Adam George)
|
||||
|
||||
F1 - F4 in an xterm produce a different escape sequence when used with a
|
||||
modifier key. Need to catch three different sequences. Use K_ZF1, like
|
||||
K_ZHOME? (Dickey, 2007 Dec 2)
|
||||
|
||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||
|
||||
@@ -2803,7 +2783,7 @@ Ruby completion is insecure. Can this be fixed?
|
||||
|
||||
When 'backupskip' is set from $TEMP special characters need to be escaped.
|
||||
(patch by Grembowietz, 2007 Feb 26, not quite right)
|
||||
Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
|
||||
Another problem is that file_pat_to_reg_pat() doesn't recognize "\\", so "\\("
|
||||
will be seen as a path separator plus "\(".
|
||||
|
||||
gvim d:\path\path\(FILE).xml should not remove the \ before the (.
|
||||
@@ -2888,12 +2868,6 @@ Setting 'background' resets the Normal background color:
|
||||
This is undesired, 'background' is supposed to tell Vim what the background
|
||||
color is, not reset it.
|
||||
|
||||
Linux distributions:
|
||||
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
|
||||
known to Vim. 88 colors instead of 16 works better. See ":help
|
||||
xfree-xterm".
|
||||
- Suggest including bare "vi" and "vim" with X11, syntax, etc.
|
||||
|
||||
Completion menu: For a wrapping line, completing a long file name, only the
|
||||
start of the path is shown in the menu. Should move the menu to the right to
|
||||
show more text of the completions. Shorten the items that don't fit in the
|
||||
@@ -2908,12 +2882,6 @@ the buffer is displayed. (Antonios Tsakiridis)
|
||||
When ":cn" moves to an error in the same line the message isn't shortened.
|
||||
Only skip shortening for ":cc"?
|
||||
|
||||
Write "making vim work better" for the docs (mostly pointers): *nice*
|
||||
- sourcing $VIMRUNTIME/vimrc_example.vim
|
||||
- setting 'mouse' to "a"
|
||||
- getting colors in xterm
|
||||
- compiling Vim with X11, GUI, etc.
|
||||
|
||||
Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
|
||||
Campbell 2006 Jul 06.
|
||||
|
||||
@@ -3007,11 +2975,6 @@ When 'encoding' is utf-8 typing text at the end of the line causes previously
|
||||
typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008
|
||||
Sep 3, 11)
|
||||
|
||||
When Vim in an xterm owns the selection and the user does ":shell" Vim doesn't
|
||||
respond to selection requests. Invoking XtDisownSelection() before executing
|
||||
the shell doesn't help. Would require forking and doing a message loop, like
|
||||
what happens for the GUI.
|
||||
|
||||
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
||||
this, at least for Unix (using device/inode)?
|
||||
|
||||
@@ -3100,11 +3063,6 @@ Awaiting updated patches:
|
||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||
been given values.
|
||||
Add section in help files for these highlight groups?
|
||||
8 "fg" and "bg" don't work in an xterm. Get default colors from xterm
|
||||
with an ESC sequence.
|
||||
xterm can send colors for many things. E.g. for the cursor:
|
||||
<Esc>]12;?<Bel>
|
||||
Can use this to get the background color and restore the colors on exit.
|
||||
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
|
||||
Dalecki has a patch for Motif and Carbon)
|
||||
- Add possibility to highlight specific columns (for Fortran). Or put a
|
||||
@@ -3306,9 +3264,6 @@ Win32 GUI known bugs:
|
||||
8 When the 'shell' cannot be executed, should give an appropriate error msg.
|
||||
Esp. for a filter command, currently it only complains the file could not
|
||||
be read.
|
||||
7 Add an option to add one pixel column to the character width? Lucida
|
||||
Console italic is wider than the normal font ("d" overlaps with next char).
|
||||
Opposite of 'linespace': 'columnspace'.
|
||||
7 At the hit-enter prompt scrolling now no longer works. Need to use the
|
||||
keyboard to get around this. Pretend <CR> was hit when the user tries to
|
||||
scroll?
|
||||
@@ -3701,7 +3656,6 @@ Macintosh:
|
||||
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
|
||||
recognize these keys? Mostly useful for xterm simulators, like gnometerm.
|
||||
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
|
||||
8 For xterm also recognize keypad up/down/left/right and insert.
|
||||
8 '[ and '] should be set to start/end of line when using a linewise operator
|
||||
(e.g., ":w").
|
||||
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
|
||||
@@ -3716,10 +3670,6 @@ Macintosh:
|
||||
filesystem, an illegal file name may be created: ".vim".
|
||||
8 For each buffer that is opened, the viminfo file is opened and read to
|
||||
check for file marks. This can be slow.
|
||||
7 In xterm, recognize both vt100 and vt220 cursor keys. Change
|
||||
add_termcode() to not remove an existing entry for a name, when it's
|
||||
needed.
|
||||
Need a generic solution to recognize different codes for the same key.
|
||||
8 Core dump within signal function: gdb doesn't show stack backtrace! Option
|
||||
to skip catch_signals()?
|
||||
9 Repeating a "cw" with "." doesn't work if the text was pasted from the
|
||||
@@ -4000,7 +3950,7 @@ Tab pages:
|
||||
|
||||
Spell checking:
|
||||
- Support more regions? Caolan McNamara argues it's needed for es_XX.
|
||||
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
|
||||
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
|
||||
- Unicode defines another quote character: 0x2019. Use it as an equivalent
|
||||
of a single quote, thus use it as a word character like a quote and match
|
||||
with words, replacing the curly quote with a single quote.
|
||||
@@ -4651,9 +4601,6 @@ Messages:
|
||||
|
||||
|
||||
Screen updating:
|
||||
7 Add a string to the 'display' option to make CTRL-E and CTRL-Y scroll one
|
||||
screen line, also if this means the first line doesn't start with the
|
||||
first character (like what happens with a single line that doesn't fit).
|
||||
- screen_line():
|
||||
- insert/delete character stuff.
|
||||
- improve delete rest of line (spaces at end of line).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*uganda.txt* For Vim version 8.1. Last change: 2018 May 17
|
||||
*uganda.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -216,7 +216,7 @@ Check the ICCF web site for the latest information! See |iccf| for the URL.
|
||||
USA: The methods mentioned below can be used.
|
||||
Sending a check to the Nehemiah Group Outreach Society (NGOS)
|
||||
is no longer possible, unfortunately. We are looking for
|
||||
another way to get you an IRS tax receipt.
|
||||
another way to get you an IRS tax receipt.
|
||||
For sponsoring a child contact KCF in Canada (see below). US
|
||||
checks can be sent to them to lower banking costs.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||
*undo.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -271,7 +271,7 @@ respectively:
|
||||
(the magic number at the start of the file is wrong), then
|
||||
this fails, unless the ! was added.
|
||||
If it exists and does look like an undo file it is
|
||||
overwritten. If there is no undo-history, nothing will be
|
||||
overwritten. If there is no undo-history, nothing will be
|
||||
written.
|
||||
Implementation detail: Overwriting happens by first deleting
|
||||
the existing file and then creating a new file with the same
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_01.txt* For Vim version 8.1. Last change: 2017 Jul 15
|
||||
*usr_01.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -41,11 +41,11 @@ the commands and options used for it. Use these two commands:
|
||||
Press CTRL-O to jump back (repeat to go further back).
|
||||
|
||||
Many links are in vertical bars, like this: |bars|. The bars themselves may
|
||||
be hidden or invisible, see below. An option name, like 'number', a command
|
||||
be hidden or invisible; see below. An option name, like 'number', a command
|
||||
in double quotes like ":write" and any other word can also be used as a link.
|
||||
Try it out: Move the cursor to CTRL-] and press CTRL-] on it.
|
||||
|
||||
Other subjects can be found with the ":help" command, see |help.txt|.
|
||||
Other subjects can be found with the ":help" command; see |help.txt|.
|
||||
|
||||
The bars and stars are usually hidden with the |conceal| feature. They also
|
||||
use |hl-Ignore|, using the same color for the text as the background. You can
|
||||
@@ -101,14 +101,14 @@ For more info see |vimrc| and |compatible-default|.
|
||||
alternative called "evim" (easy Vim). This is still Vim, but used in
|
||||
a way that resembles a click-and-type editor like Notepad. It always
|
||||
stays in Insert mode, thus it feels very different. It is not
|
||||
explained in the user manual, since it should be mostly self
|
||||
explanatory. See |evim-keys| for details.
|
||||
explained in the user manual, since it should be mostly
|
||||
self-explanatory. See |evim-keys| for details.
|
||||
|
||||
==============================================================================
|
||||
*01.3* Using the Vim tutor *tutor* *vimtutor*
|
||||
|
||||
Instead of reading the text (boring!) you can use the vimtutor to learn your
|
||||
first Vim commands. This is a 30 minute tutorial that teaches the most basic
|
||||
first Vim commands. This is a 30-minute tutorial that teaches the most basic
|
||||
Vim functionality hands-on.
|
||||
|
||||
On Unix, if Vim has been properly installed, you can start it from the shell:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_02.txt* For Vim version 8.1. Last change: 2017 Mar 14
|
||||
*usr_02.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -255,11 +255,11 @@ restores the character.
|
||||
|
||||
g intelligent turtle ~
|
||||
|
||||
The next u command restores the next-to-last character deleted:
|
||||
The next "u" command restores the next-to-last character deleted:
|
||||
|
||||
ng intelligent turtle ~
|
||||
|
||||
The next u command gives you the u, and so on:
|
||||
The next "u" command gives you the u, and so on:
|
||||
|
||||
ung intelligent turtle ~
|
||||
oung intelligent turtle ~
|
||||
@@ -375,7 +375,7 @@ To exit, use the "ZZ" command. This command writes the file and exits.
|
||||
Unlike many other editors, Vim does not automatically make a backup
|
||||
file. If you type "ZZ", your changes are committed and there's no
|
||||
turning back. You can configure the Vim editor to produce backup
|
||||
files, see |07.4|.
|
||||
files; see |07.4|.
|
||||
|
||||
|
||||
DISCARDING CHANGES
|
||||
@@ -398,7 +398,7 @@ message and refuse to exit:
|
||||
E37: No write since last change (use ! to override) ~
|
||||
|
||||
By specifying the override, you are in effect telling Vim, "I know that what
|
||||
I'm doing looks stupid, but I'm a big boy and really want to do this."
|
||||
I'm doing looks stupid, but I really want to do this."
|
||||
|
||||
If you want to continue editing with Vim: The ":e!" command reloads the
|
||||
original version of the file.
|
||||
@@ -551,7 +551,7 @@ Summary: *help-summary* >
|
||||
command argument %: >
|
||||
:help c_%
|
||||
|
||||
8) Ex-commands always start with ":", so to go to the :s command help: >
|
||||
8) Ex-commands always start with ":", so to go to the ":s" command help: >
|
||||
:help :s
|
||||
|
||||
9) Commands specifically for debugging start with ">". To go to the help
|
||||
@@ -561,22 +561,23 @@ Summary: *help-summary* >
|
||||
10) Key combinations. They usually start with a single letter indicating
|
||||
the mode for which they can be used. E.g.: >
|
||||
:help i_CTRL-X
|
||||
< takes you to the family of Ctrl-X commands for insert mode which can be
|
||||
used to auto complete different things. Note, that certain keys will
|
||||
< takes you to the family of CTRL-X commands for insert mode which can be
|
||||
used to auto-complete different things. Note, that certain keys will
|
||||
always be written the same, e.g. Control will always be CTRL.
|
||||
For normal mode commands there is no prefix and the topic is available at
|
||||
:h CTRL-<Letter>. E.g. >
|
||||
:help CTRL-W
|
||||
< In contrast >
|
||||
:help c_CTRL-R
|
||||
< will describe what the Ctrl-R does when entering commands in the Command
|
||||
< will describe what the CTRL-R does when entering commands in the Command
|
||||
line and >
|
||||
:help v_Ctrl-A
|
||||
:help v_CTRL-A
|
||||
< talks about incrementing numbers in visual mode and >
|
||||
:help g_CTRL-A
|
||||
< talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
|
||||
Here the "g" stand for the normal command "g" which always expects a second
|
||||
key before doing something similar to the commands starting with "z"
|
||||
< talks about the "g<C-A>" command (e.g. you have to press "g" then
|
||||
<CTRL-A>). Here the "g" stand for the normal command "g" which always
|
||||
expects a second key before doing something similar to the commands
|
||||
starting with "z"
|
||||
|
||||
11) Regexp items always start with /. So to get help for the "\+" quantifier
|
||||
in Vim regexes: >
|
||||
@@ -647,15 +648,16 @@ Summary: *help-summary* >
|
||||
< Also if you want to access a certain chapter in the help, the chapter
|
||||
number can be accessed directly like this: >
|
||||
:help 10.1
|
||||
< goes to chapter 10.1 in |usr_10.txt| and talks about recording macros.
|
||||
< which goes to chapter 10.1 in |usr_10.txt| and talks about recording
|
||||
macros.
|
||||
|
||||
19) Highlighting groups. Always start with hl-groupname. E.g. >
|
||||
:help hl-WarningMsg
|
||||
< talks about the WarningMsg highlighting group.
|
||||
|
||||
20) Syntax highlighting is namespaced to :syn-topic e.g. >
|
||||
20) Syntax highlighting is namespaced to :syn-topic. E.g. >
|
||||
:help :syn-conceal
|
||||
< talks about the conceal argument for the :syn command.
|
||||
< talks about the conceal argument for the ":syn" command.
|
||||
|
||||
21) Quickfix commands usually start with :c while location list commands
|
||||
usually start with :l
|
||||
@@ -688,7 +690,7 @@ Summary: *help-summary* >
|
||||
< takes you exactly to the description of the swap error message and >
|
||||
:help W10
|
||||
< talks about the warning "Changing a readonly file".
|
||||
Sometimes however, those error codes are not described, but rather are
|
||||
Sometimes, however, those error codes are not described, but rather are
|
||||
listed at the Vim command that usually causes this. So: >
|
||||
:help E128
|
||||
< takes you to the |:function| command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 8.1. Last change: 2017 Jul 21
|
||||
*usr_03.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -81,8 +81,8 @@ The "$" command moves the cursor to the end of a line. If your keyboard has
|
||||
an <End> key it will do the same thing.
|
||||
|
||||
The "^" command moves to the first non-blank character of the line. The "0"
|
||||
command (zero) moves to the very first character of the line. The <Home> key
|
||||
does the same thing. In a picture:
|
||||
command (zero) moves to the very first character of the line, and the <Home>
|
||||
key does the same thing. In a picture:
|
||||
|
||||
^
|
||||
<------------
|
||||
@@ -221,7 +221,8 @@ you can see? This figure shows the three commands you can use:
|
||||
L --> | text sample text |
|
||||
+---------------------------+
|
||||
|
||||
Hints: "H" stands for Home, "M" for Middle and "L" for Last.
|
||||
Hints: "H" stands for Home, "M" for Middle and "L" for Last. Alternatively,
|
||||
"H" for high, "M" for Middle and "L" for low.
|
||||
|
||||
==============================================================================
|
||||
*03.6* Telling where you are
|
||||
@@ -298,22 +299,22 @@ To scroll one line at a time use CTRL-E (scroll up) and CTRL-Y (scroll down).
|
||||
Think of CTRL-E to give you one line Extra. (If you use MS-Windows compatible
|
||||
key mappings CTRL-Y will redo a change instead of scroll.)
|
||||
|
||||
To scroll forward by a whole screen (except for two lines) use CTRL-F. The
|
||||
other way is backward, CTRL-B is the command to use. Fortunately CTRL-F is
|
||||
Forward and CTRL-B is Backward, that's easy to remember.
|
||||
To scroll forward by a whole screen (except for two lines) use CTRL-F. To
|
||||
scroll backwards, use CTRL-B. These should be easy to remember: F for
|
||||
Forwards and B for Backwards.
|
||||
|
||||
A common issue is that after moving down many lines with "j" your cursor is at
|
||||
the bottom of the screen. You would like to see the context of the line with
|
||||
the cursor. That's done with the "zz" command.
|
||||
|
||||
+------------------+ +------------------+
|
||||
| some text | | some text |
|
||||
| some text | | some text |
|
||||
| some text | | some text |
|
||||
| some text | zz --> | line with cursor |
|
||||
| some text | | some text |
|
||||
| some text | | some text |
|
||||
| line with cursor | | some text |
|
||||
| earlier text | | earlier text |
|
||||
| earlier text | | earlier text |
|
||||
| earlier text | | earlier text |
|
||||
| earlier text | zz --> | line with cursor |
|
||||
| earlier text | | later text |
|
||||
| earlier text | | later text |
|
||||
| line with cursor | | later text |
|
||||
+------------------+ +------------------+
|
||||
|
||||
The "zt" command puts the cursor line at the top, "zb" at the bottom. There
|
||||
@@ -353,7 +354,7 @@ The "?" command works like "/" but searches backwards: >
|
||||
|
||||
The "N" command repeats the last search the opposite direction. Thus using
|
||||
"N" after a "/" command searches backwards, using "N" after "?" searches
|
||||
forward.
|
||||
forwards.
|
||||
|
||||
|
||||
IGNORING CASE
|
||||
@@ -462,8 +463,8 @@ really jump to that location. Or type more to change the search string.
|
||||
:set nowrapscan
|
||||
|
||||
This stops the search at the end of the file. Or, when you are searching
|
||||
backwards, at the start of the file. The 'wrapscan' option is on by default,
|
||||
thus searching wraps around the end of the file.
|
||||
backwards, it stops the search at the start of the file. The 'wrapscan'
|
||||
option is on by default, thus searching wraps around the end of the file.
|
||||
|
||||
|
||||
INTERMEZZO
|
||||
@@ -485,7 +486,8 @@ Vim. Example: >
|
||||
Go:set hlsearch<Esc>
|
||||
|
||||
"G" moves to the end of the file. "o" starts a new line, where you type the
|
||||
":set" command. You end insert mode with <Esc>. Then write the file: >
|
||||
":set" command. You end insert mode with <Esc>. Then write and close the
|
||||
file: >
|
||||
|
||||
ZZ
|
||||
|
||||
@@ -499,8 +501,8 @@ Regular expressions are an extremely powerful and compact way to specify a
|
||||
search pattern. Unfortunately, this power comes at a price, because regular
|
||||
expressions are a bit tricky to specify.
|
||||
In this section we mention only a few essential ones. More about search
|
||||
patterns and commands in chapter 27 |usr_27.txt|. You can find the full
|
||||
explanation here: |pattern|.
|
||||
patterns and commands can be found in chapter 27 |usr_27.txt|. You can find
|
||||
the full explanation here: |pattern|.
|
||||
|
||||
|
||||
BEGINNING AND END OF A LINE
|
||||
@@ -526,9 +528,9 @@ And with "/^the" we find this one:
|
||||
the solder holding one of the chips melted and the ~
|
||||
xxx
|
||||
|
||||
You can try searching with "/^the$", it will only match a single line
|
||||
consisting of "the". White space does matter here, thus if a line contains a
|
||||
space after the word, like "the ", the pattern will not match.
|
||||
You can try searching with "/^the$"; it will only match a single line
|
||||
consisting entirely of "the". White space does matter here, thus if a line
|
||||
contains a space after the word, like "the ", the pattern will not match.
|
||||
|
||||
|
||||
MATCHING ANY SINGLE CHARACTER
|
||||
@@ -563,20 +565,20 @@ where you came from, use this command: >
|
||||
|
||||
This ` is a backtick or open single-quote character.
|
||||
If you use the same command a second time you will jump back again. That's
|
||||
because the ` command is a jump itself, and the position from before this jump
|
||||
is remembered.
|
||||
because the "`" command is a jump itself, and the position from before this
|
||||
jump is remembered.
|
||||
|
||||
Generally, every time you do a command that can move the cursor further than
|
||||
within the same line, this is called a jump. This includes the search
|
||||
commands "/" and "n" (it doesn't matter how far away the match is). But not
|
||||
the character searches with "fx" and "tx" or the word movements "w" and "e".
|
||||
Also, "j" and "k" are not considered to be a jump. Even when you use a
|
||||
Also, "j" and "k" are not considered to be a jump, even when you use a
|
||||
count to make them move the cursor quite a long way away.
|
||||
|
||||
The `` command jumps back and forth, between two points. The CTRL-O command
|
||||
The "``" command jumps back and forth, between two points. The CTRL-O command
|
||||
jumps to older positions (Hint: O for older). CTRL-I then jumps back to newer
|
||||
positions (Hint: I is just next to O on the keyboard). Consider this sequence
|
||||
of commands: >
|
||||
positions (Hint: for many common keyboard layouts, I is just next to O).
|
||||
Consider this sequence of commands: >
|
||||
|
||||
33G
|
||||
/^The
|
||||
@@ -614,9 +616,9 @@ Thus to move to the a mark:
|
||||
>
|
||||
`a
|
||||
|
||||
The command 'mark (single quotation mark, or apostrophe) moves you to the
|
||||
beginning of the line containing the mark. This differs from the `mark
|
||||
command, which moves you to marked column.
|
||||
The command "'mark" (single quotation mark, or apostrophe) moves you to the
|
||||
beginning of the line containing the mark. This differs from the "`mark"
|
||||
command, which also moves you to the marked column.
|
||||
|
||||
The marks can be very useful when working on two related parts in a file.
|
||||
Suppose you have some text near the start of the file you need to look at,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_04.txt* For Vim version 8.1. Last change: 2014 Aug 29
|
||||
*usr_04.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -33,7 +33,7 @@ using a count: "4x" deletes four characters.
|
||||
move word command. In fact, the "d" command may be followed by any motion
|
||||
command, and it deletes from the current location to the place where the
|
||||
cursor winds up.
|
||||
The "4w" command, for example, moves the cursor over four words. The d4w
|
||||
The "4w" command, for example, moves the cursor over four words. The "d4w"
|
||||
command deletes four words.
|
||||
|
||||
To err is human. To really foul up you need a computer. ~
|
||||
@@ -91,14 +91,14 @@ This "c2wbe<Esc>" contains these bits:
|
||||
be insert this text
|
||||
<Esc> back to Normal mode
|
||||
|
||||
If you have paid attention, you will have noticed something strange: The space
|
||||
before "human" isn't deleted. There is a saying that for every problem there
|
||||
is an answer that is simple, clear, and wrong. That is the case with the
|
||||
example used here for the "cw" command. The c operator works just like the
|
||||
d operator, with one exception: "cw". It actually works like "ce", change to
|
||||
end of word. Thus the space after the word isn't included. This is an
|
||||
exception that dates back to the old Vi. Since many people are used to it
|
||||
now, the inconsistency has remained in Vim.
|
||||
You will have noticed something strange: The space before "human" isn't
|
||||
deleted. There is a saying that for every problem there is an answer that is
|
||||
simple, clear, and wrong. That is the case with the example used here for the
|
||||
"cw" command. The c operator works just like the d operator, with one
|
||||
exception: "cw". It actually works like "ce", change to end of word. Thus
|
||||
the space after the word isn't included. This is an exception that dates back
|
||||
to the old Vi. Since many people are used to it now, the inconsistency has
|
||||
remained in Vim.
|
||||
|
||||
|
||||
MORE CHANGES
|
||||
@@ -114,7 +114,7 @@ Insert mode and append new text.
|
||||
SHORTCUTS
|
||||
|
||||
Some operator-motion commands are used so often that they have been given a
|
||||
single letter command:
|
||||
single-letter command:
|
||||
|
||||
x stands for dl (delete character under the cursor)
|
||||
X stands for dh (delete character left of the cursor)
|
||||
@@ -138,6 +138,7 @@ REPLACING WITH ONE CHARACTER
|
||||
The "r" command is not an operator. It waits for you to type a character, and
|
||||
will replace the character under the cursor with it. You could do the same
|
||||
with "cl" or with the "s" command, but with "r" you don't have to press <Esc>
|
||||
to get back out of insert mode.
|
||||
|
||||
there is somerhing grong here ~
|
||||
rT rt rw
|
||||
@@ -164,7 +165,7 @@ The "." command is one of the most simple yet powerful commands in Vim. It
|
||||
repeats the last change. For instance, suppose you are editing an HTML file
|
||||
and want to delete all the <B> tags. You position the cursor on the first <
|
||||
and delete the <B> with the command "df>". You then go to the < of the next
|
||||
</B> and kill it using the "." command. The "." command executes the last
|
||||
</B> and delete it using the "." command. The "." command executes the last
|
||||
change command (in this case, "df>"). To delete another tag, position the
|
||||
cursor on the < and use the "." command.
|
||||
|
||||
@@ -176,8 +177,8 @@ cursor on the < and use the "." command.
|
||||
f< find next < ------------->
|
||||
. repeat df> -->
|
||||
|
||||
The "." command works for all changes you make, except for the "u" (undo),
|
||||
CTRL-R (redo) and commands that start with a colon (:).
|
||||
The "." command works for all changes you make, except for "u" (undo), CTRL-R
|
||||
(redo) and commands that start with a colon (:).
|
||||
|
||||
Another example: You want to change the word "four" to "five". It appears
|
||||
several times in your text. You can do this quickly with this sequence of
|
||||
@@ -201,7 +202,8 @@ change. Then you can use Visual mode.
|
||||
You start Visual mode by pressing "v". You move the cursor over the text you
|
||||
want to work on. While you do this, the text is highlighted. Finally type
|
||||
the operator command.
|
||||
For example, to delete from halfway one word to halfway another word:
|
||||
For example, to delete from the middle of one word to the middle of another
|
||||
word:
|
||||
|
||||
This is an examination sample of visual mode ~
|
||||
---------->
|
||||
@@ -269,8 +271,8 @@ where they open a new line below or above the cursor.
|
||||
==============================================================================
|
||||
*04.5* Moving text
|
||||
|
||||
When you delete something with the "d", "x", or another command, the text is
|
||||
saved. You can paste it back by using the p command. (The Vim name for
|
||||
When you delete something with "d", "x", or another command, the text is
|
||||
saved. You can paste it back by using the "p" command. (The Vim name for
|
||||
this is put).
|
||||
Take a look at how this works. First you will delete an entire line, by
|
||||
putting the cursor on the line you want to delete and typing "dd". Now you
|
||||
@@ -362,11 +364,11 @@ Use "y$" to yank to the end of the line.
|
||||
|
||||
If you are using the GUI version of Vim (gvim), you can find the "Copy" item
|
||||
in the "Edit" menu. First select some text with Visual mode, then use the
|
||||
Edit/Copy menu. The selected text is now copied to the clipboard. You can
|
||||
paste the text in other programs. In Vim itself too.
|
||||
Edit/Copy menu item. The selected text is now copied to the clipboard. You
|
||||
can paste the text in other programs. In Vim itself too.
|
||||
|
||||
If you have copied text to the clipboard in another application, you can paste
|
||||
it in Vim with the Edit/Paste menu. This works in Normal mode and Insert
|
||||
it in Vim with the Edit/Paste menu item. This works in Normal mode and Insert
|
||||
mode. In Visual mode the selected text is replaced with the pasted text.
|
||||
|
||||
The "Cut" menu item deletes the text before it's put on the clipboard. The
|
||||
@@ -385,7 +387,7 @@ To put text from the clipboard back into the text: >
|
||||
"*p
|
||||
|
||||
This only works on versions of Vim that include clipboard support. More about
|
||||
the clipboard in section |09.3| and here: |clipboard|.
|
||||
the clipboard can be found in section |09.3| and here: |clipboard|.
|
||||
|
||||
==============================================================================
|
||||
*04.8* Text objects
|
||||
@@ -401,8 +403,8 @@ to do this: "daw".
|
||||
|
||||
The "d" of "daw" is the delete operator. "aw" is a text object. Hint: "aw"
|
||||
stands for "A Word". Thus "daw" is "Delete A Word". To be precise, the white
|
||||
space after the word is also deleted (the white space before the word at the
|
||||
end of the line).
|
||||
space after the word is also deleted (or the white space before the word if at
|
||||
the end of the line).
|
||||
|
||||
Using text objects is the third way to make changes in Vim. We already had
|
||||
operator-motion and Visual mode. Now we add operator-text object.
|
||||
@@ -429,11 +431,11 @@ sentence "Another line.":
|
||||
some text. ~
|
||||
|
||||
"cis" consists of the "c" (change) operator and the "is" text object. This
|
||||
stands for "Inner Sentence". There is also the "as" (a sentence) object. The
|
||||
difference is that "as" includes the white space after the sentence and "is"
|
||||
doesn't. If you would delete a sentence, you want to delete the white space
|
||||
at the same time, thus use "das". If you want to type new text the white
|
||||
space can remain, thus you use "cis".
|
||||
stands for "Inner Sentence". There is also the "as" ("A Sentence") object.
|
||||
The difference is that "as" includes the white space after the sentence and
|
||||
"is" doesn't. If you would delete a sentence, you want to delete the white
|
||||
space at the same time, thus use "das". If you want to type new text the
|
||||
white space can remain, thus you use "cis".
|
||||
|
||||
You can also use text objects in Visual mode. It will include the text object
|
||||
in the Visual selection. Visual mode continues, thus you can do this several
|
||||
@@ -470,13 +472,13 @@ character.
|
||||
*04.10* Conclusion
|
||||
|
||||
The operators, movement commands and text objects give you the possibility to
|
||||
make lots of combinations. Now that you know how it works, you can use N
|
||||
make lots of combinations. Now that you know how they work, you can use N
|
||||
operators with M movement commands to make N * M commands!
|
||||
|
||||
You can find a list of operators here: |operator|
|
||||
You can find a list of operators here: |operator|.
|
||||
|
||||
For example, there are many other ways to delete pieces of text. Here are a
|
||||
few often used ones:
|
||||
few common ones:
|
||||
|
||||
x delete character under the cursor (short for "dl")
|
||||
X delete character before the cursor (short for "dh")
|
||||
@@ -492,14 +494,14 @@ If you use "c" instead of "d" they become change commands. And with "y" you
|
||||
yank the text. And so forth.
|
||||
|
||||
|
||||
There are a few often used commands to make changes that didn't fit somewhere
|
||||
There are a few common commands to make changes that didn't fit somewhere
|
||||
else:
|
||||
|
||||
~ change case of the character under the cursor, and move the
|
||||
~ Change case of the character under the cursor, and move the
|
||||
cursor to the next character. This is not an operator (unless
|
||||
'tildeop' is set), thus you can't use it with a motion
|
||||
command. It does work in Visual mode and changes case for
|
||||
all the selected text then.
|
||||
command. It does work in Visual mode, where it changes case
|
||||
for all the selected text.
|
||||
|
||||
I Start Insert mode after moving the cursor to the first
|
||||
non-blank in the line.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_10.txt* For Vim version 8.1. Last change: 2006 Nov 05
|
||||
*usr_10.txt* For Vim version 8.1. Last change: 2019 Nov 22
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -370,7 +370,8 @@ into "barfoo".
|
||||
was specified in this example. This is different from ":substitute", which
|
||||
works on one line without a range.
|
||||
The command isn't perfect, since it also matches lines where "//" appears
|
||||
halfway a line, and the substitution will also take place before the "//".
|
||||
halfway through a line, and the substitution will also take place before the
|
||||
"//".
|
||||
|
||||
Just like with ":substitute", any pattern can be used. When you learn more
|
||||
complicated patterns later, you can use them here.
|
||||
@@ -634,8 +635,8 @@ using it. To check the current value of 'textwidth': >
|
||||
:set textwidth
|
||||
|
||||
Now lines will be broken to take only up to 72 characters. But when you
|
||||
insert text halfway a line, or when you delete a few words, the lines will get
|
||||
too long or too short. Vim doesn't automatically reformat the text.
|
||||
insert text halfway through a line, or when you delete a few words, the lines
|
||||
will get too long or too short. Vim doesn't automatically reformat the text.
|
||||
To tell Vim to format the current paragraph: >
|
||||
|
||||
gqap
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_22.txt* For Vim version 8.1. Last change: 2019 Apr 27
|
||||
*usr_22.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -74,9 +74,9 @@ higher. Pressing "-" does the same thing, without the need to move to the
|
||||
You can press <F1> to get help on the things you can do in the netrw file
|
||||
browser. This is what you get: >
|
||||
|
||||
9. Directory Browsing netrw-browse netrw-dir netrw-list netrw-help
|
||||
9. Directory Browsing netrw-browse netrw-dir netrw-list netrw-help
|
||||
|
||||
MAPS netrw-maps
|
||||
MAPS netrw-maps
|
||||
<F1>.............Help.......................................|netrw-help|
|
||||
<cr>.............Browsing...................................|netrw-cr|
|
||||
<del>............Deleting Files or Directories..............|netrw-delete|
|
||||
|
||||
@@ -346,12 +346,13 @@ scroll:
|
||||
|
||||
g0 to first visible character in this line
|
||||
g^ to first non-blank visible character in this line
|
||||
gm to middle of this line
|
||||
gm to middle of screen line
|
||||
gM to middle of the text in this line
|
||||
g$ to last visible character in this line
|
||||
|
||||
|<-- window -->|
|
||||
some long text, part of which is visible ~
|
||||
g0 g^ gm g$
|
||||
|<-- window -->|
|
||||
some long text, part of which is visible in one line ~
|
||||
g0 g^ gm gM g$
|
||||
|
||||
|
||||
BREAKING AT WORDS *edit-no-break*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 06
|
||||
*usr_41.txt* For Vim version 8.1. Last change: 2019 Nov 21
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -796,6 +796,7 @@ Date and Time: *date-functions* *time-functions*
|
||||
getftime() get last modification time of a file
|
||||
localtime() get current time in seconds
|
||||
strftime() convert time to a string
|
||||
strptime() convert a date/time string to time
|
||||
reltime() get the current or elapsed time accurately
|
||||
reltimestr() convert reltime() result to a string
|
||||
reltimefloat() convert reltime() result to a Float
|
||||
@@ -856,6 +857,7 @@ Insert mode completion: *completion-functions*
|
||||
complete_check() check if completion should be aborted
|
||||
complete_info() get current completion information
|
||||
pumvisible() check if the popup menu is displayed
|
||||
pum_getpos() position and size of popup menu if visible
|
||||
|
||||
Folding: *folding-functions*
|
||||
foldclosed() check for a closed fold at a specific line
|
||||
@@ -902,6 +904,7 @@ Interactive: *interactive-functions*
|
||||
confirm() let the user make a choice
|
||||
getchar() get a character from the user
|
||||
getcharmod() get modifiers for the last typed character
|
||||
getmousepos() get last known mouse position
|
||||
feedkeys() put characters in the typeahead queue
|
||||
input() get a line from the user
|
||||
inputlist() let the user pick an entry from a list
|
||||
|
||||
@@ -480,9 +480,9 @@ probably contains your vimrc file and other runtime files that you created, so
|
||||
be careful.
|
||||
|
||||
Else, if you installed Vim with the zip archives, the preferred way is to use
|
||||
the "uninstal" program (note the missing l at the end). You can find it in
|
||||
the same directory as the "install" program, e.g., "c:\vim\vim61". This
|
||||
should also work from the usual "install/remove software" page.
|
||||
the "uninstall" program. You can find it in the same directory as the
|
||||
"install" program, e.g., "c:\vim\vim61". This should also work from the usual
|
||||
"install/remove software" page.
|
||||
However, this only removes the registry entries for Vim. You have to
|
||||
delete the files yourself. Simply select the directory "vim\vim61" and delete
|
||||
it recursively. There should be no files there that you changed, but you
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.1. Last change: 2019 Sep 04
|
||||
*various.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -53,7 +53,7 @@ ga Print the ascii value of the character under the
|
||||
When the character is a non-standard ASCII character,
|
||||
but printable according to the 'isprint' option, the
|
||||
non-printable version is also given.
|
||||
|
||||
|
||||
When the character is larger than 127, the <M-x> form
|
||||
is also printed. For example:
|
||||
<~A> <M-^A> 129, Hex 81, Octal 201 ~
|
||||
@@ -308,6 +308,7 @@ g8 Print the hex values of the bytes used in the
|
||||
B big
|
||||
H huge
|
||||
m manually enabled or depends on other features
|
||||
- never, feature was removed
|
||||
(none) system dependent
|
||||
Thus if a feature is marked with "N", it is included
|
||||
in the normal, big and huge versions of Vim.
|
||||
@@ -337,7 +338,7 @@ N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||
T *+cmdline_compl* command line completion |cmdline-completion|
|
||||
S *+cmdline_hist* command line history |cmdline-history|
|
||||
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
||||
N *+comments* |'comments'| support
|
||||
T *+comments* |'comments'| support
|
||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||
N *+cryptv* encryption support |encryption|
|
||||
B *+cscope* |cscope| support
|
||||
@@ -355,7 +356,7 @@ B *+emacs_tags* |emacs-tags| files
|
||||
N *+eval* expression evaluation |eval.txt|
|
||||
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
|
||||
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
|
||||
B *+farsi* |farsi| language
|
||||
- *+farsi* Removed: |farsi| language
|
||||
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
|
||||
N *+find_in_path* include file searches: |[I|, |:isearch|,
|
||||
|CTRL-W_CTRL-I|, |:checkpath|, etc.
|
||||
@@ -389,7 +390,7 @@ m *+lua/dyn* |Lua| interface |/dyn|
|
||||
N *+menu* |:menu|
|
||||
N *+mksession* |:mksession|
|
||||
T *+modify_fname* |filename-modifiers|
|
||||
N *+mouse* Mouse handling |mouse-using|
|
||||
T *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
@@ -413,6 +414,7 @@ N *+path_extra* Up/downwards search in 'path' and 'tags'
|
||||
m *+perl* Perl interface |perl|
|
||||
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
|
||||
N *+persistent_undo* Persistent undo |undo-persistence|
|
||||
N *+popupwin* Popup windows |popup-window|
|
||||
*+postscript* |:hardcopy| writes a PostScript file
|
||||
N *+printer* |:hardcopy| command
|
||||
H *+profile* |:profile| command
|
||||
@@ -434,12 +436,12 @@ N *+spell* spell checking support, see |spell|
|
||||
N *+startuptime* |--startuptime| argument
|
||||
N *+statusline* Options 'statusline', 'rulerformat' and special
|
||||
formats of 'titlestring' and 'iconstring'
|
||||
m *+sun_workshop* |workshop|; no longer supported
|
||||
- *+sun_workshop* Removed: |workshop|
|
||||
N *+syntax* Syntax highlighting |syntax|
|
||||
*+system()* Unix only: opposite of |+fork|
|
||||
T *+tag_binary* binary searching in tags file |tag-binary-search|
|
||||
N *+tag_old_static* old method for static tags |tag-old-static|
|
||||
m *+tag_any_white* Removed; was to allow any white space in tags files
|
||||
- *+tag_old_static* Removed; method for static tags |tag-old-static|
|
||||
- *+tag_any_white* Removed; was to allow any white space in tags files
|
||||
m *+tcl* Tcl interface |tcl|
|
||||
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
|
||||
m *+terminal* Support for terminal window |terminal|
|
||||
@@ -516,11 +518,11 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
optional.
|
||||
:redi[r] @{a-z}>> Append messages to register {a-z}.
|
||||
|
||||
:redi[r] @*>
|
||||
:redi[r] @*>
|
||||
:redi[r] @+> Redirect messages to the selection or clipboard. For
|
||||
backward compatibility, the ">" after the register
|
||||
name can be omitted. See |quotestar| and |quoteplus|.
|
||||
:redi[r] @*>>
|
||||
:redi[r] @*>>
|
||||
:redi[r] @+>> Append messages to the selection or clipboard.
|
||||
|
||||
:redi[r] @"> Redirect messages to the unnamed register. For
|
||||
@@ -575,6 +577,8 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
|:marks| - filter by text in the current file,
|
||||
or file name for other files
|
||||
|:oldfiles| - filter by file name
|
||||
|:registers| - filter by register contents
|
||||
(does not work multi-line)
|
||||
|:set| - filter by variable name
|
||||
|
||||
Only normal messages are filtered, error messages are
|
||||
@@ -711,7 +715,7 @@ K Run a program to lookup the keyword under the
|
||||
after the X server restarts, e.g. when running Vim for
|
||||
long time inside screen/tmux and connecting from
|
||||
different machines.
|
||||
[display] should be in the format of the $DISPLAY
|
||||
[display] should be in the format of the $DISPLAY
|
||||
environment variable (e.g. "localhost:10.0")
|
||||
If [display] is omitted, then it reinitializes the
|
||||
connection to the X11 server using the same value as
|
||||
@@ -719,7 +723,7 @@ K Run a program to lookup the keyword under the
|
||||
If the value was never specified, then it uses the
|
||||
value of $DISPLAY environment variable as it was when
|
||||
Vim was started.
|
||||
{only available when compiled with the |+clipboard|
|
||||
{only available when compiled with the |+clipboard|
|
||||
feature}
|
||||
|
||||
*g_CTRL-A*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 8.1. Last change: 2019 May 13
|
||||
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Nov 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -64,6 +64,9 @@ w300 number (default 23) *'w300'*
|
||||
w1200 number (default 23) *'w1200'*
|
||||
w9600 number (default 23) *'w9600'*
|
||||
|
||||
Vi did not allow for changing the termcap entries, you would have to exit Vi,
|
||||
edit the termcap entry and try again. Vim has the |terminal-options|.
|
||||
|
||||
==============================================================================
|
||||
3. Limits *limits*
|
||||
|
||||
@@ -703,7 +706,7 @@ first character).
|
||||
|
||||
CTRL-A works like CTRL-@ but does not leave insert mode.
|
||||
|
||||
CTRL-R {0-9a-z..} can be used to insert the contents of a register.
|
||||
CTRL-R {register} can be used to insert the contents of a register.
|
||||
|
||||
When the 'smartindent' option is set, C programs will be better auto-indented.
|
||||
With 'cindent' even more.
|
||||
@@ -1320,6 +1323,11 @@ Set the $VIM_POSIX environment variable to have 'cpoptions' include the POSIX
|
||||
flags when Vim starts up. This makes Vim run as POSIX as it can. That's
|
||||
a bit different from being Vi compatible.
|
||||
|
||||
You can find the Posix specification for Vi here:
|
||||
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/vi.html
|
||||
And the related Ex specification:
|
||||
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/ex.html
|
||||
|
||||
This is where Vim does not behave as POSIX specifies and why:
|
||||
|
||||
*posix-screen-size*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 8.1. Last change: 2019 May 05
|
||||
*visual.txt* For Vim version 8.1. Last change: 2019 Nov 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -116,6 +116,7 @@ gn Search forward for the last used search pattern, like
|
||||
E.g., "dgn" deletes the text of the next match.
|
||||
If Visual mode is active, extends the selection
|
||||
until the end of the next match.
|
||||
'wrapscan' applies
|
||||
Note: Unlike `n` the search direction does not depend
|
||||
on the previous search command.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 18
|
||||
*windows.txt* For Vim version 8.1. Last change: 2019 Dec 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -146,7 +146,7 @@ CTRL-W CTRL-S *CTRL-W_CTRL-S*
|
||||
:[N]sp[lit] [++opt] [+cmd] [file] *:sp* *:split*
|
||||
Split current window in two. The result is two viewports on
|
||||
the same file.
|
||||
|
||||
|
||||
Make the new window N high (default is to use half the height
|
||||
of the current window). Reduces the current window height to
|
||||
create room (and others, if the 'equalalways' option is set,
|
||||
@@ -294,14 +294,14 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
|
||||
When quitting the last window (not counting a help window),
|
||||
exit Vim.
|
||||
|
||||
|
||||
When 'hidden' is set, and there is only one window for the
|
||||
current buffer, it becomes hidden. When 'hidden' is not set,
|
||||
and there is only one window for the current buffer, and the
|
||||
buffer was changed, the command fails.
|
||||
|
||||
|
||||
(Note: CTRL-Q does not work on all terminals).
|
||||
|
||||
|
||||
If [count] is greater than the last window number the last
|
||||
window will be closed: >
|
||||
:1quit " quit the first window
|
||||
@@ -312,6 +312,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
:+quit " quit the next window
|
||||
:+2quit " quit the second next window
|
||||
<
|
||||
When closing a help window, Vim will try to restore the
|
||||
previous window layout |:helpclose|.
|
||||
|
||||
:q[uit]!
|
||||
:{count}q[uit]!
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
@@ -331,7 +334,7 @@ CTRL-W c *CTRL-W_c* *:clo* *:close*
|
||||
When the 'hidden' option is set, or when the buffer was
|
||||
changed and the [!] is used, the buffer becomes hidden (unless
|
||||
there is another window editing it).
|
||||
|
||||
|
||||
When there is only one window in the current tab page and
|
||||
there is another tab page, this closes the current tab page.
|
||||
|tab-page|.
|
||||
@@ -354,12 +357,12 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
|
||||
Without {count}: Quit the current window, unless it is the
|
||||
last window on the screen.
|
||||
If {count} is given quit the {count} window.
|
||||
|
||||
|
||||
The buffer becomes hidden (unless there is another window
|
||||
editing it or 'bufhidden' is "unload", "delete" or "wipe").
|
||||
If the window is the last one in the current tab page the tab
|
||||
page is closed. |tab-page|
|
||||
|
||||
page is closed. |tab-page|
|
||||
|
||||
The value of 'hidden' is irrelevant for this command. Changes
|
||||
to the buffer are not written and won't get lost, so this is a
|
||||
"safe" command.
|
||||
@@ -377,10 +380,10 @@ CTRL-W o *CTRL-W_o* *E445*
|
||||
CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only*
|
||||
Make the current window the only one on the screen. All other
|
||||
windows are closed. For {count} see |:quit| command.
|
||||
|
||||
|
||||
When the 'hidden' option is set, all buffers in closed windows
|
||||
become hidden.
|
||||
|
||||
|
||||
When 'hidden' is not set, and the 'autowrite' option is set,
|
||||
modified buffers are written. Otherwise, windows that have
|
||||
buffers that are modified are not removed, unless the [!] is
|
||||
@@ -545,6 +548,10 @@ CTRL-W + Increase current window height by N (default 1).
|
||||
CTRL-W CTRL-_ *CTRL-W_CTRL-_* *CTRL-W__*
|
||||
CTRL-W _ Set current window height to N (default: highest possible).
|
||||
|
||||
:{winnr}res[ize] [+-]N
|
||||
Like `:resize` above, but apply the size to window {winnr}
|
||||
instead of the current window.
|
||||
|
||||
z{nr}<CR> Set current window height to {nr}.
|
||||
|
||||
*CTRL-W_<*
|
||||
@@ -1087,6 +1094,7 @@ list of buffers. |unlisted-buffer|
|
||||
R terminal buffers with a running job
|
||||
F terminal buffers with a finished job
|
||||
? terminal buffers without a job: `:terminal NONE`
|
||||
t show time last used and sort buffers
|
||||
Combining flags means they are "and"ed together, e.g.:
|
||||
h+ hidden buffers which are modified
|
||||
a+ active buffers which are modified
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Aug 26
|
||||
" Last Change: 2019 Nov 26
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -384,8 +384,8 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
|
||||
" CUDA Cumpute Unified Device Architecture
|
||||
au BufNewFile,BufRead *.cu,*.cuh setf cuda
|
||||
|
||||
" Dockerfile
|
||||
au BufNewFile,BufRead Dockerfile,*.Dockerfile setf dockerfile
|
||||
" Dockerfilb; Podman uses the same syntax with name Containerfile
|
||||
au BufNewFile,BufRead Containerfile,Dockerfile,*.Dockerfile setf dockerfile
|
||||
|
||||
" WildPackets EtherPeek Decoder
|
||||
au BufNewFile,BufRead *.dcd setf dcd
|
||||
@@ -425,6 +425,9 @@ au BufNewFile,BufRead *.csp,*.fdr setf csp
|
||||
au BufNewFile,BufRead *.pld setf cupl
|
||||
au BufNewFile,BufRead *.si setf cuplsim
|
||||
|
||||
" Dart
|
||||
au BufRead,BufNewfile *.dart,*.drt setf dart
|
||||
|
||||
" Debian Control
|
||||
au BufNewFile,BufRead */debian/control setf debcontrol
|
||||
au BufNewFile,BufRead control
|
||||
@@ -797,8 +800,8 @@ au BufNewFile,BufRead *.java,*.jav setf java
|
||||
" JavaCC
|
||||
au BufNewFile,BufRead *.jj,*.jjt setf javacc
|
||||
|
||||
" JavaScript, ECMAScript
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs setf javascript
|
||||
" JavaScript, ECMAScript, ES module script, CommonJS script
|
||||
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs,*.cjs setf javascript
|
||||
|
||||
" JavaScript with React
|
||||
au BufNewFile,BufRead *.jsx setf javascriptreact
|
||||
@@ -979,6 +982,9 @@ au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
|
||||
" Mercurial config (looks like generic config file)
|
||||
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
|
||||
|
||||
" Meson Build system config
|
||||
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
|
||||
|
||||
" Messages (logs mostly)
|
||||
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
|
||||
|
||||
|
||||
@@ -11,21 +11,10 @@ if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
unlet! b:is_sh
|
||||
unlet! b:is_kornshell
|
||||
let b:is_bash = 1
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
|
||||
" Setting 'filetype' here directly won't work, since we are being invoked
|
||||
" through an autocommand. Do it later, on the BufWinEnter event.
|
||||
augroup bash_filetype
|
||||
au BufWinEnter * call SetBashFt()
|
||||
augroup END
|
||||
runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim
|
||||
|
||||
func SetBashFt()
|
||||
au! bash_filetype
|
||||
set ft=sh
|
||||
endfunc
|
||||
" vim: ts=8
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: generic git output
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -10,7 +10,7 @@ endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
if !exists('b:git_dir')
|
||||
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]'
|
||||
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]\|:[\/][\/]\|^\a\a\+:'
|
||||
" Stay out of the way
|
||||
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
|
||||
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git commit file
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -13,8 +13,10 @@ let b:did_ftplugin = 1
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s
|
||||
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
|
||||
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms<'
|
||||
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q formatoptions+=n
|
||||
setlocal formatlistpat+=\\\|^\\s*[-*+]\\s\\+
|
||||
|
||||
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms< formatlistpat<'
|
||||
|
||||
if exists("g:no_gitcommit_commands") || v:version < 700
|
||||
finish
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: git rebase --interactive
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
@@ -18,27 +18,31 @@ if !exists("b:undo_ftplugin")
|
||||
endif
|
||||
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
|
||||
|
||||
function! s:choose(word)
|
||||
function! s:choose(word) abort
|
||||
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
|
||||
endfunction
|
||||
|
||||
function! s:cycle()
|
||||
call s:choose(get({'s':'edit','p':'squash','e':'reword','r':'fixup'},getline('.')[0],'pick'))
|
||||
function! s:cycle(count) abort
|
||||
let words = ['pick', 'edit', 'fixup', 'squash', 'reword', 'drop']
|
||||
let index = index(map(copy(words), 'v:val[0]'), getline('.')[0])
|
||||
let index = ((index < 0 ? 0 : index) + 10000 * len(words) + a:count) % len(words)
|
||||
call s:choose(words[index])
|
||||
endfunction
|
||||
|
||||
command! -buffer -bar Pick :call s:choose('pick')
|
||||
command! -buffer -bar Squash :call s:choose('squash')
|
||||
command! -buffer -bar Edit :call s:choose('edit')
|
||||
command! -buffer -bar Reword :call s:choose('reword')
|
||||
command! -buffer -bar Fixup :call s:choose('fixup')
|
||||
command! -buffer -bar Cycle :call s:cycle()
|
||||
" The above are more useful when they are mapped; for example:
|
||||
"nnoremap <buffer> <silent> S :Cycle<CR>
|
||||
command! -buffer -bar -range Pick :<line1>,<line2>call s:choose('pick')
|
||||
command! -buffer -bar -range Squash :<line1>,<line2>call s:choose('squash')
|
||||
command! -buffer -bar -range Edit :<line1>,<line2>call s:choose('edit')
|
||||
command! -buffer -bar -range Reword :<line1>,<line2>call s:choose('reword')
|
||||
command! -buffer -bar -range Fixup :<line1>,<line2>call s:choose('fixup')
|
||||
command! -buffer -bar -range Drop :<line1>,<line2>call s:choose('drop')
|
||||
command! -buffer -count=1 -bar -bang Cycle call s:cycle(<bang>0 ? -<count> : <count>)
|
||||
|
||||
if exists("g:no_plugin_maps") || exists("g:no_gitrebase_maps")
|
||||
finish
|
||||
endif
|
||||
|
||||
nnoremap <buffer> <expr> K col('.') < 7 && expand('<Lt>cword>') =~ '\X' && getline('.') =~ '^\w\+\s\+\x\+\>' ? 'wK' : 'K'
|
||||
nnoremap <buffer> <silent> <C-A> :<C-U><C-R>=v:count1<CR>Cycle<CR>
|
||||
nnoremap <buffer> <silent> <C-X> :<C-U><C-R>=v:count1<CR>Cycle!<CR>
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|nunmap <buffer> K"
|
||||
let b:undo_ftplugin = b:undo_ftplugin . "|exe 'nunmap <buffer> K'|exe 'nunmap <buffer> <C-A>'|exe 'nunmap <buffer> <C-X>'"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -37,6 +37,8 @@ endif
|
||||
runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let &l:define .= empty(&l:define ? '' : '\|') . '^\s*\%(%\w*\)\=\%(\.[[:alnum:]_-]\+\)*#'
|
||||
|
||||
" Combine the new set of values with those previously included.
|
||||
if exists("b:undo_ftplugin")
|
||||
let s:undo_ftplugin = b:undo_ftplugin . " | " . s:undo_ftplugin
|
||||
@@ -60,7 +62,7 @@ endif
|
||||
|
||||
setlocal comments= commentstring=-#\ %s
|
||||
|
||||
let b:undo_ftplugin = "setl cms< com< "
|
||||
let b:undo_ftplugin = "setl def< cms< com< "
|
||||
\ " | unlet! b:browsefilter b:match_words | " . s:undo_ftplugin
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim filetype plugin
|
||||
" Language: J
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" URL: https://github.com/glts/vim-j
|
||||
" Last Change: 2015-09-27
|
||||
" Maintainer: David Bürgin <dbuergin@gluet.ch>
|
||||
" URL: https://gitlab.com/glts/vim-j
|
||||
" Last Change: 2015-10-27
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@@ -25,7 +25,7 @@ setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze'
|
||||
setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','')
|
||||
setlocal suffixesadd=.ijs
|
||||
|
||||
let b:undo_ftplugin = 'setlocal matchpairs< formatoptions< commentstring< comments< iskeyword< path< include< includeexpr< suffixesadd<'
|
||||
let b:undo_ftplugin = 'setlocal suffixesadd< includeexpr< include< path< matchpairs< formatoptions< commentstring< comments< iskeyword<'
|
||||
|
||||
" Section movement with ]] ][ [[ []. The start/end patterns below are amended
|
||||
" inside the function in order to avoid matching on the current cursor line.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Java properties file
|
||||
" Maintainer: David Bürgin <676c7473@gmail.com>
|
||||
" Last Change: 2013-11-19
|
||||
" Maintainer: None
|
||||
" Last Change: 2019 Dec 01
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2019 Jul 22
|
||||
" Last Change: 2019 Sep 26
|
||||
" (fix by Jason Franklin)
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
@@ -132,11 +132,17 @@ func <SID>GetPage(cmdmods, ...)
|
||||
let page = expand('<cword>')
|
||||
endif
|
||||
|
||||
if sect != "" && s:FindPage(sect, page) == 0
|
||||
let sect = ""
|
||||
if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
|
||||
if sect != "" && s:FindPage(sect, page) == 0
|
||||
let sect = ""
|
||||
endif
|
||||
endif
|
||||
if s:FindPage(sect, page) == 0
|
||||
echo "\nCannot find a '".page."'."
|
||||
let msg = "\nNo manual entry for ".page
|
||||
if sect != ""
|
||||
let msg .= " in section ".sect
|
||||
endif
|
||||
echo msg
|
||||
return
|
||||
endif
|
||||
exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Markdown
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -9,7 +9,7 @@ endif
|
||||
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
|
||||
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=<!--%s-->
|
||||
setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
|
||||
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:
|
||||
|
||||
@@ -19,32 +19,56 @@ else
|
||||
let b:undo_ftplugin = "setl cms< com< fo< flp<"
|
||||
endif
|
||||
|
||||
function! MarkdownFold()
|
||||
function! s:NotCodeBlock(lnum) abort
|
||||
return synIDattr(synID(v:lnum, 1, 1), 'name') !=# 'markdownCode'
|
||||
endfunction
|
||||
|
||||
function! MarkdownFold() abort
|
||||
let line = getline(v:lnum)
|
||||
|
||||
" Regular headers
|
||||
let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=')
|
||||
if depth > 0
|
||||
return ">" . depth
|
||||
if line =~# '^#\+ ' && s:NotCodeBlock(v:lnum)
|
||||
return ">" . match(line, ' ')
|
||||
endif
|
||||
|
||||
" Setext style headings
|
||||
let nextline = getline(v:lnum + 1)
|
||||
if (line =~ '^.\+$') && (nextline =~ '^=\+$')
|
||||
if (line =~ '^.\+$') && (nextline =~ '^=\+$') && s:NotCodeBlock(v:lnum + 1)
|
||||
return ">1"
|
||||
endif
|
||||
|
||||
if (line =~ '^.\+$') && (nextline =~ '^-\+$')
|
||||
if (line =~ '^.\+$') && (nextline =~ '^-\+$') && s:NotCodeBlock(v:lnum + 1)
|
||||
return ">2"
|
||||
endif
|
||||
|
||||
return "="
|
||||
endfunction
|
||||
|
||||
function! s:HashIndent(lnum) abort
|
||||
let hash_header = matchstr(getline(a:lnum), '^#\{1,6}')
|
||||
if len(hash_header)
|
||||
return hash_header
|
||||
else
|
||||
let nextline = getline(a:lnum + 1)
|
||||
if nextline =~# '^=\+\s*$'
|
||||
return '#'
|
||||
elseif nextline =~# '^-\+\s*$'
|
||||
return '##'
|
||||
endif
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! MarkdownFoldText() abort
|
||||
let hash_indent = s:HashIndent(v:foldstart)
|
||||
let title = substitute(getline(v:foldstart), '^#\+\s*', '', '')
|
||||
let foldsize = (v:foldend - v:foldstart + 1)
|
||||
let linecount = '['.foldsize.' lines]'
|
||||
return hash_indent.' '.title.' '.linecount
|
||||
endfunction
|
||||
|
||||
if has("folding") && exists("g:markdown_folding")
|
||||
setlocal foldexpr=MarkdownFold()
|
||||
setlocal foldmethod=expr
|
||||
let b:undo_ftplugin .= " foldexpr< foldmethod<"
|
||||
setlocal foldtext=MarkdownFoldText()
|
||||
let b:undo_ftplugin .= " foldexpr< foldmethod< foldtext<"
|
||||
endif
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: matlab
|
||||
" Maintainer: Jake Wasserman <jwasserman at gmail dot com>
|
||||
" Last Changed: 2014 Dec 30
|
||||
" Last Change: 2019 Sep 27
|
||||
|
||||
" Contributors:
|
||||
" Charles Campbell
|
||||
@@ -24,8 +24,9 @@ endif
|
||||
|
||||
setlocal suffixesadd=.m
|
||||
setlocal suffixes+=.asv
|
||||
setlocal commentstring=%\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal suffixesadd< suffixes< "
|
||||
let b:undo_ftplugin = "setlocal suffixesadd< suffixes< commentstring< "
|
||||
\ . "| unlet! b:match_words"
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
|
||||
19
runtime/ftplugin/meson.vim
Normal file
19
runtime/ftplugin/meson.vim
Normal file
@@ -0,0 +1,19 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: meson
|
||||
" License: VIM License
|
||||
" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
" Last Change: 2018 Nov 27
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
" Last Change: 2019 Nov 06
|
||||
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
@@ -24,20 +24,20 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
|
||||
let b:match_words =
|
||||
\ '\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|def\|begin\)\>=\@!' .
|
||||
\ '{\|\<\%(if\|unless\|case\|while\|until\|for\|do\|class\|module\|def\|=\@<!begin\)\>=\@!' .
|
||||
\ ':' .
|
||||
\ '\<\%(else\|elsif\|ensure\|when\|rescue\|break\|redo\|next\|retry\)\>' .
|
||||
\ ':' .
|
||||
\ '\%(^\|[^.\:@$]\)\@<=\<end\:\@!\>' .
|
||||
\ ',{:},\[:\],(:)'
|
||||
\ '}\|\%(^\|[^.\:@$=]\)\@<=\<end\:\@!\>' .
|
||||
\ ',^=begin\>:^=end\>,' .
|
||||
\ ',\[:\],(:)'
|
||||
|
||||
let b:match_skip =
|
||||
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
|
||||
\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
|
||||
\ "Regexp\\|RegexpDelimiter\\|" .
|
||||
\ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
|
||||
\ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
|
||||
\ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
|
||||
\ "\\<ruby\\%(String\\|.\+Delimiter\\|Character\\|.\+Escape\\|" .
|
||||
\ "Regexp\\|Interpolation\\|Comment\\|Documentation\\|" .
|
||||
\ "ConditionalModifier\\|RepeatModifier\\|RescueModifier\\|OptionalDo\\|" .
|
||||
\ "MethodName\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
|
||||
\ "InstanceVariable\\|GlobalVariable\\|Symbol\\)\\>'"
|
||||
endif
|
||||
|
||||
@@ -87,7 +87,7 @@ endfunction
|
||||
|
||||
function! s:build_path(path) abort
|
||||
let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',')
|
||||
if &g:path !~# '\v^\.%(,/%(usr|emx)/include)=,,$'
|
||||
if &g:path !~# '\v^%(\.,)=%(/%(usr|emx)/include,)=,$'
|
||||
let path = substitute(&g:path,',,$',',','') . ',' . path
|
||||
endif
|
||||
return path
|
||||
@@ -152,7 +152,7 @@ endif
|
||||
function! s:map(mode, flags, map) abort
|
||||
let from = matchstr(a:map, '\S\+')
|
||||
if empty(mapcheck(from, a:mode))
|
||||
exe a:mode.'map' '<buffer>' a:map
|
||||
exe a:mode.'map' '<buffer>' a:flags a:map
|
||||
let b:undo_ftplugin .= '|sil! '.a:mode.'unmap <buffer> '.from
|
||||
endif
|
||||
endfunction
|
||||
@@ -311,13 +311,16 @@ function! s:synid() abort
|
||||
endfunction
|
||||
|
||||
function! s:wrap_i(back,forward) abort
|
||||
execute 'norm k'.a:forward
|
||||
execute 'norm! k'
|
||||
execute 'norm '.a:forward
|
||||
let line = line('.')
|
||||
execute 'norm '.a:back
|
||||
if line('.') == line - 1
|
||||
return s:wrap_a(a:back,a:forward)
|
||||
endif
|
||||
execute 'norm jV'.a:forward.'k'
|
||||
execute 'norm! jV'
|
||||
execute 'norm '.a:forward
|
||||
execute 'norm! k'
|
||||
endfunction
|
||||
|
||||
function! s:wrap_a(back,forward) abort
|
||||
@@ -330,11 +333,15 @@ function! s:wrap_a(back,forward) abort
|
||||
-
|
||||
endwhile
|
||||
if exists('after')
|
||||
execute 'norm V'.a:forward.'j'
|
||||
execute 'norm! V'
|
||||
execute 'norm '.a:forward
|
||||
execute 'norm! j'
|
||||
elseif line('.') > 1 && getline(line('.')-1) =~# '^\s*$'
|
||||
execute 'norm kV'.a:forward
|
||||
execute 'norm! kV'
|
||||
execute 'norm '.a:forward
|
||||
else
|
||||
execute 'norm V'.a:forward
|
||||
execute 'norm! V'
|
||||
execute 'norm '.a:forward
|
||||
endif
|
||||
endfunction
|
||||
|
||||
@@ -366,7 +373,6 @@ function! RubyCursorFile() abort
|
||||
endtry
|
||||
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
|
||||
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
|
||||
let ext = getline('.') =~# '^\s*\%(require\%(_relative\)\=\|autoload\)\>' && cfile !~# '\.rb$' ? '.rb' : ''
|
||||
if s:synid() ==# hlID('rubyConstant')
|
||||
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
|
||||
let cfile = substitute(cfile,'^::','','')
|
||||
@@ -375,12 +381,15 @@ function! RubyCursorFile() abort
|
||||
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
|
||||
return tolower(cfile) . '.rb'
|
||||
elseif getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
|
||||
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
|
||||
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
|
||||
let target = matchstr(getline('.'),'\(["'']\)\.\.\zs/.\{-\}\ze\1')
|
||||
let cfile = expand('%:p:h') . target . ext
|
||||
let cfile = expand('%:p:h') . target
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
|
||||
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
|
||||
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
|
||||
let cfile .= cfile !~# '\.rb$' ? '.rb' : ''
|
||||
elseif pre.post =~# '\<File.expand_path[( ].*[''"]\{2\}, *__FILE__\>' && cfile =~# '^\.\.'
|
||||
let cfile = expand('%:p:h') . strpart(cfile, 2)
|
||||
else
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2016 Aug 29
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -13,11 +13,25 @@ let b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<"
|
||||
|
||||
setlocal comments=://
|
||||
setlocal commentstring=//\ %s
|
||||
setlocal define=^\\s*\\%(@mixin\\\|=\\)
|
||||
setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','')
|
||||
setlocal includeexpr=SassIncludeExpr(v:fname)
|
||||
setlocal omnifunc=csscomplete#CompleteCSS
|
||||
setlocal suffixesadd=.sass,.scss,.css
|
||||
if &filetype =~# '\<s[ac]ss]\>'
|
||||
setlocal iskeyword+=-
|
||||
setlocal iskeyword+=$
|
||||
setlocal iskeyword+=%
|
||||
let b:undo_ftplugin .= ' isk<'
|
||||
endif
|
||||
|
||||
let &l:define = '^\C\v\s*%(\@function|\@mixin|\=)|^\s*%(\$[[:alnum:]-]+:|[%.][:alnum:]-]+\s*%(\{|$))@='
|
||||
let &l:include = '^\s*@import\s\+\%(url(\)\=["'']\='
|
||||
|
||||
function! SassIncludeExpr(file) abort
|
||||
let partial = substitute(a:file, '\%(.*/\|^\)\zs', '_', '')
|
||||
if !empty(findfile(partial))
|
||||
return partial
|
||||
endif
|
||||
return a:file
|
||||
endfunction
|
||||
|
||||
" vim:set sw=2:
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Scheme (R7RS)
|
||||
" Last Change: 2018-03-05
|
||||
" Last Change: 2019 Nov 18
|
||||
" Author: Evan Hanson <evhan@foldling.org>
|
||||
" Maintainer: Evan Hanson <evhan@foldling.org>
|
||||
" Previous Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
|
||||
@@ -21,7 +21,7 @@ setl iskeyword=33,35-39,42-43,45-58,60-90,94,95,97-122,126
|
||||
|
||||
let b:undo_ftplugin = 'setl lisp< comments< commentstring< define< iskeyword<'
|
||||
|
||||
setl lispwords=case
|
||||
setl lispwords+=case
|
||||
setl lispwords+=define
|
||||
setl lispwords+=define-record-type
|
||||
setl lispwords+=define-syntax
|
||||
|
||||
@@ -4,23 +4,33 @@
|
||||
# Translators: This is the Application Name used in the GVim desktop file
|
||||
Name[de]=GVim
|
||||
Name[eo]=GVim
|
||||
Name[fr]=GVim
|
||||
Name[ru]=GVim
|
||||
Name[sr]=GVim
|
||||
Name[tr]=GVim
|
||||
Name=GVim
|
||||
# Translators: This is the Generic Application Name used in the Vim desktop file
|
||||
GenericName[de]=Texteditor
|
||||
GenericName[eo]=Tekstoredaktilo
|
||||
GenericName[fr]=Éditeur de texte
|
||||
GenericName[ja]=テキストエディタ
|
||||
GenericName[ru]=Текстовый редактор
|
||||
GenericName[sr]=Текст Едитор
|
||||
GenericName[tr]=Metin Düzenleyici
|
||||
GenericName=Text Editor
|
||||
# Translators: This is the comment used in the Vim desktop file
|
||||
Comment[de]=Textdateien bearbeiten
|
||||
Comment[eo]=Redakti tekstajn dosierojn
|
||||
Comment[fr]=Éditer des fichiers texte
|
||||
Comment[ja]=テキストファイルを編集します
|
||||
Comment[ru]=Редактирование текстовых файлов
|
||||
Comment[sr]=Уређивање текст фајлова
|
||||
Comment[tr]=Metin dosyaları düzenleyin
|
||||
Comment=Edit text files
|
||||
# The translations should come from the po file. Leave them here for now, they will
|
||||
# be overwritten by the po file when generating the desktop.file!
|
||||
GenericName[da]=Teksteditor
|
||||
GenericName[fr]=Éditeur de texte
|
||||
GenericName[pl]=Edytor tekstu
|
||||
GenericName[sr]=Едитор текста
|
||||
GenericName[is]=Ritvinnsluforrit
|
||||
Comment[af]=Redigeer tekslêers
|
||||
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ
|
||||
@@ -42,7 +52,6 @@ Comment[et]=Redigeeri tekstifaile
|
||||
Comment[eu]=Editatu testu-fitxategiak
|
||||
Comment[fa]=ویرایش پروندههای متنی
|
||||
Comment[fi]=Muokkaa tekstitiedostoja
|
||||
Comment[fr]=Éditer des fichiers textes
|
||||
Comment[ga]=Eagar comhad Téacs
|
||||
Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો
|
||||
Comment[he]=ערוך קבצי טקסט
|
||||
@@ -72,17 +81,14 @@ Comment[pl]=Edytuj pliki tekstowe
|
||||
Comment[pt]=Editar ficheiros de texto
|
||||
Comment[pt_BR]=Edite arquivos de texto
|
||||
Comment[ro]=Editare fişiere text
|
||||
Comment[ru]=Редактор текстовых файлов
|
||||
Comment[sk]=Úprava textových súborov
|
||||
Comment[sl]=Urejanje datotek z besedili
|
||||
Comment[sq]=Përpuno files teksti
|
||||
Comment[sr]=Измени текстуалне датотеке
|
||||
Comment[sr@Latn]=Izmeni tekstualne datoteke
|
||||
Comment[sv]=Redigera textfiler
|
||||
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
|
||||
Comment[th]=แก้ไขแฟ้มข้อความ
|
||||
Comment[tk]=Metin faýllary editle
|
||||
Comment[tr]=Metin dosyalarını düzenle
|
||||
Comment[uk]=Редактор текстових файлів
|
||||
Comment[vi]=Soạn thảo tập tin văn bản
|
||||
Comment[wa]=Asspougnî des fitchîs tecses
|
||||
@@ -95,11 +101,18 @@ Type=Application
|
||||
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords[de]=Text;Editor;
|
||||
Keywords[eo]=Teksto;redaktilo;
|
||||
Keywords[fr]=Texte;éditeur;
|
||||
Keywords[ja]=テキスト;エディタ;
|
||||
Keywords[ru]=текст;текстовый редактор;
|
||||
Keywords[sr]=Текст;едитор;
|
||||
Keywords[tr]=Metin;düzenleyici;
|
||||
Keywords=Text;editor;
|
||||
# Translators: This is the Icon file name. Do NOT translate
|
||||
Icon[de]=gvim
|
||||
Icon[eo]=gvim
|
||||
Icon[fr]=gvim
|
||||
Icon[ru]=gvim
|
||||
Icon[sr]=gvim
|
||||
Icon=gvim
|
||||
Categories=Utility;TextEditor;
|
||||
StartupNotify=true
|
||||
|
||||
18
runtime/indent/bash.vim
Normal file
18
runtime/indent/bash.vim
Normal file
@@ -0,0 +1,18 @@
|
||||
" Vim indent file
|
||||
" Language: bash
|
||||
" Maintainer: Bram
|
||||
" Last Change: 2019 Sep 27
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
" The actual indenting is in sh.vim and controlled by buffer-local variables.
|
||||
unlet! b:is_sh
|
||||
unlet! b:is_kornshell
|
||||
let b:is_bash = 1
|
||||
|
||||
runtime! indent/sh.vim
|
||||
|
||||
" vim: ts=8
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2017 Jun 13
|
||||
" Last Change: 2019 Dec 05
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -10,7 +10,7 @@ runtime! indent/ruby.vim
|
||||
unlet! b:did_indent
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal autoindent sw=2 et
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetHamlIndent()
|
||||
setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user