mirror of
https://github.com/zoriya/vim.git
synced 2025-12-12 02:06:18 +00:00
Compare commits
205 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
40e280d949 | ||
|
|
7221fce8b3 | ||
|
|
669a828cdc | ||
|
|
246fe03d15 | ||
|
|
e518226713 | ||
|
|
44c2bffde7 | ||
|
|
e86ee877c1 | ||
|
|
4ab9d9e9a4 | ||
|
|
d1c28346e1 | ||
|
|
c3719bd87b | ||
|
|
c7d16dce2f | ||
|
|
0f1e643138 | ||
|
|
51b0f3701e | ||
|
|
234d16286a | ||
|
|
ae1e108caa | ||
|
|
9e27217c48 | ||
|
|
7567d0b115 | ||
|
|
d048009717 | ||
|
|
9c6ce0e622 | ||
|
|
209d3874c1 | ||
|
|
7cb769a69f | ||
|
|
cd142e3369 | ||
|
|
a42ad57e48 | ||
|
|
58a8f1706f | ||
|
|
2392143236 | ||
|
|
1dcada1933 | ||
|
|
e42a6d2509 | ||
|
|
2f27aab8e6 | ||
|
|
60e73f2acc | ||
|
|
d327b0c68f | ||
|
|
f8c53d3d26 | ||
|
|
80eaddd3a0 | ||
|
|
7f2e9d7c9c | ||
|
|
13e904199c | ||
|
|
ae147ab2d7 | ||
|
|
aeeb6888ca | ||
|
|
5fd8b78214 | ||
|
|
d09a206ee9 | ||
|
|
462455ee8b | ||
|
|
9ed7d34af3 | ||
|
|
cef7322d8a | ||
|
|
851ee6c3da | ||
|
|
de323093e1 | ||
|
|
040c1feb21 | ||
|
|
8ac441576f | ||
|
|
26d205dcd8 | ||
|
|
a3f7e58bf8 | ||
|
|
c9e9c71409 | ||
|
|
0c4dc88a63 | ||
|
|
4148be468f | ||
|
|
53ec79537a | ||
|
|
fb094e14c1 | ||
|
|
8fdb35a974 | ||
|
|
b0d45e7f53 | ||
|
|
aace215813 | ||
|
|
3bf8c3c38f | ||
|
|
5842a748be | ||
|
|
ffe010fa03 | ||
|
|
ad7dac85c3 | ||
|
|
c363251630 | ||
|
|
5a73e0ca54 | ||
|
|
7dd88c5133 | ||
|
|
1232624ae5 | ||
|
|
ab8b1c14a3 | ||
|
|
13deab8d08 | ||
|
|
52a2f0f1da | ||
|
|
2973daafe1 | ||
|
|
a88254f704 | ||
|
|
01164a6546 | ||
|
|
ea84df8041 | ||
|
|
4c22a91d20 | ||
|
|
430dc5d360 | ||
|
|
8889a5c305 | ||
|
|
d97fbf171e | ||
|
|
f8f8b2eadb | ||
|
|
c20e0d5207 | ||
|
|
5130f31661 | ||
|
|
86b21bb3e7 | ||
|
|
b315876efa | ||
|
|
3e1c617d49 | ||
|
|
b94340c04f | ||
|
|
f45938cc20 | ||
|
|
ffd99f729b | ||
|
|
89c394faca | ||
|
|
ba6febd380 | ||
|
|
48570488f1 | ||
|
|
2e51d9a097 | ||
|
|
af2d20c628 | ||
|
|
d057301b1f | ||
|
|
ef83956e1e | ||
|
|
a6ce1ccf5c | ||
|
|
b9fce6cbf7 | ||
|
|
c3fdf7f80b | ||
|
|
c312b8b87a | ||
|
|
ce15775026 | ||
|
|
9a91c7a1f9 | ||
|
|
0e19fc07e7 | ||
|
|
dc1c981294 | ||
|
|
2a45d64d0a | ||
|
|
ee03b94124 | ||
|
|
cf1ba35fc2 | ||
|
|
9ad89c6c4f | ||
|
|
ce11de87e2 | ||
|
|
15993ce921 | ||
|
|
235dddf1f4 | ||
|
|
f204e05ae9 | ||
|
|
8d84ff1a3c | ||
|
|
d99388ba85 | ||
|
|
6ce6504808 | ||
|
|
2f40d129bf | ||
|
|
4f1982800f | ||
|
|
2e4cb3b042 | ||
|
|
66857f4104 | ||
|
|
ca05aa24af | ||
|
|
f8e8c0643b | ||
|
|
53f0c96239 | ||
|
|
6b89dbb55f | ||
|
|
67435d9983 | ||
|
|
fafcf0dd59 | ||
|
|
ff930cad8a | ||
|
|
87ffb5c1a3 | ||
|
|
6daeef1933 | ||
|
|
059db5c29f | ||
|
|
44cc4cf72f | ||
|
|
67418d97b4 | ||
|
|
8bfe07b708 | ||
|
|
00ce63dc23 | ||
|
|
81b07b527e | ||
|
|
a20f83df1d | ||
|
|
9377df3ecd | ||
|
|
65e4c4f686 | ||
|
|
b2c8750c4e | ||
|
|
ac8069bb63 | ||
|
|
6199d43f4b | ||
|
|
2c33d7bb69 | ||
|
|
6047e2c722 | ||
|
|
1d68d9b2bd | ||
|
|
8065cf2bfb | ||
|
|
4a6fcf8047 | ||
|
|
9202162c5c | ||
|
|
9b69f22e66 | ||
|
|
18cfa940e2 | ||
|
|
0ab35b279f | ||
|
|
4635e11c6b | ||
|
|
75f69e5a18 | ||
|
|
631820536e | ||
|
|
73f4439ca6 | ||
|
|
54e5dbf58e | ||
|
|
d78f03f860 | ||
|
|
c902609f69 | ||
|
|
a0a6f2776e | ||
|
|
19a3d68b2c | ||
|
|
2a6a6c3014 | ||
|
|
712549e04e | ||
|
|
f33606112a | ||
|
|
5ece3e359c | ||
|
|
0aa398f55a | ||
|
|
3a497e1a41 | ||
|
|
c958b31638 | ||
|
|
f52c383156 | ||
|
|
65ed136844 | ||
|
|
c79977a437 | ||
|
|
660b85e39a | ||
|
|
a5e6621aad | ||
|
|
816968defc | ||
|
|
d371bbe0ab | ||
|
|
db51007108 | ||
|
|
24a98a0eb7 | ||
|
|
9cf39cc57f | ||
|
|
1ec96c9269 | ||
|
|
d1bc96ce24 | ||
|
|
1b38344e00 | ||
|
|
97fbc404fc | ||
|
|
2a02745709 | ||
|
|
09ca932f8e | ||
|
|
6edeaf387c | ||
|
|
a8fc0d3817 | ||
|
|
22ab547dc2 | ||
|
|
7c456a4511 | ||
|
|
452030e530 | ||
|
|
0c6a32963d | ||
|
|
0b05e491b4 | ||
|
|
e0de17d84e | ||
|
|
378daf87d3 | ||
|
|
96e7a6ee45 | ||
|
|
bb3e6416f1 | ||
|
|
a21a6a9ade | ||
|
|
eb163d73b1 | ||
|
|
e745d75c3e | ||
|
|
0263146b5d | ||
|
|
53f8174eae | ||
|
|
76301956f0 | ||
|
|
f3d769a585 | ||
|
|
8b21de33bb | ||
|
|
fc7649f8b8 | ||
|
|
b00fdf6eed | ||
|
|
9cb03716c9 | ||
|
|
2e6ab18729 | ||
|
|
a5a2be26fe | ||
|
|
37c64c78fd | ||
|
|
e22bbf6508 | ||
|
|
a8e93d63e3 | ||
|
|
71b2964066 | ||
|
|
d326ad6e93 | ||
|
|
f16c71b669 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -38,6 +38,7 @@ src/pathdef.c
|
|||||||
src/Obj*/pathdef.c
|
src/Obj*/pathdef.c
|
||||||
gvimext.dll
|
gvimext.dll
|
||||||
gvimext.lib
|
gvimext.lib
|
||||||
|
gvim.lib
|
||||||
runtime/doc/uganda.nsis.txt
|
runtime/doc/uganda.nsis.txt
|
||||||
|
|
||||||
# Borland C++
|
# Borland C++
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ addons:
|
|||||||
apt:
|
apt:
|
||||||
packages:
|
packages:
|
||||||
- autoconf
|
- autoconf
|
||||||
|
- clang
|
||||||
- lcov
|
- lcov
|
||||||
- libperl-dev
|
- libperl-dev
|
||||||
- python-dev
|
- python-dev
|
||||||
@@ -87,7 +88,7 @@ before_install:
|
|||||||
# building cffi only works with gcc, not with clang
|
# building cffi only works with gcc, not with clang
|
||||||
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
- if [ "$COVERAGE" = "yes" ]; then CC=gcc pip install --user pyopenssl ndg-httpsclient pyasn1; fi
|
||||||
# Lua is not installed on Travis OSX
|
# Lua is not installed on Travis OSX
|
||||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install lua; export LUA_PREFIX=/usr/local; fi
|
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then export HOMEBREW_NO_AUTO_UPDATE=1; brew update; brew install lua; export LUA_PREFIX=/usr/local; fi
|
||||||
# Use llvm-cov instead of gcov when compiler is clang.
|
# Use llvm-cov instead of gcov when compiler is clang.
|
||||||
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
- if [ "$TRAVIS_OS_NAME" = "linux" ] && [ "$CC" = "clang" ]; then ln -sf $(which llvm-cov) /home/travis/bin/gcov; fi
|
||||||
|
|
||||||
@@ -102,9 +103,8 @@ script:
|
|||||||
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
- (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && if [ "$BUILD" = "yes" ]; then make -j$NPROC; fi)
|
||||||
# Show Vim version and also if_xx versions.
|
# Show Vim version and also if_xx versions.
|
||||||
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
- if [ "$BUILD" = "yes" ]; then ${SRCDIR}/vim --version; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-1.vim -c quit > /dev/null; ${SRCDIR}/vim --not-a-term -u NONE -S ${SRCDIR}/testdir/if_ver-2.vim -c quit > /dev/null; cat if_ver.txt; fi
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then export PATH=/usr/lib/llvm-$(clang -v 2>&1 | sed -n 's/.*version \([1-9]\.[0-9][0-9]*\).*/\1/p')/bin:$PATH; fi
|
|
||||||
- make $SHADOWOPT $TEST
|
- make $SHADOWOPT $TEST
|
||||||
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do cat "$log"; err=1; done; fi
|
- if [ -n "$ASAN_OPTIONS" ]; then for log in $(find -type f -name 'asan.*' -size +0); do asan_symbolize < "$log"; err=1; done; fi
|
||||||
- if [ -n "$err" ]; then exit 1; fi
|
- if [ -n "$err" ]; then exit 1; fi
|
||||||
|
|
||||||
after_success:
|
after_success:
|
||||||
|
|||||||
8
Filelist
8
Filelist
@@ -12,6 +12,8 @@ SRC_ALL = \
|
|||||||
src/arabic.c \
|
src/arabic.c \
|
||||||
src/arabic.h \
|
src/arabic.h \
|
||||||
src/ascii.h \
|
src/ascii.h \
|
||||||
|
src/beval.c \
|
||||||
|
src/beval.h \
|
||||||
src/blowfish.c \
|
src/blowfish.c \
|
||||||
src/buffer.c \
|
src/buffer.c \
|
||||||
src/channel.c \
|
src/channel.c \
|
||||||
@@ -41,7 +43,6 @@ SRC_ALL = \
|
|||||||
src/gui.c \
|
src/gui.c \
|
||||||
src/gui.h \
|
src/gui.h \
|
||||||
src/gui_beval.c \
|
src/gui_beval.c \
|
||||||
src/gui_beval.h \
|
|
||||||
src/hardcopy.c \
|
src/hardcopy.c \
|
||||||
src/hashtab.c \
|
src/hashtab.c \
|
||||||
src/json.c \
|
src/json.c \
|
||||||
@@ -135,7 +136,9 @@ SRC_ALL = \
|
|||||||
src/testdir/bench*.in \
|
src/testdir/bench*.in \
|
||||||
src/testdir/bench*.vim \
|
src/testdir/bench*.vim \
|
||||||
src/testdir/samples/*.txt \
|
src/testdir/samples/*.txt \
|
||||||
|
src/testdir/samples/test000 \
|
||||||
src/testdir/if_ver*.vim \
|
src/testdir/if_ver*.vim \
|
||||||
|
src/testdir/xterm_ramp.vim \
|
||||||
src/proto.h \
|
src/proto.h \
|
||||||
src/proto/arabic.pro \
|
src/proto/arabic.pro \
|
||||||
src/proto/blowfish.pro \
|
src/proto/blowfish.pro \
|
||||||
@@ -405,6 +408,7 @@ SRC_DOS = \
|
|||||||
src/msvcsetup.bat \
|
src/msvcsetup.bat \
|
||||||
src/msvc2008.bat \
|
src/msvc2008.bat \
|
||||||
src/msvc2010.bat \
|
src/msvc2010.bat \
|
||||||
|
src/msvc2015.bat \
|
||||||
src/dimm.idl \
|
src/dimm.idl \
|
||||||
src/dlldata.c \
|
src/dlldata.c \
|
||||||
src/dosinst.c \
|
src/dosinst.c \
|
||||||
@@ -449,6 +453,7 @@ SRC_DOS = \
|
|||||||
src/xxd/Make_mvc.mak \
|
src/xxd/Make_mvc.mak \
|
||||||
nsis/gvim.nsi \
|
nsis/gvim.nsi \
|
||||||
nsis/gvim_version.nsh \
|
nsis/gvim_version.nsh \
|
||||||
|
nsis/vimrc.ini \
|
||||||
nsis/README.txt \
|
nsis/README.txt \
|
||||||
uninstal.txt \
|
uninstal.txt \
|
||||||
src/VisVim/Commands.cpp \
|
src/VisVim/Commands.cpp \
|
||||||
@@ -656,6 +661,7 @@ RT_SCRIPTS = \
|
|||||||
runtime/makemenu.vim \
|
runtime/makemenu.vim \
|
||||||
runtime/autoload/*.vim \
|
runtime/autoload/*.vim \
|
||||||
runtime/autoload/README.txt \
|
runtime/autoload/README.txt \
|
||||||
|
runtime/autoload/dist/*.vim \
|
||||||
runtime/autoload/xml/*.vim \
|
runtime/autoload/xml/*.vim \
|
||||||
runtime/colors/*.vim \
|
runtime/colors/*.vim \
|
||||||
runtime/colors/README.txt \
|
runtime/colors/README.txt \
|
||||||
|
|||||||
53
Makefile
53
Makefile
@@ -120,28 +120,28 @@ MINOR = 0
|
|||||||
#
|
#
|
||||||
# MS-Windows:
|
# MS-Windows:
|
||||||
# - Run make on Unix to update the ".mo" files.
|
# - Run make on Unix to update the ".mo" files.
|
||||||
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
||||||
# https://mlocati.github.io/gettext-iconv-windows/ .
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
# Use the "shared-32.zip file and extract the archive to get the files.
|
# Use the "shared-32.zip file and extract the archive to get the files.
|
||||||
# Put them in the top directory, "make dosrt" uses them.
|
# Put them in the gettext32 directory, "make dosrt" uses them.
|
||||||
|
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
|
||||||
|
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||||
|
# Use the "shared-64.zip file and extract the archive to get the files.
|
||||||
|
# Put them in the gettext64 directory, "make dosrt" uses them.
|
||||||
# - > make dossrc
|
# - > make dossrc
|
||||||
# > make dosrt
|
# > make dosrt
|
||||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||||
|
# This creates the directory vim/vim80 and puts all files in there.
|
||||||
# Win32 console version build:
|
# Win32 console version build:
|
||||||
# - Set environment for Visual C++ 2008, e.g.:
|
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||||
# > src/msvc2008.bat
|
# - Set environment for Visual C++ 2015:
|
||||||
# Or:
|
# > cd src
|
||||||
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
|
# > msvc2015.bat
|
||||||
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
|
# - Build the console binary:
|
||||||
# paths when necessary).
|
|
||||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
|
||||||
# won't work on Windows 7 and 64 bit systems.
|
|
||||||
# - > cd src
|
|
||||||
# > nmake -f Make_mvc.mak
|
# > nmake -f Make_mvc.mak
|
||||||
# - Run the tests:
|
# - Run the tests and check the ouput:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak test
|
# > nmake -f Make_mvc.mak test
|
||||||
# - check the output.
|
|
||||||
# - Rename (using ../tools/rename.bat):
|
# - Rename (using ../tools/rename.bat):
|
||||||
# vim.exe to vimw32.exe
|
# vim.exe to vimw32.exe
|
||||||
# tee/tee.exe to teew32.exe
|
# tee/tee.exe to teew32.exe
|
||||||
@@ -152,19 +152,18 @@ MINOR = 0
|
|||||||
# Win32 GUI version build:
|
# Win32 GUI version build:
|
||||||
# - > cd src
|
# - > cd src
|
||||||
# > nmake -f Make_mvc.mak GUI=yes
|
# > nmake -f Make_mvc.mak GUI=yes
|
||||||
# - Run the tests:
|
# - Run the tests and check the output:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
# > nmake -f Make_mvc.mak testgvim
|
# > nmake -f Make_mvc.mak testgvim
|
||||||
# - check the output.
|
|
||||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||||
# - Move gvim.pdb to here.
|
# - Move gvim.pdb to here.
|
||||||
# - Copy "GvimExt/gvimext.dll" to here.
|
# - Copy "GvimExt/gvimext.dll" to here.
|
||||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||||
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
||||||
# - Install the interfaces you want, see src/INSTALLpc.txt
|
# - Install the interfaces you want, see src/INSTALLpc.txt
|
||||||
|
# Adjust bigvim.bat to match the version of each interface you want.
|
||||||
# - Build:
|
# - Build:
|
||||||
# > cd src
|
# > cd src
|
||||||
# Adjust bigvim.bat to match the version of each interface you want.
|
|
||||||
# > bigvim.bat
|
# > bigvim.bat
|
||||||
# - Run the tests:
|
# - Run the tests:
|
||||||
# > nmake -f Make_mvc.mak testclean
|
# > nmake -f Make_mvc.mak testclean
|
||||||
@@ -188,10 +187,11 @@ MINOR = 0
|
|||||||
# gvimext64.dll in src/GvimExt
|
# gvimext64.dll in src/GvimExt
|
||||||
# VisVim.dll in src/VisVim
|
# VisVim.dll in src/VisVim
|
||||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||||
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
# gvimext64.dll can be obtained from:
|
||||||
# It is part of vim72.zip as vim72/gvimext.dll.
|
# https://github.com/vim/vim-win32-installer/releases
|
||||||
|
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
||||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||||
# version).
|
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||||
# - go to ../nsis and do:
|
# - go to ../nsis and do:
|
||||||
# > makensis gvim.nsi (takes a few minutes).
|
# > makensis gvim.nsi (takes a few minutes).
|
||||||
# ignore warning for libwinpthread-1.dll
|
# ignore warning for libwinpthread-1.dll
|
||||||
@@ -467,9 +467,13 @@ dosrt_files: dist prepare no_title.vim
|
|||||||
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
|
mkdir dist/vim/$(VIMRTDIR)/gettext32
|
||||||
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
|
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/gettext64
|
||||||
|
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||||
|
|
||||||
|
|
||||||
# Used before uploading. Don't delete the AAPDIR/sign files!
|
# Used before uploading. Don't delete the AAPDIR/sign files!
|
||||||
@@ -496,7 +500,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
|||||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
|
||||||
|
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
|
||||||
|
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
|
||||||
|
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
|
||||||
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
||||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
`README.md` for version 8.0 of Vim: Vi IMproved.
|
`README.md` for version 8.0 of Vim: Vi IMproved.
|
||||||
|
|
||||||
[](https://travis-ci.org/vim/vim)
|
[](https://travis-ci.org/vim/vim)
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||||
[](https://coveralls.io/github/vim/vim?branch=master)
|
[](https://coveralls.io/github/vim/vim?branch=master)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||||
[](https://scan.coverity.com/projects/vim)
|
[](https://scan.coverity.com/projects/vim)
|
||||||
|
[](https://buildd.debian.org/vim)
|
||||||
|
|
||||||
|
|
||||||
## What is Vim? ##
|
## What is Vim? ##
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||||
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
|
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||||
|
|
||||||
To build the installable .exe:
|
To build the installable .exe:
|
||||||
|
|
||||||
@@ -17,8 +17,14 @@ To build the installable .exe:
|
|||||||
uninstal.exe,
|
uninstal.exe,
|
||||||
xxd/xxd.exe,
|
xxd/xxd.exe,
|
||||||
|
|
||||||
|
Then execute tools/rename.bat to rename the executables. (mv command is
|
||||||
|
required.)
|
||||||
|
|
||||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||||
archive).
|
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||||
|
as follows:
|
||||||
|
64-bit: src/GvimExt/gvimext64.dll
|
||||||
|
32-bit: src/GvimExt/gvimext.dll
|
||||||
|
|
||||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||||
archive).
|
archive).
|
||||||
@@ -27,13 +33,35 @@ To build the installable .exe:
|
|||||||
get them from a binary archive).
|
get them from a binary archive).
|
||||||
|
|
||||||
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
||||||
"vim61" directory, it's the same for all Vim versions).
|
"vim80" directory, it's the same for all Vim versions).
|
||||||
You can find one in previous Vim versions or in this archive:
|
You can find one in previous Vim versions or in this archive:
|
||||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||||
|
Also put winpty32.dll and winpty-agent.exe there.
|
||||||
|
|
||||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||||
to do this on Unix. Make sure the file is in DOS file format!
|
to do this on Unix. Make sure the file is in DOS file format!
|
||||||
|
|
||||||
|
8. Get gettext and iconv DLLs from the following site:
|
||||||
|
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||||
|
Both 64- and 32-bit versions are needed.
|
||||||
|
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||||
|
DLLs and place them as follows:
|
||||||
|
|
||||||
|
<GETTEXT directory>
|
||||||
|
|
|
||||||
|
+ gettext32/
|
||||||
|
| libintl-8.dll
|
||||||
|
| libiconv-2.dll
|
||||||
|
| libgcc_s_sjlj-1.dll
|
||||||
|
|
|
||||||
|
` gettext64/
|
||||||
|
libintl-8.dll
|
||||||
|
libiconv-2.dll
|
||||||
|
|
||||||
|
The default <GETTEXT directory> is "..", however, you can change it by
|
||||||
|
passing /DGETTEXT=... option to the makensis command.
|
||||||
|
|
||||||
|
|
||||||
Install NSIS if you didn't do that already.
|
Install NSIS if you didn't do that already.
|
||||||
Also install UPX, if you want a compressed file.
|
Also install UPX, if you want a compressed file.
|
||||||
|
|
||||||
|
|||||||
134
nsis/gvim.nsi
134
nsis/gvim.nsi
@@ -20,8 +20,15 @@
|
|||||||
!define VIMTOOLS ..\..
|
!define VIMTOOLS ..\..
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
|
# Location of gettext.
|
||||||
|
# It must contain two directories: gettext32 and gettext64.
|
||||||
|
# See README.txt for detail.
|
||||||
|
!ifndef GETTEXT
|
||||||
|
!define GETTEXT ${VIMRT}
|
||||||
|
!endif
|
||||||
|
|
||||||
# Comment the next line if you don't have UPX.
|
# Comment the next line if you don't have UPX.
|
||||||
# Get it at http://upx.sourceforge.net
|
# Get it at https://upx.github.io/
|
||||||
!define HAVE_UPX
|
!define HAVE_UPX
|
||||||
|
|
||||||
# comment the next line if you do not want to add Native Language Support
|
# comment the next line if you do not want to add Native Language Support
|
||||||
@@ -76,6 +83,7 @@ SilentInstall normal
|
|||||||
# These are the pages we use
|
# These are the pages we use
|
||||||
Page license
|
Page license
|
||||||
Page components
|
Page components
|
||||||
|
Page custom SetCustom ValidateCustom ": _vimrc setting"
|
||||||
Page directory "" "" CheckInstallDir
|
Page directory "" "" CheckInstallDir
|
||||||
Page instfiles
|
Page instfiles
|
||||||
UninstPage uninstConfirm
|
UninstPage uninstConfirm
|
||||||
@@ -128,6 +136,10 @@ Function .onInit
|
|||||||
StrCpy $1 "-register-OLE"
|
StrCpy $1 "-register-OLE"
|
||||||
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
StrCpy $2 "gvim evim gview gvimdiff vimtutor"
|
||||||
|
|
||||||
|
# Extract InstallOptions files
|
||||||
|
# $PLUGINSDIR will automatically be removed when the installer closes
|
||||||
|
InitPluginsDir
|
||||||
|
File /oname=$PLUGINSDIR\vimrc.ini "vimrc.ini"
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
Function .onUserAbort
|
Function .onUserAbort
|
||||||
@@ -256,6 +268,9 @@ Section "Vim executables and runtime files"
|
|||||||
SetOutPath $0\autoload
|
SetOutPath $0\autoload
|
||||||
File ${VIMRT}\autoload\*.*
|
File ${VIMRT}\autoload\*.*
|
||||||
|
|
||||||
|
SetOutPath $0\autoload\dist
|
||||||
|
File ${VIMRT}\autoload\dist\*.*
|
||||||
|
|
||||||
SetOutPath $0\autoload\xml
|
SetOutPath $0\autoload\xml
|
||||||
File ${VIMRT}\autoload\xml\*.*
|
File ${VIMRT}\autoload\xml\*.*
|
||||||
|
|
||||||
@@ -328,24 +343,67 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
ClearErrors
|
ClearErrors
|
||||||
SetOverwrite try
|
SetOverwrite try
|
||||||
|
|
||||||
${If} ${RunningX64}
|
${If} ${RunningX64}
|
||||||
|
# Install 64-bit gvimext.dll into the GvimExt64 directory.
|
||||||
|
SetOutPath $0\GvimExt64
|
||||||
|
ClearErrors
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
${Else}
|
!ifdef HAVE_NLS
|
||||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
File ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt64Done
|
||||||
|
|
||||||
|
# Can't copy gvimext.dll, create it under another name and rename it
|
||||||
|
# on next reboot.
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt64
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
|
||||||
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
IfErrors 0 GvimExtDone
|
|
||||||
|
GvimExt64Done:
|
||||||
|
|
||||||
|
# Install 32-bit gvimext.dll into the GvimExt32 directory.
|
||||||
|
SetOutPath $0\GvimExt32
|
||||||
|
ClearErrors
|
||||||
|
|
||||||
|
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
|
!ifdef HAVE_NLS
|
||||||
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
|
IfErrors 0 GvimExt32Done
|
||||||
|
|
||||||
# Can't copy gvimext.dll, create it under another name and rename it on
|
# Can't copy gvimext.dll, create it under another name and rename it on
|
||||||
# next reboot.
|
# next reboot.
|
||||||
GetTempFileName $3 $0
|
GetTempFileName $3 $0\GvimExt32
|
||||||
${If} ${RunningX64}
|
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
|
||||||
${Else}
|
|
||||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||||
${EndIf}
|
Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
|
||||||
Rename /REBOOTOK $3 $0\gvimext.dll
|
!ifdef HAVE_NLS
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
|
||||||
|
GetTempFileName $3 $0\GvimExt32
|
||||||
|
File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
|
Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
|
||||||
|
!endif
|
||||||
|
|
||||||
GvimExtDone:
|
GvimExt32Done:
|
||||||
SetOverwrite lastused
|
SetOverwrite lastused
|
||||||
|
|
||||||
# We don't have a separate entry for the "Open With..." menu, assume
|
# We don't have a separate entry for the "Open With..." menu, assume
|
||||||
@@ -354,7 +412,7 @@ Section "Add an Edit-with-Vim context menu entry"
|
|||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "Create a _vimrc if it doesn't exist"
|
Section "Create a _vimrc if it doesn't exist" sec_vimrc_id
|
||||||
SectionIn 1 3
|
SectionIn 1 3
|
||||||
|
|
||||||
StrCpy $1 "$1 -create-vimrc"
|
StrCpy $1 "$1 -create-vimrc"
|
||||||
@@ -394,10 +452,10 @@ SectionEnd
|
|||||||
File ${VIMRT}\keymap\README.txt
|
File ${VIMRT}\keymap\README.txt
|
||||||
File ${VIMRT}\keymap\*.vim
|
File ${VIMRT}\keymap\*.vim
|
||||||
SetOutPath $0
|
SetOutPath $0
|
||||||
File ${VIMRT}\libintl-8.dll
|
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||||
File ${VIMRT}\libiconv-2.dll
|
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||||
File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
#File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
||||||
File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
|
File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||||
SectionEnd
|
SectionEnd
|
||||||
!endif
|
!endif
|
||||||
|
|
||||||
@@ -412,6 +470,45 @@ Section -post
|
|||||||
BringToFront
|
BringToFront
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
|
##########################################################
|
||||||
|
Function SetCustom
|
||||||
|
# Display the InstallOptions dialog
|
||||||
|
|
||||||
|
# Check if a _vimrc should be created
|
||||||
|
SectionGetFlags ${sec_vimrc_id} $0
|
||||||
|
IntOp $0 $0 & 1
|
||||||
|
StrCmp $0 "1" +2 0
|
||||||
|
Abort
|
||||||
|
|
||||||
|
Push $3
|
||||||
|
InstallOptions::dialog "$PLUGINSDIR\vimrc.ini"
|
||||||
|
Pop $3
|
||||||
|
Pop $3
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
|
Function ValidateCustom
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 2" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-remap no"
|
||||||
|
Goto behave
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-remap win"
|
||||||
|
|
||||||
|
behave:
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 5" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave unix"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
ReadINIStr $3 "$PLUGINSDIR\vimrc.ini" "Field 6" "State"
|
||||||
|
StrCmp $3 "1" 0 +3
|
||||||
|
StrCpy $1 "$1 -vimrc-behave mswin"
|
||||||
|
Goto done
|
||||||
|
|
||||||
|
StrCpy $1 "$1 -vimrc-behave default"
|
||||||
|
done:
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section Uninstall
|
Section Uninstall
|
||||||
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
# Apparently $INSTDIR is set to the directory where the uninstaller is
|
||||||
@@ -437,6 +534,11 @@ Section Uninstall
|
|||||||
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
||||||
|
|
||||||
Delete /REBOOTOK $0\*.dll
|
Delete /REBOOTOK $0\*.dll
|
||||||
|
Delete /REBOOTOK $0\GvimExt32\*.dll
|
||||||
|
${If} ${RunningX64}
|
||||||
|
Delete /REBOOTOK $0\GvimExt64\*.dll
|
||||||
|
${EndIf}
|
||||||
|
|
||||||
ClearErrors
|
ClearErrors
|
||||||
# Remove everything but *.dll files. Avoids that
|
# Remove everything but *.dll files. Avoids that
|
||||||
# a lot remains when gvimext.dll cannot be deleted.
|
# a lot remains when gvimext.dll cannot be deleted.
|
||||||
|
|||||||
68
nsis/vimrc.ini
Normal file
68
nsis/vimrc.ini
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
[Settings]
|
||||||
|
NumFields=7
|
||||||
|
|
||||||
|
[Field 1]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=0
|
||||||
|
Bottom=53
|
||||||
|
Text=" Key remapping "
|
||||||
|
|
||||||
|
[Field 2]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Do not remap keys for Windows behavior (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=17
|
||||||
|
Bottom=25
|
||||||
|
State=1
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 3]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Remap a few keys for Windows behavior (<C-V>, <C-C>, <C-A>, <C-S>, <C-F>, etc)
|
||||||
|
Left=10
|
||||||
|
Right=-10
|
||||||
|
Top=30
|
||||||
|
Bottom=47
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 4]
|
||||||
|
Type=GroupBox
|
||||||
|
Left=0
|
||||||
|
Right=-1
|
||||||
|
Top=55
|
||||||
|
Bottom=-5
|
||||||
|
Text=" Mouse behavior "
|
||||||
|
|
||||||
|
[Field 5]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button extends selection, left button starts visual mode (Unix)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=72
|
||||||
|
Bottom=80
|
||||||
|
State=0
|
||||||
|
Flags=GROUP
|
||||||
|
|
||||||
|
[Field 6]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts select mode (Windows)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=85
|
||||||
|
Bottom=93
|
||||||
|
State=0
|
||||||
|
Flags=NOTABSTOP
|
||||||
|
|
||||||
|
[Field 7]
|
||||||
|
Type=radiobutton
|
||||||
|
Text=Right button has a popup menu, left button starts visual mode (Default)
|
||||||
|
Left=10
|
||||||
|
Right=-5
|
||||||
|
Top=98
|
||||||
|
Bottom=106
|
||||||
|
State=1
|
||||||
|
Flags=NOTABSTOP
|
||||||
@@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command)
|
|||||||
\" :" . a:Command
|
\" :" . a:Command
|
||||||
execute
|
execute
|
||||||
\ "inoremap <buffer>" .
|
\ "inoremap <buffer>" .
|
||||||
\ " <Learder>a" . a:Keys .
|
\ " <Leader>a" . a:Keys .
|
||||||
\" <C-O>:" . a:Command
|
\" <C-O>:" . a:Command
|
||||||
endif
|
endif
|
||||||
return
|
return
|
||||||
|
|||||||
741
runtime/autoload/dist/ft.vim
vendored
Normal file
741
runtime/autoload/dist/ft.vim
vendored
Normal file
@@ -0,0 +1,741 @@
|
|||||||
|
" Vim functions for file type detection
|
||||||
|
"
|
||||||
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
|
" Last Change: 2017 Nov 11
|
||||||
|
|
||||||
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
|
" faster.
|
||||||
|
|
||||||
|
" Line continuation is used here, remove 'C' from 'cpoptions'
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
func dist#ft#Check_inp()
|
||||||
|
if getline(1) =~ '^\*'
|
||||||
|
setf abaqus
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
if line("$") > 500
|
||||||
|
let nmax = 500
|
||||||
|
else
|
||||||
|
let nmax = line("$")
|
||||||
|
endif
|
||||||
|
while n <= nmax
|
||||||
|
if getline(n) =~? "^header surface data"
|
||||||
|
setf trasys
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks for the kind of assembly that is wanted by the user, or
|
||||||
|
" can be detected from the first five lines of the file.
|
||||||
|
func dist#ft#FTasm()
|
||||||
|
" make sure b:asmsyntax exists
|
||||||
|
if !exists("b:asmsyntax")
|
||||||
|
let b:asmsyntax = ""
|
||||||
|
endif
|
||||||
|
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
endif
|
||||||
|
|
||||||
|
" if b:asmsyntax still isn't set, default to asmsyntax or GNU
|
||||||
|
if b:asmsyntax == ""
|
||||||
|
if exists("g:asmsyntax")
|
||||||
|
let b:asmsyntax = g:asmsyntax
|
||||||
|
else
|
||||||
|
let b:asmsyntax = "asm"
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTasmsyntax()
|
||||||
|
" see if file contains any asmsyntax=foo overrides. If so, change
|
||||||
|
" b:asmsyntax appropriately
|
||||||
|
let head = " ".getline(1)." ".getline(2)." ".getline(3)." ".getline(4).
|
||||||
|
\" ".getline(5)." "
|
||||||
|
let match = matchstr(head, '\sasmsyntax=\zs[a-zA-Z0-9]\+\ze\s')
|
||||||
|
if match != ''
|
||||||
|
let b:asmsyntax = match
|
||||||
|
elseif ((head =~? '\.title') || (head =~? '\.ident') || (head =~? '\.macro') || (head =~? '\.subtitle') || (head =~? '\.library'))
|
||||||
|
let b:asmsyntax = "vmasm"
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Check if one of the first five lines contains "VB_Name". In that case it is
|
||||||
|
" probably a Visual Basic file. Otherwise it's assumed to be "alt" filetype.
|
||||||
|
func dist#ft#FTVB(alt)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'VB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||||
|
setf vb
|
||||||
|
else
|
||||||
|
exe "setf " . a:alt
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTbtm()
|
||||||
|
if exists("g:dosbatch_syntax_for_btm") && g:dosbatch_syntax_for_btm
|
||||||
|
setf dosbatch
|
||||||
|
else
|
||||||
|
setf btm
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#BindzoneCheck(default)
|
||||||
|
if getline(1).getline(2).getline(3).getline(4) =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
|
setf bindzone
|
||||||
|
elseif a:default != ''
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTlpc()
|
||||||
|
if exists("g:lpc_syntax_for_c")
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 12
|
||||||
|
if getline(lnum) =~# '^\(//\|inherit\|private\|protected\|nosave\|string\|object\|mapping\|mixed\)'
|
||||||
|
setf lpc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endif
|
||||||
|
setf c
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTheader()
|
||||||
|
if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
|
||||||
|
if exists("g:c_syntax_for_h")
|
||||||
|
setf objc
|
||||||
|
else
|
||||||
|
setf objcpp
|
||||||
|
endif
|
||||||
|
elseif exists("g:c_syntax_for_h")
|
||||||
|
setf c
|
||||||
|
elseif exists("g:ch_syntax_for_h")
|
||||||
|
setf ch
|
||||||
|
else
|
||||||
|
setf cpp
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first ten lines start with a '@'. In
|
||||||
|
" that case it is probably a change file.
|
||||||
|
" If the first line starts with # or ! it's probably a ch file.
|
||||||
|
" If a line has "main", "include", "//" ir "/*" it's probably ch.
|
||||||
|
" Otherwise CHILL is assumed.
|
||||||
|
func dist#ft#FTchange()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10
|
||||||
|
if getline(lnum)[0] == '@'
|
||||||
|
setf change
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if lnum == 1 && (getline(1)[0] == '#' || getline(1)[0] == '!')
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ "MODULE"
|
||||||
|
setf chill
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(lnum) =~ 'main\s*(\|#\s*include\|//'
|
||||||
|
setf ch
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
setf chill
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTent()
|
||||||
|
" This function checks for valid cl syntax in the first five lines.
|
||||||
|
" Look for either an opening comment, '#', or a block start, '{".
|
||||||
|
" If not found, assume SGML.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum < 6
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*[#{]'
|
||||||
|
setf cl
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$'
|
||||||
|
" Not a blank line, not a comment, and not a block start,
|
||||||
|
" so doesn't look like valid cl code.
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf dtd
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#EuphoriaCheck()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
setf euphoria3
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#DtraceCheck()
|
||||||
|
let lines = getline(1, min([line("$"), 100]))
|
||||||
|
if match(lines, '^module\>\|^import\>') > -1
|
||||||
|
" D files often start with a module and/or import statement.
|
||||||
|
setf d
|
||||||
|
elseif match(lines, '^#!\S\+dtrace\|#pragma\s\+D\s\+option\|:\S\{-}:\S\{-}:') > -1
|
||||||
|
setf dtrace
|
||||||
|
else
|
||||||
|
setf d
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTe()
|
||||||
|
if exists('g:filetype_euphoria')
|
||||||
|
exe 'setf ' . g:filetype_euphoria
|
||||||
|
else
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
|
||||||
|
setf specman
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf eiffel
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between HTML, XHTML and Django
|
||||||
|
func dist#ft#FThtml()
|
||||||
|
let n = 1
|
||||||
|
while n < 10 && n < line("$")
|
||||||
|
if getline(n) =~ '\<DTD\s\+XHTML\s'
|
||||||
|
setf xhtml
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '{%\s*\(extends\|block\|load\)\>\|{#\s\+'
|
||||||
|
setf htmldjango
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf html
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between standard IDL and MS-IDL
|
||||||
|
func dist#ft#FTidl()
|
||||||
|
let n = 1
|
||||||
|
while n < 50 && n < line("$")
|
||||||
|
if getline(n) =~ '^\s*import\s\+"\(unknwn\|objidl\)\.idl"'
|
||||||
|
setf msidl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf idl
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Distinguish between "default" and Cproto prototype file. */
|
||||||
|
func dist#ft#ProtoCheck(default)
|
||||||
|
" Cproto files have a comment in the first line and a function prototype in
|
||||||
|
" the second line, it always ends in ";". Indent files may also have
|
||||||
|
" comments, thus we can't match comments to see the difference.
|
||||||
|
" IDL files can have a single ';' in the second line, require at least one
|
||||||
|
" chacter before the ';'.
|
||||||
|
if getline(2) =~ '.;$'
|
||||||
|
setf cpp
|
||||||
|
else
|
||||||
|
exe 'setf ' . a:default
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTm()
|
||||||
|
let n = 1
|
||||||
|
let saw_comment = 0 " Whether we've seen a multiline comment leader.
|
||||||
|
while n < 100
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*/\*'
|
||||||
|
" /* ... */ is a comment in Objective C and Murphi, so we can't conclude
|
||||||
|
" it's either of them yet, but track this as a hint in case we don't see
|
||||||
|
" anything more definitive.
|
||||||
|
let saw_comment = 1
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|//\)'
|
||||||
|
setf objc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf matlab
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*(\*'
|
||||||
|
setf mma
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\c\s*\(\(type\|var\)\>\|--\)'
|
||||||
|
setf murphi
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
|
||||||
|
if saw_comment
|
||||||
|
" We didn't see anything definitive, but this looks like either Objective C
|
||||||
|
" or Murphi based on the comment leader. Assume the former as it is more
|
||||||
|
" common.
|
||||||
|
setf objc
|
||||||
|
elseif exists("g:filetype_m")
|
||||||
|
" Use user specified default filetype for .m
|
||||||
|
exe "setf " . g:filetype_m
|
||||||
|
else
|
||||||
|
" Default is matlab
|
||||||
|
setf matlab
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmms()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(%\|//\)' || line =~ '^\*'
|
||||||
|
setf mmix
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ '^\s*#'
|
||||||
|
setf make
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf mmix
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" This function checks if one of the first five lines start with a dot. In
|
||||||
|
" that case it is probably an nroff file: 'filetype' is set and 1 is returned.
|
||||||
|
func dist#ft#FTnroff()
|
||||||
|
if getline(1)[0] . getline(2)[0] . getline(3)[0] . getline(4)[0] . getline(5)[0] =~ '\.'
|
||||||
|
setf nroff
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTmm()
|
||||||
|
let n = 1
|
||||||
|
while n < 10
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*\(#\s*\(include\|import\)\>\|@import\>\|/\*\)'
|
||||||
|
setf objcpp
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf nroff
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTpl()
|
||||||
|
if exists("g:filetype_pl")
|
||||||
|
exe "setf " . g:filetype_pl
|
||||||
|
else
|
||||||
|
" recognize Prolog by specific text in the first non-empty line
|
||||||
|
" require a blank after the '%' because Perl uses "%list" and "%translate"
|
||||||
|
let l = getline(nextnonblank(1))
|
||||||
|
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
|
||||||
|
setf prolog
|
||||||
|
else
|
||||||
|
setf perl
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTinc()
|
||||||
|
if exists("g:filetype_inc")
|
||||||
|
exe "setf " . g:filetype_inc
|
||||||
|
else
|
||||||
|
let lines = getline(1).getline(2).getline(3)
|
||||||
|
if lines =~? "perlscript"
|
||||||
|
setf aspperl
|
||||||
|
elseif lines =~ "<%"
|
||||||
|
setf aspvbs
|
||||||
|
elseif lines =~ "<?"
|
||||||
|
setf php
|
||||||
|
else
|
||||||
|
call dist#ft#FTasmsyntax()
|
||||||
|
if exists("b:asmsyntax")
|
||||||
|
exe "setf " . fnameescape(b:asmsyntax)
|
||||||
|
else
|
||||||
|
setf pov
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_cweb()
|
||||||
|
if exists("g:filetype_w")
|
||||||
|
exe "setf " . g:filetype_w
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(1) =~ '&ANALYZE' || getline(3) =~ '&GLOBAL-DEFINE'
|
||||||
|
setf progress
|
||||||
|
else
|
||||||
|
setf cweb
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_asm()
|
||||||
|
if exists("g:filetype_i")
|
||||||
|
exe "setf " . g:filetype_i
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for an assembly comment the first ten lines.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*;' || line =~ '^\*'
|
||||||
|
call dist#ft#FTasm()
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid assembly code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTprogress_pascal()
|
||||||
|
if exists("g:filetype_p")
|
||||||
|
exe "setf " . g:filetype_p
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" This function checks for valid Pascal syntax in the first ten lines.
|
||||||
|
" Look for either an opening comment or a program start.
|
||||||
|
" If not found, assume Progress.
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 10 && lnum < line('$')
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(program\|unit\|procedure\|function\|const\|type\|var\)\>'
|
||||||
|
\ || line =~ '^\s*{' || line =~ '^\s*(\*'
|
||||||
|
setf pascal
|
||||||
|
return
|
||||||
|
elseif line !~ '^\s*$' || line =~ '^/\*'
|
||||||
|
" Not an empty line: Doesn't look like valid Pascal code.
|
||||||
|
" Or it looks like a Progress /* comment
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endw
|
||||||
|
setf progress
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTr()
|
||||||
|
let max = line("$") > 50 ? 50 : line("$")
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" Rebol is easy to recognize, check for that first
|
||||||
|
if getline(n) =~? '\<REBOL\>'
|
||||||
|
setf rebol
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
for n in range(1, max)
|
||||||
|
" R has # comments
|
||||||
|
if getline(n) =~ '^\s*#'
|
||||||
|
setf r
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
" Rexx has /* comments */
|
||||||
|
if getline(n) =~ '^\s*/\*'
|
||||||
|
setf rexx
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
|
||||||
|
" Nothing recognized, use user default or assume Rexx
|
||||||
|
if exists("g:filetype_r")
|
||||||
|
exe "setf " . g:filetype_r
|
||||||
|
else
|
||||||
|
" Rexx used to be the default, but R appears to be much more popular.
|
||||||
|
setf r
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#McSetf()
|
||||||
|
" Rely on the file to start with a comment.
|
||||||
|
" MS message text files use ';', Sendmail files use '#' or 'dnl'
|
||||||
|
for lnum in range(1, min([line("$"), 20]))
|
||||||
|
let line = getline(lnum)
|
||||||
|
if line =~ '^\s*\(#\|dnl\)'
|
||||||
|
setf m4 " Sendmail .mc file
|
||||||
|
return
|
||||||
|
elseif line =~ '^\s*;'
|
||||||
|
setf msmessages " MS Message text file
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf m4 " Default: Sendmail .mc file
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Called from filetype.vim and scripts.vim.
|
||||||
|
func dist#ft#SetFileTypeSH(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if a:name =~ '\<csh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/csh.
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<tcsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/tcsh.
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<zsh\>'
|
||||||
|
" Some .sh scripts contain #!/bin/zsh.
|
||||||
|
call dist#ft#SetFileTypeShell("zsh")
|
||||||
|
return
|
||||||
|
elseif a:name =~ '\<ksh\>'
|
||||||
|
let b:is_kornshell = 1
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif exists("g:bash_is_sh") || a:name =~ '\<bash\>' || a:name =~ '\<bash2\>'
|
||||||
|
let b:is_bash = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_sh")
|
||||||
|
unlet b:is_sh
|
||||||
|
endif
|
||||||
|
elseif a:name =~ '\<sh\>'
|
||||||
|
let b:is_sh = 1
|
||||||
|
if exists("b:is_kornshell")
|
||||||
|
unlet b:is_kornshell
|
||||||
|
endif
|
||||||
|
if exists("b:is_bash")
|
||||||
|
unlet b:is_bash
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
call dist#ft#SetFileTypeShell("sh")
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" For shell-like file types, check for an "exec" command hidden in a comment,
|
||||||
|
" as used for Tcl.
|
||||||
|
" Also called from scripts.vim, thus can't be local to this script.
|
||||||
|
func dist#ft#SetFileTypeShell(name)
|
||||||
|
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let l = 2
|
||||||
|
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
|
||||||
|
" Skip empty and comment lines.
|
||||||
|
let l = l + 1
|
||||||
|
endwhile
|
||||||
|
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
|
||||||
|
" Found an "exec" line after a comment with continuation
|
||||||
|
let n = substitute(getline(l),'\s*exec\s\+\([^ ]*/\)\=', '', '')
|
||||||
|
if n =~ '\<tclsh\|\<wish'
|
||||||
|
setf tcl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
exe "setf " . a:name
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#CSH()
|
||||||
|
if exists("g:filetype_csh")
|
||||||
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
|
elseif &shell =~ "tcsh"
|
||||||
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
else
|
||||||
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||||
|
func dist#ft#FTRules()
|
||||||
|
let path = expand('<amatch>:p')
|
||||||
|
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||||
|
setf udevrules
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/etc/ufw/'
|
||||||
|
setf conf " Better than hog
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if path =~ '^/\(etc\|usr/share\)/polkit-1/rules\.d'
|
||||||
|
setf javascript
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
try
|
||||||
|
let config_lines = readfile('/etc/udev/udev.conf')
|
||||||
|
catch /^Vim\%((\a\+)\)\=:E484/
|
||||||
|
setf hog
|
||||||
|
return
|
||||||
|
endtry
|
||||||
|
let dir = expand('<amatch>:p:h')
|
||||||
|
for line in config_lines
|
||||||
|
if line =~ s:ft_rules_udev_rules_pattern
|
||||||
|
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
|
||||||
|
if dir == udev_rules
|
||||||
|
setf udevrules
|
||||||
|
endif
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
setf hog
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#SQL()
|
||||||
|
if exists("g:filetype_sql")
|
||||||
|
exe "setf " . g:filetype_sql
|
||||||
|
else
|
||||||
|
setf sql
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
|
||||||
|
" it is almost certainly a Perl test file.
|
||||||
|
" If the first line starts with '#' and contains 'perl' it's probably a Perl
|
||||||
|
" file.
|
||||||
|
" (Slow test) If a file contains a 'use' statement then it is almost certainly
|
||||||
|
" a Perl file.
|
||||||
|
func dist#ft#FTperl()
|
||||||
|
let dirname = expand("%:p:h:t")
|
||||||
|
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if getline(1)[0] == '#' && getline(1) =~ 'perl'
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
if search('^use\s\s*\k', 'nc', 30)
|
||||||
|
setf perl
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
return 0
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Choose context, plaintex, or tex (LaTeX) based on these rules:
|
||||||
|
" 1. Check the first line of the file for "%&<format>".
|
||||||
|
" 2. Check the first 1000 non-comment lines for LaTeX or ConTeXt keywords.
|
||||||
|
" 3. Default to "latex" or to g:tex_flavor, can be set in user's vimrc.
|
||||||
|
func dist#ft#FTtex()
|
||||||
|
let firstline = getline(1)
|
||||||
|
if firstline =~ '^%&\s*\a\+'
|
||||||
|
let format = tolower(matchstr(firstline, '\a\+'))
|
||||||
|
let format = substitute(format, 'pdf', '', '')
|
||||||
|
if format == 'tex'
|
||||||
|
let format = 'latex'
|
||||||
|
elseif format == 'plaintex'
|
||||||
|
let format = 'plain'
|
||||||
|
endif
|
||||||
|
elseif expand('%') =~ 'tex/context/.*/.*.tex'
|
||||||
|
let format = 'context'
|
||||||
|
else
|
||||||
|
" Default value, may be changed later:
|
||||||
|
let format = exists("g:tex_flavor") ? g:tex_flavor : 'plain'
|
||||||
|
" Save position, go to the top of the file, find first non-comment line.
|
||||||
|
let save_cursor = getpos('.')
|
||||||
|
call cursor(1,1)
|
||||||
|
let firstNC = search('^\s*[^[:space:]%]', 'c', 1000)
|
||||||
|
if firstNC " Check the next thousand lines for a LaTeX or ConTeXt keyword.
|
||||||
|
let lpat = 'documentclass\>\|usepackage\>\|begin{\|newcommand\>\|renewcommand\>'
|
||||||
|
let cpat = 'start\a\+\|setup\a\+\|usemodule\|enablemode\|enableregime\|setvariables\|useencoding\|usesymbols\|stelle\a\+\|verwende\a\+\|stel\a\+\|gebruik\a\+\|usa\a\+\|imposta\a\+\|regle\a\+\|utilisemodule\>'
|
||||||
|
let kwline = search('^\s*\\\%(' . lpat . '\)\|^\s*\\\(' . cpat . '\)',
|
||||||
|
\ 'cnp', firstNC + 1000)
|
||||||
|
if kwline == 1 " lpat matched
|
||||||
|
let format = 'latex'
|
||||||
|
elseif kwline == 2 " cpat matched
|
||||||
|
let format = 'context'
|
||||||
|
endif " If neither matched, keep default set above.
|
||||||
|
" let lline = search('^\s*\\\%(' . lpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" let cline = search('^\s*\\\%(' . cpat . '\)', 'cn', firstNC + 1000)
|
||||||
|
" if cline > 0
|
||||||
|
" let format = 'context'
|
||||||
|
" endif
|
||||||
|
" if lline > 0 && (cline == 0 || cline > lline)
|
||||||
|
" let format = 'tex'
|
||||||
|
" endif
|
||||||
|
endif " firstNC
|
||||||
|
call setpos('.', save_cursor)
|
||||||
|
endif " firstline =~ '^%&\s*\a\+'
|
||||||
|
|
||||||
|
" Translation from formats to file types. TODO: add AMSTeX, RevTex, others?
|
||||||
|
if format == 'plain'
|
||||||
|
setf plaintex
|
||||||
|
elseif format == 'context'
|
||||||
|
setf context
|
||||||
|
else " probably LaTeX
|
||||||
|
setf tex
|
||||||
|
endif
|
||||||
|
return
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTxml()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
" DocBook 4 or DocBook 5.
|
||||||
|
let is_docbook4 = line =~ '<!DOCTYPE.*DocBook'
|
||||||
|
let is_docbook5 = line =~ ' xmlns="http://docbook.org/ns/docbook"'
|
||||||
|
if is_docbook4 || is_docbook5
|
||||||
|
let b:docbk_type = "xml"
|
||||||
|
if is_docbook5
|
||||||
|
let b:docbk_ver = 5
|
||||||
|
else
|
||||||
|
let b:docbk_ver = 4
|
||||||
|
endif
|
||||||
|
setf docbk
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if line =~ 'xmlns:xbl="http://www.mozilla.org/xbl"'
|
||||||
|
setf xbl
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n += 1
|
||||||
|
endwhile
|
||||||
|
setf xml
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#FTy()
|
||||||
|
let n = 1
|
||||||
|
while n < 100 && n < line("$")
|
||||||
|
let line = getline(n)
|
||||||
|
if line =~ '^\s*%'
|
||||||
|
setf yacc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
if getline(n) =~ '^\s*\(#\|class\>\)' && getline(n) !~ '^\s*#\s*include'
|
||||||
|
setf racc
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let n = n + 1
|
||||||
|
endwhile
|
||||||
|
setf yacc
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func dist#ft#Redif()
|
||||||
|
let lnum = 1
|
||||||
|
while lnum <= 5 && lnum < line('$')
|
||||||
|
if getline(lnum) =~ "^\ctemplate-type:"
|
||||||
|
setf redif
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let lnum = lnum + 1
|
||||||
|
endwhile
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
" Restore 'cpoptions'
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
" netrwSettings.vim: makes netrw settings simpler
|
" netrwSettings.vim: makes netrw settings simpler
|
||||||
" Date: Dec 30, 2014
|
" Date: Nov 09, 2016
|
||||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||||
" Version: 15
|
" Version: 16
|
||||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
" with or without modifications, provided that this copyright
|
" with or without modifications, provided that this copyright
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
if exists("g:loaded_netrwSettings") || &cp
|
if exists("g:loaded_netrwSettings") || &cp
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_netrwSettings = "v15"
|
let g:loaded_netrwSettings = "v16"
|
||||||
if v:version < 700
|
if v:version < 700
|
||||||
echohl WarningMsg
|
echohl WarningMsg
|
||||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||||
@@ -154,9 +154,13 @@ fun! netrwSettings#NetrwSettings()
|
|||||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||||
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
|
||||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||||
|
put = 'let g:netrw_localcopycmdopt = '.g:netrw_localcopycmdopt
|
||||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||||
|
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
|
||||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||||
|
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
|
||||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||||
|
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
|
||||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim support file to help with paste mappings and menus
|
" Vim support file to help with paste mappings and menus
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2006 Jun 23
|
" Last Change: 2017 Aug 30
|
||||||
|
|
||||||
" Define the string to use for items that are present both in Edit, Popup and
|
" Define the string to use for items that are present both in Edit, Popup and
|
||||||
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
" Toolbar menu. Also used in mswin.vim and macmap.vim.
|
||||||
@@ -12,7 +12,7 @@
|
|||||||
if has("virtualedit")
|
if has("virtualedit")
|
||||||
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"}
|
||||||
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n']
|
||||||
let paste#paste_cmd['i'] = 'x<BS><Esc>' . paste#paste_cmd['n'] . 'gi'
|
let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP"
|
||||||
|
|
||||||
func! paste#Paste()
|
func! paste#Paste()
|
||||||
let ove = &ve
|
let ove = &ve
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: SQL
|
" Language: SQL
|
||||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||||
" Version: 16.0
|
" Version: 16.0
|
||||||
" Last Change: 2015 Dec 29
|
" Last Change: 2017 Oct 15
|
||||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||||
" Usage: For detailed help
|
" Usage: For detailed help
|
||||||
" ":help sql.txt"
|
" ":help sql.txt"
|
||||||
@@ -860,7 +860,7 @@ function! s:SQLCGetColumns(table_name, list_type)
|
|||||||
|
|
||||||
" Start characterwise visual mode
|
" Start characterwise visual mode
|
||||||
" Advance right one character
|
" Advance right one character
|
||||||
" Search foward until one of the following:
|
" Search forward until one of the following:
|
||||||
" 1. Another select/update/delete statement
|
" 1. Another select/update/delete statement
|
||||||
" 2. A ; at the end of a line (the delimiter)
|
" 2. A ; at the end of a line (the delimiter)
|
||||||
" 3. The end of the file (incase no delimiter)
|
" 3. The end of the file (incase no delimiter)
|
||||||
|
|||||||
@@ -343,7 +343,7 @@ xxd.man: xxd.1
|
|||||||
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
nroff -man xxd.1 | sed -e s/.//g > xxd.man
|
||||||
|
|
||||||
uganda.nsis.txt: uganda.txt
|
uganda.nsis.txt: uganda.txt
|
||||||
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78://' \
|
sed -e 's/[ ]*\*[-a-zA-Z0-9.]*\*//g' -e 's/vim:tw=78:.*//' \
|
||||||
uganda.txt | uniq >uganda.nsis.txt
|
uganda.txt | uniq >uganda.nsis.txt
|
||||||
|
|
||||||
# Awk version of .txt to .html conversion.
|
# Awk version of .txt to .html conversion.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*autocmd.txt* For Vim version 8.0. Last change: 2017 Jul 14
|
*autocmd.txt* For Vim version 8.0. Last change: 2017 Nov 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -68,7 +68,14 @@ Note: The ":autocmd" command can only be followed by another command when the
|
|||||||
'|' appears before {cmd}. This works: >
|
'|' appears before {cmd}. This works: >
|
||||||
:augroup mine | au! BufRead | augroup END
|
:augroup mine | au! BufRead | augroup END
|
||||||
But this sees "augroup" as part of the defined command: >
|
But this sees "augroup" as part of the defined command: >
|
||||||
|
:augroup mine | au! BufRead * | augroup END
|
||||||
:augroup mine | au BufRead * set tw=70 | augroup END
|
:augroup mine | au BufRead * set tw=70 | augroup END
|
||||||
|
Instead you can put the group name into the command: >
|
||||||
|
:au! mine BufRead *
|
||||||
|
:au mine BufRead * set tw=70
|
||||||
|
Or use `:execute`: >
|
||||||
|
:augroup mine | exe "au! BufRead *" | augroup END
|
||||||
|
:augroup mine | exe "au BufRead * set tw=70" | augroup END
|
||||||
|
|
||||||
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
|
||||||
arguments are not expanded when the autocommand is defined. These will be
|
arguments are not expanded when the autocommand is defined. These will be
|
||||||
@@ -492,6 +499,22 @@ CmdUndefined When a user command is used but it isn't
|
|||||||
command is defined. An alternative is to
|
command is defined. An alternative is to
|
||||||
always define the user command and have it
|
always define the user command and have it
|
||||||
invoke an autoloaded function. See |autoload|.
|
invoke an autoloaded function. See |autoload|.
|
||||||
|
*CmdlineEnter*
|
||||||
|
CmdlineEnter After moving the cursor to the command line,
|
||||||
|
where the user can type a command or search
|
||||||
|
string.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
|
*CmdlineLeave*
|
||||||
|
CmdlineLeave Before leaving the command line.
|
||||||
|
Also when abandoning the command line, after
|
||||||
|
typing CTRL-C or <Esc>.
|
||||||
|
When the commands result in an error the
|
||||||
|
command line is still executed.
|
||||||
|
<afile> is set to a single character,
|
||||||
|
indicating the type of command-line.
|
||||||
|
|cmdwin-char|
|
||||||
*CmdwinEnter*
|
*CmdwinEnter*
|
||||||
CmdwinEnter After entering the command-line window.
|
CmdwinEnter After entering the command-line window.
|
||||||
Useful for setting options specifically for
|
Useful for setting options specifically for
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*cmdline.txt* For Vim version 8.0. Last change: 2017 Jul 11
|
*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -826,6 +826,7 @@ Also see |`=|.
|
|||||||
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
|
||||||
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
|
||||||
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
|
||||||
|
*:<cexpr>* *<cexpr>*
|
||||||
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
*<slnum>* *E495* *E496* *E497* *E499* *E500*
|
||||||
Note: these are typed literally, they are not special keys!
|
Note: these are typed literally, they are not special keys!
|
||||||
<cword> is replaced with the word under the cursor (like |star|)
|
<cword> is replaced with the word under the cursor (like |star|)
|
||||||
@@ -838,7 +839,8 @@ Note: these are typed literally, they are not special keys!
|
|||||||
<cfile> is replaced with the path name under the cursor (like what
|
<cfile> is replaced with the path name under the cursor (like what
|
||||||
|gf| uses)
|
|gf| uses)
|
||||||
<afile> When executing autocommands, is replaced with the file name
|
<afile> When executing autocommands, is replaced with the file name
|
||||||
for a file read or write.
|
of the buffer being manipulated, or the file for a read or
|
||||||
|
write.
|
||||||
<abuf> When executing autocommands, is replaced with the currently
|
<abuf> When executing autocommands, is replaced with the currently
|
||||||
effective buffer number (for ":r file" and ":so file" it is
|
effective buffer number (for ":r file" and ":so file" it is
|
||||||
the current buffer, the file being read/sourced is not in a
|
the current buffer, the file being read/sourced is not in a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*diff.txt* For Vim version 8.0. Last change: 2017 Feb 03
|
*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -10,7 +10,7 @@ eight versions of the same file.
|
|||||||
|
|
||||||
The basics are explained in section |08.7| of the user manual.
|
The basics are explained in section |08.7| of the user manual.
|
||||||
|
|
||||||
1. Starting diff mode |vimdiff|
|
1. Starting diff mode |start-vimdiff|
|
||||||
2. Viewing diffs |view-diffs|
|
2. Viewing diffs |view-diffs|
|
||||||
3. Jumping to diffs |jumpto-diffs|
|
3. Jumping to diffs |jumpto-diffs|
|
||||||
4. Copying diffs |copy-diffs|
|
4. Copying diffs |copy-diffs|
|
||||||
@@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
1. Starting diff mode
|
1. Starting diff mode *start-vimdiff*
|
||||||
|
|
||||||
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
||||||
This starts Vim as usual, and additionally sets up for viewing the differences
|
This starts Vim as usual, and additionally sets up for viewing the differences
|
||||||
@@ -226,8 +226,8 @@ The diffs are highlighted with these groups:
|
|||||||
(searching from the end of the line). The
|
(searching from the end of the line). The
|
||||||
text in between is highlighted. This means
|
text in between is highlighted. This means
|
||||||
that parts in the middle that are still the
|
that parts in the middle that are still the
|
||||||
same are highlighted anyway. Only "iwhite" of
|
same are highlighted anyway. The 'diffopt'
|
||||||
'diffopt' is used here.
|
flags "iwhite" and "icase" are used here.
|
||||||
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|
||||||
because they don't really exist in this
|
because they don't really exist in this
|
||||||
buffer.
|
buffer.
|
||||||
@@ -326,7 +326,7 @@ g:diff_translations to zero: >
|
|||||||
|
|
||||||
let g:diff_translations = 0
|
let g:diff_translations = 0
|
||||||
<
|
<
|
||||||
After setting this variable, Reload the syntax script: >
|
After setting this variable, reload the syntax script: >
|
||||||
|
|
||||||
set syntax=diff
|
set syntax=diff
|
||||||
<
|
<
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.0. Last change: 2017 Sep 11
|
*eval.txt* For Vim version 8.0. Last change: 2017 Nov 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -120,9 +120,8 @@ To test for a non-empty string, use empty(): >
|
|||||||
Function arguments often behave slightly different from |TRUE|: If the
|
Function arguments often behave slightly different from |TRUE|: If the
|
||||||
argument is present and it evaluates to a non-zero Number, |v:true| or a
|
argument is present and it evaluates to a non-zero Number, |v:true| or a
|
||||||
non-empty String, then the value is considered to be TRUE.
|
non-empty String, then the value is considered to be TRUE.
|
||||||
Note that " " and "0" are also non-empty strings, thus cause the mode to be
|
Note that " " and "0" are also non-empty strings, thus considered to be TRUE.
|
||||||
cleared. A List, Dictionary or Float is not a Number or String, thus
|
A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE.
|
||||||
evaluates to FALSE.
|
|
||||||
|
|
||||||
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
|
*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
|
||||||
List, Dictionary, Funcref, Job and Channel types are not automatically
|
List, Dictionary, Funcref, Job and Channel types are not automatically
|
||||||
@@ -815,14 +814,15 @@ Examples:
|
|||||||
"abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise
|
"abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise
|
||||||
|
|
||||||
*E691* *E692*
|
*E691* *E692*
|
||||||
A |List| can only be compared with a |List| and only "equal", "not equal" and
|
A |List| can only be compared with a |List| and only "equal", "not equal",
|
||||||
"is" can be used. This compares the values of the list, recursively.
|
"is" and "isnot" can be used. This compares the values of the list,
|
||||||
Ignoring case means case is ignored when comparing item values.
|
recursively. Ignoring case means case is ignored when comparing item values.
|
||||||
|
|
||||||
*E735* *E736*
|
*E735* *E736*
|
||||||
A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not
|
A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not
|
||||||
equal" and "is" can be used. This compares the key/values of the |Dictionary|
|
equal", "is" and "isnot" can be used. This compares the key/values of the
|
||||||
recursively. Ignoring case means case is ignored when comparing item values.
|
|Dictionary| recursively. Ignoring case means case is ignored when comparing
|
||||||
|
item values.
|
||||||
|
|
||||||
*E694*
|
*E694*
|
||||||
A |Funcref| can only be compared with a |Funcref| and only "equal", "not
|
A |Funcref| can only be compared with a |Funcref| and only "equal", "not
|
||||||
@@ -1912,11 +1912,16 @@ v:termstyleresp The escape sequence returned by the terminal for the |t_RS|
|
|||||||
termcap entry. This is used to find out what the shape of the
|
termcap entry. This is used to find out what the shape of the
|
||||||
cursor is. This is used by |term_getcursor()|.
|
cursor is. This is used by |term_getcursor()|.
|
||||||
|
|
||||||
*v:termrgbresp*
|
*v:termrbgresp*
|
||||||
v:termrgbresp The escape sequence returned by the terminal for the |t_RB|
|
v:termrbgresp The escape sequence returned by the terminal for the |t_RB|
|
||||||
termcap entry. This is used to find out what the terminal
|
termcap entry. This is used to find out what the terminal
|
||||||
background color is, see 'background'.
|
background color is, see 'background'.
|
||||||
|
|
||||||
|
*v:termrfgresp*
|
||||||
|
v:termrfgresp The escape sequence returned by the terminal for the |t_RF|
|
||||||
|
termcap entry. This is used to find out what the terminal
|
||||||
|
foreground color is.
|
||||||
|
|
||||||
*v:termu7resp*
|
*v:termu7resp*
|
||||||
v:termu7resp The escape sequence returned by the terminal for the |t_u7|
|
v:termu7resp The escape sequence returned by the terminal for the |t_u7|
|
||||||
termcap entry. This is used to find out what the terminal
|
termcap entry. This is used to find out what the terminal
|
||||||
@@ -2027,6 +2032,7 @@ asin({expr}) Float arc sine of {expr}
|
|||||||
atan({expr}) Float arc tangent of {expr}
|
atan({expr}) Float arc tangent of {expr}
|
||||||
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
|
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
|
||||||
balloon_show({msg}) none show {msg} inside the balloon
|
balloon_show({msg}) none show {msg} inside the balloon
|
||||||
|
balloon_split({msg}) List split {msg} as used for a balloon
|
||||||
browse({save}, {title}, {initdir}, {default})
|
browse({save}, {title}, {initdir}, {default})
|
||||||
String put up a file requester
|
String put up a file requester
|
||||||
browsedir({title}, {initdir}) String put up a directory requester
|
browsedir({title}, {initdir}) String put up a directory requester
|
||||||
@@ -2069,7 +2075,7 @@ ch_setoptions({handle}, {options})
|
|||||||
ch_status({handle} [, {options}])
|
ch_status({handle} [, {options}])
|
||||||
String status of channel {handle}
|
String status of channel {handle}
|
||||||
changenr() Number current change number
|
changenr() Number current change number
|
||||||
char2nr({expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||||
cindent({lnum}) Number C indent for line {lnum}
|
cindent({lnum}) Number C indent for line {lnum}
|
||||||
clearmatches() none clear all matches
|
clearmatches() none clear all matches
|
||||||
col({expr}) Number column nr of cursor or mark
|
col({expr}) Number column nr of cursor or mark
|
||||||
@@ -2111,9 +2117,9 @@ filereadable({file}) Number |TRUE| if {file} is a readable file
|
|||||||
filewritable({file}) Number |TRUE| if {file} is a writable file
|
filewritable({file}) Number |TRUE| if {file} is a writable file
|
||||||
filter({expr1}, {expr2}) List/Dict remove items from {expr1} where
|
filter({expr1}, {expr2}) List/Dict remove items from {expr1} where
|
||||||
{expr2} is 0
|
{expr2} is 0
|
||||||
finddir({name}[, {path}[, {count}]])
|
finddir({name} [, {path} [, {count}]])
|
||||||
String find directory {name} in {path}
|
String find directory {name} in {path}
|
||||||
findfile({name}[, {path}[, {count}]])
|
findfile({name} [, {path} [, {count}]])
|
||||||
String find file {name} in {path}
|
String find file {name} in {path}
|
||||||
float2nr({expr}) Number convert Float {expr} to a Number
|
float2nr({expr}) Number convert Float {expr} to a Number
|
||||||
floor({expr}) Float round {expr} down
|
floor({expr}) Float round {expr} down
|
||||||
@@ -2157,7 +2163,7 @@ getftime({fname}) Number last modification time of file
|
|||||||
getftype({fname}) String description of type of file {fname}
|
getftype({fname}) String description of type of file {fname}
|
||||||
getline({lnum}) String line {lnum} of current buffer
|
getline({lnum}) String line {lnum} of current buffer
|
||||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||||
getloclist({nr}[, {what}]) List list of location list items
|
getloclist({nr} [, {what}]) List list of location list items
|
||||||
getmatches() List list of current matches
|
getmatches() List list of current matches
|
||||||
getpid() Number process ID of Vim
|
getpid() Number process ID of Vim
|
||||||
getpos({expr}) List position of cursor, mark, etc.
|
getpos({expr}) List position of cursor, mark, etc.
|
||||||
@@ -2233,28 +2239,28 @@ lispindent({lnum}) Number Lisp indent for line {lnum}
|
|||||||
localtime() Number current time
|
localtime() Number current time
|
||||||
log({expr}) Float natural logarithm (base e) of {expr}
|
log({expr}) Float natural logarithm (base e) of {expr}
|
||||||
log10({expr}) Float logarithm of Float {expr} to base 10
|
log10({expr}) Float logarithm of Float {expr} to base 10
|
||||||
luaeval({expr}[, {expr}]) any evaluate |Lua| expression
|
luaeval({expr} [, {expr}]) any evaluate |Lua| expression
|
||||||
map({expr1}, {expr2}) List/Dict change each item in {expr1} to {expr}
|
map({expr1}, {expr2}) List/Dict change each item in {expr1} to {expr}
|
||||||
maparg({name}[, {mode} [, {abbr} [, {dict}]]])
|
maparg({name} [, {mode} [, {abbr} [, {dict}]]])
|
||||||
String or Dict
|
String or Dict
|
||||||
rhs of mapping {name} in mode {mode}
|
rhs of mapping {name} in mode {mode}
|
||||||
mapcheck({name}[, {mode} [, {abbr}]])
|
mapcheck({name} [, {mode} [, {abbr}]])
|
||||||
String check for mappings matching {name}
|
String check for mappings matching {name}
|
||||||
match({expr}, {pat}[, {start}[, {count}]])
|
match({expr}, {pat} [, {start} [, {count}]])
|
||||||
Number position where {pat} matches in {expr}
|
Number position where {pat} matches in {expr}
|
||||||
matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
|
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||||
Number highlight {pattern} with {group}
|
Number highlight {pattern} with {group}
|
||||||
matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]])
|
matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||||
Number highlight positions with {group}
|
Number highlight positions with {group}
|
||||||
matcharg({nr}) List arguments of |:match|
|
matcharg({nr}) List arguments of |:match|
|
||||||
matchdelete({id}) Number delete match identified by {id}
|
matchdelete({id}) Number delete match identified by {id}
|
||||||
matchend({expr}, {pat}[, {start}[, {count}]])
|
matchend({expr}, {pat} [, {start} [, {count}]])
|
||||||
Number position where {pat} ends in {expr}
|
Number position where {pat} ends in {expr}
|
||||||
matchlist({expr}, {pat}[, {start}[, {count}]])
|
matchlist({expr}, {pat} [, {start} [, {count}]])
|
||||||
List match and submatches of {pat} in {expr}
|
List match and submatches of {pat} in {expr}
|
||||||
matchstr({expr}, {pat}[, {start}[, {count}]])
|
matchstr({expr}, {pat} [, {start} [, {count}]])
|
||||||
String {count}'th match of {pat} in {expr}
|
String {count}'th match of {pat} in {expr}
|
||||||
matchstrpos({expr}, {pat}[, {start}[, {count}]])
|
matchstrpos({expr}, {pat} [, {start} [, {count}]])
|
||||||
List {count}'th match of {pat} in {expr}
|
List {count}'th match of {pat} in {expr}
|
||||||
max({expr}) Number maximum value of items in {expr}
|
max({expr}) Number maximum value of items in {expr}
|
||||||
min({expr}) Number minimum value of items in {expr}
|
min({expr}) Number minimum value of items in {expr}
|
||||||
@@ -2263,7 +2269,7 @@ mkdir({name} [, {path} [, {prot}]])
|
|||||||
mode([expr]) String current editing mode
|
mode([expr]) String current editing mode
|
||||||
mzeval({expr}) any evaluate |MzScheme| expression
|
mzeval({expr}) any evaluate |MzScheme| expression
|
||||||
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
|
||||||
nr2char({expr}[, {utf8}]) String single char with ASCII/UTF8 value {expr}
|
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr}
|
||||||
or({expr}, {expr}) Number bitwise OR
|
or({expr}, {expr}) Number bitwise OR
|
||||||
pathshorten({expr}) String shorten directory names in a path
|
pathshorten({expr}) String shorten directory names in a path
|
||||||
perleval({expr}) any evaluate |Perl| expression
|
perleval({expr}) any evaluate |Perl| expression
|
||||||
@@ -2316,7 +2322,7 @@ searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
|||||||
server2client({clientid}, {string})
|
server2client({clientid}, {string})
|
||||||
Number send reply string
|
Number send reply string
|
||||||
serverlist() String get a list of available servers
|
serverlist() String get a list of available servers
|
||||||
setbufline( {expr}, {lnum}, {line})
|
setbufline({expr}, {lnum}, {line})
|
||||||
Number set line {lnum} to {line} in buffer
|
Number set line {lnum} to {line} in buffer
|
||||||
{expr}
|
{expr}
|
||||||
setbufvar({expr}, {varname}, {val})
|
setbufvar({expr}, {varname}, {val})
|
||||||
@@ -2325,13 +2331,13 @@ setcharsearch({dict}) Dict set character search from {dict}
|
|||||||
setcmdpos({pos}) Number set cursor position in command-line
|
setcmdpos({pos}) Number set cursor position in command-line
|
||||||
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
||||||
setline({lnum}, {line}) Number set line {lnum} to {line}
|
setline({lnum}, {line}) Number set line {lnum} to {line}
|
||||||
setloclist({nr}, {list}[, {action}[, {what}]])
|
setloclist({nr}, {list} [, {action} [, {what}]])
|
||||||
Number modify location list using {list}
|
Number modify location list using {list}
|
||||||
setmatches({list}) Number restore a list of matches
|
setmatches({list}) Number restore a list of matches
|
||||||
setpos({expr}, {list}) Number set the {expr} position to {list}
|
setpos({expr}, {list}) Number set the {expr} position to {list}
|
||||||
setqflist({list}[, {action}[, {what}]])
|
setqflist({list} [, {action} [, {what}]])
|
||||||
Number modify quickfix list using {list}
|
Number modify quickfix list using {list}
|
||||||
setreg({n}, {v}[, {opt}]) Number set register to value and type
|
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
||||||
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
||||||
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
||||||
none set {varname} in window {winnr} in tab
|
none set {varname} in window {winnr} in tab
|
||||||
@@ -2357,22 +2363,22 @@ sqrt({expr}) Float square root of {expr}
|
|||||||
str2float({expr}) Float convert String to Float
|
str2float({expr}) Float convert String to Float
|
||||||
str2nr({expr} [, {base}]) Number convert String to Number
|
str2nr({expr} [, {base}]) Number convert String to Number
|
||||||
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||||
strcharpart({str}, {start}[, {len}])
|
strcharpart({str}, {start} [, {len}])
|
||||||
String {len} characters of {str} at {start}
|
String {len} characters of {str} at {start}
|
||||||
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
||||||
strftime({format}[, {time}]) String time in specified format
|
strftime({format} [, {time}]) String time in specified format
|
||||||
strgetchar({str}, {index}) Number get char {index} from {str}
|
strgetchar({str}, {index}) Number get char {index} from {str}
|
||||||
stridx({haystack}, {needle}[, {start}])
|
stridx({haystack}, {needle} [, {start}])
|
||||||
Number index of {needle} in {haystack}
|
Number index of {needle} in {haystack}
|
||||||
string({expr}) String String representation of {expr} value
|
string({expr}) String String representation of {expr} value
|
||||||
strlen({expr}) Number length of the String {expr}
|
strlen({expr}) Number length of the String {expr}
|
||||||
strpart({str}, {start}[, {len}])
|
strpart({str}, {start} [, {len}])
|
||||||
String {len} characters of {str} at {start}
|
String {len} characters of {str} at {start}
|
||||||
strridx({haystack}, {needle} [, {start}])
|
strridx({haystack}, {needle} [, {start}])
|
||||||
Number last index of {needle} in {haystack}
|
Number last index of {needle} in {haystack}
|
||||||
strtrans({expr}) String translate string to make it printable
|
strtrans({expr}) String translate string to make it printable
|
||||||
strwidth({expr}) Number display cell length of the String {expr}
|
strwidth({expr}) Number display cell length of the String {expr}
|
||||||
submatch({nr}[, {list}]) String or List
|
submatch({nr} [, {list}]) String or List
|
||||||
specific match in ":s" or substitute()
|
specific match in ":s" or substitute()
|
||||||
substitute({expr}, {pat}, {sub}, {flags})
|
substitute({expr}, {pat}, {sub}, {flags})
|
||||||
String all {pat} in {expr} replaced with {sub}
|
String all {pat} in {expr} replaced with {sub}
|
||||||
@@ -2386,8 +2392,8 @@ system({expr} [, {input}]) String output of shell command/filter {expr}
|
|||||||
systemlist({expr} [, {input}]) List output of shell command/filter {expr}
|
systemlist({expr} [, {input}]) List output of shell command/filter {expr}
|
||||||
tabpagebuflist([{arg}]) List list of buffer numbers in tab page
|
tabpagebuflist([{arg}]) List list of buffer numbers in tab page
|
||||||
tabpagenr([{arg}]) Number number of current or last tab page
|
tabpagenr([{arg}]) Number number of current or last tab page
|
||||||
tabpagewinnr({tabarg}[, {arg}]) Number number of current window in tab page
|
tabpagewinnr({tabarg} [, {arg}]) Number number of current window in tab page
|
||||||
taglist({expr}[, {filename}]) List list of tags matching {expr}
|
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
||||||
tagfiles() List tags files used
|
tagfiles() List tags files used
|
||||||
tan({expr}) Float tangent of {expr}
|
tan({expr}) Float tangent of {expr}
|
||||||
tanh({expr}) Float hyperbolic tangent of {expr}
|
tanh({expr}) Float hyperbolic tangent of {expr}
|
||||||
@@ -2401,7 +2407,7 @@ term_getscrolled({buf}) Number get the scroll count of a terminal
|
|||||||
term_getsize({buf}) List get the size of a terminal
|
term_getsize({buf}) List get the size of a terminal
|
||||||
term_getstatus({buf}) String get the status of a terminal
|
term_getstatus({buf}) String get the status of a terminal
|
||||||
term_gettitle({buf}) String get the title of a terminal
|
term_gettitle({buf}) String get the title of a terminal
|
||||||
term_getttty({buf}, [{input}]) String get the tty name of a terminal
|
term_gettty({buf}, [{input}]) String get the tty name of a terminal
|
||||||
term_list() List get the list of terminal buffers
|
term_list() List get the list of terminal buffers
|
||||||
term_scrape({buf}, {row}) List get row of a terminal screen
|
term_scrape({buf}, {row}) List get row of a terminal screen
|
||||||
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
|
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
|
||||||
@@ -2677,8 +2683,12 @@ atan2({expr1}, {expr2}) *atan2()*
|
|||||||
< 2.356194
|
< 2.356194
|
||||||
{only available when compiled with the |+float| feature}
|
{only available when compiled with the |+float| feature}
|
||||||
|
|
||||||
balloon_show({msg}) *balloon_show()*
|
balloon_show({expr}) *balloon_show()*
|
||||||
Show {msg} inside the balloon.
|
Show {expr} inside the balloon. For the GUI {expr} is used as
|
||||||
|
a string. For a terminal {expr} can be a list, which contains
|
||||||
|
the lines of the balloon. If {expr} is not a list it will be
|
||||||
|
split with |balloon_split()|.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
func GetBalloonContent()
|
func GetBalloonContent()
|
||||||
" initiate getting the content
|
" initiate getting the content
|
||||||
@@ -2698,7 +2708,16 @@ balloon_show({msg}) *balloon_show()*
|
|||||||
|
|
||||||
When showing a balloon is not possible nothing happens, no
|
When showing a balloon is not possible nothing happens, no
|
||||||
error message.
|
error message.
|
||||||
{only available when compiled with the +balloon_eval feature}
|
{only available when compiled with the +balloon_eval or
|
||||||
|
+balloon_eval_term feature}
|
||||||
|
|
||||||
|
balloon_split({msg}) *balloon_split()*
|
||||||
|
Split {msg} into lines to be displayed in a balloon. The
|
||||||
|
splits are made for the current window size and optimize to
|
||||||
|
show debugger output.
|
||||||
|
Returns a |List| with the split lines.
|
||||||
|
{only available when compiled with the +balloon_eval_term
|
||||||
|
feature}
|
||||||
|
|
||||||
*browse()*
|
*browse()*
|
||||||
browse({save}, {title}, {initdir}, {default})
|
browse({save}, {title}, {initdir}, {default})
|
||||||
@@ -2945,6 +2964,9 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
|
|||||||
correct contents. Also does not add a newline for a channel
|
correct contents. Also does not add a newline for a channel
|
||||||
in NL mode, the caller must do that. The NL in the response
|
in NL mode, the caller must do that. The NL in the response
|
||||||
is removed.
|
is removed.
|
||||||
|
Note that Vim does not know when the text received on a raw
|
||||||
|
channel is complete, it may only return the first part and you
|
||||||
|
need to use ch_readraw() to fetch the rest.
|
||||||
See |channel-use|.
|
See |channel-use|.
|
||||||
|
|
||||||
{only available when compiled with the |+channel| feature}
|
{only available when compiled with the |+channel| feature}
|
||||||
@@ -3096,7 +3118,7 @@ changenr() *changenr()*
|
|||||||
redo it is the number of the redone change. After undo it is
|
redo it is the number of the redone change. After undo it is
|
||||||
one less than the number of the undone change.
|
one less than the number of the undone change.
|
||||||
|
|
||||||
char2nr({expr}[, {utf8}]) *char2nr()*
|
char2nr({expr} [, {utf8}]) *char2nr()*
|
||||||
Return number value of the first char in {expr}. Examples: >
|
Return number value of the first char in {expr}. Examples: >
|
||||||
char2nr(" ") returns 32
|
char2nr(" ") returns 32
|
||||||
char2nr("ABC") returns 65
|
char2nr("ABC") returns 65
|
||||||
@@ -3375,7 +3397,7 @@ cursor({list})
|
|||||||
Returns 0 when the position could be set, -1 otherwise.
|
Returns 0 when the position could be set, -1 otherwise.
|
||||||
|
|
||||||
|
|
||||||
deepcopy({expr}[, {noref}]) *deepcopy()* *E698*
|
deepcopy({expr} [, {noref}]) *deepcopy()* *E698*
|
||||||
Make a copy of {expr}. For Numbers and Strings this isn't
|
Make a copy of {expr}. For Numbers and Strings this isn't
|
||||||
different from using {expr} directly.
|
different from using {expr} directly.
|
||||||
When {expr} is a |List| a full copy is created. This means
|
When {expr} is a |List| a full copy is created. This means
|
||||||
@@ -3453,6 +3475,7 @@ empty({expr}) *empty()*
|
|||||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||||
- A |List| or |Dictionary| is empty when it does not have any
|
- A |List| or |Dictionary| is empty when it does not have any
|
||||||
items.
|
items.
|
||||||
|
- A String is empty when its length is zero.
|
||||||
- A Number and Float is empty when its value is zero.
|
- A Number and Float is empty when its value is zero.
|
||||||
- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
|
- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
|
||||||
- A Job is empty when it failed to start.
|
- A Job is empty when it failed to start.
|
||||||
@@ -3857,7 +3880,7 @@ filter({expr1}, {expr2}) *filter()*
|
|||||||
defined with the "abort" flag.
|
defined with the "abort" flag.
|
||||||
|
|
||||||
|
|
||||||
finddir({name}[, {path}[, {count}]]) *finddir()*
|
finddir({name} [, {path} [, {count}]]) *finddir()*
|
||||||
Find directory {name} in {path}. Supports both downwards and
|
Find directory {name} in {path}. Supports both downwards and
|
||||||
upwards recursive directory searches. See |file-searching|
|
upwards recursive directory searches. See |file-searching|
|
||||||
for the syntax of {path}.
|
for the syntax of {path}.
|
||||||
@@ -3872,7 +3895,7 @@ finddir({name}[, {path}[, {count}]]) *finddir()*
|
|||||||
{only available when compiled with the |+file_in_path|
|
{only available when compiled with the |+file_in_path|
|
||||||
feature}
|
feature}
|
||||||
|
|
||||||
findfile({name}[, {path}[, {count}]]) *findfile()*
|
findfile({name} [, {path} [, {count}]]) *findfile()*
|
||||||
Just like |finddir()|, but find a file instead of a directory.
|
Just like |finddir()|, but find a file instead of a directory.
|
||||||
Uses 'suffixesadd'.
|
Uses 'suffixesadd'.
|
||||||
Example: >
|
Example: >
|
||||||
@@ -4543,7 +4566,7 @@ getline({lnum} [, {end}])
|
|||||||
|
|
||||||
< To get lines from another buffer see |getbufline()|
|
< To get lines from another buffer see |getbufline()|
|
||||||
|
|
||||||
getloclist({nr}[, {what}]) *getloclist()*
|
getloclist({nr} [, {what}]) *getloclist()*
|
||||||
Returns a list with all the entries in the location list for
|
Returns a list with all the entries in the location list for
|
||||||
window {nr}. {nr} can be the window number or the |window-ID|.
|
window {nr}. {nr} can be the window number or the |window-ID|.
|
||||||
When {nr} is zero the current window is used.
|
When {nr} is zero the current window is used.
|
||||||
@@ -4787,7 +4810,9 @@ getwininfo([{winid}]) *getwininfo()*
|
|||||||
|
|
||||||
Each List item is a Dictionary with the following entries:
|
Each List item is a Dictionary with the following entries:
|
||||||
bufnr number of buffer in the window
|
bufnr number of buffer in the window
|
||||||
height window height
|
height window height (excluding winbar)
|
||||||
|
winbar 1 if the window has a toolbar, 0
|
||||||
|
otherwise
|
||||||
loclist 1 if showing a location list
|
loclist 1 if showing a location list
|
||||||
{only with the +quickfix feature}
|
{only with the +quickfix feature}
|
||||||
quickfix 1 if quickfix or location list window
|
quickfix 1 if quickfix or location list window
|
||||||
@@ -5598,7 +5623,7 @@ log10({expr}) *log10()*
|
|||||||
< -2.0
|
< -2.0
|
||||||
{only available when compiled with the |+float| feature}
|
{only available when compiled with the |+float| feature}
|
||||||
|
|
||||||
luaeval({expr}[, {expr}]) *luaeval()*
|
luaeval({expr} [, {expr}]) *luaeval()*
|
||||||
Evaluate Lua expression {expr} and return its result converted
|
Evaluate Lua expression {expr} and return its result converted
|
||||||
to Vim data structures. Second {expr} may hold additional
|
to Vim data structures. Second {expr} may hold additional
|
||||||
argument accessible as _A inside first {expr}.
|
argument accessible as _A inside first {expr}.
|
||||||
@@ -5655,7 +5680,7 @@ map({expr1}, {expr2}) *map()*
|
|||||||
defined with the "abort" flag.
|
defined with the "abort" flag.
|
||||||
|
|
||||||
|
|
||||||
maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||||
When {dict} is omitted or zero: Return the rhs of mapping
|
When {dict} is omitted or zero: Return the rhs of mapping
|
||||||
{name} in mode {mode}. The returned String has special
|
{name} in mode {mode}. The returned String has special
|
||||||
characters translated like in the output of the ":map" command
|
characters translated like in the output of the ":map" command
|
||||||
@@ -5676,6 +5701,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
|||||||
"s" Select
|
"s" Select
|
||||||
"x" Visual
|
"x" Visual
|
||||||
"l" langmap |language-mapping|
|
"l" langmap |language-mapping|
|
||||||
|
"t" Terminal-Job
|
||||||
"" Normal, Visual and Operator-pending
|
"" Normal, Visual and Operator-pending
|
||||||
When {mode} is omitted, the modes for "" are used.
|
When {mode} is omitted, the modes for "" are used.
|
||||||
|
|
||||||
@@ -5709,7 +5735,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
|||||||
exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n')
|
exe 'nnoremap <Tab> ==' . maparg('<Tab>', 'n')
|
||||||
|
|
||||||
|
|
||||||
mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()*
|
mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
|
||||||
Check if there is a mapping that matches with {name} in mode
|
Check if there is a mapping that matches with {name} in mode
|
||||||
{mode}. See |maparg()| for {mode} and special names in
|
{mode}. See |maparg()| for {mode} and special names in
|
||||||
{name}.
|
{name}.
|
||||||
@@ -5741,7 +5767,7 @@ mapcheck({name}[, {mode} [, {abbr}]]) *mapcheck()*
|
|||||||
< This avoids adding the "_vv" mapping when there already is a
|
< This avoids adding the "_vv" mapping when there already is a
|
||||||
mapping for "_v" or for "_vvv".
|
mapping for "_v" or for "_vvv".
|
||||||
|
|
||||||
match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
||||||
When {expr} is a |List| then this returns the index of the
|
When {expr} is a |List| then this returns the index of the
|
||||||
first item where {pat} matches. Each item is used as a
|
first item where {pat} matches. Each item is used as a
|
||||||
String, |Lists| and |Dictionaries| are used as echoed.
|
String, |Lists| and |Dictionaries| are used as echoed.
|
||||||
@@ -5797,7 +5823,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
|
|||||||
done like 'magic' is set and 'cpoptions' is empty.
|
done like 'magic' is set and 'cpoptions' is empty.
|
||||||
|
|
||||||
*matchadd()* *E798* *E799* *E801*
|
*matchadd()* *E798* *E799* *E801*
|
||||||
matchadd({group}, {pattern}[, {priority}[, {id}[, {dict}]]])
|
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||||
Defines a pattern to be highlighted in the current window (a
|
Defines a pattern to be highlighted in the current window (a
|
||||||
"match"). It will be highlighted with {group}. Returns an
|
"match"). It will be highlighted with {group}. Returns an
|
||||||
identification number (ID), which can be used to delete the
|
identification number (ID), which can be used to delete the
|
||||||
@@ -5850,7 +5876,7 @@ matchadd({group}, {pattern}[, {priority}[, {id}[, {dict}]]])
|
|||||||
one operation by |clearmatches()|.
|
one operation by |clearmatches()|.
|
||||||
|
|
||||||
*matchaddpos()*
|
*matchaddpos()*
|
||||||
matchaddpos({group}, {pos}[, {priority}[, {id}[, {dict}]]])
|
matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
|
||||||
Same as |matchadd()|, but requires a list of positions {pos}
|
Same as |matchadd()|, but requires a list of positions {pos}
|
||||||
instead of a pattern. This command is faster than |matchadd()|
|
instead of a pattern. This command is faster than |matchadd()|
|
||||||
because it does not require to handle regular expressions and
|
because it does not require to handle regular expressions and
|
||||||
@@ -5903,7 +5929,7 @@ matchdelete({id}) *matchdelete()* *E802* *E803*
|
|||||||
otherwise -1. See example for |matchadd()|. All matches can
|
otherwise -1. See example for |matchadd()|. All matches can
|
||||||
be deleted in one operation by |clearmatches()|.
|
be deleted in one operation by |clearmatches()|.
|
||||||
|
|
||||||
matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
|
matchend({expr}, {pat} [, {start} [, {count}]]) *matchend()*
|
||||||
Same as |match()|, but return the index of first character
|
Same as |match()|, but return the index of first character
|
||||||
after the match. Example: >
|
after the match. Example: >
|
||||||
:echo matchend("testing", "ing")
|
:echo matchend("testing", "ing")
|
||||||
@@ -5922,7 +5948,7 @@ matchend({expr}, {pat}[, {start}[, {count}]]) *matchend()*
|
|||||||
< result is "-1".
|
< result is "-1".
|
||||||
When {expr} is a |List| the result is equal to |match()|.
|
When {expr} is a |List| the result is equal to |match()|.
|
||||||
|
|
||||||
matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
|
matchlist({expr}, {pat} [, {start} [, {count}]]) *matchlist()*
|
||||||
Same as |match()|, but return a |List|. The first item in the
|
Same as |match()|, but return a |List|. The first item in the
|
||||||
list is the matched string, same as what matchstr() would
|
list is the matched string, same as what matchstr() would
|
||||||
return. Following items are submatches, like "\1", "\2", etc.
|
return. Following items are submatches, like "\1", "\2", etc.
|
||||||
@@ -5932,7 +5958,7 @@ matchlist({expr}, {pat}[, {start}[, {count}]]) *matchlist()*
|
|||||||
< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
|
< Results in: ['acd', 'a', '', 'c', 'd', '', '', '', '', '']
|
||||||
When there is no match an empty list is returned.
|
When there is no match an empty list is returned.
|
||||||
|
|
||||||
matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
|
matchstr({expr}, {pat} [, {start} [, {count}]]) *matchstr()*
|
||||||
Same as |match()|, but return the matched string. Example: >
|
Same as |match()|, but return the matched string. Example: >
|
||||||
:echo matchstr("testing", "ing")
|
:echo matchstr("testing", "ing")
|
||||||
< results in "ing".
|
< results in "ing".
|
||||||
@@ -5945,7 +5971,7 @@ matchstr({expr}, {pat}[, {start}[, {count}]]) *matchstr()*
|
|||||||
When {expr} is a |List| then the matching item is returned.
|
When {expr} is a |List| then the matching item is returned.
|
||||||
The type isn't changed, it's not necessarily a String.
|
The type isn't changed, it's not necessarily a String.
|
||||||
|
|
||||||
matchstrpos({expr}, {pat}[, {start}[, {count}]]) *matchstrpos()*
|
matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
||||||
Same as |matchstr()|, but return the matched string, the start
|
Same as |matchstr()|, but return the matched string, the start
|
||||||
position and the end position of the match. Example: >
|
position and the end position of the match. Example: >
|
||||||
:echo matchstrpos("testing", "ing")
|
:echo matchstrpos("testing", "ing")
|
||||||
@@ -6055,7 +6081,7 @@ nextnonblank({lnum}) *nextnonblank()*
|
|||||||
below it, zero is returned.
|
below it, zero is returned.
|
||||||
See also |prevnonblank()|.
|
See also |prevnonblank()|.
|
||||||
|
|
||||||
nr2char({expr}[, {utf8}]) *nr2char()*
|
nr2char({expr} [, {utf8}]) *nr2char()*
|
||||||
Return a string with a single character, which has the number
|
Return a string with a single character, which has the number
|
||||||
value {expr}. Examples: >
|
value {expr}. Examples: >
|
||||||
nr2char(64) returns "@"
|
nr2char(64) returns "@"
|
||||||
@@ -6455,6 +6481,12 @@ remote_expr({server}, {string} [, {idvar} [, {timeout}]])
|
|||||||
{only available when compiled with the |+clientserver| feature}
|
{only available when compiled with the |+clientserver| feature}
|
||||||
Note: Any errors will cause a local error message to be issued
|
Note: Any errors will cause a local error message to be issued
|
||||||
and the result will be the empty string.
|
and the result will be the empty string.
|
||||||
|
|
||||||
|
Variables will be evaluated in the global namespace,
|
||||||
|
independent of a function currently being active. Except
|
||||||
|
when in debug mode, then local function variables and
|
||||||
|
arguments can be evaluated.
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo remote_expr("gvim", "2+2")
|
:echo remote_expr("gvim", "2+2")
|
||||||
:echo remote_expr("gvim1", "b:current_syntax")
|
:echo remote_expr("gvim1", "b:current_syntax")
|
||||||
@@ -6597,12 +6629,12 @@ round({expr}) *round()*
|
|||||||
< -5.0
|
< -5.0
|
||||||
{only available when compiled with the |+float| feature}
|
{only available when compiled with the |+float| feature}
|
||||||
|
|
||||||
screenattr(row, col) *screenattr()*
|
screenattr({row}, {col}) *screenattr()*
|
||||||
Like |screenchar()|, but return the attribute. This is a rather
|
Like |screenchar()|, but return the attribute. This is a rather
|
||||||
arbitrary number that can only be used to compare to the
|
arbitrary number that can only be used to compare to the
|
||||||
attribute at other positions.
|
attribute at other positions.
|
||||||
|
|
||||||
screenchar(row, col) *screenchar()*
|
screenchar({row}, {col}) *screenchar()*
|
||||||
The result is a Number, which is the character at position
|
The result is a Number, which is the character at position
|
||||||
[row, col] on the screen. This works for every possible
|
[row, col] on the screen. This works for every possible
|
||||||
screen position, also status lines, window separators and the
|
screen position, also status lines, window separators and the
|
||||||
@@ -6776,6 +6808,7 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
|
|||||||
When {skip} is omitted or empty, every match is accepted.
|
When {skip} is omitted or empty, every match is accepted.
|
||||||
When evaluating {skip} causes an error the search is aborted
|
When evaluating {skip} causes an error the search is aborted
|
||||||
and -1 returned.
|
and -1 returned.
|
||||||
|
{skip} can be a string, a lambda, a funcref or a partial.
|
||||||
|
|
||||||
For {stopline} and {timeout} see |search()|.
|
For {stopline} and {timeout} see |search()|.
|
||||||
|
|
||||||
@@ -6974,7 +7007,7 @@ setline({lnum}, {text}) *setline()*
|
|||||||
|
|
||||||
< Note: The '[ and '] marks are not set.
|
< Note: The '[ and '] marks are not set.
|
||||||
|
|
||||||
setloclist({nr}, {list}[, {action}[, {what}]]) *setloclist()*
|
setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
||||||
Create or replace or add to the location list for window {nr}.
|
Create or replace or add to the location list for window {nr}.
|
||||||
{nr} can be the window number or the |window-ID|.
|
{nr} can be the window number or the |window-ID|.
|
||||||
When {nr} is zero the current window is used.
|
When {nr} is zero the current window is used.
|
||||||
@@ -7042,7 +7075,7 @@ setpos({expr}, {list})
|
|||||||
also set the preferred column. Also see the "curswant" key in
|
also set the preferred column. Also see the "curswant" key in
|
||||||
|winrestview()|.
|
|winrestview()|.
|
||||||
|
|
||||||
setqflist({list} [, {action}[, {what}]]) *setqflist()*
|
setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||||
Create or replace or add to the quickfix list.
|
Create or replace or add to the quickfix list.
|
||||||
|
|
||||||
When {what} is not present, use the items in {list}. Each
|
When {what} is not present, use the items in {list}. Each
|
||||||
@@ -7496,7 +7529,7 @@ strchars({expr} [, {skipcc}]) *strchars()*
|
|||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
<
|
<
|
||||||
strcharpart({src}, {start}[, {len}]) *strcharpart()*
|
strcharpart({src}, {start} [, {len}]) *strcharpart()*
|
||||||
Like |strpart()| but using character index and length instead
|
Like |strpart()| but using character index and length instead
|
||||||
of byte index and length.
|
of byte index and length.
|
||||||
When a character index is used where a character does not
|
When a character index is used where a character does not
|
||||||
@@ -7504,7 +7537,7 @@ strcharpart({src}, {start}[, {len}]) *strcharpart()*
|
|||||||
strcharpart('abc', -1, 2)
|
strcharpart('abc', -1, 2)
|
||||||
< results in 'a'.
|
< results in 'a'.
|
||||||
|
|
||||||
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
|
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
|
||||||
The result is a Number, which is the number of display cells
|
The result is a Number, which is the number of display cells
|
||||||
String {expr} occupies on the screen when it starts at {col}.
|
String {expr} occupies on the screen when it starts at {col}.
|
||||||
When {col} is omitted zero is used. Otherwise it is the
|
When {col} is omitted zero is used. Otherwise it is the
|
||||||
@@ -7588,7 +7621,7 @@ strlen({expr}) The result is a Number, which is the length of the String
|
|||||||
|strchars()|.
|
|strchars()|.
|
||||||
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
||||||
|
|
||||||
strpart({src}, {start}[, {len}]) *strpart()*
|
strpart({src}, {start} [, {len}]) *strpart()*
|
||||||
The result is a String, which is part of {src}, starting from
|
The result is a String, which is part of {src}, starting from
|
||||||
byte {start}, with the byte length {len}.
|
byte {start}, with the byte length {len}.
|
||||||
To count characters instead of bytes use |strcharpart()|.
|
To count characters instead of bytes use |strcharpart()|.
|
||||||
@@ -7640,7 +7673,7 @@ strwidth({expr}) *strwidth()*
|
|||||||
Ambiguous, this function's return value depends on 'ambiwidth'.
|
Ambiguous, this function's return value depends on 'ambiwidth'.
|
||||||
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
|
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
|
||||||
|
|
||||||
submatch({nr}[, {list}]) *submatch()* *E935*
|
submatch({nr} [, {list}]) *submatch()* *E935*
|
||||||
Only for an expression in a |:substitute| command or
|
Only for an expression in a |:substitute| command or
|
||||||
substitute() function.
|
substitute() function.
|
||||||
Returns the {nr}'th submatch of the matched text. When {nr}
|
Returns the {nr}'th submatch of the matched text. When {nr}
|
||||||
@@ -7926,7 +7959,7 @@ tagfiles() Returns a |List| with the file names used to search for tags
|
|||||||
for the current buffer. This is the 'tags' option expanded.
|
for the current buffer. This is the 'tags' option expanded.
|
||||||
|
|
||||||
|
|
||||||
taglist({expr}[, {filename}]) *taglist()*
|
taglist({expr} [, {filename}]) *taglist()*
|
||||||
Returns a list of tags matching the regular expression {expr}.
|
Returns a list of tags matching the regular expression {expr}.
|
||||||
|
|
||||||
If {filename} is passed it is used to prioritize the results
|
If {filename} is passed it is used to prioritize the results
|
||||||
@@ -8021,9 +8054,9 @@ term_getattr({attr}, {what}) *term_getattr()*
|
|||||||
|
|
||||||
term_getcursor({buf}) *term_getcursor()*
|
term_getcursor({buf}) *term_getcursor()*
|
||||||
Get the cursor position of terminal {buf}. Returns a list with
|
Get the cursor position of terminal {buf}. Returns a list with
|
||||||
two numbers and a dictionary: [rows, cols, dict].
|
two numbers and a dictionary: [row, col, dict].
|
||||||
|
|
||||||
"rows" and "cols" are one based, the first screen cell is row
|
"row" and "col" are one based, the first screen cell is row
|
||||||
1, column 1. This is the cursor position of the terminal
|
1, column 1. This is the cursor position of the terminal
|
||||||
itself, not of the Vim window.
|
itself, not of the Vim window.
|
||||||
|
|
||||||
@@ -8138,9 +8171,18 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
|
|||||||
means the character CTRL-X.
|
means the character CTRL-X.
|
||||||
{only available when compiled with the |+terminal| feature}
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
|
term_setsize({buf}, {expr}) *term_setsize()*
|
||||||
|
Not implemented yet.
|
||||||
|
{only available when compiled with the |+terminal| feature}
|
||||||
|
|
||||||
term_start({cmd}, {options}) *term_start()*
|
term_start({cmd}, {options}) *term_start()*
|
||||||
Open a terminal window and run {cmd} in it.
|
Open a terminal window and run {cmd} in it.
|
||||||
|
|
||||||
|
{cmd} can be a string or a List, like with |job_start()|. The
|
||||||
|
string "NONE" can be used to open a terminal window without
|
||||||
|
starting a job, the pty of the terminal can be used by a
|
||||||
|
command like gdb.
|
||||||
|
|
||||||
Returns the buffer number of the terminal window. If {cmd}
|
Returns the buffer number of the terminal window. If {cmd}
|
||||||
cannot be executed the window does open and shows an error
|
cannot be executed the window does open and shows an error
|
||||||
message.
|
message.
|
||||||
@@ -8609,6 +8651,7 @@ winheight({nr}) *winheight()*
|
|||||||
When {nr} is zero, the height of the current window is
|
When {nr} is zero, the height of the current window is
|
||||||
returned. When window {nr} doesn't exist, -1 is returned.
|
returned. When window {nr} doesn't exist, -1 is returned.
|
||||||
An existing window always has a height of zero or more.
|
An existing window always has a height of zero or more.
|
||||||
|
This excludes any window toolbar line.
|
||||||
Examples: >
|
Examples: >
|
||||||
:echo "The current window has " . winheight(0) . " lines."
|
:echo "The current window has " . winheight(0) . " lines."
|
||||||
<
|
<
|
||||||
@@ -8692,7 +8735,7 @@ winwidth({nr}) *winwidth()*
|
|||||||
Examples: >
|
Examples: >
|
||||||
:echo "The current window has " . winwidth(0) . " columns."
|
:echo "The current window has " . winwidth(0) . " columns."
|
||||||
:if winwidth(0) <= 50
|
:if winwidth(0) <= 50
|
||||||
: exe "normal 50\<C-W>|"
|
: 50 wincmd |
|
||||||
:endif
|
:endif
|
||||||
< For getting the terminal or screen size, see the 'columns'
|
< For getting the terminal or screen size, see the 'columns'
|
||||||
option.
|
option.
|
||||||
@@ -8733,8 +8776,17 @@ writefile({list}, {fname} [, {flags}])
|
|||||||
appended to the file: >
|
appended to the file: >
|
||||||
:call writefile(["foo"], "event.log", "a")
|
:call writefile(["foo"], "event.log", "a")
|
||||||
:call writefile(["bar"], "event.log", "a")
|
:call writefile(["bar"], "event.log", "a")
|
||||||
>
|
<
|
||||||
< All NL characters are replaced with a NUL character.
|
When {flags} contains "s" then fsync() is called after writing
|
||||||
|
the file. This flushes the file to disk, if possible. This
|
||||||
|
takes more time but avoids losing the file if the system
|
||||||
|
crashes.
|
||||||
|
When {flags} does not contain "S" or "s" then fsync is called
|
||||||
|
if the 'fsync' option is set.
|
||||||
|
When {flags} contains "S" then fsync() is not called, even
|
||||||
|
when 'fsync' is set.
|
||||||
|
|
||||||
|
All NL characters are replaced with a NUL character.
|
||||||
Inserting CR characters needs to be done before passing {list}
|
Inserting CR characters needs to be done before passing {list}
|
||||||
to writefile().
|
to writefile().
|
||||||
An existing file is overwritten, if possible.
|
An existing file is overwritten, if possible.
|
||||||
@@ -8791,6 +8843,7 @@ amiga Amiga version of Vim.
|
|||||||
arabic Compiled with Arabic support |Arabic|.
|
arabic Compiled with Arabic support |Arabic|.
|
||||||
arp Compiled with ARP support (Amiga).
|
arp Compiled with ARP support (Amiga).
|
||||||
autocmd Compiled with autocommand support. |autocommand|
|
autocmd Compiled with autocommand support. |autocommand|
|
||||||
|
autoservername Automatically enable |clientserver|
|
||||||
balloon_eval Compiled with |balloon-eval| support.
|
balloon_eval Compiled with |balloon-eval| support.
|
||||||
balloon_multiline GUI supports multiline balloons.
|
balloon_multiline GUI supports multiline balloons.
|
||||||
beos BeOS version of Vim.
|
beos BeOS version of Vim.
|
||||||
@@ -8864,9 +8917,8 @@ listcmds Compiled with commands for the buffer list |:files|
|
|||||||
and the argument list |arglist|.
|
and the argument list |arglist|.
|
||||||
localmap Compiled with local mappings and abbr. |:map-local|
|
localmap Compiled with local mappings and abbr. |:map-local|
|
||||||
lua Compiled with Lua interface |Lua|.
|
lua Compiled with Lua interface |Lua|.
|
||||||
mac Any Macintosh version of Vim, but not all OS X.
|
mac Any Macintosh version of Vim cf. osx
|
||||||
macunix Compiled for OS X, with |mac-darwin-feature|
|
macunix Synonym for osxdarwin
|
||||||
osx Compiled for OS X, with or w/o |mac-darwin-feature|
|
|
||||||
menu Compiled with support for |:menu|.
|
menu Compiled with support for |:menu|.
|
||||||
mksession Compiled with support for |:mksession|.
|
mksession Compiled with support for |:mksession|.
|
||||||
modify_fname Compiled with file name modifiers. |filename-modifiers|
|
modify_fname Compiled with file name modifiers. |filename-modifiers|
|
||||||
@@ -8889,6 +8941,8 @@ netbeans_enabled Compiled with support for |netbeans| and connected.
|
|||||||
netbeans_intg Compiled with support for |netbeans|.
|
netbeans_intg Compiled with support for |netbeans|.
|
||||||
num64 Compiled with 64-bit |Number| support.
|
num64 Compiled with 64-bit |Number| support.
|
||||||
ole Compiled with OLE automation support for Win32.
|
ole Compiled with OLE automation support for Win32.
|
||||||
|
osx Compiled for macOS cf. mac
|
||||||
|
osxdarwin Compiled for macOS, with |mac-darwin-feature|
|
||||||
packages Compiled with |packages| support.
|
packages Compiled with |packages| support.
|
||||||
path_extra Compiled with up/downwards search in 'path' and 'tags'
|
path_extra Compiled with up/downwards search in 'path' and 'tags'
|
||||||
perl Compiled with Perl interface.
|
perl Compiled with Perl interface.
|
||||||
@@ -8936,7 +8990,7 @@ title Compiled with window title support |'title'|.
|
|||||||
toolbar Compiled with support for |gui-toolbar|.
|
toolbar Compiled with support for |gui-toolbar|.
|
||||||
ttyin input is a terminal (tty)
|
ttyin input is a terminal (tty)
|
||||||
ttyout output is a terminal (tty)
|
ttyout output is a terminal (tty)
|
||||||
unix Unix version of Vim.
|
unix Unix version of Vim. *+unix*
|
||||||
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
|
unnamedplus Compiled with support for "unnamedplus" in 'clipboard'
|
||||||
user_commands User-defined commands.
|
user_commands User-defined commands.
|
||||||
vertsplit Compiled with vertically split windows |:vsplit|.
|
vertsplit Compiled with vertically split windows |:vsplit|.
|
||||||
@@ -9040,13 +9094,16 @@ See |:verbose-cmd| for more information.
|
|||||||
|
|
||||||
*E124* *E125* *E853* *E884*
|
*E124* *E125* *E853* *E884*
|
||||||
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
:fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
|
||||||
Define a new function by the name {name}. The name
|
Define a new function by the name {name}. The body of
|
||||||
must be made of alphanumeric characters and '_', and
|
the function follows in the next lines, until the
|
||||||
must start with a capital or "s:" (see above). Note
|
matching |:endfunction|.
|
||||||
that using "b:" or "g:" is not allowed. (since patch
|
|
||||||
7.4.260 E884 is given if the function name has a colon
|
The name must be made of alphanumeric characters and
|
||||||
in the name, e.g. for "foo:bar()". Before that patch
|
'_', and must start with a capital or "s:" (see
|
||||||
no error was given).
|
above). Note that using "b:" or "g:" is not allowed.
|
||||||
|
(since patch 7.4.260 E884 is given if the function
|
||||||
|
name has a colon in the name, e.g. for "foo:bar()".
|
||||||
|
Before that patch no error was given).
|
||||||
|
|
||||||
{name} can also be a |Dictionary| entry that is a
|
{name} can also be a |Dictionary| entry that is a
|
||||||
|Funcref|: >
|
|Funcref|: >
|
||||||
@@ -9182,9 +9239,10 @@ to the number of named arguments. When using "...", the number of arguments
|
|||||||
may be larger.
|
may be larger.
|
||||||
|
|
||||||
It is also possible to define a function without any arguments. You must
|
It is also possible to define a function without any arguments. You must
|
||||||
still supply the () then. The body of the function follows in the next lines,
|
still supply the () then.
|
||||||
until the matching |:endfunction|. It is allowed to define another function
|
|
||||||
inside a function body.
|
It is allowed to define another function inside a function
|
||||||
|
body.
|
||||||
|
|
||||||
*local-variables*
|
*local-variables*
|
||||||
Inside a function local variables can be used. These will disappear when the
|
Inside a function local variables can be used. These will disappear when the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*filetype.txt* For Vim version 8.0. Last change: 2017 Mar 28
|
*filetype.txt* For Vim version 8.0. Last change: 2017 Oct 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -43,7 +43,7 @@ Detail: The ":filetype on" command will load one of these files:
|
|||||||
BufNewFile and BufRead events. If the file type is not found by the
|
BufNewFile and BufRead events. If the file type is not found by the
|
||||||
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
||||||
contents of the file.
|
contents of the file.
|
||||||
When the GUI is running or will start soon, the menu.vim script is
|
When the GUI is running or will start soon, the |menu.vim| script is
|
||||||
also sourced. See |'go-M'| about avoiding that.
|
also sourced. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
To add your own file types, see |new-filetype| below. To search for help on a
|
To add your own file types, see |new-filetype| below. To search for help on a
|
||||||
@@ -602,11 +602,12 @@ MANPAGER *manpager.vim*
|
|||||||
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
The :Man command allows you to turn Vim into a manpager (that syntax highlights
|
||||||
manpages and follows linked manpages on hitting CTRL-]).
|
manpages and follows linked manpages on hitting CTRL-]).
|
||||||
|
|
||||||
Works on:
|
Tested on:
|
||||||
|
|
||||||
- Linux
|
- Linux
|
||||||
- Mac OS
|
- Mac OS
|
||||||
- FreeBSD
|
- FreeBSD
|
||||||
|
- OpenBSD
|
||||||
- Cygwin
|
- Cygwin
|
||||||
- Win 10 under Bash
|
- Win 10 under Bash
|
||||||
|
|
||||||
@@ -616,21 +617,36 @@ Untested:
|
|||||||
- BeOS
|
- BeOS
|
||||||
- OS/2
|
- OS/2
|
||||||
|
|
||||||
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
|
If man sets the $MAN_PN environment variable, like man-db, the most common
|
||||||
|
implementation on Linux, then the "env MAN_PN=1 " part below should NOT be
|
||||||
|
set, that is, the "env MAN_PN=1" should be omitted! Otherwise, the Vim
|
||||||
|
manpager does not correctly recognize manpages whose title contains a capital
|
||||||
|
letter. See the discussion on
|
||||||
|
|
||||||
|
https://groups.google.com/forum/#!topic/vim_dev/pWZmt_7GkxI
|
||||||
|
|
||||||
|
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
|
||||||
|
|
||||||
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For (t)csh by adding to the config file
|
For (t)csh, add to the config file
|
||||||
|
|
||||||
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
For fish by adding to the config file
|
For fish, add to the config file
|
||||||
|
|
||||||
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
|
||||||
|
|
||||||
If man sets the $MAN_PN environment variable, like man-db, the most common
|
On OpenBSD:
|
||||||
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
|
|
||||||
superfluous.
|
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
|
||||||
|
|
||||||
|
If you experience still issues on manpages whose titles do not contain capital
|
||||||
|
letters, then try adding MANPATH=${MANPATH} after MAN_PN=1. If your manpages do
|
||||||
|
not show up localized, then try adding, LANGUAGE=${LANG} after MAN_PN=1. See
|
||||||
|
|
||||||
|
https://github.com/vim/vim/issues/1002
|
||||||
|
|
||||||
|
|
||||||
PDF *ft-pdf-plugin*
|
PDF *ft-pdf-plugin*
|
||||||
|
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ COMMANDS *rust-commands*
|
|||||||
|g:rust_playpen_url| is the base URL to the playpen, by default
|
|g:rust_playpen_url| is the base URL to the playpen, by default
|
||||||
"https://play.rust-lang.org/".
|
"https://play.rust-lang.org/".
|
||||||
|
|
||||||
|g:rust_shortener_url| is the base URL for the shorterner, by
|
|g:rust_shortener_url| is the base URL for the shortener, by
|
||||||
default "https://is.gd/"
|
default "https://is.gd/"
|
||||||
|
|
||||||
:RustFmt *:RustFmt*
|
:RustFmt *:RustFmt*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
*gui.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -162,7 +162,7 @@ window Vim is running in with these commands: >
|
|||||||
*gui-IME* *iBus*
|
*gui-IME* *iBus*
|
||||||
Input methods for international characters in X that rely on the XIM
|
Input methods for international characters in X that rely on the XIM
|
||||||
framework, most notably iBus, have been known to produce undesirable results
|
framework, most notably iBus, have been known to produce undesirable results
|
||||||
in gVim. These may include an inability to enter spaces, or long delays
|
in gvim. These may include an inability to enter spaces, or long delays
|
||||||
between typing a character and it being recognized by the application.
|
between typing a character and it being recognized by the application.
|
||||||
|
|
||||||
One workaround that has been successful, for unknown reasons, is to prevent
|
One workaround that has been successful, for unknown reasons, is to prevent
|
||||||
@@ -482,6 +482,7 @@ menus and menu items. They are most useful for things that you can't remember
|
|||||||
what the key sequence was.
|
what the key sequence was.
|
||||||
|
|
||||||
For creating menus in a different language, see |:menutrans|.
|
For creating menus in a different language, see |:menutrans|.
|
||||||
|
If you don't want to use menus at all, see |'go-M'|.
|
||||||
|
|
||||||
*menu.vim*
|
*menu.vim*
|
||||||
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
The default menus are read from the file "$VIMRUNTIME/menu.vim". See
|
||||||
@@ -498,7 +499,22 @@ in the menu (which can take a bit of time to load). If you want to have all
|
|||||||
filetypes already present at startup, add: >
|
filetypes already present at startup, add: >
|
||||||
:let do_syntax_sel_menu = 1
|
:let do_syntax_sel_menu = 1
|
||||||
|
|
||||||
<
|
The following menuitems show all available color schemes, keymaps and compiler
|
||||||
|
settings:
|
||||||
|
Edit > Color Scheme ~
|
||||||
|
Edit > Keymap ~
|
||||||
|
Tools > Set Compiler ~
|
||||||
|
However, they can also take a bit of time to load, because they search all
|
||||||
|
related files from the directories in 'runtimepath'. Therefore they are
|
||||||
|
loaded lazily (by the |CursorHold| event), or you can also load them manually.
|
||||||
|
If you want to have all these items already present at startup, add: >
|
||||||
|
:let do_no_lazyload_menus = 1
|
||||||
|
|
||||||
|
Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
|
||||||
|
executed or after your .vimrc file is sourced. This means that the 'encoding'
|
||||||
|
option and the language of messages (`:language messages`) must be set before
|
||||||
|
that (if you want to change them).
|
||||||
|
|
||||||
*console-menus*
|
*console-menus*
|
||||||
Although this documentation is in the GUI section, you can actually use menus
|
Although this documentation is in the GUI section, you can actually use menus
|
||||||
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
in console mode too. You will have to load |menu.vim| explicitly then, it is
|
||||||
@@ -784,24 +800,33 @@ In the Win32 and GTK+ GUI, starting a menu name with ']' excludes that menu
|
|||||||
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
||||||
to display it.
|
to display it.
|
||||||
|
|
||||||
*window-toolbar*
|
*window-toolbar* *WinBar*
|
||||||
Each window can have a local toolbar. This uses the first line of the window,
|
Each window can have a local toolbar. This uses the first line of the window,
|
||||||
thus reduces the space for the text by one line.
|
thus reduces the space for the text by one line. The items in the toolbar
|
||||||
|
must start with "WinBar".
|
||||||
|
|
||||||
Only text can be used. When using Unicode special characters can be used to
|
Only text can be used. When using Unicode, special characters can be used to
|
||||||
make the items look like icons.
|
make the items look like icons.
|
||||||
|
|
||||||
If the items do not fit then the last ones cannot be used. The toolbar does
|
If the items do not fit then the last ones cannot be used. The toolbar does
|
||||||
not wrap.
|
not wrap.
|
||||||
|
|
||||||
|
Note that Vim may be in any mode when executing these commands. The menu
|
||||||
|
should be defined for Normal mode and will be executed without changing the
|
||||||
|
current mode. Thus if the current window is in Visual mode and the menu
|
||||||
|
command does not intentionally change the mode, Vim will remain in Visual
|
||||||
|
mode. Best is to use `:nnoremenu` to avoid side effects.
|
||||||
|
|
||||||
Example for debugger tools: >
|
Example for debugger tools: >
|
||||||
amenu 1.10 WinBar.Step :Step<CR>
|
nnoremenu 1.10 WinBar.Step :Step<CR>
|
||||||
amenu 1.20 WinBar.Next :Next<CR>
|
nnoremenu 1.20 WinBar.Next :Next<CR>
|
||||||
amenu 1.30 WinBar.Finish :Finish<CR>
|
nnoremenu 1.30 WinBar.Finish :Finish<CR>
|
||||||
amenu 1.40 WinBar.Cont :Continue<CR>
|
nnoremenu 1.40 WinBar.Cont :Continue<CR>
|
||||||
<
|
<
|
||||||
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
||||||
|
|
||||||
|
When splitting the window the window toolbar is not copied to the new window.
|
||||||
|
|
||||||
*popup-menu*
|
*popup-menu*
|
||||||
In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
|
In the Win32, GTK+, Motif, Athena and Photon GUI, you can define the
|
||||||
special menu "PopUp". This is the menu that is displayed when the right mouse
|
special menu "PopUp". This is the menu that is displayed when the right mouse
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*gui_w32.txt* For Vim version 8.0. Last change: 2014 Dec 20
|
*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -382,38 +382,8 @@ Note that a menu that starts with ']' will not be displayed.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
7. Command line arguments *gui-w32-cmdargs*
|
7. Command line arguments *gui-w32-cmdargs*
|
||||||
|
|
||||||
Analysis of a command line into parameters is not standardised in MS Windows.
|
Command line arguments behave the same way as with the console application,
|
||||||
Gvim has to provide logic to analyse a command line. This logic is likely to
|
see |win32-cmdargs|.
|
||||||
be different from the default logic provided by a compilation system used to
|
|
||||||
build vim. The differences relate to unusual double quote (") usage.
|
|
||||||
The arguments "C:\My Music\freude.txt" and "+/Sch\"iller" are handled in the
|
|
||||||
same way. The argument "+/Sch""iller" may be handled different by gvim and
|
|
||||||
vim, depending what it was compiled with.
|
|
||||||
|
|
||||||
The rules are:
|
|
||||||
a) A parameter is a sequence of graphic characters.
|
|
||||||
b) Parameters are separated by white space.
|
|
||||||
c) A parameter can be enclosed in double quotes to include white space.
|
|
||||||
d) A sequence of zero or more backslashes (\) and a double quote (")
|
|
||||||
is special. The effective number of backslashes is halved, rounded
|
|
||||||
down. An even number of backslashes reverses the acceptability of
|
|
||||||
spaces and tabs, an odd number of backslashes produces a literal
|
|
||||||
double quote.
|
|
||||||
|
|
||||||
So:
|
|
||||||
" is a special double quote
|
|
||||||
\" is a literal double quote
|
|
||||||
\\" is a literal backslash and a special double quote
|
|
||||||
\\\" is a literal backslash and a literal double quote
|
|
||||||
\\\\" is 2 literal backslashes and a special double quote
|
|
||||||
\\\\\" is 2 literal backslashes and a literal double quote
|
|
||||||
etc.
|
|
||||||
|
|
||||||
Example: >
|
|
||||||
gvim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
|
||||||
|
|
||||||
opens "C:\My Music\freude" and executes the line mode commands: >
|
|
||||||
set ignorecase; /"foo\ and /bar\"
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
8. Various *gui-w32-various*
|
8. Various *gui-w32-various*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*help.txt* For Vim version 8.0. Last change: 2016 Sep 12
|
*help.txt* For Vim version 8.0. Last change: 2017 Oct 28
|
||||||
|
|
||||||
VIM - main help file
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@@ -142,6 +142,7 @@ Special issues ~
|
|||||||
|print.txt| printing
|
|print.txt| printing
|
||||||
|remote.txt| using Vim as a server or client
|
|remote.txt| using Vim as a server or client
|
||||||
|term.txt| using different terminals and mice
|
|term.txt| using different terminals and mice
|
||||||
|
|terminal.txt| Terminal window support
|
||||||
|digraph.txt| list of available digraphs
|
|digraph.txt| list of available digraphs
|
||||||
|mbyte.txt| multi-byte text support
|
|mbyte.txt| multi-byte text support
|
||||||
|mlang.txt| non-English language support
|
|mlang.txt| non-English language support
|
||||||
@@ -150,6 +151,7 @@ Special issues ~
|
|||||||
|hebrew.txt| Hebrew language support and editing
|
|hebrew.txt| Hebrew language support and editing
|
||||||
|russian.txt| Russian language support and editing
|
|russian.txt| Russian language support and editing
|
||||||
|ft_ada.txt| Ada (the programming language) support
|
|ft_ada.txt| Ada (the programming language) support
|
||||||
|
|ft_rust.txt| Filetype plugin for Rust
|
||||||
|ft_sql.txt| about the SQL filetype plugin
|
|ft_sql.txt| about the SQL filetype plugin
|
||||||
|hangulin.txt| Hangul (Korean) input mode
|
|hangulin.txt| Hangul (Korean) input mode
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
@@ -202,6 +204,7 @@ Standard plugins ~
|
|||||||
|pi_logipat.txt| Logical operators on patterns
|
|pi_logipat.txt| Logical operators on patterns
|
||||||
|pi_netrw.txt| Reading and writing files over a network
|
|pi_netrw.txt| Reading and writing files over a network
|
||||||
|pi_paren.txt| Highlight matching parens
|
|pi_paren.txt| Highlight matching parens
|
||||||
|
|pi_spec.txt| Filetype plugin to work with rpm spec files
|
||||||
|pi_tar.txt| Tar file explorer
|
|pi_tar.txt| Tar file explorer
|
||||||
|pi_vimball.txt| Create a self-installing Vim script
|
|pi_vimball.txt| Create a self-installing Vim script
|
||||||
|pi_zip.txt| Zip archive explorer
|
|pi_zip.txt| Zip archive explorer
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_mzsch.txt* For Vim version 8.0. Last change: 2016 Jan 24
|
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Sergey Khorev
|
VIM REFERENCE MANUAL by Sergey Khorev
|
||||||
@@ -278,12 +278,15 @@ When you don't use the MzScheme interface you don't need them, thus you can
|
|||||||
use Vim without these DLL files.
|
use Vim without these DLL files.
|
||||||
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
||||||
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
||||||
startup if possible.
|
startup if possible. This may make Vim startup slower.
|
||||||
|
|
||||||
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
||||||
In a console window type "path" to see what directories are used.
|
In a console window type "path" to see what directories are used.
|
||||||
|
|
||||||
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
|
||||||
|
name of the library to load. The initial value is specified at build time.
|
||||||
|
|
||||||
|
The version of the DLL must match the MzScheme version Vim was compiled with.
|
||||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||||
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||||
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Mar 09
|
*if_pyth.txt* For Vim version 8.0. Last change: 2017 Nov 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Paul Moore
|
VIM REFERENCE MANUAL by Paul Moore
|
||||||
@@ -715,6 +715,8 @@ To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
|||||||
functions to evaluate Python expressions and pass their values to Vim script.
|
functions to evaluate Python expressions and pass their values to Vim script.
|
||||||
|pyxeval()| is also available.
|
|pyxeval()| is also available.
|
||||||
|
|
||||||
|
The Python value "None" is converted to v:none.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
9. Dynamic loading *python-dynamic*
|
9. Dynamic loading *python-dynamic*
|
||||||
|
|
||||||
|
|||||||
@@ -1583,13 +1583,17 @@ tag command action ~
|
|||||||
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
|:tjump| :tj[ump] like ":tselect", but jump directly when there
|
||||||
is only one match
|
is only one match
|
||||||
|:tlast| :tl[ast] jump to last matching tag
|
|:tlast| :tl[ast] jump to last matching tag
|
||||||
|
|:tmapclear| :tmapc[lear] remove all mappings for Terminal-Job mode
|
||||||
|
|:tmap| :tma[p] like ":map" but for Terminal-Job mode
|
||||||
|:tmenu| :tm[enu] define menu tooltip
|
|:tmenu| :tm[enu] define menu tooltip
|
||||||
|:tnext| :tn[ext] jump to next matching tag
|
|:tnext| :tn[ext] jump to next matching tag
|
||||||
|
|:tnoremap| :tno[remap] like ":noremap" but for Terminal-Job mode
|
||||||
|:topleft| :to[pleft] make split window appear at top or far left
|
|:topleft| :to[pleft] make split window appear at top or far left
|
||||||
|:tprevious| :tp[revious] jump to previous matching tag
|
|:tprevious| :tp[revious] jump to previous matching tag
|
||||||
|:trewind| :tr[ewind] jump to first matching tag
|
|:trewind| :tr[ewind] jump to first matching tag
|
||||||
|:try| :try execute commands, abort on error or exception
|
|:try| :try execute commands, abort on error or exception
|
||||||
|:tselect| :ts[elect] list matching tags and select one
|
|:tselect| :ts[elect] list matching tags and select one
|
||||||
|
|:tunmap| :tunma[p] like ":unmap" but for Terminal-Job mode
|
||||||
|:tunmenu| :tu[nmenu] remove menu tooltip
|
|:tunmenu| :tu[nmenu] remove menu tooltip
|
||||||
|:undo| :u[ndo] undo last change(s)
|
|:undo| :u[ndo] undo last change(s)
|
||||||
|:undojoin| :undoj[oin] join next change with previous undo block
|
|:undojoin| :undoj[oin] join next change with previous undo block
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*intro.txt* For Vim version 8.0. Last change: 2017 Aug 24
|
*intro.txt* For Vim version 8.0. Last change: 2017 Sep 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -264,6 +264,10 @@ Vim would never have become what it is now, without the help of these people!
|
|||||||
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
Juergen Weigert Lattice version, AUX improvements, UNIX and
|
||||||
MS-DOS ports, autoconf
|
MS-DOS ports, autoconf
|
||||||
Stefan 'Sec' Zehl Maintainer of vim.org
|
Stefan 'Sec' Zehl Maintainer of vim.org
|
||||||
|
Yasuhiro Matsumoto many MS-Windows improvements
|
||||||
|
Ken Takata fixes and features
|
||||||
|
Kazunobu Kuriyama GTK 3
|
||||||
|
Christian Brabandt many fixes, features, user support, etc.
|
||||||
|
|
||||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||||
list is too long to mention them all here. Vim would not be the same without
|
list is too long to mention them all here. Vim would not be the same without
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*map.txt* For Vim version 8.0. Last change: 2017 May 30
|
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -29,7 +29,7 @@ manual.
|
|||||||
1. Key mapping *key-mapping* *mapping* *macro*
|
1. Key mapping *key-mapping* *mapping* *macro*
|
||||||
|
|
||||||
Key mapping is used to change the meaning of typed keys. The most common use
|
Key mapping is used to change the meaning of typed keys. The most common use
|
||||||
is to define a sequence commands for a function key. Example: >
|
is to define a sequence of commands for a function key. Example: >
|
||||||
|
|
||||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||||
|
|
||||||
@@ -55,7 +55,7 @@ modes.
|
|||||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||||
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
:lm[ap] {lhs} {rhs} |mapmode-l| *:lm* *:lmap*
|
||||||
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
:cm[ap] {lhs} {rhs} |mapmode-c| *:cm* *:cmap*
|
||||||
:tm[ap] {lhs} {rhs} |mapmode-t| *:tma* *:tmap*
|
:tma[p] {lhs} {rhs} |mapmode-t| *:tma* *:tmap*
|
||||||
Map the key sequence {lhs} to {rhs} for the modes
|
Map the key sequence {lhs} to {rhs} for the modes
|
||||||
where the map command applies. The result, including
|
where the map command applies. The result, including
|
||||||
{rhs}, is then further scanned for mappings. This
|
{rhs}, is then further scanned for mappings. This
|
||||||
@@ -89,7 +89,7 @@ modes.
|
|||||||
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
:iu[nmap] {lhs} |mapmode-i| *:iu* *:iunmap*
|
||||||
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
:lu[nmap] {lhs} |mapmode-l| *:lu* *:lunmap*
|
||||||
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
:cu[nmap] {lhs} |mapmode-c| *:cu* *:cunmap*
|
||||||
:tu[nmap] {lhs} |mapmode-t| *:tunma* *:tunmap*
|
:tunma[p] {lhs} |mapmode-t| *:tunma* *:tunmap*
|
||||||
Remove the mapping of {lhs} for the modes where the
|
Remove the mapping of {lhs} for the modes where the
|
||||||
map command applies. The mapping may remain defined
|
map command applies. The mapping may remain defined
|
||||||
for other modes where it applies.
|
for other modes where it applies.
|
||||||
@@ -125,7 +125,7 @@ modes.
|
|||||||
:im[ap] |mapmode-i|
|
:im[ap] |mapmode-i|
|
||||||
:lm[ap] |mapmode-l|
|
:lm[ap] |mapmode-l|
|
||||||
:cm[ap] |mapmode-c|
|
:cm[ap] |mapmode-c|
|
||||||
:tm[ap] |mapmode-t|
|
:tma[p] |mapmode-t|
|
||||||
List all key mappings for the modes where the map
|
List all key mappings for the modes where the map
|
||||||
command applies. Note that ":map" and ":map!" are
|
command applies. Note that ":map" and ":map!" are
|
||||||
used most often, because they include the other modes.
|
used most often, because they include the other modes.
|
||||||
@@ -140,7 +140,7 @@ modes.
|
|||||||
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
:im[ap] {lhs} |mapmode-i| *:imap_l*
|
||||||
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
:lm[ap] {lhs} |mapmode-l| *:lmap_l*
|
||||||
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
:cm[ap] {lhs} |mapmode-c| *:cmap_l*
|
||||||
:tm[ap] {lhs} |mapmode-t| *:tmap_l*
|
:tma[p] {lhs} |mapmode-t| *:tmap_l*
|
||||||
List the key mappings for the key sequences starting
|
List the key mappings for the key sequences starting
|
||||||
with {lhs} in the modes where the map command applies.
|
with {lhs} in the modes where the map command applies.
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*message.txt* For Vim version 8.0. Last change: 2017 Mar 25
|
*message.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -463,12 +463,6 @@ changed. To avoid the message reset the 'warn' option.
|
|||||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||||
how to reproduce this problem, please report it. |bugs|
|
how to reproduce this problem, please report it. |bugs|
|
||||||
|
|
||||||
*E172* >
|
|
||||||
Only one file name allowed
|
|
||||||
|
|
||||||
The ":edit" command only accepts one file name. When you want to specify
|
|
||||||
several files for editing use ":next" |:next|.
|
|
||||||
|
|
||||||
*E41* *E82* *E83* *E342* >
|
*E41* *E82* *E83* *E342* >
|
||||||
Out of memory!
|
Out of memory!
|
||||||
Out of memory! (allocating {number} bytes)
|
Out of memory! (allocating {number} bytes)
|
||||||
@@ -645,6 +639,9 @@ starts. It can be fixed in one of these ways:
|
|||||||
- Just write the file again the next day. Or set your clock to the next day,
|
- Just write the file again the next day. Or set your clock to the next day,
|
||||||
write the file twice and set the clock back.
|
write the file twice and set the clock back.
|
||||||
|
|
||||||
|
If you get W11 all the time, you may need to disable "Acronis Active
|
||||||
|
Protection" or register Vim as a trusted service/application.
|
||||||
|
|
||||||
*W12* >
|
*W12* >
|
||||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*motion.txt* For Vim version 8.0. Last change: 2017 Mar 12
|
*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
|
|||||||
H To line [count] from top (Home) of window (default:
|
H To line [count] from top (Home) of window (default:
|
||||||
first line on the window) on the first non-blank
|
first line on the window) on the first non-blank
|
||||||
character |linewise|. See also 'startofline' option.
|
character |linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yH" yanks from the first visible line
|
||||||
|
until the cursor line (inclusive).
|
||||||
|
|
||||||
*M*
|
*M*
|
||||||
M To Middle line of window, on the first non-blank
|
M To Middle line of window, on the first non-blank
|
||||||
@@ -1327,7 +1330,10 @@ M To Middle line of window, on the first non-blank
|
|||||||
L To line [count] from bottom of window (default: Last
|
L To line [count] from bottom of window (default: Last
|
||||||
line on the window) on the first non-blank character
|
line on the window) on the first non-blank character
|
||||||
|linewise|. See also 'startofline' option.
|
|linewise|. See also 'startofline' option.
|
||||||
Cursor is adjusted for 'scrolloff' option.
|
Cursor is adjusted for 'scrolloff' option, unless an
|
||||||
|
operator is pending, in which case the text may
|
||||||
|
scroll. E.g. "yL" yanks from the cursor to the last
|
||||||
|
visible line.
|
||||||
|
|
||||||
<LeftMouse> Moves to the position on the screen where the mouse
|
<LeftMouse> Moves to the position on the screen where the mouse
|
||||||
click is |exclusive|. See also |<LeftMouse>|. If the
|
click is |exclusive|. See also |<LeftMouse>|. If the
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 8.0. Last change: 2017 Aug 27
|
*options.txt* For Vim version 8.0. Last change: 2017 Nov 18
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -423,6 +423,16 @@ command, not when assigning a value to an option with ":let".
|
|||||||
*$HOME-windows*
|
*$HOME-windows*
|
||||||
On MS-Windows, if $HOME is not defined as an environment variable, then
|
On MS-Windows, if $HOME is not defined as an environment variable, then
|
||||||
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
|
||||||
|
If $HOMEDRIVE is not set then $USERPROFILE is used.
|
||||||
|
|
||||||
|
This expanded value is not exported to the environment, this matters when
|
||||||
|
running an external command: >
|
||||||
|
:echo system('set | findstr ^HOME=')
|
||||||
|
and >
|
||||||
|
:echo luaeval('os.getenv("HOME")')
|
||||||
|
should echo nothing (an empty string) despite exists('$HOME') being true.
|
||||||
|
When setting $HOME to a non-empty string it will be exported to the
|
||||||
|
subprocesses.
|
||||||
|
|
||||||
|
|
||||||
Note the maximum length of an expanded option is limited. How much depends on
|
Note the maximum length of an expanded option is limited. How much depends on
|
||||||
@@ -722,7 +732,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
|
|
||||||
Vim may set this option automatically at startup time when Vim is
|
Vim may set this option automatically at startup time when Vim is
|
||||||
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
compiled with the |+termresponse| feature and if |t_u7| is set to the
|
||||||
escape sequence to request cursor position report.
|
escape sequence to request cursor position report. The response can
|
||||||
|
be found in |v:termu7resp|.
|
||||||
|
|
||||||
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
|
||||||
'antialias' 'anti' boolean (default: off)
|
'antialias' 'anti' boolean (default: off)
|
||||||
@@ -870,11 +881,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Vim will guess the value. In the GUI this should work correctly,
|
< Vim will guess the value. In the GUI this should work correctly,
|
||||||
in other cases Vim might not be able to guess the right value.
|
in other cases Vim might not be able to guess the right value.
|
||||||
|
|
||||||
When the t_BG option is set, Vim will use it to request the background
|
When the |t_RB| option is set, Vim will use it to request the background
|
||||||
color from the terminal. If the returned RGB value is dark/light and
|
color from the terminal. If the returned RGB value is dark/light and
|
||||||
'background' is not dark/light, 'background' will be set and the
|
'background' is not dark/light, 'background' will be set and the
|
||||||
screen is redrawn. This may have side effects, make t_BG empty in
|
screen is redrawn. This may have side effects, make t_BG empty in
|
||||||
your .vimrc if you suspect this problem.
|
your .vimrc if you suspect this problem. The response to |t_RB| can
|
||||||
|
be found in |v:termrbgresp|.
|
||||||
|
|
||||||
When starting the GUI, the default value for 'background' will be
|
When starting the GUI, the default value for 'background' will be
|
||||||
"light". When the value is not set in the .gvimrc, and Vim detects
|
"light". When the value is not set in the .gvimrc, and Vim detects
|
||||||
@@ -1115,7 +1127,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with the |+balloon_eval|
|
{only available when compiled with the |+balloon_eval|
|
||||||
feature}
|
feature}
|
||||||
Switch on the |balloon-eval| functionality.
|
Switch on the |balloon-eval| functionality for the GUI.
|
||||||
|
|
||||||
|
*'balloonevalterm'* *'bevalterm'* *'noballoonevalterm'*
|
||||||
|
*'nobevalterm'*
|
||||||
|
'balloonevalterm' 'bevalterm' boolean (default off)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the
|
||||||
|
|+balloon_eval_term| feature}
|
||||||
|
Switch on the |balloon-eval| functionality for the terminal.
|
||||||
|
|
||||||
*'balloonexpr'* *'bexpr'*
|
*'balloonexpr'* *'bexpr'*
|
||||||
'balloonexpr' 'bexpr' string (default "")
|
'balloonexpr' 'bexpr' string (default "")
|
||||||
@@ -3509,6 +3530,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
systems without an fsync() implementation, this variable is always
|
systems without an fsync() implementation, this variable is always
|
||||||
off.
|
off.
|
||||||
Also see 'swapsync' for controlling fsync() on swap files.
|
Also see 'swapsync' for controlling fsync() on swap files.
|
||||||
|
'fsync' also applies to |writefile()|, unless a flag is used to
|
||||||
|
overrule it.
|
||||||
|
|
||||||
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
*'gdefault'* *'gd'* *'nogdefault'* *'nogd'*
|
||||||
'gdefault' 'gd' boolean (default off)
|
'gdefault' 'gd' boolean (default off)
|
||||||
@@ -3883,7 +3906,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
that this flag must be added in the .vimrc file, before
|
that this flag must be added in the .vimrc file, before
|
||||||
switching on syntax or filetype recognition (when the |gvimrc|
|
switching on syntax or filetype recognition (when the |gvimrc|
|
||||||
file is sourced the system menu has already been loaded; the
|
file is sourced the system menu has already been loaded; the
|
||||||
":syntax on" and ":filetype on" commands load the menu too).
|
`:syntax on` and `:filetype on` commands load the menu too).
|
||||||
*'go-g'*
|
*'go-g'*
|
||||||
'g' Grey menu items: Make menu items that are not active grey. If
|
'g' Grey menu items: Make menu items that are not active grey. If
|
||||||
'g' is not included inactive menu items are not shown at all.
|
'g' is not included inactive menu items are not shown at all.
|
||||||
@@ -3927,7 +3950,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
removing it after the GUI has started has no effect.
|
removing it after the GUI has started has no effect.
|
||||||
*'go-F'*
|
*'go-F'*
|
||||||
'F' Add a footer. Only for Motif. See |gui-footer|.
|
'F' Add a footer. Only for Motif. See |gui-footer|.
|
||||||
|
*'go-k'*
|
||||||
|
'k' Keep the GUI window size when adding/removing a scrollbar, or
|
||||||
|
toolbar, tabline, etc. Instead, the behavior is similar to
|
||||||
|
when the window is maximized and will adjust 'lines' and
|
||||||
|
'columns' to fit to the window. Without the 'k' flag Vim will
|
||||||
|
try to keep 'lines' and 'columns' the same when adding and
|
||||||
|
removing GUI components.
|
||||||
|
|
||||||
*'guipty'* *'noguipty'*
|
*'guipty'* *'noguipty'*
|
||||||
'guipty' boolean (default on)
|
'guipty' boolean (default on)
|
||||||
@@ -4363,13 +4392,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
{not in Vi}
|
{not in Vi}
|
||||||
{only available when compiled with |+xim| and
|
{only available when compiled with |+xim| and
|
||||||
|+GUI_GTK|}
|
|+GUI_GTK|}
|
||||||
This option specifies the input style of Input Method.
|
This option specifies the input style of Input Method:
|
||||||
Set to zero if you want to use on-the-spot style.
|
0 use on-the-spot style
|
||||||
Set to one if you want to use over-the-spot style.
|
1 over-the-spot style
|
||||||
See: |xim-input-style|
|
See: |xim-input-style|
|
||||||
|
|
||||||
For a long time on-the-spot sytle had been used in GTK version of vim,
|
For a long time on-the-spot style had been used in the GTK version of
|
||||||
however, it is known that it causes troubles when using mappings,
|
vim, however, it is known that it causes troubles when using mappings,
|
||||||
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||||
default now. This should work fine for most people, however if you
|
default now. This should work fine for most people, however if you
|
||||||
have any problem with it, try using on-the-spot style.
|
have any problem with it, try using on-the-spot style.
|
||||||
@@ -4435,7 +4464,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
match may not be found. This is to avoid that Vim hangs while you
|
match may not be found. This is to avoid that Vim hangs while you
|
||||||
are typing the pattern.
|
are typing the pattern.
|
||||||
The highlighting can be set with the 'i' flag in 'highlight'.
|
The highlighting can be set with the 'i' flag in 'highlight'.
|
||||||
See also: 'hlsearch'.
|
When 'hlsearch' is on, all matched strings are highlighted too while typing
|
||||||
|
a search command. See also: 'hlsearch'.
|
||||||
|
If you don't want turn 'hlsearch' on, but want to highlight all matches
|
||||||
|
while searching, you can turn on and off 'hlsearch' with autocmd.
|
||||||
|
Example: >
|
||||||
|
augroup vimrc-incsearch-highlight
|
||||||
|
autocmd!
|
||||||
|
autocmd CmdlineEnter /,\? :set hlsearch
|
||||||
|
autocmd CmdlineLeave /,\? :set nohlsearch
|
||||||
|
augroup END
|
||||||
|
<
|
||||||
CTRL-L can be used to add one character from after the current match
|
CTRL-L can be used to add one character from after the current match
|
||||||
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
to the command line. If 'ignorecase' and 'smartcase' are set and the
|
||||||
command line has no uppercase characters, the added character is
|
command line has no uppercase characters, the added character is
|
||||||
@@ -5105,7 +5144,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
:au FileType c,cpp,java set mps+==:;
|
:au FileType c,cpp,java set mps+==:;
|
||||||
|
|
||||||
< For a more advanced way of using "%", see the matchit.vim plugin in
|
< For a more advanced way of using "%", see the matchit.vim plugin in
|
||||||
the $VIMRUNTIME/macros directory. |add-local-help|
|
the $VIMRUNTIME/pack/dist/opt/matchit directory. |add-local-help|
|
||||||
|
|
||||||
*'matchtime'* *'mat'*
|
*'matchtime'* *'mat'*
|
||||||
'matchtime' 'mat' number (default 5)
|
'matchtime' 'mat' number (default 5)
|
||||||
@@ -5308,7 +5347,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
sysmouse and Linux console with gpm). For using the mouse in the
|
sysmouse and Linux console with gpm). For using the mouse in the
|
||||||
GUI, see |gui-mouse|.
|
GUI, see |gui-mouse|.
|
||||||
The mouse can be enabled for different modes:
|
The mouse can be enabled for different modes:
|
||||||
n Normal mode
|
n Normal mode and Terminal modes
|
||||||
v Visual mode
|
v Visual mode
|
||||||
i Insert mode
|
i Insert mode
|
||||||
c Command-line mode
|
c Command-line mode
|
||||||
@@ -5456,6 +5495,33 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
time in msec between two mouse clicks for the second click to be
|
time in msec between two mouse clicks for the second click to be
|
||||||
recognized as a multi click.
|
recognized as a multi click.
|
||||||
|
|
||||||
|
*'mzschemedll'*
|
||||||
|
'mzschemedll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme shared library. The default is
|
||||||
|
DYNAMIC_MZSCH_DLL which was specified at compile time.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
The value must be set in the |vimrc| script or earlier. In the
|
||||||
|
startup, before the |load-plugins| step.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
|
*'mzschemegcdll'*
|
||||||
|
'mzschemegcdll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+mzscheme/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the MzScheme GC shared library. The default is
|
||||||
|
DYNAMIC_MZGC_DLL which was specified at compile time.
|
||||||
|
The value can be equal to 'mzschemedll' if it includes the GC code.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'mzquantum'* *'mzq'*
|
*'mzquantum'* *'mzq'*
|
||||||
'mzquantum' 'mzq' number (default 100)
|
'mzquantum' 'mzq' number (default 100)
|
||||||
global
|
global
|
||||||
@@ -5746,6 +5812,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
< Replace the ';' with a ':' or whatever separator is used. Note that
|
< Replace the ';' with a ':' or whatever separator is used. Note that
|
||||||
this doesn't work when $INCL contains a comma or white space.
|
this doesn't work when $INCL contains a comma or white space.
|
||||||
|
|
||||||
|
*'perldll'*
|
||||||
|
'perldll' string (default depends on the build)
|
||||||
|
global
|
||||||
|
{not in Vi}
|
||||||
|
{only available when compiled with the |+perl/dyn|
|
||||||
|
feature}
|
||||||
|
Specifies the name of the Perl shared library. The default is
|
||||||
|
DYNAMIC_PERL_DLL, which was specified at compile time.
|
||||||
|
Environment variables are expanded |:set_env|.
|
||||||
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
|
security reasons.
|
||||||
|
|
||||||
*'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
|
*'preserveindent'* *'pi'* *'nopreserveindent'* *'nopi'*
|
||||||
'preserveindent' 'pi' boolean (default off)
|
'preserveindent' 'pi' boolean (default off)
|
||||||
local to buffer
|
local to buffer
|
||||||
@@ -8154,7 +8232,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
number, more intelligent detection process runs.
|
number, more intelligent detection process runs.
|
||||||
The "xterm2" value will be set if the xterm version is reported to be
|
The "xterm2" value will be set if the xterm version is reported to be
|
||||||
from 95 to 276. The "sgr" value will be set if the xterm version is
|
from 95 to 276. The "sgr" value will be set if the xterm version is
|
||||||
277 or highter.
|
277 or highter and when Vim detects Mac Terminal.app or Iterm2.
|
||||||
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
If you do not want 'ttymouse' to be set to "xterm2" or "sgr"
|
||||||
automatically, set t_RV to an empty string: >
|
automatically, set t_RV to an empty string: >
|
||||||
:set t_RV=
|
:set t_RV=
|
||||||
@@ -8235,7 +8313,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
Save the whole buffer for undo when reloading it. This applies to the
|
Save the whole buffer for undo when reloading it. This applies to the
|
||||||
":e!" command and reloading for when the buffer changed outside of
|
":e!" command and reloading for when the buffer changed outside of
|
||||||
Vim. |FileChangedShell|
|
Vim. |FileChangedShell|
|
||||||
The save only happens when this options is negative or when the number
|
The save only happens when this option is negative or when the number
|
||||||
of lines is smaller than the value of this option.
|
of lines is smaller than the value of this option.
|
||||||
Set this option to zero to disable undo for a reload.
|
Set this option to zero to disable undo for a reload.
|
||||||
|
|
||||||
@@ -8320,7 +8398,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
security reasons.
|
security reasons.
|
||||||
|
|
||||||
*'viewoptions'* *'vop'*
|
*'viewoptions'* *'vop'*
|
||||||
'viewoptions' 'vop' string (default: "folds,options,cursor")
|
'viewoptions' 'vop' string (default: "folds,options,cursor,curdir")
|
||||||
global
|
global
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
{not available when compiled without the |+mksession|
|
{not available when compiled without the |+mksession|
|
||||||
@@ -8338,6 +8416,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
slashes
|
slashes
|
||||||
unix with Unix end-of-line format (single <NL>), even when
|
unix with Unix end-of-line format (single <NL>), even when
|
||||||
on Windows or DOS
|
on Windows or DOS
|
||||||
|
curdir the window-local directory, if set with `:lcd`
|
||||||
|
|
||||||
"slash" and "unix" are useful on Windows when sharing view files
|
"slash" and "unix" are useful on Windows when sharing view files
|
||||||
with Unix. The Unix version of Vim cannot source dos format scripts,
|
with Unix. The Unix version of Vim cannot source dos format scripts,
|
||||||
|
|||||||
@@ -164,8 +164,9 @@ If you want to disable it, pass `--disable-darwin` to the configure script: >
|
|||||||
and then run `make` to build Vim. The order of the options doesn't matter.
|
and then run `make` to build Vim. The order of the options doesn't matter.
|
||||||
|
|
||||||
To make sure at runtime whether or not the darwin feature is compiled in, you
|
To make sure at runtime whether or not the darwin feature is compiled in, you
|
||||||
can use `has('macunix')` which returns 1 if the feature is compiled in; 0
|
can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
|
||||||
otherwise.
|
otherwise. For backwards comptibility, you can still use `macunix` instead of
|
||||||
|
`osxdarwin`.
|
||||||
|
|
||||||
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
Notable use cases where `--disable-darwin` is turned out to be useful are:
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,45 @@ The directory of the Vim executable is appended to $PATH. This is mostly to
|
|||||||
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
make "!xxd" work, as it is in the Tools menu. And it also means that when
|
||||||
executable() returns 1 the executable can actually be executed.
|
executable() returns 1 the executable can actually be executed.
|
||||||
|
|
||||||
Quotes in file names *win32-quotes*
|
Command line arguments *win32-cmdargs*
|
||||||
|
|
||||||
Quotes inside a file name (or any other command line argument) can be escaped
|
Analysis of a command line into parameters is not standardised in MS Windows.
|
||||||
with a backslash. E.g. >
|
Vim and gvim used to use different logic to parse it (before 7.4.432), and the
|
||||||
|
logic was also depended on what it was compiled with. Now Vim and gvim both
|
||||||
|
use the CommandLineToArgvW() Win32 API, so they behave in the same way.
|
||||||
|
|
||||||
|
The basic rules are: *win32-backslashes*
|
||||||
|
a) A parameter is a sequence of graphic characters.
|
||||||
|
b) Parameters are separated by white space.
|
||||||
|
c) A parameter can be enclosed in double quotes to include white space.
|
||||||
|
d) A sequence of zero or more backslashes (\) and a double quote (")
|
||||||
|
is special. The effective number of backslashes is halved, rounded
|
||||||
|
down. An even number of backslashes reverses the acceptability of
|
||||||
|
spaces and tabs, an odd number of backslashes produces a literal
|
||||||
|
double quote.
|
||||||
|
|
||||||
|
So:
|
||||||
|
" is a special double quote
|
||||||
|
\" is a literal double quote
|
||||||
|
\\" is a literal backslash and a special double quote
|
||||||
|
\\\" is a literal backslash and a literal double quote
|
||||||
|
\\\\" is 2 literal backslashes and a special double quote
|
||||||
|
\\\\\" is 2 literal backslashes and a literal double quote
|
||||||
|
etc.
|
||||||
|
|
||||||
|
Example: >
|
||||||
|
vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
|
||||||
|
|
||||||
|
opens "C:\My Music\freude" and executes the line mode commands: >
|
||||||
|
set ignorecase; /"foo\ and /bar\"
|
||||||
|
|
||||||
|
These rules are also described in the reference of the CommandLineToArgvW API:
|
||||||
|
https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx
|
||||||
|
|
||||||
|
*win32-quotes*
|
||||||
|
There are additional rules for quotes (which are not well documented).
|
||||||
|
As described above, quotes inside a file name (or any other command line
|
||||||
|
argument) can be escaped with a backslash. E.g. >
|
||||||
vim -c "echo 'foo\"bar'"
|
vim -c "echo 'foo\"bar'"
|
||||||
|
|
||||||
Alternatively use three quotes to get one: >
|
Alternatively use three quotes to get one: >
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*pi_netrw.txt* For Vim version 8.0. Last change: 2016 Apr 20
|
*pi_netrw.txt* For Vim version 8.0. Last change: 2017 Nov 03
|
||||||
|
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
|
||||||
(remove NOSPAM from Campbell's email first)
|
(remove NOSPAM from Campbell's email first)
|
||||||
|
|
||||||
Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
|
||||||
The VIM LICENSE applies to the files in this package, including
|
The VIM LICENSE applies to the files in this package, including
|
||||||
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
|
||||||
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
|
||||||
@@ -17,7 +17,6 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
holder be liable for any damages resulting from the use of this
|
holder be liable for any damages resulting from the use of this
|
||||||
software. Use at your own risk!
|
software. Use at your own risk!
|
||||||
|
|
||||||
|
|
||||||
*netrw*
|
*netrw*
|
||||||
*dav* *ftp* *netrw-file* *rcp* *scp*
|
*dav* *ftp* *netrw-file* *rcp* *scp*
|
||||||
*davs* *http* *netrw.vim* *rsync* *sftp*
|
*davs* *http* *netrw.vim* *rsync* *sftp*
|
||||||
@@ -73,7 +72,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Improving Browsing..................................|netrw-ssh-hack|
|
Improving Browsing..................................|netrw-ssh-hack|
|
||||||
Listing Bookmarks And History.......................|netrw-qb|
|
Listing Bookmarks And History.......................|netrw-qb|
|
||||||
Making A New Directory..............................|netrw-d|
|
Making A New Directory..............................|netrw-d|
|
||||||
Making The Browsing Directory The Current Directory.|netrw-c|
|
Making The Browsing Directory The Current Directory.|netrw-cd|
|
||||||
Marking Files.......................................|netrw-mf|
|
Marking Files.......................................|netrw-mf|
|
||||||
Unmarking Files.....................................|netrw-mF|
|
Unmarking Files.....................................|netrw-mF|
|
||||||
Marking Files By Location List......................|netrw-qL|
|
Marking Files By Location List......................|netrw-qL|
|
||||||
@@ -83,6 +82,7 @@ Copyright: Copyright (C) 2016 Charles E Campbell *netrw-copyright*
|
|||||||
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
Marked Files: Arbitrary Shell Command, En Bloc......|netrw-mX|
|
||||||
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
Marked Files: Arbitrary Vim Command.................|netrw-mv|
|
||||||
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
Marked Files: Argument List.........................|netrw-ma| |netrw-mA|
|
||||||
|
Marked Files: Buffer List...........................|netrw-cb| |netrw-cB|
|
||||||
Marked Files: Compression And Decompression.........|netrw-mz|
|
Marked Files: Compression And Decompression.........|netrw-mz|
|
||||||
Marked Files: Copying...............................|netrw-mc|
|
Marked Files: Copying...............................|netrw-mc|
|
||||||
Marked Files: Diff..................................|netrw-md|
|
Marked Files: Diff..................................|netrw-md|
|
||||||
@@ -155,7 +155,7 @@ Windows' ftp doesn't support .netrc; however, one may have in one's .vimrc: >
|
|||||||
|
|
||||||
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
|
||||||
<
|
<
|
||||||
Netrw will substitute the host's machine name for "MACHINE" from the url it is
|
Netrw will substitute the host's machine name for "MACHINE" from the URL it is
|
||||||
attempting to open, and so one may specify >
|
attempting to open, and so one may specify >
|
||||||
userid
|
userid
|
||||||
password
|
password
|
||||||
@@ -212,7 +212,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
http: g:netrw_http_cmd = "fetch" elseif fetch is available
|
||||||
http: *g:netrw_http_put_cmd* = "curl -T"
|
http: *g:netrw_http_put_cmd* = "curl -T"
|
||||||
rcp: *g:netrw_rcp_cmd* = "rcp"
|
rcp: *g:netrw_rcp_cmd* = "rcp"
|
||||||
rsync: *g:netrw_rsync_cmd* = "rsync -a"
|
rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|)
|
||||||
scp: *g:netrw_scp_cmd* = "scp -q"
|
scp: *g:netrw_scp_cmd* = "scp -q"
|
||||||
sftp: *g:netrw_sftp_cmd* = "sftp"
|
sftp: *g:netrw_sftp_cmd* = "sftp"
|
||||||
file: *g:netrw_file_cmd* = "elinks" or "links"
|
file: *g:netrw_file_cmd* = "elinks" or "links"
|
||||||
@@ -223,7 +223,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
elinks : "-source >"
|
elinks : "-source >"
|
||||||
links : "-dump >"
|
links : "-dump >"
|
||||||
curl : "-o"
|
curl : "-L -o"
|
||||||
wget : "-q -O"
|
wget : "-q -O"
|
||||||
fetch : "-o"
|
fetch : "-o"
|
||||||
<
|
<
|
||||||
@@ -238,7 +238,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
|
|||||||
|
|
||||||
READING *netrw-read* *netrw-nread* {{{2
|
READING *netrw-read* *netrw-nread* {{{2
|
||||||
|
|
||||||
Generally, one may just use the url notation with a normal editing
|
Generally, one may just use the URL notation with a normal editing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:e ftp://[user@]machine/path
|
:e ftp://[user@]machine/path
|
||||||
@@ -260,7 +260,7 @@ READING *netrw-read* *netrw-nread* {{{2
|
|||||||
|
|
||||||
WRITING *netrw-write* *netrw-nwrite* {{{2
|
WRITING *netrw-write* *netrw-nwrite* {{{2
|
||||||
|
|
||||||
One may just use the url notation with a normal file writing
|
One may just use the URL notation with a normal file writing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:w ftp://[user@]machine/path
|
:w ftp://[user@]machine/path
|
||||||
@@ -281,7 +281,7 @@ WRITING *netrw-write* *netrw-nwrite* {{{2
|
|||||||
|
|
||||||
SOURCING *netrw-source* {{{2
|
SOURCING *netrw-source* {{{2
|
||||||
|
|
||||||
One may just use the url notation with the normal file sourcing
|
One may just use the URL notation with the normal file sourcing
|
||||||
command, such as >
|
command, such as >
|
||||||
|
|
||||||
:so ftp://[user@]machine/path
|
:so ftp://[user@]machine/path
|
||||||
@@ -479,7 +479,7 @@ file using root-relative paths, use the full path:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
4. Network-Oriented File Transfer *netrw-xfer* {{{1
|
||||||
|
|
||||||
Network-oriented file transfer under Vim is implemented by a VimL-based script
|
Network-oriented file transfer under Vim is implemented by a vim script
|
||||||
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
(<netrw.vim>) using plugin techniques. It currently supports both reading and
|
||||||
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
writing across networks using rcp, scp, ftp or ftp+<.netrc>, scp, fetch,
|
||||||
dav/cadaver, rsync, or sftp.
|
dav/cadaver, rsync, or sftp.
|
||||||
@@ -532,7 +532,7 @@ variable (ex. scp uses the variable g:netrw_scp_cmd, which is defaulted to
|
|||||||
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
|
||||||
<
|
<
|
||||||
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
(note: it has been reported that windows 7 with putty v0.6's "-batch" option
|
||||||
doesn't work, so it's best to leave it off for that system)
|
doesn't work, so its best to leave it off for that system)
|
||||||
|
|
||||||
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
See |netrw-p8| for more about putty, pscp, psftp, etc.
|
||||||
|
|
||||||
@@ -734,11 +734,11 @@ such as netrw.
|
|||||||
The usual read/write commands are supported. There are also a few
|
The usual read/write commands are supported. There are also a few
|
||||||
additional commands available. Often you won't need to use Nwrite or
|
additional commands available. Often you won't need to use Nwrite or
|
||||||
Nread as shown in |netrw-transparent| (ie. simply use >
|
Nread as shown in |netrw-transparent| (ie. simply use >
|
||||||
:e url
|
:e URL
|
||||||
:r url
|
:r URL
|
||||||
:w url
|
:w URL
|
||||||
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
instead, as appropriate) -- see |netrw-urls|. In the explanations
|
||||||
below, a {netfile} is an url to a remote file.
|
below, a {netfile} is a URL to a remote file.
|
||||||
|
|
||||||
*:Nwrite* *:Nw*
|
*:Nwrite* *:Nw*
|
||||||
:[range]Nw[rite] Write the specified lines to the current
|
:[range]Nw[rite] Write the specified lines to the current
|
||||||
@@ -870,7 +870,9 @@ variables listed below, and may be modified by the user.
|
|||||||
g:netrw_http_put_cmd var ="curl -T"
|
g:netrw_http_put_cmd var ="curl -T"
|
||||||
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
|g:netrw_list_cmd| var ="ssh USEPORT HOSTNAME ls -Fa"
|
||||||
g:netrw_rcp_cmd var ="rcp"
|
g:netrw_rcp_cmd var ="rcp"
|
||||||
g:netrw_rsync_cmd var ="rsync -a"
|
g:netrw_rsync_cmd var ="rsync"
|
||||||
|
*g:netrw_rsync_sep* var ="/" used to separate the hostname
|
||||||
|
from the file spec
|
||||||
g:netrw_scp_cmd var ="scp -q"
|
g:netrw_scp_cmd var ="scp -q"
|
||||||
g:netrw_sftp_cmd var ="sftp" >
|
g:netrw_sftp_cmd var ="sftp" >
|
||||||
-------------------------------------------------------------------------
|
-------------------------------------------------------------------------
|
||||||
@@ -1007,7 +1009,7 @@ where [protocol] is typically scp or ftp. As an example, try: >
|
|||||||
vim ftp://ftp.home.vim.org/pub/vim/
|
vim ftp://ftp.home.vim.org/pub/vim/
|
||||||
<
|
<
|
||||||
For local directories, the trailing slash is not required. Again, because it's
|
For local directories, the trailing slash is not required. Again, because it's
|
||||||
easy to miss: to browse remote directories, the url must terminate with a
|
easy to miss: to browse remote directories, the URL must terminate with a
|
||||||
slash!
|
slash!
|
||||||
|
|
||||||
If you'd like to avoid entering the password repeatedly for remote directory
|
If you'd like to avoid entering the password repeatedly for remote directory
|
||||||
@@ -1077,9 +1079,9 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
<c-r> Browse using a gvim server |netrw-ctrl-r|
|
||||||
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
|
||||||
- Makes Netrw go up one directory |netrw--|
|
- Makes Netrw go up one directory |netrw--|
|
||||||
a Toggles between normal display, |netrw-a|
|
a Cycles between normal display, |netrw-a|
|
||||||
hiding (suppress display of files matching g:netrw_list_hide)
|
hiding (suppress display of files matching g:netrw_list_hide)
|
||||||
showing (display only files which match g:netrw_list_hide)
|
and showing (display only files which match g:netrw_list_hide)
|
||||||
c Make browsing directory the current directory |netrw-c|
|
c Make browsing directory the current directory |netrw-c|
|
||||||
C Setting the editing window |netrw-C|
|
C Setting the editing window |netrw-C|
|
||||||
d Make a directory |netrw-d|
|
d Make a directory |netrw-d|
|
||||||
@@ -1090,6 +1092,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
|
|||||||
gh Quick hide/unhide of dot-files |netrw-gh|
|
gh Quick hide/unhide of dot-files |netrw-gh|
|
||||||
gn Make top of tree the directory below the cursor |netrw-gn|
|
gn Make top of tree the directory below the cursor |netrw-gn|
|
||||||
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
i Cycle between thin, long, wide, and tree listings |netrw-i|
|
||||||
|
I Toggle the displaying of the banner |netrw-I|
|
||||||
mb Bookmark current directory |netrw-mb|
|
mb Bookmark current directory |netrw-mb|
|
||||||
mc Copy marked files to marked-file target directory |netrw-mc|
|
mc Copy marked files to marked-file target directory |netrw-mc|
|
||||||
md Apply diff to marked files (up to 3) |netrw-md|
|
md Apply diff to marked files (up to 3) |netrw-md|
|
||||||
@@ -1169,7 +1172,7 @@ QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
|
|||||||
|
|
||||||
BANNER DISPLAY *netrw-I*
|
BANNER DISPLAY *netrw-I*
|
||||||
|
|
||||||
One may toggle the banner display on and off by pressing "I".
|
One may toggle the displaying of the banner by pressing "I".
|
||||||
|
|
||||||
Also See: |g:netrw_banner|
|
Also See: |g:netrw_banner|
|
||||||
|
|
||||||
@@ -1181,13 +1184,14 @@ One may easily "bookmark" the currently browsed directory by using >
|
|||||||
mb
|
mb
|
||||||
<
|
<
|
||||||
*.netrwbook*
|
*.netrwbook*
|
||||||
Bookmarks are retained in between sessions in a $HOME/.netrwbook file, and are
|
Bookmarks are retained in between sessions of vim in a file called .netrwbook
|
||||||
kept in sorted order.
|
as a |List|, which is typically stored in the first directory on the user's
|
||||||
|
'|runtimepath|'; entries are kept in sorted order.
|
||||||
|
|
||||||
If there are marked files and/or directories, mb will add them to the bookmark
|
If there are marked files and/or directories, mb will add them to the bookmark
|
||||||
list.
|
list.
|
||||||
|
|
||||||
*netrw-:NetrwMB*
|
*netrw-:NetrwMB*
|
||||||
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
Addtionally, one may use :NetrwMB to bookmark files or directories. >
|
||||||
|
|
||||||
:NetrwMB[!] [files/directories]
|
:NetrwMB[!] [files/directories]
|
||||||
@@ -1206,7 +1210,7 @@ The :NetrwMB command is available outside of netrw buffers (once netrw has been
|
|||||||
invoked in the session).
|
invoked in the session).
|
||||||
|
|
||||||
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
The file ".netrwbook" holds bookmarks when netrw (and vim) is not active. By
|
||||||
default, it's stored on the first directory on the user's |'runtimepath'|.
|
default, its stored on the first directory on the user's |'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
|netrw-gb| how to return (go) to a bookmark
|
|netrw-gb| how to return (go) to a bookmark
|
||||||
@@ -1418,20 +1422,20 @@ Related Topics:
|
|||||||
|
|
||||||
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
|
||||||
|
|
||||||
Every time you change to a new directory (new for the current session),
|
Every time you change to a new directory (new for the current session), netrw
|
||||||
netrw will save the directory in a recently-visited directory history
|
will save the directory in a recently-visited directory history list (unless
|
||||||
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
|
|g:netrw_dirhistmax| is zero; by default, it holds ten entries). With the "u"
|
||||||
"u" map, one can change to an earlier directory (predecessor). To do
|
map, one can change to an earlier directory (predecessor). To do the
|
||||||
the opposite, see |netrw-U|.
|
opposite, see |netrw-U|.
|
||||||
|
|
||||||
The "u" map also accepts counts to go back in the history several slots.
|
The "u" map also accepts counts to go back in the history several slots. For
|
||||||
For your convenience, qb (see |netrw-qb|) lists the history number which may
|
your convenience, qb (see |netrw-qb|) lists the history number which may be
|
||||||
be used in that count.
|
used in that count.
|
||||||
|
|
||||||
*.netrwhist*
|
*.netrwhist*
|
||||||
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
See |g:netrw_dirhistmax| for how to control the quantity of history stack
|
||||||
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
slots. The file ".netrwhist" holds history when netrw (and vim) is not
|
||||||
active. By default, it's stored on the first directory on the user's
|
active. By default, its stored on the first directory on the user's
|
||||||
|'runtimepath'|.
|
|'runtimepath'|.
|
||||||
|
|
||||||
Related Topics:
|
Related Topics:
|
||||||
@@ -1467,10 +1471,10 @@ changing the top of the tree listing.
|
|||||||
|
|
||||||
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
NETRW CLEAN *netrw-clean* *:NetrwClean* {{{2
|
||||||
|
|
||||||
With NetrwClean one may easily remove netrw from one's home directory;
|
With :NetrwClean one may easily remove netrw from one's home directory;
|
||||||
more precisely, from the first directory on your |'runtimepath'|.
|
more precisely, from the first directory on your |'runtimepath'|.
|
||||||
|
|
||||||
With NetrwClean!, netrw will attempt to remove netrw from all directories on
|
With :NetrwClean!, netrw will attempt to remove netrw from all directories on
|
||||||
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
your |'runtimepath'|. Of course, you have to have write/delete permissions
|
||||||
correct to do this.
|
correct to do this.
|
||||||
|
|
||||||
@@ -1502,7 +1506,7 @@ Netrw determines which special handler by the following method:
|
|||||||
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
If g:netrw_browsex_viewer == '-', then netrwFileHandlers#Invoke() will be
|
||||||
used instead (see |netrw_filehandler|).
|
used instead (see |netrw_filehandler|).
|
||||||
|
|
||||||
* for Windows 32 or 64, the url and FileProtocolHandler dlls are used.
|
* for Windows 32 or 64, the URL and FileProtocolHandler dlls are used.
|
||||||
* for Gnome (with gnome-open): gnome-open is used.
|
* for Gnome (with gnome-open): gnome-open is used.
|
||||||
* for KDE (with kfmclient) : kfmclient is used
|
* for KDE (with kfmclient) : kfmclient is used
|
||||||
* for Mac OS X : open is used.
|
* for Mac OS X : open is used.
|
||||||
@@ -1518,9 +1522,10 @@ will apply a special handler to it (like "x" works when in a netrw buffer).
|
|||||||
One may also use visual mode (see |visual-start|) to select the text that the
|
One may also use visual mode (see |visual-start|) to select the text that the
|
||||||
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
special handler will use. Normally gx uses expand("<cfile>") to pick up the
|
||||||
text under the cursor; one may change what |expand()| uses via the
|
text under the cursor; one may change what |expand()| uses via the
|
||||||
|g:netrw_gx| variable. Alternatively, one may select the text to be used by
|
|g:netrw_gx| variable (options include "<cword>", "<cWORD>"). Note that
|
||||||
gx via first making a visual selection (see |visual-block|) or by changing
|
expand("<cfile>") depends on the |'isfname'| setting. Alternatively, one may
|
||||||
the |'isfname'| option (which is global, so netrw doesn't modify it).
|
select the text to be used by gx by making a visual selection (see
|
||||||
|
|visual-block|) and then pressing gx.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_gx| control how gx picks up the text under the cursor
|
|g:netrw_gx| control how gx picks up the text under the cursor
|
||||||
@@ -1612,6 +1617,11 @@ A further approach is to delete files which match a pattern.
|
|||||||
This will cause the matching files to be marked. Then,
|
This will cause the matching files to be marked. Then,
|
||||||
press "D".
|
press "D".
|
||||||
|
|
||||||
|
If your vim has 7.4 with patch#1107, then |g:netrw_localrmdir| no longer
|
||||||
|
is used to remove directories; instead, vim's |delete()| is used with
|
||||||
|
the "d" option. Please note that only empty directories may be deleted
|
||||||
|
with the "D" mapping. Regular files are deleted with |delete()|, too.
|
||||||
|
|
||||||
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
|
||||||
used to control the attempts to remove remote files and directories. The
|
used to control the attempts to remove remote files and directories. The
|
||||||
g:netrw_rm_cmd is used with files, and its default value is:
|
g:netrw_rm_cmd is used with files, and its default value is:
|
||||||
@@ -1675,17 +1685,18 @@ DIRECTORY EXPLORATION COMMANDS {{{2
|
|||||||
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
The [N] specifies a |g:netrw_winsize| just for the new :Lexplore
|
||||||
window.
|
window.
|
||||||
|
|
||||||
Those who like this method often also often like tree style displays;
|
Those who like this method often also like tree style displays;
|
||||||
see |g:netrw_liststyle|.
|
see |g:netrw_liststyle|.
|
||||||
|
|
||||||
|
:[N]Lexplore! [dir] is similar to :Lexplore, except that the full-height
|
||||||
|
Explorer window will open on the right hand side and an
|
||||||
|
uninitialized |g:netrw_chgwin| will be set to 1 (eg. edits will
|
||||||
|
preferentially occur in the leftmost window).
|
||||||
|
|
||||||
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
Also see: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw|
|
||||||
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
|netrw-p| |netrw-P| |g:netrw_chgwin|
|
||||||
|netrw-c-tab| |g:netrw_winsize|
|
|netrw-c-tab| |g:netrw_winsize|
|
||||||
|
|
||||||
:[N]Lexplore! is like :Lexplore, except that the full-height Explorer window
|
|
||||||
will open on the right hand side and an uninitialized |g:netrw_chgwin|
|
|
||||||
will be set to 1.
|
|
||||||
|
|
||||||
*netrw-:Sexplore*
|
*netrw-:Sexplore*
|
||||||
:[N]Sexplore will always split the window before invoking the local-directory
|
:[N]Sexplore will always split the window before invoking the local-directory
|
||||||
browser. As with Explore, the splitting is normally done
|
browser. As with Explore, the splitting is normally done
|
||||||
@@ -1847,9 +1858,11 @@ EXECUTING FILE UNDER CURSOR VIA SYSTEM() *netrw-X* {{{2
|
|||||||
|
|
||||||
Pressing X while the cursor is atop an executable file will yield a prompt
|
Pressing X while the cursor is atop an executable file will yield a prompt
|
||||||
using the filename asking for any arguments. Upon pressing a [return], netrw
|
using the filename asking for any arguments. Upon pressing a [return], netrw
|
||||||
will then call |system()| with that command and arguments. The result will
|
will then call |system()| with that command and arguments. The result will be
|
||||||
be displayed by |:echomsg|, and so |:messages| will repeat display of the
|
displayed by |:echomsg|, and so |:messages| will repeat display of the result.
|
||||||
result. Ansi escape sequences will be stripped out.
|
Ansi escape sequences will be stripped out.
|
||||||
|
|
||||||
|
See |cmdline-window| for directions for more on how to edit the arguments.
|
||||||
|
|
||||||
|
|
||||||
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
|
||||||
@@ -2072,7 +2085,7 @@ Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|
|||||||
|g:netrw_remote_mkdir| |netrw-%|
|
|g:netrw_remote_mkdir| |netrw-%|
|
||||||
|
|
||||||
|
|
||||||
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-cd* {{{2
|
||||||
|
|
||||||
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
By default, |g:netrw_keepdir| is 1. This setting means that the current
|
||||||
directory will not track the browsing directory. (done for backwards
|
directory will not track the browsing directory. (done for backwards
|
||||||
@@ -2087,6 +2100,9 @@ the two directories the same, use the "c" map (just type c). That map will
|
|||||||
set Vim's notion of the current directory to netrw's current browsing
|
set Vim's notion of the current directory to netrw's current browsing
|
||||||
directory.
|
directory.
|
||||||
|
|
||||||
|
*netrw-c* : This map's name has been changed from "c" to cd (see |netrw-cd|).
|
||||||
|
This change was done to allow for |netrw-cb| and |netrw-cB| maps.
|
||||||
|
|
||||||
Associated setting variable: |g:netrw_keepdir|
|
Associated setting variable: |g:netrw_keepdir|
|
||||||
|
|
||||||
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
MARKING FILES *netrw-:MF* *netrw-mf* {{{2
|
||||||
@@ -2131,6 +2147,7 @@ The following netrw maps make use of marked files:
|
|||||||
|netrw-mg| Apply vimgrep to marked files
|
|netrw-mg| Apply vimgrep to marked files
|
||||||
|netrw-mm| Move marked files to target
|
|netrw-mm| Move marked files to target
|
||||||
|netrw-mp| Print marked files
|
|netrw-mp| Print marked files
|
||||||
|
|netrw-ms| Netrw will source marked files
|
||||||
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
|netrw-mt| Set target for |netrw-mm| and |netrw-mc|
|
||||||
|netrw-mT| Generate tags using marked files
|
|netrw-mT| Generate tags using marked files
|
||||||
|netrw-mv| Apply vim command to marked files
|
|netrw-mv| Apply vim command to marked files
|
||||||
@@ -2205,6 +2222,9 @@ converts "*" into ".*" (see |regexp|) and marks files based on that. In the
|
|||||||
future I may make it possible to use |regexp|s instead of glob()-style
|
future I may make it possible to use |regexp|s instead of glob()-style
|
||||||
expressions (yet-another-option).
|
expressions (yet-another-option).
|
||||||
|
|
||||||
|
See |cmdline-window| for directions on more on how to edit the regular
|
||||||
|
expression.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
MARKED FILES, ARBITRARY VIM COMMAND *netrw-mv* {{{2
|
||||||
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
@@ -2218,8 +2238,9 @@ the local marked file list, individually:
|
|||||||
* run vim command
|
* run vim command
|
||||||
* sil! keepalt wq!
|
* sil! keepalt wq!
|
||||||
|
|
||||||
A prompt, "Enter vim command: ", will be issued to elicit the vim command
|
A prompt, "Enter vim command: ", will be issued to elicit the vim command you
|
||||||
you wish used.
|
wish used. See |cmdline-window| for directions for more on how to edit the
|
||||||
|
command.
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
MARKED FILES, ARBITRARY SHELL COMMAND *netrw-mx* {{{2
|
||||||
@@ -2270,7 +2291,17 @@ MARKED FILES: ARGUMENT LIST *netrw-ma* *netrw-mA*
|
|||||||
Using ma, one moves filenames from the marked file list to the argument list.
|
Using ma, one moves filenames from the marked file list to the argument list.
|
||||||
Using mA, one moves filenames from the argument list to the marked file list.
|
Using mA, one moves filenames from the argument list to the marked file list.
|
||||||
|
|
||||||
See Also: |netrw-qF| |argument-list| |:args|
|
See Also: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
|
||||||
|
|
||||||
|
|
||||||
|
MARKED FILES: BUFFER LIST *netrw-cb* *netrw-cB*
|
||||||
|
(See |netrw-mf| and |netrw-mr| for how to mark files)
|
||||||
|
(uses the global marked-file list)
|
||||||
|
|
||||||
|
Using cb, one moves filenames from the marked file list to the buffer list.
|
||||||
|
Using cB, one copies filenames from the buffer list to the marked file list.
|
||||||
|
|
||||||
|
See Also: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
|
||||||
|
|
||||||
|
|
||||||
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
MARKED FILES: COMPRESSION AND DECOMPRESSION *netrw-mz* {{{2
|
||||||
@@ -2306,8 +2337,8 @@ One may also copy directories and their contents (local only) to a target
|
|||||||
directory.
|
directory.
|
||||||
|
|
||||||
Associated setting variables:
|
Associated setting variables:
|
||||||
|g:netrw_localcopycmd|
|
|g:netrw_localcopycmd| |g:netrw_localcopycmdopt|
|
||||||
|g:netrw_localcopydircmd|
|
|g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt|
|
||||||
|g:netrw_ssh_cmd|
|
|g:netrw_ssh_cmd|
|
||||||
|
|
||||||
MARKED FILES: DIFF *netrw-md* {{{2
|
MARKED FILES: DIFF *netrw-md* {{{2
|
||||||
@@ -2452,8 +2483,8 @@ When a remote set of files are tagged, the resulting tags file is "obtained";
|
|||||||
ie. a copy is transferred to the local system's directory. The now local tags
|
ie. a copy is transferred to the local system's directory. The now local tags
|
||||||
file is then modified so that one may use it through the network. The
|
file is then modified so that one may use it through the network. The
|
||||||
modification made concerns the names of the files in the tags; each filename is
|
modification made concerns the names of the files in the tags; each filename is
|
||||||
preceded by the netrw-compatible url used to obtain it. When one subsequently
|
preceded by the netrw-compatible URL used to obtain it. When one subsequently
|
||||||
uses one of the go to tag actions (|tags|), the url will be used by netrw to
|
uses one of the go to tag actions (|tags|), the URL will be used by netrw to
|
||||||
edit the desired file and go to the tag.
|
edit the desired file and go to the tag.
|
||||||
|
|
||||||
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
Associated setting variables: |g:netrw_ctags| |g:netrw_ssh_cmd|
|
||||||
@@ -2555,8 +2586,8 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
editing. It will also use the specified tab
|
editing. It will also use the specified tab
|
||||||
and window numbers to perform editing
|
and window numbers to perform editing
|
||||||
(see |clientserver|, |netrw-ctrl-r|)
|
(see |clientserver|, |netrw-ctrl-r|)
|
||||||
This option does not affect |:Lexplore|
|
This option does not affect the production of
|
||||||
windows.
|
|:Lexplore| windows.
|
||||||
|
|
||||||
Related topics:
|
Related topics:
|
||||||
|g:netrw_alto| |g:netrw_altv|
|
|g:netrw_alto| |g:netrw_altv|
|
||||||
@@ -2715,6 +2746,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
*g:netrw_home* The home directory for where bookmarks and
|
*g:netrw_home* The home directory for where bookmarks and
|
||||||
history are saved (as .netrwbook and
|
history are saved (as .netrwbook and
|
||||||
.netrwhist).
|
.netrwhist).
|
||||||
|
Netrw uses |expand()|on the string.
|
||||||
default: the first directory on the
|
default: the first directory on the
|
||||||
|'runtimepath'|
|
|'runtimepath'|
|
||||||
|
|
||||||
@@ -2762,25 +2794,51 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
default: ""
|
default: ""
|
||||||
|
|
||||||
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
="copy" Windows
|
=expand("$COMSPEC") Windows
|
||||||
Copies marked files (|netrw-mf|) to target
|
Copies marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mc|)
|
directory (|netrw-mt|, |netrw-mc|)
|
||||||
|
|
||||||
*g:netrw_localcopydircmd* ="cp -R" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin
|
||||||
="xcopy /e /c /h/ /i /k" Windows
|
=' \c copy' Windows
|
||||||
|
Options for the |g:netrw_localcopycmd|
|
||||||
|
|
||||||
|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
Copies directories to target directory.
|
Copies directories to target directory.
|
||||||
(|netrw-mc|, |netrw-mt|)
|
(|netrw-mc|, |netrw-mt|)
|
||||||
|
|
||||||
*g:netrw_localmkdir* command for making a local directory
|
*g:netrw_localcopydircmdopt* =" -R" Linux/Unix/MacOS/Cygwin
|
||||||
default: "mkdir"
|
=" /c xcopy /e /c /h/ /i /k" Windows
|
||||||
|
Options for |g:netrw_localcopydircmd|
|
||||||
|
|
||||||
|
*g:netrw_localmkdir* ="mkdir" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
|
command for making a local directory
|
||||||
|
|
||||||
|
*g:netrw_localmkdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c mkdir" Windows
|
||||||
|
Options for |g:netrw_localmkdir|
|
||||||
|
|
||||||
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
|
||||||
="move" Windows
|
=expand("$COMSPEC") Windows
|
||||||
Moves marked files (|netrw-mf|) to target
|
Moves marked files (|netrw-mf|) to target
|
||||||
directory (|netrw-mt|, |netrw-mm|)
|
directory (|netrw-mt|, |netrw-mm|)
|
||||||
|
|
||||||
*g:netrw_localrmdir* remove directory command (rmdir)
|
*g:netrw_localmovecmdopt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
default: "rmdir"
|
=" /c move" Windows
|
||||||
|
Options for |g:netrw_localmovecmd|
|
||||||
|
|
||||||
|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
|
||||||
|
=expand("$COMSPEC") Windows
|
||||||
|
Remove directory command (rmdir)
|
||||||
|
This variable is only used if your vim is
|
||||||
|
earlier than 7.4 or if your vim doesn't
|
||||||
|
have patch#1107. Otherwise, |delete()|
|
||||||
|
is used with the "d" option.
|
||||||
|
|
||||||
|
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
|
||||||
|
=" /c rmdir" Windows
|
||||||
|
Options for |g:netrw_localrmdir|
|
||||||
|
|
||||||
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
|
||||||
listings fit on 80 column displays.
|
listings fit on 80 column displays.
|
||||||
@@ -2893,17 +2951,23 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
netrwTilde : *
|
netrwTilde : *
|
||||||
netrwTmp : tmp* *tmp
|
netrwTmp : tmp* *tmp
|
||||||
|
|
||||||
|
In addition, those groups mentioned in
|
||||||
|
|'suffixes'| are also added to the special
|
||||||
|
file highlighting group.
|
||||||
These syntax highlighting groups are linked
|
These syntax highlighting groups are linked
|
||||||
to Folded or DiffChange by default
|
to netrwGray or Folded by default
|
||||||
(see |hl-Folded| and |hl-DiffChange|), but
|
(see |hl-Folded|), but one may put lines like >
|
||||||
one may put lines like >
|
|
||||||
hi link netrwCompress Visual
|
hi link netrwCompress Visual
|
||||||
< into one's <.vimrc> to use one's own
|
< into one's <.vimrc> to use one's own
|
||||||
preferences. Alternatively, one may
|
preferences. Alternatively, one may
|
||||||
put such specifications into
|
put such specifications into >
|
||||||
.vim/after/syntax/netrw.vim.
|
.vim/after/syntax/netrw.vim.
|
||||||
|
< The netrwGray highlighting is set up by
|
||||||
As an example, I myself use a dark-background
|
netrw when >
|
||||||
|
* netrwGray has not been previously
|
||||||
|
defined
|
||||||
|
* the gui is running
|
||||||
|
< As an example, I myself use a dark-background
|
||||||
colorscheme with the following in
|
colorscheme with the following in
|
||||||
.vim/after/syntax/netrw.vim: >
|
.vim/after/syntax/netrw.vim: >
|
||||||
|
|
||||||
@@ -3138,8 +3202,8 @@ If there are no marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Renaming files and directories involves moving the cursor to the
|
Renaming files and directories involves moving the cursor to the
|
||||||
file/directory to be moved (renamed) and pressing "R". You will then be
|
file/directory to be moved (renamed) and pressing "R". You will then be
|
||||||
queried for what you want the file/directory to be renamed to You may select
|
queried for what you want the file/directory to be renamed to. You may
|
||||||
a range of lines with the "V" command (visual selection), and then
|
select a range of lines with the "V" command (visual selection), and then
|
||||||
press "R"; you will be queried for each file as to what you want it
|
press "R"; you will be queried for each file as to what you want it
|
||||||
renamed to.
|
renamed to.
|
||||||
|
|
||||||
@@ -3171,16 +3235,20 @@ If there are marked files: (see |netrw-mf|)
|
|||||||
|
|
||||||
Note that moving files is a dangerous operation; copies are safer. That's
|
Note that moving files is a dangerous operation; copies are safer. That's
|
||||||
because a "move" for remote files is actually a copy + delete -- and if
|
because a "move" for remote files is actually a copy + delete -- and if
|
||||||
the copy fails and the delete does not, you may lose the file.
|
the copy fails and the delete succeeds you may lose the file.
|
||||||
Use at your own risk.
|
Use at your own risk.
|
||||||
|
|
||||||
The g:netrw_rename_cmd variable is used to implement remote renaming. By
|
The *g:netrw_rename_cmd* variable is used to implement remote renaming. By
|
||||||
default its value is:
|
default its value is: >
|
||||||
|
|
||||||
ssh HOSTNAME mv
|
ssh HOSTNAME mv
|
||||||
|
<
|
||||||
One may rename a block of files and directories by selecting them with
|
One may rename a block of files and directories by selecting them with
|
||||||
V (|linewise-visual|) when using thin style
|
V (|linewise-visual|) when using thin style.
|
||||||
|
|
||||||
|
See |cmdline-editing| for more on how to edit the command line; in particular,
|
||||||
|
you'll find <ctrl-f> (initiates cmdline window editing) and <ctrl-c> (uses the
|
||||||
|
command line under the cursor) useful in conjunction with the R command.
|
||||||
|
|
||||||
|
|
||||||
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
SELECTING SORTING STYLE *netrw-s* *netrw-sort* {{{2
|
||||||
@@ -3201,8 +3269,8 @@ number. Subsequent selection of a file to edit (|netrw-cr|) will use that
|
|||||||
window.
|
window.
|
||||||
|
|
||||||
* C : by itself, will select the current window holding a netrw buffer
|
* C : by itself, will select the current window holding a netrw buffer
|
||||||
for editing via |netrw-cr|. The C mapping is only available while in
|
for subsequent editing via |netrw-cr|. The C mapping is only available
|
||||||
netrw buffers.
|
while in netrw buffers.
|
||||||
|
|
||||||
* [count]C : the count will be used as the window number to be used
|
* [count]C : the count will be used as the window number to be used
|
||||||
for subsequent editing via |netrw-cr|.
|
for subsequent editing via |netrw-cr|.
|
||||||
@@ -3215,7 +3283,7 @@ window.
|
|||||||
Using >
|
Using >
|
||||||
let g:netrw_chgwin= -1
|
let g:netrw_chgwin= -1
|
||||||
will restore the default editing behavior
|
will restore the default editing behavior
|
||||||
(ie. editing will use the current window).
|
(ie. subsequent editing will use the current window).
|
||||||
|
|
||||||
Related topics: |netrw-cr| |g:netrw_browse_split|
|
Related topics: |netrw-cr| |g:netrw_browse_split|
|
||||||
Associated setting variables: |g:netrw_chgwin|
|
Associated setting variables: |g:netrw_chgwin|
|
||||||
@@ -3236,9 +3304,9 @@ only if your terminal supports differentiating <c-tab> from a plain
|
|||||||
|
|
||||||
* Else bring up a |:Lexplore| window
|
* Else bring up a |:Lexplore| window
|
||||||
|
|
||||||
If |g:netrw_usetab| exists or is zero, or if there is a pre-existing mapping
|
If |g:netrw_usetab| exists and is zero, or if there is a pre-existing mapping
|
||||||
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
for <c-tab>, then the <c-tab> will not be mapped. One may map something other
|
||||||
than a <c-tab>, too: (but you'll still need to have had g:netrw_usetab set) >
|
than a <c-tab>, too: (but you'll still need to have had |g:netrw_usetab| set). >
|
||||||
|
|
||||||
nmap <unique> (whatever) <Plug>NetrwShrink
|
nmap <unique> (whatever) <Plug>NetrwShrink
|
||||||
<
|
<
|
||||||
@@ -3271,9 +3339,10 @@ The user function is passed one argument; it resembles >
|
|||||||
|
|
||||||
fun! ExampleUserMapFunc(islocal)
|
fun! ExampleUserMapFunc(islocal)
|
||||||
<
|
<
|
||||||
where a:islocal is 1 if it's a local-directory system call or 0 when
|
where a:islocal is 1 if its a local-directory system call or 0 when
|
||||||
remote-directory system call.
|
remote-directory system call.
|
||||||
|
|
||||||
|
*netrw-call* *netrw-expose* *netrw-modify*
|
||||||
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
Use netrw#Expose("varname") to access netrw-internal (script-local)
|
||||||
variables.
|
variables.
|
||||||
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
Use netrw#Modify("varname",newvalue) to change netrw-internal variables.
|
||||||
@@ -3595,7 +3664,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
|
|
||||||
*netrw-p16*
|
*netrw-p16*
|
||||||
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
P16. When editing remote files (ex. :e ftp://hostname/path/file),
|
||||||
under Windows I get an |E303| message complaining that it's unable
|
under Windows I get an |E303| message complaining that its unable
|
||||||
to open a swap file.
|
to open a swap file.
|
||||||
|
|
||||||
(romainl) It looks like you are starting Vim from a protected
|
(romainl) It looks like you are starting Vim from a protected
|
||||||
@@ -3649,7 +3718,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
|||||||
P21. I've made a directory (or file) with an accented character, but
|
P21. I've made a directory (or file) with an accented character, but
|
||||||
netrw isn't letting me enter that directory/read that file:
|
netrw isn't letting me enter that directory/read that file:
|
||||||
|
|
||||||
It's likely that the shell or o/s is using a different encoding
|
Its likely that the shell or o/s is using a different encoding
|
||||||
than you have vim (netrw) using. A patch to vim supporting
|
than you have vim (netrw) using. A patch to vim supporting
|
||||||
"systemencoding" may address this issue in the future; for
|
"systemencoding" may address this issue in the future; for
|
||||||
now, just have netrw use the proper encoding. For example: >
|
now, just have netrw use the proper encoding. For example: >
|
||||||
@@ -3765,6 +3834,102 @@ netrw:
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
12. History *netrw-history* {{{1
|
12. History *netrw-history* {{{1
|
||||||
|
|
||||||
|
v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors
|
||||||
|
with a patch; these are now fixed.
|
||||||
|
Oct 26, 2016 * I started using mate-terminal and found that
|
||||||
|
x and gx (|netrw-x| and |netrw-gx|) were no
|
||||||
|
longer working. Fixed (using atril when
|
||||||
|
$DESKTOP_SESSION is "mate").
|
||||||
|
Nov 04, 2016 * (Martin Vuille) pointed out that @+ was
|
||||||
|
being restored with keepregstar rather than
|
||||||
|
keepregplus.
|
||||||
|
Nov 09, 2016 * Broke apart the command from the options,
|
||||||
|
mostly for Windows. Introduced new netrw
|
||||||
|
settings: |g:netrw_localcopycmdopt|
|
||||||
|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|
||||||
|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
|
||||||
|
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
|
||||||
|
winwidth() with winheight()
|
||||||
|
Nov 22, 2016 * (glacambre) reported that files containing
|
||||||
|
spaces weren't being obtained properly via
|
||||||
|
scp. Fix: apparently using single quotes
|
||||||
|
such as with 'file name' wasn't enough; the
|
||||||
|
spaces inside the quotes also had to be
|
||||||
|
escaped (ie. 'file\ name').
|
||||||
|
* Also fixed obtain (|netrw-O|) to be able to
|
||||||
|
obtain files with spaces in their names
|
||||||
|
Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|)
|
||||||
|
when atop "Hiding" in the banner also caused
|
||||||
|
the active-banner hiding control to occur
|
||||||
|
Jan 03, 2017 * (Enno Nagel) reported that attempting to
|
||||||
|
apply netrw to a directory that was without
|
||||||
|
read permission caused a syntax error.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) provided a patch which makes
|
||||||
|
using netrw#Call() better. Now returns
|
||||||
|
value of internal routines return, for example.
|
||||||
|
Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to
|
||||||
|
use |:edit| instead of |:read|. I also
|
||||||
|
changed the routine name to netrw#FileUrlEdit.
|
||||||
|
Jan 16, 2017 * (Sayem) reported a problem where :Lexplore
|
||||||
|
could generate a new listing buffer and
|
||||||
|
window instead of toggling the netrw display.
|
||||||
|
Unfortunately, the directions for eliciting
|
||||||
|
the problem weren't complete, so I may or
|
||||||
|
may not have fixed that issue.
|
||||||
|
Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd".
|
||||||
|
(see |netrw-cb|, |netrw-cB|, and |netrw-cd|)
|
||||||
|
Mar 21, 2017 * previously, netrw would specify (safe) settings
|
||||||
|
even when the setting was already safe for
|
||||||
|
netrw. Netrw now attempts to leave such
|
||||||
|
already-netrw-safe settings alone.
|
||||||
|
(affects s:NetrwOptionRestore() and
|
||||||
|
s:NetrwSafeOptions(); also introduced
|
||||||
|
s:NetrwRestoreSetting())
|
||||||
|
Jun 26, 2017 * (Christian Brabandt) provided a patch to
|
||||||
|
allow curl to follow redirects (ie. -L
|
||||||
|
option)
|
||||||
|
Jun 26, 2017 * (Callum Howard) reported a problem with
|
||||||
|
:Lexpore not removing the Lexplore window
|
||||||
|
after a change-directory
|
||||||
|
Aug 30, 2017 * (Ingo Karkat) one cannot switch to the
|
||||||
|
previously edited file (e.g. with CTRL-^)
|
||||||
|
after editing a file:// URL. Patch to
|
||||||
|
have a "keepalt" included.
|
||||||
|
Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|)
|
||||||
|
did not work on directories in the current
|
||||||
|
tree
|
||||||
|
v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with
|
||||||
|
a function that returned a 0 while silently
|
||||||
|
invoking a shell command. The shell command
|
||||||
|
activated a ShellCmdPost event which in turn
|
||||||
|
called s:LocalBrowseRefresh(). That looks
|
||||||
|
over all netrw buffers for changes needing
|
||||||
|
refreshes. However, inside a |:map-<expr>|,
|
||||||
|
tab and window changes are disallowed. Fixed.
|
||||||
|
(affects netrw's s:LocalBrowseRefresh())
|
||||||
|
* |g:netrw_localrmdir| not used any more, but
|
||||||
|
the relevant patch that causes |delete()| to
|
||||||
|
take over was #1107 (not #1109).
|
||||||
|
* |expand()| is now used on |g:netrw_home|;
|
||||||
|
consequently, g:netrw_home may now use
|
||||||
|
environment variables
|
||||||
|
* s:NetrwLeftmouse and s:NetrwCLeftmouse will
|
||||||
|
return without doing anything if invoked
|
||||||
|
when inside a non-netrw window
|
||||||
|
Jun 15, 2016 * gx now calls netrw#GX() which returns
|
||||||
|
the word under the cursor. The new
|
||||||
|
wrinkle: if one is in a netrw buffer,
|
||||||
|
then netrw's s:NetrwGetWord().
|
||||||
|
Jun 22, 2016 * Netrw was executing all its associated
|
||||||
|
Filetype commands silently; I'm going
|
||||||
|
to try doing that "noisily" and see if
|
||||||
|
folks have a problem with that.
|
||||||
|
Aug 12, 2016 * Changed order of tool selection for
|
||||||
|
handling http://... viewing.
|
||||||
|
(Nikolay Aleksandrovich Pavlov)
|
||||||
|
Aug 21, 2016 * Included hiding/showing/all for tree
|
||||||
|
listings
|
||||||
|
* Fixed refresh (^L) for tree listings
|
||||||
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
|
||||||
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
|
||||||
fnameescape() on the base portion
|
fnameescape() on the base portion
|
||||||
@@ -3796,9 +3961,9 @@ netrw:
|
|||||||
tell me how they're useful and should be
|
tell me how they're useful and should be
|
||||||
retained?
|
retained?
|
||||||
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support
|
||||||
Nov 20, 2015 * gx (|netrw-gx|) on an url downloaded the
|
Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the
|
||||||
file in addition to simply bringing up the
|
file in addition to simply bringing up the
|
||||||
url in a browser. Fixed.
|
URL in a browser. Fixed.
|
||||||
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
Nov 23, 2015 * Added |g:netrw_sizestyle| support
|
||||||
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw
|
||||||
maps.
|
maps.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickfix.txt* For Vim version 8.0. Last change: 2017 Jun 13
|
*quickfix.txt* For Vim version 8.0. Last change: 2017 Sep 13
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -47,11 +47,6 @@ compiler (see |errorformat| below).
|
|||||||
*quickfix-ID*
|
*quickfix-ID*
|
||||||
Each quickfix list has a unique identifier called the quickfix ID and this
|
Each quickfix list has a unique identifier called the quickfix ID and this
|
||||||
number will not change within a Vim session. The getqflist() function can be
|
number will not change within a Vim session. The getqflist() function can be
|
||||||
used to get the identifier assigned to a list.
|
|
||||||
|
|
||||||
*quickfix-ID*
|
|
||||||
Each quickfix list has a unique identifier called the quickfix ID and this
|
|
||||||
number will not change within a Vim session. The getqflist() function can be
|
|
||||||
used to get the identifier assigned to a list. There is also a quickfix list
|
used to get the identifier assigned to a list. There is also a quickfix list
|
||||||
number which may change whenever more than ten lists are added to a quickfix
|
number which may change whenever more than ten lists are added to a quickfix
|
||||||
stack.
|
stack.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*quickref.txt* For Vim version 8.0. Last change: 2017 Aug 19
|
*quickref.txt* For Vim version 8.0. Last change: 2017 Oct 19
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -749,6 +749,7 @@ Short explanation of each option: *option-list*
|
|||||||
'iminsert' 'imi' use :lmap or IM in Insert mode
|
'iminsert' 'imi' use :lmap or IM in Insert mode
|
||||||
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
'imsearch' 'ims' use :lmap or IM when typing a search pattern
|
||||||
'imstatusfunc' 'imsf' function to obtain X input method status
|
'imstatusfunc' 'imsf' function to obtain X input method status
|
||||||
|
'imstyle' 'imst' specifies the input style of the input method
|
||||||
'include' 'inc' pattern to be used to find an include file
|
'include' 'inc' pattern to be used to find an include file
|
||||||
'includeexpr' 'inex' expression used to process an include line
|
'includeexpr' 'inex' expression used to process an include line
|
||||||
'incsearch' 'is' highlight match while typing search pattern
|
'incsearch' 'is' highlight match while typing search pattern
|
||||||
@@ -779,6 +780,8 @@ Short explanation of each option: *option-list*
|
|||||||
'listchars' 'lcs' characters for displaying in list mode
|
'listchars' 'lcs' characters for displaying in list mode
|
||||||
'loadplugins' 'lpl' load plugin scripts when starting up
|
'loadplugins' 'lpl' load plugin scripts when starting up
|
||||||
'luadll' name of the Lua dynamic library
|
'luadll' name of the Lua dynamic library
|
||||||
|
'mzschemedll' name of the MzScheme dynamic library
|
||||||
|
'mzschemegcdll' name of the MzScheme dynamic library for GC
|
||||||
'macatsui' Mac GUI: use ATSUI text drawing
|
'macatsui' Mac GUI: use ATSUI text drawing
|
||||||
'magic' changes special characters in search patterns
|
'magic' changes special characters in search patterns
|
||||||
'makeef' 'mef' name of the errorfile for ":make"
|
'makeef' 'mef' name of the errorfile for ":make"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*spell.txt* For Vim version 8.0. Last change: 2016 Jan 08
|
*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -723,7 +723,7 @@ Additionally the following items are recognized:
|
|||||||
= Case must match exactly.
|
= Case must match exactly.
|
||||||
? Rare word.
|
? Rare word.
|
||||||
! Bad (wrong) word.
|
! Bad (wrong) word.
|
||||||
digit A region in which the word is valid. If no regions are
|
1 to 9 A region in which the word is valid. If no regions are
|
||||||
specified the word is valid in all regions.
|
specified the word is valid in all regions.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 8.0. Last change: 2017 Jul 15
|
*starting.txt* For Vim version 8.0. Last change: 2017 Nov 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -873,6 +873,9 @@ accordingly. Vim proceeds in this order:
|
|||||||
(*) Using this file or environment variable will cause 'compatible' to be
|
(*) Using this file or environment variable will cause 'compatible' to be
|
||||||
off by default. See |compatible-default|.
|
off by default. See |compatible-default|.
|
||||||
|
|
||||||
|
Note: When using the |mzscheme| interface, it is initialized after loading
|
||||||
|
the vimrc file. Changing 'mzschemedll' later has no effect.
|
||||||
|
|
||||||
4. Load the plugin scripts. *load-plugins*
|
4. Load the plugin scripts. *load-plugins*
|
||||||
This does the same as the command: >
|
This does the same as the command: >
|
||||||
:runtime! plugin/**/*.vim
|
:runtime! plugin/**/*.vim
|
||||||
@@ -1044,7 +1047,7 @@ details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
|
|||||||
patch 7.4.2111 to be exact).
|
patch 7.4.2111 to be exact).
|
||||||
|
|
||||||
This should work well for new Vim users. If you create your own .vimrc, it is
|
This should work well for new Vim users. If you create your own .vimrc, it is
|
||||||
recommended to add this line somewhere near the top: >
|
recommended to add these lines somewhere near the top: >
|
||||||
unlet! skip_defaults_vim
|
unlet! skip_defaults_vim
|
||||||
source $VIMRUNTIME/defaults.vim
|
source $VIMRUNTIME/defaults.vim
|
||||||
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
|
||||||
@@ -1415,7 +1418,7 @@ The output of ":mkview" contains these items:
|
|||||||
5. The scroll position and the cursor position in the file. Doesn't work very
|
5. The scroll position and the cursor position in the file. Doesn't work very
|
||||||
well when there are closed folds.
|
well when there are closed folds.
|
||||||
6. The local current directory, if it is different from the global current
|
6. The local current directory, if it is different from the global current
|
||||||
directory.
|
directory and 'viewoptions' contains "curdir".
|
||||||
|
|
||||||
Note that Views and Sessions are not perfect:
|
Note that Views and Sessions are not perfect:
|
||||||
- They don't restore everything. For example, defined functions, autocommands
|
- They don't restore everything. For example, defined functions, autocommands
|
||||||
@@ -1527,7 +1530,7 @@ Notes for Unix:
|
|||||||
you have worked with.
|
you have worked with.
|
||||||
- If you want to share the viminfo file with other users (e.g. when you "su"
|
- If you want to share the viminfo file with other users (e.g. when you "su"
|
||||||
to another user), you can make the file writable for the group or everybody.
|
to another user), you can make the file writable for the group or everybody.
|
||||||
Vim will preserve this when writing new viminfo files. Be careful, don't
|
Vim will preserve this when replacing the viminfo file. Be careful, don't
|
||||||
allow just anybody to read and write your viminfo file!
|
allow just anybody to read and write your viminfo file!
|
||||||
- Vim will not overwrite a viminfo file that is not writable by the current
|
- Vim will not overwrite a viminfo file that is not writable by the current
|
||||||
"real" user. This helps for when you did "su" to become root, but your
|
"real" user. This helps for when you did "su" to become root, but your
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*syntax.txt* For Vim version 8.0. Last change: 2017 Aug 12
|
*syntax.txt* For Vim version 8.0. Last change: 2017 Sep 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -61,10 +61,12 @@ fine. If it doesn't, try setting the VIM environment variable to the
|
|||||||
directory where the Vim stuff is located. For example, if your syntax files
|
directory where the Vim stuff is located. For example, if your syntax files
|
||||||
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
||||||
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
||||||
|
This command also sources the |menu.vim| script when the GUI is running or
|
||||||
|
will start soon. See |'go-M'| about avoiding that.
|
||||||
|
|
||||||
*:syn-on* *:syntax-on*
|
*:syn-on* *:syntax-on*
|
||||||
The ":syntax enable" command will keep your current color settings. This
|
The `:syntax enable` command will keep your current color settings. This
|
||||||
allows using ":highlight" commands to set your preferred colors before or
|
allows using `:highlight` commands to set your preferred colors before or
|
||||||
after using this command. If you want Vim to overrule your settings with the
|
after using this command. If you want Vim to overrule your settings with the
|
||||||
defaults, use: >
|
defaults, use: >
|
||||||
:syntax on
|
:syntax on
|
||||||
@@ -810,12 +812,9 @@ See |mysyntaxfile-add| for installing script languages permanently.
|
|||||||
|
|
||||||
APACHE *apache.vim* *ft-apache-syntax*
|
APACHE *apache.vim* *ft-apache-syntax*
|
||||||
|
|
||||||
The apache syntax file provides syntax highlighting depending on Apache HTTP
|
The apache syntax file provides syntax highlighting for Apache HTTP server
|
||||||
server version, by default for 1.3.x. Set "apache_version" to Apache version
|
version 2.2.3.
|
||||||
(as a string) to get highlighting for another version. Example: >
|
|
||||||
|
|
||||||
:let apache_version = "2.0"
|
|
||||||
<
|
|
||||||
|
|
||||||
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
|
||||||
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
ASSEMBLY *ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
$ motion.txt /*$*
|
$ motion.txt /*$*
|
||||||
$HOME options.txt /*$HOME*
|
$HOME options.txt /*$HOME*
|
||||||
$HOME-use version5.txt /*$HOME-use*
|
$HOME-use version5.txt /*$HOME-use*
|
||||||
|
$HOME-windows options.txt /*$HOME-windows*
|
||||||
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
$MYGVIMRC gui.txt /*$MYGVIMRC*
|
||||||
$MYVIMRC starting.txt /*$MYVIMRC*
|
$MYVIMRC starting.txt /*$MYVIMRC*
|
||||||
$VIM starting.txt /*$VIM*
|
$VIM starting.txt /*$VIM*
|
||||||
@@ -306,6 +307,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'go-g' options.txt /*'go-g'*
|
'go-g' options.txt /*'go-g'*
|
||||||
'go-h' options.txt /*'go-h'*
|
'go-h' options.txt /*'go-h'*
|
||||||
'go-i' options.txt /*'go-i'*
|
'go-i' options.txt /*'go-i'*
|
||||||
|
'go-k' options.txt /*'go-k'*
|
||||||
'go-l' options.txt /*'go-l'*
|
'go-l' options.txt /*'go-l'*
|
||||||
'go-m' options.txt /*'go-m'*
|
'go-m' options.txt /*'go-m'*
|
||||||
'go-p' options.txt /*'go-p'*
|
'go-p' options.txt /*'go-p'*
|
||||||
@@ -366,7 +368,9 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'ims' options.txt /*'ims'*
|
'ims' options.txt /*'ims'*
|
||||||
'imsearch' options.txt /*'imsearch'*
|
'imsearch' options.txt /*'imsearch'*
|
||||||
'imsf' options.txt /*'imsf'*
|
'imsf' options.txt /*'imsf'*
|
||||||
|
'imst' options.txt /*'imst'*
|
||||||
'imstatusfunc' options.txt /*'imstatusfunc'*
|
'imstatusfunc' options.txt /*'imstatusfunc'*
|
||||||
|
'imstyle' options.txt /*'imstyle'*
|
||||||
'inc' options.txt /*'inc'*
|
'inc' options.txt /*'inc'*
|
||||||
'include' options.txt /*'include'*
|
'include' options.txt /*'include'*
|
||||||
'includeexpr' options.txt /*'includeexpr'*
|
'includeexpr' options.txt /*'includeexpr'*
|
||||||
@@ -474,6 +478,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'msm' options.txt /*'msm'*
|
'msm' options.txt /*'msm'*
|
||||||
'mzq' options.txt /*'mzq'*
|
'mzq' options.txt /*'mzq'*
|
||||||
'mzquantum' options.txt /*'mzquantum'*
|
'mzquantum' options.txt /*'mzquantum'*
|
||||||
|
'mzschemedll' options.txt /*'mzschemedll'*
|
||||||
|
'mzschemegcdll' options.txt /*'mzschemegcdll'*
|
||||||
'nf' options.txt /*'nf'*
|
'nf' options.txt /*'nf'*
|
||||||
'noacd' options.txt /*'noacd'*
|
'noacd' options.txt /*'noacd'*
|
||||||
'noai' options.txt /*'noai'*
|
'noai' options.txt /*'noai'*
|
||||||
@@ -746,6 +752,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
'path' options.txt /*'path'*
|
'path' options.txt /*'path'*
|
||||||
'pdev' options.txt /*'pdev'*
|
'pdev' options.txt /*'pdev'*
|
||||||
'penc' options.txt /*'penc'*
|
'penc' options.txt /*'penc'*
|
||||||
|
'perldll' options.txt /*'perldll'*
|
||||||
'pex' options.txt /*'pex'*
|
'pex' options.txt /*'pex'*
|
||||||
'pexpr' options.txt /*'pexpr'*
|
'pexpr' options.txt /*'pexpr'*
|
||||||
'pfn' options.txt /*'pfn'*
|
'pfn' options.txt /*'pfn'*
|
||||||
@@ -971,6 +978,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_PE' term.txt /*'t_PE'*
|
't_PE' term.txt /*'t_PE'*
|
||||||
't_PS' term.txt /*'t_PS'*
|
't_PS' term.txt /*'t_PS'*
|
||||||
't_RB' term.txt /*'t_RB'*
|
't_RB' term.txt /*'t_RB'*
|
||||||
|
't_RC' term.txt /*'t_RC'*
|
||||||
|
't_RF' term.txt /*'t_RF'*
|
||||||
't_RI' term.txt /*'t_RI'*
|
't_RI' term.txt /*'t_RI'*
|
||||||
't_RS' term.txt /*'t_RS'*
|
't_RS' term.txt /*'t_RS'*
|
||||||
't_RV' term.txt /*'t_RV'*
|
't_RV' term.txt /*'t_RV'*
|
||||||
@@ -980,6 +989,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
't_SR' term.txt /*'t_SR'*
|
't_SR' term.txt /*'t_SR'*
|
||||||
't_Sb' term.txt /*'t_Sb'*
|
't_Sb' term.txt /*'t_Sb'*
|
||||||
't_Sf' term.txt /*'t_Sf'*
|
't_Sf' term.txt /*'t_Sf'*
|
||||||
|
't_Te' term.txt /*'t_Te'*
|
||||||
|
't_Ts' term.txt /*'t_Ts'*
|
||||||
't_VS' term.txt /*'t_VS'*
|
't_VS' term.txt /*'t_VS'*
|
||||||
't_WP' term.txt /*'t_WP'*
|
't_WP' term.txt /*'t_WP'*
|
||||||
't_WS' term.txt /*'t_WS'*
|
't_WS' term.txt /*'t_WS'*
|
||||||
@@ -1328,6 +1339,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
+timers various.txt /*+timers*
|
+timers various.txt /*+timers*
|
||||||
+title various.txt /*+title*
|
+title various.txt /*+title*
|
||||||
+toolbar various.txt /*+toolbar*
|
+toolbar various.txt /*+toolbar*
|
||||||
|
+unix eval.txt /*+unix*
|
||||||
+user_commands various.txt /*+user_commands*
|
+user_commands various.txt /*+user_commands*
|
||||||
+vertsplit various.txt /*+vertsplit*
|
+vertsplit various.txt /*+vertsplit*
|
||||||
+viminfo various.txt /*+viminfo*
|
+viminfo various.txt /*+viminfo*
|
||||||
@@ -1892,6 +1904,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:<afile> cmdline.txt /*:<afile>*
|
:<afile> cmdline.txt /*:<afile>*
|
||||||
:<amatch> cmdline.txt /*:<amatch>*
|
:<amatch> cmdline.txt /*:<amatch>*
|
||||||
:<cWORD> cmdline.txt /*:<cWORD>*
|
:<cWORD> cmdline.txt /*:<cWORD>*
|
||||||
|
:<cexpr> cmdline.txt /*:<cexpr>*
|
||||||
:<cfile> cmdline.txt /*:<cfile>*
|
:<cfile> cmdline.txt /*:<cfile>*
|
||||||
:<cword> cmdline.txt /*:<cword>*
|
:<cword> cmdline.txt /*:<cword>*
|
||||||
:<sfile> cmdline.txt /*:<sfile>*
|
:<sfile> cmdline.txt /*:<sfile>*
|
||||||
@@ -1951,6 +1964,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:Sexplore pi_netrw.txt /*:Sexplore*
|
:Sexplore pi_netrw.txt /*:Sexplore*
|
||||||
:TOhtml syntax.txt /*:TOhtml*
|
:TOhtml syntax.txt /*:TOhtml*
|
||||||
:TarDiff pi_tar.txt /*:TarDiff*
|
:TarDiff pi_tar.txt /*:TarDiff*
|
||||||
|
:Termdebug terminal.txt /*:Termdebug*
|
||||||
:Texplore pi_netrw.txt /*:Texplore*
|
:Texplore pi_netrw.txt /*:Texplore*
|
||||||
:UseVimball pi_vimball.txt /*:UseVimball*
|
:UseVimball pi_vimball.txt /*:UseVimball*
|
||||||
:Vexplore pi_netrw.txt /*:Vexplore*
|
:Vexplore pi_netrw.txt /*:Vexplore*
|
||||||
@@ -3122,9 +3136,16 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:tl tagsrch.txt /*:tl*
|
:tl tagsrch.txt /*:tl*
|
||||||
:tlast tagsrch.txt /*:tlast*
|
:tlast tagsrch.txt /*:tlast*
|
||||||
:tm gui.txt /*:tm*
|
:tm gui.txt /*:tm*
|
||||||
|
:tma map.txt /*:tma*
|
||||||
|
:tmap map.txt /*:tmap*
|
||||||
|
:tmap_l map.txt /*:tmap_l*
|
||||||
|
:tmapc map.txt /*:tmapc*
|
||||||
|
:tmapclear map.txt /*:tmapclear*
|
||||||
:tmenu gui.txt /*:tmenu*
|
:tmenu gui.txt /*:tmenu*
|
||||||
:tn tagsrch.txt /*:tn*
|
:tn tagsrch.txt /*:tn*
|
||||||
:tnext tagsrch.txt /*:tnext*
|
:tnext tagsrch.txt /*:tnext*
|
||||||
|
:tno map.txt /*:tno*
|
||||||
|
:tnoremap map.txt /*:tnoremap*
|
||||||
:topleft windows.txt /*:topleft*
|
:topleft windows.txt /*:topleft*
|
||||||
:tp tagsrch.txt /*:tp*
|
:tp tagsrch.txt /*:tp*
|
||||||
:tprevious tagsrch.txt /*:tprevious*
|
:tprevious tagsrch.txt /*:tprevious*
|
||||||
@@ -3134,6 +3155,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:ts tagsrch.txt /*:ts*
|
:ts tagsrch.txt /*:ts*
|
||||||
:tselect tagsrch.txt /*:tselect*
|
:tselect tagsrch.txt /*:tselect*
|
||||||
:tu gui.txt /*:tu*
|
:tu gui.txt /*:tu*
|
||||||
|
:tunma map.txt /*:tunma*
|
||||||
|
:tunmap map.txt /*:tunmap*
|
||||||
:tunmenu gui.txt /*:tunmenu*
|
:tunmenu gui.txt /*:tunmenu*
|
||||||
:u undo.txt /*:u*
|
:u undo.txt /*:u*
|
||||||
:un undo.txt /*:un*
|
:un undo.txt /*:un*
|
||||||
@@ -3398,6 +3421,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<bang> map.txt /*<bang>*
|
<bang> map.txt /*<bang>*
|
||||||
<buffer=N> autocmd.txt /*<buffer=N>*
|
<buffer=N> autocmd.txt /*<buffer=N>*
|
||||||
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
|
||||||
|
<cexpr> cmdline.txt /*<cexpr>*
|
||||||
<cfile> cmdline.txt /*<cfile>*
|
<cfile> cmdline.txt /*<cfile>*
|
||||||
<character> intro.txt /*<character>*
|
<character> intro.txt /*<character>*
|
||||||
<count> map.txt /*<count>*
|
<count> map.txt /*<count>*
|
||||||
@@ -3428,6 +3452,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<mods> map.txt /*<mods>*
|
<mods> map.txt /*<mods>*
|
||||||
<nomodeline> autocmd.txt /*<nomodeline>*
|
<nomodeline> autocmd.txt /*<nomodeline>*
|
||||||
<q-args> map.txt /*<q-args>*
|
<q-args> map.txt /*<q-args>*
|
||||||
|
<range> map.txt /*<range>*
|
||||||
<reg> map.txt /*<reg>*
|
<reg> map.txt /*<reg>*
|
||||||
<register> map.txt /*<register>*
|
<register> map.txt /*<register>*
|
||||||
<sfile> cmdline.txt /*<sfile>*
|
<sfile> cmdline.txt /*<sfile>*
|
||||||
@@ -3633,6 +3658,8 @@ Cmd-event autocmd.txt /*Cmd-event*
|
|||||||
CmdUndefined autocmd.txt /*CmdUndefined*
|
CmdUndefined autocmd.txt /*CmdUndefined*
|
||||||
Cmdline cmdline.txt /*Cmdline*
|
Cmdline cmdline.txt /*Cmdline*
|
||||||
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
Cmdline-mode cmdline.txt /*Cmdline-mode*
|
||||||
|
CmdlineEnter autocmd.txt /*CmdlineEnter*
|
||||||
|
CmdlineLeave autocmd.txt /*CmdlineLeave*
|
||||||
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
CmdwinEnter autocmd.txt /*CmdwinEnter*
|
||||||
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
CmdwinLeave autocmd.txt /*CmdwinLeave*
|
||||||
ColorScheme autocmd.txt /*ColorScheme*
|
ColorScheme autocmd.txt /*ColorScheme*
|
||||||
@@ -3735,7 +3762,6 @@ E169 message.txt /*E169*
|
|||||||
E17 message.txt /*E17*
|
E17 message.txt /*E17*
|
||||||
E170 eval.txt /*E170*
|
E170 eval.txt /*E170*
|
||||||
E171 eval.txt /*E171*
|
E171 eval.txt /*E171*
|
||||||
E172 message.txt /*E172*
|
|
||||||
E173 message.txt /*E173*
|
E173 message.txt /*E173*
|
||||||
E174 map.txt /*E174*
|
E174 map.txt /*E174*
|
||||||
E175 map.txt /*E175*
|
E175 map.txt /*E175*
|
||||||
@@ -4829,6 +4855,7 @@ W22 eval.txt /*W22*
|
|||||||
WORD motion.txt /*WORD*
|
WORD motion.txt /*WORD*
|
||||||
WWW intro.txt /*WWW*
|
WWW intro.txt /*WWW*
|
||||||
Win32 os_win32.txt /*Win32*
|
Win32 os_win32.txt /*Win32*
|
||||||
|
WinBar gui.txt /*WinBar*
|
||||||
WinEnter autocmd.txt /*WinEnter*
|
WinEnter autocmd.txt /*WinEnter*
|
||||||
WinLeave autocmd.txt /*WinLeave*
|
WinLeave autocmd.txt /*WinLeave*
|
||||||
WinNew autocmd.txt /*WinNew*
|
WinNew autocmd.txt /*WinNew*
|
||||||
@@ -6367,10 +6394,15 @@ g:netrw_list_cmd_options pi_netrw.txt /*g:netrw_list_cmd_options*
|
|||||||
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
|
||||||
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
g:netrw_liststyle pi_netrw.txt /*g:netrw_liststyle*
|
||||||
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
g:netrw_localcopycmd pi_netrw.txt /*g:netrw_localcopycmd*
|
||||||
|
g:netrw_localcopycmdopt pi_netrw.txt /*g:netrw_localcopycmdopt*
|
||||||
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
g:netrw_localcopydircmd pi_netrw.txt /*g:netrw_localcopydircmd*
|
||||||
|
g:netrw_localcopydircmdopt pi_netrw.txt /*g:netrw_localcopydircmdopt*
|
||||||
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
g:netrw_localmkdir pi_netrw.txt /*g:netrw_localmkdir*
|
||||||
|
g:netrw_localmkdiropt pi_netrw.txt /*g:netrw_localmkdiropt*
|
||||||
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
|
||||||
|
g:netrw_localmovecmdopt pi_netrw.txt /*g:netrw_localmovecmdopt*
|
||||||
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
|
||||||
|
g:netrw_localrmdiropt pi_netrw.txt /*g:netrw_localrmdiropt*
|
||||||
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
|
||||||
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
|
||||||
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
|
||||||
@@ -6380,11 +6412,13 @@ g:netrw_nogx pi_netrw.txt /*g:netrw_nogx*
|
|||||||
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
g:netrw_preview pi_netrw.txt /*g:netrw_preview*
|
||||||
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
g:netrw_rcp_cmd pi_netrw.txt /*g:netrw_rcp_cmd*
|
||||||
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
g:netrw_remote_mkdir pi_netrw.txt /*g:netrw_remote_mkdir*
|
||||||
|
g:netrw_rename_cmd pi_netrw.txt /*g:netrw_rename_cmd*
|
||||||
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
g:netrw_retmap pi_netrw.txt /*g:netrw_retmap*
|
||||||
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
|
||||||
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
|
||||||
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
|
||||||
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
g:netrw_rsync_cmd pi_netrw.txt /*g:netrw_rsync_cmd*
|
||||||
|
g:netrw_rsync_sep pi_netrw.txt /*g:netrw_rsync_sep*
|
||||||
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
g:netrw_scp_cmd pi_netrw.txt /*g:netrw_scp_cmd*
|
||||||
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
g:netrw_scpport pi_netrw.txt /*g:netrw_scpport*
|
||||||
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
g:netrw_sepchr pi_netrw.txt /*g:netrw_sepchr*
|
||||||
@@ -6502,6 +6536,7 @@ ga various.txt /*ga*
|
|||||||
garbagecollect() eval.txt /*garbagecollect()*
|
garbagecollect() eval.txt /*garbagecollect()*
|
||||||
gd pattern.txt /*gd*
|
gd pattern.txt /*gd*
|
||||||
gdb debug.txt /*gdb*
|
gdb debug.txt /*gdb*
|
||||||
|
gdb-version terminal.txt /*gdb-version*
|
||||||
ge motion.txt /*ge*
|
ge motion.txt /*ge*
|
||||||
get() eval.txt /*get()*
|
get() eval.txt /*get()*
|
||||||
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
get-ms-debuggers debug.txt /*get-ms-debuggers*
|
||||||
@@ -7270,6 +7305,7 @@ mapmode-n map.txt /*mapmode-n*
|
|||||||
mapmode-nvo map.txt /*mapmode-nvo*
|
mapmode-nvo map.txt /*mapmode-nvo*
|
||||||
mapmode-o map.txt /*mapmode-o*
|
mapmode-o map.txt /*mapmode-o*
|
||||||
mapmode-s map.txt /*mapmode-s*
|
mapmode-s map.txt /*mapmode-s*
|
||||||
|
mapmode-t map.txt /*mapmode-t*
|
||||||
mapmode-v map.txt /*mapmode-v*
|
mapmode-v map.txt /*mapmode-v*
|
||||||
mapmode-x map.txt /*mapmode-x*
|
mapmode-x map.txt /*mapmode-x*
|
||||||
mapping map.txt /*mapping*
|
mapping map.txt /*mapping*
|
||||||
@@ -7457,7 +7493,11 @@ netrw-browser-var pi_netrw.txt /*netrw-browser-var*
|
|||||||
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
netrw-browsing pi_netrw.txt /*netrw-browsing*
|
||||||
netrw-c pi_netrw.txt /*netrw-c*
|
netrw-c pi_netrw.txt /*netrw-c*
|
||||||
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
netrw-c-tab pi_netrw.txt /*netrw-c-tab*
|
||||||
|
netrw-cB pi_netrw.txt /*netrw-cB*
|
||||||
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
|
||||||
|
netrw-call pi_netrw.txt /*netrw-call*
|
||||||
|
netrw-cb pi_netrw.txt /*netrw-cb*
|
||||||
|
netrw-cd pi_netrw.txt /*netrw-cd*
|
||||||
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
netrw-chgup pi_netrw.txt /*netrw-chgup*
|
||||||
netrw-clean pi_netrw.txt /*netrw-clean*
|
netrw-clean pi_netrw.txt /*netrw-clean*
|
||||||
netrw-contents pi_netrw.txt /*netrw-contents*
|
netrw-contents pi_netrw.txt /*netrw-contents*
|
||||||
@@ -7483,6 +7523,7 @@ netrw-enter pi_netrw.txt /*netrw-enter*
|
|||||||
netrw-ex pi_netrw.txt /*netrw-ex*
|
netrw-ex pi_netrw.txt /*netrw-ex*
|
||||||
netrw-explore pi_netrw.txt /*netrw-explore*
|
netrw-explore pi_netrw.txt /*netrw-explore*
|
||||||
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
|
||||||
|
netrw-expose pi_netrw.txt /*netrw-expose*
|
||||||
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
netrw-externapp pi_netrw.txt /*netrw-externapp*
|
||||||
netrw-file pi_netrw.txt /*netrw-file*
|
netrw-file pi_netrw.txt /*netrw-file*
|
||||||
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
netrw-filigree pi_netrw.txt /*netrw-filigree*
|
||||||
@@ -7532,6 +7573,7 @@ netrw-mh pi_netrw.txt /*netrw-mh*
|
|||||||
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
netrw-middlemouse pi_netrw.txt /*netrw-middlemouse*
|
||||||
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
netrw-ml_get pi_netrw.txt /*netrw-ml_get*
|
||||||
netrw-mm pi_netrw.txt /*netrw-mm*
|
netrw-mm pi_netrw.txt /*netrw-mm*
|
||||||
|
netrw-modify pi_netrw.txt /*netrw-modify*
|
||||||
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
netrw-mouse pi_netrw.txt /*netrw-mouse*
|
||||||
netrw-move pi_netrw.txt /*netrw-move*
|
netrw-move pi_netrw.txt /*netrw-move*
|
||||||
netrw-mp pi_netrw.txt /*netrw-mp*
|
netrw-mp pi_netrw.txt /*netrw-mp*
|
||||||
@@ -7777,6 +7819,7 @@ option-summary options.txt /*option-summary*
|
|||||||
option-window options.txt /*option-window*
|
option-window options.txt /*option-window*
|
||||||
options options.txt /*options*
|
options options.txt /*options*
|
||||||
options-changed version5.txt /*options-changed*
|
options-changed version5.txt /*options-changed*
|
||||||
|
options-in-terminal terminal.txt /*options-in-terminal*
|
||||||
options.txt options.txt /*options.txt*
|
options.txt options.txt /*options.txt*
|
||||||
optwin options.txt /*optwin*
|
optwin options.txt /*optwin*
|
||||||
or() eval.txt /*or()*
|
or() eval.txt /*or()*
|
||||||
@@ -8005,6 +8048,7 @@ qnx-terminal os_qnx.txt /*qnx-terminal*
|
|||||||
quake.vim syntax.txt /*quake.vim*
|
quake.vim syntax.txt /*quake.vim*
|
||||||
quickfix quickfix.txt /*quickfix*
|
quickfix quickfix.txt /*quickfix*
|
||||||
quickfix-6 version6.txt /*quickfix-6*
|
quickfix-6 version6.txt /*quickfix-6*
|
||||||
|
quickfix-ID quickfix.txt /*quickfix-ID*
|
||||||
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||||
@@ -8234,6 +8278,7 @@ servername-variable eval.txt /*servername-variable*
|
|||||||
session-file starting.txt /*session-file*
|
session-file starting.txt /*session-file*
|
||||||
set-option options.txt /*set-option*
|
set-option options.txt /*set-option*
|
||||||
set-spc-auto spell.txt /*set-spc-auto*
|
set-spc-auto spell.txt /*set-spc-auto*
|
||||||
|
setbufline() eval.txt /*setbufline()*
|
||||||
setbufvar() eval.txt /*setbufvar()*
|
setbufvar() eval.txt /*setbufvar()*
|
||||||
setcharsearch() eval.txt /*setcharsearch()*
|
setcharsearch() eval.txt /*setcharsearch()*
|
||||||
setcmdpos() eval.txt /*setcmdpos()*
|
setcmdpos() eval.txt /*setcmdpos()*
|
||||||
@@ -8440,6 +8485,7 @@ star pattern.txt /*star*
|
|||||||
starstar editing.txt /*starstar*
|
starstar editing.txt /*starstar*
|
||||||
starstar-wildcard editing.txt /*starstar-wildcard*
|
starstar-wildcard editing.txt /*starstar-wildcard*
|
||||||
start-of-file pattern.txt /*start-of-file*
|
start-of-file pattern.txt /*start-of-file*
|
||||||
|
start-vimdiff diff.txt /*start-vimdiff*
|
||||||
starting starting.txt /*starting*
|
starting starting.txt /*starting*
|
||||||
starting-amiga starting.txt /*starting-amiga*
|
starting-amiga starting.txt /*starting-amiga*
|
||||||
starting.txt starting.txt /*starting.txt*
|
starting.txt starting.txt /*starting.txt*
|
||||||
@@ -8460,6 +8506,7 @@ strdisplaywidth() eval.txt /*strdisplaywidth()*
|
|||||||
strftime() eval.txt /*strftime()*
|
strftime() eval.txt /*strftime()*
|
||||||
strgetchar() eval.txt /*strgetchar()*
|
strgetchar() eval.txt /*strgetchar()*
|
||||||
stridx() eval.txt /*stridx()*
|
stridx() eval.txt /*stridx()*
|
||||||
|
strikethrough syntax.txt /*strikethrough*
|
||||||
string eval.txt /*string*
|
string eval.txt /*string*
|
||||||
string() eval.txt /*string()*
|
string() eval.txt /*string()*
|
||||||
string-functions usr_41.txt /*string-functions*
|
string-functions usr_41.txt /*string-functions*
|
||||||
@@ -8590,6 +8637,8 @@ t_KL term.txt /*t_KL*
|
|||||||
t_PE term.txt /*t_PE*
|
t_PE term.txt /*t_PE*
|
||||||
t_PS term.txt /*t_PS*
|
t_PS term.txt /*t_PS*
|
||||||
t_RB term.txt /*t_RB*
|
t_RB term.txt /*t_RB*
|
||||||
|
t_RC term.txt /*t_RC*
|
||||||
|
t_RF term.txt /*t_RF*
|
||||||
t_RI term.txt /*t_RI*
|
t_RI term.txt /*t_RI*
|
||||||
t_RS term.txt /*t_RS*
|
t_RS term.txt /*t_RS*
|
||||||
t_RV term.txt /*t_RV*
|
t_RV term.txt /*t_RV*
|
||||||
@@ -8599,6 +8648,8 @@ t_SI term.txt /*t_SI*
|
|||||||
t_SR term.txt /*t_SR*
|
t_SR term.txt /*t_SR*
|
||||||
t_Sb term.txt /*t_Sb*
|
t_Sb term.txt /*t_Sb*
|
||||||
t_Sf term.txt /*t_Sf*
|
t_Sf term.txt /*t_Sf*
|
||||||
|
t_Te term.txt /*t_Te*
|
||||||
|
t_Ts term.txt /*t_Ts*
|
||||||
t_VS term.txt /*t_VS*
|
t_VS term.txt /*t_VS*
|
||||||
t_WP term.txt /*t_WP*
|
t_WP term.txt /*t_WP*
|
||||||
t_WS term.txt /*t_WS*
|
t_WS term.txt /*t_WS*
|
||||||
@@ -8830,6 +8881,7 @@ term_gettty() eval.txt /*term_gettty()*
|
|||||||
term_list() eval.txt /*term_list()*
|
term_list() eval.txt /*term_list()*
|
||||||
term_scrape() eval.txt /*term_scrape()*
|
term_scrape() eval.txt /*term_scrape()*
|
||||||
term_sendkeys() eval.txt /*term_sendkeys()*
|
term_sendkeys() eval.txt /*term_sendkeys()*
|
||||||
|
term_setsize() eval.txt /*term_setsize()*
|
||||||
term_start() eval.txt /*term_start()*
|
term_start() eval.txt /*term_start()*
|
||||||
term_wait() eval.txt /*term_wait()*
|
term_wait() eval.txt /*term_wait()*
|
||||||
termcap term.txt /*termcap*
|
termcap term.txt /*termcap*
|
||||||
@@ -8839,15 +8891,29 @@ termcap-cursor-color term.txt /*termcap-cursor-color*
|
|||||||
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
termcap-cursor-shape term.txt /*termcap-cursor-shape*
|
||||||
termcap-options term.txt /*termcap-options*
|
termcap-options term.txt /*termcap-options*
|
||||||
termcap-title term.txt /*termcap-title*
|
termcap-title term.txt /*termcap-title*
|
||||||
|
termdebug-commands terminal.txt /*termdebug-commands*
|
||||||
|
termdebug-communication terminal.txt /*termdebug-communication*
|
||||||
|
termdebug-customizing terminal.txt /*termdebug-customizing*
|
||||||
|
termdebug-example terminal.txt /*termdebug-example*
|
||||||
|
termdebug-starting terminal.txt /*termdebug-starting*
|
||||||
|
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||||
|
termdebug-variables terminal.txt /*termdebug-variables*
|
||||||
terminal terminal.txt /*terminal*
|
terminal terminal.txt /*terminal*
|
||||||
terminal-colors os_unix.txt /*terminal-colors*
|
terminal-colors os_unix.txt /*terminal-colors*
|
||||||
|
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||||
terminal-debug terminal.txt /*terminal-debug*
|
terminal-debug terminal.txt /*terminal-debug*
|
||||||
terminal-functions usr_41.txt /*terminal-functions*
|
terminal-functions usr_41.txt /*terminal-functions*
|
||||||
terminal-info term.txt /*terminal-info*
|
terminal-info term.txt /*terminal-info*
|
||||||
terminal-key-codes term.txt /*terminal-key-codes*
|
terminal-key-codes term.txt /*terminal-key-codes*
|
||||||
|
terminal-ms-windows terminal.txt /*terminal-ms-windows*
|
||||||
terminal-options term.txt /*terminal-options*
|
terminal-options term.txt /*terminal-options*
|
||||||
terminal-output-codes term.txt /*terminal-output-codes*
|
terminal-output-codes term.txt /*terminal-output-codes*
|
||||||
|
terminal-resizing terminal.txt /*terminal-resizing*
|
||||||
|
terminal-size-color terminal.txt /*terminal-size-color*
|
||||||
|
terminal-special-keys terminal.txt /*terminal-special-keys*
|
||||||
terminal-testing terminal.txt /*terminal-testing*
|
terminal-testing terminal.txt /*terminal-testing*
|
||||||
|
terminal-typing terminal.txt /*terminal-typing*
|
||||||
|
terminal-unix terminal.txt /*terminal-unix*
|
||||||
terminal-use terminal.txt /*terminal-use*
|
terminal-use terminal.txt /*terminal-use*
|
||||||
terminal.txt terminal.txt /*terminal.txt*
|
terminal.txt terminal.txt /*terminal.txt*
|
||||||
terminfo term.txt /*terminfo*
|
terminfo term.txt /*terminfo*
|
||||||
@@ -8855,6 +8921,7 @@ termresponse-variable eval.txt /*termresponse-variable*
|
|||||||
test-functions usr_41.txt /*test-functions*
|
test-functions usr_41.txt /*test-functions*
|
||||||
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
test_alloc_fail() eval.txt /*test_alloc_fail()*
|
||||||
test_autochdir() eval.txt /*test_autochdir()*
|
test_autochdir() eval.txt /*test_autochdir()*
|
||||||
|
test_feedinput() eval.txt /*test_feedinput()*
|
||||||
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
||||||
test_ignore_error() eval.txt /*test_ignore_error()*
|
test_ignore_error() eval.txt /*test_ignore_error()*
|
||||||
test_null_channel() eval.txt /*test_null_channel()*
|
test_null_channel() eval.txt /*test_null_channel()*
|
||||||
@@ -9081,7 +9148,12 @@ v:t_list eval.txt /*v:t_list*
|
|||||||
v:t_none eval.txt /*v:t_none*
|
v:t_none eval.txt /*v:t_none*
|
||||||
v:t_number eval.txt /*v:t_number*
|
v:t_number eval.txt /*v:t_number*
|
||||||
v:t_string eval.txt /*v:t_string*
|
v:t_string eval.txt /*v:t_string*
|
||||||
|
v:termblinkresp eval.txt /*v:termblinkresp*
|
||||||
|
v:termrbgresp eval.txt /*v:termrbgresp*
|
||||||
v:termresponse eval.txt /*v:termresponse*
|
v:termresponse eval.txt /*v:termresponse*
|
||||||
|
v:termrfgresp eval.txt /*v:termrfgresp*
|
||||||
|
v:termstyleresp eval.txt /*v:termstyleresp*
|
||||||
|
v:termu7resp eval.txt /*v:termu7resp*
|
||||||
v:testing eval.txt /*v:testing*
|
v:testing eval.txt /*v:testing*
|
||||||
v:this_session eval.txt /*v:this_session*
|
v:this_session eval.txt /*v:this_session*
|
||||||
v:throwpoint eval.txt /*v:throwpoint*
|
v:throwpoint eval.txt /*v:throwpoint*
|
||||||
@@ -9364,6 +9436,8 @@ wildmenumode() eval.txt /*wildmenumode()*
|
|||||||
win32 os_win32.txt /*win32*
|
win32 os_win32.txt /*win32*
|
||||||
win32-!start gui_w32.txt /*win32-!start*
|
win32-!start gui_w32.txt /*win32-!start*
|
||||||
win32-PATH os_win32.txt /*win32-PATH*
|
win32-PATH os_win32.txt /*win32-PATH*
|
||||||
|
win32-backslashes os_win32.txt /*win32-backslashes*
|
||||||
|
win32-cmdargs os_win32.txt /*win32-cmdargs*
|
||||||
win32-colors gui_w32.txt /*win32-colors*
|
win32-colors gui_w32.txt /*win32-colors*
|
||||||
win32-compiling os_win32.txt /*win32-compiling*
|
win32-compiling os_win32.txt /*win32-compiling*
|
||||||
win32-curdir os_win32.txt /*win32-curdir*
|
win32-curdir os_win32.txt /*win32-curdir*
|
||||||
@@ -9401,6 +9475,7 @@ window-resize windows.txt /*window-resize*
|
|||||||
window-size term.txt /*window-size*
|
window-size term.txt /*window-size*
|
||||||
window-size-functions usr_41.txt /*window-size-functions*
|
window-size-functions usr_41.txt /*window-size-functions*
|
||||||
window-tag windows.txt /*window-tag*
|
window-tag windows.txt /*window-tag*
|
||||||
|
window-toolbar gui.txt /*window-toolbar*
|
||||||
window-variable eval.txt /*window-variable*
|
window-variable eval.txt /*window-variable*
|
||||||
windowid windows.txt /*windowid*
|
windowid windows.txt /*windowid*
|
||||||
windowid-variable eval.txt /*windowid-variable*
|
windowid-variable eval.txt /*windowid-variable*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*tagsrch.txt* For Vim version 8.0. Last change: 2016 Sep 20
|
*tagsrch.txt* For Vim version 8.0. Last change: 2017 Oct 20
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -195,6 +195,7 @@ the same entry.
|
|||||||
information in the tags file(s).
|
information in the tags file(s).
|
||||||
When [ident] is not given, the last tag name from the
|
When [ident] is not given, the last tag name from the
|
||||||
tag stack is used.
|
tag stack is used.
|
||||||
|
See |tag-!| for [!].
|
||||||
With a '>' in the first column is indicated which is
|
With a '>' in the first column is indicated which is
|
||||||
the current position in the list (if there is one).
|
the current position in the list (if there is one).
|
||||||
[ident] can be a regexp pattern, see |tag-regexp|.
|
[ident] can be a regexp pattern, see |tag-regexp|.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*term.txt* For Vim version 8.0. Last change: 2017 Aug 26
|
*term.txt* For Vim version 8.0. Last change: 2017 Oct 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -295,8 +295,6 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||||
t_ue underline end *t_ue* *'t_ue'*
|
t_ue underline end *t_ue* *'t_ue'*
|
||||||
t_us underline mode *t_us* *'t_us'*
|
t_us underline mode *t_us* *'t_us'*
|
||||||
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
|
||||||
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
|
||||||
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
t_ut clearing uses the current background color *t_ut* *'t_ut'*
|
||||||
t_vb visual bell *t_vb* *'t_vb'*
|
t_vb visual bell *t_vb* *'t_vb'*
|
||||||
t_ve cursor visible *t_ve* *'t_ve'*
|
t_ve cursor visible *t_ve* *'t_ve'*
|
||||||
@@ -311,6 +309,10 @@ OUTPUT CODES *terminal-output-codes*
|
|||||||
t_ZR italics end *t_ZR* *'t_ZR'*
|
t_ZR italics end *t_ZR* *'t_ZR'*
|
||||||
|
|
||||||
Added by Vim (there are no standard codes for these):
|
Added by Vim (there are no standard codes for these):
|
||||||
|
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
||||||
|
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
||||||
|
t_Te strikethrough end *t_Te* *'t_Te'*
|
||||||
|
t_Ts strikethrough mode *t_Ts* *'t_Ts'*
|
||||||
t_IS set icon text start *t_IS* *'t_IS'*
|
t_IS set icon text start *t_IS* *'t_IS'*
|
||||||
t_IE set icon text end *t_IE* *'t_IE'*
|
t_IE set icon text end *t_IE* *'t_IE'*
|
||||||
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
t_WP set window position (Y, X) in pixels *t_WP* *'t_WP'*
|
||||||
@@ -325,6 +327,7 @@ Added by Vim (there are no standard codes for these):
|
|||||||
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
|
||||||
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
|
||||||
see |'ambiwidth'|
|
see |'ambiwidth'|
|
||||||
|
t_RF request terminal foreground color *t_RF* *'t_RF'*
|
||||||
t_RB request terminal background color *t_RB* *'t_RB'*
|
t_RB request terminal background color *t_RB* *'t_RB'*
|
||||||
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|
||||||
|xterm-true-color|
|
|xterm-true-color|
|
||||||
@@ -337,6 +340,7 @@ Added by Vim (there are no standard codes for these):
|
|||||||
t_SC set cursor color start *t_SC* *'t_SC'*
|
t_SC set cursor color start *t_SC* *'t_SC'*
|
||||||
t_EC set cursor color end *t_EC* *'t_EC'*
|
t_EC set cursor color end *t_EC* *'t_EC'*
|
||||||
t_SH set cursor shape *t_SH* *'t_SH'*
|
t_SH set cursor shape *t_SH* *'t_SH'*
|
||||||
|
t_RC request terminal cursor blinking *t_RC* *'t_RC'*
|
||||||
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
t_RS request terminal cursor style *t_RS* *'t_RS'*
|
||||||
|
|
||||||
Some codes have a start, middle and end part. The start and end are defined
|
Some codes have a start, middle and end part. The start and end are defined
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Sep 17
|
*terminal.txt* For Vim version 8.0. Last change: 2017 Nov 12
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -15,8 +15,24 @@ If the result is "1" you have it.
|
|||||||
|
|
||||||
|
|
||||||
1. Basic use |terminal-use|
|
1. Basic use |terminal-use|
|
||||||
|
Typing |terminal-typing|
|
||||||
|
Size and color |terminal-size-color|
|
||||||
|
Syntax |:terminal|
|
||||||
|
Resizing |terminal-resizing|
|
||||||
|
Terminal Modes |Terminal-mode|
|
||||||
|
Cursor style |terminal-cursor-style|
|
||||||
|
Special keys |terminal-special-keys|
|
||||||
|
Unix |terminal-unix|
|
||||||
|
MS-Windows |terminal-ms-windows|
|
||||||
2. Remote testing |terminal-testing|
|
2. Remote testing |terminal-testing|
|
||||||
3. Debugging |terminal-debug|
|
3. Debugging |terminal-debug|
|
||||||
|
Starting |termdebug-starting|
|
||||||
|
Example session |termdebug-example|
|
||||||
|
Stepping through code |termdebug-stepping|
|
||||||
|
Inspecting variables |termdebug-variables|
|
||||||
|
Other commands |termdebug-commands|
|
||||||
|
Communication |termdebug-communication|
|
||||||
|
Customizing |termdebug-customizing|
|
||||||
|
|
||||||
{Vi does not have any of these commands}
|
{Vi does not have any of these commands}
|
||||||
{only available when compiled with the |+terminal| feature}
|
{only available when compiled with the |+terminal| feature}
|
||||||
@@ -81,11 +97,18 @@ themselves (like Vim does).
|
|||||||
|
|
||||||
To change the keys you type use terminal mode mappings, see |:tmap|.
|
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||||
These are defined like any mapping, but apply only when typing keys that are
|
These are defined like any mapping, but apply only when typing keys that are
|
||||||
sent to the job running in the terminal.
|
sent to the job running in the terminal. For example, to make Escape switch
|
||||||
|
to Terminal-Normal mode: >
|
||||||
|
tnoremap <Esc> <C-W>N
|
||||||
|
< *options-in-terminal*
|
||||||
|
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||||
|
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||||
|
options specifically for the window and buffer. Example: >
|
||||||
|
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||||
|
|
||||||
|
|
||||||
Size and color ~
|
Size and color ~
|
||||||
|
*terminal-size-color*
|
||||||
See option 'termsize' for controlling the size of the terminal window.
|
See option 'termsize' for controlling the size of the terminal window.
|
||||||
(TODO: scrolling when the terminal is larger than the window)
|
(TODO: scrolling when the terminal is larger than the window)
|
||||||
|
|
||||||
@@ -194,7 +217,7 @@ the buffer name will still be set to the command.
|
|||||||
|
|
||||||
|
|
||||||
Resizing ~
|
Resizing ~
|
||||||
|
*terminal-resizing*
|
||||||
The size of the terminal can be in one of three modes:
|
The size of the terminal can be in one of three modes:
|
||||||
|
|
||||||
1. The 'termsize' option is empty: The terminal size follows the window size.
|
1. The 'termsize' option is empty: The terminal size follows the window size.
|
||||||
@@ -244,7 +267,7 @@ It is not possible to enter Insert mode from Terminal-Job mode.
|
|||||||
|
|
||||||
|
|
||||||
Cursor style ~
|
Cursor style ~
|
||||||
|
*terminal-cursor-style*
|
||||||
By default the cursor in the terminal window uses a not blinking block. The
|
By default the cursor in the terminal window uses a not blinking block. The
|
||||||
normal xterm escape sequences can be used to change the blinking state and the
|
normal xterm escape sequences can be used to change the blinking state and the
|
||||||
shape. Once focus leaves the terminal window Vim will restore the original
|
shape. Once focus leaves the terminal window Vim will restore the original
|
||||||
@@ -256,8 +279,21 @@ is inverted. Since Vim cannot detect this, the terminal window cursor
|
|||||||
blinking will also be inverted.
|
blinking will also be inverted.
|
||||||
|
|
||||||
|
|
||||||
Unix ~
|
Special keys ~
|
||||||
|
*terminal-special-keys*
|
||||||
|
Since the terminal emulator simulates an xterm, only escape sequences that
|
||||||
|
both Vim and xterm recognize will be available in the terminal window. If you
|
||||||
|
want to pass on other escape sequences to the job running in the terminal you
|
||||||
|
need to set up forwarding. Example: >
|
||||||
|
tmap <expr> <Esc>]b SendToTerm("\<Esc>]b")
|
||||||
|
func SendToTerm(what)
|
||||||
|
call term_sendkeys('', a:what)
|
||||||
|
return ''
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
|
||||||
|
Unix ~
|
||||||
|
*terminal-unix*
|
||||||
On Unix a pty is used to make it possible to run all kinds of commands. You
|
On Unix a pty is used to make it possible to run all kinds of commands. You
|
||||||
can even run Vim in the terminal! That's used for debugging, see below.
|
can even run Vim in the terminal! That's used for debugging, see below.
|
||||||
|
|
||||||
@@ -280,7 +316,7 @@ This will open the file "some_file.c" and put the cursor on line 123.
|
|||||||
|
|
||||||
|
|
||||||
MS-Windows ~
|
MS-Windows ~
|
||||||
|
*terminal-ms-windows*
|
||||||
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
On MS-Windows winpty is used to make it possible to run all kind of commands.
|
||||||
Obviously, they must be commands that run in a terminal, not open their own
|
Obviously, they must be commands that run in a terminal, not open their own
|
||||||
window.
|
window.
|
||||||
@@ -323,12 +359,12 @@ Vim this also works remotely over an ssh connection.
|
|||||||
|
|
||||||
|
|
||||||
Starting ~
|
Starting ~
|
||||||
|
*termdebug-starting*
|
||||||
Load the plugin with this command: >
|
Load the plugin with this command: >
|
||||||
packadd termdebug
|
packadd termdebug
|
||||||
< *:Termdebug*
|
< *:Termdebug*
|
||||||
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
||||||
:TermDebug vim
|
:Termdebug vim
|
||||||
|
|
||||||
This opens two windows:
|
This opens two windows:
|
||||||
gdb window A terminal window in which "gdb vim" is executed. Here you
|
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||||
@@ -352,37 +388,99 @@ When the debugger ends, typically by typing "quit" in the gdb window, the two
|
|||||||
opened windows are closed.
|
opened windows are closed.
|
||||||
|
|
||||||
|
|
||||||
Stepping through code ~
|
Example session ~
|
||||||
|
*termdebug-example*
|
||||||
|
Start in the Vim "src" directory and build Vim: >
|
||||||
|
% make
|
||||||
|
Start Vim: >
|
||||||
|
% ./vim
|
||||||
|
Load the termdebug plugin and start debugging Vim: >
|
||||||
|
:packadd termdebug
|
||||||
|
:Termdebug vim
|
||||||
|
You should now have three windows:
|
||||||
|
source - where you started, has a window toolbar with buttons
|
||||||
|
gdb - you can type gdb commands here
|
||||||
|
program - the executed program will use this window
|
||||||
|
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||||
|
Put focus on the gdb window and type: >
|
||||||
|
break ex_help
|
||||||
|
run
|
||||||
|
Vim will start running in the program window. Put focus there and type: >
|
||||||
|
:help gui
|
||||||
|
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||||
|
ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
|
||||||
|
line where the debugger stopped is highlighted. You can now step through the
|
||||||
|
program. Let's use the mouse: click on the "Next" button in the window
|
||||||
|
toolbar. You will see the highlighting move as the debugger executes a line
|
||||||
|
of source code.
|
||||||
|
|
||||||
|
Click "Next" a few times until the for loop is highlighted. Put the cursor on
|
||||||
|
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
|
||||||
|
displayed:
|
||||||
|
"eap->arg": 0x555555e68855 "gui" ~
|
||||||
|
This way you can inspect the value of local variables. You can also focus the
|
||||||
|
gdb window and use a "print" command, e.g.: >
|
||||||
|
print *eap
|
||||||
|
|
||||||
|
Now go back to the source window and put the cursor on the first line after
|
||||||
|
the for loop, then type: >
|
||||||
|
:Break
|
||||||
|
You will see a ">>" marker appear, this indicates the new breakpoint. Now
|
||||||
|
click "Cont" in the toolbar and the code until the breakpoint will be
|
||||||
|
executed.
|
||||||
|
|
||||||
|
You can type more advanced commands in the gdb window. For example, type: >
|
||||||
|
watch curbuf
|
||||||
|
Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
|
||||||
|
will now continue until the value of "curbuf" changes, which is in do_ecmd().
|
||||||
|
To remove this watchpoint again type in the gdb window: >
|
||||||
|
delete 3
|
||||||
|
|
||||||
|
You can see the stack by typing in the gdb window: >
|
||||||
|
where
|
||||||
|
Move through the stack frames, e.g. with: >
|
||||||
|
frame 3
|
||||||
|
The source window will show the code, at the point where the call was made to
|
||||||
|
a deeper level.
|
||||||
|
|
||||||
|
|
||||||
|
Stepping through code ~
|
||||||
|
*termdebug-stepping*
|
||||||
Put focus on the gdb window to type commands there. Some common ones are:
|
Put focus on the gdb window to type commands there. Some common ones are:
|
||||||
- CTRL-C interrupt the program
|
- CTRL-C interrupt the program
|
||||||
- next execute the current line and stop at the next line
|
- next execute the current line and stop at the next line
|
||||||
- step execute the current line and stop at the next statement, entering
|
- step execute the current line and stop at the next statement,
|
||||||
functions
|
entering functions
|
||||||
- finish execute until leaving the current function
|
- finish execute until leaving the current function
|
||||||
- where show the stack
|
- where show the stack
|
||||||
- frame N go to the Nth stack frame
|
- frame N go to the Nth stack frame
|
||||||
- continue continue execution
|
- continue continue execution
|
||||||
|
|
||||||
In the window showing the source code some commands can used to control gdb:
|
In the window showing the source code these commands can used to control gdb:
|
||||||
|
:Run [args] run the program with [args] or the previous arguments
|
||||||
|
:Arguments {args} set arguments for the next :Run
|
||||||
|
|
||||||
:Break set a breakpoint at the current line; a sign will be displayed
|
:Break set a breakpoint at the current line; a sign will be displayed
|
||||||
:Delete delete a breakpoint at the current line
|
:Delete delete a breakpoint at the current line
|
||||||
|
|
||||||
:Step execute the gdb "step" command
|
:Step execute the gdb "step" command
|
||||||
:Over execute the gdb "next" command (:Next is a Vim command)
|
:Over execute the gdb "next" command (:Next is a Vim command)
|
||||||
:Finish execute the gdb "finish" command
|
:Finish execute the gdb "finish" command
|
||||||
:Continue execute the gdb "continue" command
|
:Continue execute the gdb "continue" command
|
||||||
|
:Stop interrupt the program
|
||||||
|
|
||||||
The plugin adds a window toolbar with these entries:
|
The plugin adds a window toolbar with these entries:
|
||||||
Step :Step
|
Step :Step
|
||||||
Next :Over
|
Next :Over
|
||||||
Finish :Finish
|
Finish :Finish
|
||||||
Cont :Continue
|
Cont :Continue
|
||||||
|
Stop :Stop
|
||||||
Eval :Evaluate
|
Eval :Evaluate
|
||||||
This way you can use the mouse to perform the most common commands.
|
This way you can use the mouse to perform the most common commands.
|
||||||
|
|
||||||
|
|
||||||
Inspecting variables ~
|
Inspecting variables ~
|
||||||
|
*termdebug-variables*
|
||||||
:Evaluate evaluate the expression under the cursor
|
:Evaluate evaluate the expression under the cursor
|
||||||
K same
|
K same
|
||||||
:Evaluate {expr} evaluate {expr}
|
:Evaluate {expr} evaluate {expr}
|
||||||
@@ -392,25 +490,28 @@ This is similar to using "print" in the gdb window.
|
|||||||
|
|
||||||
|
|
||||||
Other commands ~
|
Other commands ~
|
||||||
|
*termdebug-commands*
|
||||||
:Gdb jump to the gdb window
|
:Gdb jump to the gdb window
|
||||||
:Program jump to the window with the running program
|
:Program jump to the window with the running program
|
||||||
|
|
||||||
|
|
||||||
Communication ~
|
Communication ~
|
||||||
|
*termdebug-communication*
|
||||||
There is another, hidden, buffer, which is used for Vim to communicate with
|
There is another, hidden, buffer, which is used for Vim to communicate with
|
||||||
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
|
gdb. The buffer name is "gdb communication". Do not delete this buffer, it
|
||||||
will break the debugger.
|
will break the debugger.
|
||||||
|
|
||||||
|
|
||||||
Customizing ~
|
Customizing ~
|
||||||
|
*termdebug-customizing*
|
||||||
To change the name of the gdb command, set the "termdebugger" variable before
|
To change the name of the gdb command, set the "termdebugger" variable before
|
||||||
invoking `:Termdebug`: >
|
invoking `:Termdebug`: >
|
||||||
let termdebugger = "mygdb"
|
let termdebugger = "mygdb"
|
||||||
|
< *gdb-version*
|
||||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||||
interface.
|
interface. This probably requires gdb version 7.12. if you get this error:
|
||||||
|
Undefined command: "new-ui". Try "help".~
|
||||||
|
Then your gdb is too old.
|
||||||
|
|
||||||
The color of the signs can be adjusted with these highlight groups:
|
The color of the signs can be adjusted with these highlight groups:
|
||||||
- debugPC the current position
|
- debugPC the current position
|
||||||
@@ -429,6 +530,10 @@ vertical split: >
|
|||||||
let g:termdebug_wide = 163
|
let g:termdebug_wide = 163
|
||||||
This will set &columns to 163 when :Termdebug is used. The value is restored
|
This will set &columns to 163 when :Termdebug is used. The value is restored
|
||||||
when quitting the debugger.
|
when quitting the debugger.
|
||||||
|
If g:termdebug_wide is set and &Columns is already larger than
|
||||||
|
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||||
|
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||||
|
for when the terminal can't be resized by Vim).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 8.0. Last change: 2017 Aug 27
|
*todo.txt* For Vim version 8.0. Last change: 2017 Nov 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -7,9 +7,9 @@
|
|||||||
TODO list for Vim *todo*
|
TODO list for Vim *todo*
|
||||||
|
|
||||||
This is a veeeery long list of known bugs, current work and desired
|
This is a veeeery long list of known bugs, current work and desired
|
||||||
improvements. To make it a little bit accessible, the items are grouped by
|
improvements. To make it a little bit accessible, the older items are grouped
|
||||||
subject. In the first column of the line a classification is used to be able
|
by subject. In the first column of the line a classification is used to be
|
||||||
to look for "the next thing to do":
|
able to look for "the next thing to do":
|
||||||
|
|
||||||
Priority classification:
|
Priority classification:
|
||||||
9 next point release
|
9 next point release
|
||||||
@@ -35,27 +35,35 @@ entered there will not be repeated below, unless there is extra information.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
|
Permission of viminfo tempfile can be wrong. (Simon Ruderich)
|
||||||
|
Always use 600 ? Also avoids groups problem.
|
||||||
|
patch from Simon Ruderich, Nov 8
|
||||||
|
|
||||||
No maintainer for Vietnamese translations.
|
No maintainer for Vietnamese translations.
|
||||||
No maintainer for Simplified Chinese translations.
|
No maintainer for Simplified Chinese translations.
|
||||||
|
|
||||||
|
|
||||||
Terminal emulator window:
|
Terminal emulator window:
|
||||||
- Lots of stuff to implement, see src/terminal.c
|
- Lots of stuff to implement, see src/terminal.c
|
||||||
- Add debugger interface. Implementation for gdb by Xavier de Gaye. Should
|
- Improve debugger interface:
|
||||||
work like an IDE. Try to keep it generic. Now found here:
|
Include all debug features of Agide.
|
||||||
http://clewn.sf.net.
|
- Implement the right-click popup menu for the terminal. Can use the
|
||||||
Can this replace Agide? http://www.a-a-p.org/images/debugfull.png
|
completion popup menu code and mouse dragging.
|
||||||
|
Use it for "set breakpoint", "remove breakpoint", etc.
|
||||||
- make showballoon() work in a terminal. Requires getting mouse-move
|
- make showballoon() work in a terminal. Requires getting mouse-move
|
||||||
events.
|
events.
|
||||||
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
- send 'balloonText' events for the cursor position (using CursorHold ?)
|
||||||
in terminal mode.
|
in terminal mode.
|
||||||
- Implement the right-click popup menu for the terminal. Can use the
|
- get ideas from http://clewn.sf.net
|
||||||
completion popup menu code and mouse dragging.
|
- Look into the idevim plugin/script.
|
||||||
- Look into the idevim plugin/script.
|
- Improve testing:
|
||||||
- Related wishes for NetBeans commands:
|
Make a screenshot of a terminal, store in a file.
|
||||||
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
Display a stored screenshot, display diff with another one.
|
||||||
|
Make a test that puts Vim in a specific state, make a screenshot and compare
|
||||||
|
with the expected screenshot. Set t_Co to 256.
|
||||||
|
|
||||||
+channel:
|
+channel:
|
||||||
|
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||||
|
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||||
- Try out background make plugin:
|
- Try out background make plugin:
|
||||||
https://github.com/AndrewVos/vim-make-background
|
https://github.com/AndrewVos/vim-make-background
|
||||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||||
@@ -80,6 +88,8 @@ Terminal emulator window:
|
|||||||
Although user could use "xterm -e 'cmd arg'".
|
Although user could use "xterm -e 'cmd arg'".
|
||||||
|
|
||||||
Regexp problems:
|
Regexp problems:
|
||||||
|
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||||
|
characters, esp. including 0xa0. Use character class zero.
|
||||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||||
(Manuel Ortega, 2016 Apr 24)
|
(Manuel Ortega, 2016 Apr 24)
|
||||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||||
@@ -123,12 +133,10 @@ Regexp problems:
|
|||||||
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
|
||||||
(2017 May 15, #1252)
|
(2017 May 15, #1252)
|
||||||
|
|
||||||
Patch to turn test80 into a new style test. (Yegappan Lakshmanan, 2017 Aug 20)
|
|
||||||
|
|
||||||
Include a few color schemes, based on popularity:
|
Include a few color schemes, based on popularity:
|
||||||
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
|
||||||
http://vimawesome.com/?q=tag:color-scheme
|
http://vimawesome.com/?q=tag:color-scheme
|
||||||
Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
Use names that indicate their apperance (Christian Brabandt, 2017 Aug 3)
|
||||||
- monokai - Xia Crusoe (2017 Aug 4)
|
- monokai - Xia Crusoe (2017 Aug 4)
|
||||||
- seoul256 - Christian Brabandt (2017 Aug 3)
|
- seoul256 - Christian Brabandt (2017 Aug 3)
|
||||||
- gruvbox - Christian Brabandt (2017 Aug 3)
|
- gruvbox - Christian Brabandt (2017 Aug 3)
|
||||||
@@ -137,6 +145,15 @@ Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
|||||||
Suggested by Hiroki Kokubun:
|
Suggested by Hiroki Kokubun:
|
||||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||||
|
Include solarized color scheme?, it does not support termguicolors.
|
||||||
|
-> Make check for colorscheme that it's sane.
|
||||||
|
|
||||||
|
Compiler warnings (geeknik, 2017 Oct 26):
|
||||||
|
- signed integer overflow in do_sub() (#2249)
|
||||||
|
- signed integer overflow in get_address() (#2248)
|
||||||
|
- signed integer overflow in getdecchrs() (#2254)
|
||||||
|
- signed integer overflow in nfa_regatom() (#2251)
|
||||||
|
- undefined left shift in get_string_tv() (#2250)
|
||||||
|
|
||||||
When starting with --clean packages under "start" are not loaded. Make this
|
When starting with --clean packages under "start" are not loaded. Make this
|
||||||
work: :packadd START {name} similar to :runtime START name
|
work: :packadd START {name} similar to :runtime START name
|
||||||
@@ -144,16 +161,7 @@ work: :packadd START {name} similar to :runtime START name
|
|||||||
When using :packadd files under "later" are not used, which is inconsistent
|
When using :packadd files under "later" are not used, which is inconsistent
|
||||||
with packages under "start". (xtal8, #1994)
|
with packages under "start". (xtal8, #1994)
|
||||||
|
|
||||||
After 8.0.0962 pasting leaves the cursor in another position. (Ken Takata,
|
Fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
|
||||||
2017 Aug 23, #2015) Also (zdm, 2017 Aug 23)
|
|
||||||
|
|
||||||
Patch to add quickfix list identifier. (Yegappan, 2017 Aug 15)
|
|
||||||
|
|
||||||
Mac Terminal.app: ctermbg=15 gives light grey instead of white.
|
|
||||||
ctermbg=256 breaks clearing till end of the line. Both work fine in xterm.
|
|
||||||
|
|
||||||
Patch to avoid editing a file in the session file twice. (Christian Brabandt,
|
|
||||||
2017 Aug 21) #1958
|
|
||||||
|
|
||||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||||
(Marcin Szewczyk, 2017 Apr 26)
|
(Marcin Szewczyk, 2017 Apr 26)
|
||||||
@@ -161,6 +169,10 @@ With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
|||||||
Using 'wildignore' also applies to literally entered file name. Also with
|
Using 'wildignore' also applies to literally entered file name. Also with
|
||||||
:drop (remote commands).
|
:drop (remote commands).
|
||||||
|
|
||||||
|
"gvim --remote" from a directory with non-word characters changes the current
|
||||||
|
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||||
|
Also see #1689.
|
||||||
|
|
||||||
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
|
||||||
Lemonboy can reproduce (2017 Jun 5)
|
Lemonboy can reproduce (2017 Jun 5)
|
||||||
|
|
||||||
@@ -168,35 +180,36 @@ ml_get errors with buggy script. (Dominique, 2017 Apr 30)
|
|||||||
|
|
||||||
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
|
||||||
|
|
||||||
|
When a timer is running and typing CTRL-R on the command line, it is not
|
||||||
|
redrawn properly. (xtal8, 2017 Oct 23, #2241)
|
||||||
|
|
||||||
|
Universal solution to detect if t_RS is working, using cursor position.
|
||||||
|
Koichi Iwamoto, #2126
|
||||||
|
|
||||||
|
Default install on MS-Windows should source defaults.vim.
|
||||||
|
Ask whether to use Windows or Vim key behavior?
|
||||||
|
|
||||||
|
When using command line window, CmdlineLeave is triggered without
|
||||||
|
CmdlineEnter. (xtal8, 2017 Oct 30, #2263)
|
||||||
|
Add some way to get the nested state. Although CmdwinEnter is obviously
|
||||||
|
always nested.
|
||||||
|
|
||||||
|
matchit hasn't been maintained for a long time. #955.
|
||||||
|
|
||||||
|
MS-Windows: buffer completetion doesn't work when using backslash (or slash)
|
||||||
|
for a path separator. (xtal8, #2201)
|
||||||
|
|
||||||
Test runtime files.
|
Test runtime files.
|
||||||
Start with filetype detection: testdir/test_filetype.vim
|
Start with filetype detection: testdir/test_filetype.vim
|
||||||
|
|
||||||
Patch to support on-the-spot and over-the-spot input method. (Ken Takata, 2017
|
Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
|
||||||
Feb 14). Also see #1215.
|
|
||||||
|
|
||||||
Patch to ignore case when 'diffopt' has "icase" for finding the difference
|
|
||||||
inside a line. (Rick Howe, 2017 Aug 21, 22 with test)
|
|
||||||
|
|
||||||
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
|
|
||||||
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
|
|
||||||
Update mentioned by Christian, 2016 Apr 25.
|
|
||||||
Update from Ken Takata, 2017 Aug 23.
|
|
||||||
|
|
||||||
Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
|
|
||||||
Kiichi, 2016 Feb 28)
|
|
||||||
Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
|
|
||||||
Update Aug 2017: #1953
|
|
||||||
|
|
||||||
Patch to fix indenting for raw C++ string. (Christian Brabandt, 2017 Aug 24,
|
|
||||||
#2019)
|
|
||||||
|
|
||||||
Add options_default() / options_restore() to set several options to Vim
|
Add options_default() / options_restore() to set several options to Vim
|
||||||
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
defaults for a plugin. Comments from Zyx, 2017 May 10.
|
||||||
Perhaps use a vimcontext / endvimcontext command block.
|
Perhaps use a vimcontext / endvimcontext command block.
|
||||||
|
|
||||||
Patch to fix bogus characters inserted in visual-block append. (Christian
|
After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep
|
||||||
Brabandt, 2017 Aug 23)
|
13, #2084). Set old position after the command.
|
||||||
|
|
||||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||||
Still happens (2017 Jul 9)
|
Still happens (2017 Jul 9)
|
||||||
@@ -204,23 +217,27 @@ Still happens (2017 Jul 9)
|
|||||||
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
When bracketed paste is used, pasting at the ":append" prompt does not get the
|
||||||
line breaks. (Ken Takata, 2017 Aug 22)
|
line breaks. (Ken Takata, 2017 Aug 22)
|
||||||
|
|
||||||
This example in the help does not work (Andy Wokula, 2017 Aug 20):
|
Patch for 24 bit color support in MS-Windows console, using vcon. (Nobuhiro
|
||||||
augroup mine | au! BufRead | augroup END
|
Takasaki, 2017 Oct 1, #2060). Ready to include now?
|
||||||
|
|
||||||
|
Memory leaks in test_channel? (or is it because of fork())
|
||||||
Memory leak in test_arabic.
|
Memory leak in test_arabic.
|
||||||
|
Using uninitialized value in test_crypt.
|
||||||
|
|
||||||
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
|
||||||
|
|
||||||
|
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||||
It can replace the BeOS code, which is likely not used anymore.
|
It can replace the BeOS code, which is likely not used anymore.
|
||||||
Now on github: #1856. Is now up-to-date?
|
Now on github: #1856. Updated Oct 2017
|
||||||
Got permission to include this under the Vim license.
|
Got permission to include this under the Vim license.
|
||||||
|
|
||||||
Refactored HTML indent file. (Michael Lee, #1821)
|
Refactored HTML indent file. (Michael Lee, #1821)
|
||||||
|
|
||||||
Using uninitialized value in test_crypt.
|
|
||||||
|
|
||||||
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
Test_writefile_fails_conversion failure on Solaris because if different iconv
|
||||||
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
|
||||||
|
|
||||||
|
'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
|
||||||
|
|
||||||
All functions are global, which makes functions like get() and len() awkward.
|
All functions are global, which makes functions like get() and len() awkward.
|
||||||
For the future use the ~get() and ~len() syntax, e.g.:
|
For the future use the ~get() and ~len() syntax, e.g.:
|
||||||
mylist~get(idx)
|
mylist~get(idx)
|
||||||
@@ -235,6 +252,12 @@ Alternatives for ~:
|
|||||||
|
|
||||||
The ++ options for the :edit command are also useful on the Vim command line.
|
The ++ options for the :edit command are also useful on the Vim command line.
|
||||||
|
|
||||||
|
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
|
||||||
|
#2089) Patch with possible solution by Björn Linse.
|
||||||
|
|
||||||
|
The change list index is local to a buffer, but it doesn't make sense using it
|
||||||
|
for another buffer. (lacygoll) Copy w_changelistidx to wininfo_S and back.
|
||||||
|
|
||||||
X11: Putting more than about 262040 characters of text on the clipboard and
|
X11: Putting more than about 262040 characters of text on the clipboard and
|
||||||
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
pasting it in another Vim doesn't work. (Dominique Pelle, 2008 Aug 21-23)
|
||||||
clip_x11_request_selection_cb() is called with zero value and length.
|
clip_x11_request_selection_cb() is called with zero value and length.
|
||||||
@@ -249,15 +272,27 @@ Creating a partial with an autoload function is confused about the "self"
|
|||||||
attribute of the function. For an unknown function assume "self" and make
|
attribute of the function. For an unknown function assume "self" and make
|
||||||
that optiona? (Bjorn Linse, 2017 Aug 5)
|
that optiona? (Bjorn Linse, 2017 Aug 5)
|
||||||
|
|
||||||
|
Cindent: returning a structure has more indent for the second item.
|
||||||
|
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
||||||
|
|
||||||
Completion mixes results from the current buffer with tags and other files.
|
Completion mixes results from the current buffer with tags and other files.
|
||||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||||
terminal.c and then CTRL-N twice.
|
terminal.c and then CTRL-N twice.
|
||||||
Should do current file first and not split it up when more results are found.
|
Should do current file first and not split it up when more results are found.
|
||||||
(Also #1890)
|
(Also #1890)
|
||||||
|
|
||||||
|
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
||||||
|
buffer. (2013 Dec 9)
|
||||||
|
Also fixes #2166?
|
||||||
|
|
||||||
|
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
||||||
|
|
||||||
Python: After "import vim" error messages only show the first line of the
|
Python: After "import vim" error messages only show the first line of the
|
||||||
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
stack trace. (Yggdroot, 2017 Jul 28, #1887)
|
||||||
|
|
||||||
|
Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun
|
||||||
|
8, #1757)
|
||||||
|
|
||||||
When checking if a bufref is valid, also check the buffer number, to catch the
|
When checking if a bufref is valid, also check the buffer number, to catch the
|
||||||
case of :bwipe followed by :new.
|
case of :bwipe followed by :new.
|
||||||
|
|
||||||
@@ -293,8 +328,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
|||||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||||
8, #1690)
|
8, #1690)
|
||||||
|
|
||||||
Include solarized color scheme?
|
|
||||||
|
|
||||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||||
manager. Problem with Motif?
|
manager. Problem with Motif?
|
||||||
|
|
||||||
@@ -371,10 +404,6 @@ Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
|
|||||||
|
|
||||||
Completion for :!cmd shows each match twice. #1435
|
Completion for :!cmd shows each match twice. #1435
|
||||||
|
|
||||||
Patch to change GUI behavior: instead of changing the window size change the
|
|
||||||
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
|
|
||||||
#703)
|
|
||||||
|
|
||||||
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
GTK: When adding a timer from 'balloonexpr' it won't fire, because
|
||||||
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
g_main_context_iteration() doesn't return. Need to trigger an event when the
|
||||||
timer expires.
|
timer expires.
|
||||||
@@ -467,8 +496,6 @@ Patch for wrong cursor position on wrapped line, involving breakindent.
|
|||||||
(Ozaki Kiichi, 2016 Nov 25)
|
(Ozaki Kiichi, 2016 Nov 25)
|
||||||
Does this also fix #1408 ?
|
Does this also fix #1408 ?
|
||||||
|
|
||||||
Patch to add "module" to quickfix entries. (Coot, 2017 Jun 8, #1757)
|
|
||||||
|
|
||||||
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
'cursorline' and match interfere. (Ozaki Kiichi, 2017 Jun 23, #1792)
|
||||||
|
|
||||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||||
@@ -587,9 +614,6 @@ Patch to add ":syn foldlevel" to use fold level further down the line.
|
|||||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||||
Jul 25, #948)
|
Jul 25, #948)
|
||||||
|
|
||||||
Patch to fix wrong encoding of error message on Cygwin/MSYS terminal.
|
|
||||||
(Ken Takata, 2016 Oct 4)
|
|
||||||
|
|
||||||
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
Patch to add 'systemencoding', convert between 'encoding' and this for file
|
||||||
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||||
Assume the system converts between the actual encoding of the filesystem to
|
Assume the system converts between the actual encoding of the filesystem to
|
||||||
@@ -629,11 +653,6 @@ Patch to improve map documentation. Issue #799.
|
|||||||
|
|
||||||
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
||||||
|
|
||||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
|
||||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
|
||||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
|
||||||
Update 2016 Aug 10.
|
|
||||||
|
|
||||||
We can use '. to go to the last change in the current buffer, but how about
|
We can use '. to go to the last change in the current buffer, but how about
|
||||||
the last change in any buffer? Can we use ', (, is next to .)?
|
the last change in any buffer? Can we use ', (, is next to .)?
|
||||||
|
|
||||||
@@ -1005,8 +1024,6 @@ Jun 8)
|
|||||||
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
|
||||||
insert a space. (Micha Mos, 2014 Nov 7)
|
insert a space. (Micha Mos, 2014 Nov 7)
|
||||||
|
|
||||||
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
|
|
||||||
|
|
||||||
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
No error for missing endwhile. (ZyX, 2014 Mar 20)
|
||||||
|
|
||||||
Patch to make extend() fail early when it might fail at some point.
|
Patch to make extend() fail early when it might fail at some point.
|
||||||
@@ -1152,9 +1169,6 @@ When evaluating expression in backticks, autoload doesn't work.
|
|||||||
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
|
||||||
Dec 13.
|
Dec 13.
|
||||||
|
|
||||||
Patch from Christian Brabandt to preserve upper case marks when wiping out a
|
|
||||||
buffer. (2013 Dec 9)
|
|
||||||
|
|
||||||
GTK: problem with 'L' in 'guioptions' changing the window width.
|
GTK: problem with 'L' in 'guioptions' changing the window width.
|
||||||
(Aaron Cornelius, 2012 Feb 6)
|
(Aaron Cornelius, 2012 Feb 6)
|
||||||
|
|
||||||
@@ -1428,8 +1442,6 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
|
|||||||
BT regexp engine: After trying a \@> match and failing, submatches are not
|
BT regexp engine: After trying a \@> match and failing, submatches are not
|
||||||
cleared. See test64.
|
cleared. See test64.
|
||||||
|
|
||||||
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
|
|
||||||
|
|
||||||
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
Patch to make "z=" work when 'spell' is off. Does this have nasty side
|
||||||
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
|
||||||
Would also need to do this for spellbadword() and spellsuggest().
|
Would also need to do this for spellbadword() and spellsuggest().
|
||||||
@@ -1519,6 +1531,9 @@ GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
|
|||||||
Win32: tear-off menu does not work when menu language is German. (Markus
|
Win32: tear-off menu does not work when menu language is German. (Markus
|
||||||
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
Bossler, 2011 Mar 2) Fixed by 7.3.095?
|
||||||
|
|
||||||
|
Wish for NetBeans commands:
|
||||||
|
- make it possible to have 'defineAnnoType' also handle terminal colors.
|
||||||
|
|
||||||
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
|
||||||
|
|
||||||
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
7.3.014 changed how backslash at end of line works, but still get a NUL when
|
||||||
@@ -2202,9 +2217,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
|||||||
go to Insert mode and add a few lines. Then backspacing every other time
|
go to Insert mode and add a few lines. Then backspacing every other time
|
||||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||||
|
|
||||||
Windows installer should install 32-bit version of right-click handler also on
|
|
||||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
|
||||||
|
|
||||||
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
||||||
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
||||||
Just have two choices, always using one Vim and selecting between using an
|
Just have two choices, always using one Vim and selecting between using an
|
||||||
@@ -3709,7 +3721,7 @@ Multi-byte characters:
|
|||||||
at a multi-byte character >= 0x100.
|
at a multi-byte character >= 0x100.
|
||||||
- Add the possibility to enter mappings which are used whenever normal text
|
- Add the possibility to enter mappings which are used whenever normal text
|
||||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||||
of opposite of 'langmap'. Use ":tmap" command?
|
of opposite of 'langmap'. Use ":amap" command?
|
||||||
- When breaking a line, take properties of multi-byte characters into
|
- When breaking a line, take properties of multi-byte characters into
|
||||||
account. The "linebreak" program from Bruno Haible can do it:
|
account. The "linebreak" program from Bruno Haible can do it:
|
||||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||||
@@ -5189,7 +5201,7 @@ Swap (.swp) files:
|
|||||||
- Add an option to create a swap file only when making the first change to
|
- Add an option to create a swap file only when making the first change to
|
||||||
the buffer. (Liang) Or only when the buffer is not read-only.
|
the buffer. (Liang) Or only when the buffer is not read-only.
|
||||||
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
- Add option to set "umask" for backup files and swap files (Antwerpen).
|
||||||
'backupumask' and 'swapumask'? Or 'umaskback' and 'umaskswap'?
|
'backupumask' and 'swapumask'? Or 'umaskbackup' and 'umaskswap'?
|
||||||
- When editing a readonly file, don't use a swap file but read parts from the
|
- When editing a readonly file, don't use a swap file but read parts from the
|
||||||
original file. Also do this when the file is huge (>'maxmem'). We do
|
original file. Also do this when the file is huge (>'maxmem'). We do
|
||||||
need to load the file once to count the number of lines? Perhaps keep a
|
need to load the file once to count the number of lines? Perhaps keep a
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_07.txt* For Vim version 8.0. Last change: 2017 Aug 11
|
*usr_07.txt* For Vim version 8.0. Last change: 2017 Sep 18
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -215,14 +215,14 @@ change: >
|
|||||||
|
|
||||||
`.
|
`.
|
||||||
|
|
||||||
Suppose you are editing the file "one.txt". Somewhere halfway the file you
|
Suppose you are editing the file "one.txt". Somewhere halfway through the
|
||||||
use "x" to delete a character. Then you go to the last line with "G" and
|
file you use "x" to delete a character. Then you go to the last line with "G"
|
||||||
write the file with ":w". You edit several other files, and then use ":edit
|
and write the file with ":w". You edit several other files, and then use
|
||||||
one.txt" to come back to "one.txt". If you now use `" Vim jumps to the last
|
":edit one.txt" to come back to "one.txt". If you now use `" Vim jumps to the
|
||||||
line of the file. Using `. takes you to the position where you deleted the
|
last line of the file. Using `. takes you to the position where you deleted
|
||||||
character. Even when you move around in the file `" and `. will take you to
|
the character. Even when you move around in the file `" and `. will take you
|
||||||
the remembered position. At least until you make another change or leave the
|
to the remembered position. At least until you make another change or leave
|
||||||
file.
|
the file.
|
||||||
|
|
||||||
|
|
||||||
FILE MARKS
|
FILE MARKS
|
||||||
@@ -233,8 +233,8 @@ another file and place marks there, these are specific for that file. Thus
|
|||||||
each file has its own set of marks, they are local to the file.
|
each file has its own set of marks, they are local to the file.
|
||||||
So far we were using marks with a lowercase letter. There are also marks
|
So far we were using marks with a lowercase letter. There are also marks
|
||||||
with an uppercase letter. These are global, they can be used from any file.
|
with an uppercase letter. These are global, they can be used from any file.
|
||||||
For example suppose that we are editing the file "foo.txt". Go to halfway the
|
For example suppose that we are editing the file "foo.txt". Go to halfway
|
||||||
file ("50%") and place the F mark there (F for foo): >
|
down the file ("50%") and place the F mark there (F for foo): >
|
||||||
|
|
||||||
50%mF
|
50%mF
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ Table of contents: |usr_toc.txt|
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*09.1* Parts of the GUI
|
*09.1* Parts of the GUI
|
||||||
|
|
||||||
You might have an icon on your desktop that starts gVim. Otherwise, one of
|
You might have an icon on your desktop that starts gvim. Otherwise, one of
|
||||||
these commands should do it: >
|
these commands should do it: >
|
||||||
|
|
||||||
gvim file.txt
|
gvim file.txt
|
||||||
@@ -184,12 +184,12 @@ currently highlighted. In Vim this is the Visual area (this assumes you are
|
|||||||
using the default option settings). You can paste this selection in another
|
using the default option settings). You can paste this selection in another
|
||||||
application without any further action.
|
application without any further action.
|
||||||
For example, in this text select a few words with the mouse. Vim will
|
For example, in this text select a few words with the mouse. Vim will
|
||||||
switch to Visual mode and highlight the text. Now start another gVim, without
|
switch to Visual mode and highlight the text. Now start another gvim, without
|
||||||
a file name argument, so that it displays an empty window. Click the middle
|
a file name argument, so that it displays an empty window. Click the middle
|
||||||
mouse button. The selected text will be inserted.
|
mouse button. The selected text will be inserted.
|
||||||
|
|
||||||
The "current selection" will only remain valid until some other text is
|
The "current selection" will only remain valid until some other text is
|
||||||
selected. After doing the paste in the other gVim, now select some characters
|
selected. After doing the paste in the other gvim, now select some characters
|
||||||
in that window. You will notice that the words that were previously selected
|
in that window. You will notice that the words that were previously selected
|
||||||
in the other gvim window are displayed differently. This means that it no
|
in the other gvim window are displayed differently. This means that it no
|
||||||
longer is the current selection.
|
longer is the current selection.
|
||||||
@@ -204,10 +204,10 @@ Now for the other place with which text can be exchanged. We call this the
|
|||||||
"real clipboard", to avoid confusion. Often both the "current selection" and
|
"real clipboard", to avoid confusion. Often both the "current selection" and
|
||||||
the "real clipboard" are called clipboard, you'll have to get used to that.
|
the "real clipboard" are called clipboard, you'll have to get used to that.
|
||||||
To put text on the real clipboard, select a few different words in one of
|
To put text on the real clipboard, select a few different words in one of
|
||||||
the gVims you have running. Then use the Edit/Copy menu entry. Now the text
|
the gvims you have running. Then use the Edit/Copy menu entry. Now the text
|
||||||
has been copied to the real clipboard. You can't see this, unless you have
|
has been copied to the real clipboard. You can't see this, unless you have
|
||||||
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
some application that shows the clipboard contents (e.g., KDE's Klipper).
|
||||||
Now select the other gVim, position the cursor somewhere and use the
|
Now select the other gvim, position the cursor somewhere and use the
|
||||||
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
Edit/Paste menu. You will see the text from the real clipboard is inserted.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*usr_41.txt* For Vim version 8.0. Last change: 2017 Aug 22
|
*usr_41.txt* For Vim version 8.0. Last change: 2017 Oct 15
|
||||||
|
|
||||||
VIM USER MANUAL - by Bram Moolenaar
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@@ -889,7 +889,7 @@ GUI: *gui-functions*
|
|||||||
|
|
||||||
Vim server: *server-functions*
|
Vim server: *server-functions*
|
||||||
serverlist() return the list of server names
|
serverlist() return the list of server names
|
||||||
remote_startserve() run a server
|
remote_startserver() run a server
|
||||||
remote_send() send command characters to a Vim server
|
remote_send() send command characters to a Vim server
|
||||||
remote_expr() evaluate an expression in a Vim server
|
remote_expr() evaluate an expression in a Vim server
|
||||||
server2client() send a reply to a client of a Vim server
|
server2client() send a reply to a client of a Vim server
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*various.txt* For Vim version 8.0. Last change: 2017 Feb 24
|
*various.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -309,6 +309,7 @@ g8 Print the hex values of the bytes used in the
|
|||||||
*+ARP* Amiga only: ARP support included
|
*+ARP* Amiga only: ARP support included
|
||||||
B *+arabic* |Arabic| language support
|
B *+arabic* |Arabic| language support
|
||||||
N *+autocmd* |:autocmd|, automatic commands
|
N *+autocmd* |:autocmd|, automatic commands
|
||||||
|
H *+autoservername* Automatically enable |clientserver|
|
||||||
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
m *+balloon_eval* |balloon-eval| support. Included when compiling with
|
||||||
supported GUI (Motif, GTK, GUI) and either
|
supported GUI (Motif, GTK, GUI) and either
|
||||||
Netbeans/Sun Workshop integration or |+eval| feature.
|
Netbeans/Sun Workshop integration or |+eval| feature.
|
||||||
@@ -322,7 +323,7 @@ N *+cindent* |'cindent'|, C indenting
|
|||||||
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
|
||||||
*+clipboard* |clipboard| support
|
*+clipboard* |clipboard| support
|
||||||
N *+cmdline_compl* command line completion |cmdline-completion|
|
N *+cmdline_compl* command line completion |cmdline-completion|
|
||||||
N *+cmdline_hist* command line history |cmdline-history|
|
S *+cmdline_hist* command line history |cmdline-history|
|
||||||
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
N *+cmdline_info* |'showcmd'| and |'ruler'|
|
||||||
N *+comments* |'comments'| support
|
N *+comments* |'comments'| support
|
||||||
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
|
||||||
@@ -361,7 +362,7 @@ m *+hangul_input* Hangul input support |hangul|
|
|||||||
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
|
||||||
N *+insert_expand* |insert_expand| Insert mode completion
|
N *+insert_expand* |insert_expand| Insert mode completion
|
||||||
m *+job* starting and stopping jobs |job|
|
m *+job* starting and stopping jobs |job|
|
||||||
N *+jumplist* |jumplist|
|
S *+jumplist* |jumplist|
|
||||||
B *+keymap* |'keymap'|
|
B *+keymap* |'keymap'|
|
||||||
N *+lambda* |lambda| and |closure|
|
N *+lambda* |lambda| and |closure|
|
||||||
B *+langmap* |'langmap'|
|
B *+langmap* |'langmap'|
|
||||||
@@ -438,14 +439,16 @@ N *+title* Setting the window 'title' and 'icon'
|
|||||||
N *+toolbar* |gui-toolbar|
|
N *+toolbar* |gui-toolbar|
|
||||||
N *+user_commands* User-defined commands. |user-commands|
|
N *+user_commands* User-defined commands. |user-commands|
|
||||||
N *+viminfo* |'viminfo'|
|
N *+viminfo* |'viminfo'|
|
||||||
N *+vertsplit* Vertically split windows |:vsplit|
|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled
|
||||||
|
since 8.0.1118.
|
||||||
|
in sync with the |+windows| feature
|
||||||
N *+virtualedit* |'virtualedit'|
|
N *+virtualedit* |'virtualedit'|
|
||||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||||
N *+vreplace* |gR| and |gr|
|
N *+vreplace* |gR| and |gr|
|
||||||
N *+wildignore* |'wildignore'|
|
N *+wildignore* |'wildignore'|
|
||||||
N *+wildmenu* |'wildmenu'|
|
N *+wildmenu* |'wildmenu'|
|
||||||
S *+windows* more than one window
|
*+windows* more than one window; Always enabled since 8.0.1118.
|
||||||
m *+writebackup* |'writebackup'| is default on
|
m *+writebackup* |'writebackup'| is default on
|
||||||
m *+xim* X input method |xim|
|
m *+xim* X input method |xim|
|
||||||
*+xfontset* X fontset support |xfontset|
|
*+xfontset* X fontset support |xfontset|
|
||||||
|
|||||||
@@ -11778,7 +11778,7 @@ Files: src/os_unix.c
|
|||||||
Patch 7.4.1915
|
Patch 7.4.1915
|
||||||
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
Problem: The effect of the PopupMenu autocommand isn't directly visible.
|
||||||
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
Solution: Call gui_update_menus() before displaying the popup menu. (Shane
|
||||||
Harper, closs #855)
|
Harper, closes #855)
|
||||||
Files: src/menu.c
|
Files: src/menu.c
|
||||||
|
|
||||||
Patch 7.4.1916 (after 7.4.1906)
|
Patch 7.4.1916 (after 7.4.1906)
|
||||||
@@ -15398,7 +15398,7 @@ Files: src/testdir/test_undo.vim, src/undo.c
|
|||||||
Patch 8.0.0150
|
Patch 8.0.0150
|
||||||
Problem: When the pattern of :filter does not have a separator then
|
Problem: When the pattern of :filter does not have a separator then
|
||||||
completion of the command fails.
|
completion of the command fails.
|
||||||
Solution: Skip over the pattern. (Ozaki Kiichi, clodes #1299)
|
Solution: Skip over the pattern. (Ozaki Kiichi, closes #1299)
|
||||||
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
Files: src/ex_docmd.c, src/testdir/test_filter_cmd.vim
|
||||||
|
|
||||||
Patch 8.0.0151
|
Patch 8.0.0151
|
||||||
|
|||||||
@@ -325,7 +325,7 @@ You can still edit the buffer, but will be prevented from accidentally
|
|||||||
overwriting a file.
|
overwriting a file.
|
||||||
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
||||||
as in ":w!".
|
as in ":w!".
|
||||||
The \-R option also implies the \-n option (see below).
|
The \-R option also implies the \-n option (see above).
|
||||||
The 'readonly' option can be reset with ":set noro".
|
The 'readonly' option can be reset with ":set noro".
|
||||||
See ":help 'readonly'".
|
See ":help 'readonly'".
|
||||||
.TP
|
.TP
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ OPTIONS
|
|||||||
dentally overwriting a file. If you do want to overwrite a
|
dentally overwriting a file. If you do want to overwrite a
|
||||||
file, add an exclamation mark to the Ex command, as in
|
file, add an exclamation mark to the Ex command, as in
|
||||||
":w!". The -R option also implies the -n option (see
|
":w!". The -R option also implies the -n option (see
|
||||||
below). The 'readonly' option can be reset with ":set
|
above). The 'readonly' option can be reset with ":set
|
||||||
noro". See ":help 'readonly'".
|
noro". See ":help 'readonly'".
|
||||||
|
|
||||||
-r List swap files, with information about using them for
|
-r List swap files, with information about using them for
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*visual.txt* For Vim version 8.0. Last change: 2014 Mar 23
|
*visual.txt* For Vim version 8.0. Last change: 2017 Sep 02
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*windows.txt* For Vim version 8.0. Last change: 2017 Aug 21
|
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -619,7 +619,8 @@ The minimal height and width of a window is set with 'winminheight' and
|
|||||||
41. :buffers list of buffers
|
41. :buffers list of buffers
|
||||||
|
|
||||||
The meaning of [N] depends on the command:
|
The meaning of [N] depends on the command:
|
||||||
[N] is number of buffers to go forward/backward on ?2, ?3, and ?4
|
[N] is the number of buffers to go forward/backward on 2/12/22/32,
|
||||||
|
3/13/23/33, and 4/14/24/34
|
||||||
[N] is an argument number, defaulting to current argument, for 1 and 21
|
[N] is an argument number, defaulting to current argument, for 1 and 21
|
||||||
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
||||||
[N] is a count for 19 and 39
|
[N] is a count for 19 and 39
|
||||||
@@ -1034,6 +1035,7 @@ list of buffers. |unlisted-buffer|
|
|||||||
= a readonly buffer
|
= a readonly buffer
|
||||||
R a terminal buffer with a running job
|
R a terminal buffer with a running job
|
||||||
F a terminal buffer with a finished job
|
F a terminal buffer with a finished job
|
||||||
|
? a terminal buffer without a job: `:terminal NONE`
|
||||||
+ a modified buffer
|
+ a modified buffer
|
||||||
x a buffer with read errors
|
x a buffer with read errors
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim script for Evim key bindings
|
" Vim script for Evim key bindings
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jul 24
|
" Last Change: 2017 Sep 20
|
||||||
|
|
||||||
" Don't use Vi-compatible mode.
|
" Don't use Vi-compatible mode.
|
||||||
set nocompatible
|
set nocompatible
|
||||||
@@ -67,8 +67,10 @@ endif " has("autocmd")
|
|||||||
"
|
"
|
||||||
" The matchit plugin makes the % command work better, but it is not backwards
|
" The matchit plugin makes the % command work better, but it is not backwards
|
||||||
" compatible.
|
" compatible.
|
||||||
|
" The ! means the package won't be loaded right away but when plugins are
|
||||||
|
" loaded during initialization.
|
||||||
if has('syntax') && has('eval')
|
if has('syntax') && has('eval')
|
||||||
packadd matchit
|
packadd! matchit
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" vim: set sw=2 :
|
" vim: set sw=2 :
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: C
|
" Language: C
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Jun 12
|
" Last Change: 2017 Sep 28
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -35,8 +35,8 @@ if has("vms")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" When the matchit plugin is loaded, this makes the % command skip parens and
|
" When the matchit plugin is loaded, this makes the % command skip parens and
|
||||||
" braces in comments.
|
" braces in comments properly.
|
||||||
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
|
||||||
let b:match_skip = 's:comment\|string\|character\|special'
|
let b:match_skip = 's:comment\|string\|character\|special'
|
||||||
|
|
||||||
" Win32 can filter files in the browse dialog
|
" Win32 can filter files in the browse dialog
|
||||||
|
|||||||
12
runtime/ftplugin/gdb.vim
Normal file
12
runtime/ftplugin/gdb.vim
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: gdb
|
||||||
|
" Maintainer: Michaël Peeters <NOSPAMm.vim@noekeon.org>
|
||||||
|
" Last Changed: 26 Oct 2017
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
setlocal commentstring=#%s
|
||||||
|
|
||||||
|
" Undo the stuff we changed.
|
||||||
|
let b:undo_ftplugin = "setlocal cms<"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: man
|
" Language: man
|
||||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||||
" Last Change: 2017 Jan 18
|
" Last Change: 2017 Nov 11
|
||||||
|
|
||||||
" To make the ":Man" command available before editing a manual page, source
|
" To make the ":Man" command available before editing a manual page, source
|
||||||
" this script from your startup vimrc file.
|
" this script from your startup vimrc file.
|
||||||
@@ -15,12 +15,6 @@ if &filetype == "man"
|
|||||||
endif
|
endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
" Ensure Vim is not recursively invoked (man-db does this)
|
|
||||||
" when doing ctrl-[ on a man page reference.
|
|
||||||
if exists("$MANPAGER")
|
|
||||||
let $MANPAGER = ""
|
|
||||||
endif
|
|
||||||
|
|
||||||
" allow dot and dash in manual page name.
|
" allow dot and dash in manual page name.
|
||||||
setlocal iskeyword+=\.,-
|
setlocal iskeyword+=\.,-
|
||||||
|
|
||||||
@@ -176,7 +170,11 @@ func <SID>GetPage(...)
|
|||||||
let $MANWIDTH = winwidth(0)
|
let $MANWIDTH = winwidth(0)
|
||||||
let unsetwidth = 1
|
let unsetwidth = 1
|
||||||
endif
|
endif
|
||||||
silent exec "r !man ".s:GetCmdArg(sect, page)." | col -b"
|
|
||||||
|
" Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
|
||||||
|
" on a man page reference by unsetting MANPAGER.
|
||||||
|
silent exec "r !env -u MANPAGER man ".s:GetCmdArg(sect, page)." | col -b"
|
||||||
|
|
||||||
if unsetwidth
|
if unsetwidth
|
||||||
let $MANWIDTH = ''
|
let $MANWIDTH = ''
|
||||||
endif
|
endif
|
||||||
|
|||||||
23
runtime/ftplugin/neomuttrc.vim
Normal file
23
runtime/ftplugin/neomuttrc.vim
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
" Vim filetype plugin file
|
||||||
|
" Language: NeoMutt RC File
|
||||||
|
" Previous Maintainer: Guillaume Brogi <gui-gui@netcourrier.com>
|
||||||
|
" Latest Revision: 2017-09-17
|
||||||
|
" Original version copied from ftplugin/muttrc.vim
|
||||||
|
|
||||||
|
if exists("b:did_ftplugin")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
let b:did_ftplugin = 1
|
||||||
|
|
||||||
|
let s:cpo_save = &cpo
|
||||||
|
set cpo&vim
|
||||||
|
|
||||||
|
let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||||
|
|
||||||
|
setlocal comments=:# commentstring=#\ %s
|
||||||
|
setlocal formatoptions-=t formatoptions+=croql
|
||||||
|
|
||||||
|
let &l:include = '^\s*source\>'
|
||||||
|
|
||||||
|
let &cpo = s:cpo_save
|
||||||
|
unlet s:cpo_save
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2015-02-09
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -33,14 +33,14 @@ endif
|
|||||||
setlocal include=\\<\\(use\\\|require\\)\\>
|
setlocal include=\\<\\(use\\\|require\\)\\>
|
||||||
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
setlocal includeexpr=substitute(substitute(substitute(v:fname,'::','/','g'),'->\*','',''),'$','.pm','')
|
||||||
setlocal define=[^A-Za-z_]
|
setlocal define=[^A-Za-z_]
|
||||||
|
setlocal iskeyword+=:
|
||||||
|
|
||||||
" The following line changes a global variable but is necessary to make
|
" The following line changes a global variable but is necessary to make
|
||||||
" gf and similar commands work. The change to iskeyword was incorrect.
|
" gf and similar commands work. Thanks to Andrew Pimlott for pointing
|
||||||
" Thanks to Andrew Pimlott for pointing out the problem. If this causes a
|
" out the problem. If this causes a problem for you, add an
|
||||||
" problem for you, add an after/ftplugin/perl.vim file that contains
|
" after/ftplugin/perl.vim file that contains
|
||||||
" set isfname-=:
|
" set isfname-=:
|
||||||
set isfname+=:
|
set isfname+=:
|
||||||
set iskeyword+=:
|
|
||||||
|
|
||||||
" Set this once, globally.
|
" Set this once, globally.
|
||||||
if !exists("perlpath")
|
if !exists("perlpath")
|
||||||
@@ -77,11 +77,12 @@ endif
|
|||||||
"---------------------------------------------
|
"---------------------------------------------
|
||||||
|
|
||||||
" Undo the stuff we changed.
|
" Undo the stuff we changed.
|
||||||
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isf< kp< path<" .
|
let b:undo_ftplugin = "setlocal fo< com< cms< inc< inex< def< isk< isf< kp< path<" .
|
||||||
\ " | unlet! b:browsefilter"
|
\ " | unlet! b:browsefilter"
|
||||||
|
|
||||||
" proper matching for matchit plugin
|
" proper matching for matchit plugin
|
||||||
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
let b:match_skip = 's:comment\|string\|perlQQ\|perlShellCommand\|perlHereDoc\|perlSubstitution\|perlTranslation\|perlMatch\|perlFormatField'
|
||||||
|
let b:match_words = '\<if\>:\<elsif\>:\<else\>'
|
||||||
|
|
||||||
" Restore the saved compatibility options.
|
" Restore the saved compatibility options.
|
||||||
let &cpo = s:save_cpo
|
let &cpo = s:save_cpo
|
||||||
|
|||||||
@@ -1,9 +1,10 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: python
|
" Language: python
|
||||||
" Maintainer: James Sully <sullyj3@gmail.com>
|
" Maintainer: Tom Picton <tom@tompicton.co.uk>
|
||||||
|
" Previous Maintainer: James Sully <sullyj3@gmail.com>
|
||||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||||
" Last Change: Tue, 09 October 2016
|
" Last Change: Thur, 09 November 2017
|
||||||
" https://github.com/sullyj3/vim-ftplugin-python
|
" https://github.com/tpict/vim-ftplugin-python
|
||||||
|
|
||||||
if exists("b:did_ftplugin") | finish | endif
|
if exists("b:did_ftplugin") | finish | endif
|
||||||
let b:did_ftplugin = 1
|
let b:did_ftplugin = 1
|
||||||
@@ -24,31 +25,51 @@ set wildignore+=*.pyc
|
|||||||
|
|
||||||
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
let b:next_toplevel='\v%$\|^(class\|def\|async def)>'
|
||||||
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
let b:prev_toplevel='\v^(class\|def\|async def)>'
|
||||||
|
let b:next_endtoplevel='\v%$\|\S.*\n+(def\|class)'
|
||||||
|
let b:prev_endtoplevel='\v\S.*\n+(def\|class)'
|
||||||
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
let b:next='\v%$\|^\s*(class\|def\|async def)>'
|
||||||
let b:prev='\v^\s*(class\|def\|async def)>'
|
let b:prev='\v^\s*(class\|def\|async def)>'
|
||||||
|
let b:next_end='\v\S\n*(%$\|^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
let b:prev_end='\v\S\n*(^(\s*\n*)*(class\|def\|async def)\|^\S)'
|
||||||
|
|
||||||
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ][ :call <SID>Python_jump('n', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [] :call <SID>Python_jump('n', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
|
||||||
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> ]M :call <SID>Python_jump('n', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "nnoremap <silent> <buffer> [M :call <SID>Python_jump('n', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ][ :call <SID>Python_jump('o', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [] :call <SID>Python_jump('o', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
|
||||||
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> ]M :call <SID>Python_jump('o', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "onoremap <silent> <buffer> [M :call <SID>Python_jump('o', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ][ :call <SID>Python_jump('x', '". b:next_endtoplevel."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [] :call <SID>Python_jump('x', '". b:prev_endtoplevel."', 'Wb', 0)<cr>"
|
||||||
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
|
||||||
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> ]M :call <SID>Python_jump('x', '". b:next_end."', 'W', 0)<cr>"
|
||||||
|
execute "xnoremap <silent> <buffer> [M :call <SID>Python_jump('x', '". b:prev_end."', 'Wb', 0)<cr>"
|
||||||
|
|
||||||
if !exists('*<SID>Python_jump')
|
if !exists('*<SID>Python_jump')
|
||||||
fun! <SID>Python_jump(mode, motion, flags) range
|
fun! <SID>Python_jump(mode, motion, flags, ...) range
|
||||||
|
let l:startofline = (a:0 >= 1) ? a:1 : 1
|
||||||
|
|
||||||
if a:mode == 'x'
|
if a:mode == 'x'
|
||||||
normal! gv
|
normal! gv
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if l:startofline == 1
|
||||||
normal! 0
|
normal! 0
|
||||||
|
endif
|
||||||
|
|
||||||
let cnt = v:count1
|
let cnt = v:count1
|
||||||
mark '
|
mark '
|
||||||
@@ -57,7 +78,9 @@ if !exists('*<SID>Python_jump')
|
|||||||
let cnt = cnt - 1
|
let cnt = cnt - 1
|
||||||
endwhile
|
endwhile
|
||||||
|
|
||||||
|
if l:startofline == 1
|
||||||
normal! ^
|
normal! ^
|
||||||
|
endif
|
||||||
endfun
|
endfun
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: Vim
|
" Language: Vim
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Sep 07
|
" Last Change: 2017 Nov 06
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@@ -25,6 +25,9 @@ setlocal fo-=t fo+=croql
|
|||||||
" keyword character. E.g., for netrw#Nread().
|
" keyword character. E.g., for netrw#Nread().
|
||||||
setlocal isk+=#
|
setlocal isk+=#
|
||||||
|
|
||||||
|
" Use :help to lookup the keyword under the cursor with K.
|
||||||
|
setlocal keywordprg=:help
|
||||||
|
|
||||||
" Set 'comments' to format dashed lists in comments
|
" Set 'comments' to format dashed lists in comments
|
||||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Program: CMake - Cross-Platform Makefile Generator
|
|
||||||
" Module: $RCSfile: cmake-indent.vim,v $
|
|
||||||
" Language: CMake (ft=cmake)
|
" Language: CMake (ft=cmake)
|
||||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||||
" Last Change: $Date: 2008-01-16 16:53:53 $
|
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||||
" Version: $Revision: 1.9 $
|
" Last Change: 2017 Sep 24
|
||||||
"
|
"
|
||||||
" Licence: The CMake license applies to this file. See
|
" Licence: The CMake license applies to this file. See
|
||||||
" http://www.cmake.org/HTML/Copyright.html
|
" https://cmake.org/licensing
|
||||||
" This implies that distribution with Vim is allowed
|
" This implies that distribution with Vim is allowed
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: gitolite configuration
|
" Language: gitolite configuration
|
||||||
" URL: https://github.com/tmatilai/gitolite.vim
|
" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/indent/gitolite.vim
|
||||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/indent/gitolite.vim)
|
||||||
" Last Change: 2017 Jun 13
|
" Maintainer: Sitaram Chamarty <sitaramc@gmail.com>
|
||||||
|
" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>)
|
||||||
|
" Last Change: 2017 Oct 05
|
||||||
|
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
finish
|
finish
|
||||||
@@ -30,6 +32,8 @@ function! GetGitoliteIndent()
|
|||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*config\s'
|
elseif cline =~ '^\s*config\s'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
|
elseif cline =~ '^\s*option\s'
|
||||||
|
return shiftwidth()
|
||||||
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
elseif pline =~ '^\s*repo\s' && cline =~ '^\s*\(#.*\)\?$'
|
||||||
return shiftwidth()
|
return shiftwidth()
|
||||||
elseif cline =~ '^\s*#'
|
elseif cline =~ '^\s*#'
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Javascript
|
" Language: Javascript
|
||||||
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
" Maintainer: Chris Paul ( https://github.com/bounceme )
|
||||||
" URL: https://github.com/pangloss/vim-javascript
|
" URL: https://github.com/pangloss/vim-javascript
|
||||||
" Last Change: March 21, 2017
|
" Last Change: September 18, 2017
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists('b:did_indent')
|
if exists('b:did_indent')
|
||||||
@@ -10,6 +10,10 @@ if exists('b:did_indent')
|
|||||||
endif
|
endif
|
||||||
let b:did_indent = 1
|
let b:did_indent = 1
|
||||||
|
|
||||||
|
" indent correctly if inside <script>
|
||||||
|
" vim/vim@690afe1 for the switch from cindent
|
||||||
|
let b:html_indent_script1 = 'inc'
|
||||||
|
|
||||||
" Now, set up our indentation expression and keys that trigger it.
|
" Now, set up our indentation expression and keys that trigger it.
|
||||||
setlocal indentexpr=GetJavascriptIndent()
|
setlocal indentexpr=GetJavascriptIndent()
|
||||||
setlocal autoindent nolisp nosmartindent
|
setlocal autoindent nolisp nosmartindent
|
||||||
@@ -21,6 +25,13 @@ setlocal indentkeys+=0],0)
|
|||||||
|
|
||||||
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
let b:undo_indent = 'setlocal indentexpr< smartindent< autoindent< indentkeys<'
|
||||||
|
|
||||||
|
" Regex of syntax group names that are or delimit string or are comments.
|
||||||
|
let b:syng_strcom = get(b:,'syng_strcom','string\|comment\|regex\|special\|doc\|template\%(braces\)\@!')
|
||||||
|
let b:syng_str = get(b:,'syng_str','string\|template\|special')
|
||||||
|
" template strings may want to be excluded when editing graphql:
|
||||||
|
" au! Filetype javascript let b:syng_str = '^\%(.*template\)\@!.*string\|special'
|
||||||
|
" au! Filetype javascript let b:syng_strcom = '^\%(.*template\)\@!.*string\|comment\|regex\|special\|doc'
|
||||||
|
|
||||||
" Only define the function once.
|
" Only define the function once.
|
||||||
if exists('*GetJavascriptIndent')
|
if exists('*GetJavascriptIndent')
|
||||||
finish
|
finish
|
||||||
@@ -36,7 +47,7 @@ if exists('*shiftwidth')
|
|||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:sw()
|
function s:sw()
|
||||||
return &l:shiftwidth == 0 ? &l:tabstop : &l:shiftwidth
|
return &l:shiftwidth ? &l:shiftwidth : &l:tabstop
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -44,272 +55,301 @@ endif
|
|||||||
" matches before pos.
|
" matches before pos.
|
||||||
let s:z = has('patch-7.4.984') ? 'z' : ''
|
let s:z = has('patch-7.4.984') ? 'z' : ''
|
||||||
|
|
||||||
|
" Expression used to check whether we should skip a match with searchpair().
|
||||||
|
let s:skip_expr = "s:SynAt(line('.'),col('.')) =~? b:syng_strcom"
|
||||||
|
let s:in_comm = s:skip_expr[:-14] . "'comment\\|doc'"
|
||||||
|
|
||||||
|
let s:rel = has('reltime')
|
||||||
" searchpair() wrapper
|
" searchpair() wrapper
|
||||||
if has('reltime')
|
if s:rel
|
||||||
function s:GetPair(start,end,flags,skip,time,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 2000,0] + a:000),a:time)
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1,a:skip ==# 's:SkipFunc()' ? 2000 : 200)
|
||||||
endfunction
|
endfunction
|
||||||
else
|
else
|
||||||
function s:GetPair(start,end,flags,skip,...)
|
function s:GetPair(start,end,flags,skip)
|
||||||
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,max([prevnonblank(v:lnum) - 1000,get(a:000,1)]))
|
return searchpair('\m'.a:start,'','\m'.a:end,a:flags,a:skip,s:l1)
|
||||||
endfunction
|
endfunction
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Regex of syntax group names that are or delimit string or are comments.
|
function s:SynAt(l,c)
|
||||||
let s:syng_strcom = 'string\|comment\|regex\|special\|doc\|template\%(braces\)\@!'
|
let byte = line2byte(a:l) + a:c - 1
|
||||||
let s:syng_str = 'string\|template\|special'
|
let pos = index(s:synid_cache[0], byte)
|
||||||
let s:syng_com = 'comment\|doc'
|
if pos == -1
|
||||||
" Expression used to check whether we should skip a match with searchpair().
|
let s:synid_cache[:] += [[byte], [synIDattr(synID(a:l, a:c, 0), 'name')]]
|
||||||
let s:skip_expr = "synIDattr(synID(line('.'),col('.'),0),'name') =~? '".s:syng_strcom."'"
|
|
||||||
|
|
||||||
function s:parse_cino(f) abort
|
|
||||||
return float2nr(eval(substitute(substitute(join(split(
|
|
||||||
\ matchstr(&cino,'.*'.a:f.'\zs[^,]*'), 's',1), '*'.s:W)
|
|
||||||
\ , '^-\=\zs\*','',''), '^-\=\zs\.','0.','')))
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:skip_func()
|
|
||||||
if getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
|
||||||
return eval(s:skip_expr)
|
|
||||||
elseif s:checkIn || search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn)
|
|
||||||
let s:checkIn = eval(s:skip_expr)
|
|
||||||
endif
|
endif
|
||||||
let s:looksyn = line('.')
|
return s:synid_cache[1][pos]
|
||||||
return s:checkIn
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:alternatePair(stop)
|
function s:ParseCino(f)
|
||||||
let pos = getpos('.')[1:2]
|
let [divider, n, cstr] = [0] + matchlist(&cino,
|
||||||
let pat = '[][(){};]'
|
\ '\%(.*,\)\=\%(\%d'.char2nr(a:f).'\(-\)\=\([.s0-9]*\)\)\=')[1:2]
|
||||||
while search('\m'.pat,'bW',a:stop)
|
for c in split(cstr,'\zs')
|
||||||
if s:skip_func() | continue | endif
|
if c == '.' && !divider
|
||||||
let idx = stridx('])};',s:looking_at())
|
let divider = 1
|
||||||
if idx is 3 | let pat = '[{}()]' | continue | endif
|
elseif c ==# 's'
|
||||||
if idx + 1
|
if n !~ '\d'
|
||||||
if s:GetPair(['\[','(','{'][idx], '])}'[idx],'bW','s:skip_func()',2000,a:stop) <= 0
|
return n . s:sw() + 0
|
||||||
|
endif
|
||||||
|
let n = str2nr(n) * s:sw()
|
||||||
break
|
break
|
||||||
endif
|
|
||||||
else
|
else
|
||||||
|
let [n, divider] .= [c, 0]
|
||||||
|
endif
|
||||||
|
endfor
|
||||||
|
return str2nr(n) / max([str2nr(divider),1])
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
" Optimized {skip} expr, only callable from the search loop which
|
||||||
|
" GetJavascriptIndent does to find the containing [[{(] (side-effects)
|
||||||
|
function s:SkipFunc()
|
||||||
|
if s:top_col == 1
|
||||||
|
throw 'out of bounds'
|
||||||
|
endif
|
||||||
|
let s:top_col = 0
|
||||||
|
if s:check_in
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let s:check_in = 0
|
||||||
|
elseif getline('.') =~ '\%<'.col('.').'c\/.\{-}\/\|\%>'.col('.').'c[''"]\|\\$'
|
||||||
|
if eval(s:skip_expr)
|
||||||
|
let s:looksyn = a:firstline
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
elseif search('\m`\|\${\|\*\/','nW'.s:z,s:looksyn) && eval(s:skip_expr)
|
||||||
|
let s:check_in = 1
|
||||||
|
return 1
|
||||||
|
endif
|
||||||
|
let [s:looksyn, s:top_col] = getpos('.')[1:2]
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:AlternatePair()
|
||||||
|
let [pat, l:for] = ['[][(){};]', 2]
|
||||||
|
while s:SearchLoop(pat,'bW','s:SkipFunc()')
|
||||||
|
if s:LookingAt() == ';'
|
||||||
|
if !l:for
|
||||||
|
if s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
break
|
||||||
|
else
|
||||||
|
let [pat, l:for] = ['[{}();]', l:for - 1]
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
let idx = stridx('])}',s:LookingAt())
|
||||||
|
if idx == -1
|
||||||
|
return
|
||||||
|
elseif !s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
|
break
|
||||||
|
endif
|
||||||
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
call call('cursor',pos)
|
throw 'out of bounds'
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:save_pos(f,...)
|
function s:Nat(int)
|
||||||
let l:pos = getpos('.')[1:2]
|
return a:int * (a:int > 0)
|
||||||
let ret = call(a:f,a:000)
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return ret
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:syn_at(l,c)
|
function s:LookingAt()
|
||||||
return synIDattr(synID(a:l,a:c,0),'name')
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
function s:looking_at()
|
|
||||||
return getline('.')[col('.')-1]
|
return getline('.')[col('.')-1]
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:token()
|
function s:Token()
|
||||||
return s:looking_at() =~ '\k' ? expand('<cword>') : s:looking_at()
|
return s:LookingAt() =~ '\k' ? expand('<cword>') : s:LookingAt()
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:previous_token()
|
function s:PreviousToken()
|
||||||
let l:pos = getpos('.')[1:2]
|
let l:col = col('.')
|
||||||
if search('\m\k\{1,}\zs\k\|\S','bW')
|
if search('\m\k\{1,}\|\S','ebW')
|
||||||
if (getline('.')[col('.')-2:col('.')-1] == '*/' || line('.') != l:pos[0] &&
|
if search('\m\*\%#\/\|\/\/\%<'.a:firstline.'l','nbW',line('.')) && eval(s:in_comm)
|
||||||
\ getline('.') =~ '\%<'.col('.').'c\/\/') && s:syn_at(line('.'),col('.')) =~? s:syng_com
|
if s:SearchLoop('\S\ze\_s*\/[/*]','bW',s:in_comm)
|
||||||
while search('\m\S\ze\_s*\/[/*]','bW')
|
return s:Token()
|
||||||
if s:syn_at(line('.'),col('.')) !~? s:syng_com
|
|
||||||
return s:token()
|
|
||||||
endif
|
endif
|
||||||
endwhile
|
call cursor(a:firstline, l:col)
|
||||||
else
|
else
|
||||||
return s:token()
|
return s:Token()
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
call call('cursor',l:pos)
|
|
||||||
return ''
|
return ''
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:expr_col()
|
function s:Pure(f,...)
|
||||||
if getline('.')[col('.')-2] == ':'
|
return eval("[call(a:f,a:000),cursor(a:firstline,".col('.').")][0]")
|
||||||
return 1
|
endfunction
|
||||||
endif
|
|
||||||
|
function s:SearchLoop(pat,flags,expr)
|
||||||
|
return s:GetPair(a:pat,'\_$.',a:flags,a:expr)
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:ExprCol()
|
||||||
let bal = 0
|
let bal = 0
|
||||||
while search('\m[{}?:;]','bW')
|
while s:SearchLoop('[{}?]\|\_[^:]\zs::\@!','bW',s:skip_expr)
|
||||||
if eval(s:skip_expr) | continue | endif
|
if s:LookingAt() == ':'
|
||||||
" switch (looking_at())
|
let bal -= 1
|
||||||
exe { '}': "if s:GetPair('{','}','bW',s:skip_expr,200) <= 0 | return | endif",
|
elseif s:LookingAt() == '?'
|
||||||
\ ';': "return",
|
let bal += 1
|
||||||
\ '{': "return getpos('.')[1:2] != b:js_cache[1:] && !s:IsBlock()",
|
if bal == 1
|
||||||
\ ':': "let bal -= getline('.')[max([col('.')-2,0]):col('.')] !~ '::'",
|
break
|
||||||
\ '?': "let bal += 1 | if bal > 0 | return 1 | endif" }[s:looking_at()]
|
endif
|
||||||
|
elseif s:LookingAt() == '{'
|
||||||
|
let bal = !s:IsBlock()
|
||||||
|
break
|
||||||
|
elseif !s:GetPair('{','}','bW',s:skip_expr)
|
||||||
|
break
|
||||||
|
endif
|
||||||
endwhile
|
endwhile
|
||||||
|
return s:Nat(bal)
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" configurable regexes that define continuation lines, not including (, {, or [.
|
" configurable regexes that define continuation lines, not including (, {, or [.
|
||||||
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
let s:opfirst = '^' . get(g:,'javascript_opfirst',
|
||||||
\ '\C\%([<>=,?^%|*/&]\|\([-.:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)')
|
\ '\C\%([<>=,.?^%|/&]\|\([-:+]\)\1\@!\|\*\+\|!=\|in\%(stanceof\)\=\>\)')
|
||||||
let s:continuation = get(g:,'javascript_continuation',
|
let s:continuation = get(g:,'javascript_continuation',
|
||||||
\ '\C\%([-+<>=,.~!?/*^%|&:]\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
\ '\C\%([<=,.~!?/*^%|&:]\|+\@<!+\|-\@<!-\|=\@<!>\|\<\%(typeof\|new\|delete\|void\|in\|instanceof\|await\)\)') . '$'
|
||||||
|
|
||||||
function s:continues(ln,con)
|
function s:Continues(ln,con)
|
||||||
if !cursor(a:ln, match(' '.a:con,s:continuation))
|
let tok = matchstr(a:con[-15:],s:continuation)
|
||||||
let teol = s:looking_at()
|
if tok =~ '[a-z:]'
|
||||||
if teol == '/'
|
call cursor(a:ln, len(a:con))
|
||||||
return s:syn_at(line('.'),col('.')) !~? 'regex'
|
return tok == ':' ? s:ExprCol() : s:PreviousToken() != '.'
|
||||||
elseif teol =~ '[-+>]'
|
elseif tok !~ '[/>]'
|
||||||
return getline('.')[col('.')-2] != tr(teol,'>','=')
|
return tok isnot ''
|
||||||
elseif teol =~ '\l'
|
|
||||||
return s:previous_token() != '.'
|
|
||||||
elseif teol == ':'
|
|
||||||
return s:expr_col()
|
|
||||||
endif
|
endif
|
||||||
return 1
|
return s:SynAt(a:ln, len(a:con)) !~? (tok == '>' ? 'jsflow\|^html' : 'regex')
|
||||||
endif
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" get the line of code stripped of comments and move cursor to the last
|
|
||||||
" non-comment char.
|
|
||||||
function s:Trim(ln)
|
|
||||||
let pline = substitute(getline(a:ln),'\s*$','','')
|
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
|
||||||
while l:max != -1 && s:syn_at(a:ln, strlen(pline)) =~? s:syng_com
|
|
||||||
let pline = pline[: l:max]
|
|
||||||
let l:max = max([strridx(pline,'//'), strridx(pline,'/*')])
|
|
||||||
let pline = substitute(pline[:-2],'\s*$','','')
|
|
||||||
endwhile
|
|
||||||
return pline is '' || cursor(a:ln,strlen(pline)) ? pline : pline
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" Find line above 'lnum' that isn't empty or in a comment
|
|
||||||
function s:PrevCodeLine(lnum)
|
|
||||||
let [l:pos, l:n] = [getpos('.')[1:2], prevnonblank(a:lnum)]
|
|
||||||
while l:n
|
|
||||||
if getline(l:n) =~ '^\s*\/[/*]'
|
|
||||||
let l:n = prevnonblank(l:n-1)
|
|
||||||
elseif stridx(getline(l:n), '*/') + 1 && s:syn_at(l:n,1) =~? s:syng_com
|
|
||||||
call cursor(l:n,1)
|
|
||||||
keepjumps norm! [*
|
|
||||||
let l:n = search('\m\S','nbW')
|
|
||||||
else
|
|
||||||
break
|
|
||||||
endif
|
|
||||||
endwhile
|
|
||||||
call call('cursor',l:pos)
|
|
||||||
return l:n
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Check if line 'lnum' has a balanced amount of parentheses.
|
" Check if line 'lnum' has a balanced amount of parentheses.
|
||||||
function s:Balanced(lnum)
|
function s:Balanced(lnum)
|
||||||
let l:open = 0
|
let [l:open, l:line] = [0, getline(a:lnum)]
|
||||||
let l:line = getline(a:lnum)
|
let pos = match(l:line, '[][(){}]')
|
||||||
let pos = match(l:line, '[][(){}]', 0)
|
|
||||||
while pos != -1
|
while pos != -1
|
||||||
if s:syn_at(a:lnum,pos + 1) !~? s:syng_strcom
|
if s:SynAt(a:lnum,pos + 1) !~? b:syng_strcom
|
||||||
let l:open += match(' ' . l:line[pos],'[[({]')
|
let l:open += match(' ' . l:line[pos],'[[({]')
|
||||||
if l:open < 0
|
if l:open < 0
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
let pos = match(l:line, (l:open ?
|
let pos = match(l:line, !l:open ? '[][(){}]' : '()' =~ l:line[pos] ?
|
||||||
\ '['.escape(tr(l:line[pos],'({[]})',')}][{(').l:line[pos],']').']' :
|
\ '[()]' : '{}' =~ l:line[pos] ? '[{}]' : '[][]', pos + 1)
|
||||||
\ '[][(){}]'), pos + 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return !l:open
|
return !l:open
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function s:OneScope(lnum)
|
function s:OneScope()
|
||||||
let pline = s:Trim(a:lnum)
|
if s:LookingAt() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr)
|
||||||
let kw = 'else do'
|
let tok = s:PreviousToken()
|
||||||
if pline[-1:] == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
return (count(split('for if let while with'),tok) ||
|
||||||
if s:previous_token() =~# '^\%(await\|each\)$'
|
\ tok =~# '^await$\|^each$' && s:PreviousToken() ==# 'for') &&
|
||||||
call s:previous_token()
|
\ s:Pure('s:PreviousToken') != '.' && !(tok == 'while' && s:DoWhile())
|
||||||
let kw = 'for'
|
elseif s:Token() =~# '^else$\|^do$'
|
||||||
else
|
return s:Pure('s:PreviousToken') != '.'
|
||||||
let kw = 'for if let while with'
|
|
||||||
endif
|
endif
|
||||||
endif
|
return strpart(getline('.'),col('.')-2,2) == '=>'
|
||||||
return pline[-2:] == '=>' || index(split(kw),s:token()) + 1 &&
|
|
||||||
\ s:save_pos('s:previous_token') != '.'
|
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" returns braceless levels started by 'i' and above lines * shiftwidth().
|
function s:DoWhile()
|
||||||
" 'num' is the lineNr which encloses the entire context, 'cont' if whether
|
let cpos = searchpos('\m\<','cbW')
|
||||||
" line 'i' + 1 is a continued expression, which could have started in a
|
if s:SearchLoop('\C[{}]\|\<\%(do\|while\)\>','bW',s:skip_expr)
|
||||||
" braceless context
|
if s:{s:LookingAt() == '}' && s:GetPair('{','}','bW',s:skip_expr) ?
|
||||||
function s:iscontOne(i,num,cont)
|
\ 'Previous' : ''}Token() ==# 'do' && s:IsBlock()
|
||||||
let [l:i, l:num, bL] = [a:i, a:num + !a:num, 0]
|
return 1
|
||||||
let pind = a:num ? indent(l:num) + s:W : 0
|
endif
|
||||||
let ind = indent(l:i) + (a:cont ? 0 : s:W)
|
call call('cursor',cpos)
|
||||||
while l:i >= l:num && (ind > pind || l:i == l:num)
|
endif
|
||||||
if indent(l:i) < ind && s:OneScope(l:i)
|
endfunction
|
||||||
let bL += s:W
|
|
||||||
let l:i = line('.')
|
" returns total offset from braceless contexts. 'num' is the lineNr which
|
||||||
elseif !a:cont || bL || ind < indent(a:i)
|
" encloses the entire context, 'cont' if whether a:firstline is a continued
|
||||||
|
" expression, which could have started in a braceless context
|
||||||
|
function s:IsContOne(num,cont)
|
||||||
|
let [l:num, b_l] = [a:num + !a:num, 0]
|
||||||
|
let pind = a:num ? indent(a:num) + s:sw() : 0
|
||||||
|
let ind = indent('.') + !a:cont
|
||||||
|
while line('.') > l:num && ind > pind || line('.') == l:num
|
||||||
|
if indent('.') < ind && s:OneScope()
|
||||||
|
let b_l += 1
|
||||||
|
elseif !a:cont || b_l || ind < indent(a:firstline)
|
||||||
|
break
|
||||||
|
else
|
||||||
|
call cursor(0,1)
|
||||||
|
endif
|
||||||
|
let ind = min([ind, indent('.')])
|
||||||
|
if s:PreviousToken() is ''
|
||||||
break
|
break
|
||||||
endif
|
endif
|
||||||
let ind = min([ind, indent(l:i)])
|
|
||||||
let l:i = s:PrevCodeLine(l:i - 1)
|
|
||||||
endwhile
|
endwhile
|
||||||
return bL
|
return b_l
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:Class()
|
||||||
|
return (s:Token() ==# 'class' || s:PreviousToken() =~# '^class$\|^extends$') &&
|
||||||
|
\ s:PreviousToken() != '.'
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
function s:IsSwitch()
|
||||||
|
return s:PreviousToken() !~ '[.*]' &&
|
||||||
|
\ (!s:GetPair('{','}','cbW',s:skip_expr) || s:IsBlock() && !s:Class())
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
" https://github.com/sweet-js/sweet.js/wiki/design#give-lookbehind-to-the-reader
|
||||||
function s:IsBlock()
|
function s:IsBlock()
|
||||||
if s:looking_at() == '{'
|
let tok = s:PreviousToken()
|
||||||
let l:n = line('.')
|
if join(s:stack) =~? 'xml\|jsx' && s:SynAt(line('.'),col('.')-1) =~? 'xml\|jsx'
|
||||||
let char = s:previous_token()
|
return tok != '{'
|
||||||
if match(s:stack,'\cxml\|jsx') + 1 && s:syn_at(line('.'),col('.')-1) =~? 'xml\|jsx'
|
elseif tok =~ '\k'
|
||||||
return char != '{'
|
if tok ==# 'type'
|
||||||
elseif char =~ '\k'
|
return s:Pure('eval',"s:PreviousToken() !~# '^\\%(im\\|ex\\)port$' || s:PreviousToken() == '.'")
|
||||||
if char ==# 'type'
|
elseif tok ==# 'of'
|
||||||
return s:previous_token() !~# '^\%(im\|ex\)port$'
|
return s:Pure('eval',"!s:GetPair('[[({]','[])}]','bW',s:skip_expr) || s:LookingAt() != '(' ||"
|
||||||
|
\ ."s:{s:PreviousToken() ==# 'await' ? 'Previous' : ''}Token() !=# 'for' || s:PreviousToken() == '.'")
|
||||||
endif
|
endif
|
||||||
return index(split('return const let import export extends yield default delete var await void typeof throw case new of in instanceof')
|
return index(split('return const let import export extends yield default delete var await void typeof throw case new in instanceof')
|
||||||
\ ,char) < (line('.') != l:n) || s:save_pos('s:previous_token') == '.'
|
\ ,tok) < (line('.') != a:firstline) || s:Pure('s:PreviousToken') == '.'
|
||||||
elseif char == '>'
|
elseif tok == '>'
|
||||||
return getline('.')[col('.')-2] == '=' || s:syn_at(line('.'),col('.')) =~? '^jsflow'
|
return getline('.')[col('.')-2] == '=' || s:SynAt(line('.'),col('.')) =~? 'jsflow\|^html'
|
||||||
elseif char == ':'
|
elseif tok == '*'
|
||||||
return !s:save_pos('s:expr_col')
|
return s:Pure('s:PreviousToken') == ':'
|
||||||
elseif char == '/'
|
elseif tok == ':'
|
||||||
return s:syn_at(line('.'),col('.')) =~? 'regex'
|
return s:Pure('eval',"s:PreviousToken() =~ '^\\K\\k*$' && !s:ExprCol()")
|
||||||
endif
|
elseif tok == '/'
|
||||||
return char !~ '[=~!<*,?^%|&([]' &&
|
return s:SynAt(line('.'),col('.')) =~? 'regex'
|
||||||
\ (char !~ '[-+]' || l:n != line('.') && getline('.')[col('.')-2] == char)
|
elseif tok !~ '[=~!<,.?^%|&([]'
|
||||||
|
return tok !~ '[-+]' || line('.') != a:firstline && getline('.')[col('.')-2] == tok
|
||||||
endif
|
endif
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function GetJavascriptIndent()
|
function GetJavascriptIndent()
|
||||||
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
let b:js_cache = get(b:,'js_cache',[0,0,0])
|
||||||
" Get the current line.
|
let s:synid_cache = [[],[]]
|
||||||
call cursor(v:lnum,1)
|
let l:line = getline(v:lnum)
|
||||||
let l:line = getline('.')
|
|
||||||
" use synstack as it validates syn state and works in an empty line
|
" use synstack as it validates syn state and works in an empty line
|
||||||
let s:stack = map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
let s:stack = [''] + map(synstack(v:lnum,1),"synIDattr(v:val,'name')")
|
||||||
let syns = get(s:stack,-1,'')
|
|
||||||
|
|
||||||
" start with strings,comments,etc.
|
" start with strings,comments,etc.
|
||||||
if syns =~? s:syng_com
|
if s:stack[-1] =~? 'comment\|doc'
|
||||||
if l:line =~ '^\s*\*'
|
if l:line =~ '^\s*\*'
|
||||||
return cindent(v:lnum)
|
return cindent(v:lnum)
|
||||||
elseif l:line !~ '^\s*\/[/*]'
|
elseif l:line !~ '^\s*\/[/*]'
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
elseif syns =~? s:syng_str
|
elseif s:stack[-1] =~? b:syng_str
|
||||||
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
if b:js_cache[0] == v:lnum - 1 && s:Balanced(v:lnum-1)
|
||||||
let b:js_cache[0] = v:lnum
|
let b:js_cache[0] = v:lnum
|
||||||
endif
|
endif
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
let l:lnum = s:PrevCodeLine(v:lnum - 1)
|
|
||||||
if !l:lnum
|
let s:l1 = max([0,prevnonblank(v:lnum) - (s:rel ? 2000 : 1000),
|
||||||
|
\ get(get(b:,'hi_indent',{}),'blocklnr')])
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
if s:PreviousToken() is ''
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
let [l:lnum, pline] = [line('.'), getline('.')[:col('.')-1]]
|
||||||
|
|
||||||
let l:line = substitute(l:line,'^\s*','','')
|
let l:line = substitute(l:line,'^\s*','','')
|
||||||
|
let l:line_raw = l:line
|
||||||
if l:line[:1] == '/*'
|
if l:line[:1] == '/*'
|
||||||
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
let l:line = substitute(l:line,'^\%(\/\*.\{-}\*\/\s*\)*','','')
|
||||||
endif
|
endif
|
||||||
@@ -318,60 +358,91 @@ function GetJavascriptIndent()
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
" the containing paren, bracket, or curly. Many hacks for performance
|
" the containing paren, bracket, or curly. Many hacks for performance
|
||||||
|
call cursor(v:lnum,1)
|
||||||
let idx = index([']',')','}'],l:line[0])
|
let idx = index([']',')','}'],l:line[0])
|
||||||
if b:js_cache[0] >= l:lnum && b:js_cache[0] < v:lnum &&
|
if b:js_cache[0] > l:lnum && b:js_cache[0] < v:lnum ||
|
||||||
\ (b:js_cache[0] > l:lnum || s:Balanced(l:lnum))
|
\ b:js_cache[0] == l:lnum && s:Balanced(l:lnum)
|
||||||
call call('cursor',b:js_cache[1:])
|
call call('cursor',b:js_cache[1:])
|
||||||
else
|
else
|
||||||
let [s:looksyn, s:checkIn, top] = [v:lnum - 1, 0, (!indent(l:lnum) &&
|
let [s:looksyn, s:top_col, s:check_in, s:l1] = [v:lnum - 1,0,0,
|
||||||
\ s:syn_at(l:lnum,1) !~? s:syng_str) * l:lnum]
|
\ max([s:l1, &smc ? search('\m^.\{'.&smc.',}','nbW',s:l1 + 1) + 1 : 0])]
|
||||||
if idx + 1
|
try
|
||||||
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:skip_func()',2000,top)
|
if idx != -1
|
||||||
elseif getline(v:lnum) !~ '^\S' && syns =~? 'block'
|
call s:GetPair(['\[','(','{'][idx],'])}'[idx],'bW','s:SkipFunc()')
|
||||||
call s:GetPair('{','}','bW','s:skip_func()',2000,top)
|
elseif getline(v:lnum) !~ '^\S' && s:stack[-1] =~? 'block\|^jsobject$'
|
||||||
|
call s:GetPair('{','}','bW','s:SkipFunc()')
|
||||||
else
|
else
|
||||||
call s:alternatePair(top)
|
call s:AlternatePair()
|
||||||
endif
|
endif
|
||||||
|
catch /^\Cout of bounds$/
|
||||||
|
call cursor(v:lnum,1)
|
||||||
|
endtry
|
||||||
|
let b:js_cache[1:] = line('.') == v:lnum ? [0,0] : getpos('.')[1:2]
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let b:js_cache = [v:lnum] + (line('.') == v:lnum ? [0,0] : getpos('.')[1:2])
|
let [b:js_cache[0], num] = [v:lnum, b:js_cache[1]]
|
||||||
let num = b:js_cache[1]
|
|
||||||
|
|
||||||
let [s:W, isOp, bL, switch_offset] = [s:sw(),0,0,0]
|
let [num_ind, is_op, b_l, l:switch_offset] = [s:Nat(indent(num)),0,0,0]
|
||||||
if !num || s:IsBlock()
|
if !num || s:LookingAt() == '{' && s:IsBlock()
|
||||||
let ilnum = line('.')
|
let ilnum = line('.')
|
||||||
let pline = s:save_pos('s:Trim',l:lnum)
|
if num && s:LookingAt() == ')' && s:GetPair('(',')','bW',s:skip_expr)
|
||||||
if num && s:looking_at() == ')' && s:GetPair('(', ')', 'bW', s:skip_expr, 100) > 0
|
if ilnum == num
|
||||||
let num = ilnum == num ? line('.') : num
|
let [num, num_ind] = [line('.'), indent('.')]
|
||||||
if idx < 0 && s:previous_token() ==# 'switch' && s:previous_token() != '.'
|
|
||||||
if &cino !~ ':'
|
|
||||||
let switch_offset = s:W
|
|
||||||
else
|
|
||||||
let switch_offset = max([-indent(num),s:parse_cino(':')])
|
|
||||||
endif
|
endif
|
||||||
|
if idx == -1 && s:PreviousToken() ==# 'switch' && s:IsSwitch()
|
||||||
|
let l:switch_offset = &cino !~ ':' ? s:sw() : s:ParseCino(':')
|
||||||
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
if pline[-1:] != '.' && l:line =~# '^\%(default\|case\)\>'
|
||||||
return indent(num) + switch_offset
|
return s:Nat(num_ind + l:switch_offset)
|
||||||
|
elseif &cino =~ '='
|
||||||
|
let l:case_offset = s:ParseCino('=')
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
if idx < 0 && pline[-1:] !~ '[{;]'
|
if idx == -1 && pline[-1:] !~ '[{;]'
|
||||||
let isOp = (l:line =~# s:opfirst || s:continues(l:lnum,pline)) * s:W
|
let sol = matchstr(l:line,s:opfirst)
|
||||||
let bL = s:iscontOne(l:lnum,b:js_cache[1],isOp)
|
if sol is '' || sol == '/' && s:SynAt(v:lnum,
|
||||||
let bL -= (bL && l:line[0] == '{') * s:W
|
\ 1 + len(getline(v:lnum)) - len(l:line)) =~? 'regex'
|
||||||
|
if s:Continues(l:lnum,pline)
|
||||||
|
let is_op = s:sw()
|
||||||
endif
|
endif
|
||||||
elseif idx < 0 && getline(b:js_cache[1])[b:js_cache[2]-1] == '(' && &cino =~ '('
|
elseif num && sol =~# '^\%(in\%(stanceof\)\=\|\*\)$'
|
||||||
let pval = s:parse_cino('(')
|
call call('cursor',b:js_cache[1:])
|
||||||
return !pval ? (s:parse_cino('w') ? 0 : -(!!search('\m\S','W'.s:z,num))) + virtcol('.') :
|
if s:PreviousToken() =~ '\k' && s:Class()
|
||||||
\ max([indent('.') + pval + (s:GetPair('(',')','nbrmW',s:skip_expr,100,num) * s:W),0])
|
return num_ind + s:sw()
|
||||||
|
endif
|
||||||
|
let is_op = s:sw()
|
||||||
|
else
|
||||||
|
let is_op = s:sw()
|
||||||
|
endif
|
||||||
|
call cursor(l:lnum, len(pline))
|
||||||
|
let b_l = s:Nat(s:IsContOne(b:js_cache[1],is_op) - (!is_op && l:line =~ '^{')) * s:sw()
|
||||||
|
endif
|
||||||
|
elseif idx.s:LookingAt().&cino =~ '^-1(.*(' && (search('\m\S','nbW',num) || s:ParseCino('U'))
|
||||||
|
let pval = s:ParseCino('(')
|
||||||
|
if !pval
|
||||||
|
let [Wval, vcol] = [s:ParseCino('W'), virtcol('.')]
|
||||||
|
if search('\m\S','W',num)
|
||||||
|
return s:ParseCino('w') ? vcol : virtcol('.')-1
|
||||||
|
endif
|
||||||
|
return Wval ? s:Nat(num_ind + Wval) : vcol
|
||||||
|
endif
|
||||||
|
return s:Nat(num_ind + pval + searchpair('\m(','','\m)','nbrmW',s:skip_expr,num) * s:sw())
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" main return
|
" main return
|
||||||
if l:line =~ '^\%([])}]\||}\)'
|
if l:line =~ '^[])}]\|^|}'
|
||||||
return max([indent(num),0])
|
if l:line_raw[0] == ')' && getline(num)[b:js_cache[2]-1] == '('
|
||||||
elseif num
|
if s:ParseCino('M')
|
||||||
return indent(num) + s:W + switch_offset + bL + isOp
|
return indent(l:lnum)
|
||||||
|
elseif &cino =~# 'm' && !s:ParseCino('m')
|
||||||
|
return virtcol('.') - 1
|
||||||
endif
|
endif
|
||||||
return bL + isOp
|
endif
|
||||||
|
return num_ind
|
||||||
|
elseif num
|
||||||
|
return s:Nat(num_ind + get(l:,'case_offset',s:sw()) + l:switch_offset + b_l + is_op)
|
||||||
|
endif
|
||||||
|
return b_l + is_op
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017-01-04
|
||||||
|
|
||||||
" Suggestions and improvements by :
|
" Suggestions and improvements by :
|
||||||
" Aaron J. Sherman (use syntax for hints)
|
" Aaron J. Sherman (use syntax for hints)
|
||||||
@@ -48,11 +48,6 @@ function! GetPerlIndent()
|
|||||||
return 0
|
return 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Don't reindent comments on first column
|
|
||||||
if cline =~ '^#.'
|
|
||||||
return 0
|
|
||||||
endif
|
|
||||||
|
|
||||||
" Get current syntax item at the line's first char
|
" Get current syntax item at the line's first char
|
||||||
let csynid = ''
|
let csynid = ''
|
||||||
if b:indent_use_syntax
|
if b:indent_use_syntax
|
||||||
@@ -134,6 +129,7 @@ function! GetPerlIndent()
|
|||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlHereDoc"
|
\ || synid == "perlHereDoc"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ "^perlFiledescStatement"
|
\ || synid =~ "^perlFiledescStatement"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let brace = strpart(line, bracepos, 1)
|
let brace = strpart(line, bracepos, 1)
|
||||||
@@ -151,6 +147,7 @@ function! GetPerlIndent()
|
|||||||
if synid == ""
|
if synid == ""
|
||||||
\ || synid == "perlMatchStartEnd"
|
\ || synid == "perlMatchStartEnd"
|
||||||
\ || synid == "perlBraces"
|
\ || synid == "perlBraces"
|
||||||
|
\ || synid == "perlStatementIndirObj"
|
||||||
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
\ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
|
||||||
let ind = ind - shiftwidth()
|
let ind = ind - shiftwidth()
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
" VHDL indent ('93 syntax)
|
" VHDL indent ('93 syntax)
|
||||||
" Language: VHDL
|
" Language: VHDL
|
||||||
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
" Maintainer: Gerald Lai <laigera+vim?gmail.com>
|
||||||
" Version: 1.60
|
" Version: 1.62
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017 Oct 17
|
||||||
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
" URL: http://www.vim.org/scripts/script.php?script_id=1450
|
||||||
|
|
||||||
" only load this indent file when no other was loaded
|
" only load this indent file when no other was loaded
|
||||||
@@ -412,11 +412,12 @@ function GetVHDLindent()
|
|||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement
|
" indent: maintain indent of previous opening statement
|
||||||
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + eventually ;$
|
" keywords: without "procedure", "generic", "map", "port" + ":" but not ":=" + "in", "out", "inout", "buffer", "linkage", variable & ":="
|
||||||
" where: start of current line
|
" where: start of current line
|
||||||
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=].*;.*$'
|
if curs =~? '^\s*\%(\<\%(procedure\|generic\|map\|port\)\>.*\)\@<!\w\+\s*\w*\s*:[^=]\@=\s*\%(\%(in\|out\|inout\|buffer\|linkage\)\>\|\w\+\s\+:=\)'
|
||||||
return ind2
|
return ind2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ****************************************************************************************
|
" ****************************************************************************************
|
||||||
" indent: maintain indent of previous opening statement, corner case which
|
" indent: maintain indent of previous opening statement, corner case which
|
||||||
" does not end in ;, but is part of a mapping
|
" does not end in ;, but is part of a mapping
|
||||||
|
|||||||
147
runtime/menu.vim
147
runtime/menu.vim
@@ -2,7 +2,7 @@
|
|||||||
" You can also use this as a start for your own set of menus.
|
" You can also use this as a start for your own set of menus.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Mar 04
|
" Last Change: 2017 Nov 09
|
||||||
|
|
||||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
" in all modes and avoid side effects from mappings defined by the user.
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
@@ -159,7 +159,7 @@ nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p [p
|
|||||||
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
inoremenu &Edit.Put\ &Before<Tab>[p <C-O>[p
|
||||||
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
nnoremenu 20.380 &Edit.Put\ &After<Tab>]p ]p
|
||||||
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
inoremenu &Edit.Put\ &After<Tab>]p <C-O>]p
|
||||||
if has("win32") || has("win16")
|
if has("win32")
|
||||||
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
vnoremenu 20.390 &Edit.&Delete<Tab>x x
|
||||||
endif
|
endif
|
||||||
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
noremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
|
||||||
@@ -167,7 +167,7 @@ inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>S
|
|||||||
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
|
||||||
|
|
||||||
an 20.405 &Edit.-SEP2- <Nop>
|
an 20.405 &Edit.-SEP2- <Nop>
|
||||||
if has("win32") || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
if has("win32") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
|
||||||
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
an 20.410 &Edit.&Find\.\.\. :promptfind<CR>
|
||||||
vunmenu &Edit.&Find\.\.\.
|
vunmenu &Edit.&Find\.\.\.
|
||||||
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
vnoremenu <silent> &Edit.&Find\.\.\. y:promptfind <C-R>=<SID>FixFText()<CR><CR>
|
||||||
@@ -339,51 +339,65 @@ fun! s:FileFormat()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_color_schemes = 0
|
||||||
|
|
||||||
" Setup the Edit.Color Scheme submenu
|
" Setup the Edit.Color Scheme submenu
|
||||||
|
func! s:SetupColorSchemes() abort
|
||||||
|
if s:did_setup_color_schemes
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:did_setup_color_schemes = 1
|
||||||
|
|
||||||
" get NL separated string with file names
|
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
|
||||||
let s:n = globpath(&runtimepath, "colors/*.vim")
|
|
||||||
|
|
||||||
" split at NL, Ignore case for VMS and windows, sort on name
|
" Ignore case for VMS and windows, sort on name
|
||||||
let s:names = sort(map(split(s:n, "\n"), 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)
|
||||||
|
|
||||||
" define all the submenu entries
|
" define all the submenu entries
|
||||||
let s:idx = 100
|
let idx = 100
|
||||||
for s:name in s:names
|
for name in names
|
||||||
exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
|
exe "an 20.450." . idx . ' &Edit.C&olor\ Scheme.' . name . " :colors " . name . "<CR>"
|
||||||
let s:idx = s:idx + 10
|
let idx = idx + 10
|
||||||
endfor
|
endfor
|
||||||
unlet s:name s:names s:n s:idx
|
silent! aunmenu &Edit.Show\ C&olor\ Schemes\ in\ Menu
|
||||||
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
else
|
||||||
|
an <silent> 20.450 &Edit.Show\ C&olor\ Schemes\ in\ Menu :call <SID>SetupColorSchemes()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
" Setup the Edit.Keymap submenu
|
" Setup the Edit.Keymap submenu
|
||||||
if has("keymap")
|
if has("keymap")
|
||||||
let s:n = globpath(&runtimepath, "keymap/*.vim")
|
let s:did_setup_keymaps = 0
|
||||||
if s:n != ""
|
|
||||||
let s:idx = 100
|
func! s:SetupKeymaps() abort
|
||||||
|
if s:did_setup_keymaps
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
let s:did_setup_keymaps = 1
|
||||||
|
|
||||||
|
let n = globpath(&runtimepath, "keymap/*.vim", 1, 1)
|
||||||
|
if !empty(n)
|
||||||
|
let idx = 100
|
||||||
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
|
||||||
while strlen(s:n) > 0
|
for name in n
|
||||||
let s:i = stridx(s:n, "\n")
|
|
||||||
if s:i < 0
|
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
|
||||||
else
|
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
|
||||||
endif
|
|
||||||
" Ignore case for VMS and windows
|
" Ignore case for VMS and windows
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
|
||||||
exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
|
exe "an 20.460." . idx . ' &Edit.&Keymap.' . name . " :set keymap=" . name . "<CR>"
|
||||||
unlet s:name
|
let idx = idx + 10
|
||||||
unlet s:i
|
endfor
|
||||||
let s:idx = s:idx + 10
|
endif
|
||||||
endwhile
|
silent! aunmenu &Edit.Show\ &Keymaps\ in\ Menu
|
||||||
unlet s:idx
|
endfun
|
||||||
|
if exists("do_no_lazyload_menus")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
else
|
||||||
|
an <silent> 20.460 &Edit.Show\ &Keymaps\ in\ Menu :call <SID>SetupKeymaps()<CR>
|
||||||
endif
|
endif
|
||||||
unlet s:n
|
|
||||||
endif
|
endif
|
||||||
if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
if has("win32") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
|
||||||
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
an 20.470 &Edit.Select\ Fo&nt\.\.\. :set guifont=*<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -441,10 +455,10 @@ if has("spell")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
let found = 0
|
let found = 0
|
||||||
let s = globpath(&rtp, "spell/*." . enc . ".spl")
|
let s = globpath(&runtimepath, "spell/*." . enc . ".spl", 1, 1)
|
||||||
if s != ""
|
if !empty(s)
|
||||||
let n = 300
|
let n = 300
|
||||||
for f in split(s, "\n")
|
for f in s
|
||||||
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
|
||||||
if nm != "en" && nm !~ '/'
|
if nm != "en" && nm !~ '/'
|
||||||
let _nm = nm
|
let _nm = nm
|
||||||
@@ -574,27 +588,46 @@ func! s:XxdFind()
|
|||||||
endif
|
endif
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
|
let s:did_setup_compilers = 0
|
||||||
|
|
||||||
" Setup the Tools.Compiler submenu
|
" Setup the Tools.Compiler submenu
|
||||||
let s:n = globpath(&runtimepath, "compiler/*.vim")
|
func! s:SetupCompilers() abort
|
||||||
let s:idx = 100
|
if s:did_setup_compilers
|
||||||
while strlen(s:n) > 0
|
return
|
||||||
let s:i = stridx(s:n, "\n")
|
|
||||||
if s:i < 0
|
|
||||||
let s:name = s:n
|
|
||||||
let s:n = ""
|
|
||||||
else
|
|
||||||
let s:name = strpart(s:n, 0, s:i)
|
|
||||||
let s:n = strpart(s:n, s:i + 1, 19999)
|
|
||||||
endif
|
endif
|
||||||
|
let s:did_setup_compilers = 1
|
||||||
|
|
||||||
|
let n = globpath(&runtimepath, "compiler/*.vim", 1, 1)
|
||||||
|
let idx = 100
|
||||||
|
for name in n
|
||||||
" Ignore case for VMS and windows
|
" Ignore case for VMS and windows
|
||||||
let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
let name = substitute(name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
|
||||||
exe "an 30.440." . s:idx . ' &Tools.Se&t\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
|
exe "an 30.440." . idx . ' &Tools.Se&t\ Compiler.' . name . " :compiler " . name . "<CR>"
|
||||||
unlet s:name
|
let idx = idx + 10
|
||||||
unlet s:i
|
endfor
|
||||||
let s:idx = s:idx + 10
|
silent! aunmenu &Tools.Show\ Compiler\ Se&ttings\ in\ Menu
|
||||||
endwhile
|
endfun
|
||||||
unlet s:n
|
if exists("do_no_lazyload_menus")
|
||||||
unlet s:idx
|
call s:SetupCompilers()
|
||||||
|
else
|
||||||
|
an <silent> 30.440 &Tools.Show\ Compiler\ Se&ttings\ in\ Menu :call <SID>SetupCompilers()<CR>
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Load ColorScheme, Compiler Setting and Keymap menus when idle.
|
||||||
|
if !exists("do_no_lazyload_menus")
|
||||||
|
func! s:SetupLazyloadMenus()
|
||||||
|
call s:SetupColorSchemes()
|
||||||
|
call s:SetupCompilers()
|
||||||
|
if has("keymap")
|
||||||
|
call s:SetupKeymaps()
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
augroup SetupLazyloadMenus
|
||||||
|
au!
|
||||||
|
au CursorHold,CursorHoldI * call <SID>SetupLazyloadMenus() | au! SetupLazyloadMenus
|
||||||
|
augroup END
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
if !exists("no_buffers_menu")
|
if !exists("no_buffers_menu")
|
||||||
|
|
||||||
@@ -1095,7 +1128,7 @@ if (exists("did_load_filetypes") || exists("syntax_on"))
|
|||||||
if exists("do_syntax_sel_menu")
|
if exists("do_syntax_sel_menu")
|
||||||
runtime! synmenu.vim
|
runtime! synmenu.vim
|
||||||
else
|
else
|
||||||
an 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
an <silent> 50.10 &Syntax.&Show\ File\ Types\ in\ Menu :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ File\ Types\ in\ Menu<CR>
|
||||||
an 50.195 &Syntax.-SEP1- <Nop>
|
an 50.195 &Syntax.-SEP1- <Nop>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
" Set options and add mapping such that Vim behaves a lot like MS-Windows
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Feb 09
|
" Last change: 2017 Oct 28
|
||||||
|
|
||||||
" bail out if this isn't wanted (mrsvim.vim uses this).
|
" bail out if this isn't wanted (mrsvim.vim uses this).
|
||||||
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
if exists("g:skip_loading_mswin") && g:skip_loading_mswin
|
||||||
@@ -105,14 +105,15 @@ onoremap <C-F4> <C-C><C-W>c
|
|||||||
|
|
||||||
if has("gui")
|
if has("gui")
|
||||||
" CTRL-F is the search dialog
|
" CTRL-F is the search dialog
|
||||||
noremap <C-F> :promptfind<CR>
|
noremap <expr> <C-F> has("gui_running") ? ":promptfind\<CR>" : "/"
|
||||||
inoremap <C-F> <C-\><C-O>:promptfind<CR>
|
inoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-O>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
cnoremap <C-F> <C-\><C-C>:promptfind<CR>
|
cnoremap <expr> <C-F> has("gui_running") ? "\<C-\>\<C-C>:promptfind\<CR>" : "\<C-\>\<C-O>/"
|
||||||
|
|
||||||
" CTRL-H is the replace dialog
|
" CTRL-H is the replace dialog,
|
||||||
noremap <C-H> :promptrepl<CR>
|
" but in console, it might be backspace, so don't map it there
|
||||||
inoremap <C-H> <C-\><C-O>:promptrepl<CR>
|
nnoremap <expr> <C-H> has("gui_running") ? ":promptrepl\<CR>" : "\<C-H>"
|
||||||
cnoremap <C-H> <C-\><C-C>:promptrepl<CR>
|
inoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-O>:promptrepl\<CR>" : "\<C-H>"
|
||||||
|
cnoremap <expr> <C-H> has("gui_running") ? "\<C-\>\<C-C>:promptrepl\<CR>" : "\<C-H>"
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" restore 'cpoptions'
|
" restore 'cpoptions'
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" These commands create the option window.
|
" These commands create the option window.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2017 Aug 19
|
" Last Change: 2017 Oct 19
|
||||||
|
|
||||||
" If there already is an option window, jump to that one.
|
" If there already is an option window, jump to that one.
|
||||||
let buf = bufnr('option-window')
|
let buf = bufnr('option-window')
|
||||||
@@ -1225,6 +1225,8 @@ endif
|
|||||||
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "iminsert\tin Insert mode: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("imi")
|
call <SID>OptionL("imi")
|
||||||
|
call append("$", "imstyle\tinput method style, 0: on-the-spot, 1: over-the-spot")
|
||||||
|
call <SID>OptionG("imst", &imst)
|
||||||
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
call append("$", "imsearch\tentering a search pattern: 1: use :lmap; 2: use IM; 0: neither")
|
||||||
call append("$", "\t(local to window)")
|
call append("$", "\t(local to window)")
|
||||||
call <SID>OptionL("ims")
|
call <SID>OptionL("ims")
|
||||||
@@ -1358,6 +1360,12 @@ if exists("&tcldll")
|
|||||||
call append("$", "tcldll\tname of the Tcl dynamic library")
|
call append("$", "tcldll\tname of the Tcl dynamic library")
|
||||||
call <SID>OptionG("tcldll", &tcldll)
|
call <SID>OptionG("tcldll", &tcldll)
|
||||||
endif
|
endif
|
||||||
|
if exists("&mzschemedll")
|
||||||
|
call append("$", "mzschemedll\tname of the Tcl dynamic library")
|
||||||
|
call <SID>OptionG("mzschemedll", &mzschemedll)
|
||||||
|
call append("$", "mzschemegcdll\tname of the Tcl GC dynamic library")
|
||||||
|
call <SID>OptionG("mzschemegcdll", &mzschemegcdll)
|
||||||
|
endif
|
||||||
|
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
" matchit.vim: (global plugin) Extended "%" matching
|
" matchit.vim: (global plugin) Extended "%" matching
|
||||||
" Last Change: 2017 March 26
|
" Last Change: 2017 Sep 15
|
||||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||||
" Version: 1.13.3, for Vim 6.3+
|
" Version: 1.13.3, for Vim 6.3+
|
||||||
" Fix from Fernando Torres included.
|
" Fix from Fernando Torres included.
|
||||||
@@ -704,9 +704,8 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
let skip = 's:comment\|string'
|
let skip = 's:comment\|string'
|
||||||
endif
|
endif
|
||||||
let skip = s:ParseSkip(skip)
|
let skip = s:ParseSkip(skip)
|
||||||
" let restore_cursor = line(".") . "G" . virtcol(".") . "|"
|
" save v:count1 variable, might be reset from the restore_cursor command
|
||||||
" normal! H
|
let level = v:count1
|
||||||
" let restore_cursor = "normal!" . line(".") . "Gzt" . restore_cursor
|
|
||||||
let restore_cursor = virtcol(".") . "|"
|
let restore_cursor = virtcol(".") . "|"
|
||||||
normal! g0
|
normal! g0
|
||||||
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
let restore_cursor = line(".") . "G" . virtcol(".") . "|zs" . restore_cursor
|
||||||
@@ -726,7 +725,6 @@ fun! s:MultiMatch(spflag, mode)
|
|||||||
execute "if " . skip . "| let skip = '0' | endif"
|
execute "if " . skip . "| let skip = '0' | endif"
|
||||||
endif
|
endif
|
||||||
mark '
|
mark '
|
||||||
let level = v:count1
|
|
||||||
while level
|
while level
|
||||||
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
if searchpair(openpat, '', closepat, a:spflag, skip) < 1
|
||||||
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
call s:CleanUp(restore_options, a:mode, startline, startcol)
|
||||||
|
|||||||
154
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
154
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
@@ -15,6 +15,14 @@
|
|||||||
" Author: Bram Moolenaar
|
" Author: Bram Moolenaar
|
||||||
" Copyright: Vim license applies, see ":help license"
|
" Copyright: Vim license applies, see ":help license"
|
||||||
|
|
||||||
|
" In case this gets loaded twice.
|
||||||
|
if exists(':Termdebug')
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Uncomment this line to write logging in "debuglog".
|
||||||
|
" call ch_logfile('debuglog', 'w')
|
||||||
|
|
||||||
" The command that starts debugging, e.g. ":Termdebug vim".
|
" The command that starts debugging, e.g. ":Termdebug vim".
|
||||||
" To end type "quit" in the gdb window.
|
" To end type "quit" in the gdb window.
|
||||||
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
command -nargs=* -complete=file Termdebug call s:StartDebug(<q-args>)
|
||||||
@@ -26,6 +34,7 @@ endif
|
|||||||
|
|
||||||
let s:pc_id = 12
|
let s:pc_id = 12
|
||||||
let s:break_id = 13
|
let s:break_id = 13
|
||||||
|
let s:stopped = 1
|
||||||
|
|
||||||
if &background == 'light'
|
if &background == 'light'
|
||||||
hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
hi default debugPC term=reverse ctermbg=lightblue guibg=lightblue
|
||||||
@@ -38,12 +47,14 @@ func s:StartDebug(cmd)
|
|||||||
let s:startwin = win_getid(winnr())
|
let s:startwin = win_getid(winnr())
|
||||||
let s:startsigncolumn = &signcolumn
|
let s:startsigncolumn = &signcolumn
|
||||||
|
|
||||||
if exists('g:termdebug_wide') && &columns < g:termdebug_wide
|
let s:save_columns = 0
|
||||||
|
if exists('g:termdebug_wide')
|
||||||
|
if &columns < g:termdebug_wide
|
||||||
let s:save_columns = &columns
|
let s:save_columns = &columns
|
||||||
let &columns = g:termdebug_wide
|
let &columns = g:termdebug_wide
|
||||||
|
endif
|
||||||
let vertical = 1
|
let vertical = 1
|
||||||
else
|
else
|
||||||
let s:save_columns = 0
|
|
||||||
let vertical = 0
|
let vertical = 0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -58,6 +69,11 @@ func s:StartDebug(cmd)
|
|||||||
endif
|
endif
|
||||||
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||||
let s:ptywin = win_getid(winnr())
|
let s:ptywin = win_getid(winnr())
|
||||||
|
if vertical
|
||||||
|
" Assuming the source code window will get a signcolumn, use two more
|
||||||
|
" columns for that, thus one less for the terminal window.
|
||||||
|
exe (&columns / 2 - 1) . "wincmd |"
|
||||||
|
endif
|
||||||
|
|
||||||
" Create a hidden terminal window to communicate with gdb
|
" Create a hidden terminal window to communicate with gdb
|
||||||
let s:commbuf = term_start('NONE', {
|
let s:commbuf = term_start('NONE', {
|
||||||
@@ -73,13 +89,14 @@ func s:StartDebug(cmd)
|
|||||||
let commpty = job_info(term_getjob(s:commbuf))['tty_out']
|
let commpty = job_info(term_getjob(s:commbuf))['tty_out']
|
||||||
|
|
||||||
" Open a terminal window to run the debugger.
|
" Open a terminal window to run the debugger.
|
||||||
let cmd = [g:termdebugger, '-tty', pty, a:cmd]
|
" Add -quiet to avoid the intro message causing a hit-enter prompt.
|
||||||
|
let cmd = [g:termdebugger, '-quiet', '-tty', pty, a:cmd]
|
||||||
echomsg 'executing "' . join(cmd) . '"'
|
echomsg 'executing "' . join(cmd) . '"'
|
||||||
let gdbbuf = term_start(cmd, {
|
let s:gdbbuf = term_start(cmd, {
|
||||||
\ 'exit_cb': function('s:EndDebug'),
|
\ 'exit_cb': function('s:EndDebug'),
|
||||||
\ 'term_finish': 'close',
|
\ 'term_finish': 'close',
|
||||||
\ })
|
\ })
|
||||||
if gdbbuf == 0
|
if s:gdbbuf == 0
|
||||||
echoerr 'Failed to open the gdb terminal window'
|
echoerr 'Failed to open the gdb terminal window'
|
||||||
exe 'bwipe! ' . s:ptybuf
|
exe 'bwipe! ' . s:ptybuf
|
||||||
exe 'bwipe! ' . s:commbuf
|
exe 'bwipe! ' . s:commbuf
|
||||||
@@ -88,7 +105,13 @@ func s:StartDebug(cmd)
|
|||||||
let s:gdbwin = win_getid(winnr())
|
let s:gdbwin = win_getid(winnr())
|
||||||
|
|
||||||
" Connect gdb to the communication pty, using the GDB/MI interface
|
" Connect gdb to the communication pty, using the GDB/MI interface
|
||||||
call term_sendkeys(gdbbuf, 'new-ui mi ' . commpty . "\r")
|
" If you get an error "undefined command" your GDB is too old.
|
||||||
|
call term_sendkeys(s:gdbbuf, 'new-ui mi ' . commpty . "\r")
|
||||||
|
|
||||||
|
" Interpret commands while the target is running. This should usualy only be
|
||||||
|
" exec-interrupt, since many commands don't work properly while the target is
|
||||||
|
" running.
|
||||||
|
call s:SendCommand('-gdb-set mi-async on')
|
||||||
|
|
||||||
" Sign used to highlight the line where the program has stopped.
|
" Sign used to highlight the line where the program has stopped.
|
||||||
" There can be only one.
|
" There can be only one.
|
||||||
@@ -103,6 +126,17 @@ func s:StartDebug(cmd)
|
|||||||
call s:InstallCommands()
|
call s:InstallCommands()
|
||||||
call win_gotoid(s:gdbwin)
|
call win_gotoid(s:gdbwin)
|
||||||
|
|
||||||
|
" Enable showing a balloon with eval info
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=TermDebugBalloonExpr()
|
||||||
|
if has("balloon_eval")
|
||||||
|
set ballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set balloonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
let s:breakpoints = {}
|
let s:breakpoints = {}
|
||||||
|
|
||||||
augroup TermDebug
|
augroup TermDebug
|
||||||
@@ -126,6 +160,16 @@ func s:EndDebug(job, status)
|
|||||||
let &columns = s:save_columns
|
let &columns = s:save_columns
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
if has("balloon_eval") || has("balloon_eval_term")
|
||||||
|
set balloonexpr=
|
||||||
|
if has("balloon_eval")
|
||||||
|
set noballooneval
|
||||||
|
endif
|
||||||
|
if has("balloon_eval_term")
|
||||||
|
set noballoonevalterm
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
au! TermDebug
|
au! TermDebug
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@@ -161,6 +205,9 @@ func s:InstallCommands()
|
|||||||
command Step call s:SendCommand('-exec-step')
|
command Step call s:SendCommand('-exec-step')
|
||||||
command Over call s:SendCommand('-exec-next')
|
command Over call s:SendCommand('-exec-next')
|
||||||
command Finish call s:SendCommand('-exec-finish')
|
command Finish call s:SendCommand('-exec-finish')
|
||||||
|
command -nargs=* Run call s:Run(<q-args>)
|
||||||
|
command -nargs=* Arguments call s:SendCommand('-exec-arguments ' . <q-args>)
|
||||||
|
command Stop call s:SendCommand('-exec-interrupt')
|
||||||
command Continue call s:SendCommand('-exec-continue')
|
command Continue call s:SendCommand('-exec-continue')
|
||||||
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||||
command Gdb call win_gotoid(s:gdbwin)
|
command Gdb call win_gotoid(s:gdbwin)
|
||||||
@@ -170,11 +217,12 @@ func s:InstallCommands()
|
|||||||
nnoremap K :Evaluate<CR>
|
nnoremap K :Evaluate<CR>
|
||||||
|
|
||||||
if has('menu')
|
if has('menu')
|
||||||
amenu WinBar.Step :Step<CR>
|
nnoremenu WinBar.Step :Step<CR>
|
||||||
amenu WinBar.Next :Over<CR>
|
nnoremenu WinBar.Next :Over<CR>
|
||||||
amenu WinBar.Finish :Finish<CR>
|
nnoremenu WinBar.Finish :Finish<CR>
|
||||||
amenu WinBar.Cont :Continue<CR>
|
nnoremenu WinBar.Cont :Continue<CR>
|
||||||
amenu WinBar.Eval :Evaluate<CR>
|
nnoremenu WinBar.Stop :Stop<CR>
|
||||||
|
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||||
endif
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@@ -185,6 +233,9 @@ func s:DeleteCommands()
|
|||||||
delcommand Step
|
delcommand Step
|
||||||
delcommand Over
|
delcommand Over
|
||||||
delcommand Finish
|
delcommand Finish
|
||||||
|
delcommand Run
|
||||||
|
delcommand Arguments
|
||||||
|
delcommand Stop
|
||||||
delcommand Continue
|
delcommand Continue
|
||||||
delcommand Evaluate
|
delcommand Evaluate
|
||||||
delcommand Gdb
|
delcommand Gdb
|
||||||
@@ -197,6 +248,7 @@ func s:DeleteCommands()
|
|||||||
aunmenu WinBar.Next
|
aunmenu WinBar.Next
|
||||||
aunmenu WinBar.Finish
|
aunmenu WinBar.Finish
|
||||||
aunmenu WinBar.Cont
|
aunmenu WinBar.Cont
|
||||||
|
aunmenu WinBar.Stop
|
||||||
aunmenu WinBar.Eval
|
aunmenu WinBar.Eval
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -211,8 +263,19 @@ endfunc
|
|||||||
|
|
||||||
" :Break - Set a breakpoint at the cursor position.
|
" :Break - Set a breakpoint at the cursor position.
|
||||||
func s:SetBreakpoint()
|
func s:SetBreakpoint()
|
||||||
call term_sendkeys(s:commbuf, '-break-insert --source '
|
" Setting a breakpoint may not work while the program is running.
|
||||||
\ . fnameescape(expand('%:p')) . ' --line ' . line('.') . "\r")
|
" Interrupt to make it work.
|
||||||
|
let do_continue = 0
|
||||||
|
if !s:stopped
|
||||||
|
let do_continue = 1
|
||||||
|
call s:SendCommand('-exec-interrupt')
|
||||||
|
sleep 10m
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-break-insert --source '
|
||||||
|
\ . fnameescape(expand('%:p')) . ' --line ' . line('.'))
|
||||||
|
if do_continue
|
||||||
|
call s:SendCommand('-exec-continue')
|
||||||
|
endif
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" :Delete - Delete a breakpoint at the cursor position.
|
" :Delete - Delete a breakpoint at the cursor position.
|
||||||
@@ -235,6 +298,18 @@ func s:SendCommand(cmd)
|
|||||||
call term_sendkeys(s:commbuf, a:cmd . "\r")
|
call term_sendkeys(s:commbuf, a:cmd . "\r")
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func s:Run(args)
|
||||||
|
if a:args != ''
|
||||||
|
call s:SendCommand('-exec-arguments ' . a:args)
|
||||||
|
endif
|
||||||
|
call s:SendCommand('-exec-run')
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func s:SendEval(expr)
|
||||||
|
call s:SendCommand('-data-evaluate-expression "' . a:expr . '"')
|
||||||
|
let s:evalexpr = a:expr
|
||||||
|
endfunc
|
||||||
|
|
||||||
" :Evaluate - evaluate what is under the cursor
|
" :Evaluate - evaluate what is under the cursor
|
||||||
func s:Evaluate(range, arg)
|
func s:Evaluate(range, arg)
|
||||||
if a:arg != ''
|
if a:arg != ''
|
||||||
@@ -250,25 +325,55 @@ func s:Evaluate(range, arg)
|
|||||||
else
|
else
|
||||||
let expr = expand('<cexpr>')
|
let expr = expand('<cexpr>')
|
||||||
endif
|
endif
|
||||||
call term_sendkeys(s:commbuf, '-data-evaluate-expression "' . expr . "\"\r")
|
call s:SendEval(expr)
|
||||||
let s:evalexpr = expr
|
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
|
||||||
" Handle the result of data-evaluate-expression
|
" Handle the result of data-evaluate-expression
|
||||||
func s:HandleEvaluate(msg)
|
func s:HandleEvaluate(msg)
|
||||||
let value = substitute(a:msg, '.*value="\(.*\)"', '\1', '')
|
let value = substitute(a:msg, '.*value="\(.*\)"', '\1', '')
|
||||||
let value = substitute(value, '\\"', '"', 'g')
|
let value = substitute(value, '\\"', '"', 'g')
|
||||||
echomsg '"' . s:evalexpr . '": ' . value
|
if s:evalFromBalloonExpr
|
||||||
|
if s:evalFromBalloonExprResult == ''
|
||||||
if s:evalexpr[0] != '*' && value =~ '^0x' && value !~ '"$'
|
let s:evalFromBalloonExprResult = s:evalexpr . ': ' . value
|
||||||
" Looks like a pointer, also display what it points to.
|
else
|
||||||
let s:evalexpr = '*' . s:evalexpr
|
let s:evalFromBalloonExprResult .= ' = ' . value
|
||||||
call term_sendkeys(s:commbuf, '-data-evaluate-expression "' . s:evalexpr . "\"\r")
|
|
||||||
endif
|
endif
|
||||||
|
call balloon_show(s:evalFromBalloonExprResult)
|
||||||
|
else
|
||||||
|
echomsg '"' . s:evalexpr . '": ' . value
|
||||||
|
endif
|
||||||
|
|
||||||
|
if s:evalexpr[0] != '*' && value =~ '^0x' && value != '0x0' && value !~ '"$'
|
||||||
|
" Looks like a pointer, also display what it points to.
|
||||||
|
call s:SendEval('*' . s:evalexpr)
|
||||||
|
else
|
||||||
|
let s:evalFromBalloonExpr = 0
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
" Show a balloon with information of the variable under the mouse pointer,
|
||||||
|
" if there is any.
|
||||||
|
func TermDebugBalloonExpr()
|
||||||
|
if v:beval_winid != s:startwin
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
call s:SendEval(v:beval_text)
|
||||||
|
let s:evalFromBalloonExpr = 1
|
||||||
|
let s:evalFromBalloonExprResult = ''
|
||||||
|
return ''
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Handle an error.
|
" Handle an error.
|
||||||
func s:HandleError(msg)
|
func s:HandleError(msg)
|
||||||
|
if a:msg =~ 'No symbol .* in current context'
|
||||||
|
\ || a:msg =~ 'Cannot access memory at address '
|
||||||
|
\ || a:msg =~ 'Attempt to use a type name as an expression'
|
||||||
|
\ || a:msg =~ 'A syntax error in expression,'
|
||||||
|
" Result of s:SendEval() failed, ignore.
|
||||||
|
return
|
||||||
|
endif
|
||||||
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
echoerr substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
@@ -277,6 +382,12 @@ endfunc
|
|||||||
func s:HandleCursor(msg)
|
func s:HandleCursor(msg)
|
||||||
let wid = win_getid(winnr())
|
let wid = win_getid(winnr())
|
||||||
|
|
||||||
|
if a:msg =~ '^\*stopped'
|
||||||
|
let s:stopped = 1
|
||||||
|
elseif a:msg =~ '^\*running'
|
||||||
|
let s:stopped = 0
|
||||||
|
endif
|
||||||
|
|
||||||
if win_gotoid(s:startwin)
|
if win_gotoid(s:startwin)
|
||||||
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
let fname = substitute(a:msg, '.*fullname="\([^"]*\)".*', '\1', '')
|
||||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||||
@@ -292,6 +403,7 @@ func s:HandleCursor(msg)
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
exe lnum
|
exe lnum
|
||||||
|
exe 'sign unplace ' . s:pc_id
|
||||||
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC file=' . fname
|
||||||
setlocal signcolumn=yes
|
setlocal signcolumn=yes
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for using Vim as manpager.
|
" Vim plugin for using Vim as manpager.
|
||||||
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
" Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
|
||||||
" Last Change: 2016 May 20
|
" Last Change: 2017 November 07
|
||||||
|
|
||||||
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
|
||||||
if empty($MAN_PN)
|
if empty($MAN_PN)
|
||||||
@@ -10,17 +10,17 @@ endif
|
|||||||
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
|
||||||
|
|
||||||
function! s:MANPAGER()
|
function! s:MANPAGER()
|
||||||
let page_pattern = '\v\w+%([-_.]\w+)*'
|
let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
|
||||||
let sec_pattern = '\v\w+%(\+\w+)*'
|
let sec_pattern = '\v\w+%(\+\w+)*'
|
||||||
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
|
||||||
|
|
||||||
if $MAN_PN is '1'
|
if $MAN_PN is '1'
|
||||||
let manpage = matchstr( getline(1), '^' . pagesec_pattern )
|
let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
|
||||||
else
|
else
|
||||||
let manpage = expand('$MAN_PN')
|
let manpage = expand($MAN_PN)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
let page_sec = matchlist(tolower(manpage), '^' . pagesec_pattern . '$')
|
let page_sec = matchlist(manpage, '^' . pagesec_pattern . '$')
|
||||||
|
|
||||||
bwipe!
|
bwipe!
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
" Vim plugin for showing matching parens
|
" Vim plugin for showing matching parens
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2016 Feb 16
|
" Last Change: 2017 Sep 30
|
||||||
|
|
||||||
" Exit quickly when:
|
" Exit quickly when:
|
||||||
" - this plugin was already loaded (or disabled)
|
" - this plugin was already loaded (or disabled)
|
||||||
@@ -186,9 +186,23 @@ function! s:Highlight_Matching_Pair()
|
|||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
" Define commands that will disable and enable the plugin.
|
" Define commands that will disable and enable the plugin.
|
||||||
command! NoMatchParen windo silent! call matchdelete(3) | unlet! g:loaded_matchparen |
|
command! DoMatchParen call s:DoMatchParen()
|
||||||
\ au! matchparen
|
command! NoMatchParen call s:NoMatchParen()
|
||||||
command! DoMatchParen runtime plugin/matchparen.vim | windo doau CursorMoved
|
|
||||||
|
func! s:NoMatchParen()
|
||||||
|
let w = winnr()
|
||||||
|
noau windo silent! call matchdelete(3)
|
||||||
|
unlet! g:loaded_matchparen
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
au! matchparen
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func! s:DoMatchParen()
|
||||||
|
runtime plugin/matchparen.vim
|
||||||
|
let w = winnr()
|
||||||
|
silent windo doau CursorMoved
|
||||||
|
exe "noau ". w . "wincmd w"
|
||||||
|
endfunc
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
if &cp || exists("g:loaded_netrwPlugin")
|
if &cp || exists("g:loaded_netrwPlugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
let g:loaded_netrwPlugin = "v156"
|
let g:loaded_netrwPlugin = "v162"
|
||||||
let s:keepcpo = &cpo
|
let s:keepcpo = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
"DechoRemOn
|
"DechoRemOn
|
||||||
@@ -42,8 +42,8 @@ augroup END
|
|||||||
" Network Browsing Reading Writing: {{{2
|
" Network Browsing Reading Writing: {{{2
|
||||||
augroup Network
|
augroup Network
|
||||||
au!
|
au!
|
||||||
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
|
au BufReadCmd file://* call netrw#FileUrlEdit(expand("<amatch>"))
|
||||||
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
|
||||||
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
|
||||||
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
|
||||||
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
|
||||||
@@ -59,7 +59,7 @@ com! -count=1 -nargs=* Nread let s:svpos= winsaveview()<bar>call netrw#NetRead(
|
|||||||
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
com! -range=% -nargs=* Nwrite let s:svpos= winsaveview()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call winrestview(s:svpos)
|
||||||
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
|
||||||
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
com! -nargs=* Nsource let s:svpos= winsaveview()<bar>call netrw#NetSource(<f-args>)<bar>call winrestview(s:svpos)
|
||||||
com! -nargs=? Ntree call netrw#SetTreetop(<q-args>)
|
com! -nargs=? Ntree call netrw#SetTreetop(1,<q-args>)
|
||||||
|
|
||||||
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
|
||||||
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
|
||||||
@@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
|
|||||||
if !hasmapto('<Plug>NetrwBrowseX')
|
if !hasmapto('<Plug>NetrwBrowseX')
|
||||||
nmap <unique> gx <Plug>NetrwBrowseX
|
nmap <unique> gx <Plug>NetrwBrowseX
|
||||||
endif
|
endif
|
||||||
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
|
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
|
||||||
endif
|
endif
|
||||||
if maparg('gx','v') == ""
|
if maparg('gx','v') == ""
|
||||||
if !hasmapto('<Plug>NetrwBrowseXVis')
|
if !hasmapto('<Plug>NetrwBrowseXVis')
|
||||||
@@ -129,19 +129,15 @@ fun! s:LocalBrowse(dirname)
|
|||||||
elseif isdirectory(a:dirname)
|
elseif isdirectory(a:dirname)
|
||||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
" call Decho("(LocalBrowse) dirname<".a:dirname."> ft=".&ft." (isdirectory, not amiga)")
|
||||||
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
" call Dredir("LocalBrowse ft last set: ","verbose set ft")
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#23: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
sil! call netrw#LocalBrowseCheck(a:dirname)
|
sil! call netrw#LocalBrowseCheck(a:dirname)
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#24: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
if exists("w:netrw_bannercnt") && line('.') < w:netrw_bannercnt
|
||||||
exe w:netrw_bannercnt
|
exe w:netrw_bannercnt
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#25: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
else
|
else
|
||||||
" not a directory, ignore it
|
" not a directory, ignore it
|
||||||
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
|
||||||
endif
|
endif
|
||||||
" call Decho("(s:LocalBrowse) COMBAK#26: buf#".bufnr("%")." file<".expand("%")."> line#".line(".")." col#".col("."))
|
|
||||||
|
|
||||||
" call Dret("s:LocalBrowse")
|
" call Dret("s:LocalBrowse")
|
||||||
endfun
|
endfun
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types in scripts
|
" Vim support file to detect file types in scripts
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last change: 2017 Aug 27
|
" Last change: 2017 Nov 11
|
||||||
|
|
||||||
" This file is called by an autocommand for every file that has just been
|
" This file is called by an autocommand for every file that has just been
|
||||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||||
@@ -66,19 +66,19 @@ if s:line1 =~# "^#!"
|
|||||||
|
|
||||||
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
" Bourne-like shell scripts: bash bash2 ksh ksh93 sh
|
||||||
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
if s:name =~# '^\(bash\d*\|\|ksh\d*\|sh\)\>'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" csh scripts
|
" csh scripts
|
||||||
elseif s:name =~# '^csh\>'
|
elseif s:name =~# '^csh\>'
|
||||||
if exists("g:filetype_csh")
|
if exists("g:filetype_csh")
|
||||||
call SetFileTypeShell(g:filetype_csh)
|
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||||
else
|
else
|
||||||
call SetFileTypeShell("csh")
|
call dist#ft#SetFileTypeShell("csh")
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" tcsh scripts
|
" tcsh scripts
|
||||||
elseif s:name =~# '^tcsh\>'
|
elseif s:name =~# '^tcsh\>'
|
||||||
call SetFileTypeShell("tcsh")
|
call dist#ft#SetFileTypeShell("tcsh")
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:name =~# '^zsh\>'
|
elseif s:name =~# '^zsh\>'
|
||||||
@@ -185,7 +185,7 @@ else
|
|||||||
|
|
||||||
" Bourne-like shell scripts: sh ksh bash bash2
|
" Bourne-like shell scripts: sh ksh bash bash2
|
||||||
if s:line1 =~# '^:$'
|
if s:line1 =~# '^:$'
|
||||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
call dist#ft#SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||||
|
|
||||||
" Z shell scripts
|
" Z shell scripts
|
||||||
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
elseif s:line1 =~# '^#compdef\>' || s:line1 =~# '^#autoload\>' ||
|
||||||
@@ -324,7 +324,7 @@ else
|
|||||||
set ft=sindacmp
|
set ft=sindacmp
|
||||||
|
|
||||||
" DNS zone files
|
" DNS zone files
|
||||||
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+ <<>>\|BIND.*named\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
elseif s:line1.s:line2.s:line3.s:line4 =~# '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
|
||||||
set ft=bindzone
|
set ft=bindzone
|
||||||
|
|
||||||
" BAAN
|
" BAAN
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" This file is normally sourced from menu.vim.
|
" This file is normally sourced from menu.vim.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2014 Aug 13
|
" Last Change: 2017 Oct 28
|
||||||
|
|
||||||
" Define the SetSyn function, used for the Syntax menu entries.
|
" Define the SetSyn function, used for the Syntax menu entries.
|
||||||
" Set 'filetype' and also 'syntax' if it is manually selected.
|
" Set 'filetype' and also 'syntax' if it is manually selected.
|
||||||
@@ -351,12 +351,13 @@ an 50.70.510 &Syntax.M.Muttrc :cal SetSyn("muttrc")<CR>
|
|||||||
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
an 50.80.100 &Syntax.NO.Nanorc :cal SetSyn("nanorc")<CR>
|
||||||
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
an 50.80.110 &Syntax.NO.Nastran\ input/DMAP :cal SetSyn("nastran")<CR>
|
||||||
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
an 50.80.120 &Syntax.NO.Natural :cal SetSyn("natural")<CR>
|
||||||
an 50.80.130 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
an 50.80.130 &Syntax.NO.Neomuttrc :cal SetSyn("neomuttrc")<CR>
|
||||||
an 50.80.140 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
an 50.80.140 &Syntax.NO.Netrc :cal SetSyn("netrc")<CR>
|
||||||
an 50.80.150 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
an 50.80.150 &Syntax.NO.Ninja :cal SetSyn("ninja")<CR>
|
||||||
an 50.80.160 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
an 50.80.160 &Syntax.NO.Novell\ NCF\ batch :cal SetSyn("ncf")<CR>
|
||||||
an 50.80.170 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
an 50.80.170 &Syntax.NO.Not\ Quite\ C\ (LEGO) :cal SetSyn("nqc")<CR>
|
||||||
an 50.80.180 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
an 50.80.180 &Syntax.NO.Nroff :cal SetSyn("nroff")<CR>
|
||||||
|
an 50.80.190 &Syntax.NO.NSIS\ script :cal SetSyn("nsis")<CR>
|
||||||
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
an 50.80.200 &Syntax.NO.Obj\ 3D\ wavefront :cal SetSyn("obj")<CR>
|
||||||
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
an 50.80.210 &Syntax.NO.Objective\ C :cal SetSyn("objc")<CR>
|
||||||
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
an 50.80.220 &Syntax.NO.Objective\ C++ :cal SetSyn("objcpp")<CR>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: BibTeX (bibliographic database format for (La)TeX)
|
" Language: BibTeX (bibliographic database format for (La)TeX)
|
||||||
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
|
||||||
" Filenames: *.bib
|
" Filenames: *.bib
|
||||||
" Last Change: 2016 Sep 12
|
" Last Change: 2017 Sep 29
|
||||||
|
|
||||||
" Thanks to those who pointed out problems with this file or supplied fixes!
|
" Thanks to those who pointed out problems with this file or supplied fixes!
|
||||||
|
|
||||||
@@ -81,16 +81,18 @@ syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1
|
|||||||
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
|
||||||
syn match bibVariable contained /[^{}," \t=]/
|
syn match bibVariable contained /[^{}," \t=]/
|
||||||
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
syn region bibMath contained start=/\$/ end=/\$/ skip=/\(\\\$\)/
|
syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/
|
||||||
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
|
||||||
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
|
||||||
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
|
||||||
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
|
||||||
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField
|
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3
|
||||||
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
|
||||||
" an error, so we explicitly distinguish versions with and without folding functionality:
|
" an error, so we explicitly distinguish versions with and without folding functionality:
|
||||||
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
|
||||||
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
|
||||||
|
" biblatex style comments inside a bibEntry
|
||||||
|
syn match bibComment3 "%.*"
|
||||||
|
|
||||||
" Synchronization
|
" Synchronization
|
||||||
" ===============
|
" ===============
|
||||||
@@ -111,6 +113,7 @@ hi def link bibVariable Constant
|
|||||||
hi def link bibUnescapedSpecial Error
|
hi def link bibUnescapedSpecial Error
|
||||||
hi def link bibComment Comment
|
hi def link bibComment Comment
|
||||||
hi def link bibComment2 Comment
|
hi def link bibComment2 Comment
|
||||||
|
hi def link bibComment3 Comment
|
||||||
|
|
||||||
let b:current_syntax = "bib"
|
let b:current_syntax = "bib"
|
||||||
|
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ syntax match clojureRegexpBoundary "[$^]" contained display
|
|||||||
syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display
|
syntax match clojureRegexpQuantifier "[?*+][?+]\=" contained display
|
||||||
syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display
|
syntax match clojureRegexpQuantifier "\v\{\d+%(,|,\d+)?}\??" contained display
|
||||||
syntax match clojureRegexpOr "|" contained display
|
syntax match clojureRegexpOr "|" contained display
|
||||||
syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-z]+\>)" contained display
|
syntax match clojureRegexpBackRef "\v\\%([1-9]\d*|k\<[a-zA-Z]+\>)" contained display
|
||||||
|
|
||||||
" Mode modifiers, mode-modified spans, lookaround, regular and atomic
|
" Mode modifiers, mode-modified spans, lookaround, regular and atomic
|
||||||
" grouping, and named-capturing.
|
" grouping, and named-capturing.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||||
" Wichert Akkerman <wakkerma@debian.org>
|
" Wichert Akkerman <wakkerma@debian.org>
|
||||||
" Last Change: 2017 Aug 18
|
" Last Change: 2017 Nov 04
|
||||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim
|
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@@ -17,6 +17,8 @@ set cpo&vim
|
|||||||
" Should match case except for the keys of each field
|
" Should match case except for the keys of each field
|
||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
|
syn iskeyword @,48-57,-,/
|
||||||
|
|
||||||
" Everything that is not explicitly matched by the rules below
|
" Everything that is not explicitly matched by the rules below
|
||||||
syn match debcontrolElse "^.*$"
|
syn match debcontrolElse "^.*$"
|
||||||
|
|
||||||
@@ -24,24 +26,50 @@ syn match debcontrolElse "^.*$"
|
|||||||
syn match debControlComma ",[ \t]*"
|
syn match debControlComma ",[ \t]*"
|
||||||
syn match debControlSpace "[ \t]"
|
syn match debControlSpace "[ \t]"
|
||||||
|
|
||||||
let s:kernels = '\%(linux\|hurd\|kfreebsd\|knetbsd\|kopensolaris\|netbsd\)'
|
let s:kernels = ['linux', 'hurd', 'kfreebsd', 'knetbsd', 'kopensolaris', 'netbsd']
|
||||||
let s:archs = '\%(alpha\|amd64\|armeb\|armel\|armhf\|arm64\|avr32\|hppa\|i386'
|
let s:archs = [
|
||||||
\ . '\|ia64\|lpia\|m32r\|m68k\|mipsel\|mips64el\|mips\|powerpcspe\|powerpc\|ppc64el'
|
\ 'alpha', 'amd64', 'armeb', 'armel', 'armhf', 'arm64', 'avr32', 'hppa'
|
||||||
\ . '\|ppc64\|s390x\|s390\|sh3eb\|sh3\|sh4eb\|sh4\|sh\|sparc64\|sparc\|x32\)'
|
\, 'i386', 'ia64', 'lpia', 'm32r', 'm68k', 'mipsel', 'mips64el', 'mips'
|
||||||
let s:pairs = 'hurd-i386\|kfreebsd-i386\|kfreebsd-amd64\|knetbsd-i386\|kopensolaris-i386\|netbsd-alpha\|netbsd-i386'
|
\, 'powerpcspe', 'powerpc', 'ppc64el', 'ppc64', 's390x', 's390', 'sh3eb'
|
||||||
|
\, 'sh3', 'sh4eb', 'sh4', 'sh', 'sparc64', 'sparc', 'x32'
|
||||||
|
\ ]
|
||||||
|
let s:pairs = [
|
||||||
|
\ 'hurd-i386', 'kfreebsd-i386', 'kfreebsd-amd64', 'knetbsd-i386'
|
||||||
|
\, 'kopensolaris-i386', 'netbsd-alpha', 'netbsd-i386'
|
||||||
|
\ ]
|
||||||
|
|
||||||
" Define some common expressions we can use later on
|
" Define some common expressions we can use later on
|
||||||
exe 'syn match debcontrolArchitecture contained "\%(all\|'. s:kernels .'-any\|\%(any-\)\='. s:archs .'\|'. s:pairs .'\|any\)"'
|
syn keyword debcontrolArchitecture contained all any
|
||||||
|
exe 'syn keyword debcontrolArchitecture contained '. join(map(s:kernels, {k,v -> v .'-any'}))
|
||||||
|
exe 'syn keyword debcontrolArchitecture contained '. join(map(s:archs, {k,v -> 'any-'.v}))
|
||||||
|
exe 'syn keyword debcontrolArchitecture contained '. join(s:archs)
|
||||||
|
exe 'syn keyword debcontrolArchitecture contained '. join(s:pairs)
|
||||||
|
|
||||||
unlet s:kernels s:archs s:pairs
|
unlet s:kernels s:archs s:pairs
|
||||||
|
|
||||||
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
|
let s:sections = [
|
||||||
|
\ 'admin', 'cli-mono', 'comm', 'database', 'debian-installer', 'debug'
|
||||||
|
\, 'devel', 'doc', 'editors', 'education', 'electronics', 'embedded'
|
||||||
|
\, 'fonts', 'games', 'gnome', 'gnustep', 'gnu-r', 'golang', 'graphics'
|
||||||
|
\, 'hamradio', 'haskell', 'httpd', 'interpreters', 'introspection'
|
||||||
|
\, 'java', 'javascript', 'kde', 'kernel', 'libs', 'libdevel', 'lisp'
|
||||||
|
\, 'localization', 'mail', 'math', 'metapackages', 'misc', 'net'
|
||||||
|
\, 'news', 'ocaml', 'oldlibs', 'otherosfs', 'perl', 'php', 'python'
|
||||||
|
\, 'ruby', 'rust', 'science', 'shells', 'sound', 'text', 'tex'
|
||||||
|
\, 'utils', 'vcs', 'video', 'web', 'x11', 'xfce', 'zope'
|
||||||
|
\ ]
|
||||||
|
|
||||||
|
syn keyword debcontrolMultiArch contained no foreign allowed same
|
||||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
syn keyword debcontrolPriority contained extra important optional required standard
|
||||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java%(script)=|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|rust|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
exe 'syn match debcontrolSection contained "\%(\%(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\%('.join(s:sections, '\|').'\)"'
|
||||||
syn match debcontrolPackageType contained "u\?deb"
|
syn keyword debcontrolPackageType contained udeb deb
|
||||||
syn match debcontrolVariable contained "\${.\{-}}"
|
syn match debcontrolVariable contained "\${.\{-}}"
|
||||||
syn match debcontrolDmUpload contained "\cyes"
|
syn keyword debcontrolDmUpload contained yes
|
||||||
|
syn keyword debcontrolYesNo contained yes no
|
||||||
|
syn match debcontrolR3 contained "\<\%(no\|binary-targets\|[[:graph:]]\+/[[:graph:]]\+\%( \+[[:graph:]]\+/[[:graph:]]\+\)*\)\>"
|
||||||
|
|
||||||
|
unlet s:sections
|
||||||
|
|
||||||
" A URL (using the domain name definitions from RFC 1034 and 1738), right now
|
" A URL (using the domain name definitions from RFC 1034 and 1738), right now
|
||||||
" only enforce protocol and some sanity on the server/path part;
|
" only enforce protocol and some sanity on the server/path part;
|
||||||
@@ -59,15 +87,28 @@ syn match debcontrolComment "^#.*$" contains=@Spell
|
|||||||
|
|
||||||
syn case ignore
|
syn case ignore
|
||||||
|
|
||||||
" List of all legal keys
|
" List of all legal keys, in order, from deb-src-control(5)
|
||||||
syn match debcontrolKey contained "^\%(Source\|Package\|Section\|Priority\|\%(XSBC-Original-\)\=Maintainer\|Uploaders\|Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|Standards-Version\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Essential\|Architecture\|Multi-Arch\|Description\|Bugs\|Origin\|X[SB]-Python-Version\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|\%(XC-\)\=Package-Type\|\%(XS-\)\=Testsuite\): *"
|
" Source fields
|
||||||
|
syn match debcontrolKey contained "^\%(Source\|Maintainer\|Uploaders\|Standards-Version\|Description\|Homepage\|Bugs\|Rules-Requires-Root\): *"
|
||||||
|
syn match debcontrolKey contained "^\%(XS-\)\=Vcs-\%(Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\|Browser\): *"
|
||||||
|
syn match debcontrolKey contained "^\%(Origin\|Section\|Priority\): *"
|
||||||
|
syn match debcontrolKey contained "^Build-\%(Depends\|Conflicts\)\%(-Arch\|-Indep\)\=: *"
|
||||||
|
|
||||||
|
" Binary fields
|
||||||
|
syn match debcontrolKey contained "^\%(Package\%(-Type\)\=\|Architecture\|Build-Profiles\): *"
|
||||||
|
syn match debcontrolKey contained "^\%(\%(Build-\)\=Essential\|Multi-Arch\|Tag\): *"
|
||||||
|
syn match debcontrolKey contained "^\%(\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\): *"
|
||||||
|
syn match debcontrolKey contained "^\%(Subarchitecture\|Kernel-Version\|Installer-Menu-Item\): *"
|
||||||
|
|
||||||
|
" User-defined fields
|
||||||
|
syn match debcontrolKey contained "^X[SBC]\{0,3\}\%(-Private\)\=-[-a-zA-Z0-9]\+: *"
|
||||||
|
|
||||||
syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
|
syn match debcontrolDeprecatedKey contained "^\%(\%(XS-\)\=DM-Upload-Allowed\): *"
|
||||||
|
|
||||||
" Fields for which we do strict syntax checking
|
" Fields for which we do strict syntax checking
|
||||||
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
|
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
|
||||||
syn region debcontrolStrictField start="^Multi-Arch" end="$" contains=debcontrolKey,debcontrolMultiArch oneline
|
syn region debcontrolStrictField start="^Multi-Arch" end="$" contains=debcontrolKey,debcontrolMultiArch oneline
|
||||||
syn region debcontrolStrictField start="^\(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
|
syn region debcontrolStrictField start="^\%(Package\|Source\)" end="$" contains=debcontrolKey,debcontrolName oneline
|
||||||
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
|
syn region debcontrolStrictField start="^Priority" end="$" contains=debcontrolKey,debcontrolPriority oneline
|
||||||
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
|
syn region debcontrolStrictField start="^Section" end="$" contains=debcontrolKey,debcontrolSection oneline
|
||||||
syn region debcontrolStrictField start="^\%(XC-\)\=Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
|
syn region debcontrolStrictField start="^\%(XC-\)\=Package-Type" end="$" contains=debcontrolKey,debcontrolPackageType oneline
|
||||||
@@ -77,10 +118,12 @@ syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Svn" end="$" contains=deb
|
|||||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
|
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
|
||||||
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
|
syn region debcontrolStrictField start="^\%(XS-\)\=Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
|
||||||
syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
|
syn region debcontrolStrictField start="^\%(XS-\)\=DM-Upload-Allowed" end="$" contains=debcontrolDeprecatedKey,debcontrolDmUpload oneline
|
||||||
|
syn region debcontrolStrictField start="^Rules-Requires-Root" end="$" contains=debcontrolKey,debcontrolR3 oneline
|
||||||
|
syn region debcontrolStrictField start="^\%(Build-\)\=Essential" end="$" contains=debcontrolKey,debcontrolYesNo oneline
|
||||||
|
|
||||||
" Catch-all for the other legal fields
|
" Catch-all for the other legal fields
|
||||||
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
syn region debcontrolField start="^\%(\%(XSBC-Original-\)\=Maintainer\|Standards-Version\|Bugs\|Origin\|X[SB]-Python-Version\|\%(XS-\)\=Vcs-Mtn\|\%(XS-\)\=Testsuite\|Build-Profiles\|Tag\|Subarchitecture\|Kernel-Version\|Installer-Menu-Item\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
|
||||||
syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Enhances\|Breaks\|Uploaders\|Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
|
syn region debcontrolMultiField start="^\%(Build-\%(Conflicts\|Depends\)\%(-Arch\|-Indep\)\=\|\%(Pre-\)\=Depends\|Recommends\|Suggests\|Breaks\|Enhances\|Replaces\|Conflicts\|Provides\|Built-Using\|Uploaders\|X[SBC]\{0,3\}\%(Private-\)\=-[-a-zA-Z0-9]\+\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment
|
||||||
syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell
|
syn region debcontrolMultiFieldSpell start="^\%(Description\):" skip="^[ \t]" end="^$"me=s-1 end="^[^ \t#]"me=s-1 contains=debcontrolKey,debcontrolEmail,debcontrolVariable,debcontrolComment,@Spell
|
||||||
|
|
||||||
" Associate our matches and regions with pretty colours
|
" Associate our matches and regions with pretty colours
|
||||||
@@ -102,6 +145,8 @@ hi def link debcontrolVcsCvs Identifier
|
|||||||
hi def link debcontrolVcsGit Identifier
|
hi def link debcontrolVcsGit Identifier
|
||||||
hi def link debcontrolHTTPUrl Identifier
|
hi def link debcontrolHTTPUrl Identifier
|
||||||
hi def link debcontrolDmUpload Identifier
|
hi def link debcontrolDmUpload Identifier
|
||||||
|
hi def link debcontrolYesNo Identifier
|
||||||
|
hi def link debcontrolR3 Identifier
|
||||||
hi def link debcontrolComment Comment
|
hi def link debcontrolComment Comment
|
||||||
hi def link debcontrolElse Special
|
hi def link debcontrolElse Special
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
" Language: Debian sources.list
|
" Language: Debian sources.list
|
||||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||||
" Last Change: 2017 Apr 22
|
" Last Change: 2017 Oct 28
|
||||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||||
|
|
||||||
" Standard syntax initialization
|
" Standard syntax initialization
|
||||||
@@ -23,18 +23,18 @@ let s:cpo = &cpo
|
|||||||
set cpo-=C
|
set cpo-=C
|
||||||
let s:supported = [
|
let s:supported = [
|
||||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
\ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||||
\
|
\
|
||||||
\ 'trusty', 'xenial', 'yakkety', 'zesty', 'artful', 'devel'
|
\ 'trusty', 'xenial', 'zesty', 'artful', 'bionic', 'devel'
|
||||||
\ ]
|
\ ]
|
||||||
let s:unsupported = [
|
let s:unsupported = [
|
||||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||||
\ 'woody', 'sarge', 'etch', 'lenny',
|
\ 'woody', 'sarge', 'etch', 'lenny', 'squeeze',
|
||||||
\
|
\
|
||||||
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
||||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||||
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
|
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
|
||||||
\ 'utopic', 'vivid', 'wily'
|
\ 'utopic', 'vivid', 'wily', 'yakkety'
|
||||||
\ ]
|
\ ]
|
||||||
let &cpo=s:cpo
|
let &cpo=s:cpo
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
" Language: doxygen on top of c, cpp, idl, java, php
|
" Language: doxygen on top of c, cpp, idl, java, php
|
||||||
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
" Maintainer: Michael Geddes <vimmer@frog.wheelycreek.net>
|
||||||
" Author: Michael Geddes
|
" Author: Michael Geddes
|
||||||
" Last Change: Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
|
" Last Changes: Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
|
||||||
|
" Nov 2017 (@throws by Domnique Pelle)
|
||||||
" Version: 1.23
|
" Version: 1.23
|
||||||
"
|
"
|
||||||
" Copyright 2004-2008 Michael Geddes
|
" Copyright 2004-2008 Michael Geddes
|
||||||
@@ -181,13 +182,13 @@ endif
|
|||||||
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
|
||||||
syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
|
||||||
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
|
||||||
syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite
|
syn keyword doxygenRetval contained retval throw throws exception nextgroup=doxygenParamName skipwhite
|
||||||
|
|
||||||
" Match one line identifiers.
|
" Match one line identifiers.
|
||||||
syn keyword doxygenOther contained addindex anchor
|
syn keyword doxygenOther contained addindex anchor
|
||||||
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
\ dontinclude endhtmlonly endlatexonly showinitializer hideinitializer
|
||||||
\ example htmlonly image include ingroup internal latexonly line
|
\ example htmlonly image include ingroup internal latexonly line
|
||||||
\ overload relates relatesalso sa skip skipline
|
\ overload related relates relatedalso relatesalso sa skip skipline
|
||||||
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
\ until verbinclude version addtogroup htmlinclude copydoc dotfile
|
||||||
\ xmlonly endxmlonly
|
\ xmlonly endxmlonly
|
||||||
\ nextgroup=doxygenSpecialOnelineDesc
|
\ nextgroup=doxygenSpecialOnelineDesc
|
||||||
@@ -223,7 +224,7 @@ endif
|
|||||||
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
syn keyword doxygenOther contained par nextgroup=doxygenHeaderLine
|
||||||
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
syn region doxygenHeaderLine start=+.+ end=+^+ contained skipwhite nextgroup=doxygenSpecialMultilineDesc
|
||||||
|
|
||||||
syn keyword doxygenOther contained arg author date deprecated li return returns see invariant note post pre remarks since test nextgroup=doxygenSpecialMultilineDesc
|
syn keyword doxygenOther contained arg author authors date deprecated li result return returns see invariant note post pre remark remarks since test nextgroup=doxygenSpecialMultilineDesc
|
||||||
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
syn keyword doxygenOtherTODO contained todo attention nextgroup=doxygenSpecialMultilineDesc
|
||||||
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
syn keyword doxygenOtherWARN contained warning nextgroup=doxygenSpecialMultilineDesc
|
||||||
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
syn keyword doxygenOtherBUG contained bug nextgroup=doxygenSpecialMultilineDesc
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ syn match formComment "\;\ *\*.*$" contains=formTodo
|
|||||||
syn region formString start=+"+ end=+"+ contains=formSpecial
|
syn region formString start=+"+ end=+"+ contains=formSpecial
|
||||||
syn region formString start=+'+ end=+'+
|
syn region formString start=+'+ end=+'+
|
||||||
syn region formNestedString start=+`+ end=+'+ contains=formNestedString
|
syn region formNestedString start=+`+ end=+'+ contains=formNestedString
|
||||||
syn match formPreProc "^\=\#[a-zA-z][a-zA-Z0-9]*\>"
|
syn match formPreProc "^\=\#[a-zA-Z][a-zA-Z0-9]*\>"
|
||||||
syn match formNumber "\<\d\+\>"
|
syn match formNumber "\<\d\+\>"
|
||||||
syn match formNumber "\<\d\+\.\d*\>"
|
syn match formNumber "\<\d\+\.\d*\>"
|
||||||
syn match formNumber "\.\d\+\>"
|
syn match formNumber "\.\d\+\>"
|
||||||
@@ -94,13 +94,13 @@ syn match formNumber "-\.\d" contains=Number
|
|||||||
syn match formNumber "i_\+\>"
|
syn match formNumber "i_\+\>"
|
||||||
syn match formNumber "fac_\+\>"
|
syn match formNumber "fac_\+\>"
|
||||||
" pattern matching wildcards
|
" pattern matching wildcards
|
||||||
syn match formNumber "?[A-z0-9]*"
|
syn match formNumber "?[a-zA-Z0-9]*"
|
||||||
" dollar-variables (new in 3.x)
|
" dollar-variables (new in 3.x)
|
||||||
syn match formNumber "\\$[A-z0-9]*"
|
syn match formNumber "\\$[a-zA-Z0-9]*"
|
||||||
" scalar products
|
" scalar products
|
||||||
syn match formNumber "^\=[a-zA-z][a-zA-Z0-9]*\.[a-zA-z][a-zA-Z0-9]*\>"
|
syn match formNumber "^\=[a-zA-Z][a-zA-Z0-9]*\.[a-zA-Z][a-zA-Z0-9]*\>"
|
||||||
|
|
||||||
syn match formDirective "^\=\.[a-zA-z][a-zA-Z0-9]*\>"
|
syn match formDirective "^\=\.[a-zA-Z][a-zA-Z0-9]*\>"
|
||||||
|
|
||||||
" hi User Labels
|
" hi User Labels
|
||||||
syn sync ccomment formComment minlines=10
|
syn sync ccomment formComment minlines=10
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
" Language: fstab file
|
" Language: fstab file
|
||||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||||
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
||||||
" Last Change: 2013 May 21
|
" Last Change: 2017 Nov 09
|
||||||
" Version: 1.0
|
" Version: 1.2
|
||||||
"
|
"
|
||||||
" Credits:
|
" Credits:
|
||||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||||
@@ -38,10 +38,14 @@ syn match fsDeviceError /\%([^a-zA-Z0-9_\/#@:\.-]\|^\w\{-}\ze\W\)/ contained
|
|||||||
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
syn keyword fsDeviceKeyword contained none proc linproc tmpfs devpts devtmpfs sysfs usbfs
|
||||||
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
syn keyword fsDeviceKeyword contained LABEL nextgroup=fsDeviceLabel
|
||||||
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
syn keyword fsDeviceKeyword contained UUID nextgroup=fsDeviceUUID
|
||||||
|
syn keyword fsDeviceKeyword contained PARTLABEL nextgroup=fsDevicePARTLABEL
|
||||||
|
syn keyword fsDeviceKeyword contained PARTUUID nextgroup=fsDevicePARTUUID
|
||||||
syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
syn keyword fsDeviceKeyword contained sshfs nextgroup=fsDeviceSshfs
|
||||||
syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/
|
syn match fsDeviceKeyword contained /^[a-zA-Z0-9.\-]\+\ze:/
|
||||||
syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
syn match fsDeviceLabel contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||||
syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
syn match fsDeviceUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||||
|
syn match fsDevicePARTLABEL contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||||
|
syn match fsDevicePARTUUID contained /=[^ \t]\+/hs=s+1 contains=fsOperator
|
||||||
syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator
|
syn match fsDeviceSshfs contained /#[_=[:alnum:]\.\/+-]\+@[a-z0-9._-]\+\a\{2}:[^ \t]\+/hs=s+1 contains=fsOperator
|
||||||
|
|
||||||
" Mount Point
|
" Mount Point
|
||||||
@@ -64,7 +68,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-]\+/
|
|||||||
syn keyword fsOptionsYesNo yes no
|
syn keyword fsOptionsYesNo yes no
|
||||||
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
||||||
syn keyword fsOptionsSize 512 1024 2048
|
syn keyword fsOptionsSize 512 1024 2048
|
||||||
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand nosuid nosymfollow nouser owner rbind rdonly remount ro rq rw suid suiddir supermount sw sync union update user users xx
|
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx
|
||||||
syn match fsOptionsGeneral /_netdev/
|
syn match fsOptionsGeneral /_netdev/
|
||||||
|
|
||||||
" Options: adfs
|
" Options: adfs
|
||||||
@@ -137,7 +141,7 @@ syn match fsOptionsKeywords contained /\<\%(dir\|file\|\)_umask=/ nextgroup=fsOp
|
|||||||
syn match fsOptionsKeywords contained /\<\%(session\|part\)=/ nextgroup=fsOptionsNumber
|
syn match fsOptionsKeywords contained /\<\%(session\|part\)=/ nextgroup=fsOptionsNumber
|
||||||
|
|
||||||
" Options: ffs
|
" Options: ffs
|
||||||
syn keyword fsOptionsKeyWords contained softdep
|
syn keyword fsOptionsKeyWords contained noperm softdep
|
||||||
|
|
||||||
" Options: hpfs
|
" Options: hpfs
|
||||||
syn match fsOptionsKeywords contained /\<case=/ nextgroup=fsOptionsHpfsCase
|
syn match fsOptionsKeywords contained /\<case=/ nextgroup=fsOptionsHpfsCase
|
||||||
@@ -228,7 +232,6 @@ syn match fsFreqPass /\s\+.\{-}$/ contains=@fsFreqPassCluster,@fsGeneralCluster
|
|||||||
" Whole line comments
|
" Whole line comments
|
||||||
syn match fsCommentLine /^#.*$/ contains=@Spell
|
syn match fsCommentLine /^#.*$/ contains=@Spell
|
||||||
|
|
||||||
|
|
||||||
hi def link fsOperator Operator
|
hi def link fsOperator Operator
|
||||||
hi def link fsComment Comment
|
hi def link fsComment Comment
|
||||||
hi def link fsCommentLine Comment
|
hi def link fsCommentLine Comment
|
||||||
@@ -237,15 +240,17 @@ hi def link fsTypeKeyword Type
|
|||||||
hi def link fsDeviceKeyword Identifier
|
hi def link fsDeviceKeyword Identifier
|
||||||
hi def link fsDeviceLabel String
|
hi def link fsDeviceLabel String
|
||||||
hi def link fsDeviceUUID String
|
hi def link fsDeviceUUID String
|
||||||
|
hi def link fsDevicePARTLABEL String
|
||||||
|
hi def link fsDevicePARTUUID String
|
||||||
hi def link fsDeviceSshfs String
|
hi def link fsDeviceSshfs String
|
||||||
hi def link fsFreqPassNumber Number
|
hi def link fsFreqPassNumber Number
|
||||||
|
|
||||||
if exists('fstab_unknown_fs_errors') && fstab_unknown_fs_errors == 1
|
if exists('fstab_unknown_fs_errors') && fstab_unknown_fs_errors == 1
|
||||||
hi def link fsTypeUnknown Error
|
hi def link fsTypeUnknown Error
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
|
if !exists('fstab_unknown_device_errors') || fstab_unknown_device_errors == 1
|
||||||
hi def link fsDeviceError Error
|
hi def link fsDeviceError Error
|
||||||
endif
|
endif
|
||||||
|
|
||||||
hi def link fsMountPointError Error
|
hi def link fsMountPointError Error
|
||||||
@@ -278,7 +283,6 @@ hi def link fsOptionsUfsError String
|
|||||||
|
|
||||||
hi def link fsOptionsVfatShortname String
|
hi def link fsOptionsVfatShortname String
|
||||||
|
|
||||||
|
|
||||||
let b:current_syntax = "fstab"
|
let b:current_syntax = "fstab"
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
|
|||||||
@@ -1,8 +1,10 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: gitolite configuration
|
" Language: gitolite configuration
|
||||||
" URL: https://github.com/tmatilai/gitolite.vim
|
" URL: https://github.com/sitaramc/gitolite/blob/master/contrib/vim/syntax/gitolite.vim
|
||||||
" Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>
|
" (https://raw.githubusercontent.com/sitaramc/gitolite/master/contrib/vim/syntax/gitolite.vim)
|
||||||
" Last Change: 2011-12-25
|
" Maintainer: Sitaram Chamarty <sitaramc@gmail.com>
|
||||||
|
" (former Maintainer: Teemu Matilainen <teemu.matilainen@iki.fi>)
|
||||||
|
" Last Change: 2017 Oct 05
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -11,74 +13,80 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
" Comment
|
" this seems to be the best way, for now.
|
||||||
syn match gitoliteComment "\(^\|\s\)#.*" contains=gitoliteTodo
|
syntax sync fromstart
|
||||||
|
|
||||||
|
" ---- common stuff
|
||||||
|
|
||||||
|
syn match gitoliteGroup '@\S\+'
|
||||||
|
|
||||||
|
syn match gitoliteComment '#.*' contains=gitoliteTodo
|
||||||
syn keyword gitoliteTodo TODO FIXME XXX NOT contained
|
syn keyword gitoliteTodo TODO FIXME XXX NOT contained
|
||||||
|
|
||||||
" Groups, users and repos
|
" ---- main section
|
||||||
syn match gitoliteGroupDef "\(^\s*\)\@<=@[^=]\{-1,}\(\s*=\)\@=" contains=gitoliteSpaceError,gitoliteUserError nextgroup=gitoliteGroupDefSep
|
|
||||||
syn match gitoliteGroupDefSep "\s*=" contained nextgroup=gitoliteRepoLine
|
|
||||||
syn match gitoliteRepoDef "^\s*repo\s" nextgroup=gitoliteRepoLine
|
|
||||||
|
|
||||||
syn match gitoliteRepoLine ".*" contained transparent contains=gitoliteGroup,gitoliteWildRepo,gitoliteCreator,gitoliteExtCmdHelper,gitoliteRepoError,gitoliteComment
|
" catch template-data syntax appearing outside template-data section
|
||||||
syn match gitoliteUserLine ".*" contained transparent contains=gitoliteGroup,gitolitePreProc,gitoliteUserError,gitoliteComment
|
syn match gitoliteRepoError '^\s*repo.*='
|
||||||
|
syn match gitoliteRepoError '^\s*\S\+\s*=' " this gets overridden later when first word is a perm, don't worry
|
||||||
|
|
||||||
syn match gitoliteWildRepo "[ \t=]\@<=[^ \t]*[\\^$|()[\]*?{},][^ \t]*" contained contains=gitoliteCreator,gitoliteRepoError
|
" normal gitolite group and repo lines
|
||||||
syn match gitoliteGroup "[ \t=]\@<=@[^ \t]\+" contained contains=gitoliteUserError
|
syn match gitoliteGroupLine '^\s*@\S\+\s*=\s*\S.*$' contains=gitoliteGroup,gitoliteComment
|
||||||
|
syn match gitoliteRepoLine '^\s*repo\s\+[^=]*$' contains=gitoliteRepo,gitoliteGroup,gitoliteComment
|
||||||
|
syn keyword gitoliteRepo repo contained
|
||||||
|
|
||||||
syn keyword gitoliteCreator CREATER CREATOR contained
|
syn keyword gitoliteSpecialRepo CREATOR
|
||||||
syn keyword gitolitePreProc CREATER CREATOR READERS WRITERS contained
|
|
||||||
|
|
||||||
syn match gitoliteExtCmdHelper "[ \t=]\@<=EXTCMD/" contained nextgroup=gitoliteExtCmd
|
" normal gitolite rule lines
|
||||||
syn match gitoliteExtCmd "rsync\(\s\|$\)" contained
|
syn match gitoliteRuleLine '^\s*\(-\|C\|R\|RW+\?C\?D\?\)\s[^#]*' contains=gitoliteRule,gitoliteCreateRule,gitoliteDenyRule,gitoliteRefex,gitoliteUsers,gitoliteGroup
|
||||||
|
syn match gitoliteRule '\(^\s*\)\@<=\(-\|C\|R\|RW+\?C\?D\?\)\s\@=' contained
|
||||||
|
syn match gitoliteRefex '\(^\s*\(-\|R\|RW+\?C\?D\?\)\s\+\)\@<=\S.\{-}\(\s*=\)\@=' contains=gitoliteSpecialRefex
|
||||||
|
syn match gitoliteSpecialRefex 'NAME/'
|
||||||
|
syn match gitoliteSpecialRefex '/USER/'
|
||||||
|
syn match gitoliteCreateRule '\(^\s*C\s.*=\s*\)\@<=\S[^#]*[^# ]' contained contains=gitoliteGroup
|
||||||
|
syn match gitoliteDenyRule '\(^\s*-\s.*=\s*\)\@<=\S[^#]*[^# ]' contained
|
||||||
|
|
||||||
" Illegal characters
|
" normal gitolite config (and similar) lines
|
||||||
syn match gitoliteRepoError "[^ \t0-9a-zA-Z._@+/\\^$|()[\]*?{},-]\+" contained
|
syn match gitoliteConfigLine '^\s*\(config\|option\|include\|subconf\)\s[^#]*' contains=gitoliteConfigKW,gitoliteConfigKey,gitoliteConfigVal,gitoliteComment
|
||||||
syn match gitoliteUserError "[^ \t0-9a-zA-Z._@+-]\+" contained
|
syn keyword gitoliteConfigKW config option include subconf contained
|
||||||
syn match gitoliteSpaceError "\s\+" contained
|
syn match gitoliteConfigKey '\(\(config\|option\)\s\+\)\@<=[^ =]*' contained
|
||||||
|
syn match gitoliteConfigVal '\(=\s*\)\@<=\S.*' contained
|
||||||
|
|
||||||
" Permission
|
" ---- template-data section
|
||||||
syn match gitoliteKeyword "^\s*\(C\|R\|RW\|RW+\|RWC\|RW+C\|RWD\|RW+D\|RWCD\|RW+CD\)[ \t=]\@=" nextgroup=gitoliteRefex
|
|
||||||
syn match gitoliteKeyword "^\s*-[ \t=]\@=" nextgroup=gitoliteDenyRefex
|
|
||||||
syn match gitoliteRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteUserLine
|
|
||||||
syn match gitoliteDenyRefex "[^=]*="he=e-1 contained contains=gitoliteSpecialRefex,gitoliteGroup nextgroup=gitoliteDenyUsers
|
|
||||||
syn match gitoliteSpecialRefex "\sNAME/"he=e-1 contained
|
|
||||||
syn match gitoliteSpecialRefex "/USER/"hs=s+1,he=e-1 contained
|
|
||||||
syn match gitoliteDenyUsers ".*" contained contains=gitoliteUserError,gitoliteComment
|
|
||||||
|
|
||||||
" Configuration
|
syn region gitoliteTemplateLine matchgroup=PreProc start='^=begin template-data$' end='^=end$' contains=gitoliteTplRepoLine,gitoliteTplRoleLine,gitoliteGroup,gitoliteComment,gitoliteTplError
|
||||||
syn match gitoliteKeyword "^\s*config\s\+" nextgroup=gitoliteConfVariable
|
|
||||||
syn match gitoliteConfVariable "[^=]*" contained
|
|
||||||
|
|
||||||
" Include
|
syn match gitoliteTplRepoLine '^\s*repo\s\+\S.*=.*' contained contains=gitoliteTplRepo,gitoliteTplTemplates,gitoliteGroup
|
||||||
syn match gitoliteInclude "^\s*\(include\|subconf\)\s"
|
syn keyword gitoliteTplRepo repo contained
|
||||||
|
syn match gitoliteTplTemplates '\(=\s*\)\@<=\S.*' contained contains=gitoliteGroup,gitoliteComment
|
||||||
|
|
||||||
" String
|
syn match gitoliteTplRoleLine '^\s*\S\+\s*=\s*.*' contained contains=gitoliteTplRole,gitoliteGroup,gitoliteComment
|
||||||
syn region gitoliteString start=+"+ end=+"+ oneline
|
syn match gitoliteTplRole '\S\+\s*='he=e-1 contained
|
||||||
|
|
||||||
|
" catch normal gitolite rules appearing in template-data section
|
||||||
|
syn match gitoliteTplError '^\s*repo[^=]*$' contained
|
||||||
|
syn match gitoliteTplError '^\s*\(-\|R\|RW+\?C\?D\?\)\s'he=e-1 contained
|
||||||
|
syn match gitoliteTplError '^\s*\(config\|option\|include\|subconf\)\s'he=e-1 contained
|
||||||
|
syn match gitoliteTplError '^\s*@\S\+\s*=' contained contains=NONE
|
||||||
|
|
||||||
" Define the default highlighting
|
|
||||||
hi def link gitoliteComment Comment
|
|
||||||
hi def link gitoliteTodo Todo
|
|
||||||
hi def link gitoliteGroupDef gitoliteGroup
|
|
||||||
hi def link gitoliteGroup Identifier
|
hi def link gitoliteGroup Identifier
|
||||||
hi def link gitoliteWildRepo Special
|
hi def link gitoliteComment Comment
|
||||||
hi def link gitoliteRepoError gitoliteError
|
hi def link gitoliteTodo ToDo
|
||||||
hi def link gitoliteUserError gitoliteError
|
hi def link gitoliteRepoError Error
|
||||||
hi def link gitoliteSpaceError gitoliteError
|
hi def link gitoliteGroupLine PreProc
|
||||||
hi def link gitoliteError Error
|
hi def link gitoliteRepo Keyword
|
||||||
hi def link gitoliteCreator gitolitePreProc
|
hi def link gitoliteSpecialRepo PreProc
|
||||||
hi def link gitolitePreProc PreProc
|
hi def link gitoliteRule Keyword
|
||||||
hi def link gitoliteExtCmdHelper PreProc
|
hi def link gitoliteCreateRule PreProc
|
||||||
hi def link gitoliteExtCmd Special
|
hi def link gitoliteDenyRule WarningMsg
|
||||||
hi def link gitoliteRepoDef Type
|
hi def link gitoliteRefex Constant
|
||||||
hi def link gitoliteKeyword Keyword
|
|
||||||
hi def link gitoliteRefex String
|
|
||||||
hi def link gitoliteDenyRefex gitoliteRefex
|
|
||||||
hi def link gitoliteSpecialRefex PreProc
|
hi def link gitoliteSpecialRefex PreProc
|
||||||
hi def link gitoliteDenyUsers WarningMsg
|
hi def link gitoliteConfigKW Keyword
|
||||||
hi def link gitoliteConfVariable Identifier
|
hi def link gitoliteConfigKey Identifier
|
||||||
hi def link gitoliteInclude Include
|
hi def link gitoliteConfigVal String
|
||||||
hi def link gitoliteString String
|
hi def link gitoliteTplRepo Keyword
|
||||||
|
hi def link gitoliteTplTemplates Constant
|
||||||
|
hi def link gitoliteTplRole Constant
|
||||||
|
hi def link gitoliteTplError Error
|
||||||
|
|
||||||
let b:current_syntax = "gitolite"
|
let b:current_syntax = "gitolite"
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim help file
|
" Language: Vim help file
|
||||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||||
" Last Change: 2017 Jun 13
|
" Last Change: 2017 Oct 19
|
||||||
|
|
||||||
" Quit when a (custom) syntax file was already loaded
|
" Quit when a (custom) syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
@@ -60,6 +60,7 @@ syn match helpSpecial "\<N\>"
|
|||||||
syn match helpSpecial "\<N\.$"me=e-1
|
syn match helpSpecial "\<N\.$"me=e-1
|
||||||
syn match helpSpecial "\<N\.\s"me=e-2
|
syn match helpSpecial "\<N\.\s"me=e-2
|
||||||
syn match helpSpecial "(N\>"ms=s+1
|
syn match helpSpecial "(N\>"ms=s+1
|
||||||
|
|
||||||
syn match helpSpecial "\[N]"
|
syn match helpSpecial "\[N]"
|
||||||
" avoid highlighting N N in help.txt
|
" avoid highlighting N N in help.txt
|
||||||
syn match helpSpecial "N N"he=s+1
|
syn match helpSpecial "N N"he=s+1
|
||||||
@@ -85,6 +86,9 @@ syn match helpSpecial "\[arguments]"
|
|||||||
syn match helpSpecial "\[ident]"
|
syn match helpSpecial "\[ident]"
|
||||||
syn match helpSpecial "\[addr]"
|
syn match helpSpecial "\[addr]"
|
||||||
syn match helpSpecial "\[group]"
|
syn match helpSpecial "\[group]"
|
||||||
|
" Don't highlight [converted] and others that do not have a tag
|
||||||
|
syn match helpNormal "\[\(readonly\|fifo\|socket\|converted\|crypted\)]"
|
||||||
|
|
||||||
syn match helpSpecial "CTRL-."
|
syn match helpSpecial "CTRL-."
|
||||||
syn match helpSpecial "CTRL-Break"
|
syn match helpSpecial "CTRL-Break"
|
||||||
syn match helpSpecial "CTRL-PageUp"
|
syn match helpSpecial "CTRL-PageUp"
|
||||||
|
|||||||
@@ -3,8 +3,9 @@
|
|||||||
" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
|
" Maintainer: Jorge Maldonado Ventura <jorgesumle@freakspot.net>
|
||||||
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||||
" Repository: https://notabug.org/jorgesumle/vim-html-syntax
|
" Repository: https://notabug.org/jorgesumle/vim-html-syntax
|
||||||
" Last Change: 2017 Jan 21
|
" Last Change: 2017 Sep 30
|
||||||
" included patch from Jorge Maldonado Ventura
|
" included patch from Christian Brabandt to make use of the strikethrough attributes
|
||||||
|
"
|
||||||
|
|
||||||
" Please check :help html.vim for some comments and a description of the options
|
" Please check :help html.vim for some comments and a description of the options
|
||||||
|
|
||||||
@@ -45,13 +46,13 @@ syn keyword htmlTagName contained cite code dd dfn dir div dl dt font
|
|||||||
syn keyword htmlTagName contained form hr html img
|
syn keyword htmlTagName contained form hr html img
|
||||||
syn keyword htmlTagName contained input isindex kbd li link map menu
|
syn keyword htmlTagName contained input isindex kbd li link map menu
|
||||||
syn keyword htmlTagName contained meta ol option param pre p samp span
|
syn keyword htmlTagName contained meta ol option param pre p samp span
|
||||||
syn keyword htmlTagName contained select small strike sub sup
|
syn keyword htmlTagName contained select small sub sup
|
||||||
syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
|
syn keyword htmlTagName contained table td textarea th tr tt ul var xmp
|
||||||
syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>"
|
syn match htmlTagName contained "\<\(b\|i\|u\|h[1-6]\|em\|strong\|head\|body\|title\)\>"
|
||||||
|
|
||||||
" new html 4.0 tags
|
" new html 4.0 tags
|
||||||
syn keyword htmlTagName contained abbr acronym bdo button col label
|
syn keyword htmlTagName contained abbr acronym bdo button col label
|
||||||
syn keyword htmlTagName contained colgroup del fieldset iframe ins legend
|
syn keyword htmlTagName contained colgroup fieldset iframe ins legend
|
||||||
syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
|
syn keyword htmlTagName contained object optgroup q s tbody tfoot thead
|
||||||
|
|
||||||
" new html 5 tags
|
" new html 5 tags
|
||||||
@@ -135,6 +136,9 @@ if !exists("html_no_rendering")
|
|||||||
" rendering
|
" rendering
|
||||||
syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
|
syn cluster htmlTop contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,javaScript,@htmlPreproc
|
||||||
|
|
||||||
|
syn region htmlStrike start="<del\>" end="</del>"me=e-6 contains=@htmlTop
|
||||||
|
syn region htmlStrike start="<strike\>" end="</strike>"me=e-9 contains=@htmlTop
|
||||||
|
|
||||||
syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
|
syn region htmlBold start="<b\>" end="</b>"me=e-4 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
|
||||||
syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
|
syn region htmlBold start="<strong\>" end="</strong>"me=e-9 contains=@htmlTop,htmlBoldUnderline,htmlBoldItalic
|
||||||
syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
|
syn region htmlBoldUnderline contained start="<u\>" end="</u>"me=e-4 contains=@htmlTop,htmlBoldUnderlineItalic
|
||||||
@@ -268,6 +272,11 @@ if !exists("html_no_rendering")
|
|||||||
hi def htmlUnderline term=underline cterm=underline gui=underline
|
hi def htmlUnderline term=underline cterm=underline gui=underline
|
||||||
hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
|
hi def htmlUnderlineItalic term=italic,underline cterm=italic,underline gui=italic,underline
|
||||||
hi def htmlItalic term=italic cterm=italic gui=italic
|
hi def htmlItalic term=italic cterm=italic gui=italic
|
||||||
|
if v:version > 800 || v:version == 800 && has("patch1038")
|
||||||
|
hi def htmlStrike term=strikethrough cterm=strikethrough gui=strikethrough
|
||||||
|
else
|
||||||
|
hi def htmlStrike term=underline cterm=underline gui=underline
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Mason (Perl embedded in HTML)
|
" Language: Mason (Perl embedded in HTML)
|
||||||
" Maintainer: Andrew Smith <andrewdsmith@yahoo.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Last change: 2003 May 11
|
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
|
||||||
" URL: http://www.masonhq.com/editors/mason.vim
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
|
" Last Change: 2017-09-12
|
||||||
|
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||||
|
" Andrew Smith <andrewdsmith@yahoo.com>
|
||||||
"
|
"
|
||||||
" This seems to work satisfactorily with html.vim and perl.vim for version 5.5.
|
" TODO:
|
||||||
" Please mail any fixes or improvements to the above address. Things that need
|
|
||||||
" doing include:
|
|
||||||
"
|
|
||||||
" - Add match for component names in <& &> blocks.
|
|
||||||
" - Add match for component names in <%def> and <%method> block delimiters.
|
|
||||||
" - Fix <%text> blocks to show HTML tags but ignore Mason tags.
|
" - Fix <%text> blocks to show HTML tags but ignore Mason tags.
|
||||||
"
|
"
|
||||||
|
|
||||||
@@ -34,30 +32,38 @@ syn cluster htmlPreproc add=@masonTop
|
|||||||
" Now pull in the Perl syntax.
|
" Now pull in the Perl syntax.
|
||||||
"
|
"
|
||||||
syn include @perlTop syntax/perl.vim
|
syn include @perlTop syntax/perl.vim
|
||||||
|
unlet b:current_syntax
|
||||||
|
syn include @podTop syntax/pod.vim
|
||||||
|
|
||||||
" It's hard to reduce down to the correct sub-set of Perl to highlight in some
|
" It's hard to reduce down to the correct sub-set of Perl to highlight in some
|
||||||
" of these cases so I've taken the safe option of just using perlTop in all of
|
" of these cases so I've taken the safe option of just using perlTop in all of
|
||||||
" them. If you have any suggestions, please let me know.
|
" them. If you have any suggestions, please let me know.
|
||||||
"
|
"
|
||||||
syn region masonLine matchgroup=Delimiter start="^%" end="$" contains=@perlTop
|
syn region masonPod start="^=[a-z]" end="^=cut" keepend contained contains=@podTop
|
||||||
syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop
|
syn cluster perlTop remove=perlBraces
|
||||||
syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=@perlTop
|
syn region masonLine matchgroup=Delimiter start="^%" end="$" keepend contains=@perlTop
|
||||||
syn region masonComp keepend matchgroup=Delimiter start="<&" end="&>" contains=@perlTop
|
syn region masonPerlComment start="#" end="\%(%>\)\@=\|$" contained contains=perlTodo,@Spell
|
||||||
|
syn region masonExpr matchgroup=Delimiter start="<%" end="%>" contains=@perlTop,masonPerlComment
|
||||||
|
syn region masonPerl matchgroup=Delimiter start="<%perl>" end="</%perl>" contains=masonPod,@perlTop
|
||||||
|
syn region masonComp keepend matchgroup=Delimiter start="<&\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop
|
||||||
|
syn region masonComp keepend matchgroup=Delimiter skipnl start="<&|\s*\%([-._/[:alnum:]]\+:\)\?[-._/[:alnum:]]*" end="&>" contains=@perlTop nextgroup=masonCompContent
|
||||||
|
syn region masonCompContent matchgroup=Delimiter start="" end="</&>" contained contains=@masonTop
|
||||||
|
|
||||||
syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=@perlTop
|
syn region masonArgs matchgroup=Delimiter start="<%args>" end="</%args>" contains=masonPod,@perlTop
|
||||||
|
|
||||||
syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=@perlTop
|
syn region masonInit matchgroup=Delimiter start="<%init>" end="</%init>" contains=masonPod,@perlTop
|
||||||
syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=@perlTop
|
syn region masonCleanup matchgroup=Delimiter start="<%cleanup>" end="</%cleanup>" contains=masonPod,@perlTop
|
||||||
syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=@perlTop
|
syn region masonOnce matchgroup=Delimiter start="<%once>" end="</%once>" contains=masonPod,@perlTop
|
||||||
syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=@perlTop
|
syn region masonClass matchgroup=Delimiter start="<%class>" end="</%class>" contains=masonPod,@perlTop
|
||||||
|
syn region masonShared matchgroup=Delimiter start="<%shared>" end="</%shared>" contains=masonPod,@perlTop
|
||||||
|
|
||||||
syn region masonDef matchgroup=Delimiter start="<%def[^>]*>" end="</%def>" contains=@htmlTop
|
syn region masonDef matchgroup=Delimiter start="<%def\s*[-._/[:alnum:]]\+\s*>" end="</%def>" contains=@htmlTop
|
||||||
syn region masonMethod matchgroup=Delimiter start="<%method[^>]*>" end="</%method>" contains=@htmlTop
|
syn region masonMethod matchgroup=Delimiter start="<%method\s*[-._/[:alnum:]]\+\s*>" end="</%method>" contains=@htmlTop
|
||||||
|
|
||||||
syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=@perlTop
|
syn region masonFlags matchgroup=Delimiter start="<%flags>" end="</%flags>" contains=masonPod,@perlTop
|
||||||
syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=@perlTop
|
syn region masonAttr matchgroup=Delimiter start="<%attr>" end="</%attr>" contains=masonPod,@perlTop
|
||||||
|
|
||||||
syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=@perlTop
|
syn region masonFilter matchgroup=Delimiter start="<%filter>" end="</%filter>" contains=masonPod,@perlTop
|
||||||
|
|
||||||
syn region masonDoc matchgroup=Delimiter start="<%doc>" end="</%doc>"
|
syn region masonDoc matchgroup=Delimiter start="<%doc>" end="</%doc>"
|
||||||
syn region masonText matchgroup=Delimiter start="<%text>" end="</%text>"
|
syn region masonText matchgroup=Delimiter start="<%text>" end="</%text>"
|
||||||
@@ -67,6 +73,8 @@ syn cluster masonTop contains=masonLine,masonExpr,masonPerl,masonComp,masonArgs,
|
|||||||
" Set up default highlighting. Almost all of this is done in the included
|
" Set up default highlighting. Almost all of this is done in the included
|
||||||
" syntax files.
|
" syntax files.
|
||||||
hi def link masonDoc Comment
|
hi def link masonDoc Comment
|
||||||
|
hi def link masonPod Comment
|
||||||
|
hi def link masonPerlComment perlComment
|
||||||
|
|
||||||
let b:current_syntax = "mason"
|
let b:current_syntax = "mason"
|
||||||
|
|
||||||
|
|||||||
1032
runtime/syntax/neomuttrc.vim
Normal file
1032
runtime/syntax/neomuttrc.vim
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,8 @@
|
|||||||
" Language : Netrw Remote-Directory Listing Syntax
|
" Language : Netrw Listing Syntax
|
||||||
" Maintainer : Charles E. Campbell
|
" Maintainer : Charles E. Campbell
|
||||||
" Last change: Oct 06, 2014
|
" Last change: Oct 31, 2016
|
||||||
" Version : 19
|
" Version : 20 NOT RELEASED
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
|
|
||||||
" Syntax Clearing: {{{1
|
|
||||||
" quit when a syntax file was already loaded
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
@@ -55,7 +52,12 @@ syn match netrwLink "-->" contained skipwhite
|
|||||||
" -----------------------------
|
" -----------------------------
|
||||||
" Special filetype highlighting {{{1
|
" Special filetype highlighting {{{1
|
||||||
" -----------------------------
|
" -----------------------------
|
||||||
if exists("g:netrw_special_syntax") && netrw_special_syntax
|
if exists("g:netrw_special_syntax") && g:netrw_special_syntax
|
||||||
|
if exists("+suffixes") && &suffixes != ""
|
||||||
|
let suflist= join(split(&suffixes,','))
|
||||||
|
let suflist= escape(substitute(suflist," ",'\\|','g'),'.~')
|
||||||
|
exe "syn match netrwSpecFile '\\(\\S\\+ \\)*\\S*\\(".suflist."\\)\\>' contains=netrwTreeBar,@NoSpell"
|
||||||
|
endif
|
||||||
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwBak "\(\S\+ \)*\S\+\.bak\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwCompress "\(\S\+ \)*\S\+\.\%(gz\|bz2\|Z\|zip\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
if has("unix")
|
if has("unix")
|
||||||
@@ -64,11 +66,12 @@ if exists("g:netrw_special_syntax") && netrw_special_syntax
|
|||||||
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwLex "\(\S\+ \)*\S\+\.\%(l\|lex\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwYacc "\(\S\+ \)*\S\+\.y\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwData "\(\S\+ \)*\S\+\.dat\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\)" contains=netrwTreeBar,@NoSpell
|
syn match netrwDoc "\(\S\+ \)*\S\+\.\%(doc\|txt\|pdf\|ps\|docx\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwHdr "\(\S\+ \)*\S\+\.\%(h\|hpp\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwLib "\(\S\+ \)*\S*\.\%(a\|so\|lib\|dll\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwMakeFile "\<[mM]akefile\>\|\(\S\+ \)*\S\+\.mak\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwObj "\(\S\+ \)*\S*\.\%(o\|obj\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
|
syn match netrwPix "\c\(\S\+ \)*\S*\.\%(bmp\|fits\=\|gif\|je\=pg\|pcx\|ppc\|pgm\|png\|ppm\|psd\|rgb\|tif\|xbm\|xcf\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwTags "\<\(ANmenu\|ANtags\)\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwTags "\<tags\>" contains=netrwTreeBar,@NoSpell
|
||||||
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
syn match netrwTilde "\(\S\+ \)*\S\+\~\*\=\>" contains=netrwTreeBar,@NoSpell
|
||||||
@@ -101,21 +104,42 @@ if !exists("did_drchip_netrwlist_syntax")
|
|||||||
hi default link netrwLink Special
|
hi default link netrwLink Special
|
||||||
|
|
||||||
" special syntax highlighting (see :he g:netrw_special_syntax)
|
" special syntax highlighting (see :he g:netrw_special_syntax)
|
||||||
hi default link netrwBak NonText
|
|
||||||
hi default link netrwCompress Folded
|
|
||||||
hi default link netrwCoreDump WarningMsg
|
hi default link netrwCoreDump WarningMsg
|
||||||
hi default link netrwData DiffChange
|
hi default link netrwData DiffChange
|
||||||
hi default link netrwHdr netrwPlain
|
hi default link netrwHdr netrwPlain
|
||||||
hi default link netrwLex netrwPlain
|
hi default link netrwLex netrwPlain
|
||||||
hi default link netrwLib DiffChange
|
hi default link netrwLib DiffChange
|
||||||
hi default link netrwMakefile DiffChange
|
hi default link netrwMakefile DiffChange
|
||||||
hi default link netrwObj Folded
|
|
||||||
hi default link netrwTilde Folded
|
|
||||||
hi default link netrwTmp Folded
|
|
||||||
hi default link netrwTags Folded
|
|
||||||
hi default link netrwYacc netrwPlain
|
hi default link netrwYacc netrwPlain
|
||||||
|
hi default link netrwPix Special
|
||||||
|
|
||||||
|
hi default link netrwBak netrwGray
|
||||||
|
hi default link netrwCompress netrwGray
|
||||||
|
hi default link netrwSpecFile netrwGray
|
||||||
|
hi default link netrwObj netrwGray
|
||||||
|
hi default link netrwTags netrwGray
|
||||||
|
hi default link netrwTilde netrwGray
|
||||||
|
hi default link netrwTmp netrwGray
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" set up netrwGray to be understated (but not Ignore'd or Conceal'd, as those
|
||||||
|
" can be hard/impossible to read). Users may override this in a colorscheme by
|
||||||
|
" specifying netrwGray highlighting.
|
||||||
|
redir => s:netrwgray
|
||||||
|
sil hi netrwGray
|
||||||
|
redir END
|
||||||
|
if s:netrwgray !~ 'guifg'
|
||||||
|
if has("gui") && has("gui_running")
|
||||||
|
if &bg == "dark"
|
||||||
|
exe "hi netrwGray gui=NONE guifg=gray30"
|
||||||
|
else
|
||||||
|
exe "hi netrwGray gui=NONE guifg=gray70"
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
hi link netrwGray Folded
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
" Current Syntax: {{{1
|
" Current Syntax: {{{1
|
||||||
let b:current_syntax = "netrwlist"
|
let b:current_syntax = "netrwlist"
|
||||||
" ---------------------------------------------------------------------
|
" ---------------------------------------------------------------------
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
" Maintainer: vim-perl <vim-perl@googlegroups.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
|
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-23
|
" Last Change: 2017-09-12
|
||||||
" Contributors: Andy Lester <andy@petdance.com>
|
" Contributors: Andy Lester <andy@petdance.com>
|
||||||
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
|
||||||
" Lukas Mai <l.mai.web.de>
|
" Lukas Mai <l.mai.web.de>
|
||||||
@@ -28,8 +28,9 @@
|
|||||||
" unlet perl_fold
|
" unlet perl_fold
|
||||||
" unlet perl_fold_blocks
|
" unlet perl_fold_blocks
|
||||||
" unlet perl_nofold_packages
|
" unlet perl_nofold_packages
|
||||||
" let perl_nofold_subs = 1
|
" unlet perl_nofold_subs
|
||||||
" unlet perl_fold_anonymous_subs
|
" unlet perl_fold_anonymous_subs
|
||||||
|
" unlet perl_no_subprototype_error
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
finish
|
finish
|
||||||
@@ -38,11 +39,6 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
if exists('®expengine')
|
|
||||||
let s:regexpengine=®expengine
|
|
||||||
set regexpengine=1
|
|
||||||
endif
|
|
||||||
|
|
||||||
" POD starts with ^=<word> and ends with ^=cut
|
" POD starts with ^=<word> and ends with ^=cut
|
||||||
|
|
||||||
if !exists("perl_include_pod") || perl_include_pod == 1
|
if !exists("perl_include_pod") || perl_include_pod == 1
|
||||||
@@ -83,7 +79,7 @@ syn match perlControl "\<\%(BEGIN\|CHECK\|INIT\|END\|UNITCHECK\)\>\_s*" nextgr
|
|||||||
|
|
||||||
syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>"
|
syn match perlStatementStorage "\<\%(my\|our\|local\|state\)\>"
|
||||||
syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>"
|
syn match perlStatementControl "\<\%(return\|last\|next\|redo\|goto\|break\)\>"
|
||||||
syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|uc\%(first\)\=\)\>"
|
syn match perlStatementScalar "\<\%(chom\=p\|chr\|crypt\|r\=index\|lc\%(first\)\=\|length\|ord\|pack\|sprintf\|substr\|fc\|uc\%(first\)\=\)\>"
|
||||||
syn match perlStatementRegexp "\<\%(pos\|quotemeta\|split\|study\)\>"
|
syn match perlStatementRegexp "\<\%(pos\|quotemeta\|split\|study\)\>"
|
||||||
syn match perlStatementNumeric "\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>"
|
syn match perlStatementNumeric "\<\%(abs\|atan2\|cos\|exp\|hex\|int\|log\|oct\|rand\|sin\|sqrt\|srand\)\>"
|
||||||
syn match perlStatementList "\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>"
|
syn match perlStatementList "\<\%(splice\|unshift\|shift\|push\|pop\|join\|reverse\|grep\|map\|sort\|unpack\)\>"
|
||||||
@@ -94,9 +90,9 @@ syn match perlStatementFiledesc "\<\%(fcntl\|flock\|ioctl\|open\%(dir\)\=\|read
|
|||||||
syn match perlStatementVector "\<vec\>"
|
syn match perlStatementVector "\<vec\>"
|
||||||
syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"
|
syn match perlStatementFiles "\<\%(ch\%(dir\|mod\|own\|root\)\|glob\|link\|mkdir\|readlink\|rename\|rmdir\|symlink\|umask\|unlink\|utime\)\>"
|
||||||
syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
|
syn match perlStatementFiles "-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
|
||||||
syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\)\>"
|
syn match perlStatementFlow "\<\%(caller\|die\|dump\|eval\|exit\|wantarray\|evalbytes\)\>"
|
||||||
syn match perlStatementInclude "\<\%(require\|import\)\>"
|
syn match perlStatementInclude "\<\%(require\|import\|unimport\)\>"
|
||||||
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
syn match perlStatementInclude "\<\%(use\|no\)\s\+\%(\%(attributes\|attrs\|autodie\|autouse\|parent\|base\|big\%(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\%(::warnings\)\=\|feature\|fields\|filetest\|if\|integer\|less\|lib\|locale\|mro\|open\|ops\|overload\|overloading\|re\|sigtrap\|sort\|strict\|subs\|threads\%(::shared\)\=\|utf8\|vars\|version\|vmsish\|warnings\%(::register\)\=\)\>\)\="
|
||||||
syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
|
syn match perlStatementProc "\<\%(alarm\|exec\|fork\|get\%(pgrp\|ppid\|priority\)\|kill\|pipe\|set\%(pgrp\|priority\)\|sleep\|system\|times\|wait\%(pid\)\=\)\>"
|
||||||
syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
|
syn match perlStatementSocket "\<\%(accept\|bind\|connect\|get\%(peername\|sock\%(name\|opt\)\)\|listen\|recv\|send\|setsockopt\|shutdown\|socket\%(pair\)\=\)\>"
|
||||||
syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>"
|
syn match perlStatementIPC "\<\%(msg\%(ctl\|get\|rcv\|snd\)\|sem\%(ctl\|get\|op\)\|shm\%(ctl\|get\|read\|write\)\)\>"
|
||||||
@@ -108,7 +104,7 @@ syn match perlStatementMisc "\<\%(warn\|format\|formline\|reset\|scalar\|protot
|
|||||||
|
|
||||||
syn keyword perlTodo TODO TODO: TBD TBD: FIXME FIXME: XXX XXX: NOTE NOTE: contained
|
syn keyword perlTodo TODO TODO: TBD TBD: FIXME FIXME: XXX XXX: NOTE NOTE: contained
|
||||||
|
|
||||||
syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*{" end="}" contains=@perlTop,perlBraces extend
|
syn region perlStatementIndirObjWrap matchgroup=perlStatementIndirObj start="\%(\<\%(map\|grep\|sort\|printf\=\|say\|system\|exec\)\>\s*\)\@<={" end="}" transparent extend
|
||||||
|
|
||||||
syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!"
|
syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!"
|
||||||
|
|
||||||
@@ -125,7 +121,7 @@ syn match perlLabel "^\s*\h\w*\s*::\@!\%(\<v\d\+\s*:\)\@<!"
|
|||||||
" Special variables first ($^A, ...) and ($|, $', ...)
|
" Special variables first ($^A, ...) and ($|, $', ...)
|
||||||
syn match perlVarPlain "$^[ACDEFHILMNOPRSTVWX]\="
|
syn match perlVarPlain "$^[ACDEFHILMNOPRSTVWX]\="
|
||||||
syn match perlVarPlain "$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]"
|
syn match perlVarPlain "$[\\\"\[\]'&`+*.,;=%~!?@#$<>(-]"
|
||||||
syn match perlVarPlain "%+"
|
syn match perlVarPlain "@[-+]"
|
||||||
syn match perlVarPlain "$\%(0\|[1-9]\d*\)"
|
syn match perlVarPlain "$\%(0\|[1-9]\d*\)"
|
||||||
" Same as above, but avoids confusion in $::foo (equivalent to $main::foo)
|
" Same as above, but avoids confusion in $::foo (equivalent to $main::foo)
|
||||||
syn match perlVarPlain "$::\@!"
|
syn match perlVarPlain "$::\@!"
|
||||||
@@ -143,41 +139,46 @@ syn match perlPackageRef "[$@#%*&]\%(\%(::\|'\)\=\I\i*\%(\%(::\|'\)\I\i*\)*\)\
|
|||||||
" just set the variable "perl_no_extended_vars"...
|
" just set the variable "perl_no_extended_vars"...
|
||||||
|
|
||||||
if !exists("perl_no_scope_in_variables")
|
if !exists("perl_no_scope_in_variables")
|
||||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef
|
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" contains=perlPackageRef nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
else
|
else
|
||||||
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
syn match perlVarPlain "\%([@$]\|\$#\)\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)"
|
syn match perlVarPlain2 "%\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod
|
syn match perlFunctionName "&\$*\%(\I\i*\)\=\%(\%(::\|'\)\I\i*\)*\%(::\|\i\@<=\)" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
syn match perlVarPlain2 "%[-+]"
|
||||||
|
|
||||||
if !exists("perl_no_extended_vars")
|
if !exists("perl_no_extended_vars")
|
||||||
syn cluster perlExpr contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces
|
syn cluster perlExpr contains=perlStatementIndirObjWrap,perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarPlain2,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlVarBlock2,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ,perlArrow,perlBraces
|
||||||
syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
syn region perlArrow matchgroup=perlArrow start="->\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||||
syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
syn region perlArrow matchgroup=perlArrow start="->\s*\[" end="\]" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||||
syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
syn region perlArrow matchgroup=perlArrow start="->\s*{" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||||
syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
syn match perlArrow "->\s*{\s*\I\i*\s*}" contains=perlVarSimpleMemberName nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||||
syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contained
|
syn region perlArrow matchgroup=perlArrow start="->\s*\$*\I\i*\s*(" end=")" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contained
|
||||||
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn region perlVarBlock matchgroup=perlVarPlain start="\%($#\|[$@]\)\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn region perlVarBlock2 matchgroup=perlVarPlain start="[%&*]\$*{" skip="\\}" end=+}\|\%(\%(<<\%('\|"\)\?\)\@=\)+ contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn match perlVarPlain2 "[%&*]\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn match perlVarPlain "\%(\$#\|[@$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\={" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod contains=perlVarSimpleMemberName contained extend
|
syn match perlVarSimpleMember "\%(->\)\={\s*\I\i*\s*}" nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref contains=perlVarSimpleMemberName contained extend
|
||||||
syn match perlVarSimpleMemberName "\I\i*" contained
|
syn match perlVarSimpleMemberName "\I\i*" contained
|
||||||
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod extend
|
syn region perlVarMember matchgroup=perlVarPlain start="\%(->\)\=\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember,perlMethod,perlPostDeref extend
|
||||||
syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod
|
syn match perlPackageConst "__PACKAGE__" nextgroup=perlMethod,perlPostDeref
|
||||||
syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod
|
syn match perlMethod "->\$*\I\i*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||||
|
syn match perlPostDeref "->\%($#\|[$@%&*]\)\*" contained nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||||
|
syn region perlPostDeref start="->\%($#\|[$@%&*]\)\[" skip="\\]" end="]" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||||
|
syn region perlPostDeref matchgroup=perlPostDeref start="->\%($#\|[$@%&*]\){" skip="\\}" end="}" contained contains=@perlExpr nextgroup=perlVarSimpleMember,perlVarMember,perlMethod,perlPostDeref
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" File Descriptors
|
" File Descriptors
|
||||||
syn match perlFiledescRead "<\h\w*>"
|
syn match perlFiledescRead "<\h\w*>"
|
||||||
|
|
||||||
syn match perlFiledescStatementComma "(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement
|
syn match perlFiledescStatementComma "(\=\s*\<\u\w*\>\s*,"me=e-1 transparent contained contains=perlFiledescStatement
|
||||||
syn match perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement
|
syn match perlFiledescStatementNocomma "(\=\s*\<\u\w*\>\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement
|
||||||
|
|
||||||
syn match perlFiledescStatement "\u\w*" contained
|
syn match perlFiledescStatement "\<\u\w*\>" contained
|
||||||
|
|
||||||
" Special characters in strings and matches
|
" Special characters in strings and matches
|
||||||
syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend
|
syn match perlSpecialString "\\\%(\o\{1,3}\|x\%({\x\+}\|\x\{1,2}\)\|c.\|[^cx]\)" contained extend
|
||||||
@@ -241,20 +242,18 @@ syn region perlAnglesDQ start=+<+ end=+>+ extend contained contains=perlAnglesD
|
|||||||
|
|
||||||
|
|
||||||
" Simple version of searches and matches
|
" Simple version of searches and matches
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgc]*+ contains=@perlInterpMatch keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\>\s*\z([^[:space:]'([{<#]\)+ end=+\z1[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgc]*+ contains=@perlInterpMatch keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m#+ end=+#[msixpodualgcn]*+ contains=@perlInterpMatch keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgc]*+ contains=@perlInterpSQ keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*'+ end=+'[msixpodualgcn]*+ contains=@perlInterpSQ keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgc]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*(+ end=+)[msixpodualgcn]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
|
||||||
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgcn]*+ contains=@perlInterpMatch,perlBracesDQ extend
|
||||||
" A special case for m{}, m<> and m[] which allows for comments and extra whitespace in the pattern
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgcn]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*{+ end=+}[msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracesDQ extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgcn]*+ contains=@perlInterpMatch,perlBracketsDQ keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*<+ end=+>[msixpodualgc]*+ contains=@perlInterpMatch,perlAnglesDQ keepend extend
|
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!m\s*\[+ end=+\][msixpodualgc]*+ contains=@perlInterpMatch,perlComment,perlBracketsDQ keepend extend
|
|
||||||
|
|
||||||
" Below some hacks to recognise the // variant. This is virtually impossible to catch in all
|
" Below some hacks to recognise the // variant. This is virtually impossible to catch in all
|
||||||
" cases as the / is used in so many other ways, but these should be the most obvious ones.
|
" cases as the / is used in so many other ways, but these should be the most obvious ones.
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgc]*+ contains=@perlInterpSlash extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start="\%([$@%&*]\@<!\%(\<split\|\<while\|\<if\|\<unless\|\.\.\|[-+*!~(\[{=]\)\s*\)\@<=/\%(/=\)\@!" start=+^/\%(/=\)\@!+ start=+\s\@<=/\%(/=\)\@![^[:space:][:digit:]$@%=]\@=\%(/\_s*\%([([{$@%&*[:digit:]"'`]\|\_s\w\|[[:upper:]_abd-fhjklnqrt-wyz]\)\)\@!+ skip=+\\/+ end=+/[msixpodualgcn]*+ contains=@perlInterpSlash extend
|
||||||
|
|
||||||
|
|
||||||
" Substitutions
|
" Substitutions
|
||||||
@@ -267,12 +266,12 @@ syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s
|
|||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*<+ end=+>+ contains=@perlInterpMatch,perlAnglesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*\[+ end=+\]+ contains=@perlInterpMatch,perlBracketsDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
||||||
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
syn region perlMatch matchgroup=perlMatchStartEnd start=+\<\%(::\|'\|->\)\@<!s\s*{+ end=+}+ contains=@perlInterpMatch,perlBracesDQ nextgroup=perlSubstitutionGQQ skipwhite skipempty skipnl keepend extend
|
||||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcer]*+ keepend contained contains=@perlInterpDQ extend
|
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\z([^[:space:]'([{<]\)+ end=+\z1[msixpodualgcern]*+ keepend contained contains=@perlInterpDQ extend
|
||||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend
|
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+(+ end=+)[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlParensDQ keepend extend
|
||||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend
|
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+\[+ end=+\][msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracketsDQ keepend extend
|
||||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend
|
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+{+ end=+}[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlBracesDQ keepend extend extend
|
||||||
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcer]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend
|
syn region perlSubstitutionGQQ matchgroup=perlMatchStartEnd start=+<+ end=+>[msixpodualgcern]*+ contained contains=@perlInterpDQ,perlAnglesDQ keepend extend
|
||||||
syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcer]*+ contained contains=@perlInterpSQ keepend extend
|
syn region perlSubstitutionSQ matchgroup=perlMatchStartEnd start=+'+ end=+'[msixpodualgcern]*+ contained contains=@perlInterpSQ keepend extend
|
||||||
|
|
||||||
" Translations
|
" Translations
|
||||||
" perlMatch is the first part, perlTranslation* is the second, translator part.
|
" perlMatch is the first part, perlTranslation* is the second, translator part.
|
||||||
@@ -314,35 +313,40 @@ syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s
|
|||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*{+ end=+}+ contains=@perlInterpSQ,perlBracesSQ keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qw\s*<+ end=+>+ contains=@perlInterpSQ,perlAnglesSQ keepend extend
|
||||||
|
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosx]*+ contains=@perlInterpMatch keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\>\s*\z([^[:space:]#([{<'/]\)+ end=+\z1[imosxdual]*+ contains=@perlInterpMatch keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosx]*+ contains=@perlInterpSlash keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*/+ end=+/[imosxdual]*+ contains=@perlInterpSlash keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosx]*+ contains=@perlInterpMatch keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr#+ end=+#[imosxdual]*+ contains=@perlInterpMatch keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosx]*+ contains=@perlInterpSQ keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*'+ end=+'[imosxdual]*+ contains=@perlInterpSQ keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosx]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*(+ end=+)[imosxdual]*+ contains=@perlInterpMatch,perlParensDQ keepend extend
|
||||||
|
|
||||||
" A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern
|
" A special case for qr{}, qr<> and qr[] which allows for comments and extra whitespace in the pattern
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosx]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*{+ end=+}[imosxdual]*+ contains=@perlInterpMatch,perlBracesDQ,perlComment keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosx]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*<+ end=+>[imosxdual]*+ contains=@perlInterpMatch,perlAnglesDQ,perlComment keepend extend
|
||||||
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosx]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend
|
syn region perlQQ matchgroup=perlStringStartEnd start=+\<\%(::\|'\|->\)\@<!qr\s*\[+ end=+\][imosxdual]*+ contains=@perlInterpMatch,perlBracketsDQ,perlComment keepend extend
|
||||||
|
|
||||||
" Constructs such as print <<EOF [...] EOF, 'here' documents
|
" Constructs such as print <<EOF [...] EOF, 'here' documents
|
||||||
"
|
"
|
||||||
" XXX Any statements after the identifier are in perlString colour (i.e.
|
" XXX Any statements after the identifier are in perlString colour (i.e.
|
||||||
" 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it
|
" 'if $a' in 'print <<EOF if $a'). This is almost impossible to get right it
|
||||||
" seems due to the 'auto-extending nature' of regions.
|
" seems due to the 'auto-extending nature' of regions.
|
||||||
|
syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\z(\I\i*\)+ end=+$+ contains=@perlTop oneline
|
||||||
|
syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+$+ contains=@perlTop oneline
|
||||||
|
syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+$+ contains=@perlTop oneline
|
||||||
|
syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*""+ end=+$+ contains=@perlTop oneline
|
||||||
|
syn region perlHereDocStart matchgroup=perlStringStartEnd start=+<<\s*''+ end=+$+ contains=@perlTop oneline
|
||||||
if exists("perl_fold")
|
if exists("perl_fold")
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ fold extend
|
syn region perlHereDoc start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ fold extend
|
syn region perlHereDoc start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ fold extend
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ fold extend
|
syn region perlHereDoc start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ fold extend
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine fold extend
|
syn region perlHereDoc start=+<<\s*""+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine fold extend
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine fold extend
|
syn region perlHereDoc start=+<<\s*''+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine fold extend
|
||||||
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend
|
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL fold extend
|
||||||
else
|
else
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\z(\I\i*\).*+ end=+^\z1$+ contains=@perlInterpDQ
|
syn region perlHereDoc start=+<<\z(\I\i*\)+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ end=+^\z1$+ contains=@perlInterpDQ
|
syn region perlHereDoc start=+<<\s*"\z([^\\"]*\%(\\.[^\\"]*\)*\)"+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpDQ
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ end=+^\z1$+ contains=@perlInterpSQ
|
syn region perlHereDoc start=+<<\s*'\z([^\\']*\%(\\.[^\\']*\)*\)'+ matchgroup=perlStringStartEnd end=+^\z1$+ contains=perlHereDocStart,@perlInterpSQ
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*""+ end=+^$+ contains=@perlInterpDQ,perlNotEmptyLine
|
syn region perlHereDoc start=+<<\s*""+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpDQ,perlNotEmptyLine
|
||||||
syn region perlHereDoc matchgroup=perlStringStartEnd start=+<<\s*''+ end=+^$+ contains=@perlInterpSQ,perlNotEmptyLine
|
syn region perlHereDoc start=+<<\s*''+ matchgroup=perlStringStartEnd end=+^$+ contains=perlHereDocStart,@perlInterpSQ,perlNotEmptyLine
|
||||||
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL
|
syn region perlAutoload matchgroup=perlStringStartEnd start=+<<\s*\(['"]\=\)\z(END_\%(SUB\|OF_FUNC\|OF_AUTOLOAD\)\)\1+ end=+^\z1$+ contains=ALL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -356,28 +360,22 @@ syn keyword perlStatementPackage package contained
|
|||||||
" sub [name] [(prototype)] {
|
" sub [name] [(prototype)] {
|
||||||
"
|
"
|
||||||
syn match perlSubError "[^[:space:];{#]" contained
|
syn match perlSubError "[^[:space:];{#]" contained
|
||||||
if v:version == 701 && !has('patch221') " XXX I hope that's the right one
|
syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained
|
||||||
syn match perlSubAttributes ":" contained
|
syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ
|
||||||
|
syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup
|
||||||
|
syn match perlSubAttributes "" contained nextgroup=perlSubError
|
||||||
|
syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
|
||||||
|
if get(g:, "perl_sub_signatures", 0)
|
||||||
|
syn match perlSignature +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained
|
||||||
else
|
else
|
||||||
syn match perlSubAttributesCont "\h\w*\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained
|
syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
|
||||||
syn region perlSubAttributesCont matchgroup=perlSubAttributesCont start="\h\w*(" end=")\_s*\%(:\_s*\)\=" nextgroup=@perlSubAttrMaybe contained contains=@perlInterpSQ,perlParensSQ
|
syn match perlSubPrototype +(\_[^)]*)\_s*+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
|
||||||
syn cluster perlSubAttrMaybe contains=perlSubAttributesCont,perlSubError,perlFakeGroup
|
|
||||||
syn match perlSubAttributes "" contained nextgroup=perlSubError
|
|
||||||
syn match perlSubAttributes ":\_s*" contained nextgroup=@perlSubAttrMaybe
|
|
||||||
endif
|
endif
|
||||||
syn match perlSubPrototypeError "(\%(\_s*\%(\%(\\\%([$@%&*]\|\[[$@%&*]\+\]\)\|[$&*]\|[@%]\%(\_s*)\)\@=\|;\%(\_s*[)$@%&*\\]\)\@=\|_\%(\_s*[);]\)\@=\)\_s*\)*\)\@>\zs\_[^)]\+" contained
|
|
||||||
syn match perlSubPrototype +(\_[^)]*)\_s*\|+ nextgroup=perlSubAttributes,perlComment contained contains=perlSubPrototypeError
|
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlSignature,perlSubAttributes,perlComment
|
||||||
syn match perlSubName +\%(\h\|::\|'\w\)\%(\w\|::\|'\w\)*\_s*\|+ contained nextgroup=perlSubPrototype,perlComment
|
|
||||||
|
|
||||||
syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
|
syn match perlFunction +\<sub\>\_s*+ nextgroup=perlSubName
|
||||||
|
|
||||||
if !exists("perl_no_scope_in_variables")
|
|
||||||
syn match perlFunctionPRef "\h\w*::" contained
|
|
||||||
syn match perlFunctionName "\h\w*[^:]" contained
|
|
||||||
else
|
|
||||||
syn match perlFunctionName "\h[[:alnum:]_:]*" contained
|
|
||||||
endif
|
|
||||||
|
|
||||||
" The => operator forces a bareword to the left of it to be interpreted as
|
" The => operator forces a bareword to the left of it to be interpreted as
|
||||||
" a string
|
" a string
|
||||||
syn match perlString "\I\@<!-\?\I\i*\%(\s*=>\)\@="
|
syn match perlString "\I\@<!-\?\I\i*\%(\s*=>\)\@="
|
||||||
@@ -397,10 +395,10 @@ syn match perlFormatField "@$" contained
|
|||||||
|
|
||||||
" __END__ and __DATA__ clauses
|
" __END__ and __DATA__ clauses
|
||||||
if exists("perl_fold")
|
if exists("perl_fold")
|
||||||
syntax region perlDATA start="^__DATA__$" skip="." end="." fold
|
syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA fold
|
||||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
|
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA fold
|
||||||
else
|
else
|
||||||
syntax region perlDATA start="^__DATA__$" skip="." end="."
|
syntax region perlDATA start="^__DATA__$" skip="." end="." contains=@perlDATA
|
||||||
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
|
syntax region perlDATA start="^__END__$" skip="." end="." contains=perlPOD,@perlDATA
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -414,8 +412,8 @@ if exists("perl_fold")
|
|||||||
syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend
|
syn region perlPackageFold start="^package \S\+;\s*\%(#.*\)\=$" end="^1;\=\s*\%(#.*\)\=$" end="\n\+package"me=s-1 transparent fold keepend
|
||||||
endif
|
endif
|
||||||
if !exists("perl_nofold_subs")
|
if !exists("perl_nofold_subs")
|
||||||
if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
|
if get(g:, "perl_fold_anonymous_subs", 0)
|
||||||
syn region perlSubFold start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
|
syn region perlSubFold start="\<sub\>[^{]*{" end="}" transparent fold keepend extend
|
||||||
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
syn region perlSubFold start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
|
||||||
else
|
else
|
||||||
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
syn region perlSubFold start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
|
||||||
@@ -424,7 +422,7 @@ if exists("perl_fold")
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
if exists("perl_fold_blocks")
|
if exists("perl_fold_blocks")
|
||||||
syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)foreach\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
|
syn region perlBlockFold start="^\z(\s*\)\%(if\|elsif\|unless\|for\|while\|until\|given\)\s*(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" start="^\z(\s*\)for\%(each\)\=\s*\%(\%(my\|our\)\=\s*\S\+\s*\)\=(.*)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
|
||||||
syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
|
syn region perlBlockFold start="^\z(\s*\)\%(do\|else\)\%(\s*{\)\=\s*\%(#.*\)\=$" end="^\z1}\s*while" end="^\z1}\s*;\=\%(#.*\)\=$" transparent fold keepend
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@@ -435,7 +433,6 @@ else
|
|||||||
syn sync minlines=0
|
syn sync minlines=0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
" NOTE: If you're linking new highlight groups to perlString, please also put
|
" NOTE: If you're linking new highlight groups to perlString, please also put
|
||||||
" them into b:match_skip in ftplugin/perl.vim.
|
" them into b:match_skip in ftplugin/perl.vim.
|
||||||
|
|
||||||
@@ -458,6 +455,7 @@ hi def link perlOperator Operator
|
|||||||
hi def link perlFunction Keyword
|
hi def link perlFunction Keyword
|
||||||
hi def link perlSubName Function
|
hi def link perlSubName Function
|
||||||
hi def link perlSubPrototype Type
|
hi def link perlSubPrototype Type
|
||||||
|
hi def link perlSignature Type
|
||||||
hi def link perlSubAttributes PreProc
|
hi def link perlSubAttributes PreProc
|
||||||
hi def link perlSubAttributesCont perlSubAttributes
|
hi def link perlSubAttributesCont perlSubAttributes
|
||||||
hi def link perlComment Comment
|
hi def link perlComment Comment
|
||||||
@@ -516,8 +514,11 @@ hi def link perlStatementMisc perlStatement
|
|||||||
hi def link perlStatementIndirObj perlStatement
|
hi def link perlStatementIndirObj perlStatement
|
||||||
hi def link perlFunctionName perlIdentifier
|
hi def link perlFunctionName perlIdentifier
|
||||||
hi def link perlMethod perlIdentifier
|
hi def link perlMethod perlIdentifier
|
||||||
|
hi def link perlPostDeref perlIdentifier
|
||||||
hi def link perlFunctionPRef perlType
|
hi def link perlFunctionPRef perlType
|
||||||
hi def link perlPOD perlComment
|
if !get(g:, 'perl_include_pod', 1)
|
||||||
|
hi def link perlPOD perlComment
|
||||||
|
endif
|
||||||
hi def link perlShellCommand perlString
|
hi def link perlShellCommand perlString
|
||||||
hi def link perlSpecialAscii perlSpecial
|
hi def link perlSpecialAscii perlSpecial
|
||||||
hi def link perlSpecialDollar perlSpecial
|
hi def link perlSpecialDollar perlSpecial
|
||||||
@@ -548,7 +549,6 @@ hi def link perlElseIfError Error
|
|||||||
hi def link perlSubPrototypeError Error
|
hi def link perlSubPrototypeError Error
|
||||||
hi def link perlSubError Error
|
hi def link perlSubError Error
|
||||||
|
|
||||||
|
|
||||||
" Syncing to speed up processing
|
" Syncing to speed up processing
|
||||||
"
|
"
|
||||||
if !exists("perl_no_sync_on_sub")
|
if !exists("perl_no_sync_on_sub")
|
||||||
@@ -575,11 +575,6 @@ syn sync match perlSyncPOD grouphere NONE "^=cut"
|
|||||||
|
|
||||||
let b:current_syntax = "perl"
|
let b:current_syntax = "perl"
|
||||||
|
|
||||||
if exists('®expengine')
|
|
||||||
let ®expengine=s:regexpengine
|
|
||||||
unlet s:regexpengine
|
|
||||||
endif
|
|
||||||
|
|
||||||
let &cpo = s:cpo_save
|
let &cpo = s:cpo_save
|
||||||
unlet s:cpo_save
|
unlet s:cpo_save
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
" Previously: Scott Bigham <dsb@killerbunnies.org>
|
" Previously: Scott Bigham <dsb@killerbunnies.org>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2017-09-12
|
||||||
|
|
||||||
" To add embedded POD documentation highlighting to your syntax file, add
|
" To add embedded POD documentation highlighting to your syntax file, add
|
||||||
" the commands:
|
" the commands:
|
||||||
@@ -76,7 +76,6 @@ hi def link podSpecial Identifier
|
|||||||
hi def link podEscape String
|
hi def link podEscape String
|
||||||
hi def link podEscape2 Number
|
hi def link podEscape2 Number
|
||||||
|
|
||||||
|
|
||||||
if exists("perl_pod_spellcheck_headings")
|
if exists("perl_pod_spellcheck_headings")
|
||||||
" Spell-check headings
|
" Spell-check headings
|
||||||
syn clear podCmdText
|
syn clear podCmdText
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: readline(3) configuration file
|
" Language: readline(3) configuration file
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2012-04-25
|
" Latest Revision: 2017-06-25
|
||||||
" readline_has_bash - if defined add support for bash specific
|
" readline_has_bash - if defined add support for bash specific
|
||||||
" settings/functions
|
" settings/functions
|
||||||
|
|
||||||
@@ -119,6 +119,7 @@ syn keyword readlineVariable contained
|
|||||||
\ nextgroup=readlineBoolean
|
\ nextgroup=readlineBoolean
|
||||||
\ skipwhite
|
\ skipwhite
|
||||||
\ bind-tty-special-chars
|
\ bind-tty-special-chars
|
||||||
|
\ colored-stats
|
||||||
\ completion-ignore-case
|
\ completion-ignore-case
|
||||||
\ completion-map-case
|
\ completion-map-case
|
||||||
\ convert-meta
|
\ convert-meta
|
||||||
@@ -142,6 +143,7 @@ syn keyword readlineVariable contained
|
|||||||
\ revert-all-at-newline
|
\ revert-all-at-newline
|
||||||
\ show-all-if-ambiguous
|
\ show-all-if-ambiguous
|
||||||
\ show-all-if-unmodified
|
\ show-all-if-unmodified
|
||||||
|
\ show-mode-in-prompt
|
||||||
\ skip-completed-text
|
\ skip-completed-text
|
||||||
\ visible-stats
|
\ visible-stats
|
||||||
|
|
||||||
@@ -158,6 +160,7 @@ syn keyword readlineVariable contained
|
|||||||
\ completion-prefix-display-length
|
\ completion-prefix-display-length
|
||||||
\ completion-query-items
|
\ completion-query-items
|
||||||
\ history-size
|
\ history-size
|
||||||
|
\ keyseq-timeout
|
||||||
|
|
||||||
syn keyword readlineVariable contained
|
syn keyword readlineVariable contained
|
||||||
\ nextgroup=readlineEditingMode
|
\ nextgroup=readlineEditingMode
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||||
" Last Change: Jan 30, 2017
|
" Last Change: Oct 02, 2017
|
||||||
" Version: 168
|
" Version: 172
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||||
" For options and settings, please use: :help ft-sh-syntax
|
" For options and settings, please use: :help ft-sh-syntax
|
||||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||||
@@ -128,7 +128,7 @@ syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,
|
|||||||
syn cluster shArithList contains=@shArithParenList,shParenError
|
syn cluster shArithList contains=@shArithParenList,shParenError
|
||||||
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
||||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||||
syn cluster shCommandSubList contains=shAlias,shArithmetic,shComment,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
|
syn cluster shCommandSubList contains=shAlias,shArithmetic,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shHereDoc,shNumber,shOperator,shOption,shPosnParm,shHereString,shRedir,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
|
||||||
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
||||||
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
|
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
|
||||||
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS
|
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPSR,shDerefPPS
|
||||||
@@ -150,6 +150,7 @@ syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditiona
|
|||||||
syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm
|
syn cluster shPPSRightList contains=shComment,shDeref,shDerefSimple,shEscape,shPosnParm
|
||||||
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shHereString,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
||||||
syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
|
syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
|
||||||
|
syn cluster shNoZSList contains=shSpecialNoZS
|
||||||
|
|
||||||
" Echo: {{{1
|
" Echo: {{{1
|
||||||
" ====
|
" ====
|
||||||
@@ -220,13 +221,13 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
|||||||
"=======
|
"=======
|
||||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
||||||
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained contains=shDerefSimple,shDeref
|
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' end="\ze['"]" contained contains=shDerefSimple,shDeref
|
||||||
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
syn match shAstQuote contained '\*\ze"' nextgroup=shString
|
||||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||||
syn match shTestPattern contained '\w\+'
|
syn match shTestPattern contained '\w\+'
|
||||||
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial
|
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"' contains=shDeref,shDerefSimple,shDerefSpecial
|
||||||
syn match shTestSingleQuote contained '\\.'
|
syn match shTestSingleQuote contained '\\.' nextgroup=shTestSingleQuote
|
||||||
syn match shTestSingleQuote contained "'[^']*'"
|
syn match shTestSingleQuote contained "'[^']*'"
|
||||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment
|
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shAstQuote,shNoQuote,shComment
|
||||||
@@ -261,7 +262,11 @@ syn match shComma contained ","
|
|||||||
" ====
|
" ====
|
||||||
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
||||||
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
|
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
|
||||||
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
if exists("b:is_bash")
|
||||||
|
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end=";&" end=";;&" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||||
|
else
|
||||||
|
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||||
|
endif
|
||||||
ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
||||||
|
|
||||||
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
||||||
@@ -291,7 +296,7 @@ syn match shEscape contained '\%(^\)\@!\%(\\\\\)*\\.'
|
|||||||
" (ie. Posix compliant shell). /bin/ksh should work for those
|
" (ie. Posix compliant shell). /bin/ksh should work for those
|
||||||
" systems too, however, so the following syntax will flag $(..) as
|
" systems too, however, so the following syntax will flag $(..) as
|
||||||
" an Error under /bin/sh. By consensus of vimdev'ers!
|
" an Error under /bin/sh. By consensus of vimdev'ers!
|
||||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
if exists("b:is_kornshell") || exists("b:is_bash") || exists("b:is_posix")
|
||||||
syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
|
syn region shCommandSub matchgroup=shCmdSubRegion start="\$(" skip='\\\\\|\\.' end=")" contains=@shCommandSubList
|
||||||
syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
|
syn region shArithmetic matchgroup=shArithRegion start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
|
||||||
syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
|
syn region shArithmetic matchgroup=shArithRegion start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
|
||||||
@@ -346,8 +351,9 @@ syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
|||||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||||
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
||||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
|
||||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
|
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
|
||||||
|
syn match shSpecialNoZS contained "\%(\\\\\)*\\[\\"'`$()#]"
|
||||||
syn match shSpecialNxt contained "\\[\\"'`$()#]"
|
syn match shSpecialNxt contained "\\[\\"'`$()#]"
|
||||||
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||||
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||||
@@ -370,8 +376,8 @@ syn match shQuickComment contained "#.*$"
|
|||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc01 start="<<\s*\\\=\z([^ \t|>]\+\)" matchgroup=shHereDoc01 end="^\z1\s*$" contains=@shDblQuoteList
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$"
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc02 start="<<\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc02 end="^\z1\s*$"
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc03 start="<<-\s*\z([^ \t|>]\+\)" matchgroup=shHereDoc03 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$"
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc04 start="<<-\s*'\z([^']\+\)'" matchgroup=shHereDoc04 end="^\s*\z1\s*$"
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$"
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*'\z([^']\+\)'" matchgroup=shHereDoc05 end="^\z1\s*$"
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$"
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\"\z([^ \t|>]\+\)\"" matchgroup=shHereDoc06 end="^\s*\z1\s*$"
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\_$\_s*\z([^ \t|>]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$"
|
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\\\_$\_s*'\z([^ \t|>]\+\)'" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||||
@@ -428,14 +434,14 @@ endif
|
|||||||
if !exists("g:sh_no_error")
|
if !exists("g:sh_no_error")
|
||||||
syn match shDerefWordError "[^}$[~]" contained
|
syn match shDerefWordError "[^}$[~]" contained
|
||||||
endif
|
endif
|
||||||
syn match shDerefSimple "\$\%(\h\w*\|\d\)"
|
syn match shDerefSimple "\$\%(\h\w*\|\d\)" nextgroup=@shNoZSList
|
||||||
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
|
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
|
||||||
syn match shDerefSimple "\$[-#*@!?]"
|
syn match shDerefSimple "\$[-#*@!?]" nextgroup=@shNoZSList
|
||||||
syn match shDerefSimple "\$\$"
|
syn match shDerefSimple "\$\$" nextgroup=@shNoZSList
|
||||||
syn match shDerefSimple "\${\d}"
|
syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList
|
||||||
if exists("b:is_bash") || exists("b:is_kornshell")
|
if exists("b:is_bash") || exists("b:is_kornshell")
|
||||||
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList
|
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
|
||||||
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList
|
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" ksh: ${!var[*]} array index list syntax: {{{1
|
" ksh: ${!var[*]} array index list syntax: {{{1
|
||||||
@@ -685,6 +691,7 @@ if !exists("skip_sh_syntax_inits")
|
|||||||
hi def link shSetList Identifier
|
hi def link shSetList Identifier
|
||||||
hi def link shShellVariables PreProc
|
hi def link shShellVariables PreProc
|
||||||
hi def link shSpecial Special
|
hi def link shSpecial Special
|
||||||
|
hi def link shSpecialNoZS shSpecial
|
||||||
hi def link shStatement Statement
|
hi def link shStatement Statement
|
||||||
hi def link shString String
|
hi def link shString String
|
||||||
hi def link shTodo Todo
|
hi def link shTodo Todo
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||||
" Contributor: Karsten Hopp <karsten@redhat.com>
|
" Contributor: Karsten Hopp <karsten@redhat.com>
|
||||||
" Originally: 2009-07-09
|
" Originally: 2009-07-09
|
||||||
" Last Change: 2016 Dec 28
|
" Last Change: 2017 Oct 25
|
||||||
" SSH Version: 7.4p1
|
" SSH Version: 7.6p1
|
||||||
"
|
"
|
||||||
|
|
||||||
" Setup
|
" Setup
|
||||||
@@ -224,7 +224,6 @@ syn keyword sshdconfigKeyword TrustedUserCAKeys
|
|||||||
syn keyword sshdconfigKeyword UseDNS
|
syn keyword sshdconfigKeyword UseDNS
|
||||||
syn keyword sshdconfigKeyword UseLogin
|
syn keyword sshdconfigKeyword UseLogin
|
||||||
syn keyword sshdconfigKeyword UsePAM
|
syn keyword sshdconfigKeyword UsePAM
|
||||||
syn keyword sshdconfigKeyword UsePrivilegeSeparation
|
|
||||||
syn keyword sshdconfigKeyword VersionAddendum
|
syn keyword sshdconfigKeyword VersionAddendum
|
||||||
syn keyword sshdconfigKeyword X11DisplayOffset
|
syn keyword sshdconfigKeyword X11DisplayOffset
|
||||||
syn keyword sshdconfigKeyword X11Forwarding
|
syn keyword sshdconfigKeyword X11Forwarding
|
||||||
|
|||||||
97
runtime/syntax/tap.vim
Normal file
97
runtime/syntax/tap.vim
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: Verbose TAP Output
|
||||||
|
" Maintainer: Rufus Cable <rufus@threebytesfull.com>
|
||||||
|
" Remark: Simple syntax highlighting for TAP output
|
||||||
|
" License:
|
||||||
|
" Copyright: (c) 2008-2013 Rufus Cable
|
||||||
|
" Last Change: 2014-12-13
|
||||||
|
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
syn match tapTestDiag /^ *#.*/ contains=tapTestTodo
|
||||||
|
syn match tapTestTime /^ *\[\d\d:\d\d:\d\d\].*/ contains=tapTestFile
|
||||||
|
syn match tapTestFile /\w\+\/[^. ]*/ contained
|
||||||
|
syn match tapTestFileWithDot /\w\+\/[^ ]*/ contained
|
||||||
|
|
||||||
|
syn match tapTestPlan /^ *\d\+\.\.\d\+$/
|
||||||
|
|
||||||
|
" tapTest is a line like 'ok 1', 'not ok 2', 'ok 3 - xxxx'
|
||||||
|
syn match tapTest /^ *\(not \)\?ok \d\+.*/ contains=tapTestStatusOK,tapTestStatusNotOK,tapTestLine
|
||||||
|
|
||||||
|
" tapTestLine is the line without the ok/not ok status - i.e. number and
|
||||||
|
" optional message
|
||||||
|
syn match tapTestLine /\d\+\( .*\|$\)/ contains=tapTestNumber,tapTestLoadMessage,tapTestTodo,tapTestSkip contained
|
||||||
|
|
||||||
|
" turn ok/not ok messages green/red respectively
|
||||||
|
syn match tapTestStatusOK /ok/ contained
|
||||||
|
syn match tapTestStatusNotOK /not ok/ contained
|
||||||
|
|
||||||
|
" highlight todo tests
|
||||||
|
syn match tapTestTodo /\(# TODO\|Failed (TODO)\) .*$/ contained contains=tapTestTodoRev
|
||||||
|
syn match tapTestTodoRev /\<TODO\>/ contained
|
||||||
|
|
||||||
|
" highlight skipped tests
|
||||||
|
syn match tapTestSkip /# skip .*$/ contained contains=tapTestSkipTag
|
||||||
|
syn match tapTestSkipTag /\(# \)\@<=skip\>/ contained
|
||||||
|
|
||||||
|
" look behind so "ok 123" and "not ok 124" match test number
|
||||||
|
syn match tapTestNumber /\(ok \)\@<=\d\d*/ contained
|
||||||
|
syn match tapTestLoadMessage /\*\*\*.*\*\*\*/ contained contains=tapTestThreeStars,tapTestFileWithDot
|
||||||
|
syn match tapTestThreeStars /\*\*\*/ contained
|
||||||
|
|
||||||
|
syn region tapTestRegion start=/^ *\(not \)\?ok.*$/me=e+1 end=/^\(\(not \)\?ok\|# Looks like you planned \|All tests successful\|Bailout called\)/me=s-1 fold transparent excludenl
|
||||||
|
syn region tapTestResultsOKRegion start=/^\(All tests successful\|Result: PASS\)/ end=/$/
|
||||||
|
syn region tapTestResultsNotOKRegion start=/^\(# Looks like you planned \|Bailout called\|# Looks like you failed \|Result: FAIL\)/ end=/$/
|
||||||
|
syn region tapTestResultsSummaryRegion start=/^Test Summary Report/ end=/^Files=.*$/ contains=tapTestResultsSummaryHeading,tapTestResultsSummaryNotOK
|
||||||
|
|
||||||
|
syn region tapTestResultsSummaryHeading start=/^Test Summary Report/ end=/^-\+$/ contained
|
||||||
|
syn region tapTestResultsSummaryNotOK start=/TODO passed:/ end=/$/ contained
|
||||||
|
|
||||||
|
syn region tapTestInstructionsRegion start=/\%1l/ end=/^$/
|
||||||
|
|
||||||
|
set foldtext=TAPTestLine_foldtext()
|
||||||
|
function! TAPTestLine_foldtext()
|
||||||
|
let line = getline(v:foldstart)
|
||||||
|
let sub = substitute(line, '/\*\|\*/\|{{{\d\=', '', 'g')
|
||||||
|
return sub
|
||||||
|
endfunction
|
||||||
|
|
||||||
|
set foldminlines=5
|
||||||
|
set foldcolumn=2
|
||||||
|
set foldenable
|
||||||
|
set foldmethod=syntax
|
||||||
|
syn sync fromstart
|
||||||
|
|
||||||
|
if !exists("did_tapverboseoutput_syntax_inits")
|
||||||
|
let did_tapverboseoutput_syntax_inits = 1
|
||||||
|
|
||||||
|
hi tapTestStatusOK term=bold ctermfg=green guifg=Green
|
||||||
|
hi tapTestStatusNotOK term=reverse ctermfg=black ctermbg=red guifg=Black guibg=Red
|
||||||
|
hi tapTestTodo term=bold ctermfg=yellow ctermbg=black guifg=Yellow guibg=Black
|
||||||
|
hi tapTestTodoRev term=reverse ctermfg=black ctermbg=yellow guifg=Black guibg=Yellow
|
||||||
|
hi tapTestSkip term=bold ctermfg=lightblue guifg=LightBlue
|
||||||
|
hi tapTestSkipTag term=reverse ctermfg=black ctermbg=lightblue guifg=Black guibg=LightBlue
|
||||||
|
hi tapTestTime term=bold ctermfg=blue guifg=Blue
|
||||||
|
hi tapTestFile term=reverse ctermfg=black ctermbg=yellow guibg=Black guifg=Yellow
|
||||||
|
hi tapTestLoadedFile term=bold ctermfg=black ctermbg=cyan guibg=Cyan guifg=Black
|
||||||
|
hi tapTestThreeStars term=reverse ctermfg=blue guifg=Blue
|
||||||
|
hi tapTestPlan term=bold ctermfg=yellow guifg=Yellow
|
||||||
|
|
||||||
|
hi link tapTestFileWithDot tapTestLoadedFile
|
||||||
|
hi link tapTestNumber Number
|
||||||
|
hi link tapTestDiag Comment
|
||||||
|
|
||||||
|
hi tapTestRegion ctermbg=green
|
||||||
|
|
||||||
|
hi tapTestResultsOKRegion ctermbg=green ctermfg=black
|
||||||
|
hi tapTestResultsNotOKRegion ctermbg=red ctermfg=black
|
||||||
|
|
||||||
|
hi tapTestResultsSummaryHeading ctermbg=blue ctermfg=white
|
||||||
|
hi tapTestResultsSummaryNotOK ctermbg=red ctermfg=black
|
||||||
|
|
||||||
|
hi tapTestInstructionsRegion ctermbg=lightmagenta ctermfg=black
|
||||||
|
endif
|
||||||
|
|
||||||
|
let b:current_syntax="tapVerboseOutput"
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: TeX
|
" Language: TeX
|
||||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||||
" Last Change: Jan 31, 2017
|
" Last Change: Oct 12, 2017
|
||||||
" Version: 103
|
" Version: 105
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||||
"
|
"
|
||||||
" Notes: {{{1
|
" Notes: {{{1
|
||||||
@@ -259,6 +259,7 @@ syn match texAccent +\\[=^.\~"`']+
|
|||||||
syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+
|
syn match texAccent +\\['=t'.c^ud"vb~Hr]{\a}+
|
||||||
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
||||||
|
|
||||||
|
|
||||||
" \begin{}/\end{} section markers: {{{1
|
" \begin{}/\end{} section markers: {{{1
|
||||||
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
||||||
if s:tex_fast =~# 'm'
|
if s:tex_fast =~# 'm'
|
||||||
@@ -588,12 +589,21 @@ else
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" %begin-include ... %end-include acts like a texDocZone for \include'd files. Permits spell checking, for example, in such files.
|
||||||
|
if !s:tex_nospell
|
||||||
|
TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||||
|
else
|
||||||
|
TexFold syn region texDocZone matchgroup=texSection start='^\s*%begin-include\>' end='^\s*%end-include\>' contains=@texFoldGroup,@texDocGroup
|
||||||
|
endif
|
||||||
|
|
||||||
" Separate lines used for verb` and verb# so that the end conditions {{{1
|
" Separate lines used for verb` and verb# so that the end conditions {{{1
|
||||||
" will appropriately terminate.
|
" will appropriately terminate.
|
||||||
" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
|
" If g:tex_verbspell exists, then verbatim texZones will permit spellchecking there.
|
||||||
if s:tex_fast =~# 'v'
|
if s:tex_fast =~# 'v'
|
||||||
if exists("g:tex_verbspell") && g:tex_verbspell
|
if exists("g:tex_verbspell") && g:tex_verbspell
|
||||||
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
|
syn region texZone start="\\begin{[vV]erbatim}" end="\\end{[vV]erbatim}\|%stopzone\>" contains=@Spell
|
||||||
|
" listings package:
|
||||||
|
syn region texZone start="\\begin{lstlisting}" end="\\end{lstlisting}\|%stopzone\>" contains=@Spell
|
||||||
if b:tex_stylish
|
if b:tex_stylish
|
||||||
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell
|
syn region texZone start="\\verb\*\=\z([^\ta-zA-Z@]\)" end="\z1\|%stopzone\>" contains=@Spell
|
||||||
else
|
else
|
||||||
@@ -1183,11 +1193,13 @@ if has("conceal") && &enc == 'utf-8'
|
|||||||
delfun s:SuperSub
|
delfun s:SuperSub
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Accented characters: {{{2
|
" Accented characters and Ligatures: {{{2
|
||||||
if s:tex_conceal =~# 'a'
|
if s:tex_conceal =~# 'a'
|
||||||
if b:tex_stylish
|
if b:tex_stylish
|
||||||
syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
|
syn match texAccent "\\[bcdvuH][^a-zA-Z@]"me=e-1
|
||||||
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
|
syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)[^a-zA-Z@]"me=e-1
|
||||||
|
syn match texLigature '--'
|
||||||
|
syn match texLigature '---'
|
||||||
else
|
else
|
||||||
fun! s:Accents(chr,...)
|
fun! s:Accents(chr,...)
|
||||||
let i= 1
|
let i= 1
|
||||||
@@ -1257,6 +1269,8 @@ if has("conceal") && &enc == 'utf-8'
|
|||||||
syn match texLigature '\\oe\>' conceal cchar=œ
|
syn match texLigature '\\oe\>' conceal cchar=œ
|
||||||
syn match texLigature '\\OE\>' conceal cchar=Œ
|
syn match texLigature '\\OE\>' conceal cchar=Œ
|
||||||
syn match texLigature '\\ss\>' conceal cchar=ß
|
syn match texLigature '\\ss\>' conceal cchar=ß
|
||||||
|
syn match texLigature '--' conceal cchar=–
|
||||||
|
syn match texLigature '---' conceal cchar=—
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -3,10 +3,10 @@
|
|||||||
" Author: Moriki, Atsushi <4woods+vim@gmail.com>
|
" Author: Moriki, Atsushi <4woods+vim@gmail.com>
|
||||||
" Homepage: http://github.com/vim-perl/vim-perl
|
" Homepage: http://github.com/vim-perl/vim-perl
|
||||||
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
|
||||||
" Last Change: 2013-07-21
|
" Last Change: 2015-04-25
|
||||||
"
|
"
|
||||||
" Instration:
|
" Installation:
|
||||||
" put tt2.vim and tt2html.vim in to your syntax diretory.
|
" put tt2.vim and tt2html.vim in to your syntax directory.
|
||||||
"
|
"
|
||||||
" add below in your filetype.vim.
|
" add below in your filetype.vim.
|
||||||
" au BufNewFile,BufRead *.tt2 setf tt2
|
" au BufNewFile,BufRead *.tt2 setf tt2
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user