mirror of
https://github.com/vim/vim
synced 2025-07-18 02:01:54 +00:00
Compare commits
593 Commits
Author | SHA1 | Date | |
---|---|---|---|
d2c617055a | |||
2f3cd2e4ec | |||
8a0dcf4330 | |||
4140c4f3ff | |||
7c27f337bf | |||
401f0c0798 | |||
4b9bd692bd | |||
fcb6d7082d | |||
30788d3d37 | |||
597aaac9d2 | |||
fa2e38df76 | |||
a5a40c5696 | |||
ed6a430fae | |||
a48f786787 | |||
7918238528 | |||
15183b41c4 | |||
636c5d5399 | |||
04637e243d | |||
b02628b8a2 | |||
d217a87755 | |||
c08cc72947 | |||
036c2cf719 | |||
2df4731042 | |||
44b4a246b6 | |||
59941cbd80 | |||
2ce14589f2 | |||
8b5866ded6 | |||
7dfc5ce7cf | |||
86394aa972 | |||
cf8aa6448b | |||
e2e4075fad | |||
24f7750ffa | |||
c05d1c043a | |||
fe136c9a85 | |||
b936b79424 | |||
077cc7aa0e | |||
eadee486c7 | |||
fe6dce8739 | |||
fa57335e53 | |||
eb24556df3 | |||
18eedfa40b | |||
7ca86fe8dc | |||
1f42f5a675 | |||
a60053b8f4 | |||
5b5aa11801 | |||
62f93f4ec9 | |||
04d594b9c1 | |||
6c553f9c04 | |||
f966ce5ea2 | |||
5892ea1511 | |||
67ff97ded7 | |||
551d25e765 | |||
119f557230 | |||
9d8bfae50f | |||
a5d3841177 | |||
4da7a259f6 | |||
6efa46f4ef | |||
4488f5a545 | |||
e90d63ea90 | |||
4ad739fc05 | |||
6f84b6db10 | |||
3767e3a330 | |||
81fcb67fb3 | |||
9c2b06637b | |||
ca563b9b94 | |||
2f1228463a | |||
997cd1a17f | |||
39f7aa3c31 | |||
7d6979608e | |||
07e87e9eb5 | |||
2c93c685e3 | |||
64f37d3090 | |||
8b565c2c15 | |||
02aaad9109 | |||
ca774f6753 | |||
0b8cf278ec | |||
02c037a4be | |||
cd80006ecb | |||
76603baac5 | |||
207f009326 | |||
0b39c3fd4c | |||
25859dd74c | |||
a5639848cc | |||
95006e3dca | |||
98945560c1 | |||
e3d4685f1f | |||
423a85a11a | |||
b06a6d59d1 | |||
4e4473c927 | |||
08aac3c619 | |||
ee8580e52e | |||
6a950581da | |||
2566054a7f | |||
7a3330fc57 | |||
5163fcce79 | |||
749639ec72 | |||
3988f64f9d | |||
601e76ac3c | |||
228e62975e | |||
6e3aeec846 | |||
2e0866128b | |||
b9fc192f92 | |||
c8ec5fe56f | |||
07399e7f07 | |||
b3ea36c5bc | |||
c2af0afff5 | |||
2e80095501 | |||
6c53fca023 | |||
430deb1945 | |||
8436773fad | |||
dc0cf1db3e | |||
0981c8729e | |||
69e44552c5 | |||
cd94277f72 | |||
5390099a97 | |||
9943b3d979 | |||
c63b72b6dc | |||
51b6eb47b3 | |||
d70840ed68 | |||
1b04ce2d40 | |||
7cb6fc29d0 | |||
81e17fbe00 | |||
122616d9c1 | |||
3fc71285d5 | |||
5d72ce69c8 | |||
ec65d77fa2 | |||
733d259a83 | |||
17f67547f3 | |||
b8a9296ced | |||
df2524bbb4 | |||
825b54415f | |||
fc2a47ffc4 | |||
20b23c6358 | |||
66250c932e | |||
93ad14710b | |||
191929b182 | |||
9dc1917f42 | |||
a7c4e74763 | |||
f8abbf37d6 | |||
af8822ce08 | |||
9b02d64cff | |||
165036ddba | |||
aeb2bdd0de | |||
3affe7a6c6 | |||
e15eebd202 | |||
1d634542cf | |||
558813314d | |||
f39397e515 | |||
aa9675a61d | |||
36967b32fd | |||
624b6eaf20 | |||
021bda5671 | |||
7b22117c4e | |||
241572794f | |||
c0f8823ee4 | |||
0aae4809fd | |||
f923571ec1 | |||
e5abf7af08 | |||
cc673e746a | |||
56acb0943e | |||
829ac868b7 | |||
ed5918771f | |||
11107bab7e | |||
3d1cde8a2f | |||
e3c37d8ebf | |||
451c2e3536 | |||
53b29e4845 | |||
9a5c553f79 | |||
793dcc540d | |||
1623619119 | |||
d1103587cf | |||
79e8db9a21 | |||
8de2f44ac6 | |||
8d56622944 | |||
41fab3eac8 | |||
7d6997015d | |||
32a23ac615 | |||
4ac97f4761 | |||
32f335f75c | |||
7517ffdbb5 | |||
c4ce36d486 | |||
bc4c505166 | |||
cdd70f09a5 | |||
be7529e889 | |||
c771908681 | |||
16c6232cad | |||
b96a32ef1a | |||
7ac616cb0a | |||
c9edd6b582 | |||
66e0014ba6 | |||
418f1df547 | |||
fd77748df2 | |||
ba60cc45e7 | |||
6d91bcb4d2 | |||
c3d6e8a46a | |||
db199216e8 | |||
17a836cbee | |||
ed677f5587 | |||
7c5ad34878 | |||
a177344dc0 | |||
575f24b3f3 | |||
040f975fc1 | |||
035d6e91bd | |||
097148e849 | |||
4301a729ea | |||
f7c4d83609 | |||
59eccb92e3 | |||
8294d49937 | |||
efb6482949 | |||
3e06a1e2a8 | |||
6f8f7337c1 | |||
bf61fdd008 | |||
94f4ffa770 | |||
6e4cfffe80 | |||
a9a47d157a | |||
7f7a888869 | |||
1e91eafc2e | |||
64d662d5fc | |||
127542bceb | |||
a1b9b0cc01 | |||
a7cc9e697b | |||
b3ca982407 | |||
3896a105eb | |||
94f6c06ac5 | |||
62a232506d | |||
730b248339 | |||
efa94447e8 | |||
daa2f36573 | |||
4a6d1b660f | |||
5a849da57c | |||
98b4f145eb | |||
2dd0a2c39a | |||
b7f4fa5177 | |||
bf8feb5aeb | |||
fa211f3c6d | |||
1c199f9c70 | |||
74d95b5b58 | |||
dd29f1b056 | |||
e7b1ea0276 | |||
95dd9f2571 | |||
994b89d28d | |||
de6804d871 | |||
8ce4b7ed85 | |||
9470a4d88a | |||
8e1986e389 | |||
56b8dc331d | |||
3d945cc925 | |||
ae95a3946b | |||
bbd3e3c357 | |||
b8d732e93e | |||
803af686e2 | |||
c5da1fb7ea | |||
a71e263320 | |||
f9b2b49663 | |||
fdac71c507 | |||
3c1c9fd94b | |||
c753478b82 | |||
14ddd226da | |||
ff1cd39cfe | |||
b4caa163ff | |||
a6296200bd | |||
bb1b5e24ec | |||
282f9c64e5 | |||
e46a2ed0d8 | |||
ecd34bf55d | |||
6a25026262 | |||
f96e9dec63 | |||
8314454648 | |||
434d72cbf2 | |||
658217276f | |||
7226e5b19b | |||
c2ee44cc38 | |||
aa970abd0a | |||
8b89614e69 | |||
ad486a0f0d | |||
bcbf41395f | |||
b9a2cac3ef | |||
eef2102e20 | |||
e4218b9416 | |||
909443028b | |||
491799be50 | |||
f8992d47cd | |||
2c79e9d14d | |||
333894b195 | |||
f5a48010ef | |||
2ec208172c | |||
b86abadf87 | |||
2caa1594e7 | |||
8e4c8c853e | |||
586268721d | |||
af50e899e7 | |||
4e1d8bd79b | |||
b53da7918c | |||
af8edbb8dc | |||
ce6583568f | |||
badd8486f7 | |||
3a53ec8bdd | |||
38ddf333f6 | |||
4d4d1cd5c8 | |||
f4ee528086 | |||
9d48956681 | |||
ea2d8d2571 | |||
c7e44a7e4c | |||
696ba23149 | |||
1040956292 | |||
7b7f78f51d | |||
33afa2447b | |||
ac7bf8c4bf | |||
ed3c7e6339 | |||
f9a343f8bd | |||
b61ef01cce | |||
45df2a01a7 | |||
9898107f54 | |||
b5ed266037 | |||
066b12e36c | |||
68e30449a2 | |||
bd7f7c123d | |||
461f21242a | |||
ae616494d7 | |||
0aac67a431 | |||
b13ab99908 | |||
622b3568fa | |||
6ca6ca4889 | |||
6d585f4c5c | |||
01865ade85 | |||
ace6132aa8 | |||
4fc224ca1c | |||
2547aa930b | |||
d3bb6a82a5 | |||
cb4f69c2fd | |||
a5d0423fa1 | |||
d66cdcd43a | |||
7d40b8a532 | |||
37394ff752 | |||
2d6b20d6a9 | |||
2afc3b4f77 | |||
24aa48b7a2 | |||
925e9fd633 | |||
c841afff6a | |||
13e12b8a3c | |||
40f4f7a48c | |||
43e969d3f9 | |||
b8070e3173 | |||
bfba8651a5 | |||
637cd7d1c9 | |||
6c4bfe4b31 | |||
2d06bfde29 | |||
8930caaa1a | |||
8d5f6af5e5 | |||
dd1a9af00f | |||
7a87b4e3fe | |||
4cc45a3673 | |||
5a67c37a55 | |||
63be3d4ba0 | |||
c69950ac17 | |||
4cdb13ce81 | |||
0f60e80f9b | |||
2f1980f7b7 | |||
054f14bbe5 | |||
e7e4838f25 | |||
2690b5aed8 | |||
bc6fcbe4ce | |||
7d5e744162 | |||
420952175a | |||
c71f36a889 | |||
f868ba8903 | |||
c7db57788b | |||
7591116acf | |||
f56c95fdad | |||
08815a1d03 | |||
b31be3f909 | |||
7892b953e0 | |||
d43906d2e5 | |||
470adb827f | |||
b146e01a7e | |||
54c3fcd852 | |||
682d0a1546 | |||
2f8ce0ae8a | |||
747f11ad6e | |||
956501594e | |||
bf9d8c3765 | |||
b209750b5e | |||
f398238a37 | |||
6802cce407 | |||
75783bd84e | |||
65b9545f44 | |||
6434fc574d | |||
10e1d01aaf | |||
de2396fc87 | |||
d032f34a51 | |||
447bfba24b | |||
e859312e74 | |||
2764d06ab7 | |||
066e7da3cd | |||
f0b9f43c31 | |||
b68ced5f07 | |||
945c857844 | |||
68d130c618 | |||
6e36b1c18e | |||
203ec7760d | |||
f5be8cdb77 | |||
98af99f2d7 | |||
ee1b93169d | |||
a90afb9a59 | |||
e30f64b4b5 | |||
657a826c07 | |||
02f9e6a60f | |||
452143c6bf | |||
5966ea105e | |||
3d48e25dcb | |||
1e1f612bd4 | |||
b6e4e4c6f7 | |||
e3f915d12c | |||
ceb56ddbaf | |||
297bec0731 | |||
5551b131da | |||
8455c5ed31 | |||
1f22cc5cdb | |||
21c16f868d | |||
49fe0d6b28 | |||
7ce85be63b | |||
1bce831e13 | |||
8c34ea54ad | |||
5d2eb0fff0 | |||
3ac9c4701a | |||
08f7a41b0a | |||
f1a2368d81 | |||
bfd65589d9 | |||
7177da9dd4 | |||
a4b442614c | |||
c212dd0a34 | |||
83e7450053 | |||
4d57ba0202 | |||
a4dc6f92bb | |||
35910f2d54 | |||
b898a029b0 | |||
985116ae0b | |||
eb6880b6eb | |||
8af81d656a | |||
6d3a7213f5 | |||
c85156bb89 | |||
13c046316b | |||
ecdd14a427 | |||
2b6ef856fb | |||
9b7bf9e98f | |||
914e7eaa67 | |||
21e5bdd271 | |||
1e624c912d | |||
f65927fc8d | |||
b074e8b8d4 | |||
18aa13d13b | |||
543e6f3467 | |||
7ff78465f7 | |||
a7eedf317a | |||
11a5b19a8c | |||
4004315292 | |||
08fc48492a | |||
58bb61cf5e | |||
ef85a9b2d9 | |||
97d2f34c87 | |||
92053ce59e | |||
389df259c4 | |||
ae97b94176 | |||
e4358906fd | |||
96916ac67a | |||
6e13530ca0 | |||
efaaaa683b | |||
8e2730a315 | |||
6110e79a58 | |||
6b7a0a8c20 | |||
b335b29e1c | |||
0a47e0970a | |||
002262f4de | |||
7a4b8980ea | |||
c620c055ce | |||
bed36b939a | |||
fe465a01cf | |||
0ab55d6201 | |||
bb790dcc46 | |||
007f9d6ed5 | |||
cbb6bdcd89 | |||
27321dbeed | |||
ab58946384 | |||
0ad3e894d7 | |||
67627355ac | |||
ad7c249327 | |||
252e88a785 | |||
0d94ad6958 | |||
b3c019cbc3 | |||
8f510afcd6 | |||
a66ba01a5f | |||
47e7d70b58 | |||
846178a72c | |||
50788ef349 | |||
435d89789e | |||
fce82b3aa7 | |||
9978d473e3 | |||
05a5551a86 | |||
788123c00c | |||
e9f262bdff | |||
3f40ce78f5 | |||
fb9d5c51c8 | |||
eeb27bfe28 | |||
962d721319 | |||
1c991144c5 | |||
effb0cd75d | |||
442af2f89e | |||
743d062020 | |||
92fdd1e75d | |||
5289783e0b | |||
810af5ea46 | |||
a9a8e5f0dc | |||
d2ef6b320b | |||
c19fd917be | |||
1112c0febb | |||
a0d072ef82 | |||
5f195938d4 | |||
9a78e6df17 | |||
e6b5324e3a | |||
086eb18ba1 | |||
d58d4f90ae | |||
ef8c617b9c | |||
8e6cbb7232 | |||
e49b8e8d75 | |||
11b6600c88 | |||
e707c882b2 | |||
9004949221 | |||
be7a50c22f | |||
47e880d6c1 | |||
37c8371195 | |||
006ad48b8a | |||
e46a440505 | |||
de8f0f47f6 | |||
f151ad1c70 | |||
6b949615ed | |||
a53618dd1d | |||
de19b745ee | |||
cf070112ca | |||
d034220c54 | |||
9b5384b97e | |||
927b7dd0fe | |||
6378b21d6d | |||
566cc8c72b | |||
cf30643ae6 | |||
6d90c61c5a | |||
7d2ac92ebc | |||
fda20c4cc5 | |||
91639195ef | |||
a1f9f8666e | |||
b7a78f7a67 | |||
d5053d015a | |||
06cf97e714 | |||
75e15670b8 | |||
faf8626b79 | |||
7e8967fdcd | |||
9215f01218 | |||
7a4981b936 | |||
a0a0c4147f | |||
e40fbc2ca9 | |||
ab19d495fd | |||
e6e031739c | |||
8ea9390b78 | |||
0b1cd52ff6 | |||
bd84617d1a | |||
7147820cb9 | |||
e6536aa766 | |||
be7ee48876 | |||
793648fb56 | |||
5d3c9f8c2a | |||
5f36d5fbb8 | |||
cf8441704d | |||
fc838d6cb0 | |||
1e4c7d0ed2 | |||
211dd3fd82 | |||
73b4465ba7 | |||
801ab06934 | |||
832adf9bb8 | |||
7acde51832 | |||
ca275a05d8 | |||
65a8ed37f7 | |||
b171fb1790 | |||
9d40c63c7d | |||
5409f5d8c9 | |||
b7e2483655 | |||
67fbdfefd2 | |||
ef6d86c173 | |||
4014e2ceb0 | |||
df069eec3b | |||
7eaafe65ee | |||
bdd2c290d3 | |||
25fd267287 | |||
b2b218d89b | |||
acd4c5e914 |
@ -11,6 +11,9 @@ freebsd_12_task:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=${FEATURES}
|
||||
- make -j${NPROC}
|
||||
- src/vim --version
|
||||
test_script:
|
||||
- make test
|
||||
- src/vim --version
|
||||
# run tests as user "cirrus" instead of root
|
||||
- pw useradd cirrus -m
|
||||
- chown -R cirrus:cirrus .
|
||||
- sudo -u cirrus make test
|
||||
|
50
.github/CODEOWNERS
vendored
Normal file
50
.github/CODEOWNERS
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
# Lines starting with '#' are comments.
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
# You can use github users with @user or email addresses
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @brammool
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
src/libvterm/* @leonerd
|
||||
|
||||
runtime/autoload/getscript.vim @cecamp
|
||||
runtime/autoload/netrw.vim @cecamp
|
||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||
runtime/autoload/netrwSettings.vim @cecamp
|
||||
runtime/autoload/tar.vim @cecamp
|
||||
runtime/autoload/vimball.vim @cecamp
|
||||
runtime/autoload/zip.vim @cecamp
|
||||
runtime/doc/pi_getscript.txt @cecamp
|
||||
runtime/doc/pi_logipat.txt @cecamp
|
||||
runtime/doc/pi_netrw.txt @cecamp
|
||||
runtime/doc/pi_tar.txt @cecamp
|
||||
runtime/doc/pi_vimball.txt @cecamp
|
||||
runtime/doc/pi_zip.txt @cecamp
|
||||
runtime/plugin/getscriptPlugin.vim @cecamp
|
||||
runtime/plugin/logiPat.vim @cecamp
|
||||
runtime/plugin/netrwPlugin.vim @cecamp
|
||||
runtime/plugin/tarPlugin.vim @cecamp
|
||||
runtime/plugin/vimballPlugin.vim @cecamp
|
||||
runtime/plugin/zipPlugin.vim @cecamp
|
||||
runtime/plugin/amiga.vim @cecamp
|
||||
runtime/plugin/csh.vim @cecamp
|
||||
runtime/plugin/dcl.vim @cecamp
|
||||
runtime/plugin/wlmfilt.vim @cecamp
|
||||
runtime/plugin/exports.vim @cecamp
|
||||
runtime/plugin/lex.vim @cecamp
|
||||
runtime/plugin/lisp.vim @cecamp
|
||||
runtime/plugin/maple.vim @cecamp
|
||||
runtime/plugin/netrw.vim @cecamp
|
||||
runtime/plugin/rpcgen.vim @cecamp
|
||||
runtime/plugin/sh.vim @cecamp
|
||||
runtime/plugin/sm.vim @cecamp
|
||||
runtime/plugin/tags.vim @cecamp
|
||||
runtime/plugin/tex.vim @cecamp
|
||||
runtime/plugin/vim.vim @cecamp
|
||||
runtime/plugin/xmath.vim @cecamp
|
||||
runtime/plugin/xxd.vim @cecamp
|
||||
runtime/plugin/yacc.vim @cecamp
|
228
.github/workflows/ci-windows.yaml
vendored
Normal file
228
.github/workflows/ci-windows.yaml
vendored
Normal file
@ -0,0 +1,228 @@
|
||||
name: GitHub CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- '*'
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
||||
|
||||
# Interfaces
|
||||
# Lua
|
||||
LUA_VER: 54
|
||||
LUA_VER_DOT: '5.4'
|
||||
LUA_RELEASE: 5.4.0
|
||||
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
|
||||
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
|
||||
LUA_DIR: D:\Lua
|
||||
# Python 2
|
||||
PYTHON_VER: 27
|
||||
PYTHON_VER_DOT: '2.7'
|
||||
# Python 3
|
||||
PYTHON3_VER: 38
|
||||
PYTHON3_VER_DOT: '3.8'
|
||||
|
||||
# Other dependencies
|
||||
# winpty
|
||||
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
|
||||
|
||||
# Escape sequences
|
||||
COL_RED: "\x1b[31m"
|
||||
COL_GREEN: "\x1b[32m"
|
||||
COL_YELLOW: "\x1b[33m"
|
||||
COL_RESET: "\x1b[m"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: windows-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [msvc, mingw]
|
||||
arch: [x64, x86]
|
||||
features: [HUGE, NORMAL]
|
||||
include:
|
||||
- arch: x64
|
||||
vcarch: amd64
|
||||
warch: x64
|
||||
bits: 64
|
||||
msystem: MINGW64
|
||||
cygreg: registry
|
||||
pyreg: ""
|
||||
- arch: x86
|
||||
vcarch: x86
|
||||
warch: ia32
|
||||
bits: 32
|
||||
msystem: MINGW32
|
||||
cygreg: registry32
|
||||
pyreg: "-32"
|
||||
exclude:
|
||||
- toolchain: msvc
|
||||
arch: x64
|
||||
features: NORMAL
|
||||
- toolchain: mingw
|
||||
arch: x86
|
||||
features: NORMAL
|
||||
|
||||
steps:
|
||||
- name: Initalize
|
||||
id: init
|
||||
shell: bash
|
||||
run: |
|
||||
git config --global core.autocrlf input
|
||||
python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
|
||||
python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
|
||||
echo "::set-env name=PYTHON_DIR::$python_dir"
|
||||
echo "::set-env name=PYTHON3_DIR::$python3_dir"
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
if: matrix.toolchain == 'mingw'
|
||||
with:
|
||||
msystem: ${{ matrix.msystem }}
|
||||
release: false
|
||||
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Create a list of download URLs
|
||||
shell: cmd
|
||||
run: |
|
||||
type NUL > urls.txt
|
||||
echo %LUA_RELEASE%>> urls.txt
|
||||
echo %WINPTY_URL%>> urls.txt
|
||||
|
||||
- name: Cache downloaded files
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: downloads
|
||||
key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
|
||||
|
||||
- name: Download dependencies
|
||||
shell: cmd
|
||||
run: |
|
||||
path C:\Program Files\7-Zip;%path%
|
||||
if not exist downloads mkdir downloads
|
||||
|
||||
echo %COL_GREEN%Download Lua%COL_RESET%
|
||||
call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
|
||||
7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
|
||||
|
||||
echo %COL_GREEN%Download winpty%COL_RESET%
|
||||
call :downloadfile %WINPTY_URL% downloads\winpty.zip
|
||||
7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
|
||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
|
||||
copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
|
||||
|
||||
goto :eof
|
||||
|
||||
:downloadfile
|
||||
:: call :downloadfile <URL> <localfile>
|
||||
if not exist %2 (
|
||||
curl -f -L %1 -o %2
|
||||
)
|
||||
if ERRORLEVEL 1 (
|
||||
rem Retry once.
|
||||
curl -f -L %1 -o %2 || exit 1
|
||||
)
|
||||
goto :eof
|
||||
|
||||
- name: Copy src directory to src2
|
||||
shell: cmd
|
||||
run: |
|
||||
xcopy src src2\ /E > nul
|
||||
|
||||
- name: Build (MSVC)
|
||||
if: matrix.toolchain == 'msvc'
|
||||
shell: cmd
|
||||
run: |
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
cd src
|
||||
:: Filter out the progress bar from the build log
|
||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
nmake -nologo -f Make_mvc2.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
|
||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc2.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||
)
|
||||
if not exist vim${{ matrix.bits }}.dll (
|
||||
echo %COL_RED%Build failure.%COL_RESET%
|
||||
exit 1
|
||||
)
|
||||
|
||||
- name: Build (MinGW)
|
||||
if: matrix.toolchain == 'mingw'
|
||||
shell: msys2 {0}
|
||||
run: |
|
||||
cd src
|
||||
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
|
||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||
STATIC_STDCPLUS=yes
|
||||
else
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
|
||||
STATIC_STDCPLUS=yes
|
||||
fi
|
||||
|
||||
# - name: Prepare Artifact
|
||||
# shell: cmd
|
||||
# run: |
|
||||
# mkdir artifacts
|
||||
# copy src\*vim.exe artifacts
|
||||
# copy src\vim*.dll artifacts
|
||||
#
|
||||
# - name: Upload Artifact
|
||||
# uses: actions/upload-artifact@v1
|
||||
# with:
|
||||
# name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
|
||||
# path: ./artifacts
|
||||
|
||||
- name: Test
|
||||
shell: cmd
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
cd src
|
||||
echo.
|
||||
echo %COL_GREEN%vim version:%COL_RESET%
|
||||
.\vim --version || exit 1
|
||||
|
||||
echo %COL_GREEN%Start testing vim in background.%COL_RESET%
|
||||
start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
|
||||
|
||||
echo %COL_GREEN%Test gvim:%COL_RESET%
|
||||
cd testdir
|
||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||
cd ..
|
||||
|
||||
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
||||
cd ..\src2\testdir
|
||||
:: Wait about 10 minutes.
|
||||
for /L %%i in (1,1,600) do (
|
||||
if exist done.txt goto exitloop
|
||||
ping -n 2 localhost > nul
|
||||
)
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
||||
if exist messages type messages
|
||||
nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
|
||||
if "%timeout%"=="1" (
|
||||
echo %COL_RED%Timed out.%COL_RESET%
|
||||
exit 1
|
||||
)
|
90
.travis.yml
90
.travis.yml
@ -1,26 +1,32 @@
|
||||
language: c
|
||||
|
||||
env:
|
||||
global:
|
||||
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no LOG_DIR="$TRAVIS_BUILD_DIR/logs"
|
||||
|
||||
_anchors:
|
||||
envs:
|
||||
- &tiny-nogui
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT="--disable-gui" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=tiny TEST=testtiny CONFOPT="--disable-gui"
|
||||
- &tiny
|
||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=tiny TEST=testtiny
|
||||
- &small
|
||||
BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=small TEST=testtiny
|
||||
- &normal
|
||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=normal
|
||||
- &linux-huge
|
||||
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
FEATURES=huge TEST="scripttests test_libvterm"
|
||||
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"
|
||||
FEATURES=huge
|
||||
CONFOPT="--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
- &unittests
|
||||
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
|
||||
BUILD=no TEST=unittests FEATURES=huge CHECK_AUTOCONF=yes
|
||||
- &coverage
|
||||
CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage
|
||||
- &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"
|
||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
|
||||
ASAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/asan" UBSAN_OPTIONS="print_stacktrace=1 log_path=$LOG_DIR/ubsan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||
- &shadowopt
|
||||
SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||
|
||||
@ -29,7 +35,7 @@ _anchors:
|
||||
dist: bionic
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
packages: &apt-packages
|
||||
- autoconf
|
||||
- clang
|
||||
- lcov
|
||||
@ -63,7 +69,11 @@ _anchors:
|
||||
fi
|
||||
before_script:
|
||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
||||
- sudo bash ci/load-snd-dummy.sh || true
|
||||
# It appears we can load "snd-dummy" on only amd64.
|
||||
- |
|
||||
if [[ "${TRAVIS_CPU_ARCH}" = amd64 ]]; then
|
||||
sudo bash ci/load-snd-dummy.sh || true
|
||||
fi
|
||||
- sudo usermod -a -G audio $USER
|
||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
|
||||
@ -87,7 +97,7 @@ _anchors:
|
||||
# Lua is not installed on macOS
|
||||
- export LUA_PREFIX=/usr/local
|
||||
|
||||
coverage: &coverage
|
||||
coverage: &eval-coverage
|
||||
# needed for https support for coveralls building cffi only works with gcc,
|
||||
# not with clang
|
||||
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||
@ -98,13 +108,14 @@ _anchors:
|
||||
# Update pyenv to fix the error "/opt/pyenv/libexec/pyenv: line 43: cd: asan_symbolize-6.0: Not a directory".
|
||||
# https://github.com/pyenv/pyenv/issues/580
|
||||
- (cd "${PYENV_ROOT}" && git fetch -p origin && git checkout "$(git rev-list --tags -n1)") &>/dev/null || true
|
||||
- find . -type f -name 'asan.*' -size +0 2>/dev/null | xargs grep -l '^==[[:digit:]]*==ERROR:' | xargs -I{} -n1 -t asan_symbolize -l{}
|
||||
- for f in $(grep -l '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*); do asan_symbolize-11 -l "$f"; done
|
||||
|
||||
branches:
|
||||
except:
|
||||
- /^v[0-9]/
|
||||
|
||||
script:
|
||||
- mkdir -p "$LOG_DIR"
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- set -o errexit
|
||||
- echo -e "\\033[33;1mConfiguring Vim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||
@ -125,7 +136,7 @@ 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
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
|
||||
if [[ "${TRAVIS_OS_NAME}" = "osx" ]] || [[ "${CC}" = "clang-11" ]]; then
|
||||
# On macOS, the entity of gcc is clang.
|
||||
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
|
||||
else
|
||||
@ -145,6 +156,15 @@ script:
|
||||
- echo -e "\\033[33;1mTesting Vim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
|
||||
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
|
||||
- |
|
||||
# Not all sanitizers will cause the tests to fail. This helps since we can
|
||||
# see all the failures instead of just the first one, but we still want the
|
||||
# test phase to fail if any sanitizer issues are detected.
|
||||
if [[ -n "${ASAN_OPTIONS}" ]]; then
|
||||
if grep -q '#[[:digit:]]* *0x[[:digit:]a-fA-F]*' "$LOG_DIR"/*; then
|
||||
false
|
||||
fi
|
||||
fi
|
||||
|
||||
# Instead of using all environments with both compilers on both systems,
|
||||
# exclude some builds on mac os x and linux.
|
||||
@ -191,13 +211,13 @@ jobs:
|
||||
compiler: gcc
|
||||
env: *small
|
||||
- <<: *linux
|
||||
name: normal/clang
|
||||
name: normal+shadow/clang
|
||||
compiler: clang
|
||||
env:
|
||||
- *normal
|
||||
- *shadowopt
|
||||
- <<: *linux
|
||||
name: normal/gcc
|
||||
name: normal+shadow/gcc
|
||||
compiler: gcc
|
||||
env:
|
||||
- *normal
|
||||
@ -208,22 +228,39 @@ jobs:
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
arch: arm64
|
||||
name: huge/gcc-arm64
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
services: []
|
||||
- <<: *linux
|
||||
name: huge+coverage/clang
|
||||
compiler: clang
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||
- TEST=scripttests
|
||||
after_success: *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: huge+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *linux-huge
|
||||
after_success: *coverage
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux # ASAN
|
||||
name: huge+asan/gcc
|
||||
compiler: gcc
|
||||
name: huge+asan/clang
|
||||
compiler: clang-11
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- sourceline: 'deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic-11 main'
|
||||
key_url: 'https://apt.llvm.org/llvm-snapshot.gpg.key'
|
||||
packages:
|
||||
- *apt-packages
|
||||
- clang-11
|
||||
env:
|
||||
- *linux-huge
|
||||
- *asan
|
||||
@ -233,13 +270,16 @@ jobs:
|
||||
compiler: gcc
|
||||
env:
|
||||
- *linux-huge
|
||||
- *coverage
|
||||
- TEST="-C src testgui"
|
||||
after_success: *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: unittests+coverage/gcc
|
||||
compiler: gcc
|
||||
env: *unittests
|
||||
after_success: *coverage
|
||||
env:
|
||||
- *unittests
|
||||
- *coverage
|
||||
after_success: *eval-coverage
|
||||
- <<: *linux
|
||||
name: vimtags/gcc
|
||||
compiler: gcc
|
||||
|
23
Filelist
23
Filelist
@ -9,6 +9,8 @@ SRC_ALL = \
|
||||
.lgtm.yml \
|
||||
.travis.yml \
|
||||
.cirrus.yml \
|
||||
.github/workflows/ci-windows.yaml \
|
||||
.github/CODEOWNERS \
|
||||
appveyor.yml \
|
||||
ci/appveyor.bat \
|
||||
ci/if_ver*.vim \
|
||||
@ -44,6 +46,7 @@ SRC_ALL = \
|
||||
src/drawline.c \
|
||||
src/drawscreen.c \
|
||||
src/edit.c \
|
||||
src/errors.h \
|
||||
src/eval.c \
|
||||
src/evalbuffer.c \
|
||||
src/evalfunc.c \
|
||||
@ -68,18 +71,22 @@ SRC_ALL = \
|
||||
src/gui_beval.c \
|
||||
src/hardcopy.c \
|
||||
src/hashtab.c \
|
||||
src/help.c \
|
||||
src/highlight.c \
|
||||
src/indent.c \
|
||||
src/insexpand.c \
|
||||
src/job.c \
|
||||
src/json.c \
|
||||
src/json_test.c \
|
||||
src/kword_test.c \
|
||||
src/list.c \
|
||||
src/locale.c \
|
||||
src/keymap.h \
|
||||
src/macros.h \
|
||||
src/main.c \
|
||||
src/map.c \
|
||||
src/mark.c \
|
||||
src/match.c \
|
||||
src/mbyte.c \
|
||||
src/memfile.c \
|
||||
src/memfile_test.c \
|
||||
@ -145,6 +152,7 @@ SRC_ALL = \
|
||||
src/vim9compile.c \
|
||||
src/vim9execute.c \
|
||||
src/vim9script.c \
|
||||
src/vim9type.c \
|
||||
src/viminfo.c \
|
||||
src/winclip.c \
|
||||
src/window.c \
|
||||
@ -168,12 +176,12 @@ SRC_ALL = \
|
||||
src/testdir/setup_gui.vim \
|
||||
src/testdir/shared.vim \
|
||||
src/testdir/vim9.vim \
|
||||
src/testdir/script_util.vim \
|
||||
src/testdir/summarize.vim \
|
||||
src/testdir/term_util.vim \
|
||||
src/testdir/view_util.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test77a.ok \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/test77a.com \
|
||||
src/testdir/test_*.vim \
|
||||
@ -239,14 +247,18 @@ SRC_ALL = \
|
||||
src/proto/gui_beval.pro \
|
||||
src/proto/hardcopy.pro \
|
||||
src/proto/hashtab.pro \
|
||||
src/proto/help.pro \
|
||||
src/proto/highlight.pro \
|
||||
src/proto/indent.pro \
|
||||
src/proto/insexpand.pro \
|
||||
src/proto/job.pro \
|
||||
src/proto/json.pro \
|
||||
src/proto/list.pro \
|
||||
src/proto/locale.pro \
|
||||
src/proto/main.pro \
|
||||
src/proto/map.pro \
|
||||
src/proto/mark.pro \
|
||||
src/proto/match.pro \
|
||||
src/proto/mbyte.pro \
|
||||
src/proto/memfile.pro \
|
||||
src/proto/memline.pro \
|
||||
@ -296,6 +308,7 @@ SRC_ALL = \
|
||||
src/proto/vim9compile.pro \
|
||||
src/proto/vim9execute.pro \
|
||||
src/proto/vim9script.pro \
|
||||
src/proto/vim9type.pro \
|
||||
src/proto/viminfo.pro \
|
||||
src/proto/winclip.pro \
|
||||
src/proto/window.pro \
|
||||
@ -631,13 +644,11 @@ SRC_HAIKU = \
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/dehqx.py \
|
||||
src/gui_mac.c \
|
||||
src/os_mac_rsrc/*.icns \
|
||||
src/os_mac.h \
|
||||
src/os_mac.rsr.hqx \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.m \
|
||||
src/proto/gui_mac.pro \
|
||||
src/proto/os_mac_conv.pro \
|
||||
|
||||
# source files for VMS (in the extra archive)
|
||||
@ -673,10 +684,8 @@ SRC_EXTRA = \
|
||||
$(SRC_QNX) \
|
||||
$(SRC_VMS) \
|
||||
README_os390.txt \
|
||||
src/Make_mint.mak \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
src/os_mint.h \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
@ -1022,6 +1031,8 @@ LANG_SRC = \
|
||||
src/po/README_mvc.txt \
|
||||
src/po/check.vim \
|
||||
src/po/cleanup.vim \
|
||||
src/po/tojavascript.vim \
|
||||
src/po/fixfilenames.vim \
|
||||
src/po/Makefile \
|
||||
src/po/Make_all.mak \
|
||||
src/po/Make_cyg.mak \
|
||||
|
2
Makefile
2
Makefile
@ -32,7 +32,7 @@ first:
|
||||
|
||||
# Some make programs use the last target for the $@ default; put the other
|
||||
# targets separately to always let $@ expand to "first" by default.
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests test_libvterm unittests testclean clean distclean:
|
||||
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests testtiny test_libvterm unittests testclean clean distclean:
|
||||
@if test ! -f src/auto/config.mk; then \
|
||||
cp src/config.mk.dist src/auto/config.mk; \
|
||||
fi
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
[](https://travis-ci.org/vim/vim)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||
[](https://cirrus-ci.com/github/vim/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
|
@ -5,8 +5,8 @@
|
||||
This is an experimental side of [Vim](https://github.com/vim/vim).
|
||||
It explores ways of making Vim script faster and better.
|
||||
|
||||
WARNING: The Vim9 script features are in the early stages of development,
|
||||
anything can break!
|
||||
WARNING: The Vim9 script features are still under development, anything can
|
||||
break!
|
||||
|
||||
# Why Vim9?
|
||||
|
||||
@ -52,7 +52,7 @@ we can gain, and also that Vim script can be faster than builtin
|
||||
interfaces.
|
||||
|
||||
In practice the script would not do something useless as counting but change
|
||||
the text. For example, re-indent all the lines:
|
||||
the text. For example, reindent all the lines:
|
||||
|
||||
``` vim
|
||||
let totallen = 0
|
||||
@ -91,14 +91,14 @@ Instead of using script language support in Vim:
|
||||
with them. The job and channel support already makes this possible.
|
||||
Really any language can be used, also Java and Go, which are not
|
||||
available built-in.
|
||||
* Phase out the built-in language interfaces, make maintenance a bit easier
|
||||
and executables easier to build. They will be kept for backwards
|
||||
compatibility, no new features.
|
||||
* No priority for the built-in language interfaces. They will have to be kept
|
||||
for backwards compatibility, but many users won't need a Vim build with these
|
||||
interfaces.
|
||||
* Improve the Vim script language, it is used to communicate with the external
|
||||
tool and implements the Vim side of the interface. Also, it can be used when
|
||||
an external tool is undesired.
|
||||
|
||||
All together this creates a clear situation: Vim with the +eval feature
|
||||
Altogether this creates a clear situation: Vim with the +eval feature
|
||||
will be sufficient for most plugins, while some plugins require
|
||||
installing a tool that can be written in any language. No confusion
|
||||
about having Vim but the plugin not working because some specific
|
||||
@ -140,6 +140,9 @@ Taking this one step further is also dropping "s:" for script-local variables;
|
||||
everything at the script level is script-local by default. Since this is not
|
||||
backwards compatible it requires a new script style: Vim9 script!
|
||||
|
||||
To avoid having more variations, the syntax inside a compiled function is the
|
||||
same as in Vim9 script. Thus you have legacy syntax and Vim9 syntax.
|
||||
|
||||
It should be possible to convert code from other languages to Vim
|
||||
script. We can add functionality to make this easier. This still needs
|
||||
to be discussed, but we can consider adding type checking and a simple
|
||||
|
@ -16,11 +16,8 @@ src/os_amiga.* Files for the Amiga port.
|
||||
src/os_msdos.*
|
||||
src/os_dos.* Files for the MS-DOS port.
|
||||
|
||||
src/gui_mac.*
|
||||
src/os_mac.* Files for the Mac port.
|
||||
|
||||
src/os_mint.8 Files for the Atari Mint port.
|
||||
|
||||
src/os_vms* Files for the VMS port.
|
||||
|
||||
src/os_w32*
|
||||
|
@ -5,16 +5,17 @@ skip_tags: true
|
||||
environment:
|
||||
matrix:
|
||||
- FEATURE: HUGE
|
||||
- FEATURE: NORMAL
|
||||
# disabled
|
||||
# - FEATURE: TINY
|
||||
# - FEATURE: SMALL
|
||||
# - FEATURE: NORMAL
|
||||
# - FEATURE: BIG
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
before_build:
|
||||
# Use Windows SDK 7.1 (= MSVC 2010)
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||
|
||||
@ -25,9 +26,9 @@ test_script:
|
||||
- cd src/testdir
|
||||
# Testing with MSVC gvim
|
||||
- path C:\Python35-x64;%PATH%
|
||||
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
- nmake -f Make_dos.mak clean
|
||||
# Testing with MingW console version
|
||||
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
|
||||
# Testing with MSVC console version
|
||||
- nmake -f Make_dos.mak VIMPROG=..\vim
|
||||
|
||||
# vim: sw=2 sts=2 et ts=8 sr
|
||||
|
@ -5,48 +5,32 @@ setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
cd src
|
||||
echo "Building MinGW 32bit console version"
|
||||
set PATH=c:\msys64\mingw32\bin;%PATH%
|
||||
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
.\vim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
||||
:: Save vim.exe before Make clean, moved back below.
|
||||
copy vim.exe testdir
|
||||
mingw32-make.exe -f Make_ming.mak clean
|
||||
|
||||
:: Build Mingw huge version with python and channel support, or
|
||||
:: with specified features without python.
|
||||
echo "Building MinGW 32bit GUI version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35 FEATURES=%FEATURE% || exit 1
|
||||
) ELSE (
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
)
|
||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming_gui.txt
|
||||
|
||||
:: Filter out the progress bar from the build log
|
||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
|
||||
echo "Building MSVC 64bit console Version"
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
:: The executable is not used
|
||||
nmake -f Make_mvc2.mak clean
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE% || exit 1
|
||||
|
||||
:: build MSVC huge version with python and channel support
|
||||
:: GUI needs to be last, so that testing works
|
||||
echo "Building MSVC 64bit GUI Version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
|
||||
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
|
||||
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
|
||||
FEATURES=%FEATURE% || exit 1
|
||||
) ELSE (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE% || exit 1
|
||||
)
|
||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt
|
||||
|
||||
:: Restore vim.exe, tests will run with this.
|
||||
move /Y testdir\vim.exe .
|
||||
echo "version output MinGW"
|
||||
type ver_ming.txt
|
||||
echo "version output MinGW GUI"
|
||||
type ver_ming_gui.txt
|
||||
echo "version output MVC"
|
||||
echo "version output MSVC console"
|
||||
.\vim --version
|
||||
echo "version output MSVC GUI"
|
||||
type ver_msvc.txt
|
||||
cd ..
|
||||
|
@ -3,6 +3,6 @@ set -e
|
||||
|
||||
if ! modprobe snd-dummy; then
|
||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
||||
apt install -y "linux-modules-extra-$(uname -r)"
|
||||
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
|
||||
modprobe snd-dummy
|
||||
fi
|
||||
|
@ -687,6 +687,15 @@ SectionEnd
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
!macro LoadDefaultVimrc out_var reg_value default_value
|
||||
ClearErrors
|
||||
ReadRegStr ${out_var} HKLM "${UNINST_REG_KEY_VIM}" ${reg_value}
|
||||
${If} ${Errors}
|
||||
${OrIf} ${out_var} == ""
|
||||
StrCpy ${out_var} ${default_value}
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
||||
Function .onInit
|
||||
!ifdef HAVE_MULTI_LANG
|
||||
# Select a language (or read from the registry).
|
||||
@ -718,10 +727,10 @@ Function .onInit
|
||||
!endif
|
||||
${EndIf}
|
||||
|
||||
# Load the selections from the registry (if any).
|
||||
${If} ${RunningX64}
|
||||
SetRegView 64
|
||||
${EndIf}
|
||||
# Load the selections from the registry (if any).
|
||||
!insertmacro LoadSectionSelection ${id_section_console} "select_console"
|
||||
!insertmacro LoadSectionSelection ${id_section_batch} "select_batch"
|
||||
!insertmacro LoadSectionSelection ${id_section_desktop} "select_desktop"
|
||||
@ -736,6 +745,10 @@ Function .onInit
|
||||
!ifdef HAVE_NLS
|
||||
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
|
||||
!endif
|
||||
# Load the default _vimrc settings from the registry (if any).
|
||||
!insertmacro LoadDefaultVimrc $vim_compat_stat "vim_compat" "all"
|
||||
!insertmacro LoadDefaultVimrc $vim_keymap_stat "vim_keyremap" "default"
|
||||
!insertmacro LoadDefaultVimrc $vim_mouse_stat "vim_mouse" "default"
|
||||
${If} ${RunningX64}
|
||||
SetRegView lastused
|
||||
${EndIf}
|
||||
@ -799,17 +812,11 @@ Function SetCustom
|
||||
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_defaults)
|
||||
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_all)
|
||||
|
||||
# Default selection
|
||||
${If} $vim_compat_stat == ""
|
||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_compat"
|
||||
${Else}
|
||||
StrCpy $3 $vim_compat_stat
|
||||
${EndIf}
|
||||
${If} $3 == "defaults"
|
||||
${If} $vim_compat_stat == "defaults"
|
||||
StrCpy $4 2
|
||||
${ElseIf} $3 == "vim"
|
||||
${ElseIf} $vim_compat_stat == "vim"
|
||||
StrCpy $4 1
|
||||
${ElseIf} $3 == "vi"
|
||||
${ElseIf} $vim_compat_stat == "vi"
|
||||
StrCpy $4 0
|
||||
${Else} # default
|
||||
StrCpy $4 3
|
||||
@ -828,13 +835,7 @@ Function SetCustom
|
||||
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_default)
|
||||
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
|
||||
|
||||
# Default selection
|
||||
${If} $vim_keymap_stat == ""
|
||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_keyremap"
|
||||
${Else}
|
||||
StrCpy $3 $vim_keymap_stat
|
||||
${EndIf}
|
||||
${If} $3 == "windows"
|
||||
${If} $vim_keymap_stat == "windows"
|
||||
StrCpy $4 1
|
||||
${Else} # default
|
||||
StrCpy $4 0
|
||||
@ -854,15 +855,9 @@ Function SetCustom
|
||||
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_windows)
|
||||
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_unix)
|
||||
|
||||
# Default selection
|
||||
${If} $vim_mouse_stat == ""
|
||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_mouse"
|
||||
${Else}
|
||||
StrCpy $3 $vim_mouse_stat
|
||||
${EndIf}
|
||||
${If} $3 == "xterm"
|
||||
${If} $vim_mouse_stat == "xterm"
|
||||
StrCpy $4 2
|
||||
${ElseIf} $3 == "windows"
|
||||
${ElseIf} $vim_mouse_stat == "windows"
|
||||
StrCpy $4 1
|
||||
${Else} # default
|
||||
StrCpy $4 0
|
||||
|
@ -25,7 +25,7 @@ function decada#Unit_Name () dict " {{{1
|
||||
" Convert filename into acs unit:
|
||||
" 1: remove the file extenstion.
|
||||
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
||||
" 3: remove a trailing '_' (wich denotes a specification)
|
||||
" 3: remove a trailing '_' (which denotes a specification)
|
||||
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
||||
endfunction decada#Unit_Name " }}}1
|
||||
|
||||
|
4
runtime/autoload/dist/ft.vim
vendored
4
runtime/autoload/dist/ft.vim
vendored
@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Mar 30
|
||||
" Last Change: 2020 Aug 17
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@ -575,7 +575,7 @@ endfunc
|
||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||
func dist#ft#FTRules()
|
||||
let path = expand('<amatch>:p')
|
||||
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
if path =~ '/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|\%(usr/\)\=lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
|
||||
setf udevrules
|
||||
return
|
||||
endif
|
||||
|
@ -1,7 +1,9 @@
|
||||
" Vim completion script
|
||||
" Language: Java Script
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2017 Mar 04
|
||||
" Maintainer: Jay Sitter (jay@jaysitter.com)
|
||||
" URL: https://github.com/jsit/javascriptcomplete.vim/
|
||||
" Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2020 Jul 30
|
||||
|
||||
function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
if a:findstart
|
||||
@ -154,12 +156,30 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
\ 'text', 'vLink']
|
||||
let bodys = bodyprop
|
||||
" Document - document.
|
||||
let docuprop = ['anchors', 'applets', 'childNodes', 'embeds', 'forms', 'images', 'links', 'stylesheets',
|
||||
\ 'body', 'cookie', 'documentElement', 'domain', 'lastModified', 'referrer', 'title', 'URL']
|
||||
let documeth = ['close', 'createAttribute', 'createElement', 'createTextNode', 'focus', 'getElementById',
|
||||
\ 'getElementsByName', 'getElementsByTagName', 'open', 'write', 'writeln',
|
||||
\ 'onClick', 'onDblClick', 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp',
|
||||
\ 'onMouseDown', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onResize']
|
||||
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
|
||||
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
|
||||
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
|
||||
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
|
||||
\ 'timeline', 'visibilityState', 'cookie', 'defaultView',
|
||||
\ 'designMode', 'dir', 'domain', 'lastModified', 'location',
|
||||
\ 'readyState', 'referrer', 'title', 'URL', 'activeElement',
|
||||
\ 'fullscreenElement', 'styleSheets']
|
||||
let documeth = ['adoptNode', 'close', 'createAttribute',
|
||||
\ 'createAttributeNS', 'createCDATASection', 'createComment',
|
||||
\ 'createDocumentFragment', 'createElement', 'createElementNS',
|
||||
\ 'createEvent', 'createExpression', 'createNSResolver',
|
||||
\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
|
||||
\ 'createTextNode', 'createTouchList', 'createTreeWalker',
|
||||
\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
|
||||
\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
|
||||
\ 'getElementsByTagName', 'getElementsByTagNameNS',
|
||||
\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',
|
||||
\ 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp', 'onMouseDown',
|
||||
\ 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp',
|
||||
\ 'onResize', 'open', 'querySelector', 'querySelectorAll',
|
||||
\ 'requestStorageAccess', 'write', 'writeln']
|
||||
|
||||
call map(documeth, 'v:val."("')
|
||||
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
||||
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
||||
@ -368,9 +388,11 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
||||
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
||||
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
||||
let xdomelemmeth = ['appendChild', 'cloneNode', 'getAttribute', 'getAttributeNode',
|
||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore', 'normalize',
|
||||
\ 'removeAttribute', 'removeAttributeNode', 'removeChild', 'replaceChild',
|
||||
let xdomelemmeth = ['appendChild', 'addEventListener', 'cloneNode',
|
||||
\ 'dispatchEvent', 'getAttribute', 'getAttributeNode',
|
||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore',
|
||||
\ 'normalize', 'removeAttribute', 'removeAttributeNode',
|
||||
\ 'removeChild', 'removeEventListener', 'replaceChild',
|
||||
\ 'setAttribute', 'setAttributeNode']
|
||||
call map(xdomelemmeth, 'v:val."("')
|
||||
let xdomelems = xdomelemprop + xdomelemmeth
|
||||
|
@ -1,15 +1,11 @@
|
||||
" Vim script to download a missing spell file
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2012 Jan 08
|
||||
" Last Change: 2020 Jul 10
|
||||
|
||||
if !exists('g:spellfile_URL')
|
||||
" Prefer using http:// when netrw should be able to use it, since
|
||||
" more firewalls let this through.
|
||||
if executable("curl") || executable("wget") || executable("fetch")
|
||||
let g:spellfile_URL = 'http://ftp.vim.org/pub/vim/runtime/spell'
|
||||
else
|
||||
let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
|
||||
endif
|
||||
" Always use https:// because it's secure. The certificate is for nluug.nl,
|
||||
" thus we can't use the alias ftp.vim.org here.
|
||||
let g:spellfile_URL = 'https://ftp.nluug.nl/pub/vim/runtime/spell'
|
||||
endif
|
||||
let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
|
||||
|
||||
|
@ -185,7 +185,7 @@ func! Test_check_colors()
|
||||
|
||||
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||
call cursor(1,1)
|
||||
let pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
|
||||
let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>'
|
||||
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||
if getline('.') !~# '\m\<Normal\>'
|
||||
let err['highlight']['Normal'] = 'Should be defined first'
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Checkstyle
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 26
|
||||
" Last Change: 2020 Aug 2
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
|
||||
" WebTable.java:201:1: '{' should be on the previous line.
|
||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
||||
" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml
|
||||
" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml
|
||||
|
||||
CompilerSet makeprg=checkstyle\ -f\ plain
|
||||
CompilerSet errorformat=[%tRROR]\ %f:%l:%v:\ %m,
|
||||
\[%tARN]\ %f:%l:%v:\ %m,
|
||||
\[%tRROR]\ %f:%l:\ %m,
|
||||
\[%tARN]\ %f:%l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: ESLint for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=eslint\ --format\ compact
|
||||
CompilerSet makeprg=npx\ eslint\ --format\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
|
34
runtime/compiler/gawk.vim
Normal file
34
runtime/compiler/gawk.vim
Normal file
@ -0,0 +1,34 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GNU Awk
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gawk"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gawk
|
||||
CompilerSet errorformat=%Z%.awk:\ %f:%l:\ %p^\ %m,
|
||||
\%Eg%\\=awk:\ %f:%l:\ fatal:\ %m,
|
||||
\%Egawk:\ %f:%l:\ error:\ %m,
|
||||
\%Wgawk:\ %f:%l:\ warning:\ %m,
|
||||
\%Egawk:\ %f:%l:\ %.%#,
|
||||
\gawk:\ %f:%l:\ %tatal:\ %m,
|
||||
\gawk:\ %f:%l:\ %trror:\ %m,
|
||||
\gawk:\ %f:%l:\ %tarning:\ %m,
|
||||
\gawk:\ %tatal:\ %m,
|
||||
\gawk:\ %trror:\ %m,
|
||||
\gawk:\ %tarning:\ %m,
|
||||
\%+C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/gjs.vim
Normal file
25
runtime/compiler/gjs.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GJS (Gnome JavaScript Bindings)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=gjs
|
||||
CompilerSet errorformat=%.%#JS\ %tRROR:\ %m\ @\ %f:%c,
|
||||
\%E%.%#JS\ ERROR:\ %m,
|
||||
\%Z@%f:%l:%c,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
30
runtime/compiler/jest.vim
Normal file
30
runtime/compiler/jest.vim
Normal file
@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Jest
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 May 15
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jest"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jest\ --no-colors
|
||||
|
||||
CompilerSet makeprg=jest\ --no-colors
|
||||
CompilerSet errorformat=%E\ \ ●\ %m,
|
||||
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
|
||||
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
|
||||
\%+C\ %\\{4}%\\w%.%#,
|
||||
\%+C\ %\\{4}%[-+]%.%#,
|
||||
\%-C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
24
runtime/compiler/jjs.vim
Normal file
24
runtime/compiler/jjs.vim
Normal file
@ -0,0 +1,24 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Nashorn Shell
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jan 9
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jjs"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=jjs
|
||||
CompilerSet errorformat=%f:%l:%c\ %m,
|
||||
\%f:%l\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/jshint.vim
Normal file
25
runtime/compiler/jshint.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSHint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jshint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jshint\ --verbose
|
||||
|
||||
CompilerSet makeprg=jshint\ --verbose
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m\ (%t%n),
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
25
runtime/compiler/jsonlint.vim
Normal file
25
runtime/compiler/jsonlint.vim
Normal file
@ -0,0 +1,25 @@
|
||||
" Vim compiler file
|
||||
" Compiler: JSON Lint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "jsonlint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ jsonlint\ --compact\ --quiet
|
||||
|
||||
CompilerSet makeprg=jsonlint\ --compact\ --quiet
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ found:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
23
runtime/compiler/rubocop.vim
Normal file
23
runtime/compiler/rubocop.vim
Normal file
@ -0,0 +1,23 @@
|
||||
" Vim compiler file
|
||||
" Compiler: RuboCop
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rubocop"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet makeprg=rubocop\ --format\ emacs
|
||||
CompilerSet errorformat=%f:%l:%c:\ %t:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -1,7 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Standard for JavaScript
|
||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||
" Last Change: 2020 May 17
|
||||
" Last Change: 2020 August 20
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet makeprg=standard
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
||||
CompilerSet makeprg=npx\ standard
|
||||
CompilerSet errorformat=%f:%l:%c:\ %m,%-G%.%#
|
||||
|
26
runtime/compiler/stylelint.vim
Normal file
26
runtime/compiler/stylelint.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Stylelint
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Jun 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "stylelint"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ stylelint\ --formatter\ compact
|
||||
|
||||
CompilerSet makeprg=stylelint\ --formatter\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ -\ %m,
|
||||
\%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ -\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
29
runtime/compiler/ts-node.vim
Normal file
29
runtime/compiler/ts-node.vim
Normal file
@ -0,0 +1,29 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Runner
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "node"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ ts-node
|
||||
|
||||
CompilerSet makeprg=ts-node
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%E%f:%l,
|
||||
\%+Z%\\w%\\+Error:\ %.%#,
|
||||
\%C%p^%\\+,
|
||||
\%C%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
26
runtime/compiler/tsc.vim
Normal file
26
runtime/compiler/tsc.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeScript Compiler
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "tsc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ tsc
|
||||
|
||||
CompilerSet makeprg=tsc
|
||||
CompilerSet errorformat=%f\ %#(%l\\,%c):\ %trror\ TS%n:\ %m,
|
||||
\%trror\ TS%n:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
28
runtime/compiler/typedoc.vim
Normal file
28
runtime/compiler/typedoc.vim
Normal file
@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: TypeDoc
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Feb 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "typedoc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ typedoc
|
||||
|
||||
CompilerSet makeprg=typedoc
|
||||
CompilerSet errorformat=%EError:\ %f(%l),
|
||||
\%WWarning:\ %f(%l),
|
||||
\%+IDocumentation\ generated\ at\ %f,
|
||||
\%Z\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
26
runtime/compiler/xo.vim
Normal file
26
runtime/compiler/xo.vim
Normal file
@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: XO
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jul 10
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "xo"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" CompilerSet makeprg=npx\ xo\ --reporter\ compact
|
||||
|
||||
CompilerSet makeprg=xo\ --reporter\ compact
|
||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %trror\ %m,
|
||||
\%f:\ line\ %l\\,\ col\ %c\\,\ %tarning\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -396,7 +396,7 @@ test_urls:
|
||||
vim -S test_urls.vim
|
||||
|
||||
clean:
|
||||
-rm doctags *.html tags.ref
|
||||
-rm -f doctags *.html tags.ref
|
||||
|
||||
# These files are in the extra archive, skip if not present
|
||||
|
||||
|
@ -77,7 +77,7 @@ Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
|
||||
(without Form-B, Arabic will _NOT_ be usable). It is highly
|
||||
recommended that users search for so-called 'ISO-10646-1' fonts.
|
||||
Do an Internet search or check www.arabeyes.org for further
|
||||
info on where to attain the necessary Arabic fonts.
|
||||
info on where to obtain the necessary Arabic fonts.
|
||||
|
||||
|
||||
Font Installation
|
||||
@ -123,7 +123,7 @@ o Setting the appropriate character Encoding
|
||||
>
|
||||
:set encoding=utf-8
|
||||
<
|
||||
to your .vimrc file (entering the command manually into you Vim
|
||||
to your .vimrc file (entering the command manually into your Vim
|
||||
window is highly discouraged). In short, include ':set
|
||||
encoding=utf-8' to your .vimrc file.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2020 Aug 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1425,8 +1425,8 @@ name!
|
||||
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
||||
this if there is still an autocommand using
|
||||
this group! You will get a warning if doing
|
||||
it anyway. when the group is the current group
|
||||
you will get error E936.
|
||||
it anyway. When the group is the current
|
||||
group you will get error E936.
|
||||
|
||||
To enter autocommands for a specific group, use this method:
|
||||
1. Select the group with ":augroup {name}".
|
||||
|
@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04
|
||||
*change.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -153,7 +153,7 @@ the 'joinspaces' option is on, these commands insert two spaces after a '.',
|
||||
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
|
||||
only after a '.').
|
||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
||||
spaces before and after a multi-byte character |fo-table|.
|
||||
spaces before and after a multibyte character |fo-table|.
|
||||
|
||||
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||
of the resulting line.
|
||||
@ -1680,11 +1680,11 @@ b Like 'v', but only auto-wrap if you enter a blank at or before
|
||||
l Long lines are not broken in insert mode: When a line was longer than
|
||||
'textwidth' when the insert command started, Vim does not
|
||||
automatically format it.
|
||||
m Also break at a multi-byte character above 255. This is useful for
|
||||
m Also break at a multibyte character above 255. This is useful for
|
||||
Asian text where every character is a word on its own.
|
||||
M When joining lines, don't insert a space before or after a multi-byte
|
||||
M When joining lines, don't insert a space before or after a multibyte
|
||||
character. Overrules the 'B' flag.
|
||||
B When joining lines, don't insert a space between two multi-byte
|
||||
B When joining lines, don't insert a space between two multibyte
|
||||
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).
|
||||
@ -1755,7 +1755,7 @@ Some examples:
|
||||
Automatic formatting *auto-format* *autoformat*
|
||||
|
||||
When the 'a' flag is present in 'formatoptions' text is formatted
|
||||
automatically when inserting text or deleting text. This works nice for
|
||||
automatically when inserting text or deleting text. This works nicely for
|
||||
editing text paragraphs. A few hints on how to use this:
|
||||
|
||||
- You need to properly define paragraphs. The simplest is paragraphs that are
|
||||
|
@ -1,4 +1,4 @@
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Jun 01
|
||||
*channel.txt* For Vim version 8.2. Last change: 2020 Sep 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -608,6 +608,10 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
|
||||
after every message, on Unix you can use "tail -f" to see what
|
||||
is going on in real time.
|
||||
|
||||
To enable the log very early, to see what is received from a
|
||||
terminal during startup, use |--cmd|: >
|
||||
vim --cmd "call ch_logfile('logfile', 'w')"
|
||||
<
|
||||
This function is not available in the |sandbox|.
|
||||
NOTE: the channel communication is stored in the file, be
|
||||
aware that this may contain confidential and privacy sensitive
|
||||
@ -1256,10 +1260,12 @@ After setting 'buftype' to "prompt" Vim does not automatically start Insert
|
||||
mode, use `:startinsert` if you want to enter Insert mode, so that the user
|
||||
can start typing a line.
|
||||
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function.
|
||||
The text of the prompt can be set with the |prompt_setprompt()| function. If
|
||||
no prompt is set with |prompt_setprompt()|, "% " is used. You can get the
|
||||
effective prompt text for a buffer, with |prompt_getprompt()|.
|
||||
|
||||
The user can go to Normal mode and navigate through the buffer. This can be
|
||||
useful see older output or copy text.
|
||||
useful to see older output or copy text.
|
||||
|
||||
The CTRL-W key can be used to start a window command, such as CTRL-W w to
|
||||
switch to the next window. This also works in Insert mode (use Shift-CTRL-W
|
||||
|
@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2020 Aug 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -876,7 +876,7 @@ Also see |`=|.
|
||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
||||
*:<amatch>* *<amatch>*
|
||||
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
|
||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
||||
Note: these are typed literally, they are not special keys!
|
||||
@ -903,12 +903,16 @@ Note: these are typed literally, they are not special keys!
|
||||
events).
|
||||
<sfile> When executing a ":source" command, is replaced with the
|
||||
file name of the sourced file. *E498*
|
||||
When executing a function, is replaced with:
|
||||
"function {function-name}[{lnum}]"
|
||||
function call nesting is indicated like this:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
When executing a function, is replaced with the call stack,
|
||||
as with <stack> (this is for backwards compatibility, using
|
||||
<stack> is preferred).
|
||||
Note that filename-modifiers are useless when <sfile> is
|
||||
used inside a function.
|
||||
not used inside a script.
|
||||
<stack> is replaced with the call stack, using
|
||||
"function {function-name}[{lnum}]" for a function line
|
||||
and "script {file-name}[{lnum}]" for a script line, and
|
||||
".." in between items. E.g.:
|
||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
||||
<slnum> When executing a ":source" command, is replaced with the
|
||||
line number. *E842*
|
||||
When executing a function it's the line number relative to
|
||||
@ -1126,7 +1130,8 @@ CTRL-C Continue in Command-line mode. The command-line under the
|
||||
in Normal mode. There is no redraw, thus the window will
|
||||
remain visible.
|
||||
:quit Discard the command line and go back to Normal mode.
|
||||
":close", ":exit", ":xit" and CTRL-\ CTRL-N also work.
|
||||
":close", CTRL-W c, ":exit", ":xit" and CTRL-\ CTRL-N also
|
||||
work.
|
||||
:qall Quit Vim, unless there are changes in some buffer.
|
||||
:qall! Quit Vim, discarding changes to any buffer.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
|
||||
*develop.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -34,8 +34,8 @@ balance must be found between them.
|
||||
VIM IS... VI COMPATIBLE *design-compatible*
|
||||
|
||||
First of all, it should be possible to use Vim as a drop-in replacement for
|
||||
Vi. When the user wants to, he can use Vim in compatible mode and hardly
|
||||
notice any difference with the original Vi.
|
||||
Vi. When the user wants to, Vim can be used in compatible mode and hardly
|
||||
any differences with the original Vi will be noticed.
|
||||
|
||||
Exceptions:
|
||||
- We don't reproduce obvious Vi bugs in Vim.
|
||||
@ -473,7 +473,7 @@ available spell checking libraries and programs. Unfortunately, the result
|
||||
was that none of them provided sufficient capabilities to be used as the spell
|
||||
checking engine in Vim, for various reasons:
|
||||
|
||||
- Missing support for multi-byte encodings. At least UTF-8 must be supported,
|
||||
- Missing support for multibyte encodings. At least UTF-8 must be supported,
|
||||
so that more than one language can be used in the same file.
|
||||
Doing on-the-fly conversion is not always possible (would require iconv
|
||||
support).
|
||||
|
@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 8.2. Last change: 2019 May 05
|
||||
*digraph.txt* For Vim version 8.2. Last change: 2020 Jul 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -33,6 +33,8 @@ An alternative is using the 'keymap' option.
|
||||
it is the Unicode character, see |digraph-encoding|.
|
||||
Example: >
|
||||
:digr e: 235 a: 228
|
||||
< You can use `:exe` to enter a hex number: >
|
||||
:exe 'digr += ' .. 0x2A72
|
||||
< Avoid defining a digraph with '_' (underscore) as the
|
||||
first character, it has a special meaning in the
|
||||
future.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 Jun 05
|
||||
*editing.txt* For Vim version 8.2. Last change: 2020 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -652,7 +652,7 @@ list of the current window.
|
||||
:args ## x
|
||||
< This will add the "x" item and sort the new list.
|
||||
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480*
|
||||
:argd[elete] {pattern} .. *:argd* *:argdelete* *E480* *E610*
|
||||
Delete files from the argument list that match the
|
||||
{pattern}s. {pattern} is used like a file pattern,
|
||||
see |file-pattern|. "%" can be used to delete the
|
||||
@ -662,7 +662,7 @@ list of the current window.
|
||||
Example: >
|
||||
:argdel *.obj
|
||||
|
||||
:[range]argd[elete] Delete the {range} files from the argument list.
|
||||
:[range]argd[elete] Delete the [range] files from the argument list.
|
||||
Example: >
|
||||
:10,$argdel
|
||||
< Deletes arguments 10 and further, keeping 1-9. >
|
||||
@ -1402,7 +1402,7 @@ to 0, 'modeline' off, 'expandtab' off). Setting the 'binary' option has the
|
||||
same effect. Don't forget to do this before reading the file.
|
||||
|
||||
There are a few things to remember when editing binary files:
|
||||
- When editing executable files the number of characters must not change.
|
||||
- When editing executable files the number of bytes must not change.
|
||||
Use only the "R" or "r" command to change text. Do not delete characters
|
||||
with "x" or by backspacing.
|
||||
- Set the 'textwidth' option to 0. Otherwise lines will unexpectedly be
|
||||
@ -1410,7 +1410,7 @@ There are a few things to remember when editing binary files:
|
||||
- When there are not many <EOL>s, the lines will become very long. If you
|
||||
want to edit a line that does not fit on the screen reset the 'wrap' option.
|
||||
Horizontal scrolling is used then. If a line becomes too long (more than
|
||||
about 32767 characters on the Amiga, much more on 32-bit systems, see
|
||||
about 32767 bytes on the Amiga, much more on 32-bit and 64-bit systems, see
|
||||
|limits|) you cannot edit that line. The line will be split when reading
|
||||
the file. It is also possible that you get an "out of memory" error when
|
||||
reading the file.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 17
|
||||
*eval.txt* For Vim version 8.2. Last change: 2020 aug 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -94,8 +94,9 @@ the Number. Examples:
|
||||
Number 0 --> String "0" ~
|
||||
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" or "0o17", and Binary "0b10"
|
||||
Conversion from a String to a Number only happens in legacy Vim script, not in
|
||||
Vim9 script. It is done by converting the first digits to 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.
|
||||
@ -157,7 +158,7 @@ You will not get an error if you try to change the type of a variable.
|
||||
|
||||
|
||||
1.2 Function references ~
|
||||
*Funcref* *E695* *E718*
|
||||
*Funcref* *E695* *E718*
|
||||
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
||||
function or created with the lambda expression |expr-lambda|. It can be used
|
||||
in an expression in the place of a function name, before the parenthesis
|
||||
@ -1130,19 +1131,25 @@ Evaluation is always from left to right.
|
||||
|
||||
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
In legacy Vim script:
|
||||
If expr8 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
||||
an alternative, or use `split()` to turn the string into a list of characters.
|
||||
|
||||
Index zero gives the first byte. This is like it works in C. Careful:
|
||||
text column numbers start with one! Example, to get the byte under the
|
||||
cursor: >
|
||||
expr1'th single byte from expr8. expr8 is used as a String (a number is
|
||||
automatically converted to a String), expr1 as a Number. This doesn't
|
||||
recognize multibyte encodings, see `byteidx()` for an alternative, or use
|
||||
`split()` to turn the string into a list of characters. Example, to get the
|
||||
byte under the cursor: >
|
||||
:let c = getline(".")[col(".") - 1]
|
||||
|
||||
In Vim9 script:
|
||||
If expr8 is a String this results in a String that contains the expr1'th
|
||||
single character from expr8. To use byte indexes use |strpart()|.
|
||||
|
||||
Index zero gives the first byte or character. Careful: text column numbers
|
||||
start with one!
|
||||
|
||||
If the length of the String is less than the index, the result is an empty
|
||||
String. A negative index always results in an empty string (reason: backward
|
||||
compatibility). Use [-1:] to get the last byte.
|
||||
compatibility). Use [-1:] to get the last byte or character.
|
||||
|
||||
If expr8 is a |List| then it results the item at index expr1. See |list-index|
|
||||
for possible index values. If the index is out of range this results in an
|
||||
@ -1156,10 +1163,16 @@ error.
|
||||
|
||||
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
|
||||
|
||||
If expr8 is a Number or String this results in the substring with the bytes
|
||||
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
|
||||
expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
|
||||
|byteidx()| for computing the indexes.
|
||||
If expr8 is a String this results in the substring with the bytes or
|
||||
characters from expr1a to and including expr1b. expr8 is used as a String,
|
||||
expr1a and expr1b are used as a Number.
|
||||
|
||||
In legacy Vim script the indexes are byte indexes. This doesn't recognize
|
||||
multibyte encodings, see |byteidx()| for computing the indexes. If expr8 is
|
||||
a Number it is first converted to a String.
|
||||
|
||||
In Vim9 script the indexes are character indexes. To use byte indexes use
|
||||
|strpart()|.
|
||||
|
||||
If expr1a is omitted zero is used. If expr1b is omitted the length of the
|
||||
string minus one is used.
|
||||
@ -1172,6 +1185,7 @@ expr1b is smaller than expr1a the result is an empty string.
|
||||
|
||||
Examples: >
|
||||
:let c = name[-1:] " last byte of a string
|
||||
:let c = name[0:-1] " the whole string
|
||||
:let c = name[-2:-2] " last but one byte of a string
|
||||
:let s = line(".")[4:] " from the fifth byte to the end
|
||||
:let s = s[:-3] " remove last two bytes
|
||||
@ -1993,6 +2007,8 @@ v:mouse_col Column number for a mouse click obtained with |getchar()|.
|
||||
*v:none* *none-variable* *None*
|
||||
v:none An empty String. Used to put an empty item in JSON. See
|
||||
|json_encode()|.
|
||||
This can also be used as a function argument to use the
|
||||
default value, see |none-function_argument|.
|
||||
When used as a number this evaluates to zero.
|
||||
When used as a string this evaluates to "v:none". >
|
||||
echo v:none
|
||||
@ -2344,7 +2360,7 @@ 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}]])
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
|
||||
Number assert {cmd} fails
|
||||
assert_false({actual} [, {msg}])
|
||||
Number assert {actual} is false
|
||||
@ -2410,6 +2426,7 @@ ch_status({handle} [, {options}])
|
||||
String status of channel {handle}
|
||||
changenr() Number current change number
|
||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||
charclass({string}) Number character class of {string}
|
||||
chdir({dir}) String change current working directory
|
||||
cindent({lnum}) Number C indent for line {lnum}
|
||||
clearmatches([{win}]) none clear all matches
|
||||
@ -2511,13 +2528,15 @@ getjumplist([{winnr} [, {tabnr}]])
|
||||
List list of jump list items
|
||||
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
|
||||
getloclist({nr}) List list of location list items
|
||||
getloclist({nr}, {what}) Dict get specific location list properties
|
||||
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
|
||||
getpos({expr}) List position of cursor, mark, etc.
|
||||
getqflist([{what}]) List list of quickfix items
|
||||
getqflist() List list of quickfix items
|
||||
getqflist({what}) Dict get specific quickfix list properties
|
||||
getreg([{regname} [, 1 [, {list}]]])
|
||||
String or List contents of a register
|
||||
getreginfo([{regname}]) Dict information about a register
|
||||
@ -2528,6 +2547,7 @@ gettabvar({nr}, {varname} [, {def}])
|
||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||
any {name} in {winnr} in tab page {tabnr}
|
||||
gettagstack([{nr}]) Dict get the tag stack of window {nr}
|
||||
gettext({text}) String lookup translation of {text}
|
||||
getwininfo([{winid}]) List list of info about each window
|
||||
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
||||
getwinposx() Number X coord in pixels of the Vim window
|
||||
@ -2664,6 +2684,7 @@ 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
|
||||
prompt_getprompt({buf}) String get prompt text
|
||||
prompt_setcallback({buf}, {expr}) none set prompt callback function
|
||||
prompt_setinterrupt({buf}, {text}) none set prompt interrupt function
|
||||
prompt_setprompt({buf}, {text}) none set prompt text
|
||||
@ -2751,17 +2772,21 @@ setbufline({expr}, {lnum}, {text})
|
||||
{expr}
|
||||
setbufvar({expr}, {varname}, {val})
|
||||
none set {varname} in buffer {expr} to {val}
|
||||
setcellwidths({list}) none set character cell width overrides
|
||||
setcharsearch({dict}) Dict set character search from {dict}
|
||||
setcmdpos({pos}) Number set cursor position in command-line
|
||||
setenv({name}, {val}) none set environment variable
|
||||
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
||||
setline({lnum}, {line}) Number set line {lnum} to {line}
|
||||
setloclist({nr}, {list} [, {action} [, {what}]])
|
||||
Number modify location list using {list}
|
||||
setloclist({nr}, {list} [, {action}])
|
||||
Number modify location list using {list}
|
||||
setloclist({nr}, {list}, {action}, {what})
|
||||
Number modify specific location list props
|
||||
setmatches({list} [, {win}]) Number restore a list of matches
|
||||
setpos({expr}, {list}) Number set the {expr} position to {list}
|
||||
setqflist({list} [, {action} [, {what}]])
|
||||
Number modify quickfix list using {list}
|
||||
setqflist({list} [, {action}]) Number modify quickfix list using {list}
|
||||
setqflist({list}, {action}, {what})
|
||||
Number modify specific quickfix list props
|
||||
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
||||
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
||||
@ -2816,7 +2841,8 @@ str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
||||
str2nr({expr} [, {base} [, {quoted}]])
|
||||
Number convert String to Number
|
||||
strcharpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
String {len} characters of {str} at
|
||||
character {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
|
||||
@ -2825,8 +2851,9 @@ stridx({haystack}, {needle} [, {start}])
|
||||
Number index of {needle} in {haystack}
|
||||
string({expr}) String String representation of {expr} value
|
||||
strlen({expr}) Number length of the String {expr}
|
||||
strpart({str}, {start} [, {len}])
|
||||
String {len} characters of {str} at {start}
|
||||
strpart({str}, {start} [, {len} [, {chars}]])
|
||||
String {len} bytes/chars of {str} at
|
||||
byte {start}
|
||||
strptime({format}, {timestring})
|
||||
Number Convert {timestring} to unix timestamp
|
||||
strridx({haystack}, {needle} [, {start}])
|
||||
@ -3031,7 +3058,8 @@ append({lnum}, {text}) *append()*
|
||||
:let failed = append(line('$'), "# THE END")
|
||||
:let failed = append(0, ["Chapter 1", "the beginning"])
|
||||
|
||||
< Can also be used as a |method| after a List: >
|
||||
< Can also be used as a |method| after a List, the base is
|
||||
passed as the second argument: >
|
||||
mylist->append(lnum)
|
||||
|
||||
|
||||
@ -3053,7 +3081,8 @@ appendbufline({expr}, {lnum}, {text}) *appendbufline()*
|
||||
error message is given. Example: >
|
||||
:let failed = appendbufline(13, 0, "# THE START")
|
||||
<
|
||||
Can also be used as a |method| after a List: >
|
||||
< Can also be used as a |method| after a List, the base is
|
||||
passed as the second argument: >
|
||||
mylist->appendbufline(buf, lnum)
|
||||
|
||||
|
||||
@ -3396,7 +3425,8 @@ byte2line({byte}) *byte2line()*
|
||||
|
||||
byteidx({expr}, {nr}) *byteidx()*
|
||||
Return byte index of the {nr}'th character in the string
|
||||
{expr}. Use zero for the first character, it returns zero.
|
||||
{expr}. Use zero for the first character, it then returns
|
||||
zero.
|
||||
This function is only useful when there are multibyte
|
||||
characters, otherwise the returned value is equal to {nr}.
|
||||
Composing characters are not counted separately, their byte
|
||||
@ -3494,6 +3524,18 @@ char2nr({expr} [, {utf8}]) *char2nr()*
|
||||
Can also be used as a |method|: >
|
||||
GetChar()->char2nr()
|
||||
|
||||
|
||||
charclass({string}) *charclass()*
|
||||
Return the character class of the first character in {string}.
|
||||
The character class is one of:
|
||||
0 blank
|
||||
1 punctuation
|
||||
2 word character
|
||||
3 emoji
|
||||
other specific Unicode class
|
||||
The class is used in patterns and word motions.
|
||||
|
||||
|
||||
chdir({dir}) *chdir()*
|
||||
Change the current working directory to {dir}. The scope of
|
||||
the directory change depends on the directory of the current
|
||||
@ -3635,7 +3677,7 @@ complete_check() *complete_check()*
|
||||
|
||||
*complete_info()*
|
||||
complete_info([{what}])
|
||||
Returns a Dictionary with information about Insert mode
|
||||
Returns a |Dictionary| with information about Insert mode
|
||||
completion. See |ins-completion|.
|
||||
The items are:
|
||||
mode Current completion mode name string.
|
||||
@ -3897,6 +3939,7 @@ deepcopy({expr} [, {noref}]) *deepcopy()* *E698*
|
||||
changing an item in the copy does not change the contents of
|
||||
the original |List|.
|
||||
A |Dictionary| is copied in a similar way as a |List|.
|
||||
|
||||
When {noref} is omitted or zero a contained |List| or
|
||||
|Dictionary| is only copied once. All references point to
|
||||
this single copy. With {noref} set to 1 every occurrence of a
|
||||
@ -4262,6 +4305,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
line number
|
||||
<sflnum> script file line number, also when in
|
||||
a function
|
||||
<SID> "<SNR>123_" where "123" is the
|
||||
current script ID |<SID>|
|
||||
<cword> word under the cursor
|
||||
<cWORD> WORD under the cursor
|
||||
<client> the {clientid} of the last received
|
||||
@ -4833,12 +4878,14 @@ get({list}, {idx} [, {default}]) *get()*
|
||||
Get item {idx} from |List| {list}. When this item is not
|
||||
available return {default}. Return zero when {default} is
|
||||
omitted.
|
||||
Can also be used as a |method|: >
|
||||
Preferably used as a |method|: >
|
||||
mylist->get(idx)
|
||||
get({blob}, {idx} [, {default}])
|
||||
Get byte {idx} from |Blob| {blob}. When this byte is not
|
||||
available return {default}. Return -1 when {default} is
|
||||
omitted.
|
||||
Preferably used as a |method|: >
|
||||
myblob->get(idx)
|
||||
get({dict}, {key} [, {default}])
|
||||
Get item with key {key} from |Dictionary| {dict}. When this
|
||||
item is not available return {default}. Return zero when
|
||||
@ -4846,6 +4893,8 @@ get({dict}, {key} [, {default}])
|
||||
let val = get(g:, 'var_name', 'default')
|
||||
< This gets the value of g:var_name if it exists, and uses
|
||||
'default' when it does not exist.
|
||||
Preferably used as a |method|: >
|
||||
mydict->get(key)
|
||||
get({func}, {what})
|
||||
Get an item with from Funcref {func}. Possible values for
|
||||
{what} are:
|
||||
@ -4853,7 +4902,9 @@ get({func}, {what})
|
||||
"func" The function
|
||||
"dict" The dictionary
|
||||
"args" The list with arguments
|
||||
|
||||
Preferably used as a |method|: >
|
||||
myfunc->get(what)
|
||||
<
|
||||
*getbufinfo()*
|
||||
getbufinfo([{expr}])
|
||||
getbufinfo([{dict}])
|
||||
@ -4862,7 +4913,7 @@ getbufinfo([{dict}])
|
||||
Without an argument information about all the buffers is
|
||||
returned.
|
||||
|
||||
When the argument is a Dictionary only the buffers matching
|
||||
When the argument is a |Dictionary| only the buffers matching
|
||||
the specified criteria are returned. The following keys can
|
||||
be specified in {dict}:
|
||||
buflisted include only listed buffers.
|
||||
@ -4876,31 +4927,32 @@ getbufinfo([{dict}])
|
||||
|
||||
Each returned List item is a dictionary with the following
|
||||
entries:
|
||||
bufnr buffer number.
|
||||
bufnr Buffer number.
|
||||
changed TRUE if the buffer is modified.
|
||||
changedtick number of changes made to the buffer.
|
||||
changedtick Number of changes made to the buffer.
|
||||
hidden TRUE if the buffer is hidden.
|
||||
lastused timestamp in seconds, like
|
||||
lastused Timestamp in seconds, like
|
||||
|localtime()|, when the buffer was
|
||||
last used.
|
||||
{only with the |+viminfo| feature}
|
||||
listed TRUE if the buffer is listed.
|
||||
lnum current line number in buffer.
|
||||
linecount number of lines in the buffer (only
|
||||
lnum Line number used for the buffer when
|
||||
opened in the current window.
|
||||
linecount Number of lines in the buffer (only
|
||||
valid when loaded)
|
||||
loaded TRUE if the buffer is loaded.
|
||||
name full path to the file in the buffer.
|
||||
signs list of signs placed in the buffer.
|
||||
name Full path to the file in the buffer.
|
||||
signs List of signs placed in the buffer.
|
||||
Each list item is a dictionary with
|
||||
the following fields:
|
||||
id sign identifier
|
||||
lnum line number
|
||||
name sign name
|
||||
variables a reference to the dictionary with
|
||||
variables A reference to the dictionary with
|
||||
buffer-local variables.
|
||||
windows list of |window-ID|s that display this
|
||||
windows List of |window-ID|s that display this
|
||||
buffer
|
||||
popups list of popup |window-ID|s that
|
||||
popups List of popup |window-ID|s that
|
||||
display this buffer
|
||||
|
||||
Examples: >
|
||||
@ -4915,8 +4967,11 @@ getbufinfo([{dict}])
|
||||
<
|
||||
To get buffer-local options use: >
|
||||
getbufvar({bufnr}, '&option_name')
|
||||
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetBufnr()->getbufinfo()
|
||||
<
|
||||
|
||||
*getbufline()*
|
||||
getbufline({expr}, {lnum} [, {end}])
|
||||
Return a |List| with the lines starting from {lnum} to {end}
|
||||
@ -5018,8 +5073,9 @@ getchar([expr]) *getchar()*
|
||||
When the user clicks a mouse button, the mouse event will be
|
||||
returned. The position can then be found in |v:mouse_col|,
|
||||
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
|
||||
|getmousepos()| can also be used. This example positions the
|
||||
mouse as it would normally happen: >
|
||||
|getmousepos()| can also be used. Mouse move events will be
|
||||
ignored.
|
||||
This example positions the mouse as it would normally happen: >
|
||||
let c = getchar()
|
||||
if c == "\<LeftMouse>" && v:mouse_win > 0
|
||||
exe v:mouse_win . "wincmd w"
|
||||
@ -5393,7 +5449,7 @@ getline({lnum} [, {end}])
|
||||
< To get lines from another buffer see |getbufline()|
|
||||
|
||||
getloclist({nr} [, {what}]) *getloclist()*
|
||||
Returns a list with all the entries in the location list for
|
||||
Returns a |List| with all the entries in the location list for
|
||||
window {nr}. {nr} can be the window number or the |window-ID|.
|
||||
When {nr} is zero the current window is used.
|
||||
|
||||
@ -5415,7 +5471,15 @@ getloclist({nr} [, {what}]) *getloclist()*
|
||||
|location-list-file-window| for more
|
||||
details.
|
||||
|
||||
getmarklist([{expr}] *getmarklist()*
|
||||
Returns an empty Dictionary if there is no location list for
|
||||
the window {nr} or the window is not present.
|
||||
|
||||
Examples (See also |getqflist-examples|): >
|
||||
:echo getloclist(3, {'all': 0})
|
||||
:echo getloclist(5, {'filewinid': 0})
|
||||
|
||||
|
||||
getmarklist([{expr}]) *getmarklist()*
|
||||
Without the {expr} argument returns a |List| with information
|
||||
about all the global marks. |mark|
|
||||
|
||||
@ -5459,7 +5523,7 @@ getmatches([{win}]) *getmatches()*
|
||||
:unlet m
|
||||
<
|
||||
getmousepos() *getmousepos()*
|
||||
Returns a Dictionary with the last known position of the
|
||||
Returns a |Dictionary| with the last known position of the
|
||||
mouse. This can be used in a mapping for a mouse click or in
|
||||
a filter of a popup window. The items are:
|
||||
screenrow screen row
|
||||
@ -5660,6 +5724,7 @@ getreginfo([{regname}]) *getreginfo()*
|
||||
If {regname} is invalid or not set, an empty Dictionary
|
||||
will be returned.
|
||||
If {regname} is not specified, |v:register| is used.
|
||||
The returned Dictionary can be passed to |setreg()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetRegname()->getreginfo()
|
||||
@ -5679,12 +5744,12 @@ getregtype([{regname}]) *getregtype()*
|
||||
|
||||
gettabinfo([{arg}]) *gettabinfo()*
|
||||
If {arg} is not specified, then information about all the tab
|
||||
pages is returned as a List. Each List item is a Dictionary.
|
||||
pages is returned as a |List|. Each List item is a |Dictionary|.
|
||||
Otherwise, {arg} specifies the tab page number and information
|
||||
about that one is returned. If the tab page does not exist an
|
||||
empty List is returned.
|
||||
|
||||
Each List item is a Dictionary with the following entries:
|
||||
Each List item is a |Dictionary| with the following entries:
|
||||
tabnr tab page number.
|
||||
variables a reference to the dictionary with
|
||||
tabpage-local variables
|
||||
@ -5712,7 +5777,7 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
||||
When {varname} is empty a dictionary with all window-local
|
||||
variables is returned.
|
||||
When {varname} is equal to "&" get the values of all
|
||||
window-local options in a Dictionary.
|
||||
window-local options in a |Dictionary|.
|
||||
Otherwise, when {varname} starts with "&" get the value of a
|
||||
window-local option.
|
||||
Note that {varname} must be the name without "w:".
|
||||
@ -5766,17 +5831,30 @@ gettagstack([{nr}]) *gettagstack()*
|
||||
Can also be used as a |method|: >
|
||||
GetWinnr()->gettagstack()
|
||||
|
||||
|
||||
gettext({text}) *gettext()*
|
||||
Translate {text} if possible.
|
||||
This is mainly for use in the distributed Vim scripts. When
|
||||
generating message translations the {text} is extracted by
|
||||
xgettext, the translator can add the translated message in the
|
||||
.po file and Vim will lookup the translation when gettext() is
|
||||
called.
|
||||
For {text} double quoted strings are preferred, because
|
||||
xgettext does not understand escaping in single quoted
|
||||
strings.
|
||||
|
||||
|
||||
getwininfo([{winid}]) *getwininfo()*
|
||||
Returns information about windows as a List with Dictionaries.
|
||||
Returns information about windows as a |List| with Dictionaries.
|
||||
|
||||
If {winid} is given Information about the window with that ID
|
||||
is returned, as a List with one item. If the window does not
|
||||
is returned, as a |List| with one item. If the window does not
|
||||
exist the result is an empty list.
|
||||
|
||||
Without {winid} information about all the windows in all the
|
||||
tab pages is returned.
|
||||
|
||||
Each List item is a Dictionary with the following entries:
|
||||
Each List item is a |Dictionary| with the following entries:
|
||||
botline last displayed buffer line
|
||||
bufnr number of buffer in the window
|
||||
height window height (excluding winbar)
|
||||
@ -5804,7 +5882,7 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
GetWinnr()->getwininfo()
|
||||
|
||||
getwinpos([{timeout}]) *getwinpos()*
|
||||
The result is a List with two numbers, the result of
|
||||
The result is a |List| with two numbers, the result of
|
||||
|getwinposx()| and |getwinposy()| combined:
|
||||
[x-pos, y-pos]
|
||||
{timeout} can be used to specify how long to wait in msec for
|
||||
@ -5859,7 +5937,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
|
||||
'suffixes' affect the ordering of matches.
|
||||
'wildignorecase' always applies.
|
||||
|
||||
When {list} is present and it is |TRUE| the result is a List
|
||||
When {list} is present and it is |TRUE| the result is a |List|
|
||||
with all matching files. The advantage of using a List is,
|
||||
you also get filenames containing newlines correctly.
|
||||
Otherwise the result is a String and when there are several
|
||||
@ -5922,7 +6000,7 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
||||
one of the patterns in 'wildignore' will be skipped and
|
||||
'suffixes' affect the ordering of matches.
|
||||
|
||||
When {list} is present and it is |TRUE| the result is a List
|
||||
When {list} is present and it is |TRUE| the result is a |List|
|
||||
with all matching files. The advantage of using a List is, you
|
||||
also get filenames containing newlines correctly. Otherwise
|
||||
the result is a String and when there are several matches,
|
||||
@ -5954,7 +6032,7 @@ has({feature} [, {check}])
|
||||
zero otherwise. This is useful to check for a typo in
|
||||
{feature} and to detect dead code. Keep in mind that an older
|
||||
Vim version will not know about a feature added later and
|
||||
features that have been abandoned will not be know by the
|
||||
features that have been abandoned will not be known by the
|
||||
current Vim version.
|
||||
|
||||
Also see |exists()|.
|
||||
@ -7281,7 +7359,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
||||
|
||||
*max()*
|
||||
max({expr}) Return the maximum value of all items in {expr}.
|
||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
||||
{expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||
it returns the maximum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
@ -7352,7 +7430,7 @@ menu_info({name} [, {mode}]) *menu_info()*
|
||||
|
||||
< *min()*
|
||||
min({expr}) Return the minimum value of all items in {expr}.
|
||||
{expr} can be a List or a Dictionary. For a Dictionary,
|
||||
{expr} can be a |List| or a |Dictionary|. For a Dictionary,
|
||||
it returns the minimum of all values in the Dictionary.
|
||||
If {expr} is neither a List nor a Dictionary, or one of the
|
||||
items in {expr} cannot be used as a Number this results in
|
||||
@ -7758,6 +7836,17 @@ printf({fmt}, {expr1} ...) *printf()*
|
||||
arguments an error is given. Up to 18 arguments can be used.
|
||||
|
||||
|
||||
prompt_getprompt({buf}) *prompt_getprompt()*
|
||||
Returns the effective prompt text for buffer {buf}. {buf} can
|
||||
be a buffer name or number. |prompt-buffer|.
|
||||
|
||||
If the buffer doesn't exist or isn't a prompt buffer, an empty
|
||||
string is returned.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->prompt_getprompt()
|
||||
|
||||
|
||||
prompt_setcallback({buf}, {expr}) *prompt_setcallback()*
|
||||
Set prompt callback for buffer {buf} to {expr}. When {expr}
|
||||
is an empty string the callback is removed. This has only
|
||||
@ -7813,7 +7902,7 @@ prompt_setprompt({buf}, {text}) *prompt_setprompt()*
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->prompt_setprompt('command: ')
|
||||
|
||||
prop_ functions are documented here: |text-prop-functions|.
|
||||
prop_ functions are documented here: |text-prop-functions|
|
||||
|
||||
pum_getpos() *pum_getpos()*
|
||||
If the popup menu (see |ins-completion-menu|) is not visible,
|
||||
@ -8014,7 +8103,7 @@ readdirex({directory} [, {expr} [, {dict}]]) *readdirex()*
|
||||
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
|
||||
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": >
|
||||
@ -8263,7 +8352,7 @@ remove({list}, {idx} [, {end}]) *remove()*
|
||||
Without {end}: Remove the item at {idx} from |List| {list} and
|
||||
return the item.
|
||||
With {end}: Remove items from {idx} to {end} (inclusive) and
|
||||
return a List with these items. When {idx} points to the same
|
||||
return a |List| with these items. When {idx} points to the same
|
||||
item as {end} a list with one item is returned. When {end}
|
||||
points to an item before {idx} this is an error.
|
||||
See |list-index| for possible values of {idx} and {end}.
|
||||
@ -8400,7 +8489,7 @@ screenchar({row}, {col}) *screenchar()*
|
||||
GetRow()->screenchar(col)
|
||||
|
||||
screenchars({row}, {col}) *screenchars()*
|
||||
The result is a List of Numbers. The first number is the same
|
||||
The result is a |List| of Numbers. The first number is the same
|
||||
as what |screenchar()| returns. Further numbers are
|
||||
composing characters on top of the base character.
|
||||
This is mainly to be used for testing.
|
||||
@ -8565,7 +8654,7 @@ searchcount([{options}]) *searchcount()*
|
||||
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
|
||||
This returns a |Dictionary|. The dictionary is empty if the
|
||||
previous pattern was not set and "pattern" was not specified.
|
||||
|
||||
key type meaning ~
|
||||
@ -8647,7 +8736,7 @@ searchcount([{options}]) *searchcount()*
|
||||
" search again
|
||||
call searchcount()
|
||||
<
|
||||
{options} must be a Dictionary. It can contain:
|
||||
{options} must be a |Dictionary|. It can contain:
|
||||
key type meaning ~
|
||||
recompute |Boolean| if |TRUE|, recompute the count
|
||||
like |n| or |N| was executed.
|
||||
@ -8678,7 +8767,8 @@ searchcount([{options}]) *searchcount()*
|
||||
pos |List| `[lnum, col, off]` value
|
||||
when recomputing the result.
|
||||
this changes "current" result
|
||||
value. see |cursor()|, |getpos()
|
||||
value. see |cursor()|,
|
||||
|getpos()|
|
||||
(default: cursor's position)
|
||||
|
||||
|
||||
@ -8889,6 +8979,31 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
third argument: >
|
||||
GetValue()->setbufvar(buf, varname)
|
||||
|
||||
|
||||
setcellwidths({list}) *setcellwidths()*
|
||||
Specify overrides for cell widths of character ranges. This
|
||||
tells Vim how wide characters are, counted in screen cells.
|
||||
This overrides 'ambiwidth'. Example: >
|
||||
setcellwidths([[0xad, 0xad, 1],
|
||||
\ [0x2194, 0x2199, 2]])
|
||||
|
||||
< *E1109* *E1110* *E1111* *E1112* *E1113*
|
||||
The {list} argument is a list of lists with each three
|
||||
numbers. These three numbers are [low, high, width]. "low"
|
||||
and "high" can be the same, in which case this refers to one
|
||||
character. Otherwise it is the range of characters from "low"
|
||||
to "high" (inclusive). "width" is either 1 or 2, indicating
|
||||
the character width in screen cells.
|
||||
An error is given if the argument is invalid, also when a
|
||||
range overlaps with another.
|
||||
Only characters with value 0x100 and higher can be used.
|
||||
|
||||
To clear the overrides pass an empty list: >
|
||||
setcellwidths([]);
|
||||
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
|
||||
the effect for known emoji characters.
|
||||
|
||||
|
||||
setcharsearch({dict}) *setcharsearch()*
|
||||
Set the current character search information to {dict},
|
||||
which contains one or more of the following entries:
|
||||
@ -8999,6 +9114,8 @@ setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
||||
Otherwise, same as |setqflist()|.
|
||||
Also see |location-list|.
|
||||
|
||||
For {action} see |setqflist-action|.
|
||||
|
||||
If the optional {what} dictionary argument is supplied, then
|
||||
only the items listed in {what} are set. Refer to |setqflist()|
|
||||
for the list of supported keys in {what}.
|
||||
@ -9077,8 +9194,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
only the items listed in {what} are set. The first {list}
|
||||
argument is ignored. See below for the supported items in
|
||||
{what}.
|
||||
|
||||
When {what} is not present, the items in {list} or used. Each
|
||||
*setqflist-what*
|
||||
When {what} is not present, the items in {list} are used. Each
|
||||
item must be a dictionary. Non-dictionary items in {list} are
|
||||
ignored. Each dictionary item can contain the following
|
||||
entries:
|
||||
@ -9114,7 +9231,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
Note that the list is not exactly the same as what
|
||||
|getqflist()| returns.
|
||||
|
||||
{action} values: *E927*
|
||||
{action} values: *setqflist-action* *E927*
|
||||
'a' The items from {list} are added to the existing
|
||||
quickfix list. If there is no existing list, then a
|
||||
new list is created.
|
||||
@ -9155,7 +9272,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
the last quickfix list.
|
||||
quickfixtextfunc
|
||||
function to get the text to display in the
|
||||
quickfix window. Refer to
|
||||
quickfix window. The value can be the name of
|
||||
a function or a funcref or a lambda. 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|
|
||||
@ -9186,10 +9304,12 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
setreg({regname}, {value} [, {options}])
|
||||
Set the register {regname} to {value}.
|
||||
If {regname} is "" or "@", the unnamed register '"' is used.
|
||||
|
||||
{value} may be any value returned by |getreg()| or
|
||||
|getreginfo()|, including a |List| or |Dict|.
|
||||
If {options} contains "a" or {regname} is upper case,
|
||||
then the value is appended.
|
||||
|
||||
{options} can also contain a register type specification:
|
||||
"c" or "v" |characterwise| mode
|
||||
"l" or "V" |linewise| mode
|
||||
@ -9220,7 +9340,7 @@ setreg({regname}, {value} [, {options}])
|
||||
register: >
|
||||
:let var_a = getreginfo()
|
||||
:call setreg('a', var_a)
|
||||
< or:
|
||||
< or: >
|
||||
:let var_a = getreg('a', 1, 1)
|
||||
:let var_amode = getregtype('a')
|
||||
....
|
||||
@ -9296,7 +9416,7 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
|
||||
Returns zero for success, -1 for failure.
|
||||
|
||||
Examples (for more examples see |tagstack-examples||):
|
||||
Examples (for more examples see |tagstack-examples|):
|
||||
Empty the tag stack of window 3: >
|
||||
call settagstack(3, {'items' : []})
|
||||
|
||||
@ -9697,13 +9817,13 @@ state([{what}]) *state()*
|
||||
something is busy:
|
||||
m halfway a mapping, :normal command, feedkeys() or
|
||||
stuffed command
|
||||
o operator pending or waiting for a command argument,
|
||||
e.g. after |f|
|
||||
o operator pending, e.g. after |d|
|
||||
a Insert mode autocomplete active
|
||||
x executing an autocommand
|
||||
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
||||
ch_readraw() when reading json.
|
||||
S not triggering SafeState or SafeStateAgain
|
||||
ch_readraw() when reading json
|
||||
S not triggering SafeState or SafeStateAgain, e.g. after
|
||||
|f| or a count
|
||||
c callback invoked, including timer (repeats for
|
||||
recursiveness up to "ccc")
|
||||
s screen has scrolled for messages
|
||||
@ -9884,7 +10004,7 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
||||
List [item, item]
|
||||
Dictionary {key: value, key: value}
|
||||
|
||||
When a List or Dictionary has a recursive reference it is
|
||||
When a |List| or |Dictionary| has a recursive reference it is
|
||||
replaced by "[...]" or "{...}". Using eval() on the result
|
||||
will then fail.
|
||||
|
||||
@ -9898,17 +10018,22 @@ strlen({expr}) The result is a Number, which is the length of the String
|
||||
{expr} in bytes.
|
||||
If the argument is a Number it is first converted to a String.
|
||||
For other types an error is given.
|
||||
If you want to count the number of multi-byte characters use
|
||||
If you want to count the number of multibyte characters use
|
||||
|strchars()|.
|
||||
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetString()->strlen()
|
||||
|
||||
strpart({src}, {start} [, {len}]) *strpart()*
|
||||
strpart({src}, {start} [, {len} [, {chars}]]) *strpart()*
|
||||
The result is a String, which is part of {src}, starting from
|
||||
byte {start}, with the byte length {len}.
|
||||
To count characters instead of bytes use |strcharpart()|.
|
||||
When {chars} is present and TRUE then {len} is the number of
|
||||
characters positions (composing characters are not counted
|
||||
separately, thus "1" means one base character and any
|
||||
following composing characters).
|
||||
To count {start} as characters instead of bytes use
|
||||
|strcharpart()|.
|
||||
|
||||
When bytes are selected which do not exist, this doesn't
|
||||
result in an error, the bytes are simply omitted.
|
||||
@ -9920,8 +10045,8 @@ strpart({src}, {start} [, {len}]) *strpart()*
|
||||
strpart("abcdefg", 3) == "defg"
|
||||
|
||||
< Note: To get the first character, {start} must be 0. For
|
||||
example, to get three bytes under and after the cursor: >
|
||||
strpart(getline("."), col(".") - 1, 3)
|
||||
example, to get the character under the cursor: >
|
||||
strpart(getline("."), col(".") - 1, 1, v:true)
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
GetText()->strpart(5)
|
||||
@ -10096,7 +10221,7 @@ swapname({expr}) *swapname()*
|
||||
The result is the swap file path of the buffer {expr}.
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
If buffer {expr} is the current buffer, the result is equal to
|
||||
|:swapname| (unless no swap file).
|
||||
|:swapname| (unless there is no swap file).
|
||||
If buffer {expr} has no swap file, returns an empty string.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
@ -10175,7 +10300,7 @@ synIDtrans({synID}) *synIDtrans()*
|
||||
:echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg")
|
||||
|
||||
synconcealed({lnum}, {col}) *synconcealed()*
|
||||
The result is a List with currently three items:
|
||||
The result is a |List| with currently three items:
|
||||
1. The first item in the list is 0 if the character at the
|
||||
position {lnum} and {col} is not part of a concealable
|
||||
region, 1 if it is.
|
||||
@ -10220,7 +10345,7 @@ synstack({lnum}, {col}) *synstack()*
|
||||
|
||||
system({expr} [, {input}]) *system()* *E677*
|
||||
Get the output of the shell command {expr} as a string. See
|
||||
|systemlist()| to get the output as a List.
|
||||
|systemlist()| to get the output as a |List|.
|
||||
|
||||
When {input} is given and is a string this string is written
|
||||
to a file and passed as stdin to the command. The string is
|
||||
@ -10319,8 +10444,13 @@ tabpagebuflist([{arg}]) *tabpagebuflist()*
|
||||
tabpagenr([{arg}]) *tabpagenr()*
|
||||
The result is a Number, which is the number of the current
|
||||
tab page. The first tab page has number 1.
|
||||
When the optional argument is "$", the number of the last tab
|
||||
page is returned (the tab page count).
|
||||
|
||||
The optional argument {arg} supports the following values:
|
||||
$ the number of the last tab page (the tab page
|
||||
count).
|
||||
# the number of the last accessed tab page
|
||||
(where |g<Tab>| goes to). if there is no
|
||||
previous tab page 0 is returned.
|
||||
The number can be used with the |:tab| command.
|
||||
|
||||
|
||||
@ -10482,7 +10612,7 @@ timer_info([{id}])
|
||||
returned.
|
||||
When {id} is omitted information about all timers is returned.
|
||||
|
||||
For each timer the information is stored in a Dictionary with
|
||||
For each timer the information is stored in a |Dictionary| with
|
||||
these items:
|
||||
"id" the timer ID
|
||||
"time" time the timer was started with
|
||||
@ -10716,7 +10846,7 @@ undotree() *undotree()*
|
||||
undo blocks.
|
||||
|
||||
The first item in the "entries" list is the oldest undo item.
|
||||
Each List item is a Dictionary with these items:
|
||||
Each List item is a |Dictionary| with these items:
|
||||
"seq" Undo sequence number. Same as what appears in
|
||||
|:undolist|.
|
||||
"time" Timestamp when the change happened. Use
|
||||
@ -10928,7 +11058,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
||||
|
||||
Returns zero for success, non-zero for failure.
|
||||
|
||||
{options} is a Dictionary with the following optional entries:
|
||||
{options} is a |Dictionary| with the following optional entries:
|
||||
"vertical" When TRUE, the split is created vertically,
|
||||
like with |:vsplit|.
|
||||
"rightbelow" When TRUE, the split is made below or to the
|
||||
@ -11329,7 +11459,7 @@ mouse_urxvt Compiled with support for urxvt mouse.
|
||||
mouse_xterm Compiled with support for xterm mouse.
|
||||
mouseshape Compiled with support for 'mouseshape'.
|
||||
multi_byte Compiled with support for 'encoding' (always true)
|
||||
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
|
||||
multi_byte_encoding 'encoding' is set to a multibyte encoding.
|
||||
multi_byte_ime Compiled with support for IME input method.
|
||||
multi_lang Compiled with support for multiple languages.
|
||||
mzscheme Compiled with MzScheme interface |mzscheme|.
|
||||
@ -11678,7 +11808,7 @@ The argument default expressions are evaluated at the time of the function
|
||||
call, not definition. Thus it is possible to use an expression which is
|
||||
invalid the moment the function is defined. The expressions are also only
|
||||
evaluated when arguments are not specified during a call.
|
||||
|
||||
*none-function_argument*
|
||||
You can pass |v:none| to use the default expression. Note that this means you
|
||||
cannot pass v:none as an ordinary value when an argument has a default
|
||||
expression.
|
||||
@ -12093,8 +12223,10 @@ An assignment leaves out the `:let` command. |vim9-declaration|
|
||||
text...
|
||||
text...
|
||||
{endmarker}
|
||||
Set internal variable {var-name} to a List containing
|
||||
the lines of text bounded by the string {endmarker}.
|
||||
Set internal variable {var-name} to a |List|
|
||||
containing the lines of text bounded by the string
|
||||
{endmarker}. The lines of text is used as a
|
||||
|literal-string|.
|
||||
{endmarker} must not contain white space.
|
||||
{endmarker} cannot start with a lower case character.
|
||||
The last line should end only with the {endmarker}
|
||||
@ -12205,10 +12337,18 @@ text...
|
||||
:const x = 1
|
||||
< is equivalent to: >
|
||||
:let x = 1
|
||||
:lockvar 1 x
|
||||
:lockvar! x
|
||||
< This is useful if you want to make sure the variable
|
||||
is not modified.
|
||||
*E995*
|
||||
is not modified. If the value is a List or Dictionary
|
||||
literal then the items also cannot be changed: >
|
||||
const ll = [1, 2, 3]
|
||||
let ll[1] = 5 " Error!
|
||||
< Nested references are not locked: >
|
||||
let lvar = ['a']
|
||||
const lconst = [0, lvar]
|
||||
let lconst[0] = 2 " Error!
|
||||
let lconst[1][0] = 'b' " OK
|
||||
< *E995*
|
||||
|:const| does not allow to for changing a variable: >
|
||||
:let x = 1
|
||||
:const x = 2 " Error!
|
||||
|
@ -163,8 +163,8 @@ file. It will be overwritten when installing a new version of Vim.
|
||||
|
||||
A. If you want to overrule all default file type checks.
|
||||
This works by writing one file for each filetype. The disadvantage is that
|
||||
means there can be many files. The advantage is that you can simply drop
|
||||
this file in the right directory to make it work.
|
||||
there can be many files. The advantage is that you can simply drop this
|
||||
file in the right directory to make it work.
|
||||
*ftdetect*
|
||||
1. Create your user runtime directory. You would normally use the first
|
||||
item of the 'runtimepath' option. Then create the directory "ftdetect"
|
||||
|
@ -312,7 +312,7 @@ can create any of the following: >
|
||||
$VIM/vimfiles/indent/sqlite.vim
|
||||
|
||||
No changes are necessary to the SQLSetType function. It will automatically
|
||||
pickup the new SQL files and load them when you issue the SQLSetType command.
|
||||
pick up the new SQL files and load them when you issue the SQLSetType command.
|
||||
|
||||
|
||||
==============================================================================
|
||||
@ -519,7 +519,7 @@ beginning with those characters. >
|
||||
4.3.2 Column Completion: *sql-completion-columns*
|
||||
|
||||
The SQL completion plugin can also display a list of columns for particular
|
||||
tables. The column completion is trigger via <C-C>c.
|
||||
tables. The column completion is triggered via <C-C>c.
|
||||
|
||||
NOTE: The following example uses <Right> to trigger a column list while
|
||||
the popup window is active.
|
||||
@ -727,7 +727,7 @@ your platform (often a case on *nix) you define the following variable in
|
||||
your |vimrc|: >
|
||||
let g:omni_sql_no_default_maps = 1
|
||||
|
||||
Do no edit ftplugin/sql.vim directly! If you change this file your changes
|
||||
Do not edit ftplugin/sql.vim directly! If you change this file your changes
|
||||
will be over written on future updates. Vim has a special directory structure
|
||||
which allows you to make customizations without changing the files that are
|
||||
included with the Vim distribution. If you wish to customize the maps
|
||||
|
@ -1096,8 +1096,9 @@ That's all. XLFDs are not used. For Chinese this is reported to work well: >
|
||||
|
||||
For Mac OSX you can use something like this: >
|
||||
:set guifont=Monaco:h10
|
||||
Also see 'macatsui', it can help fix display problems.
|
||||
*E236*
|
||||
|
||||
Mono-spaced fonts *E236*
|
||||
|
||||
Note that the fonts must be mono-spaced (all characters have the same width).
|
||||
An exception is GTK: all fonts are accepted, but mono-spaced fonts look best.
|
||||
|
||||
|
@ -451,7 +451,7 @@ with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on.
|
||||
|
||||
XPM support *w32-xpm-support*
|
||||
|
||||
GVim can be build on MS-Windows with support for XPM files. |+xpm_w32|
|
||||
GVim can be built on MS-Windows with support for XPM files. |+xpm_w32|
|
||||
See the Make_mvc.mak file for instructions, search for XPM.
|
||||
|
||||
To try out if XPM support works do this: >
|
||||
|
@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Apr 05
|
||||
*help.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@ -158,7 +158,7 @@ Programming language support ~
|
||||
|
||||
Language support ~
|
||||
|digraph.txt| list of available digraphs
|
||||
|mbyte.txt| multi-byte text support
|
||||
|mbyte.txt| multibyte text support
|
||||
|mlang.txt| non-English language support
|
||||
|rileft.txt| right-to-left editing mode
|
||||
|arabic.txt| Arabic language support and editing
|
||||
|
@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Mar 01
|
||||
*helphelp.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -369,14 +369,16 @@ highlighting. So do these:
|
||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||
|
||||
*inclusion*
|
||||
Some people make a big deal about using "his" when referring to the user,
|
||||
thinking it means we assume the user is male. That is of course not the case,
|
||||
it's just a habit of writing help text, which quite often is many years old.
|
||||
Also, a lot of the text is written by contributors for who English is not
|
||||
their first language. We do not make any assumptions about the gender of the
|
||||
user, no matter how the text is phrased. And we do not want to waste time on
|
||||
this discussion. The goal is that the reader understands how Vim works, the
|
||||
exact wording is secondary.
|
||||
Vim is for everybody, no matter race, gender or anything. Some people make a
|
||||
big deal about using "he" or "his" when referring to the user, thinking it
|
||||
means we assume the user is male. That is not the case, it's just a habit of
|
||||
writing help text, which quite often is many years old. Also, a lot of the
|
||||
text is written by contributors for whom English is not their first language.
|
||||
We do not make any assumptions about the gender of the user, no matter how the
|
||||
text is phrased. Some people have suggested using "they", but that is not
|
||||
regular English. We do not want to spend much time on this discussion. The
|
||||
goal is that the reader understands how Vim works, the exact wording is
|
||||
secondary.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
|
||||
*if_lua.txt* For Vim version 8.2. Last change: 2020 Jun 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@ -199,8 +199,8 @@ 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
|
||||
vim.call({name} [, {args}])
|
||||
Proxy to call Vim function named {name} with
|
||||
arguments {args}. Example: >
|
||||
:lua print(vim.call('has', 'timers'))
|
||||
<
|
||||
@ -217,14 +217,27 @@ Vim's syntax for lists. Since lists are objects, changes in list references in
|
||||
Lua are reflected in Vim and vice-versa. A list "l" has the following
|
||||
properties and methods:
|
||||
|
||||
NOTE: In patch 8.2.1066 array indexes were changed from zero-based to
|
||||
one-based. You can check with: >
|
||||
if has("patch-8.2.1066")
|
||||
|
||||
Properties
|
||||
----------
|
||||
o "#l" is the number of items in list "l", equivalent to "len(l)"
|
||||
in Vim.
|
||||
o "l[k]" returns the k-th item in "l"; "l" is zero-indexed, as in Vim.
|
||||
o "l[k]" returns the k-th item in "l"; "l" is one-indexed, as in Lua.
|
||||
To modify the k-th item, simply do "l[k] = newitem"; in
|
||||
particular, "l[k] = nil" removes the k-th item from "l".
|
||||
particular, "l[k] = nil" removes the k-th item from "l". Item can
|
||||
be added to the end of the list by "l[#l + 1] = newitem"
|
||||
o "l()" returns an iterator for "l".
|
||||
o "table.insert(l, newitem)" inserts an item at the end of the list.
|
||||
(only Lua 5.3 and later)
|
||||
o "table.insert(l, position, newitem)" inserts an item at the
|
||||
specified position. "position" is one-indexed. (only Lua 5.3 and
|
||||
later)
|
||||
o "table.remove(l, position)" removes an item at the specified
|
||||
position. "position" is one-indexed.
|
||||
|
||||
|
||||
Methods
|
||||
-------
|
||||
@ -237,13 +250,16 @@ Examples:
|
||||
:let l = [1, 'item']
|
||||
:lua l = vim.eval('l') -- same 'l'
|
||||
:lua l:add(vim.list())
|
||||
:lua l[0] = math.pi
|
||||
:lua l[1] = math.pi
|
||||
:echo l[0] " 3.141593
|
||||
:lua l[0] = nil -- remove first item
|
||||
:lua l[1] = nil -- remove first item
|
||||
:lua l:insert(true, 1)
|
||||
:lua print(l, #l, l[0], l[1], l[-1])
|
||||
:lua print(l, #l, l[1], l[2])
|
||||
:lua l[#l + 1] = 'value'
|
||||
:lua table.insert(l, 100)
|
||||
:lua table.insert(l, 2, 200)
|
||||
:lua table.remove(l, 1)
|
||||
:lua for item in l() do print(item) end
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
4. Dict userdata *lua-dict*
|
||||
@ -333,6 +349,14 @@ Examples:
|
||||
:lua l = d.len -- assign d as 'self'
|
||||
:lua print(l())
|
||||
<
|
||||
Lua functions and closures are automatically converted to a Vim |Funcref| and
|
||||
can be accessed in Vim scripts. Example:
|
||||
>
|
||||
lua <<EOF
|
||||
vim.fn.timer_start(1000, function(timer)
|
||||
print('timer callback')
|
||||
end)
|
||||
EOF
|
||||
|
||||
==============================================================================
|
||||
7. Buffer userdata *lua-buffer*
|
||||
|
@ -275,7 +275,7 @@ Options:
|
||||
$win delcmd {cmd} *tcl-window-delcmd*
|
||||
Registers the Tcl command {cmd} as a deletion callback for the window.
|
||||
This command is executed (in the global scope) just before the window
|
||||
is closed. Complex commands should be build with "list": >
|
||||
is closed. Complex commands should be built with "list": >
|
||||
$win delcmd [list puts vimerr "window deleted"]
|
||||
< See also |tcl-buffer-delcmd|.
|
||||
|
||||
@ -357,7 +357,7 @@ Options:
|
||||
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
||||
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
||||
This command is executed (in the global scope) just before the buffer
|
||||
is deleted. Complex commands should be build with "list": >
|
||||
is deleted. Complex commands should be built with "list": >
|
||||
$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
|
||||
< See also |tcl-window-delcmd|.
|
||||
|
||||
|
@ -414,11 +414,11 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-(*
|
||||
(N When in unclosed parentheses, indent N characters from the line
|
||||
with the unclosed parentheses. Add a 'shiftwidth' for every
|
||||
with the unclosed parenthesis. Add a 'shiftwidth' for every
|
||||
extra unclosed parentheses. When N is 0 or the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
parenthesis is the first non-white character in its line, line
|
||||
up with the next non-white character after the unclosed
|
||||
parentheses. (default 'shiftwidth' * 2).
|
||||
parenthesis. (default 'shiftwidth' * 2).
|
||||
|
||||
cino= cino=(0 >
|
||||
if (c1 && (c2 || if (c1 && (c2 ||
|
||||
@ -439,7 +439,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-U*
|
||||
UN When N is non-zero, do not ignore the indenting specified by
|
||||
( or u in case that the unclosed parentheses is the first
|
||||
( or u in case that the unclosed parenthesis is the first
|
||||
non-white character in its line. (default 0).
|
||||
|
||||
cino= or cino=(s cino=(s,U1 >
|
||||
@ -452,8 +452,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
*cino-w*
|
||||
wN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
||||
parentheses is the first non-white character in its line, line
|
||||
up with the character immediately after the unclosed parentheses
|
||||
parenthesis is the first non-white character in its line, line
|
||||
up with the character immediately after the unclosed parenthesis
|
||||
rather than the first non-white character. (default 0).
|
||||
|
||||
cino=(0 cino=(0,w1 >
|
||||
@ -464,11 +464,11 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-W*
|
||||
WN When in unclosed parentheses and N is non-zero and either
|
||||
using "(0" or "u0", respectively and the unclosed parentheses is
|
||||
using "(0" or "u0", respectively and the unclosed parenthesis is
|
||||
the last non-white character in its line and it is not the
|
||||
closing parentheses, indent the following line N characters
|
||||
closing parenthesis, indent the following line N characters
|
||||
relative to the outer context (i.e. start of the line or the
|
||||
next unclosed parentheses). (default: 0).
|
||||
next unclosed parenthesis). (default: 0).
|
||||
|
||||
cino=(0 cino=(0,W4 >
|
||||
a_long_line( a_long_line(
|
||||
@ -495,8 +495,8 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-m*
|
||||
mN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the line with the
|
||||
matching opening parentheses. (default 0).
|
||||
parenthesis with the first character of the line with the
|
||||
matching opening parenthesis. (default 0).
|
||||
|
||||
cino=(s cino=(s,m1 >
|
||||
c = c1 && ( c = c1 && (
|
||||
@ -510,7 +510,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*cino-M*
|
||||
MN When N is non-zero, line up a line starting with a closing
|
||||
parentheses with the first character of the previous line.
|
||||
parenthesis with the first character of the previous line.
|
||||
(default 0).
|
||||
|
||||
cino= cino=M1 >
|
||||
@ -569,7 +569,7 @@ The examples below assume a 'shiftwidth' of 4.
|
||||
recognize preprocessor lines; right-shifting lines that start
|
||||
with "#" does not work.
|
||||
|
||||
|
||||
*cino-P*
|
||||
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
|
||||
@ -996,7 +996,7 @@ Indent after a nested paren: >
|
||||
Indent for a continuation line: >
|
||||
let g:pyindent_continue = 'shiftwidth() * 2'
|
||||
|
||||
The method uses |searchpair()| to look back for unclosed parenthesis. This
|
||||
The method uses |searchpair()| to look back for unclosed parentheses. This
|
||||
can sometimes be slow, thus it timeouts after 150 msec. If you notice the
|
||||
indenting isn't correct, you can set a larger timeout in msec: >
|
||||
let g:pyindent_searchpair_timeout = 500
|
||||
|
@ -440,6 +440,7 @@ tag char note action in Normal mode ~
|
||||
|<C-LeftMouse>| <C-LeftMouse> ":ta" to the keyword at the mouse click
|
||||
|<C-Right>| <C-Right> 1 same as "w"
|
||||
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
||||
|<C-Tab>| <C-Tab> same as "g<Tab>"
|
||||
|<Del>| ["x]<Del> 2 same as "x"
|
||||
|N<Del>| {count}<Del> remove the last digit from {count}
|
||||
|<Down>| <Down> 1 same as "j"
|
||||
@ -587,6 +588,8 @@ tag command action in Normal mode ~
|
||||
following the file name.
|
||||
|CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
|
||||
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|
||||
|CTRL-W_g<Tab>| CTRL-W g <Tab> same as |g<Tab>|: go to last accessed tab
|
||||
page.
|
||||
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|
||||
|CTRL-W_i| CTRL-W i split window and jump to declaration of
|
||||
identifier under the cursor
|
||||
@ -805,6 +808,7 @@ tag char note action in Normal mode ~
|
||||
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
||||
g<MiddleMouse> same as <C-MiddleMouse>
|
||||
|g<RightMouse>| g<RightMouse> same as <C-RightMouse>
|
||||
|g<Tab>| g<Tab> go to the last accessed tab page.
|
||||
|g<Up>| g<Up> 1 same as "gk"
|
||||
|
||||
==============================================================================
|
||||
|
@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
|
||||
*intro.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -232,8 +232,8 @@ Vim would never have become what it is now, without the help of these people!
|
||||
Flemming Madsen X11 client-server, various features and patches
|
||||
Tony Mechelynck answers many user questions
|
||||
Paul Moore Python interface extensions, many patches
|
||||
Katsuhito Nagano Work on multi-byte versions
|
||||
Sung-Hyun Nam Work on multi-byte versions
|
||||
Katsuhito Nagano Work on multibyte versions
|
||||
Sung-Hyun Nam Work on multibyte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
@ -510,7 +510,7 @@ the ":map" command. The rules are:
|
||||
<M-a> Meta- a ('a' with bit 8 set)
|
||||
<M-A> Meta- A ('A' with bit 8 set)
|
||||
<t_kd> "kd" termcap entry (cursor down key)
|
||||
Although you can specify <M-{char}> with {char} being a multi-byte
|
||||
Although you can specify <M-{char}> with {char} being a multibyte
|
||||
character, Vim may not be able to know what byte sequence that is and then
|
||||
it won't work.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
|
||||
*map.txt* For Vim version 8.2. Last change: 2020 Aug 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -191,6 +191,12 @@ whether to use the "," mapping or the longer one. To avoid this add the
|
||||
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
||||
not wait for more characters to be typed. However, if the characters were
|
||||
already typed they are used.
|
||||
Note that this works when the <nowait> mapping fully matches and is found
|
||||
before any partial matches. This works when:
|
||||
- There is only one matching buffer-local mapping, since these are always
|
||||
found before global mappings.
|
||||
- There is another buffer-local mapping that partly matches, but it is was
|
||||
defined earlier (last defined mapping is found first).
|
||||
|
||||
*:map-<silent>* *:map-silent*
|
||||
To define a mapping which will not be echoed on the command line, add
|
||||
@ -595,7 +601,7 @@ construct can be used:
|
||||
<Char-033> character 27
|
||||
<Char-0x7f> character 127
|
||||
<S-Char-114> character 114 ('r') shifted ('R')
|
||||
This is useful to specify a (multi-byte) character in a 'keymap' file.
|
||||
This is useful to specify a (multibyte) character in a 'keymap' file.
|
||||
Upper and lowercase differences are ignored.
|
||||
|
||||
*map-comments*
|
||||
@ -843,11 +849,10 @@ When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
||||
imap <C-S-{> {{{
|
||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
||||
|
||||
A known side effect effect is that in Insert mode the raw escape sequence is
|
||||
inserted after the CTRL-V key. This can be used to check whether
|
||||
modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you
|
||||
get one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is
|
||||
on.
|
||||
A known side effect is that in Insert mode the raw escape sequence is inserted
|
||||
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||
enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you get one byte then
|
||||
modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||
|
||||
When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
|
||||
Insert mode to avoid every key with a modifier causing Insert mode to end.
|
||||
@ -1168,6 +1173,10 @@ When executing an autocommand or a user command, it will run in the context of
|
||||
the script it was defined in. This makes it possible that the command calls a
|
||||
local function or uses a local mapping.
|
||||
|
||||
In case the value is used in a context where <SID> cannot be correctly
|
||||
expanded, use the expand() function: >
|
||||
let &includexpr = expand('<SID>') .. 'My_includeexpr()'
|
||||
|
||||
Otherwise, using "<SID>" outside of a script context is an error.
|
||||
|
||||
If you need to get the script number to use in a complicated script, you can
|
||||
|
@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2019 Jul 04
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@ -36,7 +36,7 @@ characters or boxes when using another encoding.
|
||||
This is a summary of the multibyte features in Vim. If you are lucky it works
|
||||
as described and you can start using Vim without much trouble. If something
|
||||
doesn't work you will have to read the rest. Don't be surprised if it takes
|
||||
quite a bit of work and experimenting to make Vim use all the multi-byte
|
||||
quite a bit of work and experimenting to make Vim use all the multibyte
|
||||
features. Unfortunately, every system has its own way to deal with multibyte
|
||||
languages and it is quite complicated.
|
||||
|
||||
@ -123,12 +123,12 @@ You can also set 'guifont' alone, Vim will try to find a matching
|
||||
|
||||
INPUT
|
||||
|
||||
There are several ways to enter multi-byte characters:
|
||||
There are several ways to enter multibyte characters:
|
||||
- For X11 XIM can be used. See |XIM|.
|
||||
- For MS-Windows IME can be used. See |IME|.
|
||||
- For all systems keymaps can be used. See |mbyte-keymap|.
|
||||
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
|
||||
the different input methods or disable them temporarily.
|
||||
|
||||
==============================================================================
|
||||
@ -141,8 +141,8 @@ in, or just use a certain locale inside Vim.
|
||||
|
||||
WHAT IS A LOCALE? *locale*
|
||||
|
||||
There are many of languages in the world. And there are different cultures
|
||||
and environments at least as much as the number of languages. A linguistic
|
||||
There are many languages in the world. And there are different cultures and
|
||||
environments at least as many as the number of languages. A linguistic
|
||||
environment corresponding to an area is called "locale". This includes
|
||||
information about the used language, the charset, collating order for sorting,
|
||||
date format, currency format and so on. For Vim only the language and charset
|
||||
@ -237,11 +237,11 @@ encoded with one byte, we call this a single-byte encoding. The most often
|
||||
used one is called "latin1". This limits the number of characters to 256.
|
||||
Some of these are control characters, thus even fewer can be used for text.
|
||||
|
||||
When some characters use two or more bytes, we call this a multi-byte
|
||||
When some characters use two or more bytes, we call this a multibyte
|
||||
encoding. This allows using much more than 256 characters, which is required
|
||||
for most East Asian languages.
|
||||
|
||||
Most multi-byte encodings use one byte for the first 127 characters. These
|
||||
Most multibyte encodings use one byte for the first 127 characters. These
|
||||
are equal to ASCII, which makes it easy to exchange plain-ASCII text, no
|
||||
matter what language is used. Thus you might see the right text even when the
|
||||
encoding was set wrong.
|
||||
@ -488,11 +488,11 @@ possible.
|
||||
==============================================================================
|
||||
4. Using a terminal *mbyte-terminal*
|
||||
|
||||
The GUI fully supports multi-byte characters. It is also possible in a
|
||||
The GUI fully supports multibyte characters. It is also possible in a
|
||||
terminal, if the terminal supports the same encoding that Vim uses. Thus this
|
||||
is less flexible.
|
||||
|
||||
For example, you can run Vim in a xterm with added multi-byte support and/or
|
||||
For example, you can run Vim in a xterm with added multibyte support and/or
|
||||
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
|
||||
(Enlightened terminal) and rxvt.
|
||||
|
||||
@ -544,7 +544,7 @@ For Vim you may need to set 'encoding' to "utf-8".
|
||||
5. Fonts on X11 *mbyte-fonts-X11*
|
||||
|
||||
Unfortunately, using fonts in X11 is complicated. The name of a single-byte
|
||||
font is a long string. For multi-byte fonts we need several of these...
|
||||
font is a long string. For multibyte fonts we need several of these...
|
||||
|
||||
Note: Most of this is no longer relevant for GTK+ 2. Selecting a font via
|
||||
its XLFD is not supported; see 'guifont' for an example of how to
|
||||
@ -610,7 +610,7 @@ written like:
|
||||
|
||||
X FONTSET
|
||||
*fontset* *xfontset*
|
||||
A single-byte charset is typically associated with one font. For multi-byte
|
||||
A single-byte charset is typically associated with one font. For multibyte
|
||||
charsets a combination of fonts is often used. This means that one group of
|
||||
characters are used from one font and another group from another font (which
|
||||
might be double wide). This collection of fonts is called a fontset.
|
||||
@ -889,7 +889,7 @@ input_server_name is your |IM-server| name (check your |IM-server|
|
||||
your_input_style is one of |OverTheSpot|, |OffTheSpot|, |Root|. See
|
||||
also |xim-input-style|.
|
||||
|
||||
*international may not necessary if you use X11R6.
|
||||
*international may not be necessary if you use X11R6.
|
||||
*.inputMethod and *.preeditType are optional if you use X11R6.
|
||||
|
||||
For example, when you are using kinput2 as |IM-server|, >
|
||||
@ -952,7 +952,7 @@ automatically.
|
||||
|
||||
This works on not only insert-normal mode, but also search-command input and
|
||||
replace mode.
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
|
||||
the different input methods or disable them temporarily.
|
||||
|
||||
WHAT IS IME
|
||||
@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
|
||||
==============================================================================
|
||||
12. Overview of options *mbyte-options*
|
||||
|
||||
These options are relevant for editing multi-byte files. Check the help in
|
||||
These options are relevant for editing multibyte files. Check the help in
|
||||
options.txt for detailed information.
|
||||
|
||||
'encoding' Encoding used for the keyboard and display. It is also the
|
||||
@ -1456,14 +1456,14 @@ options.txt for detailed information.
|
||||
languages where a sequence of characters can be broken
|
||||
anywhere.
|
||||
|
||||
'guifontset' The list of font names used for a multi-byte encoding. When
|
||||
'guifontset' The list of font names used for a multibyte encoding. When
|
||||
this option is not empty, it replaces 'guifont'.
|
||||
|
||||
'keymap' Specify the name of a keyboard mapping.
|
||||
|
||||
==============================================================================
|
||||
|
||||
Contributions specifically for the multi-byte features by:
|
||||
Contributions specifically for the multibyte features by:
|
||||
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||
SungHyun Nam <goweol@gmail.com>
|
||||
K.Nagano <nagano@atese.advantest.co.jp>
|
||||
|
@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Jan 01
|
||||
*message.txt* For Vim version 8.2. Last change: 2020 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -19,13 +19,14 @@ The ":messages" command can be used to view previously given messages. This
|
||||
is especially useful when messages have been overwritten or truncated. This
|
||||
depends on the 'shortmess' option.
|
||||
|
||||
:messages Show all messages.
|
||||
:mes[sages] Show all messages.
|
||||
|
||||
:{count}messages Show the {count} most recent messages.
|
||||
:{count}mes[sages] Show the {count} most recent messages.
|
||||
|
||||
:messages clear Clear all messages.
|
||||
:mes[sages] clear Clear all messages.
|
||||
|
||||
:{count}messages clear Clear messages, keeping only the {count} most
|
||||
:{count}mes[sages] clear
|
||||
Clear messages, keeping only the {count} most
|
||||
recent ones.
|
||||
|
||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
||||
|
@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16
|
||||
*mlang.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -7,7 +7,7 @@
|
||||
Multi-language features *multilang* *multi-lang*
|
||||
|
||||
This is about using messages and menus in various languages. For editing
|
||||
multi-byte text see |multibyte|.
|
||||
multibyte text see |multibyte|.
|
||||
|
||||
The basics are explained in the user manual: |usr_45.txt|.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.2. Last change: 2019 Nov 16
|
||||
*motion.txt* For Vim version 8.2. Last change: 2020 Aug 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -495,10 +495,11 @@ a set of section macros, specified by the pairs of characters in the
|
||||
'sections' option. The default is "SHNHH HUnhsh", which defines a section to
|
||||
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
|
||||
|
||||
The "]" and "[" commands stop at the '{' or '}' in the first column. This is
|
||||
useful to find the start or end of a function in a C program. Note that the
|
||||
first character of the command determines the search direction and the
|
||||
second character the type of brace found.
|
||||
The "]]" and "[[" commands stop at the '{' in the first column. This is
|
||||
useful to find the start of a function in a C program. To search for a '}' in
|
||||
the first column, the end of a C function, use "][" (forward) or "[]"
|
||||
(backward). Note that the first character of the command determines the
|
||||
search direction.
|
||||
|
||||
If your '{' or '}' are not in the first column, and you would like to use "[["
|
||||
and "]]" anyway, try these mappings: >
|
||||
@ -1142,7 +1143,7 @@ sequence of small changes in a line, for example "xxxxx", adds many positions
|
||||
to the change list. When 'textwidth' is zero 'wrapmargin' is used. When that
|
||||
also isn't set a fixed number of 79 is used. Detail: For the computations
|
||||
bytes are used, not characters, to avoid a speed penalty (this only matters
|
||||
for multi-byte encodings).
|
||||
for multibyte encodings).
|
||||
|
||||
Note that when text has been inserted or deleted the cursor position might be
|
||||
a bit different from the position of the change. Especially when lines have
|
||||
|
@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
|
||||
*netbeans.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@ -362,12 +362,12 @@ color Argument with either a decimal number, "none" (without the
|
||||
offset A number argument that indicates a byte position in a buffer.
|
||||
The first byte has offset zero. Line breaks are counted for
|
||||
how they appear in the file (CR/LF counts for two bytes).
|
||||
Note that a multi-byte character is counted for the number of
|
||||
Note that a multibyte character is counted for the number of
|
||||
bytes it takes.
|
||||
|
||||
lnum/col Argument with a line number and column number position. The
|
||||
line number starts with one, the column is the byte position,
|
||||
starting with zero. Note that a multi-byte character counts
|
||||
starting with zero. Note that a multibyte character counts
|
||||
for several columns.
|
||||
|
||||
pathname String argument: file name with full path.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*options.txt* For Vim version 8.2. Last change: 2020 Aug 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -701,7 +701,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"double": Use twice the width of ASCII characters.
|
||||
*E834* *E835*
|
||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
||||
contains a character that would be double width.
|
||||
|
||||
The values are overruled for characters specified with
|
||||
|setcellwidths()|.
|
||||
|
||||
There are a number of CJK fonts for which the width of glyphs for
|
||||
those characters are solely based on how many octets they take in
|
||||
@ -727,8 +729,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'antialias' 'anti' boolean (default: off)
|
||||
global
|
||||
{only available when compiled with GUI enabled
|
||||
on Mac OS X}
|
||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
||||
on macOS}
|
||||
This option only has an effect in the GUI version of Vim on macOS
|
||||
v10.2 or later. When on, Vim will use smooth ("antialiased") fonts,
|
||||
which can be easier to read at certain sizes on certain displays.
|
||||
Setting this option can sometimes cause problems if 'guifont' is set
|
||||
@ -1951,9 +1953,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not available when compiled without the |+textprop|
|
||||
or |+quickfix| feature}
|
||||
When 'completeopt' contains "popup" then this option is used for the
|
||||
properties of the info popup when it is created. You can also use
|
||||
|popup_findinfo()| and then set properties for an existing info popup
|
||||
with |popup_setoptions()|. See |complete-popup|.
|
||||
properties of the info popup when it is created. If an info popup
|
||||
window already exists it is closed, so that the option value is
|
||||
applied when it is created again.
|
||||
You can also use |popup_findinfo()| and then set properties for an
|
||||
existing info popup with |popup_setoptions()|. See |complete-popup|.
|
||||
|
||||
|
||||
*'concealcursor'* *'cocu'*
|
||||
@ -2713,6 +2717,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
||||
global
|
||||
List of directory names for the swap file, separated with commas.
|
||||
Recommended value: ".,~/vimswap//" - this will put the swap file next
|
||||
to the edited file if possible, and in your personal swap directory
|
||||
otherwise. Make sure "~/vimswap//" is only readable for you.
|
||||
|
||||
Possible items:
|
||||
- The swap file will be created in the first directory where this is
|
||||
possible.
|
||||
- Empty means that no swap file will be used (recovery is
|
||||
@ -2726,8 +2735,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
is replaced with the path name of the edited file.
|
||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
||||
the swap file name will be built from the complete path to the file
|
||||
with all path separators substituted to percent '%' signs. This will
|
||||
ensure file name uniqueness in the preserve directory.
|
||||
with all path separators replaced by percent '%' signs (including
|
||||
the colon following the drive letter on Win32). This will ensure
|
||||
file name uniqueness in the preserve directory.
|
||||
On Win32, it is also possible to end with "\\". However, When a
|
||||
separating comma is following, you must use "//", since "\\" will
|
||||
include the comma in the file name. Therefore it is recommended to
|
||||
@ -2747,9 +2757,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the same file twice will result in a warning. Using "/tmp" on Unix is
|
||||
discouraged: When the system crashes you lose the swap file.
|
||||
"/var/tmp" is often not cleared when rebooting, thus is a better
|
||||
choice than "/tmp". But it can contain a lot of files, your swap
|
||||
files get lost in the crowd. That is why a "tmp" directory in your
|
||||
home directory is tried first.
|
||||
choice than "/tmp". But others on the computer may be able to see the
|
||||
files, and it can contain a lot of files, your swap files get lost in
|
||||
the crowd. That is why a "tmp" directory in your home directory is
|
||||
tried first.
|
||||
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||
directories from the list. This avoids problems when a future version
|
||||
uses another default.
|
||||
@ -2824,7 +2835,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
This is specified with 'fileencoding'. The conversion is done with
|
||||
iconv() or as specified with 'charconvert'.
|
||||
|
||||
If you need to know whether 'encoding' is a multi-byte encoding, you
|
||||
If you need to know whether 'encoding' is a multibyte encoding, you
|
||||
can use: >
|
||||
if has("multi_byte_encoding")
|
||||
<
|
||||
@ -4133,7 +4144,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
This option specifies a function that will be called to
|
||||
activate or deactivate the Input Method.
|
||||
It is not used in the GUI.
|
||||
It is not used in the MS-Windows GUI version.
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
|
||||
@ -4242,7 +4253,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
It is not used in the GUI.
|
||||
It is not used in the MS-Windows GUI version.
|
||||
|
||||
Example: >
|
||||
function ImStatusFunc()
|
||||
@ -4538,7 +4549,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
set and to the Vim default value when 'compatible' is reset.
|
||||
|
||||
*'isprint'* *'isp'*
|
||||
'isprint' 'isp' string (default for Win32 and Macintosh:
|
||||
'isprint' 'isp' string (default for Win32 and macOS:
|
||||
"@,~-255"; otherwise: "@,161-255")
|
||||
global
|
||||
The characters given by this option are displayed directly on the
|
||||
@ -4915,18 +4926,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'macatsui'* *'nomacatsui'*
|
||||
'macatsui' boolean (default on)
|
||||
global
|
||||
{only available in Mac GUI version}
|
||||
This is a workaround for when drawing doesn't work properly. When set
|
||||
and compiled with multi-byte support ATSUI text drawing is used. When
|
||||
not set ATSUI text drawing is not used. Switch this option off when
|
||||
you experience drawing problems. In a future version the problems may
|
||||
be solved and this option becomes obsolete. Therefore use this method
|
||||
to unset it: >
|
||||
if exists('&macatsui')
|
||||
set nomacatsui
|
||||
endif
|
||||
< Another option to check if you have drawing problems is
|
||||
'termencoding'.
|
||||
{not supported}
|
||||
No longer supported, as the Mac OS X GUI code was removed.
|
||||
|
||||
*'magic'* *'nomagic'*
|
||||
'magic' boolean (default on)
|
||||
@ -5911,7 +5912,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
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.
|
||||
function and an example. The value can be the name of a function or a
|
||||
lambda.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@ -6188,7 +6190,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
screen. If the statusline is given by 'statusline' (i.e. not empty),
|
||||
this option takes precedence over 'ruler' and 'rulerformat'
|
||||
If the number of characters displayed is different from the number of
|
||||
bytes in the text (e.g., for a TAB or a multi-byte character), both
|
||||
bytes in the text (e.g., for a TAB or a multibyte character), both
|
||||
the text column (byte number) and the screen column are shown,
|
||||
separated with a dash.
|
||||
For an empty line "0-1" is shown.
|
||||
@ -6231,7 +6233,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
$VIMRUNTIME,
|
||||
$VIM/vimfiles/after,
|
||||
$HOME/vimfiles/after"
|
||||
Macintosh: "$VIM:vimfiles,
|
||||
macOS: "$VIM:vimfiles,
|
||||
$VIMRUNTIME,
|
||||
$VIM:vimfiles:after"
|
||||
Haiku: "$BE_USER_SETTINGS/vim,
|
||||
@ -6730,7 +6732,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
flag meaning when present ~
|
||||
f use "(3 of 5)" instead of "(file 3 of 5)"
|
||||
i use "[noeol]" instead of "[Incomplete last line]"
|
||||
l use "999L, 888C" instead of "999 lines, 888 characters"
|
||||
l use "999L, 888B" instead of "999 lines, 888 bytes"
|
||||
m use "[+]" instead of "[Modified]"
|
||||
n use "[New]" instead of "[New File]"
|
||||
r use "[RO]" instead of "[readonly]"
|
||||
@ -7708,7 +7710,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
on Amiga: "amiga"
|
||||
on Haiku: "xterm"
|
||||
on Mac: "mac-ansi"
|
||||
on MiNT: "vt52"
|
||||
on Unix: "ansi"
|
||||
on VMS: "ansi"
|
||||
on Win 32: "win32")
|
||||
@ -7736,14 +7737,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For further details see |arabic.txt|.
|
||||
|
||||
*'termencoding'* *'tenc'*
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with
|
||||
Macintosh GUI: "macroman")
|
||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8")
|
||||
global
|
||||
Encoding used for the terminal. This specifies what character
|
||||
encoding the keyboard produces and the display will understand. For
|
||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||
display). Except for the Mac when 'macatsui' is off, then
|
||||
'termencoding' should be "macroman".
|
||||
display).
|
||||
*E617* *E950*
|
||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
||||
@ -8366,7 +8365,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
>= 14 Anything pending in a ":finally" clause.
|
||||
>= 15 Every executed Ex command from a script (truncated at 200
|
||||
characters).
|
||||
>= 16 Every executed Ex command
|
||||
>= 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.
|
||||
@ -8389,7 +8388,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'viewdir' 'vdir' string (default for Amiga and Win32:
|
||||
"$VIM/vimfiles/view",
|
||||
for Unix: "~/.vim/view",
|
||||
for Macintosh: "$VIM:vimfiles:view"
|
||||
for macOS: "$VIM:vimfiles:view"
|
||||
for VMS: "sys$login:vimfiles/view")
|
||||
global
|
||||
{not available when compiled without the |+mksession|
|
||||
@ -8905,7 +8904,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{only available when compiled with the |terminal|
|
||||
feature on MS-Windows}
|
||||
Specifies the name of the winpty shared library, used for the
|
||||
|:terminal| command. The default depends on whether was build as a
|
||||
|:terminal| command. The default depends on whether Vim was built as a
|
||||
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||
a fallback.
|
||||
Environment variables are expanded |:set_env|.
|
||||
|
@ -1,39 +1,15 @@
|
||||
*os_mint.txt* For Vim version 8.2. Last change: 2005 Mar 29
|
||||
*os_mint.txt* For Vim version 8.2. Last change: 2020 Jul 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Jens M. Felderhoff
|
||||
|
||||
|
||||
*MiNT* *Atari*
|
||||
This file contains the particularities for the Atari MiNT version of Vim.
|
||||
The Atari MiNT support was removed with patch 8.2.1215. It probably didn't
|
||||
work at that time, since the code was old and not maintained.
|
||||
|
||||
For compiling Vim on the Atari running MiNT see "INSTALL" and "Makefile"
|
||||
in the src directory.
|
||||
|
||||
Vim for MiNT behaves almost exactly like the Unix version.
|
||||
The Unix behavior described in the documentation also refers to the
|
||||
MiNT version of Vim unless explicitly stated otherwise.
|
||||
Originally added by: Jens M. Felderhoff, e-mail: <jmf@infko.uni-koblenz.de>
|
||||
|
||||
For wildcard expansion of <~> (home directory) you need a shell that
|
||||
expands the tilde. The vanilla Bourne shell doesn't recognize it.
|
||||
With csh and ksh it should work OK.
|
||||
|
||||
The MiNT version of vim needs the termcap file /etc/termcap with the
|
||||
terminal capabilities of your terminal. Builtin termcaps are
|
||||
supported for the vt52 terminal. Termcap entries for the TOSWIN window
|
||||
manager and the virtual console terminals have been appended to the
|
||||
termcap file that comes with the Vim distribution.
|
||||
|
||||
If you should encounter problems with swapped <BS> and <Del> keys, see
|
||||
|:fixdel|.
|
||||
|
||||
Because terminal updating under MiNT is often slow (e.g. serial line
|
||||
terminal), the 'showcmd' and 'ruler' options are default off.
|
||||
If you have a fast terminal, try setting them on. You might
|
||||
also want to set 'ttyfast'.
|
||||
|
||||
Send bug reports to
|
||||
|
||||
Jens M. Felderhoff, e-mail: <jmf@infko.uni-koblenz.de>
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -30,8 +30,8 @@ can be changed at compile time.
|
||||
|
||||
Because terminal updating under Unix is often slow (e.g. serial line
|
||||
terminal, shell window in suntools), the 'showcmd' and 'ruler' options
|
||||
are default off. If you have a fast terminal, try setting them on. You might
|
||||
also want to set 'ttyfast'.
|
||||
are off by default. If you have a fast terminal, try setting them on. You
|
||||
might also want to set 'ttyfast'.
|
||||
|
||||
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
||||
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
||||
|
@ -88,7 +88,7 @@ VAX C compiler is not fully ANSI C compatible in pre-processor directives
|
||||
semantics, therefore you have to use a converter program that will do the lion
|
||||
part of the job. For detailed instructions read file INSTALLvms.txt
|
||||
|
||||
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
|
||||
MMS_VIM.EXE is built together with VIM.EXE, but for XXD.EXE you should
|
||||
change to a subdirectory and build it separately.
|
||||
|
||||
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -939,7 +939,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
These three can be used to match specific columns in a buffer or
|
||||
string. The "23" can be any column number. The first column is 1.
|
||||
Actually, the column is the byte number (thus it's not exactly right
|
||||
for multi-byte characters).
|
||||
for multibyte characters).
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
@ -994,7 +994,7 @@ Character classes:
|
||||
\p printable character (see 'isprint' option) */\p*
|
||||
\P like "\p", but excluding digits */\P*
|
||||
|
||||
NOTE: the above also work for multi-byte characters. The ones below only
|
||||
NOTE: the above also work for multibyte characters. The ones below only
|
||||
match ASCII characters, as indicated by the range.
|
||||
|
||||
*whitespace* *white-space*
|
||||
@ -1131,9 +1131,9 @@ x A single character, with no special meaning, matches itself
|
||||
a list of at least one character, each of which is either '-', '.',
|
||||
'/', alphabetic, numeric, '_' or '~'.
|
||||
These items only work for 8-bit characters, except [:lower:] and
|
||||
[:upper:] also work for multi-byte characters when using the new
|
||||
[:upper:] also work for multibyte characters when using the new
|
||||
regexp engine. See |two-engines|. In the future these items may
|
||||
work for multi-byte characters. For now, to get all "alpha"
|
||||
work for multibyte characters. For now, to get all "alpha"
|
||||
characters you can use: [[:lower:][:upper:]].
|
||||
|
||||
The "Func" column shows what library function is used. The
|
||||
@ -1257,8 +1257,8 @@ When working with expression evaluation, a <NL> character in the pattern
|
||||
matches a <NL> in the string. The use of "\n" (backslash n) to match a <NL>
|
||||
doesn't work there, it only works to match text in the buffer.
|
||||
|
||||
*pattern-multi-byte*
|
||||
Patterns will also work with multi-byte characters, mostly as you would
|
||||
*pattern-multi-byte* *pattern-multibyte*
|
||||
Patterns will also work with multibyte characters, mostly as you would
|
||||
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
||||
will probably never match.
|
||||
|
||||
@ -1279,7 +1279,7 @@ not match in "càt" (where the a has the composing character 0x0300), but
|
||||
0xe1, it does not have a compositing character). It does match "cat" (where
|
||||
the a is just an a).
|
||||
|
||||
When a composing character appears at the start of the pattern of after an
|
||||
When a composing character appears at the start of the pattern or after an
|
||||
item that doesn't include the composing character, a match is found at any
|
||||
character that includes this composing character.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Jan 14
|
||||
*pi_netrw.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@ -3054,7 +3054,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
||||
(see |netrw-c-tab|).
|
||||
|
||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
||||
including multi-byte characters' string
|
||||
including multibyte characters' string
|
||||
length. (thanks to N Weibull, T Mechelynck)
|
||||
=0: uses Vim's built-in strlen()
|
||||
=1: number of codepoints (Latin a + combining
|
||||
|
@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
|
||||
*popup.txt* For Vim version 8.2. Last change: 2020 Jul 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -74,9 +74,9 @@ wrapping, lines in the buffer. It can be limited with the "maxheight"
|
||||
property. You can use empty lines to increase the height or the "minheight"
|
||||
property.
|
||||
|
||||
The width of the window is normally equal to the longest line in the buffer.
|
||||
It can be limited with the "maxwidth" property. You can use spaces to
|
||||
increase the width or use the "minwidth" property.
|
||||
The width of the window is normally equal to the longest visible line in the
|
||||
buffer. It can be limited with the "maxwidth" property. You can use spaces
|
||||
to increase the width or use the "minwidth" property.
|
||||
|
||||
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
||||
if there is not enough space then the window is shifted left in order to
|
||||
|
@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2019 Dec 17
|
||||
*print.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -114,7 +114,7 @@ If 'printencoding' is empty or Vim cannot find the file then it will use
|
||||
encoding file. If Vim is unable to find a character encoding file then it
|
||||
will use the "latin1" print character encoding file.
|
||||
|
||||
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
|
||||
When 'encoding' is set to a multibyte encoding, Vim will try to convert
|
||||
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||
then the conversion will be to latin1). Conversion to a printing encoding
|
||||
other than latin1 will require Vim to be compiled with the |+iconv| feature.
|
||||
@ -269,7 +269,7 @@ Japanese text you would do the following; >
|
||||
:set printmbcharset=JIS_X_1983
|
||||
|
||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
||||
specify a custom multi-byte character set and no check will be made that it is
|
||||
specify a custom multibyte character set and no check will be made that it is
|
||||
compatible with the value for 'printencoding'. Vim will look for a file
|
||||
defining the character set in the "print" directory in 'runtimepath'.
|
||||
|
||||
@ -304,7 +304,7 @@ printing of characters in the ASCII code range.
|
||||
a:yes Use ASCII character set for codes in the ASCII
|
||||
a:no (default) code range.
|
||||
|
||||
The following is an example of specifying two multi-byte fonts, one for normal
|
||||
The following is an example of specifying two multibyte fonts, one for normal
|
||||
and italic printing and one for bold and bold-italic printing, and using
|
||||
Courier to print codes in the ASCII code range but using the national
|
||||
character set: >
|
||||
@ -420,10 +420,10 @@ There are currently a number of limitations with PostScript printing:
|
||||
possible to get all the characters in an encoding to print by installing a
|
||||
new version of the Courier font family.
|
||||
|
||||
- Multi-byte support - Currently Vim will try to convert multi-byte characters
|
||||
- Multi-byte support - Currently Vim will try to convert multibyte characters
|
||||
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||
empty). Any characters that are not successfully converted are shown as
|
||||
unknown characters. Printing will fail if Vim cannot convert the multi-byte
|
||||
unknown characters. Printing will fail if Vim cannot convert the multibyte
|
||||
to the 8-bit encoding.
|
||||
|
||||
==============================================================================
|
||||
@ -508,7 +508,7 @@ print ASCII text using the national character set you may see some unexpected
|
||||
characters. If you want true ASCII code printing then you need to configure
|
||||
Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
|
||||
|
||||
It is possible to define your own multi-byte character set although this
|
||||
It is possible to define your own multibyte character set although this
|
||||
should not be attempted lightly. A discussion on the process if beyond the
|
||||
scope of these help files. You can find details on CMap (character map) files
|
||||
in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0',
|
||||
|
@ -1705,7 +1705,7 @@ special problem here is that it doesn't print information on leaving the
|
||||
directory and that it doesn't print the absolute path.
|
||||
|
||||
To solve the problem with relative paths and missing "leave directory"
|
||||
messages Vim uses following algorithm:
|
||||
messages Vim uses the following algorithm:
|
||||
|
||||
1) Check if the given directory is a subdirectory of the current directory.
|
||||
If this is true, store it as the current directory.
|
||||
@ -1938,7 +1938,7 @@ list window is:
|
||||
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 some quickfix/location lists, the displayed text needs 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
|
||||
@ -1964,7 +1964,10 @@ The function should return a single line of text to display in the quickfix
|
||||
window for each entry from start_idx to end_idx. The function can obtain
|
||||
information about the entries using the |getqflist()| function and specifying
|
||||
the quickfix list identifier "id". For a location list, getloclist() function
|
||||
can be used with the 'winid' argument.
|
||||
can be used with the 'winid' argument. If an empty list is returned, then the
|
||||
default format is used to display all the entries. If an item in the returned
|
||||
list is an empty string, then the default format is used to display the
|
||||
corresponding entry.
|
||||
|
||||
If a quickfix or location list specific customization is needed, then the
|
||||
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|
||||
|
@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*quickref.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
|
||||
'eventignore' 'ei' autocommand events that are ignored
|
||||
'expandtab' 'et' use spaces when <Tab> is inserted
|
||||
'exrc' 'ex' read .vimrc and .exrc in the current directory
|
||||
'fileencoding' 'fenc' file encoding for multi-byte text
|
||||
'fileencoding' 'fenc' file encoding for multibyte text
|
||||
'fileencodings' 'fencs' automatically detected character encodings
|
||||
'fileformat' 'ff' file format used for file I/O
|
||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
||||
@ -728,7 +728,7 @@ Short explanation of each option: *option-list*
|
||||
'grepprg' 'gp' program to use for ":grep"
|
||||
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
||||
'guifont' 'gfn' GUI: Name(s) of font(s) to be used
|
||||
'guifontset' 'gfs' GUI: Names of multi-byte fonts to be used
|
||||
'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
|
||||
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||
'guioptions' 'go' GUI: Which components and options are used
|
||||
|
@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
|
||||
*recover.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -64,8 +64,8 @@ Disadvantages:
|
||||
directories (although Vim tries to avoid that by comparing the path name).
|
||||
This will result in bogus ATTENTION warning messages.
|
||||
- When you use your home directory, and somebody else tries to edit the same
|
||||
file, he will not see your swap file and will not get the ATTENTION warning
|
||||
message.
|
||||
file, that user will not see your swap file and will not get the ATTENTION
|
||||
warning message.
|
||||
On the Amiga you can also use a recoverable ram disk, but there is no 100%
|
||||
guarantee that this works. Putting swap files in a normal ram disk (like RAM:
|
||||
on the Amiga) or in a place that is cleared when rebooting (like /tmp on Unix)
|
||||
|
@ -179,7 +179,7 @@ name on the 'VimRegistry' property on the root window.
|
||||
|
||||
A non GUI Vim with access to the X11 display (|xterm-clipboard| enabled), can
|
||||
also act as a command server if a server name is explicitly given with the
|
||||
--servername argument, or when Vim was build with the |+autoservername|
|
||||
--servername argument, or when Vim was built with the |+autoservername|
|
||||
feature.
|
||||
|
||||
An empty --servername argument will cause the command server to be disabled.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -642,8 +642,8 @@ disallowed though.
|
||||
This assumes you write one or more plugins that you distribute as a package.
|
||||
|
||||
If you have two unrelated plugins you would use two packages, so that Vim
|
||||
users can chose what they include or not. Or you can decide to use one
|
||||
package with optional plugins, and tell the user to add the ones he wants with
|
||||
users can choose what they include or not. Or you can decide to use one
|
||||
package with optional plugins, and tell the user to add the preferred ones with
|
||||
`:packadd`.
|
||||
|
||||
Decide how you want to distribute the package. You can create an archive or
|
||||
@ -679,7 +679,7 @@ You could add this packadd command in one of your plugins, to be executed when
|
||||
the optional plugin is needed.
|
||||
|
||||
Run the `:helptags` command to generate the doc/tags file. Including this
|
||||
generated file in the package means that the user can drop the package in his
|
||||
generated file in the package means that the user can drop the package in the
|
||||
pack directory and the help command works right away. Don't forget to re-run
|
||||
the command after changing the plugin help: >
|
||||
:helptags path/start/foobar/doc
|
||||
|
@ -69,7 +69,7 @@ o Invocations
|
||||
+ 'rightleft' ('rl') sets window orientation to right-to-left.
|
||||
+ 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages,
|
||||
allows one to remove a composing character which gets superimposed
|
||||
on those that proceeded them (some languages require this).
|
||||
on those that preceded them (some languages require this).
|
||||
+ 'rightleftcmd' ('rlc') sets the command-line within certain modes
|
||||
(such as search) to be utilized in right-to-left orientation as well.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.2. Last change: 2019 Nov 30
|
||||
*sign.txt* For Vim version 8.2. Last change: 2020 Aug 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@ -78,13 +78,17 @@ used by popup windows where 'cursorline' is set.
|
||||
*sign-priority*
|
||||
Each placed sign is assigned a priority value. When multiple signs are placed
|
||||
on the same line, the attributes of the sign with the highest priority is used
|
||||
independent of the sign group. The default priority for a sign is 10. The
|
||||
independently of the sign group. The default priority for a sign is 10. The
|
||||
priority is assigned at the time of placing a sign.
|
||||
|
||||
When the line on which the sign is placed is deleted, the sign is moved to the
|
||||
next line (or the last line of the buffer, if there is no next line). When
|
||||
the delete is undone the sign does not move back.
|
||||
|
||||
When a sign with line highlighting and 'cursorline' highlighting are both
|
||||
present, if the priority is 100 or more then the sign highlighting takes
|
||||
precedence, otherwise the 'cursorline' highlighting.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *sign-commands* *:sig* *:sign*
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Jun 10
|
||||
*spell.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -653,11 +653,12 @@ ask you where to write the file (there must be a writable directory in
|
||||
'runtimepath' for this).
|
||||
|
||||
The plugin has a default place where to look for spell files, on the Vim ftp
|
||||
server. If you want to use another location or another protocol, set the
|
||||
g:spellfile_URL variable to the directory that holds the spell files. The
|
||||
|netrw| plugin is used for getting the file, look there for the specific
|
||||
syntax of the URL. Example: >
|
||||
let g:spellfile_URL = 'http://ftp.vim.org/vim/runtime/spell'
|
||||
server. The protocol used is SSL (https://) for security. If you want to use
|
||||
another location or another protocol, set the g:spellfile_URL variable to the
|
||||
directory that holds the spell files. You can use http:// or ftp://, but you
|
||||
are taking a security risk then. The |netrw| plugin is used for getting the
|
||||
file, look there for the specific syntax of the URL. Example: >
|
||||
let g:spellfile_URL = 'https://ftp.nluug.nl/vim/runtime/spell'
|
||||
You may need to escape special characters.
|
||||
|
||||
The plugin will only ask about downloading a language once. If you want to
|
||||
@ -886,7 +887,7 @@ time ":mkspell" is used. Vim will then convert everything to 'encoding' and
|
||||
generate a spell file for 'encoding'. If some of the used characters to not
|
||||
fit in 'encoding' you will get an error message.
|
||||
*spell-affix-mbyte*
|
||||
When using a multi-byte encoding it's possible to use more different affix
|
||||
When using a multibyte encoding it's possible to use more different affix
|
||||
flags. But Myspell doesn't support that, thus you may not want to use it
|
||||
anyway. For compatibility use an 8-bit encoding.
|
||||
|
||||
@ -1444,7 +1445,7 @@ are spelling mistakes this may not be quite right.
|
||||
Common words can be specified with the COMMON item. This will give better
|
||||
suggestions when editing a short file. Example:
|
||||
|
||||
COMMON the of to and a in is it you that he was for on are ~
|
||||
COMMON the of to and a in is it you that he she was for on are ~
|
||||
|
||||
The words must be separated by white space, up to 25 per line.
|
||||
When multiple regions are specified in a ":mkspell" command the common words
|
||||
|
@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Jun 01
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1403,7 +1403,7 @@ to your startup file.
|
||||
|
||||
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
|
||||
|
||||
Two syntax highlighting files exists for Euphoria. One for Euphoria
|
||||
Two syntax highlighting files exist for Euphoria. One for Euphoria
|
||||
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||
Euphoria version 4.0.5 or later.
|
||||
|
||||
@ -1937,7 +1937,7 @@ new highlightings for the following groups.:
|
||||
Debug, DebugSpecial, DebugString, DebugBoolean, DebugType
|
||||
which are used for the statement itself, special characters used in debug
|
||||
strings, strings, boolean constants and types (this, super) respectively. I
|
||||
have opted to chose another background for those statements.
|
||||
have opted to choose another background for those statements.
|
||||
|
||||
Javadoc is a program that takes special comments out of Java program files and
|
||||
creates HTML pages. The standard configuration will highlight this HTML code
|
||||
@ -3648,7 +3648,7 @@ DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||
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
|
||||
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.
|
||||
@ -3795,9 +3795,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
||||
[keepend]
|
||||
[extend]
|
||||
[excludenl]
|
||||
start={start_pattern} ..
|
||||
[skip={skip_pattern}]
|
||||
end={end_pattern} ..
|
||||
start={start-pattern} ..
|
||||
[skip={skip-pattern}]
|
||||
end={end-pattern} ..
|
||||
[{options}]
|
||||
|
||||
This defines one region. It may span several lines.
|
||||
@ -3819,12 +3819,12 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
||||
extend a containing match or item. Only
|
||||
useful for end patterns. Must be given before
|
||||
the patterns it applies to. |:syn-excludenl|
|
||||
start={start_pattern} The search pattern that defines the start of
|
||||
start={start-pattern} The search pattern that defines the start of
|
||||
the region. See |:syn-pattern| below.
|
||||
skip={skip_pattern} The search pattern that defines text inside
|
||||
skip={skip-pattern} The search pattern that defines text inside
|
||||
the region where not to look for the end
|
||||
pattern. See |:syn-pattern| below.
|
||||
end={end_pattern} The search pattern that defines the end of
|
||||
end={end-pattern} The search pattern that defines the end of
|
||||
the region. See |:syn-pattern| below.
|
||||
|
||||
Example: >
|
||||
@ -4348,7 +4348,7 @@ Notes:
|
||||
- A negative offset for an end pattern may not always work, because the end
|
||||
pattern may be detected when the highlighting should already have stopped.
|
||||
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
|
||||
This didn't work well for multi-byte characters, so it was changed with the
|
||||
This didn't work well for multibyte characters, so it was changed with the
|
||||
Vim 7.2 release.
|
||||
- The start of a match cannot be in a line other than where the pattern
|
||||
matched. This doesn't work: "a\nb"ms=e. You can make the highlighting
|
||||
@ -5018,7 +5018,7 @@ ctermul={color-nr} *highlight-ctermul*
|
||||
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
|
||||
command is given. If the Normal group colors are changed later, the
|
||||
"fg" and "bg" colors will not be adjusted.
|
||||
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Feb 06
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -142,6 +142,7 @@ something else.
|
||||
:tabclose + " close the next tab page
|
||||
:tabclose 3 " close the third tab page
|
||||
:tabclose $ " close the last tab page
|
||||
:tabclose # " close the last accessed tab page
|
||||
<
|
||||
*:tabo* *:tabonly*
|
||||
:tabo[nly][!] Close all other tab pages.
|
||||
@ -170,6 +171,8 @@ something else.
|
||||
" one
|
||||
:tabonly 1 " close all tab pages except the first one
|
||||
:tabonly $ " close all tab pages except the last one
|
||||
:tabonly # " close all tab pages except the last
|
||||
" accessed one
|
||||
|
||||
|
||||
SWITCHING TO ANOTHER TAB PAGE:
|
||||
@ -192,6 +195,7 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
||||
:+2tabnext " go to the two next tab page
|
||||
:1tabnext " go to the first tab page
|
||||
:$tabnext " go to the last tab page
|
||||
:tabnext # " go to the last accessed tab page
|
||||
:tabnext $ " as above
|
||||
:tabnext - " go to the previous tab page
|
||||
:tabnext -1 " as above
|
||||
@ -221,6 +225,8 @@ gT Go to the previous tab page. Wraps around from the first one
|
||||
*:tabl* *:tablast*
|
||||
:tabl[ast] Go to the last tab page.
|
||||
|
||||
*g<Tab>* *CTRL-W_g<Tab>* *<C-Tab>*
|
||||
g<Tab> Go to the last accessed tab page.
|
||||
|
||||
Other commands:
|
||||
*:tabs*
|
||||
@ -253,6 +259,8 @@ REORDERING TAB PAGES:
|
||||
:tabmove " move the tab page to the last
|
||||
:$tabmove " as above
|
||||
:tabmove $ " as above
|
||||
:tabmove # " move the tab page after the last accessed
|
||||
" tab page
|
||||
|
||||
:tabm[ove] +[N]
|
||||
:tabm[ove] -[N]
|
||||
|
@ -1979,6 +1979,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:<sfile> cmdline.txt /*:<sfile>*
|
||||
:<sflnum> cmdline.txt /*:<sflnum>*
|
||||
:<slnum> cmdline.txt /*:<slnum>*
|
||||
:<stack> cmdline.txt /*:<stack>*
|
||||
:= various.txt /*:=*
|
||||
:> change.txt /*:>*
|
||||
:? cmdline.txt /*:?*
|
||||
@ -3496,6 +3497,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<C-ScrollWheelLeft> scroll.txt /*<C-ScrollWheelLeft>*
|
||||
<C-ScrollWheelRight> scroll.txt /*<C-ScrollWheelRight>*
|
||||
<C-ScrollWheelUp> scroll.txt /*<C-ScrollWheelUp>*
|
||||
<C-Tab> tabpage.txt /*<C-Tab>*
|
||||
<CR> motion.txt /*<CR>*
|
||||
<CSI> intro.txt /*<CSI>*
|
||||
<Char-> map.txt /*<Char->*
|
||||
@ -3647,6 +3649,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<sfile> cmdline.txt /*<sfile>*
|
||||
<sflnum> cmdline.txt /*<sflnum>*
|
||||
<slnum> cmdline.txt /*<slnum>*
|
||||
<stack> cmdline.txt /*<stack>*
|
||||
<xCSI> intro.txt /*<xCSI>*
|
||||
<xDown> term.txt /*<xDown>*
|
||||
<xEnd> term.txt /*<xEnd>*
|
||||
@ -3814,6 +3817,7 @@ CTRL-W_bar windows.txt /*CTRL-W_bar*
|
||||
CTRL-W_c windows.txt /*CTRL-W_c*
|
||||
CTRL-W_d tagsrch.txt /*CTRL-W_d*
|
||||
CTRL-W_f windows.txt /*CTRL-W_f*
|
||||
CTRL-W_g<Tab> tabpage.txt /*CTRL-W_g<Tab>*
|
||||
CTRL-W_gF windows.txt /*CTRL-W_gF*
|
||||
CTRL-W_gT windows.txt /*CTRL-W_gT*
|
||||
CTRL-W_g] windows.txt /*CTRL-W_g]*
|
||||
@ -3890,17 +3894,26 @@ E10 message.txt /*E10*
|
||||
E100 diff.txt /*E100*
|
||||
E101 diff.txt /*E101*
|
||||
E102 diff.txt /*E102*
|
||||
E1023 vim9.txt /*E1023*
|
||||
E1024 vim9.txt /*E1024*
|
||||
E103 diff.txt /*E103*
|
||||
E104 digraph.txt /*E104*
|
||||
E1042 vim9.txt /*E1042*
|
||||
E105 mbyte.txt /*E105*
|
||||
E1050 vim9.txt /*E1050*
|
||||
E107 eval.txt /*E107*
|
||||
E108 eval.txt /*E108*
|
||||
E109 eval.txt /*E109*
|
||||
E1092 vim9.txt /*E1092*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E11 cmdline.txt /*E11*
|
||||
E110 eval.txt /*E110*
|
||||
E1109 eval.txt /*E1109*
|
||||
E111 eval.txt /*E111*
|
||||
E1110 eval.txt /*E1110*
|
||||
E1111 eval.txt /*E1111*
|
||||
E1112 eval.txt /*E1112*
|
||||
E1113 eval.txt /*E1113*
|
||||
E112 eval.txt /*E112*
|
||||
E113 eval.txt /*E113*
|
||||
E114 eval.txt /*E114*
|
||||
@ -4431,6 +4444,7 @@ E607 eval.txt /*E607*
|
||||
E608 eval.txt /*E608*
|
||||
E609 if_cscop.txt /*E609*
|
||||
E61 pattern.txt /*E61*
|
||||
E610 editing.txt /*E610*
|
||||
E612 sign.txt /*E612*
|
||||
E613 print.txt /*E613*
|
||||
E614 editing.txt /*E614*
|
||||
@ -4698,6 +4712,7 @@ E855 autocmd.txt /*E855*
|
||||
E858 eval.txt /*E858*
|
||||
E859 eval.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
E860 textprop.txt /*E860*
|
||||
E861 popup.txt /*E861*
|
||||
E862 eval.txt /*E862*
|
||||
E863 popup.txt /*E863*
|
||||
@ -5715,6 +5730,7 @@ char2nr() eval.txt /*char2nr()*
|
||||
characterwise motion.txt /*characterwise*
|
||||
characterwise-register change.txt /*characterwise-register*
|
||||
characterwise-visual visual.txt /*characterwise-visual*
|
||||
charclass() eval.txt /*charclass()*
|
||||
charconvert_from-variable eval.txt /*charconvert_from-variable*
|
||||
charconvert_to-variable eval.txt /*charconvert_to-variable*
|
||||
charity uganda.txt /*charity*
|
||||
@ -5739,6 +5755,7 @@ cino-J indent.txt /*cino-J*
|
||||
cino-L indent.txt /*cino-L*
|
||||
cino-M indent.txt /*cino-M*
|
||||
cino-N indent.txt /*cino-N*
|
||||
cino-P indent.txt /*cino-P*
|
||||
cino-U indent.txt /*cino-U*
|
||||
cino-W indent.txt /*cino-W*
|
||||
cino-^ indent.txt /*cino-^*
|
||||
@ -6857,6 +6874,7 @@ g<End> motion.txt /*g<End>*
|
||||
g<Home> motion.txt /*g<Home>*
|
||||
g<LeftMouse> tagsrch.txt /*g<LeftMouse>*
|
||||
g<RightMouse> tagsrch.txt /*g<RightMouse>*
|
||||
g<Tab> tabpage.txt /*g<Tab>*
|
||||
g<Up> motion.txt /*g<Up>*
|
||||
g? change.txt /*g?*
|
||||
g?? change.txt /*g??*
|
||||
@ -6940,6 +6958,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
||||
gettabvar() eval.txt /*gettabvar()*
|
||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||
gettagstack() eval.txt /*gettagstack()*
|
||||
gettext() eval.txt /*gettext()*
|
||||
getwininfo() eval.txt /*getwininfo()*
|
||||
getwinpos() eval.txt /*getwinpos()*
|
||||
getwinposx() eval.txt /*getwinposx()*
|
||||
@ -8145,6 +8164,7 @@ new-more-highlighting version7.txt /*new-more-highlighting*
|
||||
new-more-unicode version7.txt /*new-more-unicode*
|
||||
new-multi-byte version5.txt /*new-multi-byte*
|
||||
new-multi-lang version6.txt /*new-multi-lang*
|
||||
new-multibyte version5.txt /*new-multibyte*
|
||||
new-netrw-explore version7.txt /*new-netrw-explore*
|
||||
new-network-files version6.txt /*new-network-files*
|
||||
new-omni-completion version7.txt /*new-omni-completion*
|
||||
@ -8158,7 +8178,7 @@ new-persistent-undo version7.txt /*new-persistent-undo*
|
||||
new-plugins version6.txt /*new-plugins*
|
||||
new-popup-window version8.txt /*new-popup-window*
|
||||
new-posix version7.txt /*new-posix*
|
||||
new-print-multi-byte version7.txt /*new-print-multi-byte*
|
||||
new-print-multibyte version7.txt /*new-print-multibyte*
|
||||
new-printing version6.txt /*new-printing*
|
||||
new-python3 version7.txt /*new-python3*
|
||||
new-regexp-engine version7.txt /*new-regexp-engine*
|
||||
@ -8196,6 +8216,7 @@ no_plugin_maps filetype.txt /*no_plugin_maps*
|
||||
nocombine syntax.txt /*nocombine*
|
||||
non-greedy pattern.txt /*non-greedy*
|
||||
non-zero-arg eval.txt /*non-zero-arg*
|
||||
none-function_argument eval.txt /*none-function_argument*
|
||||
none-variable eval.txt /*none-variable*
|
||||
normal-index index.txt /*normal-index*
|
||||
not-compatible usr_01.txt /*not-compatible*
|
||||
@ -8293,12 +8314,14 @@ pascal.vim syntax.txt /*pascal.vim*
|
||||
patches-8 version8.txt /*patches-8*
|
||||
patches-8.1 version8.txt /*patches-8.1*
|
||||
patches-8.2 version8.txt /*patches-8.2*
|
||||
patches-after-8.2 version8.txt /*patches-after-8.2*
|
||||
pathshorten() eval.txt /*pathshorten()*
|
||||
pattern pattern.txt /*pattern*
|
||||
pattern-atoms pattern.txt /*pattern-atoms*
|
||||
pattern-delimiter change.txt /*pattern-delimiter*
|
||||
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
||||
pattern-multi-items pattern.txt /*pattern-multi-items*
|
||||
pattern-multibyte pattern.txt /*pattern-multibyte*
|
||||
pattern-overview pattern.txt /*pattern-overview*
|
||||
pattern-searches pattern.txt /*pattern-searches*
|
||||
pattern.txt pattern.txt /*pattern.txt*
|
||||
@ -8810,6 +8833,7 @@ set-option options.txt /*set-option*
|
||||
set-spc-auto spell.txt /*set-spc-auto*
|
||||
setbufline() eval.txt /*setbufline()*
|
||||
setbufvar() eval.txt /*setbufvar()*
|
||||
setcellwidths() eval.txt /*setcellwidths()*
|
||||
setcharsearch() eval.txt /*setcharsearch()*
|
||||
setcmdpos() eval.txt /*setcmdpos()*
|
||||
setenv() eval.txt /*setenv()*
|
||||
@ -8819,7 +8843,9 @@ setloclist() eval.txt /*setloclist()*
|
||||
setmatches() eval.txt /*setmatches()*
|
||||
setpos() eval.txt /*setpos()*
|
||||
setqflist() eval.txt /*setqflist()*
|
||||
setqflist-action eval.txt /*setqflist-action*
|
||||
setqflist-examples quickfix.txt /*setqflist-examples*
|
||||
setqflist-what eval.txt /*setqflist-what*
|
||||
setreg() eval.txt /*setreg()*
|
||||
settabvar() eval.txt /*settabvar()*
|
||||
settabwinvar() eval.txt /*settabwinvar()*
|
||||
@ -9629,6 +9655,8 @@ tutor usr_01.txt /*tutor*
|
||||
twice if_cscop.txt /*twice*
|
||||
two-engines pattern.txt /*two-engines*
|
||||
type() eval.txt /*type()*
|
||||
type-casting vim9.txt /*type-casting*
|
||||
type-checking vim9.txt /*type-checking*
|
||||
type-inference vim9.txt /*type-inference*
|
||||
type-mistakes tips.txt /*type-mistakes*
|
||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||
@ -9925,6 +9953,7 @@ valgrind debug.txt /*valgrind*
|
||||
values() eval.txt /*values()*
|
||||
var-functions usr_41.txt /*var-functions*
|
||||
variable-scope eval.txt /*variable-scope*
|
||||
variable-types vim9.txt /*variable-types*
|
||||
variables eval.txt /*variables*
|
||||
various various.txt /*various*
|
||||
various-cmds various.txt /*various-cmds*
|
||||
@ -10002,6 +10031,7 @@ vim9-declaration vim9.txt /*vim9-declaration*
|
||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||
vim9-differences vim9.txt /*vim9-differences*
|
||||
vim9-export vim9.txt /*vim9-export*
|
||||
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||
vim9-import vim9.txt /*vim9-import*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-scopes vim9.txt /*vim9-scopes*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Jun 15
|
||||
*testing.txt* For Vim version 8.2. Last change: 2020 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -20,18 +20,17 @@ and for testing plugins.
|
||||
Vim can be tested after building it, usually with "make test".
|
||||
The tests are located in the directory "src/testdir".
|
||||
|
||||
There are several types of tests added over time:
|
||||
test33.in oldest, don't add any of these
|
||||
test_something.in old style tests
|
||||
There are two types of tests added over time:
|
||||
test20.in oldest, only for tiny and small builds
|
||||
test_something.vim new style tests
|
||||
|
||||
*new-style-testing*
|
||||
New tests should be added as new style tests. These use functions such as
|
||||
|assert_equal()| to keep the test commands and the expected result in one
|
||||
place.
|
||||
New tests should be added as new style tests. The test scripts are named
|
||||
test_<feature>.vim (replace <feature> with the feature under test). These use
|
||||
functions such as |assert_equal()| to keep the test commands and the expected
|
||||
result in one place.
|
||||
*old-style-testing*
|
||||
In some cases an old style test needs to be used. E.g. when testing Vim
|
||||
without the |+eval| feature.
|
||||
These tests are used only for testing Vim without the |+eval| feature.
|
||||
|
||||
Find more information in the file src/testdir/README.txt.
|
||||
|
||||
@ -264,7 +263,8 @@ assert_equal({expected}, {actual} [, {msg}])
|
||||
< Will result in a string to be added to |v:errors|:
|
||||
test.vim line 12: Expected 'foo' but got 'bar' ~
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
mylist->assert_equal([1, 2, 3])
|
||||
|
||||
< *assert_equalfile()*
|
||||
@ -291,18 +291,42 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
||||
catch
|
||||
call assert_exception('E492:')
|
||||
endtry
|
||||
|
||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||
<
|
||||
*assert_fails()*
|
||||
assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error. Also see |assert-return|.
|
||||
When {error} is given it must match in |v:errmsg|.
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
|
||||
When {error} is a string it must be found literally in the
|
||||
first reported error. Most often this will be the error code,
|
||||
including the colon, e.g. "E123:". >
|
||||
assert_fails('bad cmd', 'E987:')
|
||||
<
|
||||
When {error} is a |List| with one or two strings, these are
|
||||
used as patterns. The first pattern is matched against the
|
||||
first reported error: >
|
||||
assert_fails('cmd', ['E987:.*expected bool'])
|
||||
< The second pattern, if present, is matched against the last
|
||||
reported error. To only match the last error use an empty
|
||||
string for the first error: >
|
||||
assert_fails('cmd', ['', 'E987:'])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
Note that beeping is not considered an error, and some failing
|
||||
commands only beep. Use |assert_beeps()| for those.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCmd()->assert_fails('E99:')
|
||||
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
assert_false({actual} [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|.
|
||||
Also see |assert-return|.
|
||||
|
@ -220,7 +220,7 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->prop_list()
|
||||
<
|
||||
*prop_remove()* *E968*
|
||||
*prop_remove()* *E968* *E860*
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
Remove a matching text property from line {lnum}. When
|
||||
{lnum-end} is given, remove matching text properties from line
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Jun 21
|
||||
*todo.txt* For Vim version 8.2. Last change: 2020 Aug 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,23 +38,47 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Include src/po/vim.pot ?
|
||||
Why does Test_invalid_sid() not work in the GUI?
|
||||
|
||||
See if resizing a terminal can be fixed.
|
||||
|
||||
Vim9 script:
|
||||
Making everything work:
|
||||
- Error for "g:var: string = 'value'"
|
||||
- Make func()->append('$') work - value is last argument, not first. #6305
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- more return types depending on the first argument, like sort().
|
||||
- Check that when sourcing a Vim9 script, only the global items can be used.
|
||||
- Make "true" and "false" work in vim9script
|
||||
- Check :const works the same as in legacy script.
|
||||
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||
- :put with a "=" register argument doesn't work, need to find the expression
|
||||
and compile it. (#6397)
|
||||
- At the Vim9 script level, keep script variables local to the block they are
|
||||
declared in? Need to remember what variables were declared and delete them
|
||||
when leaving the block.
|
||||
- Implement { } block at the script level.
|
||||
- Use the line number argument with assert_fails() in many more tests.
|
||||
- In autocmd: use legacy syntax, not whatever the current script uses?
|
||||
- need to check type when a declaration specifies a type: #6507
|
||||
let nr: number = 'asdf'
|
||||
- Make sure that in vim9script a function call without namespace only finds
|
||||
the script-local function, not a global one.
|
||||
- Make sure that where a callback is expected a function can be used (without
|
||||
quotes). E.g. sort() and map(). Also at the script level.
|
||||
- Make map() give an error if the resulting type is wrong.
|
||||
Add mapnew() to create a new List/Dict for the result, which can have a
|
||||
different value type.
|
||||
- When defining an :autocmd or :command, how to specify using Vim9 syntax?
|
||||
- always do this when defined in a Vim9 script
|
||||
- add some command modifier.
|
||||
- For an :autocmd and :command argument, if a following line starts with "|"
|
||||
append it. It's like line continuation. (#6702)
|
||||
- Implement "export {one, two three}".
|
||||
- ISN_CHECKTYPE could use check_argtype()
|
||||
- give error for variable name:
|
||||
let p = function('NoSuchFunc')
|
||||
- Give runtime error if function argument is wrong.
|
||||
def Increment(nr: number)
|
||||
range(3)->Increment()
|
||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
||||
- Expand `=expr` in :mkspell
|
||||
- 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.
|
||||
- Support passing v:none to use the default argument value. (#6504)
|
||||
- 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.
|
||||
@ -64,19 +88,17 @@ Making everything work:
|
||||
ret[i] = string(i)
|
||||
- Appending to dict item doesn't work:
|
||||
let d[i] ..= value
|
||||
- Using ".." at script level doesn't convert arguments to a string.
|
||||
- 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
|
||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||
- memory leaks in test_vim9_expr
|
||||
- memory leaks in test_vim9_script
|
||||
- memory leaks in test_vim9_cmd
|
||||
- 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?
|
||||
- Implement "as Name" in "import Item as Name from ..."
|
||||
- Disallow unlet for local/script/imported vars
|
||||
- Make "++nr" work.
|
||||
@ -87,11 +109,10 @@ Making everything work:
|
||||
- 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".
|
||||
- Implement command modifiers, such as "silent". (#6530)
|
||||
New syntax and functionality:
|
||||
Improve error checking:
|
||||
- "echo Func()" is an error if Func() does not return anything.
|
||||
Test:
|
||||
- Using a Vim9 autoload script (functions must be global).
|
||||
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.
|
||||
@ -104,8 +125,6 @@ Also:
|
||||
- Test each level of expressions properly, with type checking
|
||||
- Test try/catch and throw better, also nested.
|
||||
Test return inside try/finally jumps to finally and then returns.
|
||||
- call autoload function.
|
||||
- Implement more expressions, e.g. [a:b]
|
||||
- can use func as reference:
|
||||
def SomeFunc() ...
|
||||
map(list, SomeFunc)
|
||||
@ -134,18 +153,18 @@ Further improvements:
|
||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||
|
||||
Popup windows:
|
||||
- With some sequence get get hidden finished terminal buffer. (#5768)
|
||||
Cannot close popup terminal (#5744)
|
||||
Buffer can't be wiped, gets status "aF". (#5764)
|
||||
Is buf->nwindows incorrect?
|
||||
- popup_clear() and popup_close() should close the terminal popup, and
|
||||
make the buffer hidden. #5745
|
||||
- Cursor not updated before a redraw, making it jump. (#5943)
|
||||
- Add a termcap entry for changing the cursor when it goes under the popup and
|
||||
back. like t_SI and t_EI (t_SU and t_EU, where "U" means under?)
|
||||
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||
- Fire some autocommand event after a new popup window was created and
|
||||
positioned? PopupNew? Could be used to set some options or move it out of
|
||||
the way. (#5737)
|
||||
However, it may also cause trouble, changing the popup of another plugin.
|
||||
- Width is not computed correctly when minwidth and maxwidth are &columns
|
||||
and padding and a scrollbar are used. (#6676)
|
||||
- Add a way to use popup_menu() synchronously: instead of invoking the
|
||||
callback, return the choice. (Ben Jackson, #6534)
|
||||
- Use popup (or popup menu) for command line completion
|
||||
- When using a popup for the info of a completion menu, and there is not
|
||||
enough space, let the popup overlap with the menu. (#4544)
|
||||
@ -159,7 +178,7 @@ Popup windows:
|
||||
- Figure out the size and position better if wrapping inserts indent
|
||||
|
||||
Text properties:
|
||||
- :goto does not go to the right place when test properties are present.
|
||||
- :goto does not go to the right place when text properties are present.
|
||||
(#5930)
|
||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||
- Get E685 with a sequence of commands. (#5674)
|
||||
@ -190,7 +209,7 @@ Terminal debugger:
|
||||
an already running program. (M. Kelly)
|
||||
- When only gdb window exists, on "quit" edit another buffer.
|
||||
- Use a sign group
|
||||
- Termdebug does not work when Vim was build with mzscheme: gdb hangs just
|
||||
- Termdebug does not work when Vim was built with mzscheme: gdb hangs just
|
||||
after "run". Everything else works, including communication channel. Not
|
||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||
- Add support for lldb? issue #3565
|
||||
@ -201,6 +220,9 @@ Terminal debugger:
|
||||
|
||||
Terminal emulator window:
|
||||
- No support for underline color, t_8u.
|
||||
- When in terminal-Normal mode when the job finishes, the cursor jumps to the
|
||||
end but the window is not updated. This only happens when typing "a".
|
||||
:term bash -c "for V in {0..5}; do echo $V; sleep 1; done"
|
||||
- When started with ":terminal ++close" and the shell exits but there is a
|
||||
background process, the window remains open, because the channel still
|
||||
exists (and output still shows). Perhaps close the window when an explicit
|
||||
@ -239,18 +261,24 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
Error numbers available:
|
||||
E489, E610, E611, E653, E856
|
||||
Error numbers available: E653
|
||||
|
||||
Remove "MacOS X installation"? $APPDIR is no longer set.
|
||||
|
||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
||||
|
||||
Patch to use collaction based sorting. (Christian Brabandt, #6229)
|
||||
Patch to use collation based sorting. (Christian Brabandt, #6229)
|
||||
|
||||
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||
with 'termguicolors'. #1740
|
||||
|
||||
Patch for blockwise paste reporting changes: #6660.
|
||||
|
||||
Can we detect true color support? https://gist.github.com/XVilka/8346728
|
||||
Try setting a color then request the current color, like using t_u7.
|
||||
|
||||
Check out PR #543 (Roland Puntaier).
|
||||
Patch for multi-byte characters in langmap and applying a mapping on them.
|
||||
Patch for multibyte characters in langmap and applying a mapping on them.
|
||||
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||
Is this the right solution? Need to cleanup langmap behavior:
|
||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
||||
@ -271,11 +299,32 @@ autocommands for the buffer lifecycle:
|
||||
BufIsRenamed (after buffer ID gets another name)
|
||||
The buffer list and windows are locked, no changes possible
|
||||
|
||||
How about removing Atari MiNT support?
|
||||
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
|
||||
Make it possible to map (console and GUI): #6457
|
||||
<C-[> 0x27 or is this <Esc> ?
|
||||
<C-\> 0x28
|
||||
<C-]> 0x29
|
||||
<C-^> 0x30
|
||||
<C-_> 0x31
|
||||
|
||||
Patch for Template string: #4634
|
||||
Have another look at the implementation.
|
||||
|
||||
Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
|
||||
replace this:
|
||||
let left = GetLeftFunc()
|
||||
let right = GetRightFunc()
|
||||
let res = left < right ? lower : left == right ? equal : upper
|
||||
by:
|
||||
let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
|
||||
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
|
||||
|
||||
Lua: updating wrong buffer when using newly created, unloaded buffer.
|
||||
(#6539)
|
||||
|
||||
When "+ register is set then "" points to it. If another Vim grabs the "+
|
||||
register, then "" doesn't contain anything. Make it still follow "+.
|
||||
(#6435)
|
||||
|
||||
Patch to fix drawing error with DirectX. (James Grant, #5688)
|
||||
Causes flicker on resizing. Workaround from Ken Takata.
|
||||
How about only setting the attribute when part of the Vim window is offscreen?
|
||||
@ -299,6 +348,9 @@ character. (#6154)
|
||||
|
||||
undo result wrong: Masato Nishihata, #4798
|
||||
|
||||
After recovering from a swap file the undofile should not be used, it causes
|
||||
corruption. (#6631)
|
||||
|
||||
When 'lazyredraw' is set sometimes the title is not updated.
|
||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
||||
|
||||
@ -320,6 +372,9 @@ 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)
|
||||
|
||||
Patch to implement the vimtutor with a plugin: #6414
|
||||
Was originally writtten by Felipe Morales.
|
||||
|
||||
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||
(Paul Jolly, #5656)
|
||||
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
|
||||
@ -339,6 +394,10 @@ Test loose_clipboard() by selecting text before suspending.
|
||||
|
||||
Undo puts cursor in wrong line after "cG<Esc>" undo.
|
||||
|
||||
Implement completion for "breakadd". Should expand the second argument, e.g.
|
||||
"func", and then function names after ":breakadd func". Including
|
||||
script-local functions.
|
||||
|
||||
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||
Dec 19)
|
||||
|
||||
@ -352,6 +411,9 @@ remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
Also #5326: netrw buffers are not restored.
|
||||
|
||||
Alternate file is not set in the session file. Use setwintabvar("@#") ?
|
||||
(#6714)
|
||||
|
||||
When 'backupdir' has a path ending in double slash (meaning: use full path of
|
||||
the file) combined with 'patchmode' the file name is wrong. (#5791)
|
||||
|
||||
@ -363,6 +425,7 @@ Should do current file first and not split it up when more results are found.
|
||||
|
||||
Undo history wrong when ":next file" re-uses a buffer. (#5426)
|
||||
ex_next() should pass flag to do_argfile(), then to do_ecmd().
|
||||
Is there a test for this?
|
||||
|
||||
Help for ":argadd fname" says that if "fname" is already in the argument list
|
||||
that entry is used. But instead it's always added. (#6210)
|
||||
@ -378,10 +441,6 @@ behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
|
||||
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||
unlisted. (#4478)
|
||||
|
||||
Patch for Template string: #4634
|
||||
Copies the text twice, not very efficient. Requires a separate implementation
|
||||
for Vim9 script, compiling the string parts and expressions.
|
||||
|
||||
Statusline highlighting error, off by one. (#5599)
|
||||
|
||||
":find" with 'path' set to "data*" does not find files, while completion does
|
||||
@ -495,9 +554,6 @@ window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
|
||||
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||
t:diffexpr_option t:diffopt_option? (#4782)
|
||||
|
||||
v:register isn't reset early enough, may be used by next command.
|
||||
(Andy Massimino, #5294, possible fix in #5305)
|
||||
|
||||
Internal diff doesn't handle binary file like external diff does. (Mike
|
||||
Williams, 2018 Oct 30)
|
||||
|
||||
@ -580,9 +636,6 @@ buffer didn't change at all.
|
||||
Line numbers in profile are off when function was defined with ":execute".
|
||||
(Daniel Hahler, #4511)
|
||||
|
||||
Add a way to create an empty, hidden buffer. Like doing ":new|hide".
|
||||
":let buf = bufcreate('name')
|
||||
|
||||
Session file contains absolute paths when "curdir" is removed form
|
||||
'sessionoptions', making it impossible to have a session with a relative path.
|
||||
(#4450)
|
||||
@ -1060,7 +1113,7 @@ Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
|
||||
|
||||
Creating a partial with an autoload function is confused about the "self"
|
||||
attribute of the function. For an unknown function assume "self" and make
|
||||
that optiona? (Bjorn Linse, 2017 Aug 5)
|
||||
that optional? (Bjorn Linse, 2017 Aug 5)
|
||||
|
||||
Cindent: returning a structure has more indent for the second item.
|
||||
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
||||
@ -1180,7 +1233,7 @@ Screen update bug related to matchparen. (Chris Heath, 2017 Mar 4, #1532)
|
||||
Rule to use "^" for statusline does not work if a space is defined with
|
||||
highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
|
||||
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
|
||||
8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters.
|
||||
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||
|
||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
||||
@ -1199,8 +1252,8 @@ Make a function to check for function-like type?
|
||||
Screen updated delayed when using CTRL-O u in Insert mode.
|
||||
(Barlik, #1191) Perhaps because status message?
|
||||
|
||||
Implement named arguments for functions:
|
||||
func Foo(start, count = 1 all = 1)
|
||||
Implement named arguments for functions with optional arguments:
|
||||
func Foo(start, count = 1, all = 1)
|
||||
call Foo(12, all = 0)
|
||||
|
||||
Add a command to take a range of lines, filter them and put the output
|
||||
@ -1331,7 +1384,7 @@ Regexp problems:
|
||||
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||
(Lech Lorens, 2014 Feb 3)
|
||||
- Issue 164: freeze on regexp search.
|
||||
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
|
||||
- Ignorecase not handled properly for multibyte characters. (Axel Bender,
|
||||
2013 Dec 11)
|
||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
||||
@ -1393,8 +1446,6 @@ Did maintainer reply?
|
||||
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
|
||||
Also with latest version.
|
||||
|
||||
Cannot delete a file with square brackets with delete(). (#696)
|
||||
|
||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||
Jul 25, #948)
|
||||
|
||||
@ -1403,8 +1454,6 @@ names, shell commands and the like. (Kikuchan, 2010 Oct 14)
|
||||
Assume the system converts between the actual encoding of the filesystem to
|
||||
the system encoding (usually utf-8).
|
||||
|
||||
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
|
||||
|
||||
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||
Otherwise task flickers in taskbar.
|
||||
|
||||
@ -1416,8 +1465,6 @@ Have a way to get the call stack, in a function and from an exception.
|
||||
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
||||
|
||||
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
|
||||
|
||||
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||
|
||||
Patch to improve map documentation. Issue #799.
|
||||
@ -1436,8 +1483,6 @@ Reject the value? #710.
|
||||
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
||||
|
||||
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
|
||||
|
||||
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||
No test, needs some work to include.
|
||||
|
||||
@ -1448,7 +1493,7 @@ Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)
|
||||
|
||||
Add stronger encryption. Could use libsodium (NaCl).
|
||||
https://github.com/jedisct1/libsodium/
|
||||
Possibly include the needed code so that it can be build everywhere.
|
||||
Possibly include the needed code so that it can be built everywhere.
|
||||
|
||||
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
||||
but the reference remains valid.
|
||||
@ -1507,20 +1552,10 @@ If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
|
||||
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||
(Christian Brabandt, 2016 Jan 28)
|
||||
|
||||
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
|
||||
|
||||
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
||||
Do not trigger the event?
|
||||
|
||||
Using ":windo" to set options in all windows has the side effect that it
|
||||
changes the window layout and the current window. Make a variant that saves
|
||||
and restores. Use in the matchparen plugin.
|
||||
Perhaps we can use ":windo <restore> {cmd}"?
|
||||
Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
|
||||
6, 2nd message)
|
||||
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
|
||||
|
||||
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
||||
@ -1549,10 +1584,6 @@ Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Comparing nested structures with "==" uses a different comparator than when
|
||||
comparing individual items.
|
||||
Also, "'' == 0" evaluates to true, which isn't nice.
|
||||
Add "===" to have a strict comparison (type and value match).
|
||||
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
|
||||
equals 1 and 1.0, v:false equals 0 and 0.0.?
|
||||
|
||||
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
||||
|
||||
@ -1568,7 +1599,7 @@ Patch to add :mapgroup, put mappings in a group like augroup.
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Value of virtcol() for '[ and '] depend on multi-byte character.
|
||||
Value of virtcol() for '[ and '] depend on multibyte character.
|
||||
(Luchr, #277)
|
||||
|
||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
@ -1723,8 +1754,6 @@ arguments.
|
||||
|
||||
Problem with transparent and matchgroup. Issue #475
|
||||
|
||||
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||
New OpenOffice spell files support this with ICONV. But they are not
|
||||
@ -1751,8 +1780,11 @@ from?
|
||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Include a plugin manager with Vim? vim-plug seems to be the best currently:
|
||||
https://github.com/junegunn/vim-plug.
|
||||
Also Vundle: https://github.com/gmarik/vundle
|
||||
Or minpac: https://github.com/k-takata/minpac, since it leverages the builtin
|
||||
package feature.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
@ -1807,6 +1839,7 @@ instead. (Samuel Ferencik, 2013 Sep 28)
|
||||
|
||||
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
|
||||
Remark on the docs. Should not be a compile time feature. But then what?
|
||||
Also see #2034.
|
||||
|
||||
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
@ -1868,6 +1901,10 @@ Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
|
||||
|
||||
Exception caused by argument of return is not caught by try/catch.
|
||||
(David Barnett, 2013 Nov 19)
|
||||
Bug in try/catch: return with invalid compare throws error that isn't caught.
|
||||
(ZyX, 2011 Jan 26)
|
||||
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
|
||||
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
|
||||
|
||||
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||
2013 Mar 19, later message)
|
||||
@ -1903,6 +1940,8 @@ process that is running. It might actually be some other program, e.g. after
|
||||
a reboot.
|
||||
|
||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
||||
Patch to add "combine" to :syntax, combines highlight attributes. (Nate
|
||||
Soares, 2012 Dec 3)
|
||||
|
||||
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
||||
@ -1940,13 +1979,6 @@ Szamotulski, 2012 Nov 8)
|
||||
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||
loading all files.
|
||||
|
||||
MS-Windows resizing problems:
|
||||
- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
|
||||
20. Uses getWindowRect() instead of GetWindowPlacement()
|
||||
- Win32: When the taskbar is at the top of the screen creating the tabbar
|
||||
causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan
|
||||
12) Patch: 2012 Jan 13 Needs more work (2012 Feb 2)
|
||||
|
||||
'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
|
||||
|
||||
Patch to append regexp to tag commands to make it possible to select one out
|
||||
@ -2090,9 +2122,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
|
||||
|
||||
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
|
||||
|
||||
Bug in try/catch: return with invalid compare throws error that isn't caught.
|
||||
(ZyX, 2011 Jan 26)
|
||||
|
||||
When setting a local option value from the global value, add a script ID that
|
||||
indicates this, so that ":verbose set" can give a hint. Check with options in
|
||||
the help file.
|
||||
@ -2102,7 +2131,7 @@ Also for another example (ZyX, 2011 Jan 24)
|
||||
|
||||
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
|
||||
|
||||
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
|
||||
"0g@$" puts '] on last byte of multibyte. (ZyX, 2011 Jan 22)
|
||||
|
||||
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
|
||||
|
||||
@ -2281,9 +2310,6 @@ Add local time at start of --startuptime output.
|
||||
Requires configure check for localtime().
|
||||
Use format year-month-day hr:min:sec.
|
||||
|
||||
Patch to add "combine" to :syntax, combines highlight attributes. (Nate
|
||||
Soares, 2012 Dec 3)
|
||||
|
||||
Patch to make ":hi link" also take arguments. (Nate Soares, 2012 Dec 4)
|
||||
|
||||
Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
|
||||
@ -2478,6 +2504,9 @@ Sergey Khorev)
|
||||
|
||||
Consider making YankRing or something else that keeps a list of yanked text
|
||||
part of standard Vim. The "1 to "9 registers are not sufficient.
|
||||
6 When yanking into the unnamed registers several times, somehow make the
|
||||
previous contents also available (like it's done for deleting). What
|
||||
register names to use? g"1, g"2, etc.?
|
||||
|
||||
After doing "su" $HOME can be the old user's home, thus ~root/file is not
|
||||
correct. Don't use it in the swap file.
|
||||
@ -2609,7 +2638,7 @@ work, the backslash is removed, assuming that it escapes the (. (Valery
|
||||
Kondakoff, 2009 May 13)
|
||||
|
||||
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
|
||||
multi-byte character isn't passed and edits elsuti.txt.
|
||||
multibyte character isn't passed and edits elsuti.txt.
|
||||
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
|
||||
|
||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
||||
@ -2684,10 +2713,6 @@ Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
|
||||
In the swapfile dialog, add a H(elp) option that gives more info about what
|
||||
each choice does. Similar to ":help swap-exists-choices"
|
||||
|
||||
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
|
||||
|
||||
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
|
||||
|
||||
":tab help" always opens a new tab, while ":help" re-uses an existing window.
|
||||
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||
|
||||
@ -2851,9 +2876,6 @@ Jun 18)
|
||||
|
||||
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
||||
|
||||
Feature request: Command to go to previous tab, like what CTRL-W p does for
|
||||
windows. (Adam George)
|
||||
|
||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||
|
||||
@ -3177,7 +3199,7 @@ Awaiting updated patches:
|
||||
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
- Win32: add options to print dialog. Patch from Vipin Aravind.
|
||||
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
|
||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||
@ -3257,7 +3279,7 @@ Quickfix/Location List:
|
||||
":grep" and ":helpgrep".
|
||||
More generic solution: support a filter (e.g., by calling a function).
|
||||
7 Add a command that goes back to the position from before jumping to the
|
||||
first quickfix location. ":cbefore"?
|
||||
first quickfix location.
|
||||
|
||||
Vi incompatibility:
|
||||
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
|
||||
@ -3294,7 +3316,6 @@ Vi incompatibility:
|
||||
7 The ":map" command output overwrites the command. Perhaps it should keep
|
||||
the ":map" when it's used without arguments?
|
||||
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
|
||||
7 Implement 'prompt' option. Init to off when stdin is not a tty.
|
||||
7 Add a way to send an email for a crashed edit session. Create a file when
|
||||
making changes (containing name of the swap file), delete it when writing
|
||||
the file. Supply a program that can check for crashed sessions (either
|
||||
@ -3472,8 +3493,6 @@ GUI:
|
||||
Solaris 2.6. (Marley)
|
||||
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
|
||||
is started from, causes empty lines below the cmdline. (raf)
|
||||
8 X11 GUI: When menu is disabled by excluding 'm' from 'guioptions', ALT key
|
||||
should not be used to trigger a menu (like the Win32 version).
|
||||
8 When setting 'langmenu', it should be effective immediately. Store both
|
||||
the English and the translated text in the menu structure. Re-generate
|
||||
the translation when 'langmenu' has changed.
|
||||
@ -3512,10 +3531,6 @@ GUI:
|
||||
When the "+0+0" is omitted it works.
|
||||
8 When starting an external command, and 'guipty' set, BS and DEL are mixed
|
||||
up. Set erase character somehow?
|
||||
8 A dead circumflex followed by a space should give the '^' character
|
||||
(Rommel). Look how xterm does this.
|
||||
Also: Bednar has some code for dead key handling.
|
||||
Also: Nedit 5.0.2 with USE_XMIM does it right. (Gaya)
|
||||
8 The compose key doesn't work properly (Cepas). Both for Win32 and X11.
|
||||
7 The cursor in an inactive window should be hollow. Currently it's not
|
||||
visible.
|
||||
@ -3612,17 +3627,8 @@ Macintosh:
|
||||
|
||||
|
||||
"Small" problems:
|
||||
- Can't disable terminal flow control, to enable the use of CTRL-S and
|
||||
CTRL-Q. Add an option for it?
|
||||
- When using e_secure in do_one_cmd() mention the command being executed,
|
||||
otherwise it's not clear where it comes from.
|
||||
- When the quickfix window is open and executing ":echo 'hello'" using the
|
||||
Command-line window, the text is immediately removed by the redrawing.
|
||||
(Michael Henry, 2008 Nov 1)
|
||||
Generic solution: When redrawing while there is a message on the
|
||||
cmdline, don't erase the display but draw over the existing text.
|
||||
Other solution, redraw after closing the cmdline window, before executing
|
||||
the command.
|
||||
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
|
||||
functions for characters below 0x80. (Sertacyildiz)
|
||||
9 When the last edited file is a help file, using '0 in a new Vim doesn't
|
||||
@ -3689,8 +3695,8 @@ Macintosh:
|
||||
8 'hkmap' should probably be global-local.
|
||||
8 Using ":s" in a function changes the previous replacement string. Save
|
||||
"old_sub" in save_search_patterns()?
|
||||
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multi-byte character.
|
||||
8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
|
||||
is a multibyte character.
|
||||
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
||||
always written, even when the original file already exists.
|
||||
9 When getting focus while writing a large file, could warn for this file
|
||||
@ -3845,9 +3851,7 @@ Macintosh:
|
||||
two lines at a time. "k" doesn't do this. (Cory T. Echols)
|
||||
8 When write_viminfo() is used while there are many orphaned viminfo
|
||||
tempfiles writing the viminfo file fails. Give a clear error message so
|
||||
that the user knows he has to delete the files.
|
||||
7 It's possible to redefine a script-local function with ":func
|
||||
<SNR>123_Test()". (Krishna) Disallow this.
|
||||
that the user knows the files have to be deleted.
|
||||
|
||||
|
||||
I can't reproduce these (if you can, let me know how!):
|
||||
@ -3995,7 +3999,7 @@ Documentation:
|
||||
- change to cursor position and curswant
|
||||
- if it can be undone (u/CTRL-R) and redone (.)
|
||||
- how it works for folded lines
|
||||
- how it works with multi-byte characters
|
||||
- how it works with multibyte characters
|
||||
9 In change.txt, remark about Javadoc isn't right. Right alignment would
|
||||
work too.
|
||||
8 Spread the windows commands over the other files. For example, ":stag"
|
||||
@ -4018,7 +4022,7 @@ Help:
|
||||
- Support a way to view (and edit) .info files.
|
||||
- Implement a "sticky" help window, some help text lines that are always
|
||||
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
||||
user can edit it to insert his favorite commands, new account can contain a
|
||||
user can edit it to insert favorite commands, new account can contain a
|
||||
default contents.
|
||||
- Make 'winminheight' a local option, so that the user can set a minimal
|
||||
height for the help window (and other windows).
|
||||
@ -4082,8 +4086,6 @@ Spell checking:
|
||||
- Considering Hunspell 1.1.4:
|
||||
What does MAXNGRAMSUGS do?
|
||||
Is COMPLEXPREFIXES necessary when we have flags for affixes?
|
||||
- Support spelling words in CamelCase as if they were two separate words.
|
||||
Requires some option to enable it. (Timothy Knox)
|
||||
- There is no Finnish spell checking file. For openoffice Voikko is now
|
||||
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
|
||||
(Teemu Likonen)
|
||||
@ -4233,8 +4235,8 @@ Multi-byte characters:
|
||||
8 Add configure option to be able to disable using the iconv library. (Udo
|
||||
Schweigert)
|
||||
9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
|
||||
8 Should add test for using various commands with multi-byte characters.
|
||||
8 'infercase' doesn't work with multi-byte characters.
|
||||
8 Should add test for using various commands with multibyte characters.
|
||||
8 'infercase' doesn't work with multibyte characters.
|
||||
8 toupper() function doesn't handle byte count changes.
|
||||
7 Searching and composing characters:
|
||||
When searching, should order of composing characters be ignored?
|
||||
@ -4242,7 +4244,7 @@ Multi-byte characters:
|
||||
characters can be manipulated.
|
||||
8 Should implement 'delcombine' for command line editing.
|
||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multi-byte
|
||||
8 ":s/x/\u\1/" doesn't work, making uppercase isn't done for multibyte
|
||||
characters.
|
||||
8 UTF-8: "r" in Visual mode doesn't take composing characters.
|
||||
8 UTF-8: When there is a precomposed character in the font, use it instead
|
||||
@ -4266,14 +4268,14 @@ Multi-byte characters:
|
||||
convert_input() for Mac GUI.
|
||||
- Add mnemonics from RFC1345 longer than two characters.
|
||||
Support CTRL-K _{mnemonic}_
|
||||
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
|
||||
- Make 'breakat' accept multibyte characters. Problem: can't use a lookup
|
||||
table anymore (breakat_flags[]).
|
||||
Simplistic solution: when 'formatoptions' contains "m" also break a line
|
||||
at a multi-byte character >= 0x100.
|
||||
at a multibyte character >= 0x100.
|
||||
- Add the possibility to enter mappings which are used whenever normal text
|
||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||
of opposite of 'langmap'. Use ":amap" command?
|
||||
- When breaking a line, take properties of multi-byte characters into
|
||||
- When breaking a line, take properties of multibyte characters into
|
||||
account. The "linebreak" program from Bruno Haible can do it:
|
||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||
But it's very complicated...
|
||||
@ -4458,8 +4460,6 @@ Vim script language:
|
||||
7 Execute a function with standard option values. No need to save and
|
||||
restore option values. Especially useful for new options. Problem: how
|
||||
to avoid a performance penalty (esp. for string options)?
|
||||
8 Add referring to key options with "&t_xx". Both for "echo &t_xx" and
|
||||
":let &t_xx =". Useful for making portable mappings.
|
||||
- range for ":exec", pass it on to the executed command. (Webb)
|
||||
8 ":{range}source": source the lines from the current file.
|
||||
You can already yank lines and use :@" to execute them.
|
||||
@ -4690,8 +4690,6 @@ Messages:
|
||||
- Delete message after new command has been entered and have waited for key.
|
||||
Perhaps after ten seconds?
|
||||
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
|
||||
8 When reading from stdin allow suppressing the "reading from stdin"
|
||||
message.
|
||||
9 Check handling of overwriting of messages and delays:
|
||||
Very wrong: errors while redrawing cause endless loop.
|
||||
When switching to another file and screen scrolls because of the long
|
||||
@ -5342,11 +5340,11 @@ Text objects:
|
||||
8 Add test script for text object commands "aw", "iW", etc.
|
||||
8 Add text object for part of a CamelHumpedWord and under_scored_word.
|
||||
(Scott Graham) "ac" and "au"?
|
||||
8 Add a text object for any kind of quoting, also with multi-byte
|
||||
8 Add a text object for any kind of quoting, also with multibyte
|
||||
characters. Option to specify what quotes are recognized (default: all)
|
||||
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
||||
'matchpairs'?
|
||||
8 Add text object for any kind of parens, also multi-byte ones.
|
||||
8 Add text object for any kind of parens, also multibyte ones.
|
||||
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
||||
changing the starting position in oap->start.
|
||||
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
||||
@ -5692,7 +5690,7 @@ Buffer list:
|
||||
Also for other windows: ":inwin {winnr} {cmd}". How to make sure that
|
||||
this works properly for all commands, and still be able to return to the
|
||||
current buffer/window? E.g.: ":inbuf xxx only".
|
||||
8 Add File.{recent_files} menu entries: Recently edited files.
|
||||
8 Add File.{recent-files} menu entries: Recently edited files.
|
||||
Ron Aaron has a plugin for this: mru.vim.
|
||||
8 Unix: Check all uses of fnamecmp() and fnamencmp() if they should check
|
||||
inode too.
|
||||
@ -5791,7 +5789,7 @@ Modelines:
|
||||
.cpp files.
|
||||
- Support the "abbreviate" command in modelines (Kearns). Careful for
|
||||
characters after <Esc>, that is a security leak.
|
||||
- Add option setting to ask user if he wants to have the modelines executed
|
||||
- Add an option setting to ask the user if the modelines are to be executed
|
||||
or not. Same for .exrc in local dir.
|
||||
|
||||
|
||||
@ -5979,9 +5977,6 @@ Registers:
|
||||
8 Add put command that overwrites existing text. Should also work for
|
||||
blocks. Useful to move text around in a table. Works like using "R ^R r"
|
||||
for every line.
|
||||
6 When yanking into the unnamed registers several times, somehow make the
|
||||
previous contents also available (like it's done for deleting). What
|
||||
register names to use? g"1, g"2, etc.?
|
||||
- When appending to a register, also report the total resulting number of
|
||||
lines. Or just say "99 more lines yanked", add the "more".
|
||||
- When inserting a register in Insert mode with CTRL-R, don't insert comment
|
||||
@ -6125,7 +6120,7 @@ Various improvements:
|
||||
regexp which triggers auto-formatting (for one line).
|
||||
":set autoformat=\\s$".
|
||||
- Be able to redefine where a sentence stops. Use a regexp pattern?
|
||||
- Support multi-byte characters for sentences. Example from Ben Peterson.
|
||||
- Support multibyte characters for sentences. Example from Ben Peterson.
|
||||
7 Add command "g)" to go to the end of a sentence, "g(" to go back to the
|
||||
end of a sentence. (Servatius Brandt)
|
||||
- Be able to redefine where a paragraph starts. For "[[" where the '{' is
|
||||
|
@ -161,7 +161,7 @@ line break.
|
||||
==============================================================================
|
||||
*04.3* Repeating a change
|
||||
|
||||
The "." command is one of the most simple yet powerful commands in Vim. It
|
||||
The "." command is one of the simplest yet powerful commands in Vim. It
|
||||
repeats the last change. For instance, suppose you are editing an HTML file
|
||||
and want to delete all the <B> tags. You position the cursor on the first <
|
||||
and delete the <B> with the command "df>". You then go to the < of the next
|
||||
|
@ -58,8 +58,8 @@ This initializes Vim for new users (as opposed to traditional Vi users). See
|
||||
|defaults.vim| for the details.
|
||||
|
||||
The vimrc file can contain all the commands that you type after a colon. The
|
||||
most simple ones are for setting options. For example, if you want Vim to
|
||||
always start with the 'incsearch' option on, add this line your vimrc file: >
|
||||
simplest ones are for setting options. For example, if you want Vim to always
|
||||
start with the 'incsearch' option on, add this line your vimrc file: >
|
||||
|
||||
set incsearch
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Jan 17
|
||||
*usr_11.txt* For Vim version 8.2. Last change: 2020 Jul 08
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -256,7 +256,7 @@ O Open the file readonly. Use this when you just want to view the file and
|
||||
|
||||
E Edit the file anyway. Use this with caution! If the file is being edited
|
||||
in another Vim, you might end up with two versions of the file. Vim will
|
||||
try to warn you when this happens, but better be safe then sorry.
|
||||
try to warn you when this happens, but better be safe than sorry.
|
||||
|
||||
R Recover the file from the swap file. Use this if you know that the swap
|
||||
file contains changes that you want to recover.
|
||||
|
@ -327,10 +327,10 @@ for next.
|
||||
==============================================================================
|
||||
*20.5* Command line window
|
||||
|
||||
Typing the text in the command line works different from typing text in Insert
|
||||
mode. It doesn't allow many commands to change the text. For most commands
|
||||
that's OK, but sometimes you have to type a complicated command. That's where
|
||||
the command line window is useful.
|
||||
Typing the text in the command line works differently from typing text in
|
||||
Insert mode. It doesn't allow many commands to change the text. For most
|
||||
commands that's OK, but sometimes you have to type a complicated command.
|
||||
That's where the command line window is useful.
|
||||
|
||||
Open the command line window with this command: >
|
||||
|
||||
|
@ -434,7 +434,7 @@ redefined without changing the search pattern.
|
||||
|
||||
/\f\+
|
||||
|
||||
The "\f" items stands for file name characters. Thus this matches a sequence
|
||||
The "\f" item stands for file name characters. Thus this matches a sequence
|
||||
of characters that can be a file name.
|
||||
Which characters can be part of a file name depends on the system you are
|
||||
using. On MS-Windows, the backslash is included, on Unix it is not. This is
|
||||
|
@ -336,7 +336,7 @@ How to do that is explained here: |indent-expression|.
|
||||
==============================================================================
|
||||
*30.4* Other indenting
|
||||
|
||||
The most simple form of automatic indenting is with the 'autoindent' option.
|
||||
The simplest form of automatic indenting is with the 'autoindent' option.
|
||||
It uses the indent from the previous line. A bit smarter is the 'smartindent'
|
||||
option. This is useful for languages where no indent file is available.
|
||||
'smartindent' is not as smart as 'cindent', but smarter than 'autoindent'.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_31.txt* For Vim version 8.2. Last change: 2007 May 08
|
||||
*usr_31.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -198,9 +198,9 @@ is not possible in most terminals.
|
||||
You can start the X-Windows version of gvim with an argument to specify the
|
||||
size and position of the window: >
|
||||
|
||||
gvim -geometry {width}x{height}+{x_offset}+{y_offset}
|
||||
gvim -geometry {width}x{height}+{x-offset}+{y-offset}
|
||||
|
||||
{width} and {height} are in characters, {x_offset} and {y_offset} are in
|
||||
{width} and {height} are in characters, {x-offset} and {y-offset} are in
|
||||
pixels. Example: >
|
||||
|
||||
gvim -geometry 80x25+100+300
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2013 Aug 05
|
||||
*usr_40.txt* For Vim version 8.2. Last change: 2020 Jul 28
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -453,12 +453,12 @@ matching BufWritePre autocommands and executes them, and then it
|
||||
performs the ":write".
|
||||
The general form of the :autocmd command is as follows: >
|
||||
|
||||
:autocmd [group] {events} {file_pattern} [nested] {command}
|
||||
:autocmd [group] {events} {file-pattern} [nested] {command}
|
||||
|
||||
The [group] name is optional. It is used in managing and calling the commands
|
||||
(more on this later). The {events} parameter is a list of events (comma
|
||||
separated) that trigger the command.
|
||||
{file_pattern} is a filename, usually with wildcards. For example, using
|
||||
{file-pattern} is a filename, usually with wildcards. For example, using
|
||||
"*.txt" makes the autocommand be used for all files whose name end in ".txt".
|
||||
The optional [nested] flag allows for nesting of autocommands (see below), and
|
||||
finally, {command} is the command to be executed.
|
||||
@ -489,7 +489,7 @@ See |autocmd-events| for a complete list of events.
|
||||
|
||||
PATTERNS
|
||||
|
||||
The {file_pattern} argument can actually be a comma-separated list of file
|
||||
The {file-pattern} argument can actually be a comma-separated list of file
|
||||
patterns. For example: "*.c,*.h" matches files ending in ".c" and ".h".
|
||||
The usual file wildcards can be used. Here is a summary of the most often
|
||||
used ones:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 13
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2020 Aug 30
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -44,7 +44,7 @@ script file. You can think of other uses yourself.
|
||||
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
|
||||
And if you are familiar with Javascript:
|
||||
And if you are familiar with JavaScript:
|
||||
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
|
||||
|
||||
Let's start with a simple example: >
|
||||
@ -600,6 +600,7 @@ String manipulation: *string-functions*
|
||||
strtrans() translate a string to make it printable
|
||||
tolower() turn a string to lowercase
|
||||
toupper() turn a string to uppercase
|
||||
charclass() class of a character
|
||||
match() position where a pattern matches in a string
|
||||
matchend() position where a pattern match ends in a string
|
||||
matchstr() match of a pattern in a string
|
||||
@ -611,6 +612,7 @@ String manipulation: *string-functions*
|
||||
strchars() length of a string in characters
|
||||
strwidth() size of string when displayed
|
||||
strdisplaywidth() size of string when displayed, deals with tabs
|
||||
setcellwidths() set character cell width overrides
|
||||
substitute() substitute a pattern match with a string
|
||||
submatch() get a specific match in ":s" and substitute()
|
||||
strpart() get part of a string using byte index
|
||||
@ -626,6 +628,7 @@ String manipulation: *string-functions*
|
||||
execute() execute an Ex command and get the output
|
||||
win_execute() like execute() but in a specified window
|
||||
trim() trim characters from a string
|
||||
gettext() lookup message translation
|
||||
|
||||
List manipulation: *list-functions*
|
||||
get() get an item without error for wrong index
|
||||
@ -1115,6 +1118,7 @@ Tags: *tag-functions*
|
||||
settagstack() modify the tag stack of a window
|
||||
|
||||
Prompt Buffer: *promptbuffer-functions*
|
||||
prompt_getprompt() get the effective prompt text for a buffer
|
||||
prompt_setcallback() set prompt callback for a buffer
|
||||
prompt_setinterrupt() set interrupt callback for a buffer
|
||||
prompt_setprompt() set the prompt text for a buffer
|
||||
@ -2044,9 +2048,9 @@ for this mapping, but the user might already use it for something else. To
|
||||
allow the user to define which keys a mapping in a plugin uses, the <Leader>
|
||||
item can be used: >
|
||||
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
|
||||
The "<Plug>TypecorrAdd" thing will do the work, more about that further on.
|
||||
The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
|
||||
|
||||
The user can set the "mapleader" variable to the key sequence that he wants
|
||||
this mapping to start with. Thus if the user has done: >
|
||||
@ -2062,15 +2066,15 @@ already happened to exist. |:map-<unique>|
|
||||
But what if the user wants to define his own key sequence? We can allow that
|
||||
with this mechanism: >
|
||||
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
|
||||
This checks if a mapping to "<Plug>TypecorrAdd" already exists, and only
|
||||
This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
|
||||
defines the mapping from "<Leader>a" if it doesn't. The user then has a
|
||||
chance of putting this in his vimrc file: >
|
||||
|
||||
map ,c <Plug>TypecorrAdd
|
||||
map ,c <Plug>TypecorrAdd;
|
||||
|
||||
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
|
||||
|
||||
@ -2100,15 +2104,15 @@ function (without the "s:"), which is again another function.
|
||||
<SID> can be used with mappings. It generates a script ID, which identifies
|
||||
the current script. In our typing correction plugin we use it like this: >
|
||||
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
..
|
||||
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||
|
||||
Thus when a user types "\a", this sequence is invoked: >
|
||||
|
||||
\a -> <Plug>TypecorrAdd -> <SID>Add -> :call <SID>Add()
|
||||
\a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add()
|
||||
|
||||
If another script would also map <SID>Add, it would get another script ID and
|
||||
If another script also maps <SID>Add, it will get another script ID and
|
||||
thus define another mapping.
|
||||
|
||||
Note that instead of s:Add() we use <SID>Add() here. That is because the
|
||||
@ -2149,9 +2153,9 @@ difference between using <SID> and <Plug>:
|
||||
To make it very unlikely that other plugins use the same sequence of
|
||||
characters, use this structure: <Plug> scriptname mapname
|
||||
In our example the scriptname is "Typecorr" and the mapname is "Add".
|
||||
This results in "<Plug>TypecorrAdd". Only the first character of
|
||||
scriptname and mapname is uppercase, so that we can see where mapname
|
||||
starts.
|
||||
We add a semicolon as the terminator. This results in
|
||||
"<Plug>TypecorrAdd;". Only the first character of scriptname and
|
||||
mapname is uppercase, so that we can see where mapname starts.
|
||||
|
||||
<SID> is the script ID, a unique identifier for a script.
|
||||
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
|
||||
@ -2226,10 +2230,10 @@ Here is the resulting complete example: >
|
||||
18 \ synchronization
|
||||
19 let s:count = 4
|
||||
20
|
||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
||||
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||
23 endif
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
||||
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||
25
|
||||
26 noremenu <script> Plugin.Add\ Correction <SID>Add
|
||||
27
|
||||
@ -2279,7 +2283,7 @@ Here is a simple example for a plugin help file, called "typecorr.txt": >
|
||||
6 There are currently only a few corrections. Add your own if you like.
|
||||
7
|
||||
8 Mappings:
|
||||
9 <Leader>a or <Plug>TypecorrAdd
|
||||
9 <Leader>a or <Plug>TypecorrAdd;
|
||||
10 Add a correction for the word under the cursor.
|
||||
11
|
||||
12 Commands:
|
||||
@ -2417,13 +2421,13 @@ To make sure mappings will only work in the current buffer use the >
|
||||
command. This needs to be combined with the two-step mapping explained above.
|
||||
An example of how to define functionality in a filetype plugin: >
|
||||
|
||||
if !hasmapto('<Plug>JavaImport')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport
|
||||
if !hasmapto('<Plug>JavaImport;')
|
||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
|
||||
endif
|
||||
noremap <buffer> <unique> <Plug>JavaImport oimport ""<Left><Esc>
|
||||
noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
|
||||
|
||||
|hasmapto()| is used to check if the user has already defined a map to
|
||||
<Plug>JavaImport. If not, then the filetype plugin defines the default
|
||||
<Plug>JavaImport;. If not, then the filetype plugin defines the default
|
||||
mapping. This starts with |<LocalLeader>|, which allows the user to select
|
||||
the key(s) he wants filetype plugin mappings to start with. The default is a
|
||||
backslash.
|
||||
@ -2440,12 +2444,12 @@ plugin for the mail filetype: >
|
||||
" Add mappings, unless the user didn't want this.
|
||||
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
||||
" Quote text by inserting "> "
|
||||
if !hasmapto('<Plug>MailQuote')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote
|
||||
if !hasmapto('<Plug>MailQuote;')
|
||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||
endif
|
||||
vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>
|
||||
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
|
||||
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
|
||||
endif
|
||||
|
||||
Two global variables are used:
|
||||
|
@ -210,8 +210,8 @@ argument: >
|
||||
:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>
|
||||
|
||||
Don't use "<silent>" too often. It is not needed for short commands. If you
|
||||
make a menu for someone else, being able the see the executed command will
|
||||
give him a hint about what he could have typed, instead of using the mouse.
|
||||
make a menu for someone else, being able to see the executed command will give
|
||||
him a hint about what he could have typed, instead of using the mouse.
|
||||
|
||||
|
||||
LISTING MENUS
|
||||
|
@ -34,7 +34,7 @@ That makes very clear what is defined where.
|
||||
Let's start with an example, a script that exports one function and has one
|
||||
private function: >
|
||||
|
||||
vim9script " This indicates a Vim9 script file,
|
||||
vim9script " This indicates a Vim9 script file.
|
||||
|
||||
export def GetMessage(): string
|
||||
let result = ''
|
||||
|
@ -226,7 +226,7 @@ We will use "82" here, which is version 8.2.
|
||||
This is all you need for the second method. Just launch the executable, and
|
||||
follow the prompts.
|
||||
|
||||
For the first method you must chose one of the binary archives. These are
|
||||
For the first method you must choose one of the binary archives. These are
|
||||
available:
|
||||
|
||||
gvim82.zip The normal MS-Windows GUI version.
|
||||
|
@ -333,7 +333,7 @@ Make Vim work as you like it.
|
||||
|44.11| Installing a syntax file
|
||||
|44.12| Portable syntax file layout
|
||||
|
||||
|usr_45.txt| Select your language
|
||||
|usr_45.txt| Select your language (locale)
|
||||
|45.1| Language for Messages
|
||||
|45.2| Language for Menus
|
||||
|45.3| Using another encoding
|
||||
|
@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2020 May 30
|
||||
*various.txt* For Vim version 8.2. Last change: 2020 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -92,7 +92,7 @@ g8 Print the hex values of the bytes used in the
|
||||
encoding because it contains illegal bytes.
|
||||
Does not wrap around the end of the file.
|
||||
Note that when the cursor is on an illegal byte or the
|
||||
cursor is halfway a multi-byte character the command
|
||||
cursor is halfway a multibyte character the command
|
||||
won't move the cursor.
|
||||
|
||||
*:p* *:pr* *:print* *E749*
|
||||
@ -145,16 +145,16 @@ g8 Print the hex values of the bytes used in the
|
||||
:{range}z[+-^.=]{count} Display several lines of text surrounding the line
|
||||
specified with {range}, or around the current line
|
||||
if there is no {range}. If there is a {count}, that's
|
||||
how many lines you'll see; if there is only one window
|
||||
then twice the value of the 'scroll' option is used,
|
||||
otherwise the current window height minus 3 is used.
|
||||
how many lines you'll see; if there is no {count} and
|
||||
only one window then twice the value of the 'scroll'
|
||||
option is used, otherwise the current window height
|
||||
minus 3 is used.
|
||||
|
||||
If there is a {count} the 'window' option is set to
|
||||
its value.
|
||||
|
||||
:z can be used either alone or followed by any of
|
||||
several punctuation marks. These have the following
|
||||
effect:
|
||||
several marks. These have the following effect:
|
||||
|
||||
mark first line last line new cursor line ~
|
||||
---- ---------- --------- ------------
|
||||
@ -754,7 +754,7 @@ up mappings to simulate the commands that less supports. Otherwise, you can
|
||||
still use the Vim commands.
|
||||
|
||||
This isn't perfect. For example, when viewing a short file Vim will still use
|
||||
the whole screen. But it works good enough for most uses, and you get syntax
|
||||
the whole screen. But it works well enough for most uses, and you get syntax
|
||||
highlighting.
|
||||
|
||||
The "h" key will give you a short overview of the available commands.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version5.txt* For Vim version 8.2. Last change: 2016 Feb 27
|
||||
*version5.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -2133,12 +2133,12 @@ it is invoked.
|
||||
Deleted the "os_archie" files, they were not working anyway.
|
||||
|
||||
|
||||
Multi-byte support *new-multi-byte*
|
||||
Multi-byte support *new-multi-byte* *new-multibyte*
|
||||
------------------
|
||||
|
||||
MultiByte support for Win32 GUI. (Baek)
|
||||
The 'fileencoding' option decides how the text in the file is encoded.
|
||||
":ascii" works for multi-byte characters. Multi-byte characters work on
|
||||
":ascii" works for multibyte characters. Multi-byte characters work on
|
||||
Windows 95, even when using the US version. (Aaron)
|
||||
Needs to be enabled in feature.h.
|
||||
This has not been tested much yet!
|
||||
@ -3671,10 +3671,10 @@ For the ":clist" command, you can scroll backwards with "b" (one screenful),
|
||||
"u" (half a screenful) and "k" (one line).
|
||||
|
||||
Multi-byte support:
|
||||
- X-input method for multi-byte characters. And various fixes for multi-byte
|
||||
- X-input method for multibyte characters. And various fixes for multibyte
|
||||
support. (Nam)
|
||||
- Hangul input method feature: |hangul|. (Nam)
|
||||
- Cleaned up configuration of multi-byte support, XIM, fontset and Hangul
|
||||
- Cleaned up configuration of multibyte support, XIM, fontset and Hangul
|
||||
input. Each is now configurable separately.
|
||||
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
|
||||
- Added doc/hangulin.txt: Documentation for the Hangul input code. (Nam)
|
||||
@ -3682,10 +3682,10 @@ Multi-byte support:
|
||||
- First attempt to include support for SJIS encoding. (Nagano)
|
||||
- When a double-byte character doesn't fit at the end of the line, put a "~"
|
||||
there and print it on the next line.
|
||||
- Optimize output of multi-byte text. (Park)
|
||||
- Optimize output of multibyte text. (Park)
|
||||
- Win32 IME: preedit style is like over-the-spot. (Nagano)
|
||||
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (Nagano)
|
||||
- GUI Athena: file selection dialog can display multi-byte characters.
|
||||
- GUI Athena: file selection dialog can display multibyte characters.
|
||||
(Nagano)
|
||||
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
|
||||
|
||||
@ -3720,7 +3720,7 @@ X11:
|
||||
with the VisualNOS group to show this. (Madsen)
|
||||
- Support for requesting the type of clipboard support. Used for AIX and
|
||||
dtterm. (Wittig)
|
||||
- Support compound_text selection (even when compiled without multi-byte).
|
||||
- Support compound_text selection (even when compiled without multibyte).
|
||||
|
||||
Swap file:
|
||||
- New variation for naming swap files: Replace path separators into %, place
|
||||
@ -4063,7 +4063,7 @@ compiling pathdef.c. Replaced it with "tr".
|
||||
|
||||
Perl: DO_JOIN was redefined by Perl. Undefined it in the perl files.
|
||||
|
||||
Various XIM and multi-byte fixes:
|
||||
Various XIM and multibyte fixes:
|
||||
- Fix user cannot see his language while he is typing his language with
|
||||
off-the-spot method. (Nagano)
|
||||
- Fix preedit position using text/edit area (using gui.wid). (Nagano)
|
||||
@ -4080,7 +4080,7 @@ Various XIM and multi-byte fixes:
|
||||
- XIM: Composed strings were sometimes ignored. Vim crashed when compose
|
||||
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
|
||||
Nagano)
|
||||
- Win32 multi-byte: hollowed cursor width on a double byte char was wrong.
|
||||
- Win32 multibyte: hollowed cursor width on a double byte char was wrong.
|
||||
(Nagano)
|
||||
- When there is no GUI, selecting XIM caused compilation problems.
|
||||
Automatically disable XIM when there is no GUI in configure.
|
||||
@ -5496,7 +5496,7 @@ Solution: When there is a comment leader for the new line, but 'autoindent'
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 5.4.26
|
||||
Problem: Multi-byte: a multi-byte character is never recognized in a file
|
||||
Problem: Multi-byte: a multibyte character is never recognized in a file
|
||||
name, causing a backslash before it to be removed on Windows.
|
||||
Solution: Assume that a leading-byte character is a file name character in
|
||||
vim_isfilec().
|
||||
@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
|
||||
BeOS: Adjust computing the char_height and char_ascent. Round them up
|
||||
separately, avoids redrawing artifacts. (Mike Steed)
|
||||
|
||||
Fix a few multi-byte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
Fix a few multibyte problems in menu_name_skip(), set_reg_ic(), searchc() and
|
||||
findmatchlimit(). (Taro Muraoka)
|
||||
|
||||
GTK GUI:
|
||||
@ -6631,9 +6631,9 @@ Solution: Use a shell extension dll. (Tianmiao Hu)
|
||||
Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt
|
||||
|
||||
Patch 5.6a.028 (extra)
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multi-byte
|
||||
Problem: Win32 GUI: Dialogs and tear-off menus can't handle multibyte
|
||||
characters.
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters
|
||||
Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
|
||||
correctly.
|
||||
Files: src/gui_w32.c
|
||||
|
||||
@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
|
||||
- Add digraphs table. (Axel Kielhorn)
|
||||
- Multi-byte support: (Kenichi Asai)
|
||||
Switch keyscript when going in/out of Insert mode.
|
||||
Draw multi-byte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multi-byte char.
|
||||
Display value of multi-byte in statusline (also for other systems).
|
||||
Draw multibyte character correctly.
|
||||
Don't use mblen() but highest bit of char to detect multibyte char.
|
||||
Display value of multibyte in statusline (also for other systems).
|
||||
- mouse button was not initialized properly to MOUSE_LEFT when
|
||||
USE_CTRLCLICKMENU not defined.
|
||||
- With Japanese SJIS characters: Make "w", "b", and "e" work
|
||||
@ -6981,7 +6981,7 @@ Solution: Support TEXT and COMPOUND_TEXT selection targets. (ChiDeok Hwang)
|
||||
Files: src/gui_gtk_x11.c
|
||||
|
||||
Patch 5.6.037
|
||||
Problem: Multi-byte: Can't use "f" command with multi-byte character in GUI.
|
||||
Problem: Multi-byte: Can't use "f" command with multibyte character in GUI.
|
||||
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
|
||||
Files: src/gui_gtk_x11.c, src/multbyte.c
|
||||
|
||||
@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
|
||||
Patch 5.6.052
|
||||
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
|
||||
it terminates the command.
|
||||
Solution: Skip second byte of multi-byte char when checking for '|' and '"'.
|
||||
Solution: Skip second byte of multibyte char when checking for '|' and '"'.
|
||||
(Asai Kenichi)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
|
||||
|
||||
Patch 5.6.074 (extra)
|
||||
Problem: Entering CSI directly doesn't always work, because it's recognized
|
||||
as the start of a special key. Mostly a problem with multi-byte
|
||||
as the start of a special key. Mostly a problem with multibyte
|
||||
in the GUI.
|
||||
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
|
||||
<xCSI> for a CSI typed in the GUI.
|
||||
@ -7337,7 +7337,7 @@ Solution: Use IsBadStringPtr() to check if the pointer is valid.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 5.6.087
|
||||
Problem: Multi-byte: Commands and messages with multi-byte characters are
|
||||
Problem: Multi-byte: Commands and messages with multibyte characters are
|
||||
displayed wrong.
|
||||
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
|
||||
@ -7384,9 +7384,9 @@ Solution: Don't write a message about the file read from stdin until the GUI
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 5.6.094
|
||||
Problem: Problem with multi-byte string for ":echo var".
|
||||
Problem: Problem with multibyte string for ":echo var".
|
||||
Solution: Check for length in msg_outtrans_len_attr(). (Sung-Hyun Nam)
|
||||
Also make do_echo() aware of multi-byte characters.
|
||||
Also make do_echo() aware of multibyte characters.
|
||||
Files: src/eval.c, src/message.c
|
||||
|
||||
Patch 5.6.095
|
||||
@ -7417,9 +7417,9 @@ Files: src/misc1.c
|
||||
|
||||
Patch 5.7a.003
|
||||
Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at
|
||||
the end of the line on a multi-byte character the cursor moves to
|
||||
the end of the line on a multibyte character the cursor moves to
|
||||
the left.
|
||||
Solution: Check for multi-byte character at end-of-line. (Taro Muraoka)
|
||||
Solution: Check for multibyte character at end-of-line. (Taro Muraoka)
|
||||
Also: fix cls() to detect a double-byte character. (Chong-Dae Park)
|
||||
Files: src/edit.c, src/search.c
|
||||
|
||||
@ -7736,7 +7736,7 @@ Solution: Disallow executing a shell command in get_cmd_output() and
|
||||
Files: src/misc1.c, src/os_unix.c
|
||||
|
||||
Patch 5.7.019
|
||||
Problem: Multibyte: In a substitute string, a multi-byte character isn't
|
||||
Problem: Multibyte: In a substitute string, a multibyte character isn't
|
||||
skipped properly, can be a problem when the second byte is a
|
||||
backslash.
|
||||
Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 8.2. Last change: 2019 Jan 17
|
||||
*version6.txt* For Vim version 8.2. Last change: 2020 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -449,7 +449,7 @@ The help window is opened at the top, like ":topleft" was used, if the current
|
||||
window is fewer than 80 characters wide.
|
||||
|
||||
A few options can be used to set the preferences for vertically split windows.
|
||||
They work similar to their existing horizontal equivalents:
|
||||
They work similarly to their existing horizontal equivalents:
|
||||
horizontal vertical ~
|
||||
'splitbelow' 'splitright'
|
||||
'winheight' 'winwidth'
|
||||
@ -623,7 +623,7 @@ For syntax items:
|
||||
|
||||
Removed limit of matching only up to 32767 times with *, \+, etc.
|
||||
|
||||
Added support to match multi-byte characters. (partly by Muraoka Taro)
|
||||
Added support to match multibyte characters. (partly by Muraoka Taro)
|
||||
Made "\<" and "\>" work for UTF-8. (Muraoka Taro)
|
||||
|
||||
|
||||
@ -664,10 +664,10 @@ Many new items for Multi-byte support:
|
||||
- Added 'guifontwide' to specify a font for double-wide characters.
|
||||
- Added Korean support for character class detection. Also fix cls() in
|
||||
search.c. (Chong-Dae Park)
|
||||
- Win32: Typing multi-byte characters without IME. (Alexander Smishlajev)
|
||||
- Win32: Typing multibyte characters without IME. (Alexander Smishlajev)
|
||||
- Win32 with Mingw: compile with iconv library. (Ron Aaron)
|
||||
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
|
||||
- Make it possible to build a version with multi-byte and iconv support with
|
||||
- Make it possible to build a version with multibyte and iconv support with
|
||||
Borland 5.5. (Yasuhiro Matsumoto)
|
||||
- Added 'delcombine' option: Delete combining character separately. (Ron
|
||||
Aaron)
|
||||
@ -680,19 +680,19 @@ Many new items for Multi-byte support:
|
||||
- Support "CursorIM" for XIM. (Nam SungHyun)
|
||||
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
|
||||
each multibyte character, not only at a space.
|
||||
- Made ":syntax keyword" work with multi-byte characters.
|
||||
- Made ":syntax keyword" work with multibyte characters.
|
||||
- Added support for Unicode upper/lowercase flipping and comparing. (based on
|
||||
patch by Raphael Finkel)
|
||||
Let "~" on multi-byte characters that have a third case ("title case")
|
||||
Let "~" on multibyte characters that have a third case ("title case")
|
||||
switch between the three cases. (Raphael Finkel)
|
||||
|
||||
Allow defining digraphs for multi-byte characters.
|
||||
Allow defining digraphs for multibyte characters.
|
||||
Added RFC1345 digraphs for Unicode.
|
||||
Most Normal mode commands that accept a character argument, like "r", "t" and
|
||||
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
|
||||
Vi compatible.
|
||||
|
||||
Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Added Language mapping and 'keymap' to be able to type multibyte characters:
|
||||
- Added the ":lmap" command and friends: Define mappings that are used when
|
||||
typing characters in the language of the text. Also for "r", "t", etc. In
|
||||
Insert and Command-line mode CTRL-^ switches the use of the mappings on/off.
|
||||
@ -715,7 +715,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
- When typing a mapping that's not finished yet, display the last character
|
||||
under the cursor in Insert mode and Command-line mode. Looks good for dead
|
||||
characters.
|
||||
- Made the 'langmap' option recognize multi-byte characters. But mapping only
|
||||
- Made the 'langmap' option recognize multibyte characters. But mapping only
|
||||
works for 8-bit characters. Helps when using UTF-8.
|
||||
- Use a different cursor for when ":lmap" mappings are active. Can specify
|
||||
two highlight groups for an item in 'guicursor'. By default "lCursor" and
|
||||
@ -726,7 +726,7 @@ Added Language mapping and 'keymap' to be able to type multi-byte characters:
|
||||
Also works for "f", which now works to find a character that includes a
|
||||
composing character.
|
||||
|
||||
Other multi-byte character additions:
|
||||
Other multibyte character additions:
|
||||
- Support double-byte single-width characters for euc-jp: Characters starting
|
||||
with 0x8E. Added ScreenLines2[] to store the second byte.
|
||||
|
||||
@ -1004,7 +1004,7 @@ systems a PostScript file is generated, which can be printed with the
|
||||
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
|
||||
Mike Williams)
|
||||
|
||||
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
|
||||
Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Added options to tune the way printing works: (Vince Negri)
|
||||
@ -1703,7 +1703,7 @@ GUI:
|
||||
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
|
||||
Khodush)
|
||||
- When no --enable-xim argument is given, automatically enable it when a X GUI
|
||||
is used. Required for dead key support (and multi-byte input).
|
||||
is used. Required for dead key support (and multibyte input).
|
||||
- After a file selection dialog, check that the edited files were not changed
|
||||
or deleted. The Win32 dialog allows deleting and renaming files.
|
||||
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
|
||||
@ -2025,8 +2025,8 @@ Timestamps:
|
||||
file that steadily grows.
|
||||
|
||||
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
|
||||
"utf-8" causes the first byte of a multi-byte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multi-byte character.
|
||||
"utf-8" causes the first byte of a multibyte to be mapped. Can cause very
|
||||
hard to find problems. Disallow mapping part of a multibyte character.
|
||||
|
||||
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
|
||||
Also for ":ruby" and ":perl". (Benoit Cerrina)
|
||||
@ -2467,7 +2467,7 @@ Motif: When adding many menu items, the "Help" menu disappeared but the
|
||||
menubar didn't wrap. Now manually set the menubar height.
|
||||
|
||||
When using <BS> in Insert mode to remove a line break, or using "J" to join
|
||||
lines, the cursor could end up halfway a multi-byte character. (Muraoka Taro)
|
||||
lines, the cursor could end up halfway a multibyte character. (Muraoka Taro)
|
||||
|
||||
Removed defining SVR4 in configure. It causes problems for some X header
|
||||
files and doesn't appear to be used anywhere.
|
||||
@ -2617,12 +2617,12 @@ column. Can't encode a larger number in a character. Now limit the number to
|
||||
222, don't jump back to the first column.
|
||||
|
||||
GUI: In some versions CSI would cause trouble, either when typed directly or
|
||||
when part of a multi-byte sequence.
|
||||
when part of a multibyte sequence.
|
||||
|
||||
When using multibyte characters in a ":normal" command, a trailing byte that
|
||||
is CSI or K_SPECIAL caused problems.
|
||||
|
||||
Wildmenu didn't handle multi-byte characters.
|
||||
Wildmenu didn't handle multibyte characters.
|
||||
|
||||
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
|
||||
both work the same.
|
||||
@ -2673,7 +2673,7 @@ path.
|
||||
Multi-byte:
|
||||
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
|
||||
(Muraoka Taro)
|
||||
- When backspacing over inserted characters in Replace mode multi-byte
|
||||
- When backspacing over inserted characters in Replace mode multibyte
|
||||
characters were not handled correctly. (Muraoka Taro)
|
||||
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
|
||||
Taro)
|
||||
@ -2690,9 +2690,9 @@ Multi-byte:
|
||||
wrong error number. (Muraoka Taro)
|
||||
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
|
||||
the right character.
|
||||
- When using Visual block selection and only the left halve of a double-wide
|
||||
- When using Visual block selection and only the left half of a double-wide
|
||||
character is selected, the highlighting continued to the end of the line.
|
||||
- Visual-block delete didn't work properly when deleting the right halve of a
|
||||
- Visual-block delete didn't work properly when deleting the right half of a
|
||||
double-wide character.
|
||||
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
||||
character.
|
||||
@ -2701,8 +2701,8 @@ Multi-byte:
|
||||
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
||||
a CSI byte instead). (Muraoka Taro)
|
||||
- Wordwise selection with the mouse didn't work.
|
||||
- Yanking a modeless selection of multi-byte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
|
||||
- Yanking a modeless selection of multibyte characters didn't work.
|
||||
- When 'selection' is "exclusive", selecting a word that ends in a multibyte
|
||||
character used wrong highlighting for the following character.
|
||||
|
||||
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
|
||||
@ -2795,13 +2795,13 @@ GTK: Crash when 'shell' doesn't exist and doing":!ls". Use _exit() instead of
|
||||
exit() when the child couldn't execute the shell.
|
||||
|
||||
Multi-byte:
|
||||
- GUI with double-byte encoding: a mouse click in left halve of double-wide
|
||||
- GUI with double-byte encoding: a mouse click in left half of double-wide
|
||||
character put the cursor in previous char.
|
||||
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
|
||||
included the character after the word.
|
||||
- When using a double-byte encoding and there is a lead byte at the end of the
|
||||
line, the preceding line would be displayed. "ga" also showed wrong info.
|
||||
- "gf" didn't include multi-byte characters before the cursor properly.
|
||||
- "gf" didn't include multibyte characters before the cursor properly.
|
||||
(Muraoka Taro)
|
||||
|
||||
GUI: The cursor was sometimes not removed when scrolling. Changed the policy
|
||||
@ -2919,7 +2919,7 @@ The message remembered for displaying later (keep_msg) was sometimes pointing
|
||||
into a generic buffer, which might be changed by the time the message is
|
||||
displayed. Now make a copy of the message.
|
||||
|
||||
When using multi-byte characters in a menu and a trailing byte is a backslash,
|
||||
When using multibyte characters in a menu and a trailing byte is a backslash,
|
||||
the menu would not be created correctly. (Muraoka Taro)
|
||||
Using a multibyte character in the substitute string where a trail byte is a
|
||||
backslash didn't work. (Muraoka Taro)
|
||||
@ -2958,7 +2958,7 @@ the output.
|
||||
Don't define the <NetMouse> termcode in an xterm, reduces the problem when
|
||||
someone types <Esc> } in Insert mode.
|
||||
|
||||
Made slash_adjust() work correctly for multi-byte characters. (Yasuhiro
|
||||
Made slash_adjust() work correctly for multibyte characters. (Yasuhiro
|
||||
Matsumoto)
|
||||
Using a filename in Big5 encoding for autocommands didn't work (backslash in
|
||||
trailbyte). (Yasuhiro Matsumoto)
|
||||
@ -3147,7 +3147,7 @@ available space correctly. Was counting the menu height twice.
|
||||
Conversion of the docs to HTML didn't handle the line with the +quickfix tag
|
||||
correctly. (Antonio Colombo)
|
||||
|
||||
Win32: fname_case() didn't handle multi-byte characters correctly. (Yasuhiro
|
||||
Win32: fname_case() didn't handle multibyte characters correctly. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
The Cygwin version had trouble with fchdir(). Don't use that function for
|
||||
@ -3164,10 +3164,10 @@ the terminal it was started in.
|
||||
|
||||
When using ESC in Insert mode, an autoindent that wraps to the next line
|
||||
caused the cursor to move to the end of the line temporarily. When the
|
||||
character before the cursor was a double-wide multi-byte character the cursor
|
||||
would be on the right halve, which causes problems with some terminals.
|
||||
character before the cursor was a double-wide multibyte character the cursor
|
||||
would be on the right half, which causes problems with some terminals.
|
||||
|
||||
Didn't handle multi-byte characters correctly when expanding a file name.
|
||||
Didn't handle multibyte characters correctly when expanding a file name.
|
||||
(Yasuhiro Matsumoto)
|
||||
|
||||
Win32 GUI: Errors generated before the GUI is decided to start were not
|
||||
@ -3307,7 +3307,7 @@ started from the desktop (no place to display messages) it would hang. Now
|
||||
open the GUI window early to be able to display the messages and pop up the
|
||||
dialog.
|
||||
|
||||
"r<CR>" on a multi-byte character deleted only the first byte of the
|
||||
"r<CR>" on a multibyte character deleted only the first byte of the
|
||||
character. "3r<CR>" deleted three bytes instead of three characters.
|
||||
|
||||
When interrupting reading a file, Vi considers the buffer modified. Added the
|
||||
@ -3431,7 +3431,7 @@ Solution: Change slashes to backslashes in the directory passed to the file
|
||||
Files: src/gui_w48.c
|
||||
|
||||
Athena file browser: On some systems wcstombs() can't be used to get the
|
||||
length of a multi-byte string. Use the maximum length then. (Yasuhiro
|
||||
length of a multibyte string. Use the maximum length then. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
Patch 6.0ax.001
|
||||
@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 6.0.019
|
||||
Problem: Converting a string with multi-byte characters to a printable
|
||||
Problem: Converting a string with multibyte characters to a printable
|
||||
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
|
||||
Solution: Correctly compute the length of the result in transstr().
|
||||
Files: src/charset.c
|
||||
@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
|
||||
Files: src/os_msdos.c
|
||||
|
||||
Patch 6.0.074
|
||||
Problem: When using "&" in a substitute string a multi-byte character with
|
||||
Problem: When using "&" in a substitute string a multibyte character with
|
||||
a trailbyte 0x5c is not handled correctly.
|
||||
Solution: Recognize multi-byte characters inside the "&" part. (Muraoka Taro)
|
||||
Solution: Recognize multibyte characters inside the "&" part. (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.075
|
||||
@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 6.0.097
|
||||
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
|
||||
multi-byte encoding.
|
||||
multibyte encoding.
|
||||
Solution: Avoid using a character before the start of a line. (Sergey
|
||||
Vlasov)
|
||||
Files: src/edit.c
|
||||
@ -4356,7 +4356,7 @@ Files: src/normal.c
|
||||
|
||||
Patch 6.0.104
|
||||
Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
|
||||
character that overwrites the left halve of an old double-wide
|
||||
character that overwrites the left half of an old double-wide
|
||||
character causes a redraw problem and the cursor stops blinking.
|
||||
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c, src/screen.c
|
||||
@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.0.150
|
||||
Problem: When using a multi-byte encoding, patch 6.0.148 causes "p" to work
|
||||
Problem: When using a multibyte encoding, patch 6.0.148 causes "p" to work
|
||||
like "P". (Sung-Hyun Nam)
|
||||
Solution: Compute the byte length of a multi-byte character.
|
||||
Solution: Compute the byte length of a multibyte character.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.0.151
|
||||
Problem: Redrawing the status line and ruler can be wrong when it contains
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
|
||||
Files: src/misc2.c
|
||||
|
||||
Patch 6.0.182
|
||||
Problem: When using a regexp on multi-byte characters, could try to read a
|
||||
Problem: When using a regexp on multibyte characters, could try to read a
|
||||
character before the start of the line.
|
||||
Solution: Don't decrement a pointer to before the start of the line.
|
||||
Files: src/regexp.c
|
||||
@ -5060,7 +5060,7 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.0.209
|
||||
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
|
||||
are redraw problems for multi-byte characters.
|
||||
are redraw problems for multibyte characters.
|
||||
Solution: Separate the font dialog from setting the new font name to avoid
|
||||
that "*" is used to find wide and bold fonts.
|
||||
When redrawing extra characters for the bold trick, take care of
|
||||
@ -5203,14 +5203,14 @@ Files: src/ex_docmd.c, src/globals.h, src/normal.c, src/ops.c,
|
||||
|
||||
Patch 6.0.229
|
||||
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
|
||||
at a multi-byte char followed by an ASCII char, and the other way
|
||||
at a multibyte char followed by an ASCII char, and the other way
|
||||
around. (Muraoka Taro)
|
||||
When joining lines a space is inserted between multi-byte
|
||||
When joining lines a space is inserted between multibyte
|
||||
characters, which is not always wanted.
|
||||
Solution: Check for multi-byte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multi-byte character when
|
||||
Solution: Check for multibyte character before and after the breakpoint.
|
||||
Don't insert a space before or after a multibyte character when
|
||||
joining lines and the 'M' flag is in 'formatoptions'. Don't
|
||||
insert a space between multi-byte characters when the 'B' flag is
|
||||
insert a space between multibyte characters when the 'B' flag is
|
||||
in 'formatoptions'.
|
||||
Files: src/edit.c, src/ops.c, src/option.h
|
||||
|
||||
@ -5290,7 +5290,7 @@ Patch 6.0.241
|
||||
Problem: Win32: Expanding the old value of an option that is a path that
|
||||
starts with a backslash, an extra backslash is inserted.
|
||||
Solution: Only insert backslashes where needed.
|
||||
Also handle multi-byte characters properly when removing
|
||||
Also handle multibyte characters properly when removing
|
||||
backslashes.
|
||||
Files: src/option.c
|
||||
|
||||
@ -5312,7 +5312,7 @@ Problem: Multi-byte: Problems with (illegal) UTF-8 characters in menu and
|
||||
file name (e.g., icon text, status line).
|
||||
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
|
||||
characters and replace them with <xx>. Truncating the status line
|
||||
wasn't done correctly at a multi-byte character. (Yasuhiro
|
||||
wasn't done correctly at a multibyte character. (Yasuhiro
|
||||
Matsumoto)
|
||||
Added correct_cmdspos() and transchar_byte().
|
||||
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
|
||||
@ -5424,7 +5424,7 @@ Solution: Don't call gui_write() when still starting up. Don't give error
|
||||
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
|
||||
|
||||
Patch 6.0.261
|
||||
Problem: nr2char() and char2nr() don't work with multi-byte characters.
|
||||
Problem: nr2char() and char2nr() don't work with multibyte characters.
|
||||
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@ -5517,7 +5517,7 @@ Solution: Don't keep the driver context when using ":hardcopy!". (Vince
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1a.006
|
||||
Problem: multi-byte: after setting 'encoding' the window title might be
|
||||
Problem: multibyte: after setting 'encoding' the window title might be
|
||||
wrong.
|
||||
Solution: Force resetting the title. (Yasuhiro Matsumoto)
|
||||
Files: src/option.c
|
||||
@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
|
||||
|
||||
Patch 6.1a.029
|
||||
Problem: After patch 6.1a.028 can't compile GTK version with XIM but
|
||||
without multi-byte chars.
|
||||
without multibyte chars.
|
||||
Solution: Add an #ifdef. (Aschwin Marsman)
|
||||
Files: src/mbyte.c
|
||||
|
||||
@ -5701,9 +5701,9 @@ Solution: Remove the ACL checks, go back to how it worked in Vim 6.0.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.1a.035
|
||||
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
|
||||
multi-byte characters are not handled correctly.
|
||||
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
|
||||
Problem: multibyte: When using ":sh" in the GUI, typed and displayed
|
||||
multibyte characters are not handled correctly.
|
||||
Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
|
||||
Matsumoto) Also handle UTF-8 composing characters.
|
||||
Files: src/os_unix.c
|
||||
|
||||
@ -5748,9 +5748,9 @@ Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro
|
||||
|
||||
|
||||
Patch 6.1b.001 (extra)
|
||||
Problem: Checking for wildcards in a path does not handle multi-byte
|
||||
Problem: Checking for wildcards in a path does not handle multibyte
|
||||
characters with a trail byte which is a wildcard.
|
||||
Solution: Handle multi-byte characters correctly. (Muraoka Taro)
|
||||
Solution: Handle multibyte characters correctly. (Muraoka Taro)
|
||||
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
|
||||
src/os_unix.c
|
||||
|
||||
@ -6393,7 +6393,7 @@ wrong (back)slashes.
|
||||
|
||||
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
|
||||
|
||||
When using a multi-byte character with a K_SPECIAL byte or a special key code
|
||||
When using a multibyte character with a K_SPECIAL byte or a special key code
|
||||
with "--remote-send" the received byte sequence was mangled. Put it in the
|
||||
typeahead buffer instead of the input buffer.
|
||||
|
||||
@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
|
||||
Kielhorn)
|
||||
|
||||
When typing a password a "*" was shown for each byte instead of for each
|
||||
character. Added multi-byte handling to displaying the stars. (Yasuhiro
|
||||
character. Added multibyte handling to displaying the stars. (Yasuhiro
|
||||
Matsumoto)
|
||||
|
||||
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
|
||||
@ -6690,9 +6690,9 @@ Solution: Overrule 'lazyredraw' when do_redraw is set.
|
||||
Files: src/main.c, src/screen.c
|
||||
|
||||
Patch 6.1.038
|
||||
Problem: Multi-byte: When a ":s" command contains a multi-byte character
|
||||
Problem: Multi-byte: When a ":s" command contains a multibyte character
|
||||
where the trail byte is '~' the text is messed up.
|
||||
Solution: Properly skip multi-byte characters in regtilde() (Muraoka Taro)
|
||||
Solution: Properly skip multibyte characters in regtilde() (Muraoka Taro)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 6.1.039
|
||||
@ -7069,7 +7069,7 @@ Solution: Don't free the item on the stack. Use NULL instead of "none" for
|
||||
Files: src/gui_x11.c
|
||||
|
||||
Patch 6.1.096
|
||||
Problem: When erasing the right halve of a double-byte character, it may
|
||||
Problem: When erasing the right half of a double-byte character, it may
|
||||
cause further characters to be erased. (Yasuhiro Matsumoto)
|
||||
Solution: Make sure only one character is erased.
|
||||
Files: src/screen.c
|
||||
@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
|
||||
Files: runtime/optwin.vim
|
||||
|
||||
Patch 6.1.102
|
||||
Problem: Unprintable and multi-byte characters in a statusline item are not
|
||||
Problem: Unprintable and multibyte characters in a statusline item are not
|
||||
truncated correctly. (Yasuhiro Matsumoto)
|
||||
Solution: Count the width of characters instead of the number of bytes.
|
||||
Files: src/buffer.c
|
||||
@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 6.1.159
|
||||
Problem: When expanding an abbreviation that includes a multi-byte
|
||||
Problem: When expanding an abbreviation that includes a multibyte
|
||||
character too many characters are deleted. (Andrey Urazov)
|
||||
Solution: Delete the abbreviation counting characters instead of bytes.
|
||||
Files: src/getchar.c
|
||||
@ -7882,7 +7882,7 @@ Files: src/buffer.c, src/ex_cmds.c, src/fileio.c, src/globals.h,
|
||||
Patch 6.1.221
|
||||
Problem: Changing case may not work properly, depending on the current
|
||||
locale.
|
||||
Solution: Add the 'casemap' option to let the user chose how changing case
|
||||
Solution: Add the 'casemap' option to let the user choose how changing case
|
||||
is to be done.
|
||||
Also fix lowering case when an UTF-8 character doesn't keep the
|
||||
same byte length.
|
||||
@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
|
||||
|
||||
Patch 6.1.231
|
||||
Problem: Double clicking with the mouse to select a word does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
|
||||
is used instead of 'isident'. Also fix that mixing ASCII with
|
||||
multi-byte word characters doesn't work, the mouse class for
|
||||
multibyte word characters doesn't work, the mouse class for
|
||||
punctuation and word characters was mixed up.
|
||||
Files: src/normal.c
|
||||
|
||||
@ -8056,7 +8056,7 @@ Files: src/vim.h
|
||||
Patch 6.1.245
|
||||
Problem: Comparing with ignored case does not work properly for Unicode
|
||||
with a locale where case folding an ASCII character results in a
|
||||
multi-byte character. (Glenn Maynard)
|
||||
multibyte character. (Glenn Maynard)
|
||||
Solution: Handle ignore-case compare for Unicode differently.
|
||||
Files: src/mbyte.c
|
||||
|
||||
@ -8081,8 +8081,8 @@ Files: src/eval.c
|
||||
|
||||
Patch 6.1.249
|
||||
Problem: Can't expand a path on the command line if it includes a "|" as a
|
||||
trail byte of a multi-byte character.
|
||||
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
trail byte of a multibyte character.
|
||||
Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.250
|
||||
@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
|
||||
Files: src/fold.c
|
||||
|
||||
Patch 6.1.263
|
||||
Problem: When typing a multi-byte character that triggers an abbreviation
|
||||
Problem: When typing a multibyte character that triggers an abbreviation
|
||||
it is not inserted properly.
|
||||
Solution: Handle adding the typed multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Handle adding the typed multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 6.1.264 (depends on patch 6.1.254)
|
||||
@ -8207,7 +8207,7 @@ Solution: Allocate enough memory for saving the register contents. (Muraoka
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.1.268
|
||||
Problem: When triggering an abbreviation with a multi-byte character, this
|
||||
Problem: When triggering an abbreviation with a multibyte character, this
|
||||
character is not correctly inserted after expanding the
|
||||
abbreviation. (Taro Muraoka)
|
||||
Solution: Add ABBR_OFF to all characters above 0xff.
|
||||
@ -8321,7 +8321,7 @@ Files: runtime/doc/options.txt, src/buffer.c, src/option.c,
|
||||
src/quickfix.c
|
||||
|
||||
Patch 6.1.286
|
||||
Problem: 'showbreak' cannot contain multi-byte characters.
|
||||
Problem: 'showbreak' cannot contain multibyte characters.
|
||||
Solution: Allow using all printable characters for 'showbreak'.
|
||||
Files: src/charset.c, src/move.c, src/option.c
|
||||
|
||||
@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.1.290 (extra)
|
||||
Problem: Truncating long text for message box may break multi-byte
|
||||
Problem: Truncating long text for message box may break multibyte
|
||||
character.
|
||||
Solution: Adjust to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Adjust to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/os_mswin.c
|
||||
|
||||
Patch 6.1.291 (extra)
|
||||
@ -8368,7 +8368,7 @@ Solution: Change ">=" to ">" in ml_find_line_or_offset(). (Bradford C Smith)
|
||||
Files: src/memline.c
|
||||
|
||||
Patch 6.1.294
|
||||
Problem: Can't include a multi-byte character in a string by its hex value.
|
||||
Problem: Can't include a multibyte character in a string by its hex value.
|
||||
(Benji Fisher)
|
||||
Solution: Add "\u....": a character specified with up to four hex numbers
|
||||
and stored according to the value of 'encoding'.
|
||||
@ -8791,7 +8791,7 @@ Solution: Set Vim as the frontprocess. Fix scrolling. (Peter Cucka)
|
||||
Files: src/gui_mac.c
|
||||
|
||||
Patch 6.1.360 (depends on 6.1.341)
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multi-byte character.
|
||||
Problem: In Insert mode CTRL-K ESC messes up a multibyte character.
|
||||
(Anders Helmersson)
|
||||
Solution: Save all bytes of a character when displaying a character
|
||||
temporarily.
|
||||
@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
|
||||
|
||||
Patch 6.1.383
|
||||
Problem: The filling of the status line doesn't work properly for
|
||||
multi-byte characters. (Nam SungHyun)
|
||||
multibyte characters. (Nam SungHyun)
|
||||
There is no check for going past the end of the buffer.
|
||||
Solution: Properly distinguish characters and bytes. Properly check for
|
||||
running out of buffer space.
|
||||
@ -8976,13 +8976,13 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
|
||||
src/version.c
|
||||
|
||||
Patch 6.1.385 (depends on 6.1.383)
|
||||
Problem: Can't compile without the multi-byte feature.
|
||||
Problem: Can't compile without the multibyte feature.
|
||||
Solution: Move an #ifdef. (Christian J. Robinson)
|
||||
Files: src/buffer.c
|
||||
|
||||
Patch 6.1.386
|
||||
Problem: Get duplicate tags when running ":helptags".
|
||||
Solution: Do the other halve of moving a section to another help file.
|
||||
Solution: Do the other half of moving a section to another help file.
|
||||
Files: runtime/tagsrch.txt
|
||||
|
||||
Patch 6.1.387 (depends on 6.1.373)
|
||||
@ -9201,10 +9201,10 @@ Solution: Respect the GUARDEDOFFSET for sign IDs when checking for a guarded
|
||||
Files: src/netbeans.c
|
||||
|
||||
Patch 6.1.417
|
||||
Problem: Unprintable multi-byte characters are not handled correctly.
|
||||
Problem: Unprintable multibyte characters are not handled correctly.
|
||||
Multi-byte characters above 0xffff are displayed as another
|
||||
character.
|
||||
Solution: Handle unprintable multi-byte characters. Display multi-byte
|
||||
Solution: Handle unprintable multibyte characters. Display multibyte
|
||||
characters above 0xffff with a marker. Recognize UTF-16 words and
|
||||
BOM words as unprintable. (Daniel Elstner)
|
||||
Files: src/charset.c, src/mbyte.c, src/screen.c
|
||||
@ -9326,7 +9326,7 @@ Solution: Add the line number to the error message.
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.1.437 (extra, depends on 6.1.421)
|
||||
Problem: Using multi-byte functions when they are not available.
|
||||
Problem: Using multibyte functions when they are not available.
|
||||
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
|
||||
Also fix a pointer type mistake. (Walter Briscoe)
|
||||
Files: src/os_mswin.c
|
||||
@ -9526,8 +9526,8 @@ Solution: Only store folds for a buffer with 'buftype' empty and help files.
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
Patch 6.1.469
|
||||
Problem: 'listchars' cannot contain multi-byte characters.
|
||||
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Problem: 'listchars' cannot contain multibyte characters.
|
||||
Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
|
||||
Files: src/message.c, src/option.c, src/screen.c
|
||||
|
||||
Patch 6.1.470 (lang)
|
||||
@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
|
||||
|
||||
Patch 6.2.010
|
||||
Problem: When 'virtualedit' is effective and a line starts with a
|
||||
multi-byte character, moving the cursor right doesn't work.
|
||||
multibyte character, moving the cursor right doesn't work.
|
||||
Solution: Obtain the right character to compute the column offset. (Taro
|
||||
Muraoka)
|
||||
Files: src/charset.c
|
||||
@ -10109,7 +10109,7 @@ Files: src/fileio.c
|
||||
|
||||
Patch 6.2.027
|
||||
Problem: Warning for uninitialized variable.
|
||||
Solution: Set mb_l to one when not using multi-byte characters.
|
||||
Solution: Set mb_l to one when not using multibyte characters.
|
||||
Files: src/message.c
|
||||
|
||||
Patch 6.2.028
|
||||
@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
|
||||
Patch 6.2.054
|
||||
Problem: A double-byte character with a second byte that is a backslash
|
||||
causes problems inside a string.
|
||||
Solution: Skip over multi-byte characters in a string properly. (Yasuhiro
|
||||
Solution: Skip over multibyte characters in a string properly. (Yasuhiro
|
||||
Matsumoto)
|
||||
Files: src/eval.c
|
||||
|
||||
Patch 6.2.055
|
||||
Problem: Using col('.') from CTRL-O in Insert mode does not return the
|
||||
correct value for multi-byte characters.
|
||||
correct value for multibyte characters.
|
||||
Solution: Correct the cursor position when it is necessary, move to the
|
||||
first byte of a multi-byte character. (Yasuhiro Matsumoto)
|
||||
first byte of a multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 6.2.056 (extra)
|
||||
@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
|
||||
|
||||
Patch 6.2.143
|
||||
Problem: Using "K" on Visually selected text doesn't work if it ends in
|
||||
a multi-byte character.
|
||||
a multibyte character.
|
||||
Solution: Include all the bytes of the last character. (Taro Muraoka)
|
||||
Files: src/normal.c
|
||||
|
||||
@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
|
||||
Patch 6.2.206
|
||||
Problem: Multi-byte characters cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Handle multi-byte characters properly. Also put () or [] around
|
||||
Solution: Handle multibyte characters properly. Also put () or [] around
|
||||
default hotkeys.
|
||||
Files: src/message.c, src/macros.h
|
||||
|
||||
Patch 6.2.207
|
||||
Problem: When 'encoding' is a multi-byte encoding, expanding an
|
||||
Problem: When 'encoding' is a multibyte encoding, expanding an
|
||||
abbreviation that starts where insertion started results in
|
||||
characters before the insertion to be deleted. (Xiangjiang Ma)
|
||||
Solution: Stop searching leftwards for the start of the word at the position
|
||||
@ -11344,7 +11344,7 @@ Files: src/fileio.c, src/netbeans.c, src/proto/netbeans.pro,
|
||||
Patch 6.2.216 (after 6.2.206)
|
||||
Problem: Multi-byte characters still cannot be used as hotkeys in a console
|
||||
dialog. (Mattias Erkisson)
|
||||
Solution: Make get_keystroke() handle multi-byte characters.
|
||||
Solution: Make get_keystroke() handle multibyte characters.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.2.217
|
||||
@ -11710,7 +11710,7 @@ Files: src/gui.c
|
||||
Patch 6.2.269
|
||||
Problem: Diff mode does not highlight a change in a combining character.
|
||||
(Raphael Finkel)
|
||||
Solution: Make diff_find_change() multi-byte aware: find the start byte of
|
||||
Solution: Make diff_find_change() multibyte aware: find the start byte of
|
||||
a character that contains a change.
|
||||
Files: src/diff.c
|
||||
|
||||
@ -12505,7 +12505,7 @@ Solution: Don't redraw the bottom line if no rows were inserted or deleted.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.2.390
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters only replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters only replaces
|
||||
every other character. (Tyson Roberts)
|
||||
Solution: Correct the cursor position after replacing each character.
|
||||
Files: src/ops.c
|
||||
@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
|
||||
Files: src/syntax.c
|
||||
|
||||
Patch 6.2.427 (extra)
|
||||
Problem: When pasting a lot of text in a multi-byte encoding, conversion
|
||||
Problem: When pasting a lot of text in a multibyte encoding, conversion
|
||||
from 'termencoding' to 'encoding' may fail for some characters.
|
||||
(Kuang-che Wu)
|
||||
Solution: When there is an incomplete byte sequence at the end of the read
|
||||
@ -12984,7 +12984,7 @@ Files: src/normal.c
|
||||
Patch 6.2.462
|
||||
Problem: Finding a matching parenthesis does not correctly handle a
|
||||
backslash in a trailing byte.
|
||||
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
|
||||
Solution: Handle multibyte characters correctly. (Taro Muraoka)
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.463 (extra)
|
||||
@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 6.2.467 (extra, after 6.2.463)
|
||||
Problem: Win32: can't compile without multi-byte feature. (Ajit Thakkar)
|
||||
Problem: Win32: can't compile without multibyte feature. (Ajit Thakkar)
|
||||
Solution: Add #ifdefs around the info stream code.
|
||||
Files: src/os_win32.c
|
||||
|
||||
@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
|
||||
Files: src/search.c
|
||||
|
||||
Patch 6.2.491
|
||||
Problem: Decrementing a position doesn't take care of multi-byte chars.
|
||||
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
|
||||
Problem: Decrementing a position doesn't take care of multibyte chars.
|
||||
Solution: Adjust the column for multibyte characters. Remove mb_dec().
|
||||
(Yasuhiro Matsumoto)
|
||||
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
|
||||
|
||||
@ -13354,12 +13354,12 @@ Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/option.c,
|
||||
src/screen.c, src/syntax.c, src/vim.h
|
||||
|
||||
Patch 6.2.517
|
||||
Problem: Using "r*" in Visual mode on multi-byte characters replaces
|
||||
Problem: Using "r*" in Visual mode on multibyte characters replaces
|
||||
too many characters. In Visual Block mode replacing with a
|
||||
multi-byte character doesn't work.
|
||||
multibyte character doesn't work.
|
||||
Solution: Adjust the operator end for the difference in byte length of the
|
||||
original and the replaced character. Insert all bytes of a
|
||||
multi-byte character, take care of double-wide characters.
|
||||
multibyte character, take care of double-wide characters.
|
||||
Files: src/ops.c
|
||||
|
||||
Patch 6.2.518
|
||||
@ -13438,7 +13438,7 @@ Problem: NetBeans: Changes of the "~" command are not reported.
|
||||
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
|
||||
Also change NetBeans debugging to append to the log file.
|
||||
Also fix that "~" in Visual block mode changes too much if there
|
||||
are multi-byte characters.
|
||||
are multibyte characters.
|
||||
Files: src/nbdebug.c, src/normal.c, src/ops.c
|
||||
|
||||
Patch 6.2.529 (extra)
|
||||
@ -13552,7 +13552,7 @@ Solution: Convert menu strings from 'encoding' to the active codepage.
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
|
||||
Patch 6.3a.014
|
||||
Problem: Using multi-byte text and highlighting in a statusline causes gaps
|
||||
Problem: Using multibyte text and highlighting in a statusline causes gaps
|
||||
to appear. (Helmut Stiegler)
|
||||
Solution: Advance the column by text width instead of number of bytes. Add
|
||||
the vim_strnsize() function.
|
||||
@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 6.3.021
|
||||
Problem: When the last character of a file name is a multi-byte character
|
||||
Problem: When the last character of a file name is a multibyte character
|
||||
and the last byte is a path separator, the file cannot be edited.
|
||||
Solution: Check for the last byte to be part of a multi-byte character.
|
||||
Solution: Check for the last byte to be part of a multibyte character.
|
||||
(Taro Muraoka)
|
||||
Files: src/fileio.c
|
||||
|
||||
Patch 6.3.022 (extra)
|
||||
Problem: Win32: When the last character of a file name is a multi-byte
|
||||
Problem: Win32: When the last character of a file name is a multibyte
|
||||
character and the last byte is a path separator, the file cannot
|
||||
be written. A trail byte that is a space makes that a file cannot
|
||||
be opened from the command line.
|
||||
Solution: Recognize double-byte characters when parsing the command line.
|
||||
In mch_stat() check for the last byte to be part of a multi-byte
|
||||
In mch_stat() check for the last byte to be part of a multibyte
|
||||
character. (Taro Muraoka)
|
||||
Files: src/gui_w48.c, src/os_mswin.c
|
||||
|
||||
@ -14222,7 +14222,7 @@ Solution: Don't allow setting termcap options or 'printdevice' in a
|
||||
Files: src/option.c, runtime/doc/options.txt
|
||||
|
||||
Patch 6.3.046
|
||||
Problem: ":registers" doesn't show multi-byte characters properly.
|
||||
Problem: ":registers" doesn't show multibyte characters properly.
|
||||
(Valery Kondakoff)
|
||||
Solution: Get the length of each character before displaying it.
|
||||
Files: src/ops.c
|
||||
@ -14250,9 +14250,9 @@ Solution: Ignore SIGHUP when exiting because of an error. (Scott Anderson)
|
||||
Files: src/misc1.c, src/main.c
|
||||
|
||||
Patch 6.3.051
|
||||
Problem: When 'wildmenu' is set and completed file names contain multi-byte
|
||||
Problem: When 'wildmenu' is set and completed file names contain multibyte
|
||||
characters Vim may crash.
|
||||
Solution: Reserve room for multi-byte characters. (Yasuhiro Matsumoto)
|
||||
Solution: Reserve room for multibyte characters. (Yasuhiro Matsumoto)
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.052 (extra)
|
||||
@ -14286,9 +14286,9 @@ Solution: When moving ccline out of the way for recursive use, make it
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 6.3.056
|
||||
Problem: The last characters of a multi-byte file name may not be displayed
|
||||
Problem: The last characters of a multibyte file name may not be displayed
|
||||
in the window title.
|
||||
Solution: Avoid to remove a multi-byte character where the last byte looks
|
||||
Solution: Avoid to remove a multibyte character where the last byte looks
|
||||
like a path separator character. (Yasuhiro Matsumoto)
|
||||
Files: src/buffer.c, src/ex_getln.c
|
||||
|
||||
@ -14319,9 +14319,9 @@ Files: src/edit.c
|
||||
|
||||
Patch 6.3.061
|
||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
||||
multi-byte character in the last column, displaying is messed up.
|
||||
multibyte character in the last column, displaying is messed up.
|
||||
(Joël Rio)
|
||||
Solution: Check for a multi-byte character, not a multi-column character.
|
||||
Solution: Check for a multibyte character, not a multi-column character.
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 6.3.062
|
||||
@ -14384,7 +14384,7 @@ Files: src/edit.c
|
||||
Patch 6.3.072
|
||||
Problem: Crash in giving substitute message when language is Chinese and
|
||||
encoding is utf-8. (Yongwei)
|
||||
Solution: Make the msg_buf size larger when using multi-byte.
|
||||
Solution: Make the msg_buf size larger when using multibyte.
|
||||
Files: src/vim.h
|
||||
|
||||
Patch 6.3.073
|
||||
@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
|
||||
Files: src/version.h
|
||||
|
||||
Patch 6.4b.002
|
||||
Problem: In Insert mode, pasting a multi-byte character after the end of
|
||||
Problem: In Insert mode, pasting a multibyte character after the end of
|
||||
the line leaves the cursor just before that character.
|
||||
Solution: Make sure "gP" leaves the cursor in the right place when
|
||||
'virtualedit' is set.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version7.txt* For Vim version 8.2. Last change: 2016 Jul 17
|
||||
*version7.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
|
||||
Spell checking |new-spell|
|
||||
Omni completion |new-omni-completion|
|
||||
MzScheme interface |new-MzScheme|
|
||||
Printing multi-byte text |new-print-multi-byte|
|
||||
Printing multibyte text |new-print-multibyte|
|
||||
Tab pages |new-tab-pages|
|
||||
Undo branches |new-undo-branches|
|
||||
Extended Unicode support |new-more-unicode|
|
||||
@ -302,10 +302,10 @@ The |:mzfile| command can be used to execute an MzScheme script file
|
||||
This depends on Vim being compiled with the |+mzscheme| feature.
|
||||
|
||||
|
||||
Printing multi-byte text *new-print-multi-byte*
|
||||
Printing multibyte text *new-print-multibyte*
|
||||
------------------------
|
||||
|
||||
The |:hardcopy| command now supports printing multi-byte characters when using
|
||||
The |:hardcopy| command now supports printing multibyte characters when using
|
||||
PostScript.
|
||||
|
||||
The 'printmbcharset' and 'printmbfont' options are used for this.
|
||||
@ -1211,7 +1211,7 @@ Also fixes the problem that setting 'clipboard' to "unnamed" breaks using
|
||||
|
||||
Mac: GUI font selector. (Peter Cucka)
|
||||
|
||||
Mac: support for multi-byte characters. (Da Woon Jung)
|
||||
Mac: support for multibyte characters. (Da Woon Jung)
|
||||
This doesn't always work properly. If you see text drawing problems try
|
||||
switching the 'macatsui' option off.
|
||||
|
||||
@ -1361,7 +1361,7 @@ When C, C++ or IDL syntax is used, may additionally load doxygen syntax.
|
||||
Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
|
||||
filetype or syntax.
|
||||
|
||||
The ":registers" command now displays multi-byte characters properly.
|
||||
The ":registers" command now displays multibyte characters properly.
|
||||
|
||||
VMS: In the usage message mention that a slash can be used to make a flag
|
||||
upper case. Add color support to the builtin vt320 terminal codes.
|
||||
@ -1460,7 +1460,7 @@ To count items (pattern matches) without changing the buffer the 'n' flag has
|
||||
been added to |:substitute|. See |count-items|.
|
||||
|
||||
In a |:substitute| command the \u, \U, \l and \L items now also work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
|
||||
The "screen.linux" $TERM name is recognized to set the default for
|
||||
'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
|
||||
@ -1736,7 +1736,7 @@ variables like for a regular command with a file argument.
|
||||
'cindent': When the argument of a #define looks like a C++ class the next line
|
||||
is indented too much.
|
||||
|
||||
When 'comments' includes multi-byte characters inserting the middle part and
|
||||
When 'comments' includes multibyte characters inserting the middle part and
|
||||
alignment may go wrong. 'cindent' also suffers from this for right-aligned
|
||||
items.
|
||||
|
||||
@ -2309,7 +2309,7 @@ characters in v:this_session.
|
||||
|
||||
":set sta ts=8 sw=4 sts=2" deleted 4 spaces halfway a line instead of 2.
|
||||
|
||||
In a multi-byte file the foldmarker could be recognized in the trail byte.
|
||||
In a multibyte file the foldmarker could be recognized in the trail byte.
|
||||
(Taro Muraoka)
|
||||
|
||||
Pasting with CTRL-V and menu didn't work properly when some commands are
|
||||
@ -2504,7 +2504,7 @@ a crash.
|
||||
|
||||
For a new tab page the 'scroll' option wasn't set to a good default.
|
||||
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multi-byte
|
||||
Using an end offset for a search "/pat/e" didn't work properly for multibyte
|
||||
text. (Yukihiro Nakadaira)
|
||||
|
||||
":s/\n/,/" doubled the text when used on the last line.
|
||||
@ -2604,7 +2604,7 @@ recursively. But after a ":normal" command the protection was reset.
|
||||
|
||||
":s/a/b/n" didn't work when 'modifiable' was off.
|
||||
|
||||
When $VIMRUNTIME includes a multi-byte character then rgb.txt could not be
|
||||
When $VIMRUNTIME includes a multibyte character then rgb.txt could not be
|
||||
found. (Yukihiro Nakadaira)
|
||||
|
||||
":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
|
||||
@ -2670,7 +2670,7 @@ keep them in the original order.
|
||||
Fixed a crash when editing a directory in diff mode. Don't trigger
|
||||
autocommands when executing the diff command.
|
||||
|
||||
Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
|
||||
Getting a keystroke could get stuck if 'encoding' is a multibyte encoding and
|
||||
typing a special key.
|
||||
|
||||
When 'foldignore' is set the folds were not updated right away.
|
||||
@ -2711,7 +2711,7 @@ When using ":vsp" or ":sp" the available space wasn't used equally between
|
||||
windows. (Servatius Brandt)
|
||||
|
||||
Expanding <cWORD> on a trailing blank resulted in the first word in the line
|
||||
if 'encoding' is a multi-byte encoding.
|
||||
if 'encoding' is a multibyte encoding.
|
||||
|
||||
Spell checking: spellbadword() didn't see a missing capital in the first word
|
||||
of a line. Popup menu now only suggest the capitalized word when appropriate.
|
||||
@ -2734,7 +2734,7 @@ background, which made magenta text disappear. Now use reverse in this
|
||||
specific situation.
|
||||
|
||||
After completing the longest match "." didn't insert the same text. Repeating
|
||||
also didn't work correctly for multi-byte text.
|
||||
also didn't work correctly for multibyte text.
|
||||
|
||||
When using Insert mode completion and BS the whole word that was completed
|
||||
would result in all possible matches. Now stop completion. Also fixes that
|
||||
@ -2751,7 +2751,7 @@ non-ASCII characters looked wrong. (Yegappan Lakshmanan)
|
||||
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
|
||||
check, disable GUI tabline when it's missing.
|
||||
|
||||
Mac: When compiled without multi-byte feature the clipboard didn't work.
|
||||
Mac: When compiled without multibyte feature the clipboard didn't work.
|
||||
|
||||
It was possible to switch to another tab page when the cmdline window is open.
|
||||
|
||||
@ -2762,7 +2762,7 @@ number following the file name.
|
||||
Added 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
|
||||
|
||||
Added "throw" to 'debug' option: throw an exception for error messages even
|
||||
whey they would otherwise be ignored.
|
||||
when they would otherwise be ignored.
|
||||
|
||||
When 'keymap' is set and a line contains an invalid entry could get a "No
|
||||
mapping found" warning instead of a proper error message.
|
||||
@ -2867,7 +2867,7 @@ a crash.
|
||||
|
||||
GTK: The tab pages line menu was not converted from 'encoding' to utf-8.
|
||||
|
||||
Typing a multi-byte character or a special key at the hit-enter prompt did not
|
||||
Typing a multibyte character or a special key at the hit-enter prompt did not
|
||||
work.
|
||||
|
||||
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
|
||||
@ -3387,7 +3387,7 @@ Solution: When running Vim as root don't become a Vim server without an
|
||||
Files: src/main.c
|
||||
|
||||
Patch 7.0.053
|
||||
Problem: Shortening a directory name may fail when there are multi-byte
|
||||
Problem: Shortening a directory name may fail when there are multibyte
|
||||
characters.
|
||||
Solution: Copy the correct bytes. (Titov Anatoly)
|
||||
Files: src/misc1.c
|
||||
@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.0.089
|
||||
Problem: "ga" does not work properly for a non-Unicode multi-byte encoding.
|
||||
Problem: "ga" does not work properly for a non-Unicode multibyte encoding.
|
||||
Solution: Only check for composing chars for utf-8. (Taro Muraoka)
|
||||
Files: src/ex_cmds.c
|
||||
|
||||
@ -3859,7 +3859,7 @@ Solution: Set ins_need_undo after using 'formatexpr'.
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.0.127
|
||||
Problem: Crash when swap files has invalid timestamp.
|
||||
Problem: Crash when swap file has invalid timestamp.
|
||||
Solution: Check return value of ctime() for being NULL.
|
||||
Files: src/memline.c
|
||||
|
||||
@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
|
||||
Patch 7.0.185
|
||||
Problem: Multi-byte characters in a message are displayed with attributes
|
||||
from what comes before it.
|
||||
Solution: Don't use the attributes for a multi-byte character. Do use
|
||||
Solution: Don't use the attributes for a multibyte character. Do use
|
||||
attributes for special characters. (Yukihiro Nakadaira)
|
||||
Files: src/message.c
|
||||
|
||||
@ -4307,7 +4307,7 @@ Solution: Add type casts. Use "*" for processorArchitecture. (George Reilly)
|
||||
Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
|
||||
|
||||
Patch 7.0.199
|
||||
Problem: When using multi-byte characters the combination of completion and
|
||||
Problem: When using multibyte characters the combination of completion and
|
||||
formatting may result in a wrong cursor position.
|
||||
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
|
||||
Nakadaira) Also check for the column to be zero.
|
||||
@ -5902,10 +5902,10 @@ Solution: Don't advance the cursor when it's already on the NUL after a
|
||||
Files: src/normal.c
|
||||
|
||||
Patch 7.1.185
|
||||
Problem: Using "gR" with a multi-byte encoding and typing a CR pushes
|
||||
Problem: Using "gR" with a multibyte encoding and typing a CR pushes
|
||||
characters onto the replace stack incorrectly, resulting in BS
|
||||
putting back the wrong characters. (Paul B. Mahol)
|
||||
Solution: Push multi-byte characters onto the replace stack in reverse byte
|
||||
Solution: Push multibyte characters onto the replace stack in reverse byte
|
||||
order. Add replace_push_mb().
|
||||
Files: src/edit.c, src/misc1.c, src/proto/edit.pro
|
||||
|
||||
@ -6112,7 +6112,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/hardcopy.c,
|
||||
|
||||
Patch 7.1.220
|
||||
Problem: When a ")" or word movement command moves the cursor back from the
|
||||
end of the line it may end up on the trail byte of a multi-byte
|
||||
end of the line it may end up on the trail byte of a multibyte
|
||||
character. It's also moved back when it isn't needed.
|
||||
Solution: Add the adjust_cursor() function.
|
||||
Files: src/normal.c
|
||||
@ -6241,7 +6241,7 @@ Problem: When "gUe" turns a German sharp s into SS the operation stops
|
||||
before the end of the word. Latin2 has the same sharp s but it's
|
||||
not changed to SS there.
|
||||
Solution: Make sure all the characters are operated upon. Detect the sharp
|
||||
s in latin2. Also fixes that changing case of a multi-byte
|
||||
s in latin2. Also fixes that changing case of a multibyte
|
||||
character that changes the byte count doesn't always work.
|
||||
Files: src/ops.c
|
||||
|
||||
@ -6757,9 +6757,9 @@ Solution: Use separate buffer for posix path. (Ben Schmidt)
|
||||
Files: src/os_unix.c
|
||||
|
||||
Patch 7.1.329
|
||||
Problem: When the popup menu is removed a column of cells, the right halve
|
||||
Problem: When the popup menu is removed a column of cells, the right half
|
||||
of double-wide characters, may not be redrawn.
|
||||
Solution: Check if the right halve of a character needs to be redrawn.
|
||||
Solution: Check if the right half of a character needs to be redrawn.
|
||||
(Yukihiro Nakadaira)
|
||||
Files: src/screen.c
|
||||
|
||||
@ -6771,7 +6771,7 @@ Files: src/misc1.c
|
||||
|
||||
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
|
||||
|
||||
A search offset from the end of a match didn't work properly for multi-byte
|
||||
A search offset from the end of a match didn't work properly for multibyte
|
||||
characters. (Yukihiro Nakadaira)
|
||||
|
||||
When displaying the value of 'key' don't show "*****" when the value is empty.
|
||||
@ -6965,7 +6965,7 @@ The #ifdef for including "vimio.h" was inconsistent. In a few files it
|
||||
depended on MSWIN, which isn't defined until later.
|
||||
|
||||
Patch 7.2b.001
|
||||
Problem: Compilation problem: mb_fix_col() missing with multi-byte feature
|
||||
Problem: Compilation problem: mb_fix_col() missing with multibyte feature
|
||||
but without GUI or clipboard.
|
||||
Solution: Remove #ifdef.
|
||||
Files: src/mbyte.c
|
||||
@ -7804,7 +7804,7 @@ Solution: Don't change "Columns" back to an old value at a wrong moment.
|
||||
Files: src/gui.c
|
||||
|
||||
Patch 7.2.066
|
||||
Problem: It's not easy to see whether 'encoding' is a multi-byte encoding.
|
||||
Problem: It's not easy to see whether 'encoding' is a multibyte encoding.
|
||||
Solution: Add has('multi_byte_encoding').
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
@ -7949,7 +7949,7 @@ Solution: Don't use a WM_OLE message of zero size. (Ray Megal)
|
||||
Files: src/if_ole.cpp, src/gui_w48.c
|
||||
|
||||
Patch 7.2.090
|
||||
Problem: User command containing 0x80 in multi-byte character does not work
|
||||
Problem: User command containing 0x80 in multibyte character does not work
|
||||
properly. (Yasuhiro Matsumoto)
|
||||
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
|
||||
the command.
|
||||
@ -7967,7 +7967,7 @@ Files: src/eval.c
|
||||
|
||||
Patch 7.2.093 (extra)
|
||||
Problem: Win32: inputdialog() and find/replace dialogs can't handle
|
||||
multi-byte text.
|
||||
multibyte text.
|
||||
Solution: Use the wide version of dialog functions when available. (Yanwei
|
||||
Jia)
|
||||
Files: src/gui_w32.c, src/gui_w48.c
|
||||
@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
|
||||
Files: src/option.c
|
||||
|
||||
Patch 7.2.109
|
||||
Problem: 'langmap' does not work for multi-byte characters.
|
||||
Solution: Add a list of mapped multi-byte characters. (based on work by
|
||||
Problem: 'langmap' does not work for multibyte characters.
|
||||
Solution: Add a list of mapped multibyte characters. (based on work by
|
||||
Konstantin Korikov, Agathoklis Hatzimanikas)
|
||||
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
|
||||
src/normal.c, src/option.c, src/proto/option.pro, src/window.c
|
||||
@ -8908,7 +8908,7 @@ Solution: Remove _FORTIFY_SOURCE=2 from CFLAGS. (Dominique Pelle)
|
||||
Files: src/auto/configure, src/configure.in
|
||||
|
||||
Patch 7.2.252
|
||||
Problem: When using a multi-byte 'enc' the 'iskeyword' option cannot
|
||||
Problem: When using a multibyte 'enc' the 'iskeyword' option cannot
|
||||
contain characters above 128.
|
||||
Solution: Use mb_ptr2char_adv().
|
||||
Files: src/charset.c
|
||||
@ -9053,7 +9053,7 @@ Files: src/memline.c
|
||||
Patch 7.2.276
|
||||
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
|
||||
Solution: Check for the character to be < 256. Also make it possible to
|
||||
specify a range of multi-byte characters. (Lech Lorens)
|
||||
specify a range of multibyte characters. (Lech Lorens)
|
||||
Files: src/charset.c
|
||||
|
||||
Patch 7.2.277
|
||||
@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
|
||||
Files: src/screen.c
|
||||
|
||||
Patch 7.2.292
|
||||
Problem: Block right-shift doesn't work properly with multi-byte encoding
|
||||
Problem: Block right-shift doesn't work properly with multibyte encoding
|
||||
and 'list' set.
|
||||
Solution: Add the missing "else". (Lech Lorens)
|
||||
Files: src/ops.c
|
||||
@ -9430,7 +9430,7 @@ Files: src/screen.c
|
||||
|
||||
Patch 7.2.342
|
||||
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Adjust the column computations. (Dominique Pelle)
|
||||
Files: src/popupmnu.c
|
||||
|
||||
@ -10111,7 +10111,7 @@ Fix compile warnings, esp. for 64-bit systems. (Mike Williams)
|
||||
Fix: :redir to a dictionary that is changed before ":redir END" causes a
|
||||
memory access error.
|
||||
|
||||
Fix: terminal title not properly restored when there are multi-byte
|
||||
Fix: terminal title not properly restored when there are multibyte
|
||||
characters. (partly by James Vega)
|
||||
|
||||
Set 'wrapscan' when checking the .po files. (Mike Williams)
|
||||
@ -10132,7 +10132,7 @@ Changed readfile() to ignore byte order marks, unless in binary mode.
|
||||
|
||||
On MS-Windows completion of shell commands didn't work.
|
||||
|
||||
An unprintable multi-byte character at the start of the screen line caused the
|
||||
An unprintable multibyte character at the start of the screen line caused the
|
||||
following text to be drawn at the wrong position.
|
||||
|
||||
Got ml_get errors when using undo with 'virtualedit'.
|
||||
@ -10391,7 +10391,7 @@ Solution: Increase the list reference count. Add a test for undotree()
|
||||
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
|
||||
|
||||
Patch 7.3.006
|
||||
Problem: Can't build some multi-byte code with C89.
|
||||
Problem: Can't build some multibyte code with C89.
|
||||
Solution: Move code to after declarations. (Joachim Schmitz)
|
||||
Files: src/mbyte.c, src/spell.c
|
||||
|
||||
@ -11161,7 +11161,7 @@ Solution: Call update_screen() before waiting for input.
|
||||
Files: src/misc1.c, src/getchar.c
|
||||
|
||||
Patch 7.3.138
|
||||
Problem: ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
|
||||
Problem: ":com" changes the multibyte text of :echo. (Dimitar Dimitrov)
|
||||
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
|
||||
Files: src/ex_docmd.c
|
||||
|
||||
@ -11486,7 +11486,7 @@ Files: README_extra.txt, src/Make_ro.mak, src/INSTALL, src/Makefile,
|
||||
src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
|
||||
|
||||
Patch 7.3.192
|
||||
Problem: Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
|
||||
Problem: Ex command ":s/ \?/ /g" splits multibyte characters into bytes.
|
||||
(Dominique Pelle)
|
||||
Solution: Advance over whole character instead of one byte.
|
||||
Files: src/ex_cmds.c
|
||||
@ -12016,15 +12016,15 @@ Solution: Only restore the cursor position when there is a command line.
|
||||
Files: src/ex_getln.c
|
||||
|
||||
Patch 7.3.283
|
||||
Problem: An expression mapping with a multi-byte character containing a
|
||||
Problem: An expression mapping with a multibyte character containing a
|
||||
0x80 byte gets messed up. (ZyX)
|
||||
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
|
||||
Files: src/getchar.c
|
||||
|
||||
Patch 7.3.284
|
||||
Problem: The str2special() function doesn't handle multi-byte characters
|
||||
Problem: The str2special() function doesn't handle multibyte characters
|
||||
properly.
|
||||
Solution: Recognize multi-byte characters. (partly by Vladimir Vichniakov)
|
||||
Solution: Recognize multibyte characters. (partly by Vladimir Vichniakov)
|
||||
Files: src/getchar.c, src/message.c, src/misc2.c
|
||||
|
||||
Patch 7.3.285 (after 7.3.284)
|
||||
@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
|
||||
Files: src/gui_photon.c
|
||||
|
||||
Patch 7.3.300
|
||||
Problem: Python doesn't parse multi-byte argument correctly.
|
||||
Problem: Python doesn't parse multibyte argument correctly.
|
||||
Solution: Use "t" instead of "s". (lilydjwg)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
|
||||
|
||||
Patch 7.3.328
|
||||
Problem: When command line wraps the cursor may be displayed wrong when
|
||||
there are multi-byte characters.
|
||||
there are multibyte characters.
|
||||
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@ -13377,7 +13377,7 @@ Solution: Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
|
||||
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
||||
|
||||
Patch 7.3.521
|
||||
Problem: Using "z=" on a multi-byte character may cause a crash.
|
||||
Problem: Using "z=" on a multibyte character may cause a crash.
|
||||
Solution: Don't use strlen() on an int pointer.
|
||||
Files: src/spell.c
|
||||
|
||||
@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
|
||||
|
||||
Patch 7.3.539
|
||||
Problem: Redrawing a character on the command line does not work properly
|
||||
for multi-byte characters.
|
||||
for multibyte characters.
|
||||
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
|
||||
Files: src/ex_getln.c
|
||||
|
||||
@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
|
||||
Files: src/os_win32.c
|
||||
|
||||
Patch 7.3.606
|
||||
Problem: CTRL-P completion has a problem with multi-byte characters.
|
||||
Problem: CTRL-P completion has a problem with multibyte characters.
|
||||
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
|
||||
Files: src/search.c, src/macros.h
|
||||
|
||||
@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
|
||||
|
||||
Patch 7.3.664
|
||||
Problem: Buffer overflow in unescaping text. (Raymond Ko)
|
||||
Solution: Limit check for multi-byte character to 4 bytes.
|
||||
Solution: Limit check for multibyte character to 4 bytes.
|
||||
Files: src/mbyte.c
|
||||
|
||||
Patch 7.3.665
|
||||
@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
|
||||
Files: runtime/doc/eval.txt, src/eval.c
|
||||
|
||||
Patch 7.3.695
|
||||
Problem: Balloon cannot show multi-byte text.
|
||||
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
|
||||
Problem: Balloon cannot show multibyte text.
|
||||
Solution: Properly deal with multibyte characters. (Dominique Pelle)
|
||||
Files: src/gui_beval.c, src/ui.c
|
||||
|
||||
Patch 7.3.696
|
||||
@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
|
||||
src/testdir/test88.ok,
|
||||
|
||||
Patch 7.3.749
|
||||
Problem: Python interface doesn't build without the multi-byte feature.
|
||||
Problem: Python interface doesn't build without the multibyte feature.
|
||||
Solution: Add #ifdef. (Ken Takata)
|
||||
Files: src/if_py_both.h
|
||||
|
||||
@ -14762,7 +14762,7 @@ Solution: Save and restore the cursor position when appropriate. (idea by
|
||||
Files: src/edit.c
|
||||
|
||||
Patch 7.3.769
|
||||
Problem: 'matchpairs' does not work with multi-byte characters.
|
||||
Problem: 'matchpairs' does not work with multibyte characters.
|
||||
Solution: Make it work. (Christian Brabandt)
|
||||
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
|
||||
src/testdir/test69.in, src/testdir/test69.ok
|
||||
@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
|
||||
Files: Filelist
|
||||
|
||||
Patch 7.3.840
|
||||
Problem: "\@<!" in regexp does not work correctly with multi-byte
|
||||
Problem: "\@<!" in regexp does not work correctly with multibyte
|
||||
characters, especially cp932.
|
||||
Solution: Move column to start of multi-byte character. (Yasuhiro Matsumoto)
|
||||
Solution: Move column to start of multibyte character. (Yasuhiro Matsumoto)
|
||||
Files: src/regexp.c
|
||||
|
||||
Patch 7.3.841
|
||||
@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
|
||||
Files: src/ui.c, src/ops.c
|
||||
|
||||
Patch 7.3.853
|
||||
Problem: Using "ra" in multiple lines on multi-byte characters leaves a few
|
||||
Problem: Using "ra" in multiple lines on multibyte characters leaves a few
|
||||
characters not replaced.
|
||||
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
||||
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
|
||||
@ -15271,7 +15271,7 @@ Solution: Add type casts. (Mike Williams)
|
||||
Files: src/misc1.c
|
||||
|
||||
Patch 7.3.856
|
||||
Problem: When calling system() multi-byte clipboard contents is garbled.
|
||||
Problem: When calling system() multibyte clipboard contents is garbled.
|
||||
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
|
||||
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
|
||||
src/proto/ops.pro, src/os_unix.c, src/proto/ui.pro, src/ui.c
|
||||
@ -15379,9 +15379,9 @@ Files: src/regexp.c, src/testdir/test79.in, src/testdir/test79.ok,
|
||||
src/testdir/test80.in, src/testdir/test80.ok
|
||||
|
||||
Patch 7.3.874
|
||||
Problem: Comparing file names does not handle multi-byte characters
|
||||
Problem: Comparing file names does not handle multibyte characters
|
||||
properly.
|
||||
Solution: Implement multi-byte handling.
|
||||
Solution: Implement multibyte handling.
|
||||
Files: src/misc1.c, src/misc2.c
|
||||
|
||||
Patch 7.3.875 (after 7.3.866)
|
||||
@ -15443,7 +15443,7 @@ Solution: Do not unref list and dict. (Yasuhiro Matsumoto)
|
||||
Files: src/if_lua.c
|
||||
|
||||
Patch 7.3.886
|
||||
Problem: Can't build with multi-byte on Solaris 10.
|
||||
Problem: Can't build with multibyte on Solaris 10.
|
||||
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
|
||||
Files: src/ui.c
|
||||
|
||||
@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
|
||||
|
||||
Patch 7.3.888
|
||||
Problem: Filename completion with 'fileignorecase' does not work for
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
||||
Files: src/misc2.c
|
||||
|
||||
@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
|
||||
Patch 7.3.968
|
||||
Problem: Multi-byte support is only available when compiled with "big"
|
||||
features.
|
||||
Solution: Include multi-byte by default, with "normal" features.
|
||||
Solution: Include multibyte by default, with "normal" features.
|
||||
Files: src/feature.h
|
||||
|
||||
Patch 7.3.969
|
||||
@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.980
|
||||
Problem: Regexp logs may contain garbage. Character classes don't work
|
||||
correctly for multi-byte characters.
|
||||
correctly for multibyte characters.
|
||||
Solution: Check for end of post list. Only use "is" functions for
|
||||
characters up to 255. (Ken Takata)
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
Patch 7.3.981
|
||||
Problem: In the old regexp engine \i, \I, \f and \F don't work on
|
||||
multi-byte characters.
|
||||
multibyte characters.
|
||||
Solution: Dereference pointer properly.
|
||||
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
|
||||
|
||||
Patch 7.3.982
|
||||
Problem: In the new regexp engine \p does not work on multi-byte
|
||||
Problem: In the new regexp engine \p does not work on multibyte
|
||||
characters.
|
||||
Solution: Don't point to an integer but the characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@ -16169,7 +16169,7 @@ Files: src/memfile.c
|
||||
|
||||
Patch 7.3.1008
|
||||
Problem: Test 95 fails on MS-Windows.
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multi-byte character to
|
||||
Solution: Set 'nomore'. Change \i to \f. Change multibyte character to
|
||||
something that is not matching \i. (Ken Takata)
|
||||
Files: src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
@ -16185,7 +16185,7 @@ Solution: Only apply ireg_icombine for composing characters.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
|
||||
Patch 7.3.1011
|
||||
Problem: New regexp engine is inefficient with multi-byte characters.
|
||||
Problem: New regexp engine is inefficient with multibyte characters.
|
||||
Solution: Handle a character at a time instead of a byte at a time. Also
|
||||
make \Z partly work.
|
||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||
@ -16313,7 +16313,7 @@ Files: src/regexp_nfa.c, src/testdir/test64.in, src/testdir/test64.ok,
|
||||
src/regexp.h
|
||||
|
||||
Patch 7.3.1034
|
||||
Problem: New regexp code using strange multi-byte code.
|
||||
Problem: New regexp code using strange multibyte code.
|
||||
Solution: Use the normal code to advance and backup pointers.
|
||||
Files: src/regexp_nfa.c
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user