mirror of
https://github.com/vim/vim
synced 2025-07-31 10:51:52 +00:00
Compare commits
278 Commits
Author | SHA1 | Date | |
---|---|---|---|
975a880a13 | |||
adc17a5f9d | |||
d8df304c59 | |||
439c036ed0 | |||
11f1ffd182 | |||
9b7cce28d5 | |||
87fda407f8 | |||
fe712ced6e | |||
8f1dde5021 | |||
002bc79991 | |||
3fffa97159 | |||
07188fc5ef | |||
ea563cc22b | |||
e0c3c3d6cb | |||
46cd43bda1 | |||
852ea366d6 | |||
442a85369f | |||
e52702f003 | |||
9155825b24 | |||
30cc44a97f | |||
6b0e528368 | |||
ebacddbc16 | |||
14681627f3 | |||
408c23b079 | |||
59f88fbf24 | |||
fb517bac23 | |||
c5acc0f7fe | |||
cc836556d9 | |||
1e5f8f6d65 | |||
791fb1bcda | |||
441d60efd8 | |||
57f75a5a36 | |||
c17e66c5c0 | |||
3ac498c8a1 | |||
ea6561af92 | |||
5fbf3bc3f9 | |||
48b1c21809 | |||
d6a77f95ee | |||
109aece79d | |||
f9ca08e95f | |||
85629985b7 | |||
e8f5ec0d30 | |||
950587242c | |||
6c9ba04280 | |||
d14fd5285e | |||
2891459b81 | |||
f15c8b6eb3 | |||
f17e7ea67a | |||
ad772a63ec | |||
858ba06d5f | |||
2245ae18e3 | |||
fccd93f091 | |||
494e9069cb | |||
e35a52aee7 | |||
d881b516da | |||
e023e88bed | |||
b10090928c | |||
cfb4b47de0 | |||
aaad995f83 | |||
f09715bc5c | |||
788fbb4707 | |||
5cd1cb9ff9 | |||
928eec649b | |||
ebe9d34aa0 | |||
363d6148df | |||
ca70c07b72 | |||
d6cd5ffade | |||
f4ae6b245a | |||
95da136142 | |||
041c7107f2 | |||
06b7b58455 | |||
367d59e6ba | |||
d5c2c7763d | |||
87be9be1db | |||
a9d4b84d97 | |||
0016fd2e29 | |||
208534d9ae | |||
823654bc06 | |||
6cb0726215 | |||
b42c0d5427 | |||
09307e3bc1 | |||
b60db8ba14 | |||
14798ab9a5 | |||
c998370562 | |||
3f65c66df9 | |||
ca5bc74607 | |||
a55ba06f69 | |||
f4b68e9056 | |||
80a20df86a | |||
388a5d4f20 | |||
fcb0b61d15 | |||
92c098d18e | |||
285b189260 | |||
ebc3de634f | |||
a14e697547 | |||
1919371b2b | |||
25e0f5863e | |||
2eec37926d | |||
45a1508a22 | |||
6ff71d8b7f | |||
f40e51a880 | |||
822ba24743 | |||
f7271e8316 | |||
87202264f8 | |||
9c65253fe7 | |||
3718427ba3 | |||
591cec8366 | |||
c94c1467b9 | |||
9cdcd1d0dc | |||
2e61e2d083 | |||
5a80f8ad5d | |||
98f1671cc0 | |||
4c9243f9fb | |||
74fae513f8 | |||
fe81389d60 | |||
e5886ccb51 | |||
83a52533b2 | |||
d863728913 | |||
eaa3e0dae5 | |||
a09195f29e | |||
74c6963656 | |||
be593bf135 | |||
904e48a22b | |||
37ebd42f16 | |||
88d68de95d | |||
d098b824c1 | |||
1e1d2e89fa | |||
c33b3216c8 | |||
b5383b174b | |||
843700875e | |||
66b3101672 | |||
deb17451ed | |||
a2e408f598 | |||
0b39ec3c7d | |||
6fc3b59ee9 | |||
94d729cbe8 | |||
c4c9f7e43e | |||
df1643a6a7 | |||
9309eb2f28 | |||
2d2970ea59 | |||
f4e16ae041 | |||
d4a5f40c0c | |||
ed37d9b324 | |||
79ea680e6b | |||
e178ba3654 | |||
eb04f0893a | |||
26e86445bf | |||
3b1f18f785 | |||
df671b4629 | |||
6f5b6dfb16 | |||
aa5fc4ec51 | |||
129d6bf6b3 | |||
e75ba268b3 | |||
645e3fe3fe | |||
e882f7a73c | |||
fd615a3c90 | |||
a6e67e4f41 | |||
4457e1d98f | |||
76cb683097 | |||
4aeeb63938 | |||
4dac32caf3 | |||
270d0388d2 | |||
cb7904016e | |||
4902ab16cb | |||
7e6f3fcc3c | |||
227a69de1e | |||
a5d0077efb | |||
32e351179e | |||
e06a28f5e3 | |||
2b72821924 | |||
7e9f351b2e | |||
37d1b4f941 | |||
55ba4b844f | |||
ef6b979bfa | |||
03a9f84817 | |||
d502aa4c10 | |||
06f0853cb0 | |||
47e13953ff | |||
9e6ba8cbef | |||
5aed0ccb96 | |||
48a687148c | |||
c3fd98cf8e | |||
86181df9f5 | |||
b415168a98 | |||
91689ea8ae | |||
5c3128efe6 | |||
aacc6afdb8 | |||
bc38f25c02 | |||
04816717df | |||
cb2bdb1c6d | |||
f163bd5e41 | |||
7e5bd91dc9 | |||
1cc2a94f80 | |||
89483d4043 | |||
69212b11d1 | |||
d695ba732d | |||
3b6a6eb7b4 | |||
09689a0284 | |||
396f3138ca | |||
1c74721233 | |||
7f14155f42 | |||
497f76bfbf | |||
b1062eb23e | |||
a5565e4189 | |||
7d3664df90 | |||
7d131b0715 | |||
5c2fe64443 | |||
cca34aa4be | |||
f0eefce93b | |||
2cfb4a2a72 | |||
6115481053 | |||
0ff5dedf0f | |||
b2d0e51366 | |||
4a070cc82e | |||
ea554ca4fa | |||
61a8981699 | |||
f391586f3f | |||
8a1c101315 | |||
3657686a0e | |||
f821ddaa0c | |||
b68b346e6d | |||
54ed0dff29 | |||
2a1381c305 | |||
40ee466c36 | |||
015f4267f4 | |||
f9ab52e155 | |||
221fcc741a | |||
0e65d3de0a | |||
04b1269783 | |||
80a8d3889b | |||
2fd4cd755c | |||
4515bcdec8 | |||
7779ee30d9 | |||
5125874951 | |||
a38b2b737e | |||
647a530b33 | |||
41d4299f26 | |||
2eaeaf3c31 | |||
3df02f507f | |||
f7779c63d4 | |||
5adc55cb74 | |||
1c0d44f8ef | |||
0b6849e9e3 | |||
01f731e97c | |||
bf67ea1af0 | |||
d58a662f44 | |||
c8cd2b34d1 | |||
37addecc42 | |||
7ceefb35c8 | |||
b84a381c75 | |||
11abd09521 | |||
4cfde1d273 | |||
6ab0953fef | |||
9e175141f3 | |||
6adb9ea0a6 | |||
4e5534fab7 | |||
7f6f56f43c | |||
2c5c1638a9 | |||
88e6cc2539 | |||
a161cb5ddd | |||
8dbafd0790 | |||
512fe833c3 | |||
dfc33a665d | |||
339d60c89b | |||
ed8ce057b7 | |||
939b5db480 | |||
affc8fd2cd | |||
a0a9f43ab2 | |||
7ed8f59ae0 | |||
224a5f17c6 | |||
a14bb7e113 | |||
03afdcf1f4 | |||
909ed7e902 | |||
57700ee4ac | |||
4c17ad94ec | |||
db93495d27 | |||
0e71704b77 | |||
bc970da807 |
@ -13,5 +13,4 @@ freebsd_12_task:
|
||||
- make -j${NPROC}
|
||||
- src/vim --version
|
||||
test_script:
|
||||
# Runtime Indent tests do not work, run only the normal test suite
|
||||
- cd src && make test
|
||||
- make test
|
||||
|
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
2
.github/ISSUE_TEMPLATE/feature_request.md
vendored
@ -8,7 +8,7 @@ labels: enhancement
|
||||
|
||||
_Instructions: Replace the template text and remove irrelevant text (including this line)_
|
||||
|
||||
**Is your feature request related something that is currently hard to do? Please describe.**
|
||||
**Is your feature request about something that is currently impossible or hard to do? Please describe the problem.**
|
||||
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
|
||||
(If it is related to runtime files, please check their header for where to discuss enhancements.)
|
||||
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,6 +5,7 @@ src/xxd/xxd
|
||||
src/auto/if_perl.c
|
||||
src/auto/gui_gtk_gresources.c
|
||||
src/auto/gui_gtk_gresources.h
|
||||
src/auto/os_haiku.rdef
|
||||
src/objects/.dirstamp
|
||||
src/objects
|
||||
src/tags
|
||||
|
20
.travis.yml
20
.travis.yml
@ -11,13 +11,13 @@ _anchors:
|
||||
- &normal
|
||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- &linux-huge
|
||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &osx-huge # macOS build
|
||||
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &unittests
|
||||
BUILD=no TEST=unittests CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
- &asan # ASAN build
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
@ -125,7 +125,12 @@ script:
|
||||
# Append various warning flags to CFLAGS.
|
||||
# BSD sed needs backup extension specified.
|
||||
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
|
||||
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
else
|
||||
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
|
||||
fi
|
||||
make ${SHADOWOPT} -j${NPROC}
|
||||
fi
|
||||
- echo -en "travis_fold:end:build\\r\\033[0K"
|
||||
@ -141,11 +146,10 @@ script:
|
||||
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||
|
||||
|
||||
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
|
||||
# exclude some builds on mac os x and linux
|
||||
# on mac os x "tiny" is always without GUI
|
||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
||||
# Instead of using all environments with both compilers on both systems,
|
||||
# exclude some builds on mac os x and linux.
|
||||
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
|
||||
# Linux: 2 compilers on some of the environments + gcc on os390
|
||||
jobs:
|
||||
include:
|
||||
- <<: *osx
|
||||
|
46
Filelist
46
Filelist
@ -13,6 +13,7 @@ SRC_ALL = \
|
||||
ci/appveyor.bat \
|
||||
ci/if_ver*.vim \
|
||||
ci/load-snd-dummy.sh \
|
||||
ci/config.mk*.sed \
|
||||
src/Make_all.mak \
|
||||
src/README.md \
|
||||
src/alloc.h \
|
||||
@ -128,8 +129,11 @@ SRC_ALL = \
|
||||
src/term.h \
|
||||
src/termlib.c \
|
||||
src/testing.c \
|
||||
src/textformat.c \
|
||||
src/textobject.c \
|
||||
src/textprop.c \
|
||||
src/time.c \
|
||||
src/typval.c \
|
||||
src/ui.c \
|
||||
src/undo.c \
|
||||
src/usercmd.c \
|
||||
@ -153,6 +157,7 @@ SRC_ALL = \
|
||||
src/testdir/*.py \
|
||||
src/testdir/lsan-suppress.txt \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
|
||||
src/testdir/check.vim \
|
||||
src/testdir/gui_init.vim \
|
||||
src/testdir/gui_preinit.vim \
|
||||
@ -168,7 +173,6 @@ SRC_ALL = \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
@ -183,8 +187,6 @@ SRC_ALL = \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/testdir/pyxfile/*.py \
|
||||
src/testdir/bench*.in \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/dumps/*.dump \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/samples/test000 \
|
||||
@ -281,8 +283,11 @@ SRC_ALL = \
|
||||
src/proto/terminal.pro \
|
||||
src/proto/termlib.pro \
|
||||
src/proto/testing.pro \
|
||||
src/proto/textformat.pro \
|
||||
src/proto/textobject.pro \
|
||||
src/proto/textprop.pro \
|
||||
src/proto/time.pro \
|
||||
src/proto/typval.pro \
|
||||
src/proto/ui.pro \
|
||||
src/proto/undo.pro \
|
||||
src/proto/usercmd.pro \
|
||||
@ -299,10 +304,12 @@ SRC_ALL = \
|
||||
src/libvterm/LICENSE \
|
||||
src/libvterm/Makefile \
|
||||
src/libvterm/README \
|
||||
src/libvterm/CONTRIBUTING \
|
||||
src/libvterm/tbl2inc_c.pl \
|
||||
src/libvterm/vterm.pc.in \
|
||||
src/libvterm/doc/URLs \
|
||||
src/libvterm/doc/seqs.txt \
|
||||
src/libvterm/find-wide-chars.pl \
|
||||
src/libvterm/include/vterm.h \
|
||||
src/libvterm/include/vterm_keycodes.h \
|
||||
src/libvterm/src/encoding.c \
|
||||
@ -310,6 +317,7 @@ SRC_ALL = \
|
||||
src/libvterm/src/encoding/DECdrawing.tbl \
|
||||
src/libvterm/src/encoding/uk.inc \
|
||||
src/libvterm/src/encoding/uk.tbl \
|
||||
src/libvterm/src/fullwidth.inc \
|
||||
src/libvterm/src/keyboard.c \
|
||||
src/libvterm/src/mouse.c \
|
||||
src/libvterm/src/parser.c \
|
||||
@ -340,16 +348,18 @@ SRC_ALL = \
|
||||
src/libvterm/t/27state_reset.test \
|
||||
src/libvterm/t/28state_dbl_wh.test \
|
||||
src/libvterm/t/29state_fallback.test \
|
||||
src/libvterm/t/30pen.test \
|
||||
src/libvterm/t/40screen_ascii.test \
|
||||
src/libvterm/t/41screen_unicode.test \
|
||||
src/libvterm/t/42screen_damage.test \
|
||||
src/libvterm/t/43screen_resize.test \
|
||||
src/libvterm/t/44screen_pen.test \
|
||||
src/libvterm/t/45screen_protect.test \
|
||||
src/libvterm/t/46screen_extent.test \
|
||||
src/libvterm/t/47screen_dbl_wh.test \
|
||||
src/libvterm/t/48screen_termprops.test \
|
||||
src/libvterm/t/30state_pen.test \
|
||||
src/libvterm/t/31state_rep.test \
|
||||
src/libvterm/t/32state_flow.test \
|
||||
src/libvterm/t/60screen_ascii.test \
|
||||
src/libvterm/t/61screen_unicode.test \
|
||||
src/libvterm/t/62screen_damage.test \
|
||||
src/libvterm/t/63screen_resize.test \
|
||||
src/libvterm/t/64screen_pen.test \
|
||||
src/libvterm/t/65screen_protect.test \
|
||||
src/libvterm/t/66screen_extent.test \
|
||||
src/libvterm/t/67screen_dbl_wh.test \
|
||||
src/libvterm/t/68screen_termprops.test \
|
||||
src/libvterm/t/90vttest_01-movement-1.test \
|
||||
src/libvterm/t/90vttest_01-movement-2.test \
|
||||
src/libvterm/t/90vttest_01-movement-3.test \
|
||||
@ -409,6 +419,7 @@ SRC_UNIX = \
|
||||
src/gui_gtk_x11.c \
|
||||
src/gui_gtk_res.xml \
|
||||
src/gui_motif.c \
|
||||
src/gui_xim.c \
|
||||
src/gui_xmdlg.c \
|
||||
src/gui_xmebw.c \
|
||||
src/gui_xmebw.h \
|
||||
@ -432,6 +443,7 @@ SRC_UNIX = \
|
||||
src/proto/gui_gtk_x11.pro \
|
||||
src/proto/gui_gtk_gresources.pro \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xim.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
src/proto/if_xcmdsrv.pro \
|
||||
@ -610,7 +622,7 @@ SRC_AMI = \
|
||||
SRC_HAIKU = \
|
||||
README_haiku.txt \
|
||||
src/os_haiku.h \
|
||||
src/os_haiku.rdef \
|
||||
src/os_haiku.rdef.in \
|
||||
src/gui_haiku.cc \
|
||||
src/gui_haiku.h \
|
||||
src/proto/gui_haiku.pro \
|
||||
@ -664,10 +676,6 @@ SRC_EXTRA = \
|
||||
src/Make_mint.mak \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
src/os_beos.c \
|
||||
src/os_beos.h \
|
||||
src/os_beos.rsrc \
|
||||
src/proto/os_beos.pro \
|
||||
src/os_mint.h \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
@ -964,6 +972,8 @@ LANG_GEN = \
|
||||
runtime/doc/*-pl.UTF-8.1 \
|
||||
runtime/doc/*-ru.1 \
|
||||
runtime/doc/*-ru.UTF-8.1 \
|
||||
runtime/doc/*-tr.1 \
|
||||
runtime/doc/*-tr.UTF-8.1 \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/menu_*.vim \
|
||||
runtime/keymap/README.txt \
|
||||
|
@ -10,4 +10,4 @@ software repository HaikuPorts. To get Vim:
|
||||
- Open a Terminal and type "pkgman install vim", then follow instructions.
|
||||
|
||||
If you prefer to install Vim from source, follow the instructions on
|
||||
"runtime/doc/os_haiku.txt", "Compiling Haiku" section.
|
||||
"runtime/doc/os_haiku.txt", "Compiling Vim" section.
|
||||
|
@ -1 +1,2 @@
|
||||
/^RUBY_CFLAGS\b/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
|
||||
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
|
||||
|
@ -1 +1 @@
|
||||
/^CFLAGS\b/s/$/ -Wno-error=maybe-uninitialized/
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=maybe-uninitialized/
|
||||
|
@ -1,2 +1,2 @@
|
||||
/^CFLAGS\b/s/$/ -Wall -Wextra -Wshadow -Werror/
|
||||
/^PERL_CFLAGS\b/s/$/ -Wno-error=unused-function/
|
||||
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
|
||||
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/
|
||||
|
16
runtime/compiler/eslint.vim
Normal file
16
runtime/compiler/eslint.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ESLint for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "eslint"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=eslint\ --format\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
16
runtime/compiler/standard.vim
Normal file
16
runtime/compiler/standard.vim
Normal file
@ -0,0 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Standard for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "standard"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=standard
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
@ -317,7 +317,11 @@ CONVERTED = \
|
||||
evim-ru.UTF-8.1 \
|
||||
vimdiff-ru.UTF-8.1 \
|
||||
vimtutor-ru.UTF-8.1 \
|
||||
xxd-ru.UTF-8.1
|
||||
xxd-ru.UTF-8.1 \
|
||||
vim-tr.UTF-8.1 \
|
||||
evim-tr.UTF-8.1 \
|
||||
vimdiff-tr.UTF-8.1 \
|
||||
vimtutor-tr.UTF-8.1
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .txt .html
|
||||
@ -509,3 +513,15 @@ vimtutor-ru.UTF-8.1: vimtutor-ru.1
|
||||
|
||||
xxd-ru.UTF-8.1: xxd-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
vim-tr.UTF-8.1: vim-tr.1
|
||||
iconv -f latin5 -t utf-8 $< >$@
|
||||
|
||||
evim-tr.UTF-8.1: evim-tr.1
|
||||
iconv -f latin5 -t utf-8 $< >$@
|
||||
|
||||
vimdiff-tr.UTF-8.1: vimdiff-tr.1
|
||||
iconv -f latin5 -t utf-8 $< >$@
|
||||
|
||||
vimtutor-tr.UTF-8.1: vimtutor-tr.1
|
||||
iconv -f latin5 -t utf-8 $< >$@
|
||||
|
@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Apr 11
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Apr 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -996,9 +996,9 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
5. Copying and moving text *copy-move*
|
||||
|
||||
*quote*
|
||||
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
|
||||
or put (use uppercase character to append with
|
||||
delete and yank) ({.%#:} only work with put).
|
||||
"{register} Use {register} for next delete, yank or put. Use
|
||||
an uppercase character to append with delete and yank.
|
||||
Registers ".", "%", "#" and ":" only work with put.
|
||||
|
||||
*:reg* *:registers*
|
||||
:reg[isters] Display the type and contents of all numbered and
|
||||
@ -1688,6 +1688,10 @@ B When joining lines, don't insert a space between two multi-byte
|
||||
characters. Overruled by the 'M' flag.
|
||||
1 Don't break a line after a one-letter word. It's broken before it
|
||||
instead (if possible).
|
||||
] Respect textwidth rigorously. With this flag set, no line can be
|
||||
longer than textwidth, unless line-break-prohibition rules make this
|
||||
impossible. Mainly for CJK scripts and works only if 'encoding' is
|
||||
"utf-8".
|
||||
j Where it makes sense, remove a comment leader when joining lines. For
|
||||
example, joining:
|
||||
int i; // the index ~
|
||||
|
@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Feb 29
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -615,6 +615,7 @@ followed by another Vim command:
|
||||
:tcl
|
||||
:tcldo
|
||||
:tclfile
|
||||
:terminal
|
||||
:vglobal
|
||||
:windo
|
||||
:write !
|
||||
|
@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 22
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 May 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -475,6 +475,9 @@ This edits the same file again with 'fileformat' set to "unix". >
|
||||
:w ++enc=latin1 newfile
|
||||
This writes the current buffer to "newfile" in latin1 format.
|
||||
|
||||
The message given when writing a file will show "[converted]" when
|
||||
'fileencoding' or the value specified with ++enc differs from 'encoding'.
|
||||
|
||||
There may be several ++opt arguments, separated by white space. They must all
|
||||
appear before any |+cmd| argument.
|
||||
|
||||
@ -1079,9 +1082,9 @@ The names can be in upper- or lowercase.
|
||||
|
||||
*:q* *:quit*
|
||||
:q[uit] Quit the current window. Quit Vim if this is the last
|
||||
window. This fails when changes have been made and
|
||||
Vim refuses to |abandon| the current buffer, and when
|
||||
the last file in the argument list has not been
|
||||
|edit-window|. This fails when changes have been made
|
||||
and Vim refuses to |abandon| the current buffer, and
|
||||
when the last file in the argument list has not been
|
||||
edited.
|
||||
If there are other tab pages and quitting the last
|
||||
window in the current tab page the current tab page is
|
||||
@ -1107,18 +1110,22 @@ The names can be in upper- or lowercase.
|
||||
|quickfix|).
|
||||
|
||||
*:wq*
|
||||
:wq [++opt] Write the current file and quit. Writing fails when
|
||||
the file is read-only or the buffer does not have a
|
||||
name. Quitting fails when the last file in the
|
||||
argument list has not been edited.
|
||||
:wq [++opt] Write the current file and close the window. If this
|
||||
was the last |edit-window| Vim quits.
|
||||
Writing fails when the file is read-only or the buffer
|
||||
does not have a name. Quitting fails when the last
|
||||
file in the argument list has not been edited.
|
||||
|
||||
:wq! [++opt] Write the current file and quit. Writing fails when
|
||||
the current buffer does not have a name.
|
||||
:wq! [++opt] Write the current file and close the window. If this
|
||||
was the last |edit-window| Vim quits. Writing fails
|
||||
when the current buffer does not have a name.
|
||||
|
||||
:wq [++opt] {file} Write to {file} and quit. Quitting fails when the
|
||||
:wq [++opt] {file} Write to {file} and close the window. If this was the
|
||||
last |edit-window| Vim quits. Quitting fails when the
|
||||
last file in the argument list has not been edited.
|
||||
|
||||
:wq! [++opt] {file} Write to {file} and quit.
|
||||
:wq! [++opt] {file} Write to {file} and close the current window. Quit
|
||||
Vim if this was the last |edit-window|.
|
||||
|
||||
:[range]wq[!] [++opt] [file]
|
||||
Same as above, but only write the lines in [range].
|
||||
@ -1135,10 +1142,10 @@ The names can be in upper- or lowercase.
|
||||
Same as :xit.
|
||||
|
||||
*ZZ*
|
||||
ZZ Write current file, if modified, and quit (same as
|
||||
":x"). (Note: If there are several windows for the
|
||||
current file, the file is written if it was modified
|
||||
and the window is closed).
|
||||
ZZ Write current file, if modified, and close the current
|
||||
window (same as ":x").
|
||||
If there are several windows for the current file,
|
||||
only the current window is closed.
|
||||
|
||||
*ZQ*
|
||||
ZQ Quit without checking for changes (same as ":q!").
|
||||
@ -1319,6 +1326,10 @@ present in 'cpoptions' and "!" is not used in the command.
|
||||
*:tch* *:tchdir*
|
||||
:tch[dir][!] Same as |:tcd|.
|
||||
|
||||
*:tcd-*
|
||||
:tcd[!] - Change to the previous current directory, before the
|
||||
last ":tcd {path}" command.
|
||||
|
||||
*:lc* *:lcd*
|
||||
:lc[d][!] {path} Like |:cd|, but only set the current directory when
|
||||
the cursor is in the current window. The current
|
||||
@ -1328,9 +1339,28 @@ present in 'cpoptions' and "!" is not used in the command.
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:lcd-*
|
||||
:lcd[!] - Change to the previous current directory, before the
|
||||
last ":lcd {path}" command.
|
||||
|
||||
*:pw* *:pwd* *E187*
|
||||
:pw[d] Print the current directory name.
|
||||
Also see |getcwd()|.
|
||||
*:pwd-verbose*
|
||||
When 'verbose' is non-zero, |:pwd| will also display
|
||||
what scope the current directory was set. Example: >
|
||||
|
||||
" Set by :cd
|
||||
:verbose pwd
|
||||
[global] /path/to/current
|
||||
|
||||
" Set by :lcd
|
||||
:verbose pwd
|
||||
[window] /path/to/current
|
||||
|
||||
" Set by :tcd
|
||||
:verbose pwd
|
||||
[tabpage] /path/to/current
|
||||
|
||||
So long as no |:lcd| or |:tcd| command has been used, all windows share the
|
||||
same current directory. Using a command to jump to another window doesn't
|
||||
|
@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -95,15 +95,17 @@ the Number. Examples:
|
||||
Number -1 --> String "-1" ~
|
||||
*octal*
|
||||
Conversion from a String to a Number is done by converting the first digits to
|
||||
a number. Hexadecimal "0xf9", Octal "017", and Binary "0b10" numbers are
|
||||
recognized (NOTE: when using |scriptversion-4| octal is not recognized). If
|
||||
the String doesn't start with digits, the result is zero.
|
||||
a number. Hexadecimal "0xf9", Octal "017" or "0o17", and Binary "0b10"
|
||||
numbers are recognized (NOTE: when using |scriptversion-4| octal with a
|
||||
leading "0" is not recognized). If the String doesn't start with digits, the
|
||||
result is zero.
|
||||
Examples:
|
||||
String "456" --> Number 456 ~
|
||||
String "6bar" --> Number 6 ~
|
||||
String "foo" --> Number 0 ~
|
||||
String "0xf1" --> Number 241 ~
|
||||
String "0100" --> Number 64 ~
|
||||
String "0o100" --> Number 64 ~
|
||||
String "0b101" --> Number 5 ~
|
||||
String "-8" --> Number -8 ~
|
||||
String "+8" --> Number 0 ~
|
||||
@ -584,6 +586,8 @@ adict.
|
||||
Weeding out entries from a Dictionary can be done with |filter()|: >
|
||||
:call filter(dict, 'v:val =~ "x"')
|
||||
This removes all entries from "dict" with a value not matching 'x'.
|
||||
This can also be used to remove all entries: >
|
||||
call filter(dict, 0)
|
||||
|
||||
|
||||
Dictionary function ~
|
||||
@ -1262,7 +1266,7 @@ number number constant *expr-number*
|
||||
*hex-number* *octal-number* *binary-number*
|
||||
|
||||
Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
|
||||
and Octal (starting with 0).
|
||||
and Octal (starting with 0, 0o or 0O).
|
||||
|
||||
*floating-point-format*
|
||||
Floating point numbers can be written in two forms:
|
||||
@ -1351,6 +1355,9 @@ A string constant accepts these special characters:
|
||||
To use the double quote character it must be escaped: "<M-\">".
|
||||
Don't use <Char-xxxx> to get a utf-8 character, use \uxxxx as
|
||||
mentioned above.
|
||||
\<*xxx> Like \<xxx> but prepends a modifier instead of including it in the
|
||||
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four
|
||||
bytes: 3 for the CTRL modifier and then character "W".
|
||||
|
||||
Note that "\xff" is stored as the byte 255, which may be invalid in some
|
||||
encodings. Use "\u00ff" to store character 255 according to the current value
|
||||
@ -1485,7 +1492,7 @@ the function returns: >
|
||||
:echo Bar(6)
|
||||
< 5
|
||||
|
||||
Note that the variables must exist in the outer scope before the lamba is
|
||||
Note that the variables must exist in the outer scope before the lambda is
|
||||
defined for this to work. See also |:func-closure|.
|
||||
|
||||
Lambda and closure support can be checked with: >
|
||||
@ -2317,11 +2324,12 @@ argidx() Number current index in the argument list
|
||||
arglistid([{winnr} [, {tabnr}]]) Number argument list id
|
||||
argv({nr} [, {winid}]) String {nr} entry of the argument list
|
||||
argv([-1, {winid}]) List the argument list
|
||||
asin({expr}) Float arc sine of {expr}
|
||||
assert_beeps({cmd}) Number assert {cmd} causes a beep
|
||||
assert_equal({exp}, {act} [, {msg}])
|
||||
Number assert {exp} is equal to {act}
|
||||
assert_equalfile({fname-one}, {fname-two})
|
||||
Number assert file contents is equal
|
||||
assert_equalfile({fname-one}, {fname-two} [, {msg}])
|
||||
Number assert file contents are equal
|
||||
assert_exception({error} [, {msg}])
|
||||
Number assert {error} is in v:exception
|
||||
assert_fails({cmd} [, {error} [, {msg}]])
|
||||
@ -2338,7 +2346,6 @@ assert_notmatch({pat}, {text} [, {msg}])
|
||||
Number assert {pat} not matches {text}
|
||||
assert_report({msg}) Number report a test failure
|
||||
assert_true({actual} [, {msg}]) Number assert {actual} is true
|
||||
asin({expr}) Float arc sine of {expr}
|
||||
atan({expr}) Float arc tangent of {expr}
|
||||
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
|
||||
balloon_gettext() String current text in the balloon
|
||||
@ -2429,12 +2436,12 @@ executable({expr}) Number 1 if executable {expr} exists
|
||||
execute({command}) String execute {command} and get the output
|
||||
exepath({expr}) String full path of the command {expr}
|
||||
exists({expr}) Number |TRUE| if {expr} exists
|
||||
extend({expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
exp({expr}) Float exponential of {expr}
|
||||
expand({expr} [, {nosuf} [, {list}]])
|
||||
any expand special keywords in {expr}
|
||||
expandcmd({expr}) String expand {expr} like with `:edit`
|
||||
extend({expr1}, {expr2} [, {expr3}])
|
||||
List/Dict insert items of {expr2} into {expr1}
|
||||
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
|
||||
filereadable({file}) Number |TRUE| if {file} is a readable file
|
||||
filewritable({file}) Number |TRUE| if {file} is a writable file
|
||||
@ -2492,6 +2499,7 @@ getjumplist([{winnr} [, {tabnr}]])
|
||||
getline({lnum}) String line {lnum} of current buffer
|
||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||
getloclist({nr} [, {what}]) List list of location list items
|
||||
getmarklist([{expr}]) List list of global/local marks
|
||||
getmatches([{win}]) List list of current matches
|
||||
getmousepos() Dict last known mouse position
|
||||
getpid() Number process ID of Vim
|
||||
@ -2528,8 +2536,8 @@ histadd({history}, {item}) Number add an item to a history
|
||||
histdel({history} [, {item}]) Number remove an item from a history
|
||||
histget({history} [, {index}]) String get the item {index} from a history
|
||||
histnr({history}) Number highest index of a history
|
||||
hlexists({name}) Number |TRUE| if highlight group {name} exists
|
||||
hlID({name}) Number syntax ID of highlight group {name}
|
||||
hlexists({name}) Number |TRUE| if highlight group {name} exists
|
||||
hostname() String name of the machine Vim is running on
|
||||
iconv({expr}, {from}, {to}) String convert encoding of {expr}
|
||||
indent({lnum}) Number indent of line {lnum}
|
||||
@ -2586,6 +2594,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
|
||||
rhs of mapping {name} in mode {mode}
|
||||
mapcheck({name} [, {mode} [, {abbr}]])
|
||||
String check for mappings matching {name}
|
||||
mapset({mode}, {abbr}, {dict})
|
||||
none restore mapping from |maparg()| result
|
||||
match({expr}, {pat} [, {start} [, {count}]])
|
||||
Number position where {pat} matches in {expr}
|
||||
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
|
||||
@ -2627,14 +2637,16 @@ popup_findpreview() Number get window ID of preview popup window
|
||||
popup_getoptions({id}) Dict get options of popup window {id}
|
||||
popup_getpos({id}) Dict get position of popup window {id}
|
||||
popup_hide({id}) none hide popup menu {id}
|
||||
popup_list() List get a list of window IDs of all popups
|
||||
popup_locate({row}, {col}) Number get window ID of popup at position
|
||||
popup_menu({what}, {options}) Number create a popup window used as a menu
|
||||
popup_move({id}, {options}) none set position of popup window {id}
|
||||
popup_notification({what}, {options})
|
||||
Number create a notification popup window
|
||||
popup_show({id}) none unhide popup window {id}
|
||||
popup_setoptions({id}, {options})
|
||||
none set options for popup window {id}
|
||||
popup_settext({id}, {text}) none set the text of popup window {id}
|
||||
popup_show({id}) none unhide popup window {id}
|
||||
pow({x}, {y}) Float {x} to the power of {y}
|
||||
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
|
||||
printf({fmt}, {expr1}...) String format text
|
||||
@ -2646,7 +2658,7 @@ prop_clear({lnum} [, {lnum-end} [, {props}]])
|
||||
none remove all text properties
|
||||
prop_find({props} [, {direction}])
|
||||
Dict search for a text property
|
||||
prop_list({lnum} [, {props}) List text properties in {lnum}
|
||||
prop_list({lnum} [, {props}]) List text properties in {lnum}
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
Number remove a text property
|
||||
prop_type_add({name}, {props}) none define a new property type
|
||||
@ -2654,20 +2666,23 @@ prop_type_change({name}, {props})
|
||||
none change an existing property type
|
||||
prop_type_delete({name} [, {props}])
|
||||
none delete a property type
|
||||
prop_type_get([{name} [, {props}])
|
||||
prop_type_get([{name} [, {props}]])
|
||||
Dict get property type values
|
||||
prop_type_list([{props}]) List get list of property types
|
||||
pum_getpos() Dict position and size of pum if visible
|
||||
pumvisible() Number whether popup menu is visible
|
||||
pyeval({expr}) any evaluate |Python| expression
|
||||
py3eval({expr}) any evaluate |python3| expression
|
||||
pyeval({expr}) any evaluate |Python| expression
|
||||
pyxeval({expr}) any evaluate |python_x| expression
|
||||
rand([{expr}]) Number get pseudo-random number
|
||||
range({expr} [, {max} [, {stride}]])
|
||||
List items from {expr} to {max}
|
||||
readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
|
||||
readdirex({dir} [, {expr}]) List file info in {dir} selected by {expr}
|
||||
readfile({fname} [, {type} [, {max}]])
|
||||
List get list of lines from file {fname}
|
||||
reduce({object}, {func} [, {initial}])
|
||||
any reduce {object} using {func}
|
||||
reg_executing() String get the executing register name
|
||||
reg_recording() String get the recording register name
|
||||
reltime([{start} [, {end}]]) List get time value
|
||||
@ -2701,15 +2716,16 @@ screencol() Number current cursor column
|
||||
screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
|
||||
screenrow() Number current cursor row
|
||||
screenstring({row}, {col}) String characters at screen position
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Number search for {pattern}
|
||||
searchcount([{options}]) Dict get or update search stats
|
||||
searchdecl({name} [, {global} [, {thisblock}]])
|
||||
Number search for variable declaration
|
||||
searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
|
||||
Number search for other end of start/end pair
|
||||
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
|
||||
List search for other end of start/end pair
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
List search for {pattern}
|
||||
server2client({clientid}, {string})
|
||||
Number send reply string
|
||||
@ -2783,9 +2799,9 @@ str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
ASCII/UTF8 value
|
||||
str2nr({expr} [, {base} [, {quoted}]])
|
||||
Number convert String to Number
|
||||
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||
strcharpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
|
||||
strftime({format} [, {time}]) String format time with a specified format
|
||||
strgetchar({str}, {index}) Number get char {index} from {str}
|
||||
@ -2818,8 +2834,8 @@ systemlist({expr} [, {input}]) List output of shell command/filter {expr}
|
||||
tabpagebuflist([{arg}]) List list of buffer numbers in tab page
|
||||
tabpagenr([{arg}]) Number number of current or last tab page
|
||||
tabpagewinnr({tabarg} [, {arg}]) Number number of current window in tab page
|
||||
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
||||
tagfiles() List tags files used
|
||||
taglist({expr} [, {filename}]) List list of tags matching {expr}
|
||||
tan({expr}) Float tangent of {expr}
|
||||
tanh({expr}) Float hyperbolic tangent of {expr}
|
||||
tempname() String name for a temporary file
|
||||
@ -2843,9 +2859,9 @@ term_gettty({buf}, [{input}]) String get the tty name of a terminal
|
||||
term_list() List get the list of terminal buffers
|
||||
term_scrape({buf}, {row}) List get row of a terminal screen
|
||||
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
|
||||
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
|
||||
term_setansicolors({buf}, {colors})
|
||||
none set ANSI palette in GUI color mode
|
||||
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
|
||||
term_setkill({buf}, {how}) none set signal to stop job in terminal
|
||||
term_setrestore({buf}, {command}) none set command to restore terminal
|
||||
term_setsize({buf}, {rows}, {cols})
|
||||
@ -2868,16 +2884,16 @@ test_null_job() Job null value for testing
|
||||
test_null_list() List null value for testing
|
||||
test_null_partial() Funcref null value for testing
|
||||
test_null_string() String null value for testing
|
||||
test_unknown() any unknown value for testing
|
||||
test_void() any void value for testing
|
||||
test_option_not_set({name}) none reset flag indicating option was set
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_refcount({expr}) Number get the reference count of {expr}
|
||||
test_scrollbar({which}, {value}, {dragging})
|
||||
none scroll in the GUI for testing
|
||||
test_setmouse({row}, {col}) none set the mouse position for testing
|
||||
test_srand_seed([seed]) none set seed for testing srand()
|
||||
test_settime({expr}) none set current time for testing
|
||||
test_srand_seed([seed]) none set seed for testing srand()
|
||||
test_unknown() any unknown value for testing
|
||||
test_void() any void value for testing
|
||||
timer_info([{id}]) List information about timers
|
||||
timer_pause({id}, {pause}) none pause or unpause a timer
|
||||
timer_start({time}, {callback} [, {options}])
|
||||
@ -2888,7 +2904,8 @@ tolower({expr}) String the String {expr} switched to lowercase
|
||||
toupper({expr}) String the String {expr} switched to uppercase
|
||||
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
|
||||
to chars in {tostr}
|
||||
trim({text} [, {mask}]) String trim characters in {mask} from {text}
|
||||
trim({text} [, {mask} [, {dir}]])
|
||||
String trim characters in {mask} from {text}
|
||||
trunc({expr}) Float truncate Float {expr}
|
||||
type({name}) Number type of variable {name}
|
||||
undofile({name}) String undo file name for {name}
|
||||
@ -2912,6 +2929,7 @@ win_splitmove({nr}, {target} [, {options}])
|
||||
Number move window {nr} to split of {target}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
windowsversion() String MS-Windows OS version
|
||||
winheight({nr}) Number height of window {nr}
|
||||
winlayout([{tabnr}]) List layout of windows in tab {tabnr}
|
||||
winline() Number window line of the cursor
|
||||
@ -3050,7 +3068,7 @@ arglistid([{winnr} [, {tabnr}]])
|
||||
{winnr} can be the window number or the |window-ID|.
|
||||
|
||||
*argv()*
|
||||
argv([{nr} [, {winid}])
|
||||
argv([{nr} [, {winid}]])
|
||||
The result is the {nr}th file in the argument list. See
|
||||
|arglist|. "argv(0)" is the first one. Example: >
|
||||
:let i = 0
|
||||
@ -4027,7 +4045,7 @@ executable({expr}) *executable()*
|
||||
On MS-Windows the ".exe", ".bat", etc. can optionally be
|
||||
included. Then the extensions in $PATHEXT are tried. Thus if
|
||||
"foo.exe" does not exist, "foo.exe.bat" can be found. If
|
||||
$PATHEXT is not set then ".exe;.com;.bat;.cmd" is used. A dot
|
||||
$PATHEXT is not set then ".com;.exe;.bat;.cmd" is used. A dot
|
||||
by itself can be used in $PATHEXT to try using the name
|
||||
without an extension. When 'shell' looks like a Unix shell,
|
||||
then the name is also tried without adding an extension.
|
||||
@ -4378,7 +4396,7 @@ feedkeys({string} [, {mode}]) *feedkeys()*
|
||||
script continues.
|
||||
Note that if you manage to call feedkeys() while
|
||||
executing commands, thus calling it recursively, then
|
||||
all typehead will be consumed by the last call.
|
||||
all typeahead will be consumed by the last call.
|
||||
'!' When used with 'x' will not end Insert mode. Can be
|
||||
used in a test when a timer is set to exit Insert mode
|
||||
a little later. Useful for testing CursorHoldI.
|
||||
@ -4414,7 +4432,7 @@ filewritable({file}) *filewritable()*
|
||||
directory, and we can write to it, the result is 2.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetName()->filewriteable()
|
||||
GetName()->filewritable()
|
||||
|
||||
|
||||
filter({expr1}, {expr2}) *filter()*
|
||||
@ -5355,6 +5373,27 @@ getloclist({nr} [, {what}]) *getloclist()*
|
||||
|location-list-file-window| for more
|
||||
details.
|
||||
|
||||
getmarklist([{expr}] *getmarklist()*
|
||||
Without the {expr} argument returns a |List| with information
|
||||
about all the global marks. |mark|
|
||||
|
||||
If the optional {expr} argument is specified, returns the
|
||||
local marks defined in buffer {expr}. For the use of {expr},
|
||||
see |bufname()|.
|
||||
|
||||
Each item in the retuned List is a |Dict| with the following:
|
||||
name - name of the mark prefixed by "'"
|
||||
pos - a |List| with the position of the mark:
|
||||
[bufnum, lnum, col, off]
|
||||
Refer to |getpos()| for more information.
|
||||
file - file name
|
||||
|
||||
Refer to |getpos()| for getting information about a specific
|
||||
mark.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetBufnr()->getmarklist()
|
||||
|
||||
getmatches([{win}]) *getmatches()*
|
||||
Returns a |List| with all matches previously defined for the
|
||||
current window by |matchadd()| and the |:match| commands.
|
||||
@ -5394,7 +5433,7 @@ getmousepos() *getmousepos()*
|
||||
"screenrow" and "screencol" are valid, the others are zero.
|
||||
|
||||
When on the status line below a window or the vertical
|
||||
separater right of a window, the "line" and "column" values
|
||||
separator right of a window, the "line" and "column" values
|
||||
are zero.
|
||||
|
||||
When the position is after the text then "column" is the
|
||||
@ -5477,8 +5516,9 @@ getqflist([{what}]) *getqflist()*
|
||||
id get information for the quickfix list with
|
||||
|quickfix-ID|; zero means the id for the
|
||||
current list or the list specified by "nr"
|
||||
idx index of the current entry in the quickfix
|
||||
list specified by 'id' or 'nr'.
|
||||
idx get information for the quickfix entry at this
|
||||
index in the list specified by 'id' or 'nr'.
|
||||
If set to zero, then uses the current entry.
|
||||
See |quickfix-index|
|
||||
items quickfix list entries
|
||||
lines parse a list of lines using 'efm' and return
|
||||
@ -5514,7 +5554,7 @@ getqflist([{what}]) *getqflist()*
|
||||
If not present, set to "".
|
||||
id quickfix list ID |quickfix-ID|. If not
|
||||
present, set to 0.
|
||||
idx index of the current entry in the list. If not
|
||||
idx index of the quickfix entry in the list. If not
|
||||
present, set to 0.
|
||||
items quickfix list entries. If not present, set to
|
||||
an empty list.
|
||||
@ -5854,7 +5894,7 @@ has({feature} [, {check}])
|
||||
|
||||
Note that to skip code that has a syntax error when the
|
||||
feature is not available, Vim may skip the rest of the line
|
||||
and miss a following `endif`. Therfore put the `endif` on a
|
||||
and miss a following `endif`. Therefore put the `endif` on a
|
||||
separate line: >
|
||||
if has('feature')
|
||||
let x = this->breaks->without->the->feature
|
||||
@ -6792,6 +6832,7 @@ map({expr1}, {expr2}) *map()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->map(expr2)
|
||||
|
||||
|
||||
maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
When {dict} is omitted or zero: Return the rhs of mapping
|
||||
{name} in mode {mode}. The returned String has special
|
||||
@ -6824,7 +6865,10 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
When {dict} is there and it is |TRUE| return a dictionary
|
||||
containing all the information of the mapping with the
|
||||
following items:
|
||||
"lhs" The {lhs} of the mapping.
|
||||
"lhs" The {lhs} of the mapping as it would be typed
|
||||
"lhsraw" The {lhs} of the mapping as raw bytes
|
||||
"lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
|
||||
form, only present when it differs from "lhsraw"
|
||||
"rhs" The {rhs} of the mapping as typed.
|
||||
"silent" 1 for a |:map-silent| mapping, else 0.
|
||||
"noremap" 1 if the {rhs} of the mapping is not remappable.
|
||||
@ -6843,6 +6887,9 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
"nowait" Do not wait for other, longer mappings.
|
||||
(|:map-<nowait>|).
|
||||
|
||||
The dictionary can be used to restore a mapping with
|
||||
|mapset()|.
|
||||
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
This function can be used to map a key even when it's already
|
||||
@ -6888,6 +6935,23 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
|
||||
Can also be used as a |method|: >
|
||||
GetKey()->mapcheck('n')
|
||||
|
||||
|
||||
mapset({mode}, {abbr}, {dict}) *mapset()*
|
||||
Restore a mapping from a dictionary returned by |maparg()|.
|
||||
{mode} and {abbr} should be the same as for the call to
|
||||
|maparg()|. *E460*
|
||||
{mode} is used to define the mode in which the mapping is set,
|
||||
not the "mode" entry in {dict}.
|
||||
Example for saving and restoring a mapping: >
|
||||
let save_map = maparg('K', 'n', 0, 1)
|
||||
nnoremap K somethingelse
|
||||
...
|
||||
call mapset('n', 0, save_map)
|
||||
< Note that if you are going to replace a map in several modes,
|
||||
e.g. with `:map!`, you need to save the mapping for all of
|
||||
them, since they can differ.
|
||||
|
||||
|
||||
match({expr}, {pat} [, {start} [, {count}]]) *match()*
|
||||
When {expr} is a |List| then this returns the index of the
|
||||
first item where {pat} matches. Each item is used as a
|
||||
@ -7782,11 +7846,11 @@ rand([{expr}]) *rand()* *random*
|
||||
:echo rand(seed)
|
||||
:echo rand(seed) % 16 " random number 0 - 15
|
||||
<
|
||||
*readdir()*
|
||||
readdir({directory} [, {expr}])
|
||||
readdir({directory} [, {expr}]) *readdir()*
|
||||
Return a list with file and directory names in {directory}.
|
||||
You can also use |glob()| if you don't need to do complicated
|
||||
things, such as limiting the number of matches.
|
||||
The list will be sorted (case sensitive).
|
||||
|
||||
When {expr} is omitted all entries are included.
|
||||
When {expr} is given, it is evaluated to check what to do:
|
||||
@ -7796,6 +7860,7 @@ readdir({directory} [, {expr}])
|
||||
added to the list.
|
||||
If {expr} results in 1 then this entry will be added
|
||||
to the list.
|
||||
The entries "." and ".." are always excluded.
|
||||
Each time {expr} is evaluated |v:val| is set to the entry name.
|
||||
When {expr} is a function the name is passed as the argument.
|
||||
For example, to get a list of files ending in ".txt": >
|
||||
@ -7813,6 +7878,59 @@ readdir({directory} [, {expr}])
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetDirName()->readdir()
|
||||
<
|
||||
readdirex({directory} [, {expr}]) *readdirex()*
|
||||
Extended version of |readdir()|.
|
||||
Return a list of Dictionaries with file and directory
|
||||
information in {directory}.
|
||||
This is useful if you want to get the attributes of file and
|
||||
directory at the same time as getting a list of a directory.
|
||||
This is much faster than calling |readdir()| then calling
|
||||
|getfperm()|, |getfsize()|, |getftime()| and |getftype()| for
|
||||
each file and directory especially on MS-Windows.
|
||||
The list will be sorted by name (case sensitive).
|
||||
|
||||
The Dictionary for file and directory information has the
|
||||
following items:
|
||||
group Group name of the entry. (Only on Unix)
|
||||
name Name of the entry.
|
||||
perm Permissions of the entry. See |getfperm()|.
|
||||
size Size of the entry. See |getfsize()|.
|
||||
time Timestamp of the entry. See |getftime()|.
|
||||
type Type of the entry.
|
||||
On Unix, almost same as |getftype()| except:
|
||||
Symlink to a dir "linkd"
|
||||
Other symlink "link"
|
||||
On MS-Windows:
|
||||
Normal file "file"
|
||||
Directory "dir"
|
||||
Junction "junction"
|
||||
Symlink to a dir "linkd"
|
||||
Other symlink "link"
|
||||
Other reparse point "reparse"
|
||||
user User name of the entry's owner. (Only on Unix)
|
||||
On Unix, if the entry is a symlink, the Dictionary includes
|
||||
the information of the target (except the "type" item).
|
||||
On MS-Windows, it includes the information of the symlink
|
||||
itself because of performance reasons.
|
||||
|
||||
When {expr} is omitted all entries are included.
|
||||
When {expr} is given, it is evaluated to check what to do:
|
||||
If {expr} results in -1 then no further entries will
|
||||
be handled.
|
||||
If {expr} results in 0 then this entry will not be
|
||||
added to the list.
|
||||
If {expr} results in 1 then this entry will be added
|
||||
to the list.
|
||||
The entries "." and ".." are always excluded.
|
||||
Each time {expr} is evaluated |v:val| is set to a Dictionary
|
||||
of the entry.
|
||||
When {expr} is a function the entry is passed as the argument.
|
||||
For example, to get a list of files ending in ".txt": >
|
||||
readdirex(dirname, {e -> e.name =~ '.txt$'})
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetDirName()->readdirex()
|
||||
<
|
||||
*readfile()*
|
||||
readfile({fname} [, {type} [, {max}]])
|
||||
@ -7851,6 +7969,26 @@ readfile({fname} [, {type} [, {max}]])
|
||||
Can also be used as a |method|: >
|
||||
GetFileName()->readfile()
|
||||
|
||||
reduce({object}, {func} [, {initial}]) *reduce()* *E998*
|
||||
{func} is called for every item in {object}, which can be a
|
||||
|List| or a |Blob|. {func} is called with two arguments: the
|
||||
result so far and current item. After processing all items
|
||||
the result is returned.
|
||||
|
||||
{initial} is the initial result. When omitted, the first item
|
||||
in {object} is used and {func} is first called for the second
|
||||
item. If {initial} is not given and {object} is empty no
|
||||
result can be computed, an E998 error is given.
|
||||
|
||||
Examples: >
|
||||
echo reduce([1, 3, 5], { acc, val -> acc + val })
|
||||
echo reduce(['x', 'y'], { acc, val -> acc .. val }, 'a')
|
||||
echo reduce(0z1122, { acc, val -> 2 * acc + val })
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
echo mylist->reduce({ acc, val -> acc + val }, 0)
|
||||
|
||||
|
||||
reg_executing() *reg_executing()*
|
||||
Returns the single letter name of the register being executed.
|
||||
Returns an empty string when no register is being executed.
|
||||
@ -8226,8 +8364,9 @@ screenstring({row}, {col}) *screenstring()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetRow()->screenstring(col)
|
||||
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
<
|
||||
*search()*
|
||||
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Search for regexp pattern {pattern}. The search starts at the
|
||||
cursor position (you can use |cursor()| to set it).
|
||||
|
||||
@ -8275,6 +8414,15 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
giving the argument.
|
||||
{only available when compiled with the |+reltime| feature}
|
||||
|
||||
If the {skip} expression is given it is evaluated with the
|
||||
cursor positioned on the start of a match. If it evaluates to
|
||||
non-zero this match is skipped. This can be used, for
|
||||
example, to skip a match in a comment or a string.
|
||||
{skip} can be a string, which is evaluated as an expression, a
|
||||
function reference or a lambda.
|
||||
When {skip} is omitted or empty, every match is accepted.
|
||||
When evaluating {skip} causes an error the search is aborted
|
||||
and -1 returned.
|
||||
*search()-sub-match*
|
||||
With the 'p' flag the returned value is one more than the
|
||||
first sub-match in \(\). One if none of them matched but the
|
||||
@ -8316,6 +8464,128 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
Can also be used as a |method|: >
|
||||
GetPattern()->search()
|
||||
|
||||
searchcount([{options}]) *searchcount()*
|
||||
Get or update the last search count, like what is displayed
|
||||
without the "S" flag in 'shortmess'. This works even if
|
||||
'shortmess' does contain the "S" flag.
|
||||
|
||||
This returns a Dictionary. The dictionary is empty if the
|
||||
previous pattern was not set and "pattern" was not specified.
|
||||
|
||||
key type meaning ~
|
||||
current |Number| current position of match;
|
||||
0 if the cursor position is
|
||||
before the first match
|
||||
exact_match |Boolean| 1 if "current" is matched on
|
||||
"pos", otherwise 0
|
||||
total |Number| total count of matches found
|
||||
incomplete |Number| 0: search was fully completed
|
||||
1: recomputing was timed out
|
||||
2: max count exceeded
|
||||
|
||||
For {options} see further down.
|
||||
|
||||
To get the last search count when |n| or |N| was pressed, call
|
||||
this function with `recompute: 0` . This sometimes returns
|
||||
wrong information because |n| and |N|'s maximum count is 99.
|
||||
If it exceeded 99 the result must be max count + 1 (100). If
|
||||
you want to get correct information, specify `recompute: 1`: >
|
||||
|
||||
" result == maxcount + 1 (100) when many matches
|
||||
let result = searchcount(#{recompute: 0})
|
||||
|
||||
" Below returns correct result (recompute defaults
|
||||
" to 1)
|
||||
let result = searchcount()
|
||||
<
|
||||
The function is useful to add the count to |statusline|: >
|
||||
function! LastSearchCount() abort
|
||||
let result = searchcount(#{recompute: 0})
|
||||
if empty(result)
|
||||
return ''
|
||||
endif
|
||||
if result.incomplete ==# 1 " timed out
|
||||
return printf(' /%s [?/??]', @/)
|
||||
elseif result.incomplete ==# 2 " max count exceeded
|
||||
if result.total > result.maxcount &&
|
||||
\ result.current > result.maxcount
|
||||
return printf(' /%s [>%d/>%d]', @/,
|
||||
\ result.current, result.total)
|
||||
elseif result.total > result.maxcount
|
||||
return printf(' /%s [%d/>%d]', @/,
|
||||
\ result.current, result.total)
|
||||
endif
|
||||
endif
|
||||
return printf(' /%s [%d/%d]', @/,
|
||||
\ result.current, result.total)
|
||||
endfunction
|
||||
let &statusline .= '%{LastSearchCount()}'
|
||||
|
||||
" Or if you want to show the count only when
|
||||
" 'hlsearch' was on
|
||||
" let &statusline .=
|
||||
" \ '%{v:hlsearch ? LastSearchCount() : ""}'
|
||||
<
|
||||
You can also update the search count, which can be useful in a
|
||||
|CursorMoved| or |CursorMovedI| autocommand: >
|
||||
|
||||
autocmd CursorMoved,CursorMovedI *
|
||||
\ let s:searchcount_timer = timer_start(
|
||||
\ 200, function('s:update_searchcount'))
|
||||
function! s:update_searchcount(timer) abort
|
||||
if a:timer ==# s:searchcount_timer
|
||||
call searchcount(#{
|
||||
\ recompute: 1, maxcount: 0, timeout: 100})
|
||||
redrawstatus
|
||||
endif
|
||||
endfunction
|
||||
<
|
||||
This can also be used to count matched texts with specified
|
||||
pattern in the current buffer using "pattern": >
|
||||
|
||||
" Count '\<foo\>' in this buffer
|
||||
" (Note that it also updates search count)
|
||||
let result = searchcount(#{pattern: '\<foo\>'})
|
||||
|
||||
" To restore old search count by old pattern,
|
||||
" search again
|
||||
call searchcount()
|
||||
<
|
||||
{options} must be a Dictionary. It can contain:
|
||||
key type meaning ~
|
||||
recompute |Boolean| if |TRUE|, recompute the count
|
||||
like |n| or |N| was executed.
|
||||
otherwise returns the last
|
||||
computed result (when |n| or
|
||||
|N| was used when "S" is not
|
||||
in 'shortmess', or this
|
||||
function was called).
|
||||
(default: |TRUE|)
|
||||
pattern |String| recompute if this was given
|
||||
and different with |@/|.
|
||||
this works as same as the
|
||||
below command is executed
|
||||
before calling this function >
|
||||
let @/ = pattern
|
||||
< (default: |@/|)
|
||||
timeout |Number| 0 or negative number is no
|
||||
timeout. timeout milliseconds
|
||||
for recomputing the result
|
||||
(default: 0)
|
||||
maxcount |Number| 0 or negative number is no
|
||||
limit. max count of matched
|
||||
text while recomputing the
|
||||
result. if search exceeded
|
||||
total count, "total" value
|
||||
becomes `maxcount + 1`
|
||||
(default: 0)
|
||||
pos |List| `[lnum, col, off]` value
|
||||
when recomputing the result.
|
||||
this changes "current" result
|
||||
value. see |cursor()|, |getpos()
|
||||
(default: cursor's position)
|
||||
|
||||
|
||||
searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()*
|
||||
Search for the declaration of {name}.
|
||||
|
||||
@ -8436,7 +8706,8 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
|
||||
<
|
||||
See |match-parens| for a bigger and more useful example.
|
||||
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
|
||||
*searchpos()*
|
||||
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
|
||||
Same as |search()|, but returns a |List| with the line and
|
||||
column position of the match. The first element of the |List|
|
||||
is the line number and the second element is the byte index of
|
||||
@ -8786,6 +9057,11 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
nr list number in the quickfix stack; zero
|
||||
means the current quickfix list and "$" means
|
||||
the last quickfix list.
|
||||
quickfixtextfunc
|
||||
function to get the text to display in the
|
||||
quickfix window. Refer to
|
||||
|quickfix-window-function| for an explanation
|
||||
of how to write the function and an example.
|
||||
title quickfix list title text. See |quickfix-title|
|
||||
Unsupported keys in {what} are ignored.
|
||||
If the "nr" item is not present, then the current quickfix list
|
||||
@ -9381,8 +9657,8 @@ str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
|
||||
<
|
||||
When {base} is 16 a leading "0x" or "0X" is ignored. With a
|
||||
different base the result will be zero. Similarly, when
|
||||
{base} is 8 a leading "0" is ignored, and when {base} is 2 a
|
||||
leading "0b" or "0B" is ignored.
|
||||
{base} is 8 a leading "0", "0o" or "0O" is ignored, and when
|
||||
{base} is 2 a leading "0b" or "0B" is ignored.
|
||||
Text after the number is silently ignored.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@ -10191,13 +10467,22 @@ tr({src}, {fromstr}, {tostr}) *tr()*
|
||||
Can also be used as a |method|: >
|
||||
GetText()->tr(from, to)
|
||||
|
||||
trim({text} [, {mask}]) *trim()*
|
||||
trim({text} [, {mask} [, {dir}]]) *trim()*
|
||||
Return {text} as a String where any character in {mask} is
|
||||
removed from the beginning and end of {text}.
|
||||
removed from the beginning and/or end of {text}.
|
||||
|
||||
If {mask} is not given, {mask} is all characters up to 0x20,
|
||||
which includes Tab, space, NL and CR, plus the non-breaking
|
||||
space character 0xa0.
|
||||
This code deals with multibyte characters properly.
|
||||
|
||||
The optional {dir} argument specifies where to remove the
|
||||
characters:
|
||||
0 remove from the beginning and end of {text}
|
||||
1 remove only at the beginning of {text}
|
||||
2 remove only at the end of {text}
|
||||
When omitted both ends are trimmed.
|
||||
|
||||
This function deals with multibyte characters properly.
|
||||
|
||||
Examples: >
|
||||
echo trim(" some text ")
|
||||
@ -10205,7 +10490,9 @@ trim({text} [, {mask}]) *trim()*
|
||||
echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
|
||||
< returns "RESERVE_TAIL" >
|
||||
echo trim("rm<Xrm<>X>rrm", "rm<>")
|
||||
< returns "Xrm<>X" (characters in the middle are not removed)
|
||||
< returns "Xrm<>X" (characters in the middle are not removed) >
|
||||
echo trim(" vim ", " ", 2)
|
||||
< returns " vim"
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetText()->trim()
|
||||
@ -11116,6 +11403,8 @@ See |:verbose-cmd| for more information.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
NOTE: In Vim9 script script-local functions cannot be
|
||||
deleted or redefined.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
@ -13319,13 +13608,16 @@ instead of failing in mysterious ways.
|
||||
<
|
||||
*scriptversion-4* >
|
||||
:scriptversion 4
|
||||
< Numbers with a leading zero are not recognized as octal. With the
|
||||
< Numbers with a leading zero are not recognized as octal. "0o" or "0O"
|
||||
is still recognized as octal. With the
|
||||
previous version you get: >
|
||||
echo 017 " displays 15
|
||||
echo 018 " displays 18
|
||||
echo 017 " displays 15 (octal)
|
||||
echo 0o17 " displays 15 (octal)
|
||||
echo 018 " displays 18 (decimal)
|
||||
< with script version 4: >
|
||||
echo 017 " displays 17
|
||||
echo 018 " displays 18
|
||||
echo 017 " displays 17 (decimal)
|
||||
echo 0o17 " displays 15 (octal)
|
||||
echo 018 " displays 18 (decimal)
|
||||
< Also, it is possible to use single quotes inside numbers to make them
|
||||
easier to read: >
|
||||
echo 1'000'000
|
||||
|
48
runtime/doc/evim-tr.1
Normal file
48
runtime/doc/evim-tr.1
Normal file
@ -0,0 +1,48 @@
|
||||
.TH EVIM 1 "16 <20>ubat 2002"
|
||||
.SH AD
|
||||
evim \- kolay Vim, bir dosyay<61> Vim ile herhangi bir kip olmadan d<>zenleyin
|
||||
.SH <EFBFBD>ZET
|
||||
.br
|
||||
.B evim
|
||||
[se<73>enekler] [dosya ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH TANIM
|
||||
.B eVim,
|
||||
.B Vim'i
|
||||
ba<EFBFBD>lat<EFBFBD>r ve onu herhangi bir kipsiz d<>zenleyici gibi davranmas<61>n<EFBFBD> sa<73>lar.
|
||||
Bu bildi<64>iniz Vim'dir, ancak bir t<>kla ve yaz d<>zenleyicisi gibi <20>al<61><6C><EFBFBD>r.
|
||||
Bir <20>rnek vermek gerekirse MS-Windows <20>zerindeki Not Defteri gibi d<><64><EFBFBD>n<EFBFBD>n.
|
||||
.B eVim
|
||||
men<EFBFBD>lere ve ara<72> <20>ubuklar<61>na eri<72>im sa<73>layabilmeniz i<>in grafik arabirimde <20>al<61><6C><EFBFBD>r.
|
||||
.PP
|
||||
Yaln<EFBFBD>zca Vim ile normal bi<62>imde <20>al<61><6C>amayan ki<6B>ilerin kullan<61>m<EFBFBD> i<>indir.
|
||||
Dosya d<>zenleme i<>i <20>ok daha verimsiz olacakt<6B>r.
|
||||
.PP
|
||||
.B eview'<27>n
|
||||
ayn<EFBFBD>s<EFBFBD>d<EFBFBD>r, ancak saltokunur kipte ba<62>lar. evim \-R ile de ba<62>lat<61>labilir.
|
||||
.PP
|
||||
Vim hakk<6B>nda ayr<79>nt<6E>l<EFBFBD> bilgi i<>in: vim(1)
|
||||
.PP
|
||||
Do<EFBFBD>rudan metin giri<72>ini sa<73>layabilmek i<>in 'insertmode' se<73>ene<6E>i a<><61>l<EFBFBD>r.
|
||||
.br
|
||||
E<EFBFBD>lemlemeler Kopyala ve Yap<61><70>t<EFBFBD>r MS-Windows ile ayn<79> olacak bi<62>imde ayarlan<61>r.
|
||||
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yap<61><70>t<EFBFBD>r<EFBFBD>r.
|
||||
CTRL-V'nin orijinal i<>levi i<>in CTRL-Q kullan<61>n.
|
||||
.SH SE<EFBFBD>ENEKLER
|
||||
Bilgi i<>in: vim(1).
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
eVim'i ilklendirmek i<>in kullan<61>lan betik.
|
||||
.SH NAM-I D<EFBFBD><EFBFBD>ER
|
||||
Nam-<2D> di<64>er "Lastik <20>izmeliler i<>in Vim" (Gumbies, Monty Python).
|
||||
eVim'i kullan<61>rken bir mendili al<61>p iki ucundan birer d<><64><EFBFBD>m yapman<61>z
|
||||
ve kafan<61>za takman<61>z beklenir.
|
||||
.SH AYRICA BAKINIZ
|
||||
vim(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
|
||||
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
|
||||
Ek bilgi i<>in Yard<72>m/Te<54>ekk<6B>rler men<65>s<EFBFBD>ne bak<61>n.
|
48
runtime/doc/evim-tr.UTF-8.1
Normal file
48
runtime/doc/evim-tr.UTF-8.1
Normal file
@ -0,0 +1,48 @@
|
||||
.TH EVIM 1 "16 Şubat 2002"
|
||||
.SH AD
|
||||
evim \- kolay Vim, bir dosyayı Vim ile herhangi bir kip olmadan düzenleyin
|
||||
.SH ÖZET
|
||||
.br
|
||||
.B evim
|
||||
[seçenekler] [dosya ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH TANIM
|
||||
.B eVim,
|
||||
.B Vim'i
|
||||
başlatır ve onu herhangi bir kipsiz düzenleyici gibi davranmasını sağlar.
|
||||
Bu bildiğiniz Vim'dir, ancak bir tıkla ve yaz düzenleyicisi gibi çalışır.
|
||||
Bir örnek vermek gerekirse MS-Windows üzerindeki Not Defteri gibi düşünün.
|
||||
.B eVim
|
||||
menülere ve araç çubuklarına erişim sağlayabilmeniz için grafik arabirimde çalışır.
|
||||
.PP
|
||||
Yalnızca Vim ile normal biçimde çalışamayan kişilerin kullanımı içindir.
|
||||
Dosya düzenleme işi çok daha verimsiz olacaktır.
|
||||
.PP
|
||||
.B eview'ün
|
||||
aynısıdır, ancak saltokunur kipte başlar. evim \-R ile de başlatılabilir.
|
||||
.PP
|
||||
Vim hakkında ayrıntılı bilgi için: vim(1)
|
||||
.PP
|
||||
Doğrudan metin girişini sağlayabilmek için 'insertmode' seçeneği açılır.
|
||||
.br
|
||||
Eşlemlemeler Kopyala ve Yapıştır MS-Windows ile aynı olacak biçimde ayarlanır.
|
||||
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yapıştırır.
|
||||
CTRL-V'nin orijinal işlevi için CTRL-Q kullanın.
|
||||
.SH SEÇENEKLER
|
||||
Bilgi için: vim(1).
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
eVim'i ilklendirmek için kullanılan betik.
|
||||
.SH NAM-I DİĞER
|
||||
Nam-ı diğer "Lastik Çizmeliler için Vim" (Gumbies, Monty Python).
|
||||
eVim'i kullanırken bir mendili alıp iki ucundan birer düğüm yapmanız
|
||||
ve kafanıza takmanız beklenir.
|
||||
.SH AYRICA BAKINIZ
|
||||
vim(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
|
||||
yardımlarıyla yazılmıştır.
|
||||
Ek bilgi için Yardım/Teşekkürler menüsüne bakın.
|
@ -198,13 +198,13 @@ Remarks about specific systems ~
|
||||
|os_amiga.txt| Amiga
|
||||
|os_beos.txt| BeOS and BeBox
|
||||
|os_dos.txt| MS-DOS and MS-Windows common items
|
||||
|os_haiku.txt| Haiku
|
||||
|os_mac.txt| Macintosh
|
||||
|os_mint.txt| Atari MiNT
|
||||
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|
||||
|os_os2.txt| OS/2
|
||||
|os_qnx.txt| QNX
|
||||
|os_risc.txt| RISC-OS
|
||||
|os_haiku.txt| Haiku
|
||||
|os_unix.txt| Unix
|
||||
|os_vms.txt| VMS
|
||||
|os_win32.txt| MS-Windows
|
||||
|
@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2019 Jul 21
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@ -199,6 +199,15 @@ Vim evaluation and command execution, and others.
|
||||
returns it. Note that the buffer is not set as
|
||||
current.
|
||||
|
||||
vim.call({name} [,{args}])
|
||||
Proxy to call Vim function named {name} with
|
||||
arguments {args}. Example: >
|
||||
:lua print(vim.call('has', 'timers'))
|
||||
<
|
||||
vim.fn Proxy to call Vim functions. Proxy methods are
|
||||
created on demand. Example: >
|
||||
:lua print(vim.fn.has('timers'))
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. List userdata *lua-list*
|
||||
|
@ -570,9 +570,15 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
with "#" does not work.
|
||||
|
||||
|
||||
PN When N is non-zero recognize C pragmas, and indent them like any
|
||||
other code; does not concern other preprocessor directives.
|
||||
When N is zero (default): don't recognize C pragmas, treating
|
||||
them like every other preprocessor directive.
|
||||
|
||||
|
||||
The defaults, spelled out in full, are:
|
||||
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,E0,ps,ts,is,+s,
|
||||
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
|
||||
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0,P0
|
||||
|
||||
Vim puts a line in column 1 if:
|
||||
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 Mar 27
|
||||
*index.txt* For Vim version 8.2. Last change: 2020 May 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -246,8 +246,7 @@ tag char note action in Normal mode ~
|
||||
2 filter Nmove text through the {filter}
|
||||
command
|
||||
|!!| !!{filter} 2 filter N lines through the {filter} command
|
||||
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
|
||||
delete, yank or put (uppercase to append)
|
||||
|quote| "{register} use {register} for next delete, yank or put
|
||||
({.%#:} only work with put)
|
||||
|#| # 1 search backward for the Nth occurrence of
|
||||
the ident under the cursor
|
||||
@ -365,8 +364,8 @@ tag char note action in Normal mode ~
|
||||
register x]
|
||||
|Y| ["x]Y yank N lines [into register x]; synonym for
|
||||
"yy"
|
||||
|ZZ| ZZ store current file if modified, and exit
|
||||
|ZQ| ZQ exit current file always
|
||||
|ZZ| ZZ write if buffer changed and close window
|
||||
|ZQ| ZQ close window without writing
|
||||
|[| [{char} square bracket command (see |[| below)
|
||||
\ not used
|
||||
|]| ]{char} square bracket command (see |]| below)
|
||||
@ -829,7 +828,7 @@ tag char note action in Normal mode ~
|
||||
|zD| zD delete folds recursively
|
||||
|zE| zE eliminate all folds
|
||||
|zF| zF create a fold for N lines
|
||||
|zG| zG mark word as good spelled word
|
||||
|zG| zG temporarily mark word as good spelled word
|
||||
|zH| zH when 'wrap' off scroll half a screenwidth
|
||||
to the right
|
||||
|zL| zL when 'wrap' off scroll half a screenwidth
|
||||
@ -838,7 +837,7 @@ tag char note action in Normal mode ~
|
||||
|zN| zN set 'foldenable'
|
||||
|zO| zO open folds recursively
|
||||
|zR| zR set 'foldlevel' to the deepest fold
|
||||
|zW| zW mark word as wrong (bad) spelled word
|
||||
|zW| zW temporarily mark word as bad spelled word
|
||||
|zX| zX re-apply 'foldlevel'
|
||||
|z^| z^ cursor on line N (default line above
|
||||
window), otherwise like "z-"
|
||||
@ -850,7 +849,7 @@ tag char note action in Normal mode ~
|
||||
position the cursor at the end (right side)
|
||||
of the screen
|
||||
|zf| zf{motion} create a fold for Nmove text
|
||||
|zg| zg mark word as good spelled word
|
||||
|zg| zg permanently mark word as good spelled word
|
||||
|zh| zh when 'wrap' off scroll screen N characters
|
||||
to the right
|
||||
|zi| zi toggle 'foldenable'
|
||||
@ -871,7 +870,7 @@ tag char note action in Normal mode ~
|
||||
|zuW| zuW undo |zW|
|
||||
|zuG| zuG undo |zG|
|
||||
|zv| zv open enough folds to view the cursor line
|
||||
|zw| zw mark word as wrong (bad) spelled word
|
||||
|zw| zw permanently mark word as bad spelled word
|
||||
|zx| zx re-apply 'foldlevel' and do "zv"
|
||||
|zz| zz redraw, cursor line at center of window
|
||||
|z<Left>| z<Left> same as "zh"
|
||||
@ -1115,7 +1114,7 @@ tag char action in Terminal-Job mode ~
|
||||
|t_CTRL-W_:| CTRL-W : enter an Ex command
|
||||
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
|
||||
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|
||||
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|
||||
|t_CTRL-W_quote| CTRL-W " {register}
|
||||
paste register in the terminal
|
||||
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|
||||
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
|
||||
@ -1263,6 +1262,7 @@ tag command action ~
|
||||
|:debug| :deb[ug] run a command in debugging mode
|
||||
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|
||||
|:def| :def define a Vim9 user function
|
||||
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|
||||
|:delcommand| :delc[ommand] delete user-defined command
|
||||
|:delfunction| :delf[unction] delete a user function
|
||||
|:delmarks| :delm[arks] delete marks
|
||||
@ -1722,7 +1722,7 @@ tag command action ~
|
||||
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|
||||
|:wundo| :wu[ndo] write undo information to a file
|
||||
|:wviminfo| :wv[iminfo] write to viminfo file
|
||||
|:xit| :x[it] write if buffer changed and quit window or Vim
|
||||
|:xit| :x[it] write if buffer changed and close window
|
||||
|:xall| :xa[ll] same as ":wqall"
|
||||
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|
||||
|:xmap| :xm[ap] like ":map" but for Visual mode
|
||||
|
@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Mar 25
|
||||
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -666,7 +666,7 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
|
||||
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
|
||||
Also, when doing completion with 'complete' mappings apply as usual.
|
||||
|
||||
*E565*
|
||||
*E578* *E565*
|
||||
Note: While completion is active Insert mode can't be used recursively and
|
||||
buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
|
||||
will generate an E565 error.
|
||||
|
@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
|
||||
#
|
||||
#ad hoc code
|
||||
#
|
||||
/^"\|\& / {gsub(/\|/,"\\|"); }
|
||||
/^"\|& / {gsub(/\|/,"\\|"); }
|
||||
/ = b / {gsub(/ b /," \\b "); }
|
||||
#
|
||||
# one letter tag
|
||||
|
@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2019 Dec 19
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1492,7 +1492,7 @@ The valid escape sequences are
|
||||
<bang> (See the '-bang' attribute) Expands to a ! if the
|
||||
command was executed with a ! modifier, otherwise
|
||||
expands to nothing.
|
||||
*<mods>*
|
||||
*<mods>* *:command-modifiers*
|
||||
<mods> The command modifiers, if specified. Otherwise, expands to
|
||||
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|
||||
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Apr 10
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 May 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -5427,6 +5427,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
bin If included, numbers starting with "0b" or "0B" will be
|
||||
considered to be binary. Example: Using CTRL-X on
|
||||
"0b1000" subtracts one, resulting in "0b0111".
|
||||
unsigned If included, numbers are recognized as unsigned. Thus a
|
||||
leading dash or negative sign won't be considered as part of
|
||||
the number. Examples:
|
||||
Using CTRL-X on "2020" in "9-2020" results in "9-2019"
|
||||
(without "unsigned" it would become "9-2021").
|
||||
Using CTRL-A on "2020" in "9-2020" results in "9-2021"
|
||||
(without "unsigned" it would become "9-2019").
|
||||
Using CTRL-X on "0" or "18446744073709551615" (2^64) has
|
||||
no effect, overflow is prevented.
|
||||
Numbers which simply begin with a digit in the range 1-9 are always
|
||||
considered decimal. This also happens for numbers that are not
|
||||
recognized as octal or hex.
|
||||
@ -5889,6 +5898,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'pyxversion' has no effect. The pyx* functions and commands are
|
||||
always the same as the compiled version.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'quickfixtextfunc'* *'qftf'*
|
||||
'quickfixtextfunc' 'qftf' string (default "")
|
||||
global
|
||||
{only available when compiled with the |+quickfix|
|
||||
feature}
|
||||
This option specifies a function to be used to get the text to display
|
||||
in the quickfix and location list windows. This can be used to
|
||||
customize the information displayed in the quickfix or location window
|
||||
for each entry in the corresponding quickfix or location list. See
|
||||
|quickfix-window-function| for an explanation of how to write the
|
||||
function and an example.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@ -8323,13 +8347,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Currently, these messages are given:
|
||||
>= 1 When the viminfo file is read or written.
|
||||
>= 2 When a file is ":source"'ed.
|
||||
>= 4 Shell commands.
|
||||
>= 5 Every searched tags file and include file.
|
||||
>= 8 Files for which a group of autocommands is executed.
|
||||
>= 9 Every executed autocommand.
|
||||
>= 11 Finding items in a path
|
||||
>= 12 Every executed function.
|
||||
>= 13 When an exception is thrown, caught, finished, or discarded.
|
||||
>= 14 Anything pending in a ":finally" clause.
|
||||
>= 15 Every executed Ex command (truncated at 200 characters).
|
||||
>= 15 Every executed Ex command from a script (truncated at 200
|
||||
characters).
|
||||
>= 16 Every executed Ex command
|
||||
|
||||
This option can also be set with the "-V" argument. See |-V|.
|
||||
This option is also set by the |:verbose| command.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Mar 19
|
||||
*os_haiku.txt* For Vim version 8.2. Last change: 2020 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -25,8 +25,9 @@ targets personal computing.
|
||||
9. The meta key modifier |haiku-meta|
|
||||
10. Mouse key mappings |haiku-mouse|
|
||||
11. Color names |haiku-colors|
|
||||
12. Credits |haiku-support-credits|
|
||||
13. Bugs & to-do |haiku-bugs|
|
||||
12. GUI Toolbar Images |haiku-toolbar-images|
|
||||
13. Credits |haiku-support-credits|
|
||||
14. Bugs & to-do |haiku-bugs|
|
||||
|
||||
|
||||
1. General *haiku-general*
|
||||
@ -46,12 +47,11 @@ features you can enable/disable.
|
||||
|
||||
Haiku uses "ncurses6" as its terminal library, therefore you need to have
|
||||
"ncurses6_devel" package installed from HaikuDepot in order to configure
|
||||
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
|
||||
below for the initial build.
|
||||
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
|
||||
|
||||
Now you should use "make" to compile Vim, then "make install" to install it.
|
||||
For seamless integration into Haiku, the GUI-less vim binary should be
|
||||
additionally installed over the GUI version. Typical build commands are: >
|
||||
additionally installed over the GUI version. Typical build commands are:
|
||||
|
||||
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
|
||||
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
|
||||
@ -71,25 +71,25 @@ additionally installed over the GUI version. Typical build commands are: >
|
||||
|
||||
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
|
||||
version with GUI tries to determine if it was started from the Tracker instead
|
||||
of the Terminal, and if so, uses the GUI anyway. However, the current detection
|
||||
of the Terminal, and if so, uses the GUI anyway. However, the current detection
|
||||
scheme is fooled if you use the command "vim - </dev/null".
|
||||
|
||||
Stuff that does not work yet:
|
||||
|
||||
- Mouse up events are not generated when outside the window. This may be a bug in
|
||||
Haiku. You can notice this when selecting text and moving the cursor outside
|
||||
the window, then letting go of the mouse button. Another way is when you
|
||||
drag the scrollbar and do the same thing. Because Vim still thinks you are
|
||||
still playing with the scrollbar it won't change it itself. I provided a
|
||||
workaround which kicks in when the window is activated or deactivated (so it
|
||||
works best with focus- follows-mouse turned on).
|
||||
- Mouse up events are not generated when outside the window. You can notice
|
||||
this when selecting text and moving the cursor outside the window, then
|
||||
letting go of the mouse button. Another way is when you drag the scrollbar
|
||||
and do the same thing. Because Vim still thinks you are still playing with
|
||||
the scrollbar it won't change it itself. There is a workaround which kicks
|
||||
in when the window is activated or deactivated (so it works best with focus-
|
||||
follows-mouse turned on).
|
||||
- The cursor does not flash.
|
||||
|
||||
|
||||
4. The $VIM directory *haiku-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vim's support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with >
|
||||
The default value for $VIM is set at compile time and can be determined with:
|
||||
|
||||
:version
|
||||
|
||||
@ -117,7 +117,7 @@ The normal value is /boot/home/config/settings.
|
||||
You can drop files and directories on either the Vim icon (starts a new Vim
|
||||
session, unless you use the File Types application to set Vim to be "Single
|
||||
Launch") or on the Vim window (starts editing the files). Dropping a folder
|
||||
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
|
||||
sets Vim's current working directory |:cd| |:pwd|. If you drop files or
|
||||
folders with either SHIFT key pressed, Vim changes directory to the folder
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
press shift: Vim behaves as if you do.
|
||||
@ -164,7 +164,7 @@ isn't a dotted-y, then for this font the encoding does not work.
|
||||
|
||||
If the font you specify is unavailable, you get the system fixed font.
|
||||
|
||||
GUI Font Selection Dialog is available at giving the >
|
||||
GUI Font Selection Dialog is available at giving the:
|
||||
|
||||
:set guifont=*
|
||||
|
||||
@ -221,7 +221,7 @@ All the changes and patches released under vim-license.
|
||||
Thank you, all!
|
||||
|
||||
|
||||
13. Bugs & to-do *haiku-bugs*
|
||||
14. Bugs & to-do *haiku-bugs*
|
||||
|
||||
The port is under development now and far away from the perfect state. For bug
|
||||
reports, patches and wishes, please use the Vim mailing list or Vim Github
|
||||
|
@ -230,7 +230,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
|
||||
SCO declares this behavior required for backwards compatibility with 16bit
|
||||
DOS/Windows environments. The two commands below demonstrate the behavior:
|
||||
>
|
||||
echo Hello > file.bat~
|
||||
echo Hello > file.bat~
|
||||
dir > file.bat
|
||||
<
|
||||
The result is that the "dir" command updates the "file.bat~" file, instead
|
||||
|
@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -150,6 +150,7 @@ different: *E863*
|
||||
- When the job ends, the popup window closes.
|
||||
- The popup window can be closed with `popup_close()`, the terminal buffer
|
||||
then becomes hidden.
|
||||
- It is not possible to open a second popup window with a terminal. *E861*
|
||||
- The default Pmenu color is only used for the border and padding. To change
|
||||
the color of the terminal itself set the Terminal highlight group before
|
||||
creating the terminal. Setting 'wincolor' later can work but requires the
|
||||
@ -197,6 +198,7 @@ Other:
|
||||
|popup_getoptions()| get current options for a popup
|
||||
|popup_getpos()| get actual position and size of a popup
|
||||
|popup_locate()| find popup window at a screen position
|
||||
|popup_list()| get list of all popups
|
||||
|
||||
|
||||
DETAILS *popup-function-details*
|
||||
@ -235,8 +237,15 @@ popup_beval({what}, {options}) *popup_beval()*
|
||||
GetText()->popup_beval({})
|
||||
<
|
||||
*popup_clear()*
|
||||
popup_clear() Emergency solution to a misbehaving plugin: close all popup
|
||||
popup_clear([{force}])
|
||||
Emergency solution to a misbehaving plugin: close all popup
|
||||
windows for the current tab and global popups.
|
||||
Close callbacks are not invoked.
|
||||
When {force} is not present this will fail if the current
|
||||
window is a popup.
|
||||
When {force} is present and |TRUE| the popup is also closed
|
||||
when it is the current window. If a terminal is running in a
|
||||
popup it is killed.
|
||||
|
||||
|
||||
popup_close({id} [, {result}]) *popup_close()*
|
||||
@ -415,6 +424,10 @@ popup_hide({id}) *popup_hide()*
|
||||
Can also be used as a |method|: >
|
||||
GetPopup()->popup_hide()
|
||||
|
||||
popup_list() *popup_list()*
|
||||
Return a List with the |window-ID| of all existing popups.
|
||||
|
||||
|
||||
popup_locate({row}, {col}) *popup_locate()*
|
||||
Return the |window-ID| of the popup at screen position {row}
|
||||
and {col}. If there are multiple popups the one with the
|
||||
|
@ -15,6 +15,7 @@ This subject is introduced in section |30.1| of the user manual.
|
||||
7. The error format |error-file-format|
|
||||
8. The directory stack |quickfix-directory-stack|
|
||||
9. Specific error file formats |errorformats|
|
||||
10. Customizing the quickfix window |quickfix-window-function|
|
||||
|
||||
The quickfix commands are not available when the |+quickfix| feature was
|
||||
disabled at compile time.
|
||||
@ -1921,6 +1922,59 @@ error messages into a format that quickfix mode will understand. See the
|
||||
start of the file about how to use it. (This script is deprecated, see
|
||||
|compiler-perl|.)
|
||||
|
||||
=============================================================================
|
||||
10. Customizing the quickfix window *quickfix-window-function*
|
||||
|
||||
The default format for the lines displayed in the quickfix window and location
|
||||
list window is:
|
||||
|
||||
<filename>|<lnum> col <col>|<text>
|
||||
|
||||
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
|
||||
"text" fields returned by the |getqflist()| function.
|
||||
|
||||
For some quickfix/location lists, the displayed text need to be customized.
|
||||
For example, if only the filename is present for a quickfix entry, then the
|
||||
two "|" field separator characters after the filename are not needed. Another
|
||||
use case is to customize the path displayed for a filename. By default, the
|
||||
complete path (which may be too long) is displayed for files which are not
|
||||
under the current directory tree. The file path may need to be simplified to a
|
||||
common parent directory.
|
||||
|
||||
The displayed text can be customized by setting the 'quickfixtextfunc' option
|
||||
to a Vim function. This function will be called with a dict argument for
|
||||
every entry in a quickfix or a location list. The dict argument will have the
|
||||
following fields:
|
||||
|
||||
quickfix set to 1 when called for a quickfix list and 0 when called for
|
||||
a location list.
|
||||
id quickfix or location list identifier
|
||||
idx index of the entry in the quickfix or location list
|
||||
|
||||
The function should return a single line of text to display in the quickfix
|
||||
window for the entry identified by idx. The function can obtain information
|
||||
about the current entry using the |getqflist()| function and specifying the
|
||||
quickfix list identifier "id" and the entry index "idx".
|
||||
|
||||
If a quickfix or location list specific customization is needed, then the
|
||||
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|
||||
|setloclist()| function. This overrides the global 'quickfixtextfunc' option.
|
||||
|
||||
The example below displays the list of old files (|v:oldfiles|) in a quickfix
|
||||
window. As there is no line, column number and error text information
|
||||
associated with each entry, the 'quickfixtextfunc' function returns only the
|
||||
filename.
|
||||
Example: >
|
||||
" create a quickfix list from v:oldfiles
|
||||
call setqflist([], ' ', {'lines' : v:oldfiles, 'efm' : '%f',
|
||||
\ 'quickfixtextfunc' : 'QfOldFiles'})
|
||||
func QfOldFiles(info)
|
||||
" get information about the specific quickfix entry
|
||||
let e = getqflist({'id' : a:info.id, 'idx' : a:info.idx,
|
||||
\ 'items' : 1}).items[0]
|
||||
" return the simplified file name
|
||||
return fnamemodify(bufname(e.bufnr), ':p:.')
|
||||
endfunc
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 Mar 24
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -125,12 +125,12 @@ If you want to make sure that your changes are in the swap file use this
|
||||
command:
|
||||
|
||||
*:pre* *:preserve* *E313* *E314*
|
||||
:pre[serve] Write all text for all buffers into swap files. The
|
||||
original file is no longer needed for recovery.
|
||||
This sets a flag in the current buffer. When the '&'
|
||||
flag is present in 'cpoptions' the swap file will not
|
||||
be deleted for this buffer when Vim exits and the
|
||||
buffer is still loaded |cpo-&|.
|
||||
:pre[serve] Write all text for the current buffer into its swap
|
||||
file. The original file is no longer needed for
|
||||
recovery. This sets a flag in the current buffer.
|
||||
When the '&' flag is present in 'cpoptions' the swap
|
||||
file will not be deleted for this buffer when Vim
|
||||
exits and the buffer is still loaded |cpo-&|.
|
||||
|
||||
A Vim swap file can be recognized by the first six characters: "b0VIM ".
|
||||
After that comes the version number, e.g., "3.0".
|
||||
|
@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -126,6 +126,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
|
||||
recorded macro and the yank will overwrite the
|
||||
recorded macro.
|
||||
|
||||
Note: The recording happens while you type, replaying
|
||||
the register happens as if the keys come from a
|
||||
mapping. This matters, for example, for undo, which
|
||||
only syncs when commands were typed.
|
||||
|
||||
q Stops recording. (Implementation note: The 'q' that
|
||||
stops recording is not stored in the register, unless
|
||||
it was the result of a mapping)
|
||||
@ -137,7 +142,7 @@ q Stops recording. (Implementation note: The 'q' that
|
||||
used.
|
||||
The register is executed like a mapping, that means
|
||||
that the difference between 'wildchar' and 'wildcharm'
|
||||
applies.
|
||||
applies, and undo might not be synced in the same way.
|
||||
For "@=" you are prompted to enter an expression. The
|
||||
result of the expression is then executed.
|
||||
See also |@:|.
|
||||
@ -166,7 +171,7 @@ q Stops recording. (Implementation note: The 'q' that
|
||||
[addr] (default is current line).
|
||||
|
||||
:[addr]@ *:@@*
|
||||
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
|
||||
:[addr]@@ Repeat the previous :@{register}. First set cursor at
|
||||
line [addr] (default is current line).
|
||||
|
||||
==============================================================================
|
||||
|
@ -3636,6 +3636,26 @@ DEFINING CASE *:syn-case* *E390*
|
||||
:sy[ntax] case
|
||||
Show either "syntax case match" or "syntax case ignore" (translated).
|
||||
|
||||
|
||||
DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||
|
||||
:sy[ntax] foldlevel [start | minimum]
|
||||
This defines how the foldlevel of a line is computed when using
|
||||
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
|
||||
|
||||
start: Use level of item containing start of line.
|
||||
minimum: Use lowest local-minimum level of items on line.
|
||||
|
||||
The default is 'start'. Use 'minimum' to search a line horizontally
|
||||
for the lowest level contained on the line that is followed by a
|
||||
higher level. This produces more natural folds when syntax items
|
||||
may close and open horizontally within a line.
|
||||
|
||||
:sy[ntax] foldlevel
|
||||
Show either "syntax foldlevel start" or "syntax foldlevel minimum".
|
||||
|
||||
{not meaningful when Vim was compiled without |+folding| feature}
|
||||
|
||||
SPELL CHECKING *:syn-spell*
|
||||
|
||||
:sy[ntax] spell [toplevel | notoplevel | default]
|
||||
@ -4099,6 +4119,8 @@ This will make each {} block form one fold.
|
||||
The fold will start on the line where the item starts, and end where the item
|
||||
ends. If the start and end are within the same line, there is no fold.
|
||||
The 'foldnestmax' option limits the nesting of syntax folds.
|
||||
See |:syn-foldlevel| to control how the foldlevel of a line is computed
|
||||
from its syntax items.
|
||||
{not available when Vim was compiled without |+folding| feature}
|
||||
|
||||
|
||||
@ -4901,6 +4923,10 @@ cterm={attr-list} *highlight-cterm*
|
||||
|
||||
ctermfg={color-nr} *highlight-ctermfg* *E421*
|
||||
ctermbg={color-nr} *highlight-ctermbg*
|
||||
ctermul={color-nr} *highlight-ctermul*
|
||||
These give the foreground (ctermfg), background (ctermbg) and
|
||||
underline (ctermul) color to use in the terminal.
|
||||
|
||||
The {color-nr} argument is a color number. Its range is zero to
|
||||
(not including) the number given by the termcap entry "Co".
|
||||
The actual color with this number depends on the type of terminal
|
||||
@ -4978,11 +5004,11 @@ ctermbg={color-nr} *highlight-ctermbg*
|
||||
needs to reset the color when exiting. This is done with the "op"
|
||||
termcap entry |t_op|. If this doesn't work correctly, try setting the
|
||||
't_op' option in your .vimrc.
|
||||
*E419* *E420*
|
||||
When Vim knows the normal foreground and background colors, "fg" and
|
||||
"bg" can be used as color names. This only works after setting the
|
||||
colors for the Normal group and for the MS-Windows console. Example,
|
||||
for reverse video: >
|
||||
*E419* *E420* *E453*
|
||||
When Vim knows the normal foreground, background and underline colors,
|
||||
"fg", "bg" and "ul" can be used as color names. This only works after
|
||||
setting the colors for the Normal group and for the MS-Windows
|
||||
console. Example, for reverse video: >
|
||||
:highlight Visual ctermfg=bg ctermbg=fg
|
||||
< Note that the colors are used that are valid at the moment this
|
||||
command are given. If the Normal group colors are changed later, the
|
||||
|
@ -2272,6 +2272,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:command-completion-custom map.txt /*:command-completion-custom*
|
||||
:command-completion-customlist map.txt /*:command-completion-customlist*
|
||||
:command-count map.txt /*:command-count*
|
||||
:command-modifiers map.txt /*:command-modifiers*
|
||||
:command-nargs map.txt /*:command-nargs*
|
||||
:command-range map.txt /*:command-range*
|
||||
:command-register map.txt /*:command-register*
|
||||
@ -2316,6 +2317,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:debugg repeat.txt /*:debugg*
|
||||
:debuggreedy repeat.txt /*:debuggreedy*
|
||||
:def vim9.txt /*:def*
|
||||
:defc vim9.txt /*:defc*
|
||||
:defcompile vim9.txt /*:defcompile*
|
||||
:del change.txt /*:del*
|
||||
:delc map.txt /*:delc*
|
||||
:delcommand map.txt /*:delcommand*
|
||||
@ -4252,6 +4255,7 @@ E457 print.txt /*E457*
|
||||
E458 message.txt /*E458*
|
||||
E459 message.txt /*E459*
|
||||
E46 message.txt /*E46*
|
||||
E460 eval.txt /*E460*
|
||||
E461 eval.txt /*E461*
|
||||
E462 editing.txt /*E462*
|
||||
E463 netbeans.txt /*E463*
|
||||
@ -4363,6 +4367,7 @@ E561 if_cscop.txt /*E561*
|
||||
E562 if_cscop.txt /*E562*
|
||||
E563 if_cscop.txt /*E563*
|
||||
E564 if_cscop.txt /*E564*
|
||||
E565 insert.txt /*E565*
|
||||
E566 if_cscop.txt /*E566*
|
||||
E567 if_cscop.txt /*E567*
|
||||
E568 if_cscop.txt /*E568*
|
||||
@ -4374,6 +4379,7 @@ E574 starting.txt /*E574*
|
||||
E575 starting.txt /*E575*
|
||||
E576 starting.txt /*E576*
|
||||
E577 starting.txt /*E577*
|
||||
E578 insert.txt /*E578*
|
||||
E579 eval.txt /*E579*
|
||||
E580 eval.txt /*E580*
|
||||
E581 eval.txt /*E581*
|
||||
@ -4675,6 +4681,7 @@ E855 autocmd.txt /*E855*
|
||||
E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E861 popup.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 popup.txt /*E863*
|
||||
E864 pattern.txt /*E864*
|
||||
@ -6124,6 +6131,7 @@ edit-files editing.txt /*edit-files*
|
||||
edit-intro editing.txt /*edit-intro*
|
||||
edit-no-break usr_25.txt /*edit-no-break*
|
||||
edit-paragraph-join usr_25.txt /*edit-paragraph-join*
|
||||
edit-window windows.txt /*edit-window*
|
||||
editing.txt editing.txt /*editing.txt*
|
||||
efm-%> quickfix.txt /*efm-%>*
|
||||
efm-entries quickfix.txt /*efm-entries*
|
||||
@ -7696,6 +7704,7 @@ mapmode-v map.txt /*mapmode-v*
|
||||
mapmode-x map.txt /*mapmode-x*
|
||||
mapping map.txt /*mapping*
|
||||
mapping-functions usr_41.txt /*mapping-functions*
|
||||
mapset() eval.txt /*mapset()*
|
||||
mark motion.txt /*mark*
|
||||
mark-functions usr_41.txt /*mark-functions*
|
||||
mark-motions motion.txt /*mark-motions*
|
||||
@ -8379,6 +8388,7 @@ popup_findpreview() popup.txt /*popup_findpreview()*
|
||||
popup_getoptions() popup.txt /*popup_getoptions()*
|
||||
popup_getpos() popup.txt /*popup_getpos()*
|
||||
popup_hide() popup.txt /*popup_hide()*
|
||||
popup_list() popup.txt /*popup_list()*
|
||||
popup_locate() popup.txt /*popup_locate()*
|
||||
popup_menu() popup.txt /*popup_menu()*
|
||||
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
|
||||
@ -9456,6 +9466,7 @@ termdebug-prompt terminal.txt /*termdebug-prompt*
|
||||
termdebug-starting terminal.txt /*termdebug-starting*
|
||||
termdebug-stepping terminal.txt /*termdebug-stepping*
|
||||
termdebug-variables terminal.txt /*termdebug-variables*
|
||||
termdebug_map_K terminal.txt /*termdebug_map_K*
|
||||
termdebug_popup terminal.txt /*termdebug_popup*
|
||||
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
|
||||
termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
|
||||
@ -9959,6 +9970,7 @@ vim-variable eval.txt /*vim-variable*
|
||||
vim.vim syntax.txt /*vim.vim*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
|
@ -322,6 +322,7 @@ OUTPUT CODES *terminal-output-codes*
|
||||
t_ZR italics end *t_ZR* *'t_ZR'*
|
||||
|
||||
Added by Vim (there are no standard codes for these):
|
||||
t_AU set underline color (ANSI) *t_AU* *'t_AU'*
|
||||
t_Ce undercurl end *t_Ce* *'t_Ce'*
|
||||
t_Cs undercurl mode *t_Cs* *'t_Cs'*
|
||||
t_Te strikethrough end *t_Te* *'t_Te'*
|
||||
@ -350,6 +351,7 @@ Added by Vim (there are no standard codes for these):
|
||||
|xterm-true-color|
|
||||
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|
||||
|xterm-true-color|
|
||||
t_8u set underline color (R, G, B) *t_8u* *'t_8u'*
|
||||
t_BE enable bracketed paste mode *t_BE* *'t_BE'*
|
||||
|xterm-bracketed-paste|
|
||||
t_BD disable bracketed paste mode *t_BD* *'t_BD'*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 Mar 26
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2020 May 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -120,7 +120,7 @@ break (cursor keys start with an Esc, so they may break): >
|
||||
You can also create menus similar to terminal mode mappings, but you have to
|
||||
use |:tlmenu| instead of |:tmenu|.
|
||||
|
||||
< *options-in-terminal*
|
||||
*options-in-terminal*
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
TerminalOpen autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
@ -161,6 +161,7 @@ terminal windows may be configured using the variable
|
||||
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
|
||||
not using GUI colors, the terminal window always uses the 16 ANSI colors of
|
||||
the underlying terminal.
|
||||
When using `term_start()` the colors can be set with the "ansi_colors" option.
|
||||
The |term_setansicolors()| function can be used to change the colors, and
|
||||
|term_getansicolors()| to get the currently used colors.
|
||||
|
||||
@ -183,6 +184,10 @@ Command syntax ~
|
||||
keep the terminal open in Terminal-Normal mode. This
|
||||
can be changed with the ++close argument.
|
||||
|
||||
No Vim command can follow, any | is included in
|
||||
[command]. Use `:execute` if you must have a Vim
|
||||
command following in the same line.
|
||||
|
||||
A new buffer will be created, using [command] or
|
||||
'shell' as the name, prefixed with a "!". If a buffer
|
||||
by this name already exists a number is added in
|
||||
@ -1301,7 +1306,7 @@ breakpoint, or use the "Clear breakpoint" right-click menu entry.
|
||||
Inspecting variables ~
|
||||
*termdebug-variables* *:Evaluate*
|
||||
`:Evaluate` evaluate the expression under the cursor
|
||||
`K` same
|
||||
`K` same (see |termdebug_map_K| to disable)
|
||||
`:Evaluate` {expr} evaluate {expr}
|
||||
`:'<,'>Evaluate` evaluate the Visually selected text
|
||||
|
||||
@ -1332,6 +1337,10 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
|
||||
*termdebug_use_prompt*
|
||||
Prompt mode can be used even when the |+terminal| feature is present with: >
|
||||
let g:termdebug_use_prompt = 1
|
||||
<
|
||||
*termdebug_map_K*
|
||||
The K key is normally mapped to :Evaluate. If you do not want this use: >
|
||||
let g:termdebug_map_K = 0
|
||||
|
||||
|
||||
Communication ~
|
||||
|
@ -263,9 +263,8 @@ assert_equal({expected}, {actual} [, {msg}])
|
||||
Can also be used as a |method|: >
|
||||
mylist->assert_equal([1, 2, 3])
|
||||
|
||||
|
||||
< *assert_equalfile()*
|
||||
assert_equalfile({fname-one}, {fname-two})
|
||||
assert_equalfile({fname-one}, {fname-two} [, {msg}])
|
||||
When the files {fname-one} and {fname-two} do not contain
|
||||
exactly the same text an error message is added to |v:errors|.
|
||||
Also see |assert-return|.
|
||||
@ -276,7 +275,6 @@ assert_equalfile({fname-one}, {fname-two})
|
||||
Can also be used as a |method|: >
|
||||
GetLog()->assert_equalfile('expected.log')
|
||||
|
||||
|
||||
assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
When v:exception does not contain the string {error} an error
|
||||
message is added to |v:errors|. Also see |assert-return|.
|
||||
|
@ -101,7 +101,7 @@ Manipulating text property types:
|
||||
prop_type_add({name}, {props}) define a new property type
|
||||
prop_type_change({name}, {props}) change an existing property type
|
||||
prop_type_delete({name} [, {props}]) delete a property type
|
||||
prop_type_get([{name} [, {props}]) get property type values
|
||||
prop_type_get([{name} [, {props}]]) get property type values
|
||||
prop_type_list([{props}]) get list of property types
|
||||
|
||||
|
||||
@ -111,7 +111,7 @@ prop_add({lnum}, {col}, {props}) add a text property
|
||||
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
|
||||
remove all text properties
|
||||
prop_find({props} [, {direction}]) search for a text property
|
||||
prop_list({lnum} [, {props}) text properties in {lnum}
|
||||
prop_list({lnum} [, {props}]) text properties in {lnum}
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
remove a text property
|
||||
|
||||
@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
|
||||
Can also be used as a |method|: >
|
||||
GetPropName()->prop_type_delete()
|
||||
|
||||
prop_type_get([{name} [, {props}]) *prop_type_get()*
|
||||
prop_type_get([{name} [, {props}]]) *prop_type_get()*
|
||||
Returns the properties of property type {name}. This is a
|
||||
dictionary with the same fields as was given to
|
||||
prop_type_add().
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Apr 20
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 May 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,39 +38,59 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Include src/po/vim.pot ?
|
||||
|
||||
Vim9 script:
|
||||
more tests for # comments:
|
||||
check all calls to ends_excmd() and test that space before # is needed.
|
||||
next: ex_findpat()
|
||||
func and partial types:
|
||||
- Calling unknown user function does not give proper error message:
|
||||
assert_equal('123text', RefDef2Arg()) typo for "RetDef2Arg"
|
||||
- "func" inside "vim9script" doesn't work? (Ben Jackson, #5670)
|
||||
- :func inside vim9script must still use a:arg
|
||||
- define function and create funcref in one step:
|
||||
let ref = def(arg: type): rettype
|
||||
body
|
||||
enddef
|
||||
Making everything work:
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- Test that a script-local function in Vim9 script cannot be deleted.
|
||||
- Make "true" and "false" work in vim9script
|
||||
- Test that a function defined inside a :def function is local to that
|
||||
function, g: functions can be defined and script-local functions cannot be
|
||||
defined.
|
||||
Also:
|
||||
- When wildcards are expanded, find `=expr` and evaluate it before invoking
|
||||
the command. For example: :edit `=filename`
|
||||
- make 0 == 'string' fail on the script level, like inside :def.
|
||||
- Check that when using a user function name without prefix, it does not find
|
||||
a global function. Prefixing g: is required.
|
||||
- Compile: let [var, var] = expr
|
||||
- Compile: for [key, value] in items(map)
|
||||
- Assignment to dict doesn't work:
|
||||
let ret: dict<string> = #{}
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Compile replacement of :s command: s/pat/\=expr/
|
||||
- Compile redir to local variable: var_redir_start().
|
||||
- Compile builtin functions that access local variables:
|
||||
islocked()
|
||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
||||
- Expand `=expr` in :mkspell
|
||||
- When evaluating constants for script variables, some functions could work:
|
||||
has('asdf'), len('string')
|
||||
- Support type for ":let"/":const" at script level for Vim9 script.
|
||||
(Ben Jackson, #5671)
|
||||
Can we share the code from ex_let_const() between direct execution and
|
||||
compiling?
|
||||
- Disallow unlet for local/script/imported vars
|
||||
- Make "++nr" work.
|
||||
- Make closures work:
|
||||
- Create closure in a loop. Need to make a list of them.
|
||||
- expandcmd() with `=expr` in filename uses legacy expression.
|
||||
- eval_expr() in ex_cexpr()
|
||||
- eval_expr() call in dbg_parsearg() and debuggy_find()
|
||||
- has() is compiled as a constant, but some checks are dynamic.
|
||||
Check for dynamic values, such as "gui_running".
|
||||
New syntax and functionality:
|
||||
Improve error checking:
|
||||
- "echo Func()" is an error if Func() does not return anything.
|
||||
- Check all Ex commands, give error if they use an expression and should be
|
||||
compiled.
|
||||
Also:
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
- better implementation for partial and tests for that.
|
||||
- Make "g:imported = Export.exported" work in Vim9 script.
|
||||
- Make Foo.Bar() work to call the dict function. (#5676)
|
||||
- Support type for ":let"/":const" at script level for Vim9 script.
|
||||
(Ben Jackson, #5671)
|
||||
Can we share the code for :let between direct execution and compiling?
|
||||
- Disallow unlet for local/script/imported vars
|
||||
- Make "++nr" work.
|
||||
- Check that import in legacy script works and puts item in s:
|
||||
- Error in any command in "vim9script" aborts sourcing.
|
||||
- Find a way to test expressions in legacy and Vim9 script without duplication
|
||||
@ -90,11 +110,25 @@ Also:
|
||||
- implement class
|
||||
- implement interface
|
||||
- predefined class: Promise<T>
|
||||
- implement enum
|
||||
- Make accessing varargs faster: arg[expr]
|
||||
EVAL expr
|
||||
LOADVARARG (varags idx)
|
||||
Further improvements:
|
||||
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
|
||||
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
|
||||
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
|
||||
- Make inline function work, to be used as a funcref:
|
||||
let ref = def(arg: type): rettype
|
||||
body
|
||||
enddef
|
||||
- compile get_lambda_tv() in popup_add_timeout()
|
||||
- inline call to map() and filter()
|
||||
- compile "skip" argument of searchpair()
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
|
||||
Popup windows:
|
||||
- Can put focus in another window using API and "drop". (#6077)
|
||||
- With some sequence get get hidden finished terminal buffer. (#5768)
|
||||
Cannot close popup terminal (#5744)
|
||||
Buffer can't be wiped, gets status "aF". (#5764)
|
||||
@ -167,8 +201,12 @@ Terminal emulator window:
|
||||
background process, the window remains open, because the channel still
|
||||
exists (and output still shows). Perhaps close the window when an explicit
|
||||
++close was used? (#5931)
|
||||
- Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!".
|
||||
(Harm te Hennepe, #6129)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
A bit like using CTRL-W N first.
|
||||
Jump back like with "a" when any key is typed.
|
||||
And use modeless selection. #2962
|
||||
- Use CTRL-W CTRL-K to enter a digraph? #5371
|
||||
- When Vim runs in the terminal and changes the title, the statusline needs to
|
||||
@ -198,8 +236,10 @@ Terminal emulator window:
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||
E856, E857, E861, E900
|
||||
E453, E454, E489, E610, E611, E653, E856, E857, E861, E900
|
||||
|
||||
Patch to fix that typval related code is spread out. (Yegappan Lakshmanan,
|
||||
#6093)
|
||||
|
||||
Buffer autocommands are a bit inconsistent. Add a separate set of
|
||||
autocommands for the buffer lifecycle:
|
||||
@ -220,19 +260,41 @@ Patch to explain use of "%" in :!. (David Briscoe, #5591)
|
||||
Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546)
|
||||
Ready to include.
|
||||
|
||||
Patch to improve use of Lua path. (Prabir Shrestha, #6098)
|
||||
|
||||
Patch to make exepath() work better on MS-Windows. (#6115)
|
||||
|
||||
Patch to add "-d" to xxd. (#5616)
|
||||
|
||||
Patch for the Haiku port: #5961
|
||||
|
||||
Patch to add Turkish manual. (Emir Sarı, #5641)
|
||||
|
||||
Patch to add lua sleep function. (Prabir Shrestha, #6057)
|
||||
Alternative: use vim.call and vim.fn: #6063
|
||||
|
||||
Patch to add getmarklist() (Yegappan, #6032)
|
||||
|
||||
Patch to support different color for undercurl in cterm.
|
||||
(Timur Celik, #6011)
|
||||
|
||||
Patch to support cindent option to handle pragmas differently.
|
||||
(Max Rumpf, #5468)
|
||||
|
||||
Patch to add ":syn foldlevel" to use fold level further down the line.
|
||||
(Brad King, 2016 Oct 19, update 2017 Jan 30, now in #6087)
|
||||
|
||||
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||
"make test_gui" crashed in submenu_change(). Fix and remove workaround in
|
||||
add_pixmap_args().
|
||||
Athena is OK.
|
||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif?
|
||||
|
||||
:map output does not clear the reset of the command line.
|
||||
(#5623, also see #5962)
|
||||
|
||||
Patch to properly break CJK lines: Anton Kochkov, #3875
|
||||
Flag in 'formatoptions' is not used in the tests.
|
||||
@ -240,6 +302,9 @@ Flag in 'formatoptions' is not used in the tests.
|
||||
Patch to add 'vtp' option. (#5344)
|
||||
Needs better docs. Is there a better name?
|
||||
|
||||
Patch to add argument to trim() to only trim start or end of a string.
|
||||
(Yegappan, #6126)
|
||||
|
||||
undo result wrong: Masato Nishihata, #4798
|
||||
|
||||
Patch for Template string: #4491. New pull: #4634
|
||||
@ -248,7 +313,22 @@ Ready to include? Review the code.
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
Patch to delete BeOS code. (#5817)
|
||||
Patch to delete BeOS code. (#5817) Anyone who wants to keep it?
|
||||
|
||||
With bash ":make" does not set v:shell_error. Possible solution: set
|
||||
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
|
||||
|
||||
Using mode() when "/pat" is used in Visual mode returns "v" instead of "c",
|
||||
which is not useful. Return "c/v" instead. And "c/o" when using "d/pat".
|
||||
#6127
|
||||
|
||||
When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
|
||||
":find testfile.c" does not ignore case.
|
||||
Might be related to #6088.
|
||||
|
||||
When changing the crypt key the buffer should be considered modified.
|
||||
Like when changing 'fileformat'. Save the old key in save_file_ff().
|
||||
(Ninu-Ciprian Marginean)
|
||||
|
||||
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||
(Paul Jolly, #5656)
|
||||
@ -265,6 +345,8 @@ Patch to add function to return the text used in the quickfix window.
|
||||
|
||||
Patch to add readdirex() (Ken Takata, #5619)
|
||||
|
||||
Wrong error when using local arglist. (Harm te Hennepe, #6133)
|
||||
|
||||
Request to support <Cmd> in mappings, similar to how Neovim does this.
|
||||
(Daniel Hahler, #4784)
|
||||
|
||||
@ -331,15 +413,13 @@ Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
|
||||
The :syntax cchar value can only be a single character. It would be useful to
|
||||
support combining characters. (Charles Campbell) Also #4687
|
||||
|
||||
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
|
||||
It can replace the BeOS code, which is likely not used anymore.
|
||||
Now on github: #1856. Updated Oct 2017
|
||||
Got permission to include this under the Vim license.
|
||||
|
||||
"--cleanFOO" does not result in an error. (#5537)
|
||||
|
||||
Add "t" action to settagstack(): truncate and add new entries. (#5405)
|
||||
|
||||
When 'relativenumber' is set the line just below a diff change doesn't get
|
||||
updated. (#6138)
|
||||
|
||||
Result of synID() sometimes wrong in help files. (#5252)
|
||||
|
||||
Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496)
|
||||
@ -1280,6 +1360,8 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
|
||||
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
|
||||
available. Should be more efficient than looping over ch_read() with
|
||||
ch_status() to check for more.
|
||||
- If buffer contents is changed in a callback, set w_redr_status so that it
|
||||
gets redrawn in redraw_after_callback(). #6120
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
@ -1403,9 +1485,6 @@ Also with latest version.
|
||||
|
||||
Cannot delete a file with square brackets with delete(). (#696)
|
||||
|
||||
Patch to add ":syn foldlevel" to use fold level further down the line.
|
||||
(Brad King, 2016 Oct 19, update 2017 Jan 30)
|
||||
|
||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||
Jul 25, #948)
|
||||
|
||||
|
@ -402,7 +402,7 @@ Another way to start in diff mode can be done from inside Vim. Edit the
|
||||
"main.c" file, then make a split and show the differences: >
|
||||
|
||||
:edit main.c
|
||||
:vertical diffsplit main.c~
|
||||
:vertical diffsplit main.c~
|
||||
|
||||
The ":vertical" command is used to make the window split vertically. If you
|
||||
omit this, you will get a horizontal split.
|
||||
|
@ -687,7 +687,7 @@ with any motion command, with text objects and in Visual mode.
|
||||
lowercase. This can be shortened to "guu". "gUgU" is shortened to "gUU" and
|
||||
"g~g~" to "g~~". Example: >
|
||||
|
||||
g~~
|
||||
g~~
|
||||
< Some GIRLS have Fun ----> sOME girls HAVE fUN ~
|
||||
|
||||
==============================================================================
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Mar 15
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 01
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -41,6 +41,11 @@ prefer. And you can use any colon command in it (commands that start with a
|
||||
specific file type. A complicated macro can be defined by a separate Vim
|
||||
script file. You can think of other uses yourself.
|
||||
|
||||
Note: if you are familiar with Python, you can find a comparison between
|
||||
Python and Vim script here, with pointers to other documents:
|
||||
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
|
||||
|
||||
|
||||
Let's start with a simple example: >
|
||||
|
||||
:let i = 1
|
||||
@ -631,6 +636,7 @@ List manipulation: *list-functions*
|
||||
deepcopy() make a full copy of a List
|
||||
filter() remove selected items from a List
|
||||
map() change each List item
|
||||
reduce() reduce a List to a value
|
||||
sort() sort a List
|
||||
reverse() reverse the order of a List
|
||||
uniq() remove copies of repeated adjacent items
|
||||
@ -687,6 +693,7 @@ Floating point computation: *float-functions*
|
||||
sinh() hyperbolic sine
|
||||
cosh() hyperbolic cosine
|
||||
tanh() hyperbolic tangent
|
||||
isinf() check for infinity
|
||||
isnan() check for not a number
|
||||
|
||||
Other computation: *bitwise-function*
|
||||
@ -695,6 +702,8 @@ Other computation: *bitwise-function*
|
||||
or() bitwise OR
|
||||
xor() bitwise XOR
|
||||
sha256() SHA-256 hash
|
||||
rand() get a pseudo-random number
|
||||
srand() initialize seed used by rand()
|
||||
|
||||
Variables: *var-functions*
|
||||
type() type of a variable
|
||||
@ -724,6 +733,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
|
||||
getcurpos() get position of the cursor
|
||||
getpos() get position of cursor, mark, etc.
|
||||
setpos() set position of cursor, mark, etc.
|
||||
getmarklist() list of global/local marks
|
||||
byte2line() get line number at a specific byte count
|
||||
line2byte() byte count at a specific line
|
||||
diff_filler() get the number of filler lines above a line
|
||||
@ -743,6 +753,7 @@ Working with text in the current buffer: *text-functions*
|
||||
prevnonblank() find previous non-blank line
|
||||
search() find a match for a pattern
|
||||
searchpos() find a match for a pattern
|
||||
searchcount() get number of matches before/after the cursor
|
||||
searchpair() find the other end of a start/skip/end
|
||||
searchpairpos() find the other end of a start/skip/end
|
||||
searchdecl() search for the declaration of a name
|
||||
@ -790,6 +801,7 @@ System functions and manipulation of files:
|
||||
hostname() name of the system
|
||||
readfile() read a file into a List of lines
|
||||
readdir() get a List of file names in a directory
|
||||
readdirex() get a List of file information in a directory
|
||||
writefile() write a List of lines or Blob into a file
|
||||
|
||||
Date and Time: *date-functions* *time-functions*
|
||||
@ -826,9 +838,11 @@ Buffers, windows and the argument list:
|
||||
listener_remove() remove a listener callback
|
||||
win_findbuf() find windows containing a buffer
|
||||
win_getid() get window ID of a window
|
||||
win_gettype() get type of window
|
||||
win_gotoid() go to window with ID
|
||||
win_id2tabwin() get tab and window nr from window ID
|
||||
win_id2win() get window nr from window ID
|
||||
win_splitmove() move window to a split of another window
|
||||
getbufinfo() get a list with buffer information
|
||||
gettabinfo() get a list with tab page information
|
||||
getwininfo() get a list with window information
|
||||
@ -905,6 +919,7 @@ Interactive: *interactive-functions*
|
||||
getchar() get a character from the user
|
||||
getcharmod() get modifiers for the last typed character
|
||||
getmousepos() get last known mouse position
|
||||
echoraw() output characters as-is
|
||||
feedkeys() put characters in the typeahead queue
|
||||
input() get a line from the user
|
||||
inputlist() let the user pick an entry from a list
|
||||
@ -946,6 +961,7 @@ Mappings and Menus: *mapping-functions*
|
||||
hasmapto() check if a mapping exists
|
||||
mapcheck() check if a matching mapping exists
|
||||
maparg() get rhs of a mapping
|
||||
mapset() restore a mapping
|
||||
menu_info() get information about a menu item
|
||||
wildmenumode() check if the wildmode is active
|
||||
|
||||
@ -966,11 +982,13 @@ Testing: *test-functions*
|
||||
test_autochdir() enable 'autochdir' during startup
|
||||
test_override() test with Vim internal overrides
|
||||
test_garbagecollect_now() free memory right now
|
||||
test_garbagecollect_soon() set a flag to free memory soon
|
||||
test_getvalue() get value of an internal variable
|
||||
test_ignore_error() ignore a specific error message
|
||||
test_null_blob() return a null Blob
|
||||
test_null_channel() return a null Channel
|
||||
test_null_dict() return a null Dict
|
||||
test_null_function() return a null Funcref
|
||||
test_null_job() return a null Job
|
||||
test_null_list() return a null List
|
||||
test_null_partial() return a null Partial function
|
||||
@ -980,6 +998,10 @@ Testing: *test-functions*
|
||||
test_feedinput() add key sequence to input buffer
|
||||
test_option_not_set() reset flag indicating option was set
|
||||
test_scrollbar() simulate scrollbar movement in the GUI
|
||||
test_refcount() return an expression's reference count
|
||||
test_srand_seed() set the seed value for srand()
|
||||
test_unknown() return a value with unknown type
|
||||
test_void() return a value with void type
|
||||
|
||||
Inter-process communication: *channel-functions*
|
||||
ch_canread() check if there is something to read
|
||||
@ -991,8 +1013,8 @@ Inter-process communication: *channel-functions*
|
||||
ch_readraw() read a raw message from a channel
|
||||
ch_sendexpr() send a JSON message over a channel
|
||||
ch_sendraw() send a raw message over a channel
|
||||
ch_evalexpr() evaluates an expression over channel
|
||||
ch_evalraw() evaluates a raw string over channel
|
||||
ch_evalexpr() evaluate an expression over channel
|
||||
ch_evalraw() evaluate a raw string over channel
|
||||
ch_status() get status of a channel
|
||||
ch_getbufnr() get the buffer number of a channel
|
||||
ch_getjob() get the job associated with a channel
|
||||
@ -1005,7 +1027,7 @@ Inter-process communication: *channel-functions*
|
||||
js_encode() encode an expression to a JSON string
|
||||
js_decode() decode a JSON string to Vim types
|
||||
|
||||
Jobs: *job-functions*
|
||||
Jobs: *job-functions*
|
||||
job_start() start a job
|
||||
job_stop() stop a job
|
||||
job_status() get the status of a job
|
||||
@ -1048,6 +1070,7 @@ Terminal window: *terminal-functions*
|
||||
term_setkill() set signal to stop job in a terminal
|
||||
term_setrestore() set command to restore a terminal
|
||||
term_setsize() set the size of a terminal
|
||||
term_setapi() set terminal JSON API function name prefix
|
||||
|
||||
Popup window: *popup-window-functions*
|
||||
popup_create() create popup centered in the screen
|
||||
@ -1066,9 +1089,13 @@ Popup window: *popup-window-functions*
|
||||
popup_close() close one popup
|
||||
popup_clear() close all popups
|
||||
popup_filter_menu() select from a list of items
|
||||
popup_filter_yesno() blocks until 'y' or 'n' is pressed
|
||||
popup_filter_yesno() block until 'y' or 'n' is pressed
|
||||
popup_getoptions() get current options for a popup
|
||||
popup_getpos() get actual position and size of a popup
|
||||
popup_findinfo() get window ID for popup info window
|
||||
popup_findpreview() get window ID for popup preview window
|
||||
popup_list() get list of all popup window IDs
|
||||
popup_locate() get popup window ID from its screen position
|
||||
|
||||
Timers: *timer-functions*
|
||||
timer_start() create a timer
|
||||
@ -1088,8 +1115,27 @@ Prompt Buffer: *promptbuffer-functions*
|
||||
prompt_setinterrupt() set interrupt callback for a buffer
|
||||
prompt_setprompt() set the prompt text for a buffer
|
||||
|
||||
Text Properties: *text-property-functions*
|
||||
prop_add() attach a property at a position
|
||||
prop_clear() remove all properties from a line or lines
|
||||
prop_find() search for a property
|
||||
prop_list() return a list of all properties in a line
|
||||
prop_remove() remove a property from a line
|
||||
prop_type_add() add/define a property type
|
||||
prop_type_change() change properties of a type
|
||||
prop_type_delete() remove a text property type
|
||||
prop_type_get() return the properties of a type
|
||||
prop_type_list() return a list of all property types
|
||||
|
||||
Sound: *sound-functions*
|
||||
sound_clear() stop playing all sounds
|
||||
sound_playevent() play an event's sound
|
||||
sound_playfile() play a sound file
|
||||
sound_stop() stop playing a sound
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
state() get current busy state
|
||||
visualmode() last visual mode used
|
||||
exists() check if a variable, function, etc. exists
|
||||
has() check if a feature is supported in Vim
|
||||
@ -1098,6 +1144,9 @@ Various: *various-functions*
|
||||
did_filetype() check if a FileType autocommand was used
|
||||
eventhandler() check if invoked by an event handler
|
||||
getpid() get process ID of Vim
|
||||
getimstatus() check if IME status is active
|
||||
interrupt() interrupt script execution
|
||||
windowsversion() get MS-Windows version
|
||||
|
||||
libcall() call a function in an external library
|
||||
libcallnr() idem, returning a number
|
||||
@ -1115,12 +1164,14 @@ Various: *various-functions*
|
||||
|
||||
wordcount() get byte/word/char count of buffer
|
||||
|
||||
luaeval() evaluate Lua expression
|
||||
luaeval() evaluate |Lua| expression
|
||||
mzeval() evaluate |MzScheme| expression
|
||||
perleval() evaluate Perl expression (|+perl|)
|
||||
py3eval() evaluate Python expression (|+python3|)
|
||||
pyeval() evaluate Python expression (|+python|)
|
||||
pyxeval() evaluate |python_x| expression
|
||||
rubyeval() evaluate |Ruby| expression
|
||||
|
||||
debugbreak() interrupt a program being debugged
|
||||
|
||||
==============================================================================
|
||||
|
544
runtime/doc/vim-tr.1
Normal file
544
runtime/doc/vim-tr.1
Normal file
@ -0,0 +1,544 @@
|
||||
.TH VIM 1 "11 Nisan 2006"
|
||||
.SH AD
|
||||
vim \- Vi IMproved, bir programc<6D>n<EFBFBD>n metin d<>zenleyicisi
|
||||
.SH <EFBFBD>ZET
|
||||
.br
|
||||
.B vim
|
||||
[se<73>enekler] [dosya ..]
|
||||
.br
|
||||
.B vim
|
||||
[se<73>enekler] \-
|
||||
.br
|
||||
.B vim
|
||||
[se<73>enekler] \-t etiket
|
||||
.br
|
||||
.B vim
|
||||
[se<73>enekler] \-q [hatadosyas<61>]
|
||||
.PP
|
||||
.br
|
||||
.B ex
|
||||
.br
|
||||
.B view
|
||||
.br
|
||||
.B gvim
|
||||
.B gview
|
||||
.B evim
|
||||
.B eview
|
||||
.br
|
||||
.B rvim
|
||||
.B rview
|
||||
.B rgvim
|
||||
.B rgview
|
||||
.SH TANIM
|
||||
.B Vim,
|
||||
Vi ile yukar<61>ya do<64>ru uyumlu olan bir metin d<>zenleyicisidir.
|
||||
Her t<>r d<>z metni d<>zenlemede kullan<61>labilir.
|
||||
<EFBFBD>zellikle programlar<61> d<>zenlemede yararl<72>d<EFBFBD>r.
|
||||
.PP
|
||||
Vi <20>zerine yap<61>lm<6C><6D> bir<69>ok geli<6C>tirme ve iyile<6C>tirmeyi i<>erir:
|
||||
<EFBFBD>ok d<>zeyli geri alma, <20>oklu pencereler ve arabellekler, s<>zdizim vurgulama,
|
||||
komut sat<61>r<EFBFBD> d<>zenleme, dosya ad<61> tamamlama, <20>evrimi<6D>i yard<72>m, g<>rsel se<73>im vb.
|
||||
.B Vim
|
||||
ve Vi aras<61>ndaki de<64>i<EFBFBD>ikliklerin bir <20>zeti i<>in ":help vi_diff.txt"
|
||||
dosyas<EFBFBD>na bir g<>z at<61>n.
|
||||
.PP
|
||||
.B Vim'i
|
||||
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>rken gerekli olan yard<72>m<EFBFBD>n <20>o<EFBFBD>u <20>evrimi<6D>i yard<72>m sisteminden elde
|
||||
edilebilir. Bunun i<>in ":help" komutunu kullanabilirsiniz.
|
||||
A<EFBFBD>a<EFBFBD><EFBFBD>da <20>EVR<56>M<EFBFBD><4D><EFBFBD> YARDIM b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
|
||||
.PP
|
||||
Genelde
|
||||
.B Vim
|
||||
tek bir dosyay<61> d<>zenlemek i<>in <20>u komutla <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r:
|
||||
.PP
|
||||
vim dosya
|
||||
.PP
|
||||
Biraz daha a<>acak olursak:
|
||||
.PP
|
||||
vim [se<73>enekler] [dosyalistesi]
|
||||
.PP
|
||||
E<EFBFBD>er dosya listesi sa<73>lanmam<61><6D>sa, d<>zenleyici bo<62> bir arabellek a<>ar.
|
||||
Bunun d<><64><EFBFBD>nda a<>a<EFBFBD><61>daki d<>rt se<73>enekten bir tanesi de bir veya birden <20>ok
|
||||
dosyay<EFBFBD> d<>zenlemek i<>in kullan<61>labilir.
|
||||
.TP 12
|
||||
dosya ..
|
||||
Dosya adlar<61>n<EFBFBD>n bir listesi.
|
||||
Bunlardan ilki ekrana getirilip arabelle<6C>e y<>klenir.
|
||||
<EFBFBD>mle<EFBFBD> arabelle<6C>in ilk sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>l<EFBFBD>r.
|
||||
Di<EFBFBD>er dosyalara ":next" komutu ile ge<67>ebilirsiniz.
|
||||
Ad<EFBFBD> tire ile ba<62>layan bir dosyay<61> d<>zenlemek i<>in dosya listesinin ba<62><61>na
|
||||
"\-\-" koyun.
|
||||
.TP
|
||||
\-
|
||||
D<EFBFBD>zenlenecek dosya stdin'den okunur. Komutlar bir tty olmas<61> gereken
|
||||
stderr'den okunur.
|
||||
.TP
|
||||
\-t {etiket}
|
||||
D<EFBFBD>zenlenecek dosya ve bu dosyan<61>n ba<62>lang<6E><67> imle<6C> konumu bir "etiket"e
|
||||
dayan<EFBFBD>r, bir t<>r b<>rakt<6B><74><EFBFBD>n<EFBFBD>z konumu belirten bir ayra<72> gibi.
|
||||
Etiket dosyas<61>nda {etiket} aran<61>r, ili<6C>kin dosya <20>u anki dosya olur ve
|
||||
ili<EFBFBD>kin komut <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
|
||||
Bu genelde C programlar<61> i<>in kullan<61>l<EFBFBD>r, {etiket} bu durumda bir i<>lev
|
||||
olabilir.
|
||||
Bunun sonucunda bu i<>levi i<>eren dosya o anki dosya olur ve imle<6C> bu
|
||||
i<EFBFBD>levin ba<62>lang<6E>c<EFBFBD>na konumland<6E>r<EFBFBD>l<EFBFBD>r.
|
||||
Ek bilgi i<>in: ":help tag\-commands".
|
||||
.TP
|
||||
\-q [hatadosyas<61>]
|
||||
H<EFBFBD>zl<EFBFBD> d<>zelt kipinde ba<62>lat
|
||||
[hatadosyas<61>] okunur ve ilk hata g<>r<EFBFBD>nt<6E>lenir.
|
||||
E<EFBFBD>er [hatadosyas<61>] sa<73>lanmazsa, dosya ad<61> 'errorfile' se<73>ene<6E>inden al<61>n<EFBFBD>r
|
||||
(<28>ntan<61>ml<6D> olarak Amiga i<>in "AztecC.Err", di<64>er sistemlerde "errors.err").
|
||||
Sonraki hatalara ":cn" komutu ile ge<67>ilebilir.
|
||||
Ek bilgi i<>in: ":help quickfix".
|
||||
.PP
|
||||
.B Vim
|
||||
girilen komutun ad<61>na g<>re de<64>i<EFBFBD>ik bi<62>imde davran<61>r (<28>al<61><6C>t<EFBFBD>r<EFBFBD>labilir h<>l<EFBFBD>
|
||||
ayn<EFBFBD> dosya olarak kalabilir).
|
||||
.TP 10
|
||||
vim
|
||||
"Normal" kip, standart <20>al<61><6C>ma bi<62>imi.
|
||||
.TP
|
||||
ex
|
||||
Ex kipinde ba<62>lat.
|
||||
"\-e" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
|
||||
Normal kipe ":vi" komutu ile ge<67>ilebilir.
|
||||
.TP
|
||||
view
|
||||
Saltokunur kipte ba<62>lat. Bu kipte dosya yaz<61>m<EFBFBD>na izin verilmez.
|
||||
"\-R" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
|
||||
.TP
|
||||
gvim gview
|
||||
Grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
|
||||
Yeni bir pencere a<>ar.
|
||||
"\-g" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
|
||||
.TP
|
||||
evim eview
|
||||
Kolay kipte ba<62>lat<61>lan grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
|
||||
Yeni bir pencere a<>ar.
|
||||
"\-y" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
|
||||
.TP
|
||||
rvim rview rgvim rgview
|
||||
Yukar<EFBFBD>daki ile ayn<79>, ancak s<>n<EFBFBD>rlamalar i<>erir. Kabuk komutlar<61>
|
||||
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>lamaz veya
|
||||
.B Vim
|
||||
ask<EFBFBD>ya al<61>namaz.
|
||||
"\-Z" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
|
||||
.SH SE<EFBFBD>ENEKLER
|
||||
Se<EFBFBD>enekler bir s<>ra g<>zetmeksizin dosya adlar<61>ndan <20>nce veya sonra
|
||||
kullan<EFBFBD>labilir.
|
||||
Herhangi bir de<64>i<EFBFBD>ken i<>ermeyen se<73>enekler bir tirenin ard<72>nda s<>ralanabilir.
|
||||
.TP 12
|
||||
+[num]
|
||||
<EFBFBD>lk dosya i<>in imle<6C> "num" sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>lacakt<6B>r.
|
||||
E<EFBFBD>er "num" eksikse imle<6C> en son sat<61>rda ba<62>lar.
|
||||
.TP
|
||||
+/{dizge}
|
||||
<EFBFBD>lk dosya i<>in imle<6C> {dizgi}'nin ilk e<>le<6C>mesinin oldu<64>u sat<61>rda
|
||||
konumland<EFBFBD>r<EFBFBD>lacakt<EFBFBD>r.
|
||||
Kullan<EFBFBD>labilir arama dizgileri i<>in ":help search\-pattern" yaz<61>n.
|
||||
.TP
|
||||
+{komut}
|
||||
.TP
|
||||
\-c {komut}
|
||||
<EFBFBD>lk dosya okunduktan sonra {komut} <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
|
||||
{komut} bir Ex komutu olarak i<>letilir.
|
||||
E<EFBFBD>er {komut} bo<62>luk i<>eriyorsa <20>ift t<>rnak i<>erisine al<61>nmal<61>d<EFBFBD>r (bu
|
||||
kullan<EFBFBD>lan kabu<62>a ba<62>l<EFBFBD>d<EFBFBD>r).
|
||||
<EFBFBD>rnek: Vim "+set si" main.c
|
||||
.br
|
||||
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
||||
.TP
|
||||
\-S {dosya}
|
||||
<EFBFBD>lk dosya okunduktan sonra {dosya} kaynak al<61>n<EFBFBD>r.
|
||||
\-c "source {dosya}" bu komutun e<>de<64>eridir.
|
||||
{dosya}, '\-' ile ba<62>layamaz.
|
||||
E<EFBFBD>er {dosya} sa<73>lanmazsa "Session.vim" kullan<61>l<EFBFBD>r (yaln<6C>zca \-S son
|
||||
de<EFBFBD>i<EFBFBD>ken olarak kullan<61>ld<6C><64><EFBFBD>nda i<>e yarar).
|
||||
.TP
|
||||
\-\-cmd {komut}
|
||||
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyas<61>n<EFBFBD> i<>letmeden
|
||||
<EFBFBD>nce <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
|
||||
"\-c" komutundan ba<62><61>ms<6D>z olarak bu komutlardan 10 taneye kadar
|
||||
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>rabilirsiniz.
|
||||
.TP
|
||||
\-A
|
||||
E<EFBFBD>er
|
||||
.B Vim
|
||||
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Arap<61>a klavye dizilimini kullanabilmesi i<>in
|
||||
ARAP<EFBFBD>A deste<74>i ile derlenmi<6D>e bu se<73>enek
|
||||
.B Vim'i
|
||||
Arap<EFBFBD>a kipinde ba<62>lat<61>r ('arabic' se<73>ene<6E>i a<><61>l<EFBFBD>r). Aksi durumda
|
||||
.B Vim
|
||||
hata verip <20><>kar.
|
||||
.TP
|
||||
\-b
|
||||
<EFBFBD>kili kip.
|
||||
Bir <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri veya ikili dosyay<61> d<>zenlemeye olanacak sa<73>layacak
|
||||
birka<EFBFBD> se<73>enek ayarlan<61>r.
|
||||
.TP
|
||||
\-C
|
||||
Uyumlu kip. 'compatible' se<73>ene<6E>ini ayarlar.
|
||||
Bu kipte
|
||||
.B Vim
|
||||
bir .vimrc dosyas<61> var olsa bile genelde Vi gibi davran<61>r.
|
||||
.TP
|
||||
\-d
|
||||
Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>rma kipinde ba<62>lat.
|
||||
Bir, iki, <20><> veya d<>rt adet dosya ad<61> de<64>i<EFBFBD>keni olmal<61>d<EFBFBD>r.
|
||||
.B Vim
|
||||
b<EFBFBD>t<EFBFBD>n dosyalar<61> yan yana a<>ar ve aralar<61>ndaki de<64>i<EFBFBD>iklikleri g<>sterir.
|
||||
vimdiff(1) gibi <20>al<61><6C><EFBFBD>r.
|
||||
.TP
|
||||
\-d {ayg<79>t}
|
||||
{ayg<79>t}'<27> bir u<>birim olarak kullanmak i<>in a<>ar.
|
||||
Yaln<EFBFBD>zca Amiga'da <20>al<61><6C><EFBFBD>r.
|
||||
<EFBFBD>rnek:
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
Hata ay<61>klama kipi. Bir beti<74>in ilk komutunu <20>al<61><6C>t<EFBFBD>r<EFBFBD>rken hata ay<61>klama
|
||||
kipine ge<67>er.
|
||||
.TP
|
||||
\-e
|
||||
.B Vim'i
|
||||
Ex kipinde ba<62>lat<61>r, "ex" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79> i<>levi g<>r<EFBFBD>r.
|
||||
.TP
|
||||
\-E
|
||||
.B Vim'i
|
||||
geli<EFBFBD>tirilmi<EFBFBD> Ex kipinde ba<62>lat<61>r, "exim" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79>
|
||||
i<EFBFBD>levi g<>r<EFBFBD>r.
|
||||
.TP
|
||||
\-f
|
||||
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
|
||||
.B Vim
|
||||
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
|
||||
Amiga'da,
|
||||
.B Vim
|
||||
yeni bir pencere a<>mak i<>in yeniden ba<62>lat<61>lmaz.
|
||||
Bu se<73>enek
|
||||
.B Vim
|
||||
d<EFBFBD>zenleme oturumunun bitmesini bekleyecek bir program taraf<61>ndan
|
||||
ba<EFBFBD>lat<EFBFBD>ld<EFBFBD><EFBFBD><EFBFBD>nda kullan<61>lmal<61>d<EFBFBD>r (<28>rn. mail).
|
||||
Amiga'da ":sh" ve ":!" komutlar<61> <20>al<61><6C>mayacakt<6B>r.
|
||||
.TP
|
||||
\-\-nofork
|
||||
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
|
||||
.B Vim
|
||||
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
|
||||
.TP
|
||||
\-F
|
||||
E<EFBFBD>er
|
||||
.B Vim
|
||||
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Fars<72>a klavye dizilimini kullanabilmesi i<>in
|
||||
FKMAP deste<74>i ile derlenmi<6D>se, bu se<73>enek
|
||||
.B Vim'i
|
||||
Fars<EFBFBD>a kipinde ba<62>lat<61>r ('fkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
|
||||
Aksi durumda
|
||||
.B Vim
|
||||
hata verip <20><>kar.
|
||||
.TP
|
||||
\-g
|
||||
E<EFBFBD>er
|
||||
.B Vim
|
||||
grafik arabirim deste<74>i ile derlenmi<6D>se bu se<73>enek grafik arabirimi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
|
||||
E<EFBFBD>er grafik arabirim deste<74>i eklenmemi<6D>se
|
||||
.B Vim
|
||||
hata verir ve <20><>kar.
|
||||
.TP
|
||||
\-h
|
||||
Komut sat<61>r<EFBFBD> de<64>i<EFBFBD>kenleri ve se<73>enekleri <20>zerine biraz yard<72>m sa<73>lar.
|
||||
Bu komuttan sonra
|
||||
.B Vim
|
||||
<EFBFBD><EFBFBD>kar.
|
||||
.TP
|
||||
\-H
|
||||
E<EFBFBD>er
|
||||
.B Vim
|
||||
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve <20>branca klavye dizilimini kullanabilmesi i<>in
|
||||
RIGHTLEFT deste<74>i ile derlenmi<6D>se, bu se<73>enek
|
||||
.B Vim'i
|
||||
<EFBFBD>branca kipinde ba<62>lat<61>r ('hkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
|
||||
Aksi durumda
|
||||
.B Vim
|
||||
hata verir ve <20><>kar.
|
||||
.TP
|
||||
\-i {viminfo}
|
||||
<EFBFBD>ntan<EFBFBD>ml<EFBFBD> "~/.viminfo" dosyas<61> yerine kullan<61>lacak olan viminfo dosyas<61>n<EFBFBD>
|
||||
belirtmek i<>in kullan<61>l<EFBFBD>r.
|
||||
Bu komut ayn<79> zamanda viminfo kullan<61>m<EFBFBD>n<EFBFBD> atlamak i<>in de kullan<61>labilir.
|
||||
Bunun i<>in dosya ad<61> yerine "NONE" vermeniz yeterlidir.
|
||||
.TP
|
||||
\-L
|
||||
\-r ile ayn<79>.
|
||||
.TP
|
||||
\-l
|
||||
Lisp kipi.
|
||||
Bu de<64>i<EFBFBD>ken 'lisp' ve 'showmatch' se<73>eneklerini a<>ar.
|
||||
.TP
|
||||
\-m
|
||||
Dosya yazma se<73>ene<6E>i kapal<61>d<EFBFBD>r.
|
||||
\'write' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
|
||||
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak dosyay<61> yazmak olanakl<6B> de<64>ildir.
|
||||
.TP
|
||||
\-M
|
||||
De<EFBFBD>i<EFBFBD>ikliklere izin verilmez. 'modifiable' ve 'write' se<73>enekleri kapat<61>l<EFBFBD>r,
|
||||
b<EFBFBD>ylece de<64>i<EFBFBD>iklik yap<61>lamaz ve dosyalar yaz<61>lamaz.
|
||||
Bu se<73>enekleri yeniden a<><61>p de<64>i<EFBFBD>iklik yapmay<61> etkinle<6C>tirebilirsiniz.
|
||||
.TP
|
||||
\-N
|
||||
Uyumsuz kip. 'no-compatible' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
|
||||
Bu se<73>enekle birlikte
|
||||
.B Vim
|
||||
biraz daha d<>zg<7A>nce <20>al<61><6C><EFBFBD>r, ancak bir .vimrc dosyas<61> olmamas<61>na ra<72>men
|
||||
Vi ile daha az uyumludur.
|
||||
.TP
|
||||
\-n
|
||||
Bir takas dosyas<61> kullan<61>lmaz.
|
||||
<EFBFBD><EFBFBD>kme sonras<61> kurtarma olanakl<6B> olmayacakt<6B>r.
|
||||
E<EFBFBD>er <20>ok yava<76> bir ortamda dosya <20>al<61><6C><EFBFBD>yorsan<61>z (<28>rn. disket) yararl<72> olabilir.
|
||||
":set uc=0" ile de yap<61>labilir.
|
||||
Geri almak i<>in ":set uc=200" yap<61>n.
|
||||
.TP
|
||||
\-nb
|
||||
NetBeans i<>in bir d<>zenleyici sunucusu olur. Ayr<79>nt<6E>lar i<>in belgelere bak<61>n.
|
||||
.TP
|
||||
\-o[N]
|
||||
N say<61>da pencereyi <20>st <20>ste a<>ar.
|
||||
N verilmezse, her dosya i<>in bir pencere a<>ar.
|
||||
.TP
|
||||
\-O[N]
|
||||
N say<61>da pencereyi yan yana a<>ar.
|
||||
N verilmezse, her dosya i<>in bir pencere a<>ar.
|
||||
.TP
|
||||
\-p[N]
|
||||
N say<61>da sekme a<>ar.
|
||||
N verilmezse, her dosya i<>in bir sekme a<>ar.
|
||||
.TP
|
||||
\-R
|
||||
Saltokunur kip.
|
||||
\'readonly' se<73>ene<6E>i a<><61>l<EFBFBD>r.
|
||||
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak yanl<6E><6C>l<EFBFBD>kla dosyan<61>n <20>zerine
|
||||
yazmaktan sizi korur.
|
||||
Dosyan<EFBFBD>n <20>zerine yazmak istemiyorsan<61>z, Ex komutuna bir <20>nlem imi ekleyin,
|
||||
<EFBFBD>rn. ":w!".
|
||||
\-R se<73>ene<6E>i ayn<79> zamanda \-n se<73>ene<6E>ini de uygular (yukar<61>da bak<61>n).
|
||||
\'readonly' se<73>ene<6E>i ":set noro" ile s<>f<EFBFBD>rlanabilir.
|
||||
Ek bilgi i<>in: ":help 'readonly'".
|
||||
.TP
|
||||
\-r
|
||||
Takas dosyalar<61>n<EFBFBD> i<>erdikleri kurtarma bilgilerini g<>sterecek bi<62>imde listeler.
|
||||
.TP
|
||||
\-r {dosya}
|
||||
Kurtarma kipi.
|
||||
<EFBFBD><EFBFBD>km<EFBFBD><EFBFBD> bir d<>zenleme oturumunu takas dosyas<61>n<EFBFBD> kullanarak kurtar<61>r.
|
||||
Takas dosyas<61> dosya ile ayn<79> ada iye olup sonuna ".swp" eklenmi<6D>tir.
|
||||
Ek bilgi i<>in: ":help recovery".
|
||||
.TP
|
||||
\-s
|
||||
Sessiz kip. Yaln<6C>zca "Ex" olarak ba<62>lat<61>ld<6C><64><EFBFBD>nda veya "\-e" se<73>ene<6E>i
|
||||
"\-s" se<73>ene<6E>inden <20>nce verildi<64>inde <20>al<61><6C><EFBFBD>r.
|
||||
.TP
|
||||
\-s {betikgir}
|
||||
{betikgir} betik dosyas<61> okunur.
|
||||
Dosyadaki karakterler onlar<61> siz girmi<6D>siniz gibi kabul edilir.
|
||||
Ayn<EFBFBD>s<EFBFBD> ":source! {betikgir}" komutu ile de ger<65>ekle<6C>tirilebilir.
|
||||
E<EFBFBD>er dosyan<61>n sonuna d<>zenleyici <20><>kmadan <20>nce gelinirse, sonraki karakterler
|
||||
klavyeden okunur.
|
||||
.TP
|
||||
\-T {u<>birim}
|
||||
.B Vim'e
|
||||
kulland<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>z u<>birimin ad<61>n<EFBFBD> s<>yler.
|
||||
Yaln<EFBFBD>zca kendili<6C>inden okunamazsa gereklidir.
|
||||
.B Vim'in
|
||||
tan<EFBFBD>d<EFBFBD><EFBFBD><EFBFBD> bir u<>birim olmal<61>d<EFBFBD>r veya termcap veya terminfo dosyas<61>nda
|
||||
tan<EFBFBD>ml<EFBFBD> olmal<61>d<EFBFBD>r.
|
||||
.TP
|
||||
\-u {vimrc}
|
||||
<EFBFBD>lklendirme i<>in {vimrc} dosyas<61>ndaki komutlar<61> kullan.
|
||||
Di<EFBFBD>er t<>m ilklendirmeler atlan<61>r.
|
||||
Bunu <20>zel t<>rde dosyalar<61> d<>zenlemek i<>in kullan<61>n.
|
||||
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
|
||||
Ek bilgi i<>in vim i<>inde ":help initialization" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
|
||||
.TP
|
||||
\-U {gvimrc}
|
||||
Grafik arabirim ilklendirmesi i<>in {gvimrc} dosyas<61>ndaki komutlara bak<61>n.
|
||||
Di<EFBFBD>er t<>m grafik arabirim ilklendirmeleri atlan<61>r.
|
||||
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
|
||||
Ek bilgi i<>in vim i<>inde ":help gui\-init" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
|
||||
.TP
|
||||
\-V[N]
|
||||
S<EFBFBD>zl<EFBFBD> anlat<61>m. Hangi dosyalar<61>n kaynak al<61>nd<6E><64><EFBFBD>n<EFBFBD> ve viminfo dosyas<61>ndan
|
||||
nelerin okundu<64>unu yazd<7A>r<EFBFBD>r. 'verbose' i<>in iste<74>e ba<62>l<EFBFBD> N se<73>ene<6E>i
|
||||
kullan<EFBFBD>labilir. <20>ntan<61>ml<6D> say<61> 10'dur.
|
||||
.TP
|
||||
\-v
|
||||
.B Vim'i
|
||||
"vi" yazarak ba<62>lat<61>rm<72><6D> gibi Vi kipinde ba<62>lat<61>r. Bu yaln<6C>zca
|
||||
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>labilir "ex" oldu<64>unda bir i<>e yarar.
|
||||
.TP
|
||||
\-w {betik<69><6B>k}
|
||||
Girdi<EFBFBD>iniz t<>m karakterler siz
|
||||
.B Vim'den
|
||||
<EFBFBD><EFBFBD>kana de<64>in {betik<69><6B>k} dosyas<61>nda saklan<61>r.
|
||||
Bu "vim \-s" veya ":source" komutu ile kullan<61>lacak bir betik yaratmaya yarar.
|
||||
E<EFBFBD>er {betik<69><6B>k} dosyas<61> varsa karakterler dosyaya eklenir.
|
||||
.TP
|
||||
\-W {betik<69><6B>k}
|
||||
\-w gibi, ancak var olan bir dosyan<61>n <20>zerine yazar.
|
||||
.TP
|
||||
\-x
|
||||
Dosya yazarken <20>ifreleme kullan<61>r. Bir <20>ifre girmeniz istenecektir.
|
||||
.TP
|
||||
\-X
|
||||
X sunucusuna ba<62>lanmaz. Vim'in u<>birimde ba<62>lama s<>resini azalt<6C>r ancak pencere ba<62>l<EFBFBD><6C><EFBFBD>
|
||||
ve pano kullan<61>lamaz.
|
||||
.TP
|
||||
\-y
|
||||
.B Vim'i
|
||||
"evim" veya "eview" yazarak ba<62>lat<61>rm<72><6D> gibi kolay kipte ba<62>lat<61>r.
|
||||
.B Vim'i
|
||||
di<EFBFBD>er t<>kla ve yaz d<>zenleyicileri gibi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
|
||||
.TP
|
||||
\-Z
|
||||
K<EFBFBD>s<EFBFBD>tl<EFBFBD> kip. Program "r" yazarak ba<62>lat<61>lm<6C><6D> gibi davran<61>r.
|
||||
.TP
|
||||
\-\-
|
||||
Se<EFBFBD>eneklerin bitti<74>ini belirtir.
|
||||
Bundan sonraki de<64>i<EFBFBD>kenler art<72>k bir dosya ad<61> olarak i<>letilir.
|
||||
Ayn<EFBFBD> zamanda '\-' ile ba<62>layan bir dosyay<61> tan<61>tmak i<>in de kullan<61>labilir.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
Yaln<EFBFBD>zca GTK grafik arabirimi: Pencere numaras<61>n<EFBFBD> stdout'a yank<6E>la.
|
||||
.TP
|
||||
\-\-help
|
||||
Yard<EFBFBD>m iletisini yazd<7A>r<EFBFBD>r ve <20><>kar, "\-h" gibi.
|
||||
.TP
|
||||
\-\-literal
|
||||
Dosya ad<61> de<64>i<EFBFBD>kenlerini ger<65>ek anlamda i<>let, joker karakterlerini
|
||||
geni<EFBFBD>letme. Bunun kabu<62>un karakterleri kendili<6C>inden geni<6E>letti<74>i Unix'te
|
||||
bir etkisi bulunmamaktad<61>r.
|
||||
.TP
|
||||
\-\-noplugin
|
||||
Eklentileri y<>kleme. "\-u NONE" da ayn<79> i<>levi g<>r<EFBFBD>r.
|
||||
.TP
|
||||
\-\-remote
|
||||
Bir Vim sunucusuna ba<62>lan ve geri kalan de<64>i<EFBFBD>kenlerde belirtilen dosyalar<61>
|
||||
d<EFBFBD>zenle. E<>er bir sunucu bulunamazsa bir uyar<61> verilir ve dosyalar <20>u anki
|
||||
Vim'de d<>zenlenir.
|
||||
.TP
|
||||
\-\-remote\-expr {ifade}
|
||||
Bir Vim sunucusuna ba<62>lan ve {ifade}'yi de<64>erlendirip sonucu stdout'a yazd<7A>r.
|
||||
.TP
|
||||
\-\-remote\-send {anahtarlar}
|
||||
Bir Vim sunucusuna ba<62>lan ve ona {anahtarlar} g<>nder.
|
||||
.TP
|
||||
\-\-remote\-silent
|
||||
\-\-remote gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
|
||||
.TP
|
||||
\-\-remote\-wait
|
||||
\-\-remote gibi, ancak Vim dosyalar d<>zenlenene kadar <20><>kmaz.
|
||||
.TP
|
||||
\-\-remote\-wait\-silent
|
||||
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
|
||||
.TP
|
||||
\-\-serverlist
|
||||
Bulunabilecek b<>t<EFBFBD>n Vim sunucular<61>n<EFBFBD> listeler.
|
||||
.TP
|
||||
\-\-servername {ad}
|
||||
{ad}'<27> bir sunucu ad<61> olarak kullan<61>r. Bir \-\-remote de<64>i<EFBFBD>keni ve
|
||||
ba<EFBFBD>lanaca<EFBFBD><EFBFBD> sunucunun ad<61> ile kullan<61>lmad<61><64><EFBFBD> s<>rece <20>u anki Vim i<>in
|
||||
kullan<EFBFBD>l<EFBFBD>r.
|
||||
.TP
|
||||
\-\-socketid {id}
|
||||
Yaln<EFBFBD>zca GTK grafik arabirimi: GtkPlug mekanizmas<61>n<EFBFBD> kullanarak gvim'i ba<62>ka
|
||||
bir pencerede <20>al<61><6C>t<EFBFBD>r.
|
||||
.TP
|
||||
\-\-version
|
||||
S<EFBFBD>r<EFBFBD>m bilgisini yazd<7A>r<EFBFBD>r ve <20><>kar.
|
||||
.SH <EFBFBD>EVR<EFBFBD>M<EFBFBD><EFBFBD><EFBFBD> YARDIM
|
||||
.B Vim
|
||||
i<EFBFBD>inde ":help" yazarak ba<62>lay<61>n.
|
||||
Belirli bir konu <20>zerine yard<72>m almak i<>in ":help subject" yaz<61>n.
|
||||
<EFBFBD>rne<EFBFBD>in: "ZZ" komutu <20>zerine bilgi almak i<>in ":help ZZ" yaz<61>n.
|
||||
<Tab> ve CTRL-D kullanarak konular<61> tamamlay<61>n (":help cmdline\-completion").
|
||||
Bir konumdan di<64>erini atlamak i<>in etiketler mevcuttur (bir t<>r k<>pr<70> gibi),
|
||||
ek bilgi i<>in ":help").
|
||||
T<EFBFBD>m belgelendirmeyi bu bi<62>imde okuyabilirsiniz, <20>rne<6E>in: ":help syntax.txt".
|
||||
":help syntax.txt".
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/doc/*.txt
|
||||
.B Vim
|
||||
belgelendirme dosyalar<61>.
|
||||
T<EFBFBD>m listeyi g<>rmek i<>in ":help doc\-file\-list" yaz<61>n.
|
||||
.TP
|
||||
/usr/local/lib/vim/doc/tags
|
||||
Belgelendirme i<>inde veri bulmak i<>in kullan<61>lan etiketler dosyas<61>.
|
||||
.TP
|
||||
/usr/local/lib/vim/syntax/syntax.vim
|
||||
Sistem geneli s<>zdizim ilklendirmeleri.
|
||||
.TP
|
||||
/usr/local/lib/vim/syntax/*.vim
|
||||
Programlama dilleri i<>in s<>zdizim dosyalar<61>.
|
||||
.TP
|
||||
/usr/local/lib/vim/vimrc
|
||||
Sistem geneli
|
||||
.B Vim
|
||||
ilklendirmeleri.
|
||||
.TP
|
||||
~/.vimrc
|
||||
Sizin ki<6B>isel
|
||||
.B Vim
|
||||
ilklendirmeleriniz.
|
||||
.TP
|
||||
/usr/local/lib/vim/gvimrc
|
||||
Sistem geneli gvim ilklendirmeleri.
|
||||
.TP
|
||||
~/.gvimrc
|
||||
Sizin ki<6B>isel gvim ilklendirmeleriniz.
|
||||
.TP
|
||||
/usr/local/lib/vim/optwin.vim
|
||||
":options" komutu i<>in kullan<61>lan betik, g<>rsel se<73>enek ayarlar<61>.
|
||||
.TP
|
||||
/usr/local/lib/vim/menu.vim
|
||||
gvim i<>in sistem geneli men<65> ilklendirmeleri.
|
||||
.TP
|
||||
/usr/local/lib/vim/bugreport.vim
|
||||
Hata raporu olu<6C>turmak i<>in kullan<61>lan betik. Ek bilgi i<>in: ":help bugs".
|
||||
.TP
|
||||
/usr/local/lib/vim/filetype.vim
|
||||
Dosya t<>r<EFBFBD>n<EFBFBD> ad<61>ndan tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
|
||||
.TP
|
||||
/usr/local/lib/vim/scripts.vim
|
||||
Dosya t<>r<EFBFBD>n<EFBFBD> i<>eri<72>inden tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
|
||||
.TP
|
||||
/usr/local/lib/vim/print/*.ps
|
||||
PostScript yazd<7A>rmas<61> i<>in kullan<61>lan dosyalar.
|
||||
.PP
|
||||
En g<>ncel bilgiler i<>in V<>M ana sayfas<61>n<EFBFBD> ziyaret edin:
|
||||
.br
|
||||
<URL:http://www.vim.org/>
|
||||
.SH AYRICA BAKINIZ
|
||||
vimtutor(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
|
||||
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
|
||||
Ek bilgi i<>in
|
||||
.B Vim
|
||||
i<EFBFBD>inde ":help credits" yaz<61>n.
|
||||
.br
|
||||
.B Vim
|
||||
Stevie tabanl<6E>d<EFBFBD>r, yazarlar<61>: Tim Thompson,
|
||||
Tony Andrews ve G.R. (Fred) Walter.
|
||||
Orijinal koddan geriye pek bir <20>ey kalmad<61><64><EFBFBD>n<EFBFBD> s<>ylemek yanl<6E><6C> olmaz.
|
||||
.SH HATALAR
|
||||
Bilinen hatalar<61>n bir listesi i<>in ":help todo" yaz<61>n.
|
||||
.PP
|
||||
Unutmay<EFBFBD>n ki, ba<62>kalar<61> taraf<61>ndan hata olarak de<64>erlendirilebilecek konular<61>n
|
||||
bir <20>o<EFBFBD>u Vi'nin davran<61><6E>lar<61>na sad<61>k kal<61>nmas<61> nedeniyle vard<72>r. Yine de
|
||||
baz<EFBFBD> <20>eylerin "Vi bunu de<64>i<EFBFBD>ik bi<62>imde yap<61>yor" diye hata olabilece<63>ini
|
||||
d<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>yorsan<EFBFBD>z, "vi_diff.txt" dosyas<61>n<EFBFBD> dikkatle okuyun (veya Vim i<>inde
|
||||
:help vi_diff.txt yaz<61>n.
|
||||
Ek olarak 'compatible' ve 'cpoptions' se<73>eneklerine de bakabilirsiniz.
|
544
runtime/doc/vim-tr.UTF-8.1
Normal file
544
runtime/doc/vim-tr.UTF-8.1
Normal file
@ -0,0 +1,544 @@
|
||||
.TH VIM 1 "11 Nisan 2006"
|
||||
.SH AD
|
||||
vim \- Vi IMproved, bir programcının metin düzenleyicisi
|
||||
.SH ÖZET
|
||||
.br
|
||||
.B vim
|
||||
[seçenekler] [dosya ..]
|
||||
.br
|
||||
.B vim
|
||||
[seçenekler] \-
|
||||
.br
|
||||
.B vim
|
||||
[seçenekler] \-t etiket
|
||||
.br
|
||||
.B vim
|
||||
[seçenekler] \-q [hatadosyası]
|
||||
.PP
|
||||
.br
|
||||
.B ex
|
||||
.br
|
||||
.B view
|
||||
.br
|
||||
.B gvim
|
||||
.B gview
|
||||
.B evim
|
||||
.B eview
|
||||
.br
|
||||
.B rvim
|
||||
.B rview
|
||||
.B rgvim
|
||||
.B rgview
|
||||
.SH TANIM
|
||||
.B Vim,
|
||||
Vi ile yukarıya doğru uyumlu olan bir metin düzenleyicisidir.
|
||||
Her tür düz metni düzenlemede kullanılabilir.
|
||||
Özellikle programları düzenlemede yararlıdır.
|
||||
.PP
|
||||
Vi üzerine yapılmış birçok geliştirme ve iyileştirmeyi içerir:
|
||||
Çok düzeyli geri alma, çoklu pencereler ve arabellekler, sözdizim vurgulama,
|
||||
komut satırı düzenleme, dosya adı tamamlama, çevrimiçi yardım, görsel seçim vb.
|
||||
.B Vim
|
||||
ve Vi arasındaki değişikliklerin bir özeti için ":help vi_diff.txt"
|
||||
dosyasına bir göz atın.
|
||||
.PP
|
||||
.B Vim'i
|
||||
çalıştırırken gerekli olan yardımın çoğu çevrimiçi yardım sisteminden elde
|
||||
edilebilir. Bunun için ":help" komutunu kullanabilirsiniz.
|
||||
Aşağıda ÇEVRİMİÇİ YARDIM bölümüne bakın.
|
||||
.PP
|
||||
Genelde
|
||||
.B Vim
|
||||
tek bir dosyayı düzenlemek için şu komutla çalıştırılır:
|
||||
.PP
|
||||
vim dosya
|
||||
.PP
|
||||
Biraz daha açacak olursak:
|
||||
.PP
|
||||
vim [seçenekler] [dosyalistesi]
|
||||
.PP
|
||||
Eğer dosya listesi sağlanmamışsa, düzenleyici boş bir arabellek açar.
|
||||
Bunun dışında aşağıdaki dört seçenekten bir tanesi de bir veya birden çok
|
||||
dosyayı düzenlemek için kullanılabilir.
|
||||
.TP 12
|
||||
dosya ..
|
||||
Dosya adlarının bir listesi.
|
||||
Bunlardan ilki ekrana getirilip arabelleğe yüklenir.
|
||||
İmleç arabelleğin ilk satırında konumlandırılır.
|
||||
Diğer dosyalara ":next" komutu ile geçebilirsiniz.
|
||||
Adı tire ile başlayan bir dosyayı düzenlemek için dosya listesinin başına
|
||||
"\-\-" koyun.
|
||||
.TP
|
||||
\-
|
||||
Düzenlenecek dosya stdin'den okunur. Komutlar bir tty olması gereken
|
||||
stderr'den okunur.
|
||||
.TP
|
||||
\-t {etiket}
|
||||
Düzenlenecek dosya ve bu dosyanın başlangıç imleç konumu bir "etiket"e
|
||||
dayanır, bir tür bıraktığınız konumu belirten bir ayraç gibi.
|
||||
Etiket dosyasında {etiket} aranır, ilişkin dosya şu anki dosya olur ve
|
||||
ilişkin komut çalıştırılır.
|
||||
Bu genelde C programları için kullanılır, {etiket} bu durumda bir işlev
|
||||
olabilir.
|
||||
Bunun sonucunda bu işlevi içeren dosya o anki dosya olur ve imleç bu
|
||||
işlevin başlangıcına konumlandırılır.
|
||||
Ek bilgi için: ":help tag\-commands".
|
||||
.TP
|
||||
\-q [hatadosyası]
|
||||
Hızlı düzelt kipinde başlat
|
||||
[hatadosyası] okunur ve ilk hata görüntülenir.
|
||||
Eğer [hatadosyası] sağlanmazsa, dosya adı 'errorfile' seçeneğinden alınır
|
||||
(öntanımlı olarak Amiga için "AztecC.Err", diğer sistemlerde "errors.err").
|
||||
Sonraki hatalara ":cn" komutu ile geçilebilir.
|
||||
Ek bilgi için: ":help quickfix".
|
||||
.PP
|
||||
.B Vim
|
||||
girilen komutun adına göre değişik biçimde davranır (çalıştırılabilir hâlâ
|
||||
aynı dosya olarak kalabilir).
|
||||
.TP 10
|
||||
vim
|
||||
"Normal" kip, standart çalışma biçimi.
|
||||
.TP
|
||||
ex
|
||||
Ex kipinde başlat.
|
||||
"\-e" değişkeni ile de başlatılabilir.
|
||||
Normal kipe ":vi" komutu ile geçilebilir.
|
||||
.TP
|
||||
view
|
||||
Saltokunur kipte başlat. Bu kipte dosya yazımına izin verilmez.
|
||||
"\-R" değişkeni ile de başlatılabilir.
|
||||
.TP
|
||||
gvim gview
|
||||
Grafik arabirim sürümü.
|
||||
Yeni bir pencere açar.
|
||||
"\-g" değişkeni ile de başlatılabilir.
|
||||
.TP
|
||||
evim eview
|
||||
Kolay kipte başlatılan grafik arabirim sürümü.
|
||||
Yeni bir pencere açar.
|
||||
"\-y" değişkeni ile de başlatılabilir.
|
||||
.TP
|
||||
rvim rview rgvim rgview
|
||||
Yukarıdaki ile aynı, ancak sınırlamalar içerir. Kabuk komutları
|
||||
çalıştırılamaz veya
|
||||
.B Vim
|
||||
askıya alınamaz.
|
||||
"\-Z" değişkeni ile de başlatılabilir.
|
||||
.SH SEÇENEKLER
|
||||
Seçenekler bir sıra gözetmeksizin dosya adlarından önce veya sonra
|
||||
kullanılabilir.
|
||||
Herhangi bir değişken içermeyen seçenekler bir tirenin ardında sıralanabilir.
|
||||
.TP 12
|
||||
+[num]
|
||||
İlk dosya için imleç "num" satırında konumlandırılacaktır.
|
||||
Eğer "num" eksikse imleç en son satırda başlar.
|
||||
.TP
|
||||
+/{dizge}
|
||||
İlk dosya için imleç {dizgi}'nin ilk eşleşmesinin olduğu satırda
|
||||
konumlandırılacaktır.
|
||||
Kullanılabilir arama dizgileri için ":help search\-pattern" yazın.
|
||||
.TP
|
||||
+{komut}
|
||||
.TP
|
||||
\-c {komut}
|
||||
İlk dosya okunduktan sonra {komut} çalıştırılır.
|
||||
{komut} bir Ex komutu olarak işletilir.
|
||||
Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
|
||||
kullanılan kabuğa bağlıdır).
|
||||
Örnek: Vim "+set si" main.c
|
||||
.br
|
||||
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
||||
.TP
|
||||
\-S {dosya}
|
||||
İlk dosya okunduktan sonra {dosya} kaynak alınır.
|
||||
\-c "source {dosya}" bu komutun eşdeğeridir.
|
||||
{dosya}, '\-' ile başlayamaz.
|
||||
Eğer {dosya} sağlanmazsa "Session.vim" kullanılır (yalnızca \-S son
|
||||
değişken olarak kullanıldığında işe yarar).
|
||||
.TP
|
||||
\-\-cmd {komut}
|
||||
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyasını işletmeden
|
||||
önce çalıştırılır.
|
||||
"\-c" komutundan bağımsız olarak bu komutlardan 10 taneye kadar
|
||||
çalıştırabilirsiniz.
|
||||
.TP
|
||||
\-A
|
||||
Eğer
|
||||
.B Vim
|
||||
sağdan sola yazılan dosyaları ve Arapça klavye dizilimini kullanabilmesi için
|
||||
ARAPÇA desteği ile derlenmişe bu seçenek
|
||||
.B Vim'i
|
||||
Arapça kipinde başlatır ('arabic' seçeneği açılır). Aksi durumda
|
||||
.B Vim
|
||||
hata verip çıkar.
|
||||
.TP
|
||||
\-b
|
||||
İkili kip.
|
||||
Bir çalıştırılabiliri veya ikili dosyayı düzenlemeye olanacak sağlayacak
|
||||
birkaç seçenek ayarlanır.
|
||||
.TP
|
||||
\-C
|
||||
Uyumlu kip. 'compatible' seçeneğini ayarlar.
|
||||
Bu kipte
|
||||
.B Vim
|
||||
bir .vimrc dosyası var olsa bile genelde Vi gibi davranır.
|
||||
.TP
|
||||
\-d
|
||||
Karşılaştırma kipinde başlat.
|
||||
Bir, iki, üç veya dört adet dosya adı değişkeni olmalıdır.
|
||||
.B Vim
|
||||
bütün dosyaları yan yana açar ve aralarındaki değişiklikleri gösterir.
|
||||
vimdiff(1) gibi çalışır.
|
||||
.TP
|
||||
\-d {aygıt}
|
||||
{aygıt}'ı bir uçbirim olarak kullanmak için açar.
|
||||
Yalnızca Amiga'da çalışır.
|
||||
Örnek:
|
||||
"\-d con:20/30/600/150".
|
||||
.TP
|
||||
\-D
|
||||
Hata ayıklama kipi. Bir betiğin ilk komutunu çalıştırırken hata ayıklama
|
||||
kipine geçer.
|
||||
.TP
|
||||
\-e
|
||||
.B Vim'i
|
||||
Ex kipinde başlatır, "ex" çalıştırılabiliri ile aynı işlevi görür.
|
||||
.TP
|
||||
\-E
|
||||
.B Vim'i
|
||||
geliştirilmiş Ex kipinde başlatır, "exim" çalıştırılabiliri ile aynı
|
||||
işlevi görür.
|
||||
.TP
|
||||
\-f
|
||||
Önplan. Grafik arabirim sürümü için
|
||||
.B Vim
|
||||
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
|
||||
Amiga'da,
|
||||
.B Vim
|
||||
yeni bir pencere açmak için yeniden başlatılmaz.
|
||||
Bu seçenek
|
||||
.B Vim
|
||||
düzenleme oturumunun bitmesini bekleyecek bir program tarafından
|
||||
başlatıldığında kullanılmalıdır (örn. mail).
|
||||
Amiga'da ":sh" ve ":!" komutları çalışmayacaktır.
|
||||
.TP
|
||||
\-\-nofork
|
||||
Önplan. Grafik arabirim sürümü için
|
||||
.B Vim
|
||||
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
|
||||
.TP
|
||||
\-F
|
||||
Eğer
|
||||
.B Vim
|
||||
sağdan sola yazılan dosyaları ve Farsça klavye dizilimini kullanabilmesi için
|
||||
FKMAP desteği ile derlenmişse, bu seçenek
|
||||
.B Vim'i
|
||||
Farsça kipinde başlatır ('fkmap' ve 'rightleft' seçenekleri açılır).
|
||||
Aksi durumda
|
||||
.B Vim
|
||||
hata verip çıkar.
|
||||
.TP
|
||||
\-g
|
||||
Eğer
|
||||
.B Vim
|
||||
grafik arabirim desteği ile derlenmişse bu seçenek grafik arabirimi çalıştırır.
|
||||
Eğer grafik arabirim desteği eklenmemişse
|
||||
.B Vim
|
||||
hata verir ve çıkar.
|
||||
.TP
|
||||
\-h
|
||||
Komut satırı değişkenleri ve seçenekleri üzerine biraz yardım sağlar.
|
||||
Bu komuttan sonra
|
||||
.B Vim
|
||||
çıkar.
|
||||
.TP
|
||||
\-H
|
||||
Eğer
|
||||
.B Vim
|
||||
sağdan sola yazılan dosyaları ve İbranca klavye dizilimini kullanabilmesi için
|
||||
RIGHTLEFT desteği ile derlenmişse, bu seçenek
|
||||
.B Vim'i
|
||||
İbranca kipinde başlatır ('hkmap' ve 'rightleft' seçenekleri açılır).
|
||||
Aksi durumda
|
||||
.B Vim
|
||||
hata verir ve çıkar.
|
||||
.TP
|
||||
\-i {viminfo}
|
||||
Öntanımlı "~/.viminfo" dosyası yerine kullanılacak olan viminfo dosyasını
|
||||
belirtmek için kullanılır.
|
||||
Bu komut aynı zamanda viminfo kullanımını atlamak için de kullanılabilir.
|
||||
Bunun için dosya adı yerine "NONE" vermeniz yeterlidir.
|
||||
.TP
|
||||
\-L
|
||||
\-r ile aynı.
|
||||
.TP
|
||||
\-l
|
||||
Lisp kipi.
|
||||
Bu değişken 'lisp' ve 'showmatch' seçeneklerini açar.
|
||||
.TP
|
||||
\-m
|
||||
Dosya yazma seçeneği kapalıdır.
|
||||
\'write' seçeneğini sıfırlar.
|
||||
Arabelleği hâlâ değiştirebilirsiniz, ancak dosyayı yazmak olanaklı değildir.
|
||||
.TP
|
||||
\-M
|
||||
Değişikliklere izin verilmez. 'modifiable' ve 'write' seçenekleri kapatılır,
|
||||
böylece değişiklik yapılamaz ve dosyalar yazılamaz.
|
||||
Bu seçenekleri yeniden açıp değişiklik yapmayı etkinleştirebilirsiniz.
|
||||
.TP
|
||||
\-N
|
||||
Uyumsuz kip. 'no-compatible' seçeneğini sıfırlar.
|
||||
Bu seçenekle birlikte
|
||||
.B Vim
|
||||
biraz daha düzgünce çalışır, ancak bir .vimrc dosyası olmamasına rağmen
|
||||
Vi ile daha az uyumludur.
|
||||
.TP
|
||||
\-n
|
||||
Bir takas dosyası kullanılmaz.
|
||||
Çökme sonrası kurtarma olanaklı olmayacaktır.
|
||||
Eğer çok yavaş bir ortamda dosya çalışıyorsanız (örn. disket) yararlı olabilir.
|
||||
":set uc=0" ile de yapılabilir.
|
||||
Geri almak için ":set uc=200" yapın.
|
||||
.TP
|
||||
\-nb
|
||||
NetBeans için bir düzenleyici sunucusu olur. Ayrıntılar için belgelere bakın.
|
||||
.TP
|
||||
\-o[N]
|
||||
N sayıda pencereyi üst üste açar.
|
||||
N verilmezse, her dosya için bir pencere açar.
|
||||
.TP
|
||||
\-O[N]
|
||||
N sayıda pencereyi yan yana açar.
|
||||
N verilmezse, her dosya için bir pencere açar.
|
||||
.TP
|
||||
\-p[N]
|
||||
N sayıda sekme açar.
|
||||
N verilmezse, her dosya için bir sekme açar.
|
||||
.TP
|
||||
\-R
|
||||
Saltokunur kip.
|
||||
\'readonly' seçeneği açılır.
|
||||
Arabelleği hâlâ değiştirebilirsiniz, ancak yanlışlıkla dosyanın üzerine
|
||||
yazmaktan sizi korur.
|
||||
Dosyanın üzerine yazmak istemiyorsanız, Ex komutuna bir ünlem imi ekleyin,
|
||||
örn. ":w!".
|
||||
\-R seçeneği aynı zamanda \-n seçeneğini de uygular (yukarıda bakın).
|
||||
\'readonly' seçeneği ":set noro" ile sıfırlanabilir.
|
||||
Ek bilgi için: ":help 'readonly'".
|
||||
.TP
|
||||
\-r
|
||||
Takas dosyalarını içerdikleri kurtarma bilgilerini gösterecek biçimde listeler.
|
||||
.TP
|
||||
\-r {dosya}
|
||||
Kurtarma kipi.
|
||||
Çökmüş bir düzenleme oturumunu takas dosyasını kullanarak kurtarır.
|
||||
Takas dosyası dosya ile aynı ada iye olup sonuna ".swp" eklenmiştir.
|
||||
Ek bilgi için: ":help recovery".
|
||||
.TP
|
||||
\-s
|
||||
Sessiz kip. Yalnızca "Ex" olarak başlatıldığında veya "\-e" seçeneği
|
||||
"\-s" seçeneğinden önce verildiğinde çalışır.
|
||||
.TP
|
||||
\-s {betikgir}
|
||||
{betikgir} betik dosyası okunur.
|
||||
Dosyadaki karakterler onları siz girmişsiniz gibi kabul edilir.
|
||||
Aynısı ":source! {betikgir}" komutu ile de gerçekleştirilebilir.
|
||||
Eğer dosyanın sonuna düzenleyici çıkmadan önce gelinirse, sonraki karakterler
|
||||
klavyeden okunur.
|
||||
.TP
|
||||
\-T {uçbirim}
|
||||
.B Vim'e
|
||||
kullandığınız uçbirimin adını söyler.
|
||||
Yalnızca kendiliğinden okunamazsa gereklidir.
|
||||
.B Vim'in
|
||||
tanıdığı bir uçbirim olmalıdır veya termcap veya terminfo dosyasında
|
||||
tanımlı olmalıdır.
|
||||
.TP
|
||||
\-u {vimrc}
|
||||
İlklendirme için {vimrc} dosyasındaki komutları kullan.
|
||||
Diğer tüm ilklendirmeler atlanır.
|
||||
Bunu özel türde dosyaları düzenlemek için kullanın.
|
||||
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
|
||||
Ek bilgi için vim içinde ":help initialization" bölümüne bakın.
|
||||
.TP
|
||||
\-U {gvimrc}
|
||||
Grafik arabirim ilklendirmesi için {gvimrc} dosyasındaki komutlara bakın.
|
||||
Diğer tüm grafik arabirim ilklendirmeleri atlanır.
|
||||
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
|
||||
Ek bilgi için vim içinde ":help gui\-init" bölümüne bakın.
|
||||
.TP
|
||||
\-V[N]
|
||||
Sözlü anlatım. Hangi dosyaların kaynak alındığını ve viminfo dosyasından
|
||||
nelerin okunduğunu yazdırır. 'verbose' için isteğe bağlı N seçeneği
|
||||
kullanılabilir. Öntanımlı sayı 10'dur.
|
||||
.TP
|
||||
\-v
|
||||
.B Vim'i
|
||||
"vi" yazarak başlatırmış gibi Vi kipinde başlatır. Bu yalnızca
|
||||
çalıştırılabilir "ex" olduğunda bir işe yarar.
|
||||
.TP
|
||||
\-w {betikçık}
|
||||
Girdiğiniz tüm karakterler siz
|
||||
.B Vim'den
|
||||
çıkana değin {betikçık} dosyasında saklanır.
|
||||
Bu "vim \-s" veya ":source" komutu ile kullanılacak bir betik yaratmaya yarar.
|
||||
Eğer {betikçık} dosyası varsa karakterler dosyaya eklenir.
|
||||
.TP
|
||||
\-W {betikçık}
|
||||
\-w gibi, ancak var olan bir dosyanın üzerine yazar.
|
||||
.TP
|
||||
\-x
|
||||
Dosya yazarken şifreleme kullanır. Bir şifre girmeniz istenecektir.
|
||||
.TP
|
||||
\-X
|
||||
X sunucusuna bağlanmaz. Vim'in uçbirimde başlama süresini azaltır ancak pencere başlığı
|
||||
ve pano kullanılamaz.
|
||||
.TP
|
||||
\-y
|
||||
.B Vim'i
|
||||
"evim" veya "eview" yazarak başlatırmış gibi kolay kipte başlatır.
|
||||
.B Vim'i
|
||||
diğer tıkla ve yaz düzenleyicileri gibi çalıştırır.
|
||||
.TP
|
||||
\-Z
|
||||
Kısıtlı kip. Program "r" yazarak başlatılmış gibi davranır.
|
||||
.TP
|
||||
\-\-
|
||||
Seçeneklerin bittiğini belirtir.
|
||||
Bundan sonraki değişkenler artık bir dosya adı olarak işletilir.
|
||||
Aynı zamanda '\-' ile başlayan bir dosyayı tanıtmak için de kullanılabilir.
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
Yalnızca GTK grafik arabirimi: Pencere numarasını stdout'a yankıla.
|
||||
.TP
|
||||
\-\-help
|
||||
Yardım iletisini yazdırır ve çıkar, "\-h" gibi.
|
||||
.TP
|
||||
\-\-literal
|
||||
Dosya adı değişkenlerini gerçek anlamda işlet, joker karakterlerini
|
||||
genişletme. Bunun kabuğun karakterleri kendiliğinden genişlettiği Unix'te
|
||||
bir etkisi bulunmamaktadır.
|
||||
.TP
|
||||
\-\-noplugin
|
||||
Eklentileri yükleme. "\-u NONE" da aynı işlevi görür.
|
||||
.TP
|
||||
\-\-remote
|
||||
Bir Vim sunucusuna bağlan ve geri kalan değişkenlerde belirtilen dosyaları
|
||||
düzenle. Eğer bir sunucu bulunamazsa bir uyarı verilir ve dosyalar şu anki
|
||||
Vim'de düzenlenir.
|
||||
.TP
|
||||
\-\-remote\-expr {ifade}
|
||||
Bir Vim sunucusuna bağlan ve {ifade}'yi değerlendirip sonucu stdout'a yazdır.
|
||||
.TP
|
||||
\-\-remote\-send {anahtarlar}
|
||||
Bir Vim sunucusuna bağlan ve ona {anahtarlar} gönder.
|
||||
.TP
|
||||
\-\-remote\-silent
|
||||
\-\-remote gibi, ancak bir sunucu bulunamazsa uyarı vermez.
|
||||
.TP
|
||||
\-\-remote\-wait
|
||||
\-\-remote gibi, ancak Vim dosyalar düzenlenene kadar çıkmaz.
|
||||
.TP
|
||||
\-\-remote\-wait\-silent
|
||||
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyarı vermez.
|
||||
.TP
|
||||
\-\-serverlist
|
||||
Bulunabilecek bütün Vim sunucularını listeler.
|
||||
.TP
|
||||
\-\-servername {ad}
|
||||
{ad}'ı bir sunucu adı olarak kullanır. Bir \-\-remote değişkeni ve
|
||||
bağlanacağı sunucunun adı ile kullanılmadığı sürece şu anki Vim için
|
||||
kullanılır.
|
||||
.TP
|
||||
\-\-socketid {id}
|
||||
Yalnızca GTK grafik arabirimi: GtkPlug mekanizmasını kullanarak gvim'i başka
|
||||
bir pencerede çalıştır.
|
||||
.TP
|
||||
\-\-version
|
||||
Sürüm bilgisini yazdırır ve çıkar.
|
||||
.SH ÇEVRİMİÇİ YARDIM
|
||||
.B Vim
|
||||
içinde ":help" yazarak başlayın.
|
||||
Belirli bir konu üzerine yardım almak için ":help subject" yazın.
|
||||
Örneğin: "ZZ" komutu üzerine bilgi almak için ":help ZZ" yazın.
|
||||
<Tab> ve CTRL-D kullanarak konuları tamamlayın (":help cmdline\-completion").
|
||||
Bir konumdan diğerini atlamak için etiketler mevcuttur (bir tür köprü gibi),
|
||||
ek bilgi için ":help").
|
||||
Tüm belgelendirmeyi bu biçimde okuyabilirsiniz, örneğin: ":help syntax.txt".
|
||||
":help syntax.txt".
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/doc/*.txt
|
||||
.B Vim
|
||||
belgelendirme dosyaları.
|
||||
Tüm listeyi görmek için ":help doc\-file\-list" yazın.
|
||||
.TP
|
||||
/usr/local/lib/vim/doc/tags
|
||||
Belgelendirme içinde veri bulmak için kullanılan etiketler dosyası.
|
||||
.TP
|
||||
/usr/local/lib/vim/syntax/syntax.vim
|
||||
Sistem geneli sözdizim ilklendirmeleri.
|
||||
.TP
|
||||
/usr/local/lib/vim/syntax/*.vim
|
||||
Programlama dilleri için sözdizim dosyaları.
|
||||
.TP
|
||||
/usr/local/lib/vim/vimrc
|
||||
Sistem geneli
|
||||
.B Vim
|
||||
ilklendirmeleri.
|
||||
.TP
|
||||
~/.vimrc
|
||||
Sizin kişisel
|
||||
.B Vim
|
||||
ilklendirmeleriniz.
|
||||
.TP
|
||||
/usr/local/lib/vim/gvimrc
|
||||
Sistem geneli gvim ilklendirmeleri.
|
||||
.TP
|
||||
~/.gvimrc
|
||||
Sizin kişisel gvim ilklendirmeleriniz.
|
||||
.TP
|
||||
/usr/local/lib/vim/optwin.vim
|
||||
":options" komutu için kullanılan betik, görsel seçenek ayarları.
|
||||
.TP
|
||||
/usr/local/lib/vim/menu.vim
|
||||
gvim için sistem geneli menü ilklendirmeleri.
|
||||
.TP
|
||||
/usr/local/lib/vim/bugreport.vim
|
||||
Hata raporu oluşturmak için kullanılan betik. Ek bilgi için: ":help bugs".
|
||||
.TP
|
||||
/usr/local/lib/vim/filetype.vim
|
||||
Dosya türünü adından tanıyan betik. Ek bilgi için: ":help 'filetype'".
|
||||
.TP
|
||||
/usr/local/lib/vim/scripts.vim
|
||||
Dosya türünü içeriğinden tanıyan betik. Ek bilgi için: ":help 'filetype'".
|
||||
.TP
|
||||
/usr/local/lib/vim/print/*.ps
|
||||
PostScript yazdırması için kullanılan dosyalar.
|
||||
.PP
|
||||
En güncel bilgiler için VİM ana sayfasını ziyaret edin:
|
||||
.br
|
||||
<URL:http://www.vim.org/>
|
||||
.SH AYRICA BAKINIZ
|
||||
vimtutor(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
|
||||
yardımlarıyla yazılmıştır.
|
||||
Ek bilgi için
|
||||
.B Vim
|
||||
içinde ":help credits" yazın.
|
||||
.br
|
||||
.B Vim
|
||||
Stevie tabanlıdır, yazarları: Tim Thompson,
|
||||
Tony Andrews ve G.R. (Fred) Walter.
|
||||
Orijinal koddan geriye pek bir şey kalmadığını söylemek yanlış olmaz.
|
||||
.SH HATALAR
|
||||
Bilinen hataların bir listesi için ":help todo" yazın.
|
||||
.PP
|
||||
Unutmayın ki, başkaları tarafından hata olarak değerlendirilebilecek konuların
|
||||
bir çoğu Vi'nin davranışlarına sadık kalınması nedeniyle vardır. Yine de
|
||||
bazı şeylerin "Vi bunu değişik biçimde yapıyor" diye hata olabileceğini
|
||||
düşünüyorsanız, "vi_diff.txt" dosyasını dikkatle okuyun (veya Vim içinde
|
||||
:help vi_diff.txt yazın.
|
||||
Ek olarak 'compatible' ve 'cpoptions' seçeneklerine de bakabilirsiniz.
|
@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2020 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
Vim9 script commands and expressions.
|
||||
Vim9 script commands and expressions. *vim9*
|
||||
|
||||
Most expression help is in |eval.txt|. This file is about the new syntax and
|
||||
features in Vim9 script.
|
||||
@ -28,29 +28,33 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
|
||||
Vim script has been growing over time, while keeping backwards compatibility.
|
||||
That means bad choices from the past often can't be changed. Execution is
|
||||
quite slow, every line is parsed every time it is executed.
|
||||
Vim script has been growing over time, while preserving backwards
|
||||
compatibility. That means bad choices from the past often can't be changed
|
||||
and compability with Vi restricts possible solutions. Execution is quite
|
||||
slow, each line is parsed every time it is executed.
|
||||
|
||||
The main goal of Vim9 script is to drastically improve performance. An
|
||||
increase in execution speed of 10 to 100 times can be expected. A secondary
|
||||
goal is to avoid Vim-specific constructs and get closer to commonly used
|
||||
programming languages, such as JavaScript, TypeScript and Java.
|
||||
The main goal of Vim9 script is to drastically improve performance. This is
|
||||
accomplished by compiling commands into instructions that can be efficiently
|
||||
executed. An increase in execution speed of 10 to 100 times can be expected.
|
||||
|
||||
A secondary goal is to avoid Vim-specific constructs and get closer to
|
||||
commonly used programming languages, such as JavaScript, TypeScript and Java.
|
||||
|
||||
The performance improvements can only be achieved by not being 100% backwards
|
||||
compatible. For example, in a function the arguments are not available in the
|
||||
"a:" dictionary, as creating that dictionary adds quite a lot of overhead.
|
||||
Other differences are more subtle, such as how errors are handled.
|
||||
compatible. For example, making function arguments available in the
|
||||
"a:" dictionary adds quite a lot of overhead. In a Vim9 function this
|
||||
dictionary is not available. Other differences are more subtle, such as how
|
||||
errors are handled.
|
||||
|
||||
The Vim9 script syntax and semantics are used in:
|
||||
- a function defined with the `:def` command
|
||||
- a script file where the first command is `vim9script`
|
||||
|
||||
When using `:function` in a Vim9 script file the legacy syntax is used.
|
||||
However, this is discouraged.
|
||||
However, this can be confusing and is therefore discouraged.
|
||||
|
||||
Vim9 script and legacy Vim script can be mixed. There is no need to rewrite
|
||||
old scripts, they keep working as before.
|
||||
Vim9 script and legacy Vim script can be mixed. There is no requirement to
|
||||
rewrite old scripts, they keep working as before.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -62,9 +66,9 @@ Comments starting with # ~
|
||||
|
||||
In Vim script comments normally start with double quote. That can also be the
|
||||
start of a string, thus in many places it cannot be used. In Vim9 script a
|
||||
comment can also start with #. Normally this is a command to list text with
|
||||
comment can also start with #. In Vi this is a command to list text with
|
||||
numbers, but you can also use `:number` for that. >
|
||||
let count = 0 # number of occurences of Ni!
|
||||
let count = 0 # number of occurences
|
||||
|
||||
To improve readability there must be a space between the command and the #
|
||||
that starts a comment. Note that #{ is the start of a dictionary, therefore
|
||||
@ -73,40 +77,62 @@ it cannot start a comment.
|
||||
|
||||
Vim9 functions ~
|
||||
|
||||
`:def` has no extra arguments like `:function` does: "range", "abort", "dict"
|
||||
or "closure". A `:def` function always aborts on an error, does not get a
|
||||
range passed and cannot be a "dict" function.
|
||||
A function defined with `:def` is compiled. Execution is many times faster,
|
||||
often 10x to 100x times.
|
||||
|
||||
In the function body:
|
||||
- Arguments are accessed by name, without "a:".
|
||||
- There is no "a:" dictionary or "a:000" list. Variable arguments are defined
|
||||
with a name and have a list type: >
|
||||
def MyFunc(...itemlist: list<type>)
|
||||
Many errors are already found when compiling, before the function is executed.
|
||||
The syntax is strict, to enforce code that is easy to read and understand.
|
||||
|
||||
Compilation is done when the function is first called, or when the
|
||||
`:defcompile` command is encountered in the script where the function was
|
||||
defined.
|
||||
|
||||
`:def` has no options like `:function` does: "range", "abort", "dict" or
|
||||
"closure". A `:def` function always aborts on an error, does not get a range
|
||||
passed and cannot be a "dict" function.
|
||||
|
||||
The argument types and return type need to be specified. The "any" type can
|
||||
be used, type checking will then be done at runtime, like with legacy
|
||||
functions.
|
||||
|
||||
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
|
||||
"a:000" list.
|
||||
|
||||
Variable arguments are defined as the last argument, with a name and have a
|
||||
list type, similar to Typescript. For example, a list of numbers: >
|
||||
def MyFunc(...itemlist: list<number>)
|
||||
for item in itemlist
|
||||
...
|
||||
|
||||
|
||||
Functions are script-local by default ~
|
||||
Functions and variables are script-local by default ~
|
||||
|
||||
When using `:function` or `:def` to specify a new function at the script level
|
||||
in a Vim9 script, the function is local to the script, as if "s:" was
|
||||
prefixed. To define a global function the "g:" prefix must be used.
|
||||
prefixed. Using the "s:" prefix is optional.
|
||||
|
||||
To define or use a global function or variable the "g:" prefix must be used.
|
||||
|
||||
When using `:function` or `:def` to specify a new function inside a function,
|
||||
the function is local to the function. It is not possible to define a
|
||||
script-local function inside a function. To define a global function the "g:"
|
||||
prefix must be used.
|
||||
script-local function inside a function. It is possible to define a global
|
||||
function, using the "g:" prefix.
|
||||
|
||||
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
||||
search for the function in this order:
|
||||
- Local to the current function scope.
|
||||
- Local to the current scope and outer scopes up to the function scope.
|
||||
- Local to the current script file.
|
||||
- Imported functions, see `:import`.
|
||||
- Global.
|
||||
In all cases the function must be defined before used. That is when it is
|
||||
first called or when `:defcompile` causes the call to be compiled.
|
||||
|
||||
Global functions can be defined and deleted at nearly any time. In Vim9
|
||||
script script-local functions are defined once when the script is sourced and
|
||||
cannot be deleted.
|
||||
The result is that functions and variables without a namespace can always be
|
||||
found in the script, either defined there or imported. Global functions and
|
||||
variables could be defined anywhere (good luck finding where!).
|
||||
|
||||
Global functions can be still be defined and deleted at nearly any time. In
|
||||
Vim9 script script-local functions are defined once when the script is sourced
|
||||
and cannot be deleted or replaced.
|
||||
|
||||
|
||||
Variable declarations with :let and :const ~
|
||||
@ -141,8 +167,8 @@ The declaration must be done earlier: >
|
||||
endif
|
||||
echo inner
|
||||
|
||||
To intentionally use a variable that won't be available later, a block can be
|
||||
used: >
|
||||
To intentionally avoid a variable being available later, a block can be used:
|
||||
>
|
||||
{
|
||||
let temp = 'temp'
|
||||
...
|
||||
@ -156,12 +182,12 @@ and without `:let`, because there is no rule about where they are declared.
|
||||
Variables cannot shadow previously defined variables.
|
||||
Variables may shadow Ex commands, rename the variable if needed.
|
||||
|
||||
Global variables must be prefixed with "g:", also at the script level.
|
||||
However, global user defined functions are used without "g:". >
|
||||
Global variables and user defined functions must be prefixed with "g:", also
|
||||
at the script level. >
|
||||
vim9script
|
||||
let script_local = 'text'
|
||||
let g:global = 'value'
|
||||
let Funcref = ThatFunction
|
||||
let Funcref = g:ThatFunction
|
||||
|
||||
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
|
||||
used to repeat a `:substitute` command.
|
||||
@ -366,7 +392,9 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||
`:def`, but it is not possible to nest `:def` inside
|
||||
`:function`, for backwards compatibility.
|
||||
|
||||
[!] is used as with `:function`.
|
||||
[!] is used as with `:function`. Note that in Vim9
|
||||
script script-local functions cannot be deleted or
|
||||
redefined.
|
||||
|
||||
*:enddef*
|
||||
:enddef End of a function defined with `:def`.
|
||||
@ -377,6 +405,10 @@ variables can be accessed without the "s:" prefix. They must be defined
|
||||
before the function. If the script the function is defined in is legacy
|
||||
script, then script-local variables must be accessed with the "s:" prefix.
|
||||
|
||||
*:defc* *:defcompile*
|
||||
:defc[ompile] Compile functions defined in the current script that
|
||||
were not compiled yet.
|
||||
This will report errors found during the compilation.
|
||||
|
||||
*:disa* *:disassemble*
|
||||
:disa[ssemble] {func} Show the instructions generated for {func}.
|
||||
|
45
runtime/doc/vimdiff-tr.1
Normal file
45
runtime/doc/vimdiff-tr.1
Normal file
@ -0,0 +1,45 @@
|
||||
.TH VIMDIFF 1 "30 Mart 2001"
|
||||
.SH AD
|
||||
vimdiff \- bir dosyan<61>n d<>rt adede kadar s<>r<EFBFBD>mlerini Vim ile d<>zenle
|
||||
ve ayr<79>mlar<61>n<EFBFBD> g<>ster
|
||||
.SH <EFBFBD>ZET
|
||||
.br
|
||||
.B vimdiff
|
||||
[se<73>enekler] dosya1 dosya2 [dosya3 [dosya4]]
|
||||
.PP
|
||||
.B gvimdiff
|
||||
.SH TANIM
|
||||
.B Vimdiff,
|
||||
.B Vim
|
||||
i<EFBFBD>inde iki (<28><> veya d<>rt) dosyay<61> a<>ar.
|
||||
Her dosya ayr<79> pencerelerde a<><61>l<EFBFBD>r.
|
||||
Dosyalar aras<61>ndaki ayr<79>mlar vurgulan<61>r.
|
||||
B<EFBFBD>ylece de<64>i<EFBFBD>iklikler kolayca denetlenebilir ve ayn<79> dosyan<61>n ba<62>ka bir
|
||||
s<EFBFBD>r<EFBFBD>m<EFBFBD>ne kolayl<79>kla aktar<61>labilir.
|
||||
.PP
|
||||
Vim hakk<6B>nda ek bilgi i<>in: vim(1)
|
||||
.PP
|
||||
.B gvimdiff
|
||||
olarak ba<62>lat<61>l<EFBFBD>rsa varsa grafik arabirim a<><61>l<EFBFBD>r.
|
||||
.PP
|
||||
Her pencerede 'diff' se<73>ene<6E>i a<><61>l<EFBFBD>r, b<>ylece de<64>i<EFBFBD>iklikler vurgulan<61>r.
|
||||
.br
|
||||
\'wrap' ve 'scrollbind' se<73>enekleri metnin d<>zg<7A>n g<>r<EFBFBD>nmesi i<>in a<><61>l<EFBFBD>r.
|
||||
.br
|
||||
\'foldmethod' se<73>ene<6E>i "diff"e, ayarlan<61>r, b<>ylece sat<61>r aral<61>klar<61>
|
||||
k<EFBFBD>vr<EFBFBD>l<EFBFBD>r. 'foldcolumn' se<73>ene<6E>i k<>v<EFBFBD>rmalar<61> kolay ayr<79>mlama ve a<><61>p kapama
|
||||
i<EFBFBD>in iki olarak ayarlan<61>r.
|
||||
.SH SE<EFBFBD>ENEKLER
|
||||
Sat<EFBFBD>rlar hizalama i<>in "\-O" se<73>ene<6E>i kullan<61>lm<6C><6D><EFBFBD>as<61>na dikey b<>l<EFBFBD>nt<6E>ler
|
||||
i<EFBFBD>inde g<>r<EFBFBD>nt<6E>lenir.
|
||||
Yatay b<>l<EFBFBD>nt<6E>ler kullanmak i<>in "\-o" kullan<61>n.
|
||||
Di<EFBFBD>er t<>m de<64>i<EFBFBD>kenler i<>in: vim(1).
|
||||
.SH AYRICA BAKINIZ
|
||||
vim(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
|
||||
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
|
||||
Ek bilgi i<>in
|
||||
.B Vim
|
||||
i<EFBFBD>inde ":help credits" yaz<61>n.
|
45
runtime/doc/vimdiff-tr.UTF-8.1
Normal file
45
runtime/doc/vimdiff-tr.UTF-8.1
Normal file
@ -0,0 +1,45 @@
|
||||
.TH VIMDIFF 1 "30 Mart 2001"
|
||||
.SH AD
|
||||
vimdiff \- bir dosyanın dört adede kadar sürümlerini Vim ile düzenle
|
||||
ve ayrımlarını göster
|
||||
.SH ÖZET
|
||||
.br
|
||||
.B vimdiff
|
||||
[seçenekler] dosya1 dosya2 [dosya3 [dosya4]]
|
||||
.PP
|
||||
.B gvimdiff
|
||||
.SH TANIM
|
||||
.B Vimdiff,
|
||||
.B Vim
|
||||
içinde iki (üç veya dört) dosyayı açar.
|
||||
Her dosya ayrı pencerelerde açılır.
|
||||
Dosyalar arasındaki ayrımlar vurgulanır.
|
||||
Böylece değişiklikler kolayca denetlenebilir ve aynı dosyanın başka bir
|
||||
sürümüne kolaylıkla aktarılabilir.
|
||||
.PP
|
||||
Vim hakkında ek bilgi için: vim(1)
|
||||
.PP
|
||||
.B gvimdiff
|
||||
olarak başlatılırsa varsa grafik arabirim açılır.
|
||||
.PP
|
||||
Her pencerede 'diff' seçeneği açılır, böylece değişiklikler vurgulanır.
|
||||
.br
|
||||
\'wrap' ve 'scrollbind' seçenekleri metnin düzgün görünmesi için açılır.
|
||||
.br
|
||||
\'foldmethod' seçeneği "diff"e, ayarlanır, böylece satır aralıkları
|
||||
kıvrılır. 'foldcolumn' seçeneği kıvırmaları kolay ayrımlama ve açıp kapama
|
||||
için iki olarak ayarlanır.
|
||||
.SH SEÇENEKLER
|
||||
Satırlar hizalama için "\-O" seçeneği kullanılmışçasına dikey bölüntüler
|
||||
içinde görüntülenir.
|
||||
Yatay bölüntüler kullanmak için "\-o" kullanın.
|
||||
Diğer tüm değişkenler için: vim(1).
|
||||
.SH AYRICA BAKINIZ
|
||||
vim(1)
|
||||
.SH YAZAR
|
||||
.B Vim'in
|
||||
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
|
||||
yardımlarıyla yazılmıştır.
|
||||
Ek bilgi için
|
||||
.B Vim
|
||||
içinde ":help credits" yazın.
|
50
runtime/doc/vimtutor-tr.1
Normal file
50
runtime/doc/vimtutor-tr.1
Normal file
@ -0,0 +1,50 @@
|
||||
.TH VIMTUTOR 1 "2 Nisan 2001"
|
||||
.SH AD
|
||||
vimtutor \- Vim e<>itmeni
|
||||
.SH <EFBFBD>ZET
|
||||
.br
|
||||
.B vimtutor [\-g] [dil]
|
||||
.SH TANIM
|
||||
.B Vimtutor,
|
||||
.B Vim
|
||||
e<EFBFBD>itmenini ba<62>lat<61>r.
|
||||
<EFBFBD>nce orijinal e<>itmen dosyas<61>n<EFBFBD>n bir kopyas<61>n<EFBFBD> al<61>r, b<>ylece bir de<64>i<EFBFBD>ikli<6C>e
|
||||
u<EFBFBD>ramadan de<64>i<EFBFBD>tirilebilir.
|
||||
.PP
|
||||
.B Vimtutor
|
||||
ilk
|
||||
.B Vim
|
||||
komutlar<EFBFBD>n<EFBFBD> <20><>renmek isteyen ki<6B>iler i<>in yararl<72>d<EFBFBD>r.
|
||||
.PP
|
||||
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> \-g de<64>i<EFBFBD>keni vimtutor'u vim yerine e<>er y<>kl<6B> ise gvim ile
|
||||
ba<EFBFBD>lat<EFBFBD>r. Y<>kl<6B> de<64>ilse a<>mak i<>in Vim kullan<61>l<EFBFBD>r.
|
||||
.PP
|
||||
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> [dil] de<64>i<EFBFBD>keni iki harfli dil kodunu belirtir, <20>rne<6E>in "tr"
|
||||
veya "es". E<>er [dil] de<64>i<EFBFBD>keni verilmemi<6D>se mevcut yerelle<6C>tirme
|
||||
kullan<EFBFBD>l<EFBFBD>r.
|
||||
E<EFBFBD>er bu dilde bir e<>itmen varsa kullan<61>l<EFBFBD>r.
|
||||
Yoksa <20>ngilizce s<>r<EFBFBD>m kullan<61>lacakt<6B>r.
|
||||
.PP
|
||||
.B Vim
|
||||
her zaman Vi uyumlu kipte ba<62>lat<61>l<EFBFBD>r.
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/tutor/tutor[.dil]
|
||||
.B Vimtutor
|
||||
metin dosyalar<61>.
|
||||
.TP 15
|
||||
/usr/local/lib/vim/tutor/tutor.vim
|
||||
.B Vimtutor
|
||||
metin dosyas<61>n<EFBFBD> kopyalamak i<>in kullan<61>lan betik.
|
||||
.SH YAZAR
|
||||
.B Vimtutor
|
||||
ilk olarak Vi i<>in Michael C. Pierce ve Robert K. Ware,
|
||||
Colorado School of Mines taraf<61>ndan, Colorado State University'den Charles
|
||||
Smith'in verdi<64>i fikirler kullan<61>larak yaz<61>ld<6C>.
|
||||
E-posta: bware@mines.colorado.edu.
|
||||
.br
|
||||
.B Vim
|
||||
uyarlamas<EFBFBD> Bram Moolenaar taraf<61>ndan yap<61>ld<6C>.
|
||||
<EFBFBD>evirmenlerin adlar<61> i<>in e<>itmen dosyalar<61>na bak<61>n.
|
||||
.SH AYRICA BAKINIz
|
||||
vim(1)
|
50
runtime/doc/vimtutor-tr.UTF-8.1
Normal file
50
runtime/doc/vimtutor-tr.UTF-8.1
Normal file
@ -0,0 +1,50 @@
|
||||
.TH VIMTUTOR 1 "2 Nisan 2001"
|
||||
.SH AD
|
||||
vimtutor \- Vim eğitmeni
|
||||
.SH ÖZET
|
||||
.br
|
||||
.B vimtutor [\-g] [dil]
|
||||
.SH TANIM
|
||||
.B Vimtutor,
|
||||
.B Vim
|
||||
eğitmenini başlatır.
|
||||
Önce orijinal eğitmen dosyasının bir kopyasını alır, böylece bir değişikliğe
|
||||
uğramadan değiştirilebilir.
|
||||
.PP
|
||||
.B Vimtutor
|
||||
ilk
|
||||
.B Vim
|
||||
komutlarını öğrenmek isteyen kişiler için yararlıdır.
|
||||
.PP
|
||||
İsteğe bağlı \-g değişkeni vimtutor'u vim yerine eğer yüklü ise gvim ile
|
||||
başlatır. Yüklü değilse açmak için Vim kullanılır.
|
||||
.PP
|
||||
İsteğe bağlı [dil] değişkeni iki harfli dil kodunu belirtir, örneğin "tr"
|
||||
veya "es". Eğer [dil] değişkeni verilmemişse mevcut yerelleştirme
|
||||
kullanılır.
|
||||
Eğer bu dilde bir eğitmen varsa kullanılır.
|
||||
Yoksa İngilizce sürüm kullanılacaktır.
|
||||
.PP
|
||||
.B Vim
|
||||
her zaman Vi uyumlu kipte başlatılır.
|
||||
.SH DOSYALAR
|
||||
.TP 15
|
||||
/usr/local/lib/vim/tutor/tutor[.dil]
|
||||
.B Vimtutor
|
||||
metin dosyaları.
|
||||
.TP 15
|
||||
/usr/local/lib/vim/tutor/tutor.vim
|
||||
.B Vimtutor
|
||||
metin dosyasını kopyalamak için kullanılan betik.
|
||||
.SH YAZAR
|
||||
.B Vimtutor
|
||||
ilk olarak Vi için Michael C. Pierce ve Robert K. Ware,
|
||||
Colorado School of Mines tarafından, Colorado State University'den Charles
|
||||
Smith'in verdiği fikirler kullanılarak yazıldı.
|
||||
E-posta: bware@mines.colorado.edu.
|
||||
.br
|
||||
.B Vim
|
||||
uyarlaması Bram Moolenaar tarafından yapıldı.
|
||||
Çevirmenlerin adları için eğitmen dosyalarına bakın.
|
||||
.SH AYRICA BAKINIz
|
||||
vim(1)
|
@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.2. Last change: 2020 Mar 19
|
||||
*windows.txt* For Vim version 8.2. Last change: 2020 May 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -291,9 +291,9 @@ CTRL-W q *CTRL-W_q*
|
||||
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
given quit the {count} window.
|
||||
|
||||
When quitting the last window (not counting a help window),
|
||||
exit Vim.
|
||||
*edit-window*
|
||||
When quitting the last edit window (not counting help or
|
||||
preview windows), exit Vim.
|
||||
|
||||
When 'hidden' is set, and there is only one window for the
|
||||
current buffer, it becomes hidden. When 'hidden' is not set,
|
||||
@ -312,8 +312,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
:+quit " quit the next window
|
||||
:+2quit " quit the second next window
|
||||
<
|
||||
When closing a help window, Vim will try to restore the
|
||||
previous window layout |:helpclose|.
|
||||
When closing a help window, and this is not the only window,
|
||||
Vim will try to restore the previous window layout, see
|
||||
|:helpclose|.
|
||||
|
||||
:q[uit]!
|
||||
:{count}q[uit]!
|
||||
@ -335,9 +336,9 @@ CTRL-W c *CTRL-W_c* *:clo* *:close*
|
||||
changed and the [!] is used, the buffer becomes hidden (unless
|
||||
there is another window editing it).
|
||||
|
||||
When there is only one window in the current tab page and
|
||||
there is another tab page, this closes the current tab page.
|
||||
|tab-page|.
|
||||
When there is only one |edit-window| in the current tab page
|
||||
and there is another tab page, this closes the current tab
|
||||
page. |tab-page|.
|
||||
|
||||
This command fails when: *E444*
|
||||
- There is only one window on the screen.
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Apr 17
|
||||
" Last Change: 2020 May 07
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@ -547,6 +547,9 @@ au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
||||
" ERicsson LANGuage; Yaws is erlang too
|
||||
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
|
||||
|
||||
" Elm
|
||||
au BufNewFile,BufRead *.elm setf elm
|
||||
|
||||
" Elm Filter Rules file
|
||||
au BufNewFile,BufRead filter-rules setf elmfilt
|
||||
|
||||
@ -884,11 +887,12 @@ au BufNewFile,BufRead *.ll setf lifelines
|
||||
" Lilo: Linux loader
|
||||
au BufNewFile,BufRead lilo.conf setf lilo
|
||||
|
||||
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)
|
||||
" Lisp (*.el = ELisp, *.cl = Common Lisp)
|
||||
" *.jl was removed, it's also used for Julia, better skip than guess wrong.
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,*.L,.emacs,.sawfishrc setf lisp
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
|
||||
else
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp
|
||||
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc setf lisp
|
||||
endif
|
||||
|
||||
" SBCL implementation of Common Lisp
|
||||
@ -1133,6 +1137,9 @@ au BufNewFile,BufRead pf.conf setf pf
|
||||
" Pam conf
|
||||
au BufNewFile,BufRead */etc/pam.conf setf pamconf
|
||||
|
||||
" Pam environment
|
||||
au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv
|
||||
|
||||
" PApp
|
||||
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
|
||||
|
||||
@ -1650,7 +1657,9 @@ au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
|
||||
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
|
||||
" Systemd temp files
|
||||
au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd
|
||||
au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd
|
||||
au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd
|
||||
au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd
|
||||
|
||||
" Synopsys Design Constraints
|
||||
au BufNewFile,BufRead *.sdc setf sdc
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: MS-DOS .bat files
|
||||
" Maintainer: Mike Williams <mrw@eandem.co.uk>
|
||||
" Last Change: 14th April 2019
|
||||
" Last Change: 7th May 2020
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -19,12 +19,21 @@ setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
|
||||
setlocal commentstring=::\ %s
|
||||
setlocal formatoptions-=t formatoptions+=rol
|
||||
|
||||
" Lookup DOS keywords using Windows command help.
|
||||
if executable('help.exe')
|
||||
if has('terminal')
|
||||
setlocal keywordprg=:term\ help.exe
|
||||
else
|
||||
setlocal keywordprg=help.exe
|
||||
endif
|
||||
endif
|
||||
|
||||
" Define patterns for the browse file filter
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal comments< formatoptions<"
|
||||
let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<"
|
||||
\ . "| unlet! b:browsefiler"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: Jason Franklin <vim@justemail.net>
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2020 Apr 13
|
||||
" Last Change: 2020 May 07
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
|
19
runtime/ftplugin/masm.vim
Normal file
19
runtime/ftplugin/masm.vim
Normal file
@ -0,0 +1,19 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Microsoft Macro Assembler (80x86)
|
||||
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
|
||||
" Last Change: 2020-05-09 23:02:05 +0800
|
||||
|
||||
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 iskeyword<"
|
||||
|
||||
setlocal iskeyword=@,48-57,_,36,60,62,63,@-@
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2018 Aug 07
|
||||
" Last Change: 2020 May 17
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -12,7 +12,7 @@ endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
set cpo&vim
|
||||
|
||||
if !exists('*VimFtpluginUndo')
|
||||
func VimFtpluginUndo()
|
||||
@ -63,14 +63,14 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||
let b:did_add_maps = 1
|
||||
|
||||
" Move around functions.
|
||||
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*endf\%[unction]\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*endf\%[unction]\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [[ m':call search('^\s*\(fu\%[nction]\\|def\)\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*\(fu\%[nction]\\|def\)\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ]] m':call search('^\s*\(fu\%[nction]\\|def\)\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*\(fu\%[nction]\\|def\)\>', "W")<CR>
|
||||
nnoremap <silent><buffer> [] m':call search('^\s*end\(f\%[unction]\\|def\)\>', "bW")<CR>
|
||||
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*end\(f\%[unction]\\|def\)\>', "bW")<CR>
|
||||
nnoremap <silent><buffer> ][ m':call search('^\s*end\(f\%[unction]\\|def\)\>', "W")<CR>
|
||||
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*end\(f\%[unction]\\|def\)\>', "W")<CR>
|
||||
|
||||
" Move around comments
|
||||
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
|
||||
|
@ -28,6 +28,11 @@ set cpo&vim
|
||||
|
||||
let s:maxoff = 50 " maximum number of lines to look backwards for ()
|
||||
|
||||
" See if the specified line is already user-dedented from the expected value.
|
||||
function s:Dedented(lnum, expected)
|
||||
return indent(a:lnum) <= a:expected - shiftwidth()
|
||||
endfunction
|
||||
|
||||
function GetPythonIndent(lnum)
|
||||
|
||||
" If this line is explicitly joined: If the previous line was also joined,
|
||||
@ -158,12 +163,12 @@ function GetPythonIndent(lnum)
|
||||
" If the previous line was a stop-execution statement...
|
||||
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
|
||||
" See if the user has already dedented
|
||||
if indent(a:lnum) > indent(plnum) - shiftwidth()
|
||||
" If not, recommend one dedent
|
||||
return indent(plnum) - shiftwidth()
|
||||
if s:Dedented(a:lnum, indent(plnum))
|
||||
" If so, trust the user
|
||||
return -1
|
||||
endif
|
||||
" Otherwise, trust the user
|
||||
return -1
|
||||
" If not, recommend one dedent
|
||||
return indent(plnum) - shiftwidth()
|
||||
endif
|
||||
|
||||
" If the current line begins with a keyword that lines up with "try"
|
||||
@ -191,7 +196,7 @@ function GetPythonIndent(lnum)
|
||||
endif
|
||||
|
||||
" Or the user has already dedented
|
||||
if indent(a:lnum) <= plindent - shiftwidth()
|
||||
if s:Dedented(a:lnum, plindent)
|
||||
return -1
|
||||
endif
|
||||
|
||||
@ -203,7 +208,12 @@ function GetPythonIndent(lnum)
|
||||
" + c)
|
||||
" here
|
||||
if parlnum > 0
|
||||
return plindent
|
||||
" ...unless the user has already dedented
|
||||
if s:Dedented(a:lnum, plindent)
|
||||
return -1
|
||||
else
|
||||
return plindent
|
||||
endif
|
||||
endif
|
||||
|
||||
return -1
|
||||
|
34
runtime/indent/sshconfig.vim
Normal file
34
runtime/indent/sshconfig.vim
Normal file
@ -0,0 +1,34 @@
|
||||
" Vim indent file
|
||||
" Language: ssh config file
|
||||
" Maintainer: JasonKim <git@jasonk.me>
|
||||
" Last Change: 2020 May 16
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal autoindent
|
||||
setlocal indentexpr=GetSshconfigIndent(v:lnum)
|
||||
setlocal indentkeys=o,O,*<Return>,0=~host\ ,0=~match\ ,0#,!^F
|
||||
|
||||
let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
|
||||
|
||||
if exists("*GetSshconfigIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
function GetSshconfigIndent(lnum)
|
||||
let sw = shiftwidth()
|
||||
let prev_lnum = prevnonblank(a:lnum - 1)
|
||||
let curr_lnum = a:lnum
|
||||
let prev_line = getline(prev_lnum)
|
||||
let curr_line = getline(curr_lnum)
|
||||
if curr_line =~? '^\s*\(host\|match\)\s'
|
||||
return 0
|
||||
elseif prev_line =~? '^\s*\(host\|match\)\s'
|
||||
return sw
|
||||
else
|
||||
return indent(prev_lnum)
|
||||
endif
|
||||
endfunction
|
@ -10,6 +10,7 @@ filetype indent on
|
||||
syn on
|
||||
set nowrapscan
|
||||
set report=9999
|
||||
set modeline
|
||||
|
||||
au! SwapExists * call HandleSwapExists()
|
||||
func HandleSwapExists()
|
||||
|
53
runtime/indent/testdir/sshconfig.in
Normal file
53
runtime/indent/testdir/sshconfig.in
Normal file
@ -0,0 +1,53 @@
|
||||
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
|
||||
|
||||
# START_INDENT
|
||||
Host myhost
|
||||
User myuser
|
||||
PasswordAuthentication no
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Host ccc
|
||||
Host ddd
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
host aaa
|
||||
HOST bbb
|
||||
hoSt ccc
|
||||
match ddd
|
||||
MATCH eee
|
||||
MatCH fff
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User host
|
||||
PasswordAuthentication no
|
||||
Host *
|
||||
User user
|
||||
PasswordAuthentication no
|
||||
Host match
|
||||
User bbb
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host tab
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host mix
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Match ccc
|
||||
User ddd
|
||||
HostKeyAlgorithms ssh-ed25519
|
||||
Match eee
|
||||
# END_INDENT
|
53
runtime/indent/testdir/sshconfig.ok
Normal file
53
runtime/indent/testdir/sshconfig.ok
Normal file
@ -0,0 +1,53 @@
|
||||
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
|
||||
|
||||
# START_INDENT
|
||||
Host myhost
|
||||
User myuser
|
||||
PasswordAuthentication no
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Host ccc
|
||||
Host ddd
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
host aaa
|
||||
HOST bbb
|
||||
hoSt ccc
|
||||
match ddd
|
||||
MATCH eee
|
||||
MatCH fff
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User host
|
||||
PasswordAuthentication no
|
||||
Host *
|
||||
User user
|
||||
PasswordAuthentication no
|
||||
Host match
|
||||
User bbb
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host tab
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host mix
|
||||
User myuser
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
Host aaa
|
||||
User bbb
|
||||
Match ccc
|
||||
User ddd
|
||||
HostKeyAlgorithms ssh-ed25519
|
||||
Match eee
|
||||
# END_INDENT
|
@ -64,14 +64,17 @@
|
||||
" style) is supported. Thanks Miles Wheeler for reporting.
|
||||
" 2018/02/07 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Make indentation more smart in the normal mode
|
||||
" 2020/04/26 by Yichao Zhou <broken.zhou AT gmail.com>
|
||||
" (*) Fix a bug related to \[ & \]. Thanks Manuel Boni for
|
||||
" reporting.
|
||||
"
|
||||
" }}}
|
||||
|
||||
" Document: {{{
|
||||
"
|
||||
" To set the following options (ok, currently it's just one), add a line like
|
||||
" let g:tex_indent_items = 1
|
||||
" to your ~/.vimrc.
|
||||
" For proper latex experience, please put
|
||||
" let g:tex_flavor = "latex"
|
||||
" into your vimrc.
|
||||
"
|
||||
" * g:tex_indent_brace
|
||||
"
|
||||
@ -184,13 +187,18 @@ function! GetTeXIndent() " {{{
|
||||
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
|
||||
let cline = substitute(getline(v:lnum), '\s*%.*', '', 'g') " current line
|
||||
|
||||
let ccol = 1
|
||||
while cline[ccol] =~ '\s'
|
||||
let ccol += 1
|
||||
endwhile
|
||||
|
||||
" We are in verbatim, so do what our user what.
|
||||
if synIDattr(synID(v:lnum, indent(v:lnum), 1), "name") == "texZone"
|
||||
if synIDattr(synID(v:lnum, ccol, 1), "name") == "texZone"
|
||||
if empty(cline)
|
||||
return indent(lnum)
|
||||
else
|
||||
return indent(v:lnum)
|
||||
end
|
||||
endif
|
||||
endif
|
||||
|
||||
if lnum == 0
|
||||
@ -253,13 +261,13 @@ function! GetTeXIndent() " {{{
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
|
||||
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, ccol)
|
||||
let ind -= shiftwidth()
|
||||
let stay = 0
|
||||
endif
|
||||
|
||||
if line !~ '^\s*\\\?[\]}]'
|
||||
for i in range(indent(lnum)+1, strlen(line)-1)
|
||||
for i in range(1, strlen(line)-1)
|
||||
let char = line[i]
|
||||
if char == ']' || char == '}'
|
||||
if s:CheckPairedIsLastCharacter(lnum, i)
|
||||
|
@ -1,6 +1,6 @@
|
||||
" Vim script to work like "less"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Mar 31
|
||||
" Last Change: 2020 May 18
|
||||
|
||||
" Avoid loading this file twice, allow the user to define his own script.
|
||||
if exists("loaded_less")
|
||||
@ -66,8 +66,8 @@ endif
|
||||
" When reading from stdin don't consider the file modified.
|
||||
au VimEnter * set nomod
|
||||
|
||||
" Can't modify the text
|
||||
set noma
|
||||
" Can't modify the text or write the file.
|
||||
set nomodifiable readonly
|
||||
|
||||
" Give help
|
||||
noremap h :call <SID>Help()<CR>
|
||||
|
@ -2,7 +2,7 @@
|
||||
"
|
||||
" Author: Bram Moolenaar
|
||||
" Copyright: Vim license applies, see ":help license"
|
||||
" Last Change: 2020 Feb 19
|
||||
" Last Change: 2020 May 22
|
||||
"
|
||||
" WORK IN PROGRESS - Only the basics work
|
||||
" Note: On MS-Windows you need a recent version of gdb. The one included with
|
||||
@ -657,8 +657,10 @@ func s:InstallCommands()
|
||||
command Source call s:GotoSourcewinOrCreateIt()
|
||||
command Winbar call s:InstallWinbar()
|
||||
|
||||
" TODO: can the K mapping be restored?
|
||||
nnoremap K :Evaluate<CR>
|
||||
if !exists('g:termdebug_map_K') || g:termdebug_map_K
|
||||
let s:k_map_saved = maparg('K', 'n', 0, 1)
|
||||
nnoremap K :Evaluate<CR>
|
||||
endif
|
||||
|
||||
if has('menu') && &mouse != ''
|
||||
call s:InstallWinbar()
|
||||
@ -708,7 +710,10 @@ func s:DeleteCommands()
|
||||
delcommand Source
|
||||
delcommand Winbar
|
||||
|
||||
nunmap K
|
||||
if exists('s:k_map_saved')
|
||||
call mapset('n', 0, s:k_map_saved)
|
||||
unlet s:k_map_saved
|
||||
endif
|
||||
|
||||
if has('menu')
|
||||
" Remove the WinBar entries from all windows where it was added.
|
||||
|
@ -20,7 +20,7 @@ augroup gzip
|
||||
"
|
||||
" Set binary mode before reading the file.
|
||||
" Use "gzip -d", gunzip isn't always available.
|
||||
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst setlocal bin
|
||||
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo setlocal bin
|
||||
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
|
||||
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
|
||||
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
|
||||
@ -28,6 +28,8 @@ augroup gzip
|
||||
autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d")
|
||||
autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d")
|
||||
autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm")
|
||||
autocmd BufReadPost,FileReadPost *.br call gzip#read("brotli -d --rm")
|
||||
autocmd BufReadPost,FileReadPost *.lzo call gzip#read("lzop -d -U")
|
||||
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
|
||||
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
|
||||
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
|
||||
@ -35,6 +37,8 @@ augroup gzip
|
||||
autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z")
|
||||
autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip")
|
||||
autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm")
|
||||
autocmd BufWritePost,FileWritePost *.br call gzip#write("brotli --rm")
|
||||
autocmd BufWritePost,FileWritePost *.lzo call gzip#write("lzop -U")
|
||||
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
|
||||
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
|
||||
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
|
||||
@ -42,6 +46,8 @@ augroup gzip
|
||||
autocmd FileAppendPre *.xz call gzip#appre("xz -d")
|
||||
autocmd FileAppendPre *.lz call gzip#appre("lzip -d")
|
||||
autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm")
|
||||
autocmd FileAppendPre *.br call gzip#appre("brotli -d --rm")
|
||||
autocmd FileAppendPre *.lzo call gzip#appre("lzop -d -U")
|
||||
autocmd FileAppendPost *.gz call gzip#write("gzip")
|
||||
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
|
||||
autocmd FileAppendPost *.Z call gzip#write("compress -f")
|
||||
@ -49,4 +55,6 @@ augroup gzip
|
||||
autocmd FileAppendPost *.xz call gzip#write("xz -z")
|
||||
autocmd FileAppendPost *.lz call gzip#write("lzip")
|
||||
autocmd FileAppendPost *.zst call gzip#write("zstd --rm")
|
||||
autocmd FileAppendPost *.br call gzip#write("brotli --rm")
|
||||
autocmd FileAppendPost *.lzo call gzip#write("lzop -U")
|
||||
augroup END
|
||||
|
@ -1,13 +1,15 @@
|
||||
" Vim syntax file
|
||||
" Language: AsciiDoc
|
||||
" Author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
|
||||
" Obenhuber's original asciidoc.vim script).
|
||||
" URL: http://asciidoc.org/
|
||||
" Licence: GPL (http://www.gnu.org)
|
||||
" Remarks: Vim 6 or greater
|
||||
" Last Update: 2014 Aug 29 (see Issue 240)
|
||||
" Language: AsciiDoc
|
||||
" Maintainer: @aerostitch on GitHub (tag me in your issue in the
|
||||
" github/vim/vim repository and I'll answer when available)
|
||||
" Original author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
|
||||
" Obenhuber's original asciidoc.vim script).
|
||||
" URL: http://asciidoc.org/
|
||||
" Licence: GPL (http://www.gnu.org)
|
||||
" Remarks: Vim 6 or greater
|
||||
" Last Update: 2020 May 03 (see Issue 240)
|
||||
" Limitations:
|
||||
"
|
||||
"
|
||||
" - Nested quoted text formatting is highlighted according to the outer
|
||||
" format.
|
||||
" - If a closing Example Block delimiter may be mistaken for a title
|
||||
@ -23,9 +25,7 @@ if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn clear
|
||||
syn sync fromstart
|
||||
syn sync linebreaks=100
|
||||
" Use the default syntax syncing.
|
||||
|
||||
" Run :help syn-priority to review syntax matching priority.
|
||||
syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2020 Feb 02
|
||||
" Last Change: 2020 Apr 27
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@ -24,7 +24,7 @@ let s:supported = [
|
||||
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
|
||||
\ 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
|
||||
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
|
@ -2,7 +2,7 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2020 Feb 02
|
||||
" Last Change: 2020 Apr 27
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
@ -26,7 +26,7 @@ let s:supported = [
|
||||
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
|
||||
\ 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
|
||||
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Josh Wainwright <wainwright DOT ja AT gmail DOT com>
|
||||
" Last Maintainer: Andrew Rasmussen andyras@users.sourceforge.net
|
||||
" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net
|
||||
" Last Change: 2015-08-25
|
||||
" Last Change: 2020 May 12
|
||||
" Filenames: *.gnu *.plt *.gpi *.gih *.gp *.gnuplot scripts: #!*gnuplot
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=4873
|
||||
" Original URL: http://johnh51.get.to/vim/syntax/gnuplot.vim
|
||||
@ -479,7 +479,7 @@ syn keyword gnuplotKeyword terminal palette rgb rbg grb gbr brg bgr
|
||||
|
||||
" ---- Macros ---- "
|
||||
|
||||
syn region gnuplotMacro start="@" end=" "
|
||||
syn match gnuplotMacro "@[a-zA-Z0-9_]*"
|
||||
|
||||
" ---- Todos ---- "
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Groovy
|
||||
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
|
||||
" Version: 0.1.16
|
||||
" Original Author: Alessio Pace <billy.corgan AT tiscali.it>
|
||||
" Maintainer: Tobias Rapp <yahuxo+vim AT mailbox.org>
|
||||
" Version: 0.1.17
|
||||
" URL: http://www.vim.org/scripts/script.php?script_id=945
|
||||
" Last Change: 2016 May 23
|
||||
" Last Change: 2020 May 26
|
||||
|
||||
" THE ORIGINAL AUTHOR'S NOTES:
|
||||
"
|
||||
@ -253,7 +253,7 @@ if exists("groovy_regex_strings")
|
||||
endif
|
||||
" syn region groovyELExpr start=+${+ end=+}+ keepend contained
|
||||
syn match groovyELExpr /\${.\{-}}/ contained
|
||||
syn match groovyELExpr /\$[a-zA-Z_][a-zA-Z0-9_.]*/ contained
|
||||
syn match groovyELExpr /\$[a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\uFFFE_][a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\uFFFE0-9_.]*/ contained
|
||||
hi def link groovyELExpr Identifier
|
||||
|
||||
" TODO: better matching. I am waiting to understand how it really works in groovy
|
||||
|
@ -7,7 +7,7 @@
|
||||
" (ss) repaired several quoting and grouping glitches
|
||||
" (ss) fixed regex parsing issue with multiple qualifiers [gi]
|
||||
" (ss) additional factoring of keywords, globals, and members
|
||||
" Last Change: 2019 Sep 27
|
||||
" Last Change: 2020 May 14
|
||||
" 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
|
||||
" 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
|
||||
|
||||
@ -77,10 +77,10 @@ else
|
||||
syn match javaScriptParens "[()]"
|
||||
endif
|
||||
|
||||
syn sync fromstart
|
||||
syn sync maxlines=100
|
||||
|
||||
if main_syntax == "javascript"
|
||||
syn sync fromstart
|
||||
syn sync maxlines=100
|
||||
|
||||
syn sync ccomment javaScriptComment
|
||||
endif
|
||||
|
||||
|
@ -1,22 +1,19 @@
|
||||
" Vim syntax file
|
||||
" Language: Lex
|
||||
" Language: Lex and Flex
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Last Change: Aug 31, 2016
|
||||
" Version: 17
|
||||
" URL: http://mysite.verizon.net/astronaut/vim/index.html#SYNTAX_LEX
|
||||
"
|
||||
" Option:
|
||||
" lex_uses_cpp : if this variable exists, then C++ is loaded rather than C
|
||||
" Contributor: Robert A. van Engelen <engelen@acm.org>
|
||||
" Last Change: Apr 24, 2020
|
||||
" Version: 18
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Read the C/C++ syntax to start with
|
||||
let s:Cpath= fnameescape(expand("<sfile>:p:h").(exists("g:lex_uses_cpp")? "/cpp.vim" : "/c.vim"))
|
||||
" Read the C++ syntax to start with
|
||||
let s:Cpath= fnameescape(expand("<sfile>:p:h")."/cpp.vim")
|
||||
if !filereadable(s:Cpath)
|
||||
for s:Cpath in split(globpath(&rtp,(exists("g:lex_uses_cpp")? "syntax/cpp.vim" : "syntax/c.vim")),"\n")
|
||||
for s:Cpath in split(globpath(&rtp,"syntax/cpp.vim"),"\n")
|
||||
if filereadable(fnameescape(s:Cpath))
|
||||
let s:Cpath= fnameescape(s:Cpath)
|
||||
break
|
||||
@ -29,115 +26,163 @@ exe "syn include @lexCcode ".s:Cpath
|
||||
" --- Lex stuff ---
|
||||
" --- ========= ---
|
||||
|
||||
" Options Section
|
||||
syn match lexOptions '^%\s*option\>.*$' contains=lexPatString
|
||||
" Definitions
|
||||
" %%
|
||||
" Rules
|
||||
" %%
|
||||
" User Code
|
||||
"
|
||||
" --- ======= ---
|
||||
" --- Example ---
|
||||
" --- ======= ---
|
||||
"
|
||||
" // this is a valid lex file
|
||||
" // indented initial code block
|
||||
" #include <stdlib.h>
|
||||
" %{
|
||||
" // initial code block
|
||||
" #include <stdio.h>
|
||||
" const char *sep = "";
|
||||
" %}
|
||||
" %option outfile="scanner.c" noyywrap nodefault
|
||||
" %x COMMENT
|
||||
" id [A-Za-z_][A-Za-z0-9_]*
|
||||
" %%
|
||||
" // indented initial action code block
|
||||
" printf("BEGIN");
|
||||
" {id} printf("%s%s", sep, yytext); sep = "";
|
||||
" . |
|
||||
" \n { sep = "\n"; }
|
||||
" "/*" { BEGIN COMMENT; }
|
||||
" "//".* { }
|
||||
" <COMMENT>{
|
||||
" "*/" { BEGIN INITIAL; }
|
||||
" .|\n
|
||||
" }
|
||||
" <*><<EOF>> { // end of file
|
||||
" printf("\nEND\n");
|
||||
" yyterminate();
|
||||
" }
|
||||
" %%
|
||||
" void scan()
|
||||
" {
|
||||
" while (yylex())
|
||||
" continue;
|
||||
" }
|
||||
" /* main program */
|
||||
" int main()
|
||||
" {
|
||||
" scan();
|
||||
" }
|
||||
|
||||
" Abbreviations Section
|
||||
" Definitions Section with initial code blocks, abbreviations, options, states
|
||||
if has("folding")
|
||||
syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
|
||||
syn region lexAbbrvBlock fold start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
|
||||
else
|
||||
syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
|
||||
syn region lexAbbrvBlock start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
|
||||
endif
|
||||
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp
|
||||
syn match lexAbbrv "^%[sx]" contained
|
||||
syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude
|
||||
syn match lexOptions "^%\a\+\(\s.*\|[^{]*\)$" contains=lexOptionsEq,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace
|
||||
syn match lexOptionsEq "=" skipwhite contained
|
||||
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvPat
|
||||
syn match lexAbbrvPat "\s\S.*$"lc=1 contained contains=lexPatAbbrv,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace nextgroup=lexAbbrv,lexInclude
|
||||
syn match lexStartState "^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?\(\s\+\I\i*\)\+\s*$" contained contains=lexStartStateCmd
|
||||
syn match lexStartStateCmd '^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?' contained
|
||||
if has("folding")
|
||||
syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
|
||||
syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell
|
||||
syn region lexAbbrvComment fold start="\%^/\*" end="\*/" contains=@Spell
|
||||
syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained
|
||||
syn region lexInitialCodeBlock fold start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
|
||||
syn region lexInclude fold matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
|
||||
syn region lexAbbrvComment fold start="^\s*//" end="$" contains=@Spell
|
||||
syn region lexAbbrvComment fold start="^\s*/\*" end="\*/" contains=@Spell
|
||||
else
|
||||
syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
|
||||
syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
|
||||
syn region lexAbbrvComment start="\%^/\*" end="\*/" contains=@Spell
|
||||
syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
|
||||
syn region lexInitialCodeBlock start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
|
||||
syn region lexInclude matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
|
||||
syn region lexAbbrvComment start="^\s*//" end="$" contains=@Spell
|
||||
syn region lexAbbrvComment start="^\s*/\*" end="\*/" contains=@Spell
|
||||
endif
|
||||
|
||||
"%% : Patterns {Actions}
|
||||
" Rules Section with patterns and actions
|
||||
if has("folding")
|
||||
syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%\ze%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
|
||||
syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
|
||||
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
|
||||
syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
|
||||
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
|
||||
syn region lexPatBlock fold matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
|
||||
syn region lexPat fold start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
|
||||
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
|
||||
syn region lexBrace fold matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
|
||||
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
|
||||
else
|
||||
syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
|
||||
syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
|
||||
syn region lexPatInclude matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
|
||||
syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
|
||||
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
|
||||
syn region lexPatBlock matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
|
||||
syn region lexPat start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
|
||||
syn region lexPatInclude matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
|
||||
syn region lexBrace matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
|
||||
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
|
||||
endif
|
||||
syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
|
||||
syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s\+\ze{" contained nextgroup=lexPatTagZoneStart
|
||||
syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
|
||||
|
||||
" Lex Patterns
|
||||
syn region lexPattern start='[^ \t{}]' end="$" contained contains=lexPatRange
|
||||
syn region lexPatRange matchgroup=Delimiter start='\[' skip='\\\\\|\\.' end='\]' contains=lexEscape
|
||||
syn match lexEscape '\%(\\\\\)*\\.' contained
|
||||
syn match lexPatAbbrv "{\I\i*}"hs=s+1,he=e-1 contained
|
||||
syn match lexPatTag "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>" contained nextgroup=lexPat,lexMorePat,lexPatSep,lexPatEnd
|
||||
syn match lexPatTagZone "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>\s*{$"me=e-1 contained nextgroup=lexPatTagZoneStart
|
||||
|
||||
if has("folding")
|
||||
syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment
|
||||
syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
syn region lexPatTagZoneStart fold matchgroup=lexPatTag start='{$' end='^}' skipnl skipwhite contained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
|
||||
syn region lexPatComment fold start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
syn region lexPatComment fold start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
else
|
||||
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment
|
||||
syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhitecontained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
|
||||
syn region lexPatComment start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
syn region lexPatComment start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
|
||||
endif
|
||||
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode
|
||||
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
|
||||
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
|
||||
syn match lexPatEnd "\s*$" skipnl contained
|
||||
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode,lexCFunctions
|
||||
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
|
||||
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
|
||||
syn match lexSlashQuote +\(\\\\\)*\\"+ contained
|
||||
syn match lexSlashBrace +\(\\\\\)*\\\[+ contained
|
||||
if has("folding")
|
||||
syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=@lexCcode,lexCFunctions
|
||||
syn region lexPatCode fold matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
|
||||
else
|
||||
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
|
||||
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
|
||||
endif
|
||||
|
||||
" Lex "functions" which may appear in C/C++ code blocks
|
||||
syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext
|
||||
syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap
|
||||
" User Code Section with final code block
|
||||
syn region lexFinalCodeBlock matchgroup=Todo start="^%%" end="\%$" contained contains=@lexCcode
|
||||
|
||||
" %%
|
||||
" lexAbbrevBlock
|
||||
" %%
|
||||
" lexPatBlock
|
||||
" %%
|
||||
" lexFinalCodeBlock
|
||||
syn region lexFinalCodeBlock matchgroup=Todo start="%$"me=e-1 end="\%$" contained contains=@lexCcode
|
||||
" Lex macros which may appear in C/C++ code blocks
|
||||
syn keyword lexCFunctions BEGIN ECHO REJECT yytext YYText yyleng YYLeng yymore yyless yywrap yylook
|
||||
syn keyword lexCFunctions yyrestart yyterminate yylineno yycolumno yyin yyout
|
||||
syn keyword lexCFunctions input unput output winput wunput woutput
|
||||
syn keyword lexCFunctions yyinput yyunput yyoutput yywinput yywunput yywoutput
|
||||
|
||||
" <c.vim> includes several ALLBUTs; these have to be treated so as to exclude lex* groups
|
||||
syn cluster cParenGroup add=lex.*
|
||||
syn cluster cParenGroup add=lex.*
|
||||
syn cluster cDefineGroup add=lex.*
|
||||
syn cluster cPreProcGroup add=lex.*
|
||||
syn cluster cMultiGroup add=lex.*
|
||||
syn cluster cMultiGroup add=lex.*
|
||||
|
||||
" Synchronization
|
||||
syn sync clear
|
||||
syn sync minlines=500
|
||||
syn sync match lexSyncPat grouphere lexPatBlock "^%[a-zA-Z]"
|
||||
syn sync match lexSyncPat groupthere lexPatBlock "^<$"
|
||||
syn sync match lexSyncPat groupthere lexPatBlock "^%%$"
|
||||
syn sync match lexSyncPat groupthere lexPatBlock "^%%"
|
||||
|
||||
" The default highlighting.
|
||||
if !exists("skip_lex_syntax_inits")
|
||||
hi def link lexAbbrvComment lexPatComment
|
||||
hi def link lexAbbrvRegExp Macro
|
||||
hi def link lexAbbrv SpecialChar
|
||||
hi def link lexBrace lexPat
|
||||
hi def link lexCFunctions Function
|
||||
hi def link lexCstruct cStructure
|
||||
hi def link lexMorePat SpecialChar
|
||||
hi def link lexOptions PreProc
|
||||
hi def link lexAbbrvPat lexPat
|
||||
hi def link lexAbbrv Special
|
||||
hi def link lexBrace lexPat
|
||||
hi def link lexCFunctions PreProc
|
||||
hi def link lexMorePat Special
|
||||
hi def link lexOptions PreProc
|
||||
hi def link lexOptionsEq Operator
|
||||
hi def link lexPatComment Comment
|
||||
hi def link lexPat Function
|
||||
hi def link lexPatString Function
|
||||
hi def link lexPatTag Special
|
||||
hi def link lexPatString lexPat
|
||||
hi def link lexPatAbbrv Special
|
||||
hi def link lexPatTag Statement
|
||||
hi def link lexPatTagZone lexPatTag
|
||||
hi def link lexSep Delimiter
|
||||
hi def link lexSlashQuote lexPat
|
||||
hi def link lexStartState Statement
|
||||
hi def link lexSlashBrace lexPat
|
||||
hi def link lexStartState lexPatTag
|
||||
hi def link lexStartStateCmd Special
|
||||
endif
|
||||
|
||||
let b:current_syntax = "lex"
|
||||
|
||||
" vim:ts=10
|
||||
" vim:ts=8
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>, <https://github.com/rohieb>
|
||||
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" URL: https://github.com/vim/vim/blob/master/runtime/syntax/make.vim
|
||||
" Last Change: 2020 Mar 04
|
||||
" Last Change: 2020 May 03
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@ -73,7 +73,7 @@ syn match makePreCondit "^ *\(ifn\=\(eq\|def\)\>\|else\(\s\+ifn\=\(eq\|def\)\)\=
|
||||
syn match makeInclude "^ *[-s]\=include\s.*$"
|
||||
syn match makeStatement "^ *vpath"
|
||||
syn match makeExport "^ *\(export\|unexport\)\>"
|
||||
syn match makeOverride "^ *override"
|
||||
syn match makeOverride "^ *override\>"
|
||||
" Statements / Functions (GNU make)
|
||||
syn match makeStatement contained "(\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Man page
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Maintainer: Jason Franklin <vim@justemail.net>
|
||||
" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
|
||||
" Version Info:
|
||||
" Last Change: 2020 Apr 15
|
||||
" Last Change: 2020 Apr 30
|
||||
|
||||
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
|
||||
" * manSubHeading
|
||||
@ -19,9 +20,6 @@ runtime! syntax/ctrlh.vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn match manHeader '\%1l.*'
|
||||
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
|
||||
|
||||
syn match manReference "\f\+([1-9][a-z]\=)"
|
||||
syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
|
||||
syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
|
||||
@ -29,6 +27,9 @@ syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
|
||||
syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
|
||||
" syn match manHistory "^[a-z].*last change.*$"
|
||||
|
||||
syn match manHeader '\%1l.*'
|
||||
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
|
||||
|
||||
if getline(1) =~ '^[a-zA-Z_]\+([23])'
|
||||
syntax include @cCode <sfile>:p:h/c.vim
|
||||
syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained
|
||||
|
@ -2,8 +2,7 @@
|
||||
" Language: Microsoft Macro Assembler (80x86)
|
||||
" Orig Author: Rob Brady <robb@datatone.com>
|
||||
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
|
||||
" Last Change: $Date: 2013/11/13 11:49:24 $
|
||||
" $Revision: 1.48 $
|
||||
" Last Change: 2020-05-09 22:55:38 +0800
|
||||
|
||||
" Quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@ -13,10 +12,12 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
syn iskeyword @,48-57,_,36,60,62,63,@-@
|
||||
|
||||
syn case ignore
|
||||
|
||||
|
||||
syn match masmIdentifier "[@a-z_$?][@a-z0-9_$?]*"
|
||||
syn match masmIdentifier "[@a-z_$?][@a-z0-9_$?<>]*"
|
||||
syn match masmLabel "^\s*[@a-z_$?][@a-z0-9_$?]*:"he=e-1
|
||||
|
||||
syn match masmDecimal "[-+]\?\d\+[dt]\?"
|
||||
|
28
runtime/syntax/pamenv.vim
Normal file
28
runtime/syntax/pamenv.vim
Normal file
@ -0,0 +1,28 @@
|
||||
" Vim syntax file
|
||||
" Language: pam_env.conf(5) configuration file
|
||||
" Latest Revision: 2020-05-10
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syn keyword pamenvTodo contained TODO FIXME XXX NOTE
|
||||
syn region pamenvComment start='^#' end='$' display oneline contains=pamenvTodo,@Spells
|
||||
|
||||
syn match pamenvVars '^[A-Z_][A-Z_0-9]*' nextgroup=pamenvKeywords skipwhite
|
||||
|
||||
syn keyword pamenvKeywords contained DEFAULT OVERRIDE nextgroup=pamenvVarEq
|
||||
|
||||
syn match pamenvVarEq contained '=' nextgroup=pamenvValue,pamenvValueWithQuote
|
||||
|
||||
syn match pamenvValue contained '[^ \t]*' skipwhite nextgroup=pamenvKeywords
|
||||
syn region pamenvValueWithQuote contained start='"' end='"' skipwhite nextgroup=pamenvKeywords
|
||||
|
||||
hi def link pamenvTodo Todo
|
||||
hi def link pamenvComment Comment
|
||||
hi def link pamenvKeywords Keyword
|
||||
hi def link pamenvVars Identifier
|
||||
hi def link pamenvValue String
|
||||
hi def link pamenvValueWithQuote String
|
||||
|
||||
let b:current_syntax = "pamenv"
|
@ -1,9 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5/7
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: Oct 19, 2019
|
||||
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
|
||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Maintainer: Tyson Andre <tysonandre775@hotmail.com>
|
||||
" Last Change: May 11, 2020
|
||||
" URL: https://github.com/TysonAndre/vim-syntax
|
||||
" Former Maintainers:
|
||||
" Jason Woofenden <jason@jasonwoof.com>
|
||||
" Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
"
|
||||
" Note: If you are using a colour terminal with dark background, you will
|
||||
@ -91,7 +93,7 @@ if exists( "php_htmlInStrings")
|
||||
syn cluster phpAddStrings add=@htmlTop
|
||||
endif
|
||||
|
||||
" make sure we can use \ at the begining of the line to do a continuation
|
||||
" make sure we can use \ at the beginning of the line to do a continuation
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
@ -314,7 +316,7 @@ syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contain
|
||||
" define a cluster to get all interpolation syntaxes for double-quoted strings
|
||||
syn cluster phpInterpDouble contains=phpInterpSimple,phpInterpSimpleCurly,phpInterpDollarCurly1,phpInterpDollarCurly2,phpInterpBogusDollarCurley,phpInterpComplex
|
||||
|
||||
" Methoden
|
||||
" Methods
|
||||
syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display
|
||||
|
||||
" Include
|
||||
@ -328,14 +330,14 @@ syn keyword phpBoolean true false contained
|
||||
|
||||
" Float
|
||||
" Refer to: https://www.php.net/manual/en/language.types.float.php
|
||||
syn match phpFloat "\%(\w\|\.\)\@<!\%(\d\|\.\)*\d\%(\d\|\.\)*\%([eE][+-]\=\%(\d\|\.\)\+\)\=\%(\w\|\.\)\@!" contained contains=phpFloatError display
|
||||
syn match phpFloatError "[eE.].*\." contained display
|
||||
syn match phpFloat "\%(\w\|\.\)\@<!\%(\d_\?\|\.\)*\d\%(\d\|_\|\.\)*\%([eE][+-]\=\%(\d\|_\|\.\)\+\)\=\%(\w\|\.\)\@!" contained contains=phpFloatError display
|
||||
syn match phpFloatError "\%([eE.][0-9._+-]*\.\|__\|_\(\>\|[eE]\)\|\(\>\|[eE]\)_\)" contained display
|
||||
|
||||
" Number
|
||||
syn match phpNumber "\%(\.\)\@<!\<\%([1-9]\d*\|0\|0[xX]\x\+\)\>\%(\.\)\@!" contained display
|
||||
syn match phpNumber "\%(\.\)\@<!\<\%([1-9]\d*\|0\|0[xX]\(\x_\?\)*\x\)\>\%(\.\)\@!" contained display
|
||||
syn match phpNumber "\%(\.\)\@<!\<0\d\+\>\%(\.\)\@!" contained contains=phpOctalError display
|
||||
syn match phpBinaryError "[2-9]" contained display
|
||||
syn match phpNumber "\%(\.\)\@<!\<0[bB]\d\+\>\%(\.\)\@!" contained contains=phpBinaryError display
|
||||
syn match phpNumber "\%(\.\)\@<!\<0[bB]\(\d_\?\)*\d\>\%(\.\)\@!" contained contains=phpBinaryError display
|
||||
|
||||
" Backslash escapes
|
||||
syn case match
|
||||
@ -442,6 +444,7 @@ if exists("php_folding") && php_folding==1
|
||||
" match one line constructs here and skip them at folding
|
||||
syn keyword phpSCKeyword abstract final private protected public static contained
|
||||
syn keyword phpFCKeyword function contained
|
||||
syn keyword phpDefine fn contained
|
||||
syn keyword phpStorageClass global contained
|
||||
syn match phpDefine "\(\s\|^\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\(\s\+.*[;}]\)\@=" contained contains=phpSCKeyword
|
||||
syn match phpStructure "\(\s\|^\)\(abstract\s\+\|final\s\+\)*\(trait\|class\)\(\s\+.*}\)\@=" contained
|
||||
@ -459,7 +462,7 @@ if exists("php_folding") && php_folding==1
|
||||
syn region phpFoldCatch matchgroup=Exception start="^\z(\s*\)catch\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
|
||||
syn region phpFoldTry matchgroup=Exception start="^\z(\s*\)try\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
|
||||
else
|
||||
syn keyword phpDefine function contained
|
||||
syn keyword phpDefine function fn contained
|
||||
syn keyword phpStructure abstract class trait interface contained
|
||||
syn keyword phpException catch throw try finally contained
|
||||
syn keyword phpStorageClass final global private protected public static contained
|
||||
|
@ -2,8 +2,8 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Oct 16, 2019
|
||||
" Version: 189
|
||||
" Last Change: Apr 14, 2020
|
||||
" Version: 190
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||
@ -357,19 +357,18 @@ elseif !exists("g:sh_no_error")
|
||||
syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial
|
||||
endif
|
||||
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart,shSpecialSQ
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contained contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+"+ matchgroup=shSpecial skip=+\\"+ end=+"+ contained contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment
|
||||
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecialSQ "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshSnglQuote,@shNoZSList
|
||||
syn match shSpecialDQ "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshDblQuote,@shNoZSList
|
||||
syn match shSpecialStart "\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
|
||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecialNoZS contained "\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecialNxt contained "\\[\\"'`$()#]"
|
||||
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart
|
||||
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
"syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart
|
||||
"syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
|
||||
|
||||
" Comments: {{{1
|
||||
"==========
|
||||
@ -454,13 +453,13 @@ if !exists("g:sh_no_error")
|
||||
syn match shDerefWordError "[^}$[~]" contained
|
||||
endif
|
||||
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 nextgroup=shSpecialStart
|
||||
syn match shDerefSimple "\$[-#*@!?]" nextgroup=@shNoZSList
|
||||
syn match shDerefSimple "\$\$" nextgroup=@shNoZSList
|
||||
syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList
|
||||
syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList nextgroup=shSpecialStart
|
||||
if exists("b:is_bash") || exists("b:is_kornshell") || exists("b:is_posix")
|
||||
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
|
||||
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
|
||||
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS,shSpecialStart
|
||||
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS,shSpecialStart
|
||||
endif
|
||||
|
||||
" ksh: ${!var[*]} array index list syntax: {{{1
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Language: SPEC: Build/install scripts for Linux RPM packages
|
||||
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
|
||||
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
|
||||
" Last Change: 2020 Feb 07
|
||||
" Last Change: 2020 May 25
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@ -128,6 +128,8 @@ syn case match
|
||||
"sh-like comment stile, only valid in script part
|
||||
syn match shComment contained '#.*$'
|
||||
|
||||
syn region dnlComment matchgroup=specComment start=+%dnl+ end=+$+
|
||||
|
||||
syn region shQuote1 contained matchgroup=shQuoteDelim start=+'+ skip=+\\'+ end=+'+ contains=specMacroIdentifier
|
||||
syn region shQuote2 contained matchgroup=shQuoteDelim start=+"+ skip=+\\"+ end=+"+ contains=specVariables,specMacroIdentifier
|
||||
|
||||
@ -173,6 +175,7 @@ endif
|
||||
|
||||
"sh colors
|
||||
hi def link shComment Comment
|
||||
hi def link dnlComment Comment
|
||||
hi def link shIf Statement
|
||||
hi def link shOperator Special
|
||||
hi def link shQuote1 String
|
||||
|
@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Last Change: Jan 24, 2020
|
||||
" Version: 116
|
||||
" Last Change: May 19, 2020
|
||||
" Version: 117
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@ -1057,6 +1057,7 @@ if has("conceal") && &enc == 'utf-8'
|
||||
call s:SuperSub('texSuperscript','\^','R','ᴿ')
|
||||
call s:SuperSub('texSuperscript','\^','T','ᵀ')
|
||||
call s:SuperSub('texSuperscript','\^','U','ᵁ')
|
||||
call s:SuperSub('texSuperscript','\^','V','ⱽ')
|
||||
call s:SuperSub('texSuperscript','\^','W','ᵂ')
|
||||
call s:SuperSub('texSuperscript','\^',',','︐')
|
||||
call s:SuperSub('texSuperscript','\^',':','︓')
|
||||
|
@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 8.0 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: Apr 15, 2020
|
||||
" Version: 8.0-33
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Last Change: May 26, 2020
|
||||
" Version: 8.0-35
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
@ -228,7 +228,7 @@ syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperPa
|
||||
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "||\|&&\|[-+.!]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
|
||||
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=vimoperStar,@vimOperGroup
|
||||
syn region vimOperParen matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
|
||||
syn match vimOperError ")"
|
||||
@ -300,7 +300,7 @@ syn match vimComment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCom
|
||||
syn match vimComment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
|
||||
syn match vimComment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
|
||||
" Vim9 comment inside expression
|
||||
syn match vim9Comment +\s\zs#[^{].*$+ contains=@vimCommentGroup,vimCommentString
|
||||
syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
|
||||
|
||||
" Environment Variables: {{{2
|
||||
" =====================
|
||||
@ -321,7 +321,7 @@ syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"
|
||||
syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+
|
||||
syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
|
||||
syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
|
||||
syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
|
||||
"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
|
||||
syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
|
||||
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
|
||||
|
||||
@ -932,6 +932,7 @@ if !exists("skip_vim_syntax_inits")
|
||||
hi def link vimNumber Number
|
||||
hi def link vimOperError Error
|
||||
hi def link vimOper Operator
|
||||
hi def link vimOperStar vimOper
|
||||
hi def link vimOption PreProc
|
||||
hi def link vimParenSep Delimiter
|
||||
hi def link vimPatSepErr vimError
|
||||
|
@ -625,7 +625,7 @@ endif
|
||||
|
||||
ifeq ($(CHANNEL),yes)
|
||||
DEFINES += -DFEAT_JOB_CHANNEL -DFEAT_IPV6
|
||||
ifeq ($(shell expr "$(WINVER)" \>= 0x600),1)
|
||||
ifeq ($(shell expr "$$(($(WINVER)))" \>= "$$((0x600))"),1)
|
||||
DEFINES += -DHAVE_INET_NTOP
|
||||
endif
|
||||
endif
|
||||
@ -741,6 +741,7 @@ OBJ = \
|
||||
$(OUTDIR)/findfile.o \
|
||||
$(OUTDIR)/fold.o \
|
||||
$(OUTDIR)/getchar.o \
|
||||
$(OUTDIR)/gui_xim.o \
|
||||
$(OUTDIR)/hardcopy.o \
|
||||
$(OUTDIR)/hashtab.o \
|
||||
$(OUTDIR)/highlight.o \
|
||||
@ -787,8 +788,11 @@ OBJ = \
|
||||
$(OUTDIR)/tag.o \
|
||||
$(OUTDIR)/term.o \
|
||||
$(OUTDIR)/testing.o \
|
||||
$(OUTDIR)/textformat.o \
|
||||
$(OUTDIR)/textobject.o \
|
||||
$(OUTDIR)/textprop.o \
|
||||
$(OUTDIR)/time.o \
|
||||
$(OUTDIR)/typval.o \
|
||||
$(OUTDIR)/ui.o \
|
||||
$(OUTDIR)/undo.o \
|
||||
$(OUTDIR)/usercmd.o \
|
||||
@ -1244,6 +1248,7 @@ $(OUTDIR)/pathdef.o: $(PATHDEF_SRC) $(INCL)
|
||||
|
||||
CCCTERM = $(CC) -c $(CFLAGS) -Ilibvterm/include -DINLINE="" \
|
||||
-DVSNPRINTF=vim_vsnprintf \
|
||||
-DSNPRINTF=vim_snprintf \
|
||||
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
|
||||
-DWCWIDTH_FUNCTION=utf_uint2cells \
|
||||
-DGET_SPECIAL_PTY_TYPE_FUNCTION=get_special_pty_type
|
||||
|
@ -61,6 +61,7 @@ SRC = arabic.c \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
gui_xim.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
highlight.c \
|
||||
@ -103,8 +104,11 @@ SRC = arabic.c \
|
||||
tag.c \
|
||||
term.c \
|
||||
testing.c \
|
||||
textformat.c \
|
||||
textobject.c \
|
||||
textprop.c \
|
||||
time.c \
|
||||
typval.c \
|
||||
ui.c \
|
||||
undo.c \
|
||||
usercmd.c \
|
||||
|
@ -23,6 +23,8 @@
|
||||
#
|
||||
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is HUGE)
|
||||
#
|
||||
# Name to add to the version: MODIFIED_BY=[name of modifier]
|
||||
#
|
||||
# GUI interface: GUI=yes (default is no)
|
||||
#
|
||||
# GUI with DirectWrite (DirectX): DIRECTX=yes
|
||||
@ -675,9 +677,6 @@ CFLAGS = $(CFLAGS) $(WP64CHECK)
|
||||
|
||||
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
|
||||
RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG
|
||||
! if "$(CL)" == "/D_USING_V110_SDK71_"
|
||||
RCFLAGS = $(RCFLAGS) /D_USING_V110_SDK71_
|
||||
! endif
|
||||
! ifdef USE_MSVCRT
|
||||
CFLAGS = $(CFLAGS) /MD
|
||||
LIBC = msvcrt.lib
|
||||
@ -707,6 +706,10 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
! endif
|
||||
!endif # DEBUG
|
||||
|
||||
!if "$(CL)" == "/D_USING_V110_SDK71_"
|
||||
RCFLAGS = $(RCFLAGS) /D_USING_V110_SDK71_
|
||||
!endif
|
||||
|
||||
!if $(MSVC_MAJOR) >= 8
|
||||
# Visual Studio 2005 has 'deprecated' many of the standard CRT functions
|
||||
CFLAGS_DEPR = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
|
||||
@ -760,6 +763,7 @@ OBJ = \
|
||||
$(OUTDIR)\findfile.obj \
|
||||
$(OUTDIR)\fold.obj \
|
||||
$(OUTDIR)\getchar.obj \
|
||||
$(OUTDIR)\gui_xim.obj \
|
||||
$(OUTDIR)\hardcopy.obj \
|
||||
$(OUTDIR)\hashtab.obj \
|
||||
$(OUTDIR)\highlight.obj \
|
||||
@ -806,8 +810,11 @@ OBJ = \
|
||||
$(OUTDIR)\tag.obj \
|
||||
$(OUTDIR)\term.obj \
|
||||
$(OUTDIR)\testing.obj \
|
||||
$(OUTDIR)\textformat.obj \
|
||||
$(OUTDIR)\textobject.obj \
|
||||
$(OUTDIR)\textprop.obj \
|
||||
$(OUTDIR)\time.obj \
|
||||
$(OUTDIR)\typval.obj \
|
||||
$(OUTDIR)\ui.obj \
|
||||
$(OUTDIR)\undo.obj \
|
||||
$(OUTDIR)\usercmd.obj \
|
||||
@ -1239,6 +1246,13 @@ CFLAGS = $(CFLAGS) -DMSWINPS
|
||||
#
|
||||
CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
|
||||
|
||||
#
|
||||
# MODIFIED_BY - Name of who modified a release version
|
||||
#
|
||||
!if "$(MODIFIED_BY)" != ""
|
||||
CFLAGS = $(CFLAGS) -DMODIFIED_BY=\"$(MODIFIED_BY)\"
|
||||
!endif
|
||||
|
||||
#
|
||||
# Always generate the .pdb file, so that we get debug symbols that can be used
|
||||
# on a crash (doesn't add overhead to the executable).
|
||||
@ -1587,6 +1601,8 @@ $(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL)
|
||||
|
||||
$(OUTDIR)/getchar.obj: $(OUTDIR) getchar.c $(INCL)
|
||||
|
||||
$(OUTDIR)/gui_xim.obj: $(OUTDIR) gui_xim.c $(INCL)
|
||||
|
||||
$(OUTDIR)/hardcopy.obj: $(OUTDIR) hardcopy.c $(INCL) version.h
|
||||
|
||||
$(OUTDIR)/hashtab.obj: $(OUTDIR) hashtab.c $(INCL)
|
||||
@ -1744,10 +1760,16 @@ $(OUTDIR)/term.obj: $(OUTDIR) term.c $(INCL)
|
||||
|
||||
$(OUTDIR)/term.obj: $(OUTDIR) testing.c $(INCL)
|
||||
|
||||
$(OUTDIR)/textformat.obj: $(OUTDIR) textformat.c $(INCL)
|
||||
|
||||
$(OUTDIR)/textobject.obj: $(OUTDIR) textobject.c $(INCL)
|
||||
|
||||
$(OUTDIR)/textprop.obj: $(OUTDIR) textprop.c $(INCL)
|
||||
|
||||
$(OUTDIR)/time.obj: $(OUTDIR) time.c $(INCL)
|
||||
|
||||
$(OUTDIR)/typval.obj: $(OUTDIR) typval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ui.obj: $(OUTDIR) ui.c $(INCL)
|
||||
|
||||
$(OUTDIR)/undo.obj: $(OUTDIR) undo.c $(INCL)
|
||||
@ -1805,6 +1827,7 @@ $(OUTDIR)/glbl_ime.obj: $(OUTDIR) glbl_ime.cpp dimm.h $(INCL)
|
||||
|
||||
CCCTERM = $(CC) $(CFLAGS) -Ilibvterm/include -DINLINE="" \
|
||||
-DVSNPRINTF=vim_vsnprintf \
|
||||
-DSNPRINTF=vim_snprintf \
|
||||
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
|
||||
-DWCWIDTH_FUNCTION=utf_uint2cells \
|
||||
-DGET_SPECIAL_PTY_TYPE_FUNCTION=get_special_pty_type \
|
||||
@ -1838,14 +1861,18 @@ $(OUTDIR)/vterm_vterm.obj: $(OUTDIR) libvterm/src/vterm.c $(TERM_DEPS)
|
||||
$(CCCTERM) /Fo$@ libvterm/src/vterm.c
|
||||
|
||||
|
||||
# $CFLAGS may contain backslashes and double quotes, escape them both.
|
||||
# $CFLAGS may contain backslashes, quotes and chevrons, escape them all.
|
||||
E0_CFLAGS = $(CFLAGS:\=\\)
|
||||
E_CFLAGS = $(E0_CFLAGS:"=\")
|
||||
E00_CFLAGS = $(E0_CFLAGS:"=\")
|
||||
# ") stop the string
|
||||
# $LINKARGS2 may contain backslashes and double quotes, escape them both.
|
||||
E000_CFLAGS = $(E00_CFLAGS:<=^^<)
|
||||
E_CFLAGS = $(E000_CFLAGS:>=^^>)
|
||||
# $LINKARGS2 may contain backslashes, quotes and chevrons, escape them all.
|
||||
E0_LINKARGS2 = $(LINKARGS2:\=\\)
|
||||
E_LINKARGS2 = $(E0_LINKARGS2:"=\")
|
||||
E00_LINKARGS2 = $(E0_LINKARGS2:"=\")
|
||||
# ") stop the string
|
||||
E000_LINKARGS2 = $(E00_LINKARGS2:<=^^<)
|
||||
E_LINKARGS2 = $(E000_LINKARGS2:>=^^>)
|
||||
|
||||
$(PATHDEF_SRC): Make_mvc.mak
|
||||
@echo creating $(PATHDEF_SRC)
|
||||
@ -1897,6 +1924,7 @@ proto.h: \
|
||||
proto/filepath.pro \
|
||||
proto/findfile.pro \
|
||||
proto/getchar.pro \
|
||||
proto/gui_xim.pro \
|
||||
proto/hardcopy.pro \
|
||||
proto/hashtab.pro \
|
||||
proto/highlight.pro \
|
||||
@ -1942,8 +1970,11 @@ proto.h: \
|
||||
proto/tag.pro \
|
||||
proto/term.pro \
|
||||
proto/testing.pro \
|
||||
proto/textformat.pro \
|
||||
proto/textobject.pro \
|
||||
proto/textprop.pro \
|
||||
proto/time.pro \
|
||||
proto/typval.pro \
|
||||
proto/ui.pro \
|
||||
proto/undo.pro \
|
||||
proto/usercmd.pro \
|
||||
|
@ -334,6 +334,7 @@ SRC = \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
gui_xim.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
highlight.c \
|
||||
@ -382,8 +383,11 @@ SRC = \
|
||||
term.c \
|
||||
termlib.c \
|
||||
testing.c \
|
||||
textformat.c \
|
||||
textobject.c \
|
||||
textprop.c \
|
||||
time.c \
|
||||
typval.c \
|
||||
ui.c \
|
||||
undo.c \
|
||||
usercmd.c \
|
||||
@ -442,6 +446,7 @@ OBJ = \
|
||||
findfile.obj \
|
||||
fold.obj \
|
||||
getchar.obj \
|
||||
gui_xim.obj \
|
||||
hardcopy.obj \
|
||||
hashtab.obj \
|
||||
highlight.obj \
|
||||
@ -491,8 +496,11 @@ OBJ = \
|
||||
term.obj \
|
||||
termlib.obj \
|
||||
testing.obj \
|
||||
textformat.obj \
|
||||
textobject.obj \
|
||||
textprop.obj \
|
||||
time.obj \
|
||||
typval.obj \
|
||||
ui.obj \
|
||||
undo.obj \
|
||||
usercmd.obj \
|
||||
@ -812,6 +820,10 @@ getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
gui_xim.obj : gui_xim.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h
|
||||
hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
@ -989,12 +1001,21 @@ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
testing.obj : testing.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
textformat.obj : textformat.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
textobject.obj : textobject.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
time.obj : time.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
typval.obj : typval.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
|
||||
|
104
src/Makefile
104
src/Makefile
@ -618,7 +618,7 @@ CClink = $(CC)
|
||||
# Add -Wpedantic to find // comments and other C99 constructs.
|
||||
# Better disable Perl and Python to avoid a lot of warnings.
|
||||
#CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
|
||||
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
|
||||
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wno-cast-function-type -Wunused-result -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
|
||||
#PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
|
||||
#MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
|
||||
|
||||
@ -686,8 +686,10 @@ LINT_OPTIONS = -beprxzF
|
||||
# 7. Open the objects/index.html file in a web browser to view the coverage
|
||||
# information.
|
||||
#
|
||||
# PROFILE_CFLAGS=-g -O0 -fprofile-arcs -ftest-coverage
|
||||
# LDFLAGS=--coverage
|
||||
# PROFILE_CFLAGS=-g -O0 -fprofile-arcs -ftest-coverage -DWE_ARE_PROFILING -DUSE_GCOV_FLUSH
|
||||
# Alternate flags
|
||||
# PROFILE_CFLAGS=-g -O0 --coverage -DWE_ARE_PROFILING -DUSE_GCOV_FLUSH
|
||||
|
||||
|
||||
# Uncomment one of the next two lines to compile Vim with the
|
||||
@ -1578,6 +1580,9 @@ DEST_MAN_PL_I = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
|
||||
DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
|
||||
DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
|
||||
DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
|
||||
DEST_MAN_TR = $(DEST_MAN_TOP)/tr$(MAN1DIR)
|
||||
DEST_MAN_TR_I = $(DEST_MAN_TOP)/tr.ISO8859-9$(MAN1DIR)
|
||||
DEST_MAN_TR_U = $(DEST_MAN_TOP)/tr.UTF-8$(MAN1DIR)
|
||||
|
||||
# stuff common to all systems
|
||||
include Make_all.mak
|
||||
@ -1631,6 +1636,7 @@ BASIC_SRC = \
|
||||
findfile.c \
|
||||
fold.c \
|
||||
getchar.c \
|
||||
gui_xim.c \
|
||||
hardcopy.c \
|
||||
hashtab.c \
|
||||
highlight.c \
|
||||
@ -1680,8 +1686,11 @@ BASIC_SRC = \
|
||||
term.c \
|
||||
terminal.c \
|
||||
testing.c \
|
||||
textformat.c \
|
||||
textobject.c \
|
||||
textprop.c \
|
||||
time.c \
|
||||
typval.c \
|
||||
ui.c \
|
||||
undo.c \
|
||||
usercmd.c \
|
||||
@ -1777,6 +1786,7 @@ OBJ_COMMON = \
|
||||
objects/findfile.o \
|
||||
objects/fold.o \
|
||||
objects/getchar.o \
|
||||
objects/gui_xim.o \
|
||||
objects/hardcopy.o \
|
||||
objects/hashtab.o \
|
||||
objects/highlight.o \
|
||||
@ -1822,8 +1832,11 @@ OBJ_COMMON = \
|
||||
objects/term.o \
|
||||
objects/terminal.o \
|
||||
objects/testing.o \
|
||||
objects/textformat.o \
|
||||
objects/textobject.o \
|
||||
objects/textprop.o \
|
||||
objects/time.o \
|
||||
objects/typval.o \
|
||||
objects/ui.o \
|
||||
objects/undo.o \
|
||||
objects/usercmd.o \
|
||||
@ -1939,6 +1952,7 @@ PRO_AUTO = \
|
||||
findfile.pro \
|
||||
fold.pro \
|
||||
getchar.pro \
|
||||
gui_xim.pro \
|
||||
gui_beval.pro \
|
||||
hardcopy.pro \
|
||||
hashtab.pro \
|
||||
@ -1996,8 +2010,11 @@ PRO_AUTO = \
|
||||
terminal.pro \
|
||||
termlib.pro \
|
||||
testing.pro \
|
||||
textformat.pro \
|
||||
textobject.pro \
|
||||
textprop.pro \
|
||||
time.pro \
|
||||
typval.pro \
|
||||
ui.pro \
|
||||
undo.pro \
|
||||
usercmd.pro \
|
||||
@ -2015,7 +2032,7 @@ PRO_AUTO = \
|
||||
RSRC_DIR = os_mac_rsrc
|
||||
|
||||
PRO_MANUAL = os_amiga.pro os_win32.pro \
|
||||
os_mswin.pro winclip.pro os_beos.pro os_vms.pro $(PERL_PRO)
|
||||
os_mswin.pro winclip.pro os_vms.pro $(PERL_PRO)
|
||||
|
||||
# Default target is making the executable and tools
|
||||
all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
|
||||
@ -2113,6 +2130,7 @@ CCC = $(CCC_NF) $(ALL_CFLAGS)
|
||||
# A shell script is used to try linking without unnecessary libraries.
|
||||
$(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@$(BUILD_DATE_MSG)
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
-o $(VIMTARGET) $(OBJ) $(ALL_LIBS)" \
|
||||
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
|
||||
@ -2182,10 +2200,6 @@ winclip.pro: winclip.c
|
||||
$(CPROTO) -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_beos.pro: os_beos.c
|
||||
$(CPROTO) -D__BEOS__ -UHAVE_CONFIG_H $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
os_vms.pro: os_vms.c
|
||||
# must use os_vms_conf.h for auto/config.h
|
||||
mv auto/config.h auto/config.h.save
|
||||
@ -2288,7 +2302,6 @@ test_libvterm:
|
||||
# Run individual OLD style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
test1 \
|
||||
test_eval \
|
||||
test42 test44 test49 \
|
||||
test52 test59 \
|
||||
test70 \
|
||||
@ -2569,6 +2582,10 @@ install-tool-languages:
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS)
|
||||
|
||||
|
||||
# install the language specific files, if they were unpacked
|
||||
install-languages: languages $(DEST_LANG) $(DEST_KMAP)
|
||||
@ -2590,6 +2607,9 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh install $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_DA) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
@ -2626,6 +2646,12 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
|
||||
$(DEST_MAN_RU) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR_I) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR_U) $(INSTALLMLARGS)
|
||||
if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
|
||||
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) LOCALEDIR=$(DEST_LANG) \
|
||||
INSTALL_DATA=$(INSTALL_DATA) FILEMOD=$(FILEMOD) install; \
|
||||
@ -2799,6 +2825,9 @@ uninstall_runtime:
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR_I) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR_U) "" $(INSTALLMANARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
@ -2837,6 +2866,12 @@ uninstall_runtime:
|
||||
$(DEST_MAN_RU) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR_I) $(INSTALLMLARGS)
|
||||
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
|
||||
$(DEST_MAN_TR_U) $(INSTALLMLARGS)
|
||||
-rm -f $(DEST_MAN)/xxd.1
|
||||
-rm -f $(DEST_MAN_DA)/xxd.1 $(DEST_MAN_DA_I)/xxd.1 $(DEST_MAN_DA_U)/xxd.1
|
||||
-rm -f $(DEST_MAN_DE)/xxd.1 $(DEST_MAN_DE_I)/xxd.1 $(DEST_MAN_DE_U)/xxd.1
|
||||
@ -2883,7 +2918,7 @@ uninstall_runtime:
|
||||
clean celan: testclean
|
||||
-rm -f *.o core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
|
||||
-rm -rf objects
|
||||
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h
|
||||
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h auto/os_haiku.rdef
|
||||
-rm -f conftest* *~ auto/link.sed
|
||||
-rm -f testdir/opt_test.vim
|
||||
-rm -f $(UNITTEST_TARGETS)
|
||||
@ -2916,7 +2951,7 @@ clean celan: testclean
|
||||
# % make
|
||||
SHADOWDIR = shadow
|
||||
|
||||
LINKEDFILES = ../*.[chm] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
|
||||
LINKEDFILES = ../*.[chm] ../*.cc ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
|
||||
|
||||
shadow: runtime pixmaps
|
||||
$(MKDIR_P) $(SHADOWDIR)
|
||||
@ -2952,7 +2987,9 @@ shadow: runtime pixmaps
|
||||
../../testdir/samples \
|
||||
../../testdir/dumps \
|
||||
../../testdir/test83-tags? \
|
||||
../../testdir/*.ok .
|
||||
../../testdir/*.ok \
|
||||
../../testdir/testluaplugin \
|
||||
.
|
||||
|
||||
# After updating Vim new files may have been created, use this to refresh the
|
||||
# symbolic links in the shadow directory. This isn't guaranteed to catch all
|
||||
@ -3040,6 +3077,14 @@ auto/if_perl.c: if_perl.xs
|
||||
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
|
||||
CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
|
||||
|
||||
auto/os_haiku.rdef: os_haiku.rdef.in
|
||||
@echo creating $@
|
||||
@echo '/* This file is automatically created by Makefile */' >> $@
|
||||
@echo '/* DO NOT EDIT! Change Makefile only. */' >> $@
|
||||
@cat $(srcdir)/os_haiku.rdef.in >> auto/os_haiku.rdef
|
||||
sed -i "s|@MAJOR@|$(VIMMAJOR)|" auto/os_haiku.rdef
|
||||
sed -i "s|@MINOR@|$(VIMMINOR)|" auto/os_haiku.rdef
|
||||
|
||||
auto/pathdef.c: Makefile auto/config.mk
|
||||
-@echo creating $@
|
||||
-@echo '/* pathdef.c */' > $@
|
||||
@ -3262,6 +3307,9 @@ objects/gui_xmebw.o: gui_xmebw.c
|
||||
objects/gui_x11.o: gui_x11.c
|
||||
$(CCC) -o $@ gui_x11.c
|
||||
|
||||
objects/gui_xim.o: gui_xim.c
|
||||
$(CCC) -o $@ gui_xim.c
|
||||
|
||||
objects/gui_photon.o: gui_photon.c
|
||||
$(CCC) -o $@ gui_photon.c
|
||||
|
||||
@ -3376,13 +3424,10 @@ objects/option.o: option.c optiondefs.h
|
||||
objects/optionstr.o: optionstr.c
|
||||
$(CCC_NF) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(RUBY_CFLAGS) $(TCL_CFLAGS) $(ALL_CFLAGS) -o $@ optionstr.c
|
||||
|
||||
objects/os_beos.o: os_beos.c
|
||||
$(CCC) -o $@ os_beos.c
|
||||
|
||||
objects/os_qnx.o: os_qnx.c
|
||||
$(CCC) -o $@ os_qnx.c
|
||||
|
||||
objects/os_haiku.rsrc: os_haiku.rdef
|
||||
objects/os_haiku.rsrc: auto/os_haiku.rdef
|
||||
cat $< | $(CCC) -E - | grep -v '^#' | rc -o "$@" -
|
||||
|
||||
objects/os_macosx.o: os_macosx.m
|
||||
@ -3469,12 +3514,21 @@ objects/terminal.o: terminal.c $(TERM_DEPS)
|
||||
objects/testing.o: testing.c
|
||||
$(CCC) -o $@ testing.c
|
||||
|
||||
objects/textformat.o: textformat.c
|
||||
$(CCC) -o $@ textformat.c
|
||||
|
||||
objects/textobject.o: textobject.c
|
||||
$(CCC) -o $@ textobject.c
|
||||
|
||||
objects/textprop.o: textprop.c
|
||||
$(CCC) -o $@ textprop.c
|
||||
|
||||
objects/time.o: time.c
|
||||
$(CCC) -o $@ time.c
|
||||
|
||||
objects/typval.o: typval.c
|
||||
$(CCC) -o $@ typval.c
|
||||
|
||||
objects/ui.o: ui.c
|
||||
$(CCC) -o $@ ui.c
|
||||
|
||||
@ -3516,6 +3570,7 @@ Makefile:
|
||||
# prefix vterm_ to avoid name clashes.
|
||||
CCCTERM = $(CCC_NF) $(VTERM_CFLAGS) $(ALL_CFLAGS) -DINLINE="" \
|
||||
-DVSNPRINTF=vim_vsnprintf \
|
||||
-DSNPRINTF=vim_snprintf \
|
||||
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
|
||||
-DWCWIDTH_FUNCTION=utf_uint2cells
|
||||
|
||||
@ -3540,7 +3595,7 @@ objects/vterm_screen.o: libvterm/src/screen.c $(TERM_DEPS)
|
||||
objects/vterm_state.o: libvterm/src/state.c $(TERM_DEPS)
|
||||
$(CCCTERM) -o $@ libvterm/src/state.c
|
||||
|
||||
objects/vterm_unicode.o: libvterm/src/unicode.c $(TERM_DEPS)
|
||||
objects/vterm_unicode.o: libvterm/src/unicode.c $(TERM_DEPS) libvterm/src/fullwidth.inc
|
||||
$(CCCTERM) -o $@ libvterm/src/unicode.c
|
||||
|
||||
objects/vterm_vterm.o: libvterm/src/vterm.c $(TERM_DEPS)
|
||||
@ -4060,6 +4115,14 @@ objects/testing.o: testing.c vim.h protodef.h auto/config.h feature.h os_unix.h
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
objects/textformat.o: textformat.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
objects/textobject.o: textobject.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
@ -4068,6 +4131,10 @@ objects/time.o: time.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
objects/typval.o: typval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h
|
||||
objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
@ -4181,6 +4248,11 @@ objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
objects/gui_xim.o: gui_xim.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
|
||||
../runtime/vim48x48.xpm
|
||||
objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
|
@ -80,8 +80,11 @@ syntax.c | syntax and other highlighting
|
||||
tag.c | tags
|
||||
term.c | terminal handling, termcap codes
|
||||
testing.c | testing: assert and test functions
|
||||
textformat.c | text formatting
|
||||
textobject.c | text objects
|
||||
textprop.c | text properties
|
||||
time.c | time and timer functions
|
||||
typval.c | vim script type/value functions
|
||||
undo.c | undo and redo
|
||||
usercmd.c | user defined commands
|
||||
userfunc.c | user defined functions
|
||||
|
166
src/auto/configure
vendored
166
src/auto/configure
vendored
@ -721,6 +721,7 @@ OS_EXTRA_SRC
|
||||
XCODE_SELECT
|
||||
CPP_MM
|
||||
CROSS_COMPILING
|
||||
BUILD_DATE_MSG
|
||||
STRIP
|
||||
AWK
|
||||
FGREP
|
||||
@ -4455,6 +4456,17 @@ See \`config.log' for more details" "$LINENO" 5; }
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$SOURCE_DATE_EPOCH"; then
|
||||
DATE_FMT="%b %d %Y %H:%M:%S"
|
||||
BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define BUILD_DATE "$BUILD_DATE"
|
||||
_ACEOF
|
||||
|
||||
BUILD_DATE_MSG=-"echo -e '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\nNOTE: build date/time is fixed: $BUILD_DATE\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='"
|
||||
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-fail-if-missing argument" >&5
|
||||
$as_echo_n "checking --enable-fail-if-missing argument... " >&6; }
|
||||
@ -4533,16 +4545,6 @@ fi
|
||||
|
||||
OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BeOS" >&5
|
||||
$as_echo_n "checking for BeOS... " >&6; }
|
||||
case `uname` in
|
||||
BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
|
||||
BEOS=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; };;
|
||||
*) BEOS=no; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; };;
|
||||
esac
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Haiku" >&5
|
||||
$as_echo_n "checking for Haiku... " >&6; }
|
||||
case `uname` in
|
||||
@ -12476,103 +12478,6 @@ else
|
||||
$as_echo "don't know" >&6; }
|
||||
fi
|
||||
|
||||
rm -f conftest_grp
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
|
||||
$as_echo_n "checking default tty permissions/group... " >&6; }
|
||||
if ${vim_cv_tty_group+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
if test "$cross_compiling" = yes; then :
|
||||
|
||||
as_fn_error $? "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
|
||||
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
struct stat sb;
|
||||
char *x,*ttyname();
|
||||
int om, m;
|
||||
FILE *fp;
|
||||
|
||||
if (!(x = ttyname(0))) exit(1);
|
||||
if (stat(x, &sb)) exit(1);
|
||||
om = sb.st_mode;
|
||||
if (om & 002) exit(0);
|
||||
m = system("mesg y");
|
||||
if (m == -1 || m == 127) exit(1);
|
||||
if (stat(x, &sb)) exit(1);
|
||||
m = sb.st_mode;
|
||||
if (chmod(x, om)) exit(1);
|
||||
if (m & 002) exit(0);
|
||||
if (sb.st_gid == getgid()) exit(1);
|
||||
if (!(fp=fopen("conftest_grp", "w")))
|
||||
exit(1);
|
||||
fprintf(fp, "%d\n", sb.st_gid);
|
||||
fclose(fp);
|
||||
exit(0);
|
||||
}
|
||||
|
||||
_ACEOF
|
||||
if ac_fn_c_try_run "$LINENO"; then :
|
||||
|
||||
if test -f conftest_grp; then
|
||||
vim_cv_tty_group=`cat conftest_grp`
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
vim_cv_tty_mode=0620
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&5
|
||||
$as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; }
|
||||
else
|
||||
vim_cv_tty_group=world
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ptys are world accessible" >&5
|
||||
$as_echo "ptys are world accessible" >&6; }
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
vim_cv_tty_group=world
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: can't determine - assume ptys are world accessible" >&5
|
||||
$as_echo "can't determine - assume ptys are world accessible" >&6; }
|
||||
|
||||
fi
|
||||
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
|
||||
conftest.$ac_objext conftest.beam conftest.$ac_ext
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_tty_group" >&5
|
||||
$as_echo "$vim_cv_tty_group" >&6; }
|
||||
rm -f conftest_grp
|
||||
|
||||
if test "x$vim_cv_tty_group" != "xworld" ; then
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define PTYGROUP $vim_cv_tty_group
|
||||
_ACEOF
|
||||
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
as_fn_error $? "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
|
||||
else
|
||||
$as_echo "#define PTYMODE 0620" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
|
||||
$as_echo_n "checking return type of signal handlers... " >&6; }
|
||||
@ -13920,6 +13825,53 @@ fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirfd" >&5
|
||||
$as_echo_n "checking for dirfd... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
DIR * dir=opendir("dirname"); dirfd(dir);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }; $as_echo "#define HAVE_DIRFD 1" >>confdefs.h
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
|
||||
$as_echo "not usable" >&6; }
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock" >&5
|
||||
$as_echo_n "checking for flock... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <sys/file.h>
|
||||
int
|
||||
main ()
|
||||
{
|
||||
flock(10, LOCK_SH);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }; $as_echo "#define HAVE_FLOCK 1" >>confdefs.h
|
||||
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
|
||||
$as_echo "not usable" >&6; }
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysctl" >&5
|
||||
$as_echo_n "checking for sysctl... " >&6; }
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
|
@ -282,7 +282,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
curbuf = save_curbuf;
|
||||
if (use_sandbox)
|
||||
++sandbox;
|
||||
++textlock;
|
||||
++textwinlock;
|
||||
|
||||
vim_free(result);
|
||||
result = eval_to_string(bexpr, NULL, TRUE);
|
||||
@ -299,7 +299,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
|
||||
if (use_sandbox)
|
||||
--sandbox;
|
||||
--textlock;
|
||||
--textwinlock;
|
||||
|
||||
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
|
||||
if (result != NULL && result[0] != NUL)
|
||||
|
@ -103,13 +103,13 @@ read_buffer(
|
||||
{
|
||||
// Delete the binary lines.
|
||||
while (--line_count >= 0)
|
||||
ml_delete((linenr_T)1, FALSE);
|
||||
ml_delete((linenr_T)1);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete the converted lines.
|
||||
while (curbuf->b_ml.ml_line_count > line_count)
|
||||
ml_delete(line_count, FALSE);
|
||||
ml_delete(line_count);
|
||||
}
|
||||
// Put the cursor on the first line.
|
||||
curwin->w_cursor.lnum = 1;
|
||||
|
@ -382,7 +382,7 @@ invoke_listeners(buf_T *buf)
|
||||
|
||||
argv[4].v_type = VAR_LIST;
|
||||
argv[4].vval.v_list = buf->b_recorded_changes;
|
||||
++textlock;
|
||||
++textwinlock;
|
||||
|
||||
for (lnr = buf->b_listener; lnr != NULL; lnr = lnr->lr_next)
|
||||
{
|
||||
@ -390,7 +390,7 @@ invoke_listeners(buf_T *buf)
|
||||
clear_tv(&rettv);
|
||||
}
|
||||
|
||||
--textlock;
|
||||
--textwinlock;
|
||||
list_unref(buf->b_recorded_changes);
|
||||
buf->b_recorded_changes = NULL;
|
||||
|
||||
@ -2317,7 +2317,7 @@ del_lines(long nlines, int undo)
|
||||
if (curbuf->b_ml.ml_flags & ML_EMPTY) // nothing to delete
|
||||
break;
|
||||
|
||||
ml_delete(first, TRUE);
|
||||
ml_delete_flags(first, ML_DEL_MESSAGE);
|
||||
++n;
|
||||
|
||||
// If we delete the last line in the file, stop
|
||||
|
@ -156,9 +156,9 @@ ch_logfile(char_u *fname, char_u *opt)
|
||||
if (log_fd != NULL)
|
||||
{
|
||||
if (*fname != NUL)
|
||||
ch_log(NULL, "closing, opening %s", fname);
|
||||
ch_log(NULL, "closing this logfile, opening %s", fname);
|
||||
else
|
||||
ch_log(NULL, "closing");
|
||||
ch_log(NULL, "closing logfile");
|
||||
fclose(log_fd);
|
||||
}
|
||||
|
||||
@ -955,6 +955,7 @@ channel_open(
|
||||
int sd = -1;
|
||||
channel_T *channel = NULL;
|
||||
#ifdef FEAT_IPV6
|
||||
int err;
|
||||
struct addrinfo hints;
|
||||
struct addrinfo *res = NULL;
|
||||
struct addrinfo *addr = NULL;
|
||||
@ -986,10 +987,11 @@ channel_open(
|
||||
// Set port number manually in order to prevent name resolution services
|
||||
// from being invoked in the environment where AI_NUMERICSERV is not
|
||||
// defined.
|
||||
if (getaddrinfo(hostname, NULL, &hints, &res) != 0)
|
||||
if ((err = getaddrinfo(hostname, NULL, &hints, &res)) != 0)
|
||||
{
|
||||
ch_error(channel, "in getaddrinfo() in channel_open()");
|
||||
PERROR(_("E901: getaddrinfo() in channel_open()"));
|
||||
semsg(_("E901: getaddrinfo() in channel_open(): %s"),
|
||||
gai_strerror(err));
|
||||
channel_free(channel);
|
||||
return NULL;
|
||||
}
|
||||
@ -997,8 +999,8 @@ channel_open(
|
||||
for (addr = res; addr != NULL; addr = addr->ai_next)
|
||||
{
|
||||
const char *dst = hostname;
|
||||
const void *src = NULL;
|
||||
# ifdef HAVE_INET_NTOP
|
||||
const void *src = NULL;
|
||||
char buf[NUMBUFLEN];
|
||||
# endif
|
||||
|
||||
@ -1007,14 +1009,18 @@ channel_open(
|
||||
struct sockaddr_in6 *sai = (struct sockaddr_in6 *)addr->ai_addr;
|
||||
|
||||
sai->sin6_port = htons(port);
|
||||
# ifdef HAVE_INET_NTOP
|
||||
src = &sai->sin6_addr;
|
||||
# endif
|
||||
}
|
||||
else if (addr->ai_family == AF_INET)
|
||||
{
|
||||
struct sockaddr_in *sai = (struct sockaddr_in *)addr->ai_addr;
|
||||
|
||||
sai->sin_port = htons(port);
|
||||
# ifdef HAVE_INET_NTOP
|
||||
src = &sai->sin_addr;
|
||||
#endif
|
||||
}
|
||||
# ifdef HAVE_INET_NTOP
|
||||
if (src != NULL)
|
||||
@ -1035,7 +1041,7 @@ channel_open(
|
||||
if (waittime == 0)
|
||||
waittime = 1;
|
||||
|
||||
sd = channel_connect(channel, addr->ai_addr, addr->ai_addrlen,
|
||||
sd = channel_connect(channel, addr->ai_addr, (int)addr->ai_addrlen,
|
||||
&waittime);
|
||||
if (sd >= 0)
|
||||
break;
|
||||
@ -2397,7 +2403,7 @@ channel_get_json(
|
||||
list_T *l = item->jq_value->vval.v_list;
|
||||
typval_T *tv;
|
||||
|
||||
range_list_materialize(l);
|
||||
CHECK_LIST_MATERIALIZE(l);
|
||||
tv = &l->lv_first->li_tv;
|
||||
|
||||
if ((without_callback || !item->jq_no_callback)
|
||||
@ -3938,7 +3944,7 @@ theend:
|
||||
free_job_options(&opt);
|
||||
}
|
||||
|
||||
# if defined(MSWIN) || defined(FEAT_GUI) || defined(PROTO)
|
||||
#if defined(MSWIN) || defined(__HAIKU__) || defined(FEAT_GUI) || defined(PROTO)
|
||||
/*
|
||||
* Check the channels for anything that is ready to be read.
|
||||
* The data is put in the read queue.
|
||||
@ -3971,9 +3977,23 @@ channel_handle_events(int only_keep_open)
|
||||
"channel_handle_events");
|
||||
}
|
||||
}
|
||||
|
||||
# ifdef __HAIKU__
|
||||
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
|
||||
// should close fds when the job has finished if 'channel' connects to
|
||||
// the pty.
|
||||
if (channel->ch_job != NULL)
|
||||
{
|
||||
job_T *job = channel->ch_job;
|
||||
|
||||
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
|
||||
for (part = PART_SOCK; part < PART_COUNT; ++part)
|
||||
ch_close_part(channel, part);
|
||||
}
|
||||
# endif
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# if defined(FEAT_GUI) || defined(PROTO)
|
||||
/*
|
||||
@ -4539,6 +4559,20 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
|
||||
channel_write_input(channel);
|
||||
--ret;
|
||||
}
|
||||
|
||||
# ifdef __HAIKU__
|
||||
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
|
||||
// should close fds when the job has finished if 'channel' connects to
|
||||
// the pty.
|
||||
if (channel->ch_job != NULL)
|
||||
{
|
||||
job_T *job = channel->ch_job;
|
||||
|
||||
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
|
||||
for (part = PART_SOCK; part < PART_COUNT; ++part)
|
||||
ch_close_part(channel, part);
|
||||
}
|
||||
# endif
|
||||
}
|
||||
|
||||
return ret;
|
||||
@ -5272,12 +5306,13 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
range_list_materialize(item->vval.v_list);
|
||||
CHECK_LIST_MATERIALIZE(item->vval.v_list);
|
||||
li = item->vval.v_list->lv_first;
|
||||
for (; li != NULL && n < 16; li = li->li_next, n++)
|
||||
{
|
||||
char_u *color_name;
|
||||
guicolor_T guicolor;
|
||||
int called_emsg_before = called_emsg;
|
||||
|
||||
color_name = tv_get_string_chk(&li->li_tv);
|
||||
if (color_name == NULL)
|
||||
@ -5285,7 +5320,12 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
|
||||
|
||||
guicolor = GUI_GET_COLOR(color_name);
|
||||
if (guicolor == INVALCOLOR)
|
||||
{
|
||||
if (called_emsg_before == called_emsg)
|
||||
// may not get the error if the GUI didn't start
|
||||
semsg(_(e_alloc_color), color_name);
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
rgb[n] = GUI_MCH_GET_RGB(guicolor);
|
||||
}
|
||||
@ -5699,7 +5739,7 @@ win32_build_cmd(list_T *l, garray_T *gap)
|
||||
listitem_T *li;
|
||||
char_u *s;
|
||||
|
||||
range_list_materialize(l);
|
||||
CHECK_LIST_MATERIALIZE(l);
|
||||
FOR_ALL_LIST_ITEMS(l, li)
|
||||
{
|
||||
s = tv_get_string_chk(&li->li_tv);
|
||||
|
@ -1764,6 +1764,8 @@ vim_isblankline(char_u *lbuf)
|
||||
* If "prep" is not NULL, returns a flag to indicate the type of the number:
|
||||
* 0 decimal
|
||||
* '0' octal
|
||||
* 'O' octal
|
||||
* 'o' octal
|
||||
* 'B' bin
|
||||
* 'b' bin
|
||||
* 'X' hex
|
||||
@ -1783,8 +1785,8 @@ vim_isblankline(char_u *lbuf)
|
||||
vim_str2nr(
|
||||
char_u *start,
|
||||
int *prep, // return: type of number 0 = decimal, 'x'
|
||||
// or 'X' is hex, '0' = octal, 'b' or 'B'
|
||||
// is bin
|
||||
// or 'X' is hex, '0', 'o' or 'O' is octal,
|
||||
// 'b' or 'B' is bin
|
||||
int *len, // return: detected length of number
|
||||
int what, // what numbers to recognize
|
||||
varnumber_T *nptr, // return: signed result
|
||||
@ -1822,6 +1824,11 @@ vim_str2nr(
|
||||
&& (maxlen == 0 || maxlen > 2))
|
||||
// binary
|
||||
ptr += 2;
|
||||
else if ((what & STR2NR_OOCT)
|
||||
&& (pre == 'O' || pre == 'o') && vim_isbdigit(ptr[2])
|
||||
&& (maxlen == 0 || maxlen > 2))
|
||||
// octal with prefix "0o"
|
||||
ptr += 2;
|
||||
else
|
||||
{
|
||||
// decimal or octal, default is decimal
|
||||
@ -1869,9 +1876,12 @@ vim_str2nr(
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (pre == '0' || ((what & STR2NR_OCT) && (what & STR2NR_FORCE)))
|
||||
else if (pre == 'O' || pre == 'o' ||
|
||||
pre == '0' || ((what & STR2NR_OCT) && (what & STR2NR_FORCE)))
|
||||
{
|
||||
// octal
|
||||
if (pre != 0 && pre != '0')
|
||||
n += 2; // skip over "0o"
|
||||
while ('0' <= *ptr && *ptr <= '7')
|
||||
{
|
||||
// avoid ubsan error for overflow
|
||||
|
@ -1845,6 +1845,9 @@ parse_cino(buf_T *buf)
|
||||
// Handle C++ extern "C" or "C++"
|
||||
buf->b_ind_cpp_extern_c = 0;
|
||||
|
||||
// Handle C #pragma directives
|
||||
buf->b_ind_pragma = 0;
|
||||
|
||||
for (p = buf->b_p_cino; *p; )
|
||||
{
|
||||
l = p++;
|
||||
@ -1920,6 +1923,7 @@ parse_cino(buf_T *buf)
|
||||
case 'N': buf->b_ind_cpp_namespace = n; break;
|
||||
case 'k': buf->b_ind_if_for_while = n; break;
|
||||
case 'E': buf->b_ind_cpp_extern_c = n; break;
|
||||
case 'P': buf->b_ind_pragma = n; break;
|
||||
}
|
||||
if (*p == ',')
|
||||
++p;
|
||||
@ -2116,11 +2120,16 @@ get_c_indent(void)
|
||||
goto laterend;
|
||||
}
|
||||
|
||||
// #defines and so on always go at the left when included in 'cinkeys'.
|
||||
// #defines and so on go at the left when included in 'cinkeys',
|
||||
// exluding pragmas when customized in 'cinoptions'
|
||||
if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
|
||||
{
|
||||
amount = curbuf->b_ind_hash_comment;
|
||||
goto theend;
|
||||
char_u *directive = skipwhite(theline + 1);
|
||||
if (curbuf->b_ind_pragma == 0 || STRNCMP(directive, "pragma", 6) != 0)
|
||||
{
|
||||
amount = curbuf->b_ind_hash_comment;
|
||||
goto theend;
|
||||
}
|
||||
}
|
||||
|
||||
// Is it a non-case label? Then that goes at the left margin too unless:
|
||||
|
@ -1317,7 +1317,12 @@ check_clipboard_option(void)
|
||||
}
|
||||
if (errmsg == NULL)
|
||||
{
|
||||
clip_unnamed = new_unnamed;
|
||||
if (global_busy)
|
||||
// clip_unnamed will be reset to clip_unnamed_saved
|
||||
// at end_global_changes
|
||||
clip_unnamed_saved = new_unnamed;
|
||||
else
|
||||
clip_unnamed = new_unnamed;
|
||||
clip_autoselect_star = new_autoselect_star;
|
||||
clip_autoselect_plus = new_autoselect_plus;
|
||||
clip_autoselectml = new_autoselectml;
|
||||
|
@ -30,6 +30,9 @@
|
||||
/* Define when __DATE__ " " __TIME__ can be used */
|
||||
#undef HAVE_DATE_TIME
|
||||
|
||||
/* Defined from $SOURCE_DATE_EPOCH, used as the build date */
|
||||
#undef BUILD_DATE
|
||||
|
||||
/* Define when __attribute__((unused)) can be used */
|
||||
#undef HAVE_ATTRIBUTE_UNUSED
|
||||
|
||||
@ -126,12 +129,6 @@
|
||||
#undef PTYRANGE0
|
||||
#undef PTYRANGE1
|
||||
|
||||
/* Define mode for pty */
|
||||
#undef PTYMODE
|
||||
|
||||
/* Define group for pty */
|
||||
#undef PTYGROUP
|
||||
|
||||
/* Define as the return type of signal handlers (int or void). */
|
||||
#undef RETSIGTYPE
|
||||
|
||||
@ -490,5 +487,11 @@
|
||||
/* Define if we have isnan() */
|
||||
#undef HAVE_ISNAN
|
||||
|
||||
/* Define if we have dirfd() */
|
||||
#undef HAVE_DIRFD
|
||||
|
||||
/* Define if we have flock() */
|
||||
#undef HAVE_FLOCK
|
||||
|
||||
/* Define to inline symbol or empty */
|
||||
#undef inline
|
||||
|
@ -169,6 +169,10 @@ MAKEMO = @MAKEMO@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_DESKTOP = @MSGFMT_DESKTOP@
|
||||
|
||||
### set if $SOURCE_DATE_EPOCH was set when running configure
|
||||
BUILD_DATE_MSG = @BUILD_DATE_MSG@
|
||||
|
||||
|
||||
# Make sure that "make first" will run "make all" once configure has done its
|
||||
# work. This is needed when using the Makefile in the top directory.
|
||||
first: all
|
||||
|
106
src/configure.ac
106
src/configure.ac
@ -62,6 +62,18 @@ if test x"$ac_cv_prog_cc_c99" != xno; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl If $SOURCE_DATE_EPOCH is present in the environment, use that as the
|
||||
dnl "compiled" timestamp in :version's output. Attempt to get the formatted
|
||||
dnl date using GNU date syntax, BSD date syntax, and finally falling back to
|
||||
dnl just using the current time.
|
||||
if test -n "$SOURCE_DATE_EPOCH"; then
|
||||
DATE_FMT="%b %d %Y %H:%M:%S"
|
||||
BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
|
||||
AC_DEFINE_UNQUOTED(BUILD_DATE, ["$BUILD_DATE"])
|
||||
BUILD_DATE_MSG=-"echo -e '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\nNOTE: build date/time is fixed: $BUILD_DATE\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='"
|
||||
AC_SUBST(BUILD_DATE_MSG)
|
||||
fi
|
||||
|
||||
dnl Check for the flag that fails if stuff are missing.
|
||||
|
||||
AC_MSG_CHECKING(--enable-fail-if-missing argument)
|
||||
@ -146,14 +158,6 @@ fi
|
||||
|
||||
OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
|
||||
|
||||
dnl Check for BeOS, which needs an extra source file
|
||||
AC_MSG_CHECKING(for BeOS)
|
||||
case `uname` in
|
||||
BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
|
||||
BEOS=yes; AC_MSG_RESULT(yes);;
|
||||
*) BEOS=no; AC_MSG_RESULT(no);;
|
||||
esac
|
||||
|
||||
AC_MSG_CHECKING(for Haiku)
|
||||
case `uname` in
|
||||
Haiku) HAIKU=yes; AC_MSG_RESULT(yes);;
|
||||
@ -3673,77 +3677,6 @@ else
|
||||
AC_MSG_RESULT([don't know])
|
||||
fi
|
||||
|
||||
dnl **** pty mode/group handling ****
|
||||
dnl
|
||||
dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
|
||||
rm -f conftest_grp
|
||||
AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
|
||||
[
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
#include "confdefs.h"
|
||||
#include <sys/types.h>
|
||||
#if STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#include <stdio.h>
|
||||
main()
|
||||
{
|
||||
struct stat sb;
|
||||
char *x,*ttyname();
|
||||
int om, m;
|
||||
FILE *fp;
|
||||
|
||||
if (!(x = ttyname(0))) exit(1);
|
||||
if (stat(x, &sb)) exit(1);
|
||||
om = sb.st_mode;
|
||||
if (om & 002) exit(0);
|
||||
m = system("mesg y");
|
||||
if (m == -1 || m == 127) exit(1);
|
||||
if (stat(x, &sb)) exit(1);
|
||||
m = sb.st_mode;
|
||||
if (chmod(x, om)) exit(1);
|
||||
if (m & 002) exit(0);
|
||||
if (sb.st_gid == getgid()) exit(1);
|
||||
if (!(fp=fopen("conftest_grp", "w")))
|
||||
exit(1);
|
||||
fprintf(fp, "%d\n", sb.st_gid);
|
||||
fclose(fp);
|
||||
exit(0);
|
||||
}
|
||||
]])],[
|
||||
if test -f conftest_grp; then
|
||||
vim_cv_tty_group=`cat conftest_grp`
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
vim_cv_tty_mode=0620
|
||||
fi
|
||||
AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
|
||||
else
|
||||
vim_cv_tty_group=world
|
||||
AC_MSG_RESULT([ptys are world accessible])
|
||||
fi
|
||||
],[
|
||||
vim_cv_tty_group=world
|
||||
AC_MSG_RESULT([can't determine - assume ptys are world accessible])
|
||||
],[
|
||||
AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
|
||||
])
|
||||
])
|
||||
rm -f conftest_grp
|
||||
|
||||
if test "x$vim_cv_tty_group" != "xworld" ; then
|
||||
AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
|
||||
if test "x$vim_cv_tty_mode" = "x" ; then
|
||||
AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)])
|
||||
else
|
||||
AC_DEFINE(PTYMODE, 0620)
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Checks for library functions. ===================================
|
||||
|
||||
AC_TYPE_SIGNAL
|
||||
@ -4131,6 +4064,21 @@ AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
|
||||
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
|
||||
AC_MSG_RESULT(no))
|
||||
|
||||
dnl check for dirfd()
|
||||
AC_MSG_CHECKING(for dirfd)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/types.h>
|
||||
#include <dirent.h>],
|
||||
[DIR * dir=opendir("dirname"); dirfd(dir);],
|
||||
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DIRFD), AC_MSG_RESULT(not usable))
|
||||
|
||||
dnl check for flock()
|
||||
AC_MSG_CHECKING(for flock)
|
||||
AC_TRY_COMPILE(
|
||||
[#include <sys/file.h>],
|
||||
[flock(10, LOCK_SH);],
|
||||
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOCK), AC_MSG_RESULT(not usable))
|
||||
|
||||
dnl sysctl() may exist but not the arguments we use
|
||||
AC_MSG_CHECKING(for sysctl)
|
||||
AC_TRY_COMPILE(
|
||||
|
33
src/dict.c
33
src/dict.c
@ -104,29 +104,38 @@ rettv_dict_set(typval_T *rettv, dict_T *d)
|
||||
*/
|
||||
void
|
||||
dict_free_contents(dict_T *d)
|
||||
{
|
||||
hashtab_free_contents(&d->dv_hashtab);
|
||||
}
|
||||
|
||||
/*
|
||||
* Clear hashtab "ht" and dict items it contains.
|
||||
*/
|
||||
void
|
||||
hashtab_free_contents(hashtab_T *ht)
|
||||
{
|
||||
int todo;
|
||||
hashitem_T *hi;
|
||||
dictitem_T *di;
|
||||
|
||||
// Lock the hashtab, we don't want it to resize while freeing items.
|
||||
hash_lock(&d->dv_hashtab);
|
||||
todo = (int)d->dv_hashtab.ht_used;
|
||||
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
|
||||
hash_lock(ht);
|
||||
todo = (int)ht->ht_used;
|
||||
for (hi = ht->ht_array; todo > 0; ++hi)
|
||||
{
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
// Remove the item before deleting it, just in case there is
|
||||
// something recursive causing trouble.
|
||||
di = HI2DI(hi);
|
||||
hash_remove(&d->dv_hashtab, hi);
|
||||
hash_remove(ht, hi);
|
||||
dictitem_free(di);
|
||||
--todo;
|
||||
}
|
||||
}
|
||||
|
||||
// The hashtab is still locked, it has to be re-initialized anyway
|
||||
hash_clear(&d->dv_hashtab);
|
||||
// The hashtab is still locked, it has to be re-initialized anyway.
|
||||
hash_clear(ht);
|
||||
}
|
||||
|
||||
static void
|
||||
@ -782,8 +791,9 @@ get_literal_key(char_u **arg, typval_T *tv)
|
||||
* Return OK or FAIL. Returns NOTDONE for {expr}.
|
||||
*/
|
||||
int
|
||||
eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
|
||||
eval_dict(char_u **arg, typval_T *rettv, int flags, int literal)
|
||||
{
|
||||
int evaluate = flags & EVAL_EVALUATE;
|
||||
dict_T *d = NULL;
|
||||
typval_T tvkey;
|
||||
typval_T tv;
|
||||
@ -791,6 +801,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
|
||||
dictitem_T *item;
|
||||
char_u *start = skipwhite(*arg + 1);
|
||||
char_u buf[NUMBUFLEN];
|
||||
int vim9script = current_sctx.sc_version == SCRIPT_VERSION_VIM9;
|
||||
|
||||
/*
|
||||
* First check if it's not a curly-braces thing: {expr}.
|
||||
@ -799,9 +810,9 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
|
||||
* first item.
|
||||
* But {} is an empty Dictionary.
|
||||
*/
|
||||
if (*start != '}')
|
||||
if (!vim9script && *start != '}')
|
||||
{
|
||||
if (eval1(&start, &tv, FALSE) == FAIL) // recursive!
|
||||
if (eval1(&start, &tv, 0) == FAIL) // recursive!
|
||||
return FAIL;
|
||||
if (*start == '}')
|
||||
return NOTDONE;
|
||||
@ -821,7 +832,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
|
||||
{
|
||||
if ((literal
|
||||
? get_literal_key(arg, &tvkey)
|
||||
: eval1(arg, &tvkey, evaluate)) == FAIL) // recursive!
|
||||
: eval1(arg, &tvkey, flags)) == FAIL) // recursive!
|
||||
goto failret;
|
||||
|
||||
if (**arg != ':')
|
||||
@ -843,7 +854,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
|
||||
}
|
||||
|
||||
*arg = skipwhite(*arg + 1);
|
||||
if (eval1(arg, &tv, evaluate) == FAIL) // recursive!
|
||||
if (eval1(arg, &tv, flags) == FAIL) // recursive!
|
||||
{
|
||||
if (evaluate)
|
||||
clear_tv(&tvkey);
|
||||
|
@ -2764,7 +2764,7 @@ ex_diffgetput(exarg_T *eap)
|
||||
{
|
||||
// remember deleting the last line of the buffer
|
||||
buf_empty = curbuf->b_ml.ml_line_count == 1;
|
||||
ml_delete(lnum, FALSE);
|
||||
ml_delete(lnum);
|
||||
--added;
|
||||
}
|
||||
for (i = 0; i < dp->df_count[idx_from] - start_skip - end_skip; ++i)
|
||||
@ -2786,7 +2786,7 @@ ex_diffgetput(exarg_T *eap)
|
||||
// Added the first line into an empty buffer, need to
|
||||
// delete the dummy empty line.
|
||||
buf_empty = FALSE;
|
||||
ml_delete((linenr_T)2, FALSE);
|
||||
ml_delete((linenr_T)2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1177,6 +1177,12 @@ win_line(
|
||||
c_final = NUL;
|
||||
n_extra = get_breakindent_win(wp,
|
||||
ml_get_buf(wp->w_buffer, lnum, FALSE));
|
||||
if (row == startrow)
|
||||
{
|
||||
n_extra -= win_col_off2(wp);
|
||||
if (n_extra < 0)
|
||||
n_extra = 0;
|
||||
}
|
||||
if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_briopt_sbr)
|
||||
need_showbreak = FALSE;
|
||||
// Correct end of highlighted area for 'breakindent',
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user