mirror of
https://github.com/vim/vim
synced 2025-07-19 18:51:53 +00:00
Compare commits
540 Commits
Author | SHA1 | Date | |
---|---|---|---|
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)
|
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||||
- ./configure --with-features=${FEATURES}
|
- ./configure --with-features=${FEATURES}
|
||||||
- make -j${NPROC}
|
- make -j${NPROC}
|
||||||
- src/vim --version
|
|
||||||
test_script:
|
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
|
||||||
|
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
|
||||||
|
)
|
58
.travis.yml
58
.travis.yml
@ -1,23 +1,29 @@
|
|||||||
language: c
|
language: c
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
- BUILD=yes TEST=test CONFOPT= LEAK_CFLAGS="-DEXITFREE" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||||
|
|
||||||
_anchors:
|
_anchors:
|
||||||
envs:
|
envs:
|
||||||
- &tiny-nogui
|
- &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
|
- &tiny
|
||||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=tiny TEST=testtiny
|
||||||
- &small
|
- &small
|
||||||
BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=small TEST=testtiny
|
||||||
- &normal
|
- &normal
|
||||||
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=normal
|
||||||
- &linux-huge
|
- &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"
|
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &osx-huge # macOS build
|
- &osx-huge # macOS build
|
||||||
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=huge
|
||||||
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
CONFOPT="--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||||
- &unittests
|
- &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
|
- &asan # ASAN build
|
||||||
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
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"
|
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
|
||||||
@ -63,7 +69,11 @@ _anchors:
|
|||||||
fi
|
fi
|
||||||
before_script:
|
before_script:
|
||||||
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
|
- 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
|
- sudo usermod -a -G audio $USER
|
||||||
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
- do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||||
|
|
||||||
@ -87,7 +97,7 @@ _anchors:
|
|||||||
# Lua is not installed on macOS
|
# Lua is not installed on macOS
|
||||||
- export LUA_PREFIX=/usr/local
|
- export LUA_PREFIX=/usr/local
|
||||||
|
|
||||||
coverage: &coverage
|
coverage: &eval-coverage
|
||||||
# needed for https support for coveralls building cffi only works with gcc,
|
# needed for https support for coveralls building cffi only works with gcc,
|
||||||
# not with clang
|
# not with clang
|
||||||
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
- CC=gcc pip install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
|
||||||
@ -191,13 +201,13 @@ jobs:
|
|||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *small
|
env: *small
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: normal/clang
|
name: normal+shadow/clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env:
|
env:
|
||||||
- *normal
|
- *normal
|
||||||
- *shadowopt
|
- *shadowopt
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: normal/gcc
|
name: normal+shadow/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env:
|
env:
|
||||||
- *normal
|
- *normal
|
||||||
@ -208,19 +218,28 @@ jobs:
|
|||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *linux-huge
|
env: *linux-huge
|
||||||
services: []
|
services: []
|
||||||
|
- <<: *linux
|
||||||
|
arch: arm64
|
||||||
|
name: huge/gcc-arm64
|
||||||
|
compiler: gcc
|
||||||
|
env: *linux-huge
|
||||||
|
services: []
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: huge+coverage/clang
|
name: huge+coverage/clang
|
||||||
compiler: clang
|
compiler: clang
|
||||||
env:
|
env:
|
||||||
- *linux-huge
|
- *linux-huge
|
||||||
|
- *coverage
|
||||||
# Clang cannot compile test_libvterm with "--coverage" flag.
|
# Clang cannot compile test_libvterm with "--coverage" flag.
|
||||||
- TEST=scripttests
|
- TEST=scripttests
|
||||||
after_success: *coverage
|
after_success: *eval-coverage
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: huge+coverage/gcc
|
name: huge+coverage/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *linux-huge
|
env:
|
||||||
after_success: *coverage
|
- *linux-huge
|
||||||
|
- *coverage
|
||||||
|
after_success: *eval-coverage
|
||||||
- <<: *linux # ASAN
|
- <<: *linux # ASAN
|
||||||
name: huge+asan/gcc
|
name: huge+asan/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
@ -233,13 +252,16 @@ jobs:
|
|||||||
compiler: gcc
|
compiler: gcc
|
||||||
env:
|
env:
|
||||||
- *linux-huge
|
- *linux-huge
|
||||||
|
- *coverage
|
||||||
- TEST="-C src testgui"
|
- TEST="-C src testgui"
|
||||||
after_success: *coverage
|
after_success: *eval-coverage
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: unittests+coverage/gcc
|
name: unittests+coverage/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
env: *unittests
|
env:
|
||||||
after_success: *coverage
|
- *unittests
|
||||||
|
- *coverage
|
||||||
|
after_success: *eval-coverage
|
||||||
- <<: *linux
|
- <<: *linux
|
||||||
name: vimtags/gcc
|
name: vimtags/gcc
|
||||||
compiler: gcc
|
compiler: gcc
|
||||||
|
20
Filelist
20
Filelist
@ -9,6 +9,7 @@ SRC_ALL = \
|
|||||||
.lgtm.yml \
|
.lgtm.yml \
|
||||||
.travis.yml \
|
.travis.yml \
|
||||||
.cirrus.yml \
|
.cirrus.yml \
|
||||||
|
.github/workflows/ci-windows.yaml \
|
||||||
appveyor.yml \
|
appveyor.yml \
|
||||||
ci/appveyor.bat \
|
ci/appveyor.bat \
|
||||||
ci/if_ver*.vim \
|
ci/if_ver*.vim \
|
||||||
@ -44,6 +45,7 @@ SRC_ALL = \
|
|||||||
src/drawline.c \
|
src/drawline.c \
|
||||||
src/drawscreen.c \
|
src/drawscreen.c \
|
||||||
src/edit.c \
|
src/edit.c \
|
||||||
|
src/errors.h \
|
||||||
src/eval.c \
|
src/eval.c \
|
||||||
src/evalbuffer.c \
|
src/evalbuffer.c \
|
||||||
src/evalfunc.c \
|
src/evalfunc.c \
|
||||||
@ -68,6 +70,7 @@ SRC_ALL = \
|
|||||||
src/gui_beval.c \
|
src/gui_beval.c \
|
||||||
src/hardcopy.c \
|
src/hardcopy.c \
|
||||||
src/hashtab.c \
|
src/hashtab.c \
|
||||||
|
src/help.c \
|
||||||
src/highlight.c \
|
src/highlight.c \
|
||||||
src/indent.c \
|
src/indent.c \
|
||||||
src/insexpand.c \
|
src/insexpand.c \
|
||||||
@ -75,11 +78,13 @@ SRC_ALL = \
|
|||||||
src/json_test.c \
|
src/json_test.c \
|
||||||
src/kword_test.c \
|
src/kword_test.c \
|
||||||
src/list.c \
|
src/list.c \
|
||||||
|
src/locale.c \
|
||||||
src/keymap.h \
|
src/keymap.h \
|
||||||
src/macros.h \
|
src/macros.h \
|
||||||
src/main.c \
|
src/main.c \
|
||||||
src/map.c \
|
src/map.c \
|
||||||
src/mark.c \
|
src/mark.c \
|
||||||
|
src/match.c \
|
||||||
src/mbyte.c \
|
src/mbyte.c \
|
||||||
src/memfile.c \
|
src/memfile.c \
|
||||||
src/memfile_test.c \
|
src/memfile_test.c \
|
||||||
@ -145,6 +150,7 @@ SRC_ALL = \
|
|||||||
src/vim9compile.c \
|
src/vim9compile.c \
|
||||||
src/vim9execute.c \
|
src/vim9execute.c \
|
||||||
src/vim9script.c \
|
src/vim9script.c \
|
||||||
|
src/vim9type.c \
|
||||||
src/viminfo.c \
|
src/viminfo.c \
|
||||||
src/winclip.c \
|
src/winclip.c \
|
||||||
src/window.c \
|
src/window.c \
|
||||||
@ -168,12 +174,12 @@ SRC_ALL = \
|
|||||||
src/testdir/setup_gui.vim \
|
src/testdir/setup_gui.vim \
|
||||||
src/testdir/shared.vim \
|
src/testdir/shared.vim \
|
||||||
src/testdir/vim9.vim \
|
src/testdir/vim9.vim \
|
||||||
|
src/testdir/script_util.vim \
|
||||||
src/testdir/summarize.vim \
|
src/testdir/summarize.vim \
|
||||||
src/testdir/term_util.vim \
|
src/testdir/term_util.vim \
|
||||||
src/testdir/view_util.vim \
|
src/testdir/view_util.vim \
|
||||||
src/testdir/test[0-9]*.ok \
|
src/testdir/test[0-9]*.ok \
|
||||||
src/testdir/test[0-9]*a.ok \
|
src/testdir/test77a.ok \
|
||||||
src/testdir/test49.vim \
|
|
||||||
src/testdir/test83-tags? \
|
src/testdir/test83-tags? \
|
||||||
src/testdir/test77a.com \
|
src/testdir/test77a.com \
|
||||||
src/testdir/test_*.vim \
|
src/testdir/test_*.vim \
|
||||||
@ -239,14 +245,17 @@ SRC_ALL = \
|
|||||||
src/proto/gui_beval.pro \
|
src/proto/gui_beval.pro \
|
||||||
src/proto/hardcopy.pro \
|
src/proto/hardcopy.pro \
|
||||||
src/proto/hashtab.pro \
|
src/proto/hashtab.pro \
|
||||||
|
src/proto/help.pro \
|
||||||
src/proto/highlight.pro \
|
src/proto/highlight.pro \
|
||||||
src/proto/indent.pro \
|
src/proto/indent.pro \
|
||||||
src/proto/insexpand.pro \
|
src/proto/insexpand.pro \
|
||||||
src/proto/json.pro \
|
src/proto/json.pro \
|
||||||
src/proto/list.pro \
|
src/proto/list.pro \
|
||||||
|
src/proto/locale.pro \
|
||||||
src/proto/main.pro \
|
src/proto/main.pro \
|
||||||
src/proto/map.pro \
|
src/proto/map.pro \
|
||||||
src/proto/mark.pro \
|
src/proto/mark.pro \
|
||||||
|
src/proto/match.pro \
|
||||||
src/proto/mbyte.pro \
|
src/proto/mbyte.pro \
|
||||||
src/proto/memfile.pro \
|
src/proto/memfile.pro \
|
||||||
src/proto/memline.pro \
|
src/proto/memline.pro \
|
||||||
@ -296,6 +305,7 @@ SRC_ALL = \
|
|||||||
src/proto/vim9compile.pro \
|
src/proto/vim9compile.pro \
|
||||||
src/proto/vim9execute.pro \
|
src/proto/vim9execute.pro \
|
||||||
src/proto/vim9script.pro \
|
src/proto/vim9script.pro \
|
||||||
|
src/proto/vim9type.pro \
|
||||||
src/proto/viminfo.pro \
|
src/proto/viminfo.pro \
|
||||||
src/proto/winclip.pro \
|
src/proto/winclip.pro \
|
||||||
src/proto/window.pro \
|
src/proto/window.pro \
|
||||||
@ -631,13 +641,11 @@ SRC_HAIKU = \
|
|||||||
SRC_MAC = \
|
SRC_MAC = \
|
||||||
src/INSTALLmac.txt \
|
src/INSTALLmac.txt \
|
||||||
src/dehqx.py \
|
src/dehqx.py \
|
||||||
src/gui_mac.c \
|
|
||||||
src/os_mac_rsrc/*.icns \
|
src/os_mac_rsrc/*.icns \
|
||||||
src/os_mac.h \
|
src/os_mac.h \
|
||||||
src/os_mac.rsr.hqx \
|
src/os_mac.rsr.hqx \
|
||||||
src/os_mac_conv.c \
|
src/os_mac_conv.c \
|
||||||
src/os_macosx.m \
|
src/os_macosx.m \
|
||||||
src/proto/gui_mac.pro \
|
|
||||||
src/proto/os_mac_conv.pro \
|
src/proto/os_mac_conv.pro \
|
||||||
|
|
||||||
# source files for VMS (in the extra archive)
|
# source files for VMS (in the extra archive)
|
||||||
@ -673,10 +681,8 @@ SRC_EXTRA = \
|
|||||||
$(SRC_QNX) \
|
$(SRC_QNX) \
|
||||||
$(SRC_VMS) \
|
$(SRC_VMS) \
|
||||||
README_os390.txt \
|
README_os390.txt \
|
||||||
src/Make_mint.mak \
|
|
||||||
src/infplist.xml \
|
src/infplist.xml \
|
||||||
src/link.390 \
|
src/link.390 \
|
||||||
src/os_mint.h \
|
|
||||||
src/os_vms_fix.com \
|
src/os_vms_fix.com \
|
||||||
src/toolbar.phi \
|
src/toolbar.phi \
|
||||||
|
|
||||||
@ -1022,6 +1028,8 @@ LANG_SRC = \
|
|||||||
src/po/README_mvc.txt \
|
src/po/README_mvc.txt \
|
||||||
src/po/check.vim \
|
src/po/check.vim \
|
||||||
src/po/cleanup.vim \
|
src/po/cleanup.vim \
|
||||||
|
src/po/tojavascript.vim \
|
||||||
|
src/po/fixfilenames.vim \
|
||||||
src/po/Makefile \
|
src/po/Makefile \
|
||||||
src/po/Make_all.mak \
|
src/po/Make_all.mak \
|
||||||
src/po/Make_cyg.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
|
# Some make programs use the last target for the $@ default; put the other
|
||||||
# targets separately to always let $@ expand to "first" by default.
|
# 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 \
|
@if test ! -f src/auto/config.mk; then \
|
||||||
cp src/config.mk.dist src/auto/config.mk; \
|
cp src/config.mk.dist src/auto/config.mk; \
|
||||||
fi
|
fi
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
[](https://travis-ci.org/vim/vim)
|
[](https://travis-ci.org/vim/vim)
|
||||||
[](https://ci.appveyor.com/project/chrisbra/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://cirrus-ci.com/github/vim/vim)
|
||||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||||
[](https://scan.coverity.com/projects/vim)
|
[](https://scan.coverity.com/projects/vim)
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
This is an experimental side of [Vim](https://github.com/vim/vim).
|
This is an experimental side of [Vim](https://github.com/vim/vim).
|
||||||
It explores ways of making Vim script faster and better.
|
It explores ways of making Vim script faster and better.
|
||||||
|
|
||||||
WARNING: The Vim9 script features are in the early stages of development,
|
WARNING: The Vim9 script features are still under development, anything can
|
||||||
anything can break!
|
break!
|
||||||
|
|
||||||
# Why Vim9?
|
# Why Vim9?
|
||||||
|
|
||||||
@ -52,7 +52,7 @@ we can gain, and also that Vim script can be faster than builtin
|
|||||||
interfaces.
|
interfaces.
|
||||||
|
|
||||||
In practice the script would not do something useless as counting but change
|
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
|
``` vim
|
||||||
let totallen = 0
|
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.
|
with them. The job and channel support already makes this possible.
|
||||||
Really any language can be used, also Java and Go, which are not
|
Really any language can be used, also Java and Go, which are not
|
||||||
available built-in.
|
available built-in.
|
||||||
* Phase out the built-in language interfaces, make maintenance a bit easier
|
* No priority for the built-in language interfaces. They will have to be kept
|
||||||
and executables easier to build. They will be kept for backwards
|
for backwards compatibility, but many users won't need a Vim build with these
|
||||||
compatibility, no new features.
|
interfaces.
|
||||||
* Improve the Vim script language, it is used to communicate with the external
|
* 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
|
tool and implements the Vim side of the interface. Also, it can be used when
|
||||||
an external tool is undesired.
|
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
|
will be sufficient for most plugins, while some plugins require
|
||||||
installing a tool that can be written in any language. No confusion
|
installing a tool that can be written in any language. No confusion
|
||||||
about having Vim but the plugin not working because some specific
|
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
|
everything at the script level is script-local by default. Since this is not
|
||||||
backwards compatible it requires a new script style: Vim9 script!
|
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
|
It should be possible to convert code from other languages to Vim
|
||||||
script. We can add functionality to make this easier. This still needs
|
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
|
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_msdos.*
|
||||||
src/os_dos.* Files for the MS-DOS port.
|
src/os_dos.* Files for the MS-DOS port.
|
||||||
|
|
||||||
src/gui_mac.*
|
|
||||||
src/os_mac.* Files for the Mac port.
|
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_vms* Files for the VMS port.
|
||||||
|
|
||||||
src/os_w32*
|
src/os_w32*
|
||||||
|
@ -5,16 +5,17 @@ skip_tags: true
|
|||||||
environment:
|
environment:
|
||||||
matrix:
|
matrix:
|
||||||
- FEATURE: HUGE
|
- FEATURE: HUGE
|
||||||
- FEATURE: NORMAL
|
|
||||||
# disabled
|
# disabled
|
||||||
# - FEATURE: TINY
|
# - FEATURE: TINY
|
||||||
# - FEATURE: SMALL
|
# - FEATURE: SMALL
|
||||||
|
# - FEATURE: NORMAL
|
||||||
# - FEATURE: BIG
|
# - FEATURE: BIG
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
fast_finish: true
|
fast_finish: true
|
||||||
|
|
||||||
before_build:
|
before_build:
|
||||||
|
# Use Windows SDK 7.1 (= MSVC 2010)
|
||||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
- '"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'
|
- 'set INCLUDE=%INCLUDE%C:\Program Files (x86)\Windows Kits\8.1\Include\um'
|
||||||
|
|
||||||
@ -25,9 +26,9 @@ test_script:
|
|||||||
- cd src/testdir
|
- cd src/testdir
|
||||||
# Testing with MSVC gvim
|
# Testing with MSVC gvim
|
||||||
- path C:\Python35-x64;%PATH%
|
- 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
|
- nmake -f Make_dos.mak clean
|
||||||
# Testing with MingW console version
|
# Testing with MSVC console version
|
||||||
- nmake -f Make_dos.mak POSTSCRIPT=yes VIMPROG=..\vim
|
- nmake -f Make_dos.mak VIMPROG=..\vim
|
||||||
|
|
||||||
# vim: sw=2 sts=2 et ts=8 sr
|
# vim: sw=2 sts=2 et ts=8 sr
|
||||||
|
@ -5,48 +5,32 @@ setlocal ENABLEDELAYEDEXPANSION
|
|||||||
cd %APPVEYOR_BUILD_FOLDER%
|
cd %APPVEYOR_BUILD_FOLDER%
|
||||||
|
|
||||||
cd src
|
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
|
:: Filter out the progress bar from the build log
|
||||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||||
|
|
||||||
echo "Building MSVC 64bit console Version"
|
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
|
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||||
:: The executable is not used
|
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||||
nmake -f Make_mvc2.mak clean
|
FEATURES=%FEATURE% || exit 1
|
||||||
|
|
||||||
:: build MSVC huge version with python and channel support
|
:: build MSVC huge version with python and channel support
|
||||||
:: GUI needs to be last, so that testing works
|
:: GUI needs to be last, so that testing works
|
||||||
echo "Building MSVC 64bit GUI Version"
|
echo "Building MSVC 64bit GUI Version"
|
||||||
if "%FEATURE%" == "HUGE" (
|
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 (
|
) 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
|
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt
|
||||||
|
|
||||||
:: Restore vim.exe, tests will run with this.
|
echo "version output MSVC console"
|
||||||
move /Y testdir\vim.exe .
|
.\vim --version
|
||||||
echo "version output MinGW"
|
echo "version output MSVC GUI"
|
||||||
type ver_ming.txt
|
|
||||||
echo "version output MinGW GUI"
|
|
||||||
type ver_ming_gui.txt
|
|
||||||
echo "version output MVC"
|
|
||||||
type ver_msvc.txt
|
type ver_msvc.txt
|
||||||
cd ..
|
cd ..
|
||||||
|
@ -3,6 +3,6 @@ set -e
|
|||||||
|
|
||||||
if ! modprobe snd-dummy; then
|
if ! modprobe snd-dummy; then
|
||||||
# snd-dummy is contained in linux-modules-extra (if exists)
|
# 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
|
modprobe snd-dummy
|
||||||
fi
|
fi
|
||||||
|
@ -687,6 +687,15 @@ SectionEnd
|
|||||||
${EndIf}
|
${EndIf}
|
||||||
!macroend
|
!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
|
Function .onInit
|
||||||
!ifdef HAVE_MULTI_LANG
|
!ifdef HAVE_MULTI_LANG
|
||||||
# Select a language (or read from the registry).
|
# Select a language (or read from the registry).
|
||||||
@ -718,10 +727,10 @@ Function .onInit
|
|||||||
!endif
|
!endif
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
|
||||||
# Load the selections from the registry (if any).
|
|
||||||
${If} ${RunningX64}
|
${If} ${RunningX64}
|
||||||
SetRegView 64
|
SetRegView 64
|
||||||
${EndIf}
|
${EndIf}
|
||||||
|
# Load the selections from the registry (if any).
|
||||||
!insertmacro LoadSectionSelection ${id_section_console} "select_console"
|
!insertmacro LoadSectionSelection ${id_section_console} "select_console"
|
||||||
!insertmacro LoadSectionSelection ${id_section_batch} "select_batch"
|
!insertmacro LoadSectionSelection ${id_section_batch} "select_batch"
|
||||||
!insertmacro LoadSectionSelection ${id_section_desktop} "select_desktop"
|
!insertmacro LoadSectionSelection ${id_section_desktop} "select_desktop"
|
||||||
@ -736,6 +745,10 @@ Function .onInit
|
|||||||
!ifdef HAVE_NLS
|
!ifdef HAVE_NLS
|
||||||
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
|
!insertmacro LoadSectionSelection ${id_section_nls} "select_nls"
|
||||||
!endif
|
!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}
|
${If} ${RunningX64}
|
||||||
SetRegView lastused
|
SetRegView lastused
|
||||||
${EndIf}
|
${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_defaults)
|
||||||
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_all)
|
${NSD_CB_AddString} $vim_nsd_compat $(str_msg_compat_all)
|
||||||
|
|
||||||
# Default selection
|
${If} $vim_compat_stat == "defaults"
|
||||||
${If} $vim_compat_stat == ""
|
|
||||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_compat"
|
|
||||||
${Else}
|
|
||||||
StrCpy $3 $vim_compat_stat
|
|
||||||
${EndIf}
|
|
||||||
${If} $3 == "defaults"
|
|
||||||
StrCpy $4 2
|
StrCpy $4 2
|
||||||
${ElseIf} $3 == "vim"
|
${ElseIf} $vim_compat_stat == "vim"
|
||||||
StrCpy $4 1
|
StrCpy $4 1
|
||||||
${ElseIf} $3 == "vi"
|
${ElseIf} $vim_compat_stat == "vi"
|
||||||
StrCpy $4 0
|
StrCpy $4 0
|
||||||
${Else} # default
|
${Else} # default
|
||||||
StrCpy $4 3
|
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_default)
|
||||||
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
|
${NSD_CB_AddString} $vim_nsd_keymap $(str_msg_keymap_windows)
|
||||||
|
|
||||||
# Default selection
|
${If} $vim_keymap_stat == "windows"
|
||||||
${If} $vim_keymap_stat == ""
|
|
||||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_keyremap"
|
|
||||||
${Else}
|
|
||||||
StrCpy $3 $vim_keymap_stat
|
|
||||||
${EndIf}
|
|
||||||
${If} $3 == "windows"
|
|
||||||
StrCpy $4 1
|
StrCpy $4 1
|
||||||
${Else} # default
|
${Else} # default
|
||||||
StrCpy $4 0
|
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_windows)
|
||||||
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_unix)
|
${NSD_CB_AddString} $vim_nsd_mouse $(str_msg_mouse_unix)
|
||||||
|
|
||||||
# Default selection
|
${If} $vim_mouse_stat == "xterm"
|
||||||
${If} $vim_mouse_stat == ""
|
|
||||||
ReadRegStr $3 HKLM "${UNINST_REG_KEY_VIM}" "vim_mouse"
|
|
||||||
${Else}
|
|
||||||
StrCpy $3 $vim_mouse_stat
|
|
||||||
${EndIf}
|
|
||||||
${If} $3 == "xterm"
|
|
||||||
StrCpy $4 2
|
StrCpy $4 2
|
||||||
${ElseIf} $3 == "windows"
|
${ElseIf} $vim_mouse_stat == "windows"
|
||||||
StrCpy $4 1
|
StrCpy $4 1
|
||||||
${Else} # default
|
${Else} # default
|
||||||
StrCpy $4 0
|
StrCpy $4 0
|
||||||
|
@ -25,7 +25,7 @@ function decada#Unit_Name () dict " {{{1
|
|||||||
" Convert filename into acs unit:
|
" Convert filename into acs unit:
|
||||||
" 1: remove the file extenstion.
|
" 1: remove the file extenstion.
|
||||||
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
|
" 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"), '_$', "", '')
|
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
|
||||||
endfunction decada#Unit_Name " }}}1
|
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
|
" Vim functions for file type detection
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" 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
|
" These functions are moved here from runtime/filetype.vim to make startup
|
||||||
" faster.
|
" faster.
|
||||||
@ -575,7 +575,7 @@ endfunc
|
|||||||
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
|
||||||
func dist#ft#FTRules()
|
func dist#ft#FTRules()
|
||||||
let path = expand('<amatch>:p')
|
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
|
setf udevrules
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
|
@ -1,7 +1,9 @@
|
|||||||
" Vim completion script
|
" Vim completion script
|
||||||
" Language: Java Script
|
" Language: Java Script
|
||||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
" Maintainer: Jay Sitter (jay@jaysitter.com)
|
||||||
" Last Change: 2017 Mar 04
|
" 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)
|
function! javascriptcomplete#CompleteJS(findstart, base)
|
||||||
if a:findstart
|
if a:findstart
|
||||||
@ -154,12 +156,30 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
|||||||
\ 'text', 'vLink']
|
\ 'text', 'vLink']
|
||||||
let bodys = bodyprop
|
let bodys = bodyprop
|
||||||
" Document - document.
|
" Document - document.
|
||||||
let docuprop = ['anchors', 'applets', 'childNodes', 'embeds', 'forms', 'images', 'links', 'stylesheets',
|
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
|
||||||
\ 'body', 'cookie', 'documentElement', 'domain', 'lastModified', 'referrer', 'title', 'URL']
|
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||||
let documeth = ['close', 'createAttribute', 'createElement', 'createTextNode', 'focus', 'getElementById',
|
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
|
||||||
\ 'getElementsByName', 'getElementsByTagName', 'open', 'write', 'writeln',
|
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
|
||||||
\ 'onClick', 'onDblClick', 'onFocus', 'onKeyDown', 'onKeyPress', 'onKeyUp',
|
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
|
||||||
\ 'onMouseDown', 'onMouseMove', 'onMouseOut', 'onMouseOver', 'onMouseUp', 'onResize']
|
\ '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."("')
|
call map(documeth, 'v:val."("')
|
||||||
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
let docuxprop = ['attributes', 'childNodes', 'doctype', 'documentElement', 'firstChild',
|
||||||
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
\ 'implementation', 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType',
|
||||||
@ -368,9 +388,11 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
|||||||
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
let xdomelemprop = ['attributes', 'childNodes', 'firstChild', 'lastChild',
|
||||||
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
\ 'namespaceURI', 'nextSibling', 'nodeName', 'nodeType', 'nodeValue',
|
||||||
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
\ 'ownerDocument', 'parentNode', 'prefix', 'previousSibling', 'tagName']
|
||||||
let xdomelemmeth = ['appendChild', 'cloneNode', 'getAttribute', 'getAttributeNode',
|
let xdomelemmeth = ['appendChild', 'addEventListener', 'cloneNode',
|
||||||
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore', 'normalize',
|
\ 'dispatchEvent', 'getAttribute', 'getAttributeNode',
|
||||||
\ 'removeAttribute', 'removeAttributeNode', 'removeChild', 'replaceChild',
|
\ 'getElementsByTagName', 'hasChildNodes', 'insertBefore',
|
||||||
|
\ 'normalize', 'removeAttribute', 'removeAttributeNode',
|
||||||
|
\ 'removeChild', 'removeEventListener', 'replaceChild',
|
||||||
\ 'setAttribute', 'setAttributeNode']
|
\ 'setAttribute', 'setAttributeNode']
|
||||||
call map(xdomelemmeth, 'v:val."("')
|
call map(xdomelemmeth, 'v:val."("')
|
||||||
let xdomelems = xdomelemprop + xdomelemmeth
|
let xdomelems = xdomelemprop + xdomelemmeth
|
||||||
|
@ -1,15 +1,11 @@
|
|||||||
" Vim script to download a missing spell file
|
" Vim script to download a missing spell file
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2012 Jan 08
|
" Last Change: 2020 Jul 10
|
||||||
|
|
||||||
if !exists('g:spellfile_URL')
|
if !exists('g:spellfile_URL')
|
||||||
" Prefer using http:// when netrw should be able to use it, since
|
" Always use https:// because it's secure. The certificate is for nluug.nl,
|
||||||
" more firewalls let this through.
|
" thus we can't use the alias ftp.vim.org here.
|
||||||
if executable("curl") || executable("wget") || executable("fetch")
|
let g:spellfile_URL = 'https://ftp.nluug.nl/pub/vim/runtime/spell'
|
||||||
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
|
|
||||||
endif
|
endif
|
||||||
let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
|
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
|
" 9) Normal should be defined first, not use reverse, fg or bg
|
||||||
call cursor(1,1)
|
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`
|
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
|
||||||
if getline('.') !~# '\m\<Normal\>'
|
if getline('.') !~# '\m\<Normal\>'
|
||||||
let err['highlight']['Normal'] = 'Should be defined first'
|
let err['highlight']['Normal'] = 'Should be defined first'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim compiler file
|
" Vim compiler file
|
||||||
" Compiler: Checkstyle
|
" Compiler: Checkstyle
|
||||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||||
" Last Change: 2013 Jun 26
|
" Last Change: 2020 Aug 2
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@ -12,8 +12,18 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
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.
|
" CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain\ -c\ /sun_checks.xml
|
||||||
" WebTable.java:201:1: '{' should be on the previous line.
|
" CompilerSet makeprg=java\ -jar\ checkstyle-X.XX-all.jar\ -f\ plain\ -c\ /sun_checks.xml
|
||||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
|
||||||
|
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
|
" Vim compiler file
|
||||||
" Compiler: ESLint for JavaScript
|
" Compiler: ESLint for JavaScript
|
||||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||||
" Last Change: 2020 May 17
|
" Last Change: 2020 August 20
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CompilerSet makeprg=eslint\ --format\ compact
|
CompilerSet makeprg=npx\ eslint\ --format\ compact
|
||||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
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
|
" Vim compiler file
|
||||||
" Compiler: Standard for JavaScript
|
" Compiler: Standard for JavaScript
|
||||||
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
|
||||||
" Last Change: 2020 May 17
|
" Last Change: 2020 August 20
|
||||||
|
|
||||||
if exists("current_compiler")
|
if exists("current_compiler")
|
||||||
finish
|
finish
|
||||||
@ -12,5 +12,5 @@ if exists(":CompilerSet") != 2
|
|||||||
command -nargs=* CompilerSet setlocal <args>
|
command -nargs=* CompilerSet setlocal <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
CompilerSet makeprg=standard
|
CompilerSet makeprg=npx\ standard
|
||||||
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#
|
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
|
vim -S test_urls.vim
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
-rm doctags *.html tags.ref
|
-rm -f doctags *.html tags.ref
|
||||||
|
|
||||||
# These files are in the extra archive, skip if not present
|
# 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
|
(without Form-B, Arabic will _NOT_ be usable). It is highly
|
||||||
recommended that users search for so-called 'ISO-10646-1' fonts.
|
recommended that users search for so-called 'ISO-10646-1' fonts.
|
||||||
Do an Internet search or check www.arabeyes.org for further
|
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
|
Font Installation
|
||||||
@ -123,7 +123,7 @@ o Setting the appropriate character Encoding
|
|||||||
>
|
>
|
||||||
:set encoding=utf-8
|
: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
|
window is highly discouraged). In short, include ':set
|
||||||
encoding=utf-8' to your .vimrc file.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1425,8 +1425,8 @@ name!
|
|||||||
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
||||||
this if there is still an autocommand using
|
this if there is still an autocommand using
|
||||||
this group! You will get a warning if doing
|
this group! You will get a warning if doing
|
||||||
it anyway. when the group is the current group
|
it anyway. When the group is the current
|
||||||
you will get error E936.
|
group you will get error E936.
|
||||||
|
|
||||||
To enter autocommands for a specific group, use this method:
|
To enter autocommands for a specific group, use this method:
|
||||||
1. Select the group with ":augroup {name}".
|
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
|
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
|
'!' or '?' (but if 'cpoptions' includes the 'j' flag, they insert two spaces
|
||||||
only after a '.').
|
only after a '.').
|
||||||
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
|
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
|
The '[ mark is set at the end of the first line that was joined, '] at the end
|
||||||
of the resulting line.
|
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
|
l Long lines are not broken in insert mode: When a line was longer than
|
||||||
'textwidth' when the insert command started, Vim does not
|
'textwidth' when the insert command started, Vim does not
|
||||||
automatically format it.
|
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.
|
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.
|
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.
|
characters. Overruled by the 'M' flag.
|
||||||
1 Don't break a line after a one-letter word. It's broken before it
|
1 Don't break a line after a one-letter word. It's broken before it
|
||||||
instead (if possible).
|
instead (if possible).
|
||||||
@ -1755,7 +1755,7 @@ Some examples:
|
|||||||
Automatic formatting *auto-format* *autoformat*
|
Automatic formatting *auto-format* *autoformat*
|
||||||
|
|
||||||
When the 'a' flag is present in 'formatoptions' text is formatted
|
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:
|
editing text paragraphs. A few hints on how to use this:
|
||||||
|
|
||||||
- You need to properly define paragraphs. The simplest is paragraphs that are
|
- 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 Jul 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1259,7 +1259,7 @@ 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.
|
||||||
|
|
||||||
The user can go to Normal mode and navigate through the buffer. This can be
|
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
|
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
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -876,7 +876,7 @@ Also see |`=|.
|
|||||||
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
*:<cword>* *<cword>* *:<cWORD>* *<cWORD>*
|
||||||
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
*:<cexpr>* *<cexpr>* *:<cfile>* *<cfile>*
|
||||||
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
*:<afile>* *<afile>* *:<abuf>* *<abuf>*
|
||||||
*:<amatch>* *<amatch>*
|
*:<amatch>* *<amatch>* *:<stack>* *<stack>*
|
||||||
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
*:<sfile>* *<sfile>* *:<slnum>* *<slnum>*
|
||||||
*:<sflnum>* *<sflnum>* *E499* *E500*
|
*:<sflnum>* *<sflnum>* *E499* *E500*
|
||||||
Note: these are typed literally, they are not special keys!
|
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).
|
events).
|
||||||
<sfile> When executing a ":source" command, is replaced with the
|
<sfile> When executing a ":source" command, is replaced with the
|
||||||
file name of the sourced file. *E498*
|
file name of the sourced file. *E498*
|
||||||
When executing a function, is replaced with:
|
When executing a function, is replaced with the call stack,
|
||||||
"function {function-name}[{lnum}]"
|
as with <stack> (this is for backwards compatibility, using
|
||||||
function call nesting is indicated like this:
|
<stack> is preferred).
|
||||||
"function {function-name1}[{lnum}]..{function-name2}[{lnum}]"
|
|
||||||
Note that filename-modifiers are useless when <sfile> is
|
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
|
<slnum> When executing a ":source" command, is replaced with the
|
||||||
line number. *E842*
|
line number. *E842*
|
||||||
When executing a function it's the line number relative to
|
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
|
in Normal mode. There is no redraw, thus the window will
|
||||||
remain visible.
|
remain visible.
|
||||||
:quit Discard the command line and go back to Normal mode.
|
: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, unless there are changes in some buffer.
|
||||||
:qall! Quit Vim, discarding changes to any 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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -34,8 +34,8 @@ balance must be found between them.
|
|||||||
VIM IS... VI COMPATIBLE *design-compatible*
|
VIM IS... VI COMPATIBLE *design-compatible*
|
||||||
|
|
||||||
First of all, it should be possible to use Vim as a drop-in replacement for
|
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
|
Vi. When the user wants to, Vim can be used in compatible mode and hardly
|
||||||
notice any difference with the original Vi.
|
any differences with the original Vi will be noticed.
|
||||||
|
|
||||||
Exceptions:
|
Exceptions:
|
||||||
- We don't reproduce obvious Vi bugs in Vim.
|
- 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
|
was that none of them provided sufficient capabilities to be used as the spell
|
||||||
checking engine in Vim, for various reasons:
|
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.
|
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
|
Doing on-the-fly conversion is not always possible (would require iconv
|
||||||
support).
|
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
|
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|.
|
it is the Unicode character, see |digraph-encoding|.
|
||||||
Example: >
|
Example: >
|
||||||
:digr e: 235 a: 228
|
: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
|
< Avoid defining a digraph with '_' (underscore) as the
|
||||||
first character, it has a special meaning in the
|
first character, it has a special meaning in the
|
||||||
future.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -652,7 +652,7 @@ list of the current window.
|
|||||||
:args ## x
|
:args ## x
|
||||||
< This will add the "x" item and sort the new list.
|
< 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
|
Delete files from the argument list that match the
|
||||||
{pattern}s. {pattern} is used like a file pattern,
|
{pattern}s. {pattern} is used like a file pattern,
|
||||||
see |file-pattern|. "%" can be used to delete the
|
see |file-pattern|. "%" can be used to delete the
|
||||||
@ -662,7 +662,7 @@ list of the current window.
|
|||||||
Example: >
|
Example: >
|
||||||
:argdel *.obj
|
: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: >
|
Example: >
|
||||||
:10,$argdel
|
:10,$argdel
|
||||||
< Deletes arguments 10 and further, keeping 1-9. >
|
< 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.
|
same effect. Don't forget to do this before reading the file.
|
||||||
|
|
||||||
There are a few things to remember when editing binary files:
|
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
|
Use only the "R" or "r" command to change text. Do not delete characters
|
||||||
with "x" or by backspacing.
|
with "x" or by backspacing.
|
||||||
- Set the 'textwidth' option to 0. Otherwise lines will unexpectedly be
|
- 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
|
- 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.
|
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
|
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
|
|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
|
the file. It is also possible that you get an "out of memory" error when
|
||||||
reading the file.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -94,8 +94,9 @@ the Number. Examples:
|
|||||||
Number 0 --> String "0" ~
|
Number 0 --> String "0" ~
|
||||||
Number -1 --> String "-1" ~
|
Number -1 --> String "-1" ~
|
||||||
*octal*
|
*octal*
|
||||||
Conversion from a String to a Number is done by converting the first digits to
|
Conversion from a String to a Number only happens in legacy Vim script, not in
|
||||||
a number. Hexadecimal "0xf9", Octal "017" or "0o17", and Binary "0b10"
|
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
|
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
|
leading "0" is not recognized). If the String doesn't start with digits, the
|
||||||
result is zero.
|
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 ~
|
1.2 Function references ~
|
||||||
*Funcref* *E695* *E718*
|
*Funcref* *E695* *E718*
|
||||||
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
||||||
function or created with the lambda expression |expr-lambda|. It can be used
|
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
|
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*
|
expr8[expr1] item of String or |List| *expr-[]* *E111*
|
||||||
*E909* *subscript*
|
*E909* *subscript*
|
||||||
|
In legacy Vim script:
|
||||||
If expr8 is a Number or String this results in a String that contains the
|
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
|
expr1'th single byte from expr8. expr8 is used as a String (a number is
|
||||||
Number. This doesn't recognize multi-byte encodings, see `byteidx()` for
|
automatically converted to a String), expr1 as a Number. This doesn't
|
||||||
an alternative, or use `split()` to turn the string into a list of characters.
|
recognize multibyte encodings, see `byteidx()` for an alternative, or use
|
||||||
|
`split()` to turn the string into a list of characters. Example, to get the
|
||||||
Index zero gives the first byte. This is like it works in C. Careful:
|
byte under the cursor: >
|
||||||
text column numbers start with one! Example, to get the byte under the
|
|
||||||
cursor: >
|
|
||||||
:let c = getline(".")[col(".") - 1]
|
: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
|
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
|
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|
|
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
|
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-[:]*
|
expr8[expr1a : expr1b] substring or sublist *expr-[:]*
|
||||||
|
|
||||||
If expr8 is a Number or String this results in the substring with the bytes
|
If expr8 is a String this results in the substring with the bytes or
|
||||||
from expr1a to and including expr1b. expr8 is used as a String, expr1a and
|
characters from expr1a to and including expr1b. expr8 is used as a String,
|
||||||
expr1b are used as a Number. This doesn't recognize multi-byte encodings, see
|
expr1a and expr1b are used as a Number.
|
||||||
|byteidx()| for computing the indexes.
|
|
||||||
|
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
|
If expr1a is omitted zero is used. If expr1b is omitted the length of the
|
||||||
string minus one is used.
|
string minus one is used.
|
||||||
@ -1172,6 +1185,7 @@ expr1b is smaller than expr1a the result is an empty string.
|
|||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
:let c = name[-1:] " last byte of a string
|
: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 c = name[-2:-2] " last but one byte of a string
|
||||||
:let s = line(".")[4:] " from the fifth byte to the end
|
:let s = line(".")[4:] " from the fifth byte to the end
|
||||||
:let s = s[:-3] " remove last two bytes
|
: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* *none-variable* *None*
|
||||||
v:none An empty String. Used to put an empty item in JSON. See
|
v:none An empty String. Used to put an empty item in JSON. See
|
||||||
|json_encode()|.
|
|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 number this evaluates to zero.
|
||||||
When used as a string this evaluates to "v:none". >
|
When used as a string this evaluates to "v:none". >
|
||||||
echo v:none
|
echo v:none
|
||||||
@ -2344,7 +2360,7 @@ assert_equalfile({fname-one}, {fname-two} [, {msg}])
|
|||||||
Number assert file contents are equal
|
Number assert file contents are equal
|
||||||
assert_exception({error} [, {msg}])
|
assert_exception({error} [, {msg}])
|
||||||
Number assert {error} is in v:exception
|
Number assert {error} is in v:exception
|
||||||
assert_fails({cmd} [, {error} [, {msg}]])
|
assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
|
||||||
Number assert {cmd} fails
|
Number assert {cmd} fails
|
||||||
assert_false({actual} [, {msg}])
|
assert_false({actual} [, {msg}])
|
||||||
Number assert {actual} is false
|
Number assert {actual} is false
|
||||||
@ -2410,6 +2426,7 @@ ch_status({handle} [, {options}])
|
|||||||
String status of channel {handle}
|
String status of channel {handle}
|
||||||
changenr() Number current change number
|
changenr() Number current change number
|
||||||
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
|
||||||
|
charclass({string}) Number character class of {string}
|
||||||
chdir({dir}) String change current working directory
|
chdir({dir}) String change current working directory
|
||||||
cindent({lnum}) Number C indent for line {lnum}
|
cindent({lnum}) Number C indent for line {lnum}
|
||||||
clearmatches([{win}]) none clear all matches
|
clearmatches([{win}]) none clear all matches
|
||||||
@ -2511,13 +2528,15 @@ getjumplist([{winnr} [, {tabnr}]])
|
|||||||
List list of jump list items
|
List list of jump list items
|
||||||
getline({lnum}) String line {lnum} of current buffer
|
getline({lnum}) String line {lnum} of current buffer
|
||||||
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
|
||||||
getloclist({nr} [, {what}]) List list of location list items
|
getloclist({nr}) List list of location list items
|
||||||
|
getloclist({nr}, {what}) Dict get specific location list properties
|
||||||
getmarklist([{expr}]) List list of global/local marks
|
getmarklist([{expr}]) List list of global/local marks
|
||||||
getmatches([{win}]) List list of current matches
|
getmatches([{win}]) List list of current matches
|
||||||
getmousepos() Dict last known mouse position
|
getmousepos() Dict last known mouse position
|
||||||
getpid() Number process ID of Vim
|
getpid() Number process ID of Vim
|
||||||
getpos({expr}) List position of cursor, mark, etc.
|
getpos({expr}) List position of cursor, mark, etc.
|
||||||
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}]]])
|
getreg([{regname} [, 1 [, {list}]]])
|
||||||
String or List contents of a register
|
String or List contents of a register
|
||||||
getreginfo([{regname}]) Dict information about a register
|
getreginfo([{regname}]) Dict information about a register
|
||||||
@ -2528,6 +2547,7 @@ gettabvar({nr}, {varname} [, {def}])
|
|||||||
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
|
||||||
any {name} in {winnr} in tab page {tabnr}
|
any {name} in {winnr} in tab page {tabnr}
|
||||||
gettagstack([{nr}]) Dict get the tag stack of window {nr}
|
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
|
getwininfo([{winid}]) List list of info about each window
|
||||||
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
|
||||||
getwinposx() Number X coord in pixels of the Vim window
|
getwinposx() Number X coord in pixels of the Vim window
|
||||||
@ -2751,17 +2771,21 @@ setbufline({expr}, {lnum}, {text})
|
|||||||
{expr}
|
{expr}
|
||||||
setbufvar({expr}, {varname}, {val})
|
setbufvar({expr}, {varname}, {val})
|
||||||
none set {varname} in buffer {expr} to {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}
|
setcharsearch({dict}) Dict set character search from {dict}
|
||||||
setcmdpos({pos}) Number set cursor position in command-line
|
setcmdpos({pos}) Number set cursor position in command-line
|
||||||
setenv({name}, {val}) none set environment variable
|
setenv({name}, {val}) none set environment variable
|
||||||
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
|
||||||
setline({lnum}, {line}) Number set line {lnum} to {line}
|
setline({lnum}, {line}) Number set line {lnum} to {line}
|
||||||
setloclist({nr}, {list} [, {action} [, {what}]])
|
setloclist({nr}, {list} [, {action}])
|
||||||
Number modify location list using {list}
|
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
|
setmatches({list} [, {win}]) Number restore a list of matches
|
||||||
setpos({expr}, {list}) Number set the {expr} position to {list}
|
setpos({expr}, {list}) Number set the {expr} position to {list}
|
||||||
setqflist({list} [, {action} [, {what}]])
|
setqflist({list} [, {action}]) Number modify quickfix list using {list}
|
||||||
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
|
setreg({n}, {v} [, {opt}]) Number set register to value and type
|
||||||
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
|
||||||
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
settabwinvar({tabnr}, {winnr}, {varname}, {val})
|
||||||
@ -2816,7 +2840,8 @@ str2list({expr} [, {utf8}]) List convert each character of {expr} to
|
|||||||
str2nr({expr} [, {base} [, {quoted}]])
|
str2nr({expr} [, {base} [, {quoted}]])
|
||||||
Number convert String to Number
|
Number convert String to Number
|
||||||
strcharpart({str}, {start} [, {len}])
|
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}
|
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
|
||||||
strdisplaywidth({expr} [, {col}]) Number display 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
|
strftime({format} [, {time}]) String format time with a specified format
|
||||||
@ -2825,8 +2850,9 @@ stridx({haystack}, {needle} [, {start}])
|
|||||||
Number index of {needle} in {haystack}
|
Number index of {needle} in {haystack}
|
||||||
string({expr}) String String representation of {expr} value
|
string({expr}) String String representation of {expr} value
|
||||||
strlen({expr}) Number length of the String {expr}
|
strlen({expr}) Number length of the String {expr}
|
||||||
strpart({str}, {start} [, {len}])
|
strpart({str}, {start} [, {len} [, {chars}]])
|
||||||
String {len} characters of {str} at {start}
|
String {len} bytes/chars of {str} at
|
||||||
|
byte {start}
|
||||||
strptime({format}, {timestring})
|
strptime({format}, {timestring})
|
||||||
Number Convert {timestring} to unix timestamp
|
Number Convert {timestring} to unix timestamp
|
||||||
strridx({haystack}, {needle} [, {start}])
|
strridx({haystack}, {needle} [, {start}])
|
||||||
@ -3031,7 +3057,8 @@ append({lnum}, {text}) *append()*
|
|||||||
:let failed = append(line('$'), "# THE END")
|
:let failed = append(line('$'), "# THE END")
|
||||||
:let failed = append(0, ["Chapter 1", "the beginning"])
|
: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)
|
mylist->append(lnum)
|
||||||
|
|
||||||
|
|
||||||
@ -3053,7 +3080,8 @@ appendbufline({expr}, {lnum}, {text}) *appendbufline()*
|
|||||||
error message is given. Example: >
|
error message is given. Example: >
|
||||||
:let failed = appendbufline(13, 0, "# THE START")
|
: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)
|
mylist->appendbufline(buf, lnum)
|
||||||
|
|
||||||
|
|
||||||
@ -3396,7 +3424,8 @@ byte2line({byte}) *byte2line()*
|
|||||||
|
|
||||||
byteidx({expr}, {nr}) *byteidx()*
|
byteidx({expr}, {nr}) *byteidx()*
|
||||||
Return byte index of the {nr}'th character in the string
|
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
|
This function is only useful when there are multibyte
|
||||||
characters, otherwise the returned value is equal to {nr}.
|
characters, otherwise the returned value is equal to {nr}.
|
||||||
Composing characters are not counted separately, their byte
|
Composing characters are not counted separately, their byte
|
||||||
@ -3494,6 +3523,18 @@ char2nr({expr} [, {utf8}]) *char2nr()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetChar()->char2nr()
|
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()*
|
chdir({dir}) *chdir()*
|
||||||
Change the current working directory to {dir}. The scope of
|
Change the current working directory to {dir}. The scope of
|
||||||
the directory change depends on the directory of the current
|
the directory change depends on the directory of the current
|
||||||
@ -3635,7 +3676,7 @@ complete_check() *complete_check()*
|
|||||||
|
|
||||||
*complete_info()*
|
*complete_info()*
|
||||||
complete_info([{what}])
|
complete_info([{what}])
|
||||||
Returns a Dictionary with information about Insert mode
|
Returns a |Dictionary| with information about Insert mode
|
||||||
completion. See |ins-completion|.
|
completion. See |ins-completion|.
|
||||||
The items are:
|
The items are:
|
||||||
mode Current completion mode name string.
|
mode Current completion mode name string.
|
||||||
@ -3897,6 +3938,7 @@ deepcopy({expr} [, {noref}]) *deepcopy()* *E698*
|
|||||||
changing an item in the copy does not change the contents of
|
changing an item in the copy does not change the contents of
|
||||||
the original |List|.
|
the original |List|.
|
||||||
A |Dictionary| is copied in a similar way as a |List|.
|
A |Dictionary| is copied in a similar way as a |List|.
|
||||||
|
|
||||||
When {noref} is omitted or zero a contained |List| or
|
When {noref} is omitted or zero a contained |List| or
|
||||||
|Dictionary| is only copied once. All references point to
|
|Dictionary| is only copied once. All references point to
|
||||||
this single copy. With {noref} set to 1 every occurrence of a
|
this single copy. With {noref} set to 1 every occurrence of a
|
||||||
@ -4262,6 +4304,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
|||||||
line number
|
line number
|
||||||
<sflnum> script file line number, also when in
|
<sflnum> script file line number, also when in
|
||||||
a function
|
a function
|
||||||
|
<SID> "<SNR>123_" where "123" is the
|
||||||
|
current script ID |<SID>|
|
||||||
<cword> word under the cursor
|
<cword> word under the cursor
|
||||||
<cWORD> WORD under the cursor
|
<cWORD> WORD under the cursor
|
||||||
<client> the {clientid} of the last received
|
<client> the {clientid} of the last received
|
||||||
@ -4833,12 +4877,14 @@ get({list}, {idx} [, {default}]) *get()*
|
|||||||
Get item {idx} from |List| {list}. When this item is not
|
Get item {idx} from |List| {list}. When this item is not
|
||||||
available return {default}. Return zero when {default} is
|
available return {default}. Return zero when {default} is
|
||||||
omitted.
|
omitted.
|
||||||
Can also be used as a |method|: >
|
Preferably used as a |method|: >
|
||||||
mylist->get(idx)
|
mylist->get(idx)
|
||||||
get({blob}, {idx} [, {default}])
|
get({blob}, {idx} [, {default}])
|
||||||
Get byte {idx} from |Blob| {blob}. When this byte is not
|
Get byte {idx} from |Blob| {blob}. When this byte is not
|
||||||
available return {default}. Return -1 when {default} is
|
available return {default}. Return -1 when {default} is
|
||||||
omitted.
|
omitted.
|
||||||
|
Preferably used as a |method|: >
|
||||||
|
myblob->get(idx)
|
||||||
get({dict}, {key} [, {default}])
|
get({dict}, {key} [, {default}])
|
||||||
Get item with key {key} from |Dictionary| {dict}. When this
|
Get item with key {key} from |Dictionary| {dict}. When this
|
||||||
item is not available return {default}. Return zero when
|
item is not available return {default}. Return zero when
|
||||||
@ -4846,6 +4892,8 @@ get({dict}, {key} [, {default}])
|
|||||||
let val = get(g:, 'var_name', 'default')
|
let val = get(g:, 'var_name', 'default')
|
||||||
< This gets the value of g:var_name if it exists, and uses
|
< This gets the value of g:var_name if it exists, and uses
|
||||||
'default' when it does not exist.
|
'default' when it does not exist.
|
||||||
|
Preferably used as a |method|: >
|
||||||
|
mydict->get(key)
|
||||||
get({func}, {what})
|
get({func}, {what})
|
||||||
Get an item with from Funcref {func}. Possible values for
|
Get an item with from Funcref {func}. Possible values for
|
||||||
{what} are:
|
{what} are:
|
||||||
@ -4853,7 +4901,9 @@ get({func}, {what})
|
|||||||
"func" The function
|
"func" The function
|
||||||
"dict" The dictionary
|
"dict" The dictionary
|
||||||
"args" The list with arguments
|
"args" The list with arguments
|
||||||
|
Preferably used as a |method|: >
|
||||||
|
myfunc->get(what)
|
||||||
|
<
|
||||||
*getbufinfo()*
|
*getbufinfo()*
|
||||||
getbufinfo([{expr}])
|
getbufinfo([{expr}])
|
||||||
getbufinfo([{dict}])
|
getbufinfo([{dict}])
|
||||||
@ -4862,7 +4912,7 @@ getbufinfo([{dict}])
|
|||||||
Without an argument information about all the buffers is
|
Without an argument information about all the buffers is
|
||||||
returned.
|
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
|
the specified criteria are returned. The following keys can
|
||||||
be specified in {dict}:
|
be specified in {dict}:
|
||||||
buflisted include only listed buffers.
|
buflisted include only listed buffers.
|
||||||
@ -4876,31 +4926,32 @@ getbufinfo([{dict}])
|
|||||||
|
|
||||||
Each returned List item is a dictionary with the following
|
Each returned List item is a dictionary with the following
|
||||||
entries:
|
entries:
|
||||||
bufnr buffer number.
|
bufnr Buffer number.
|
||||||
changed TRUE if the buffer is modified.
|
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.
|
hidden TRUE if the buffer is hidden.
|
||||||
lastused timestamp in seconds, like
|
lastused Timestamp in seconds, like
|
||||||
|localtime()|, when the buffer was
|
|localtime()|, when the buffer was
|
||||||
last used.
|
last used.
|
||||||
{only with the |+viminfo| feature}
|
{only with the |+viminfo| feature}
|
||||||
listed TRUE if the buffer is listed.
|
listed TRUE if the buffer is listed.
|
||||||
lnum current line number in buffer.
|
lnum Line number used for the buffer when
|
||||||
linecount number of lines in the buffer (only
|
opened in the current window.
|
||||||
|
linecount Number of lines in the buffer (only
|
||||||
valid when loaded)
|
valid when loaded)
|
||||||
loaded TRUE if the buffer is loaded.
|
loaded TRUE if the buffer is loaded.
|
||||||
name full path to the file in the buffer.
|
name Full path to the file in the buffer.
|
||||||
signs list of signs placed in the buffer.
|
signs List of signs placed in the buffer.
|
||||||
Each list item is a dictionary with
|
Each list item is a dictionary with
|
||||||
the following fields:
|
the following fields:
|
||||||
id sign identifier
|
id sign identifier
|
||||||
lnum line number
|
lnum line number
|
||||||
name sign name
|
name sign name
|
||||||
variables a reference to the dictionary with
|
variables A reference to the dictionary with
|
||||||
buffer-local variables.
|
buffer-local variables.
|
||||||
windows list of |window-ID|s that display this
|
windows List of |window-ID|s that display this
|
||||||
buffer
|
buffer
|
||||||
popups list of popup |window-ID|s that
|
popups List of popup |window-ID|s that
|
||||||
display this buffer
|
display this buffer
|
||||||
|
|
||||||
Examples: >
|
Examples: >
|
||||||
@ -4915,8 +4966,11 @@ getbufinfo([{dict}])
|
|||||||
<
|
<
|
||||||
To get buffer-local options use: >
|
To get buffer-local options use: >
|
||||||
getbufvar({bufnr}, '&option_name')
|
getbufvar({bufnr}, '&option_name')
|
||||||
|
|
||||||
<
|
<
|
||||||
|
Can also be used as a |method|: >
|
||||||
|
GetBufnr()->getbufinfo()
|
||||||
|
<
|
||||||
|
|
||||||
*getbufline()*
|
*getbufline()*
|
||||||
getbufline({expr}, {lnum} [, {end}])
|
getbufline({expr}, {lnum} [, {end}])
|
||||||
Return a |List| with the lines starting from {lnum} to {end}
|
Return a |List| with the lines starting from {lnum} to {end}
|
||||||
@ -5018,8 +5072,9 @@ getchar([expr]) *getchar()*
|
|||||||
When the user clicks a mouse button, the mouse event will be
|
When the user clicks a mouse button, the mouse event will be
|
||||||
returned. The position can then be found in |v:mouse_col|,
|
returned. The position can then be found in |v:mouse_col|,
|
||||||
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
|
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|.
|
||||||
|getmousepos()| can also be used. This example positions the
|
|getmousepos()| can also be used. Mouse move events will be
|
||||||
mouse as it would normally happen: >
|
ignored.
|
||||||
|
This example positions the mouse as it would normally happen: >
|
||||||
let c = getchar()
|
let c = getchar()
|
||||||
if c == "\<LeftMouse>" && v:mouse_win > 0
|
if c == "\<LeftMouse>" && v:mouse_win > 0
|
||||||
exe v:mouse_win . "wincmd w"
|
exe v:mouse_win . "wincmd w"
|
||||||
@ -5393,7 +5448,7 @@ getline({lnum} [, {end}])
|
|||||||
< To get lines from another buffer see |getbufline()|
|
< To get lines from another buffer see |getbufline()|
|
||||||
|
|
||||||
getloclist({nr} [, {what}]) *getloclist()*
|
getloclist({nr} [, {what}]) *getloclist()*
|
||||||
Returns a list with all the entries in the location list for
|
Returns a |List| with all the entries in the location list for
|
||||||
window {nr}. {nr} can be the window number or the |window-ID|.
|
window {nr}. {nr} can be the window number or the |window-ID|.
|
||||||
When {nr} is zero the current window is used.
|
When {nr} is zero the current window is used.
|
||||||
|
|
||||||
@ -5415,7 +5470,15 @@ getloclist({nr} [, {what}]) *getloclist()*
|
|||||||
|location-list-file-window| for more
|
|location-list-file-window| for more
|
||||||
details.
|
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
|
Without the {expr} argument returns a |List| with information
|
||||||
about all the global marks. |mark|
|
about all the global marks. |mark|
|
||||||
|
|
||||||
@ -5459,7 +5522,7 @@ getmatches([{win}]) *getmatches()*
|
|||||||
:unlet m
|
:unlet m
|
||||||
<
|
<
|
||||||
getmousepos() *getmousepos()*
|
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
|
mouse. This can be used in a mapping for a mouse click or in
|
||||||
a filter of a popup window. The items are:
|
a filter of a popup window. The items are:
|
||||||
screenrow screen row
|
screenrow screen row
|
||||||
@ -5660,6 +5723,7 @@ getreginfo([{regname}]) *getreginfo()*
|
|||||||
If {regname} is invalid or not set, an empty Dictionary
|
If {regname} is invalid or not set, an empty Dictionary
|
||||||
will be returned.
|
will be returned.
|
||||||
If {regname} is not specified, |v:register| is used.
|
If {regname} is not specified, |v:register| is used.
|
||||||
|
The returned Dictionary can be passed to |setreg()|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetRegname()->getreginfo()
|
GetRegname()->getreginfo()
|
||||||
@ -5679,12 +5743,12 @@ getregtype([{regname}]) *getregtype()*
|
|||||||
|
|
||||||
gettabinfo([{arg}]) *gettabinfo()*
|
gettabinfo([{arg}]) *gettabinfo()*
|
||||||
If {arg} is not specified, then information about all the tab
|
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
|
Otherwise, {arg} specifies the tab page number and information
|
||||||
about that one is returned. If the tab page does not exist an
|
about that one is returned. If the tab page does not exist an
|
||||||
empty List is returned.
|
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.
|
tabnr tab page number.
|
||||||
variables a reference to the dictionary with
|
variables a reference to the dictionary with
|
||||||
tabpage-local variables
|
tabpage-local variables
|
||||||
@ -5712,7 +5776,7 @@ gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
|
|||||||
When {varname} is empty a dictionary with all window-local
|
When {varname} is empty a dictionary with all window-local
|
||||||
variables is returned.
|
variables is returned.
|
||||||
When {varname} is equal to "&" get the values of all
|
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
|
Otherwise, when {varname} starts with "&" get the value of a
|
||||||
window-local option.
|
window-local option.
|
||||||
Note that {varname} must be the name without "w:".
|
Note that {varname} must be the name without "w:".
|
||||||
@ -5766,17 +5830,30 @@ gettagstack([{nr}]) *gettagstack()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetWinnr()->gettagstack()
|
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()*
|
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
|
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.
|
exist the result is an empty list.
|
||||||
|
|
||||||
Without {winid} information about all the windows in all the
|
Without {winid} information about all the windows in all the
|
||||||
tab pages is returned.
|
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
|
botline last displayed buffer line
|
||||||
bufnr number of buffer in the window
|
bufnr number of buffer in the window
|
||||||
height window height (excluding winbar)
|
height window height (excluding winbar)
|
||||||
@ -5804,7 +5881,7 @@ getwininfo([{winid}]) *getwininfo()*
|
|||||||
GetWinnr()->getwininfo()
|
GetWinnr()->getwininfo()
|
||||||
|
|
||||||
getwinpos([{timeout}]) *getwinpos()*
|
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:
|
|getwinposx()| and |getwinposy()| combined:
|
||||||
[x-pos, y-pos]
|
[x-pos, y-pos]
|
||||||
{timeout} can be used to specify how long to wait in msec for
|
{timeout} can be used to specify how long to wait in msec for
|
||||||
@ -5859,7 +5936,7 @@ glob({expr} [, {nosuf} [, {list} [, {alllinks}]]]) *glob()*
|
|||||||
'suffixes' affect the ordering of matches.
|
'suffixes' affect the ordering of matches.
|
||||||
'wildignorecase' always applies.
|
'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,
|
with all matching files. The advantage of using a List is,
|
||||||
you also get filenames containing newlines correctly.
|
you also get filenames containing newlines correctly.
|
||||||
Otherwise the result is a String and when there are several
|
Otherwise the result is a String and when there are several
|
||||||
@ -5922,7 +5999,7 @@ globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
|
|||||||
one of the patterns in 'wildignore' will be skipped and
|
one of the patterns in 'wildignore' will be skipped and
|
||||||
'suffixes' affect the ordering of matches.
|
'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
|
with all matching files. The advantage of using a List is, you
|
||||||
also get filenames containing newlines correctly. Otherwise
|
also get filenames containing newlines correctly. Otherwise
|
||||||
the result is a String and when there are several matches,
|
the result is a String and when there are several matches,
|
||||||
@ -5954,7 +6031,7 @@ has({feature} [, {check}])
|
|||||||
zero otherwise. This is useful to check for a typo in
|
zero otherwise. This is useful to check for a typo in
|
||||||
{feature} and to detect dead code. Keep in mind that an older
|
{feature} and to detect dead code. Keep in mind that an older
|
||||||
Vim version will not know about a feature added later and
|
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.
|
current Vim version.
|
||||||
|
|
||||||
Also see |exists()|.
|
Also see |exists()|.
|
||||||
@ -7281,7 +7358,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
|||||||
|
|
||||||
*max()*
|
*max()*
|
||||||
max({expr}) Return the maximum value of all items in {expr}.
|
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.
|
it returns the maximum of all values in the Dictionary.
|
||||||
If {expr} is neither a List nor a Dictionary, or one of the
|
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
|
items in {expr} cannot be used as a Number this results in
|
||||||
@ -7352,7 +7429,7 @@ menu_info({name} [, {mode}]) *menu_info()*
|
|||||||
|
|
||||||
< *min()*
|
< *min()*
|
||||||
min({expr}) Return the minimum value of all items in {expr}.
|
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.
|
it returns the minimum of all values in the Dictionary.
|
||||||
If {expr} is neither a List nor a Dictionary, or one of the
|
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
|
items in {expr} cannot be used as a Number this results in
|
||||||
@ -8014,7 +8091,7 @@ readdirex({directory} [, {expr} [, {dict}]]) *readdirex()*
|
|||||||
If {expr} results in 1 then this entry will be added
|
If {expr} results in 1 then this entry will be added
|
||||||
to the list.
|
to the list.
|
||||||
The entries "." and ".." are always excluded.
|
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.
|
of the entry.
|
||||||
When {expr} is a function the entry is passed as the argument.
|
When {expr} is a function the entry is passed as the argument.
|
||||||
For example, to get a list of files ending in ".txt": >
|
For example, to get a list of files ending in ".txt": >
|
||||||
@ -8263,7 +8340,7 @@ remove({list}, {idx} [, {end}]) *remove()*
|
|||||||
Without {end}: Remove the item at {idx} from |List| {list} and
|
Without {end}: Remove the item at {idx} from |List| {list} and
|
||||||
return the item.
|
return the item.
|
||||||
With {end}: Remove items from {idx} to {end} (inclusive) and
|
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}
|
item as {end} a list with one item is returned. When {end}
|
||||||
points to an item before {idx} this is an error.
|
points to an item before {idx} this is an error.
|
||||||
See |list-index| for possible values of {idx} and {end}.
|
See |list-index| for possible values of {idx} and {end}.
|
||||||
@ -8400,7 +8477,7 @@ screenchar({row}, {col}) *screenchar()*
|
|||||||
GetRow()->screenchar(col)
|
GetRow()->screenchar(col)
|
||||||
|
|
||||||
screenchars({row}, {col}) *screenchars()*
|
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
|
as what |screenchar()| returns. Further numbers are
|
||||||
composing characters on top of the base character.
|
composing characters on top of the base character.
|
||||||
This is mainly to be used for testing.
|
This is mainly to be used for testing.
|
||||||
@ -8565,7 +8642,7 @@ searchcount([{options}]) *searchcount()*
|
|||||||
without the "S" flag in 'shortmess'. This works even if
|
without the "S" flag in 'shortmess'. This works even if
|
||||||
'shortmess' does contain the "S" flag.
|
'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.
|
previous pattern was not set and "pattern" was not specified.
|
||||||
|
|
||||||
key type meaning ~
|
key type meaning ~
|
||||||
@ -8647,7 +8724,7 @@ searchcount([{options}]) *searchcount()*
|
|||||||
" search again
|
" search again
|
||||||
call searchcount()
|
call searchcount()
|
||||||
<
|
<
|
||||||
{options} must be a Dictionary. It can contain:
|
{options} must be a |Dictionary|. It can contain:
|
||||||
key type meaning ~
|
key type meaning ~
|
||||||
recompute |Boolean| if |TRUE|, recompute the count
|
recompute |Boolean| if |TRUE|, recompute the count
|
||||||
like |n| or |N| was executed.
|
like |n| or |N| was executed.
|
||||||
@ -8678,7 +8755,8 @@ searchcount([{options}]) *searchcount()*
|
|||||||
pos |List| `[lnum, col, off]` value
|
pos |List| `[lnum, col, off]` value
|
||||||
when recomputing the result.
|
when recomputing the result.
|
||||||
this changes "current" result
|
this changes "current" result
|
||||||
value. see |cursor()|, |getpos()
|
value. see |cursor()|,
|
||||||
|
|getpos()|
|
||||||
(default: cursor's position)
|
(default: cursor's position)
|
||||||
|
|
||||||
|
|
||||||
@ -8889,6 +8967,31 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
|||||||
third argument: >
|
third argument: >
|
||||||
GetValue()->setbufvar(buf, varname)
|
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()*
|
setcharsearch({dict}) *setcharsearch()*
|
||||||
Set the current character search information to {dict},
|
Set the current character search information to {dict},
|
||||||
which contains one or more of the following entries:
|
which contains one or more of the following entries:
|
||||||
@ -8999,6 +9102,8 @@ setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
|||||||
Otherwise, same as |setqflist()|.
|
Otherwise, same as |setqflist()|.
|
||||||
Also see |location-list|.
|
Also see |location-list|.
|
||||||
|
|
||||||
|
For {action} see |setqflist-action|.
|
||||||
|
|
||||||
If the optional {what} dictionary argument is supplied, then
|
If the optional {what} dictionary argument is supplied, then
|
||||||
only the items listed in {what} are set. Refer to |setqflist()|
|
only the items listed in {what} are set. Refer to |setqflist()|
|
||||||
for the list of supported keys in {what}.
|
for the list of supported keys in {what}.
|
||||||
@ -9077,8 +9182,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
|||||||
only the items listed in {what} are set. The first {list}
|
only the items listed in {what} are set. The first {list}
|
||||||
argument is ignored. See below for the supported items in
|
argument is ignored. See below for the supported items in
|
||||||
{what}.
|
{what}.
|
||||||
|
*setqflist-what*
|
||||||
When {what} is not present, the items in {list} or used. Each
|
When {what} is not present, the items in {list} are used. Each
|
||||||
item must be a dictionary. Non-dictionary items in {list} are
|
item must be a dictionary. Non-dictionary items in {list} are
|
||||||
ignored. Each dictionary item can contain the following
|
ignored. Each dictionary item can contain the following
|
||||||
entries:
|
entries:
|
||||||
@ -9114,7 +9219,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
|||||||
Note that the list is not exactly the same as what
|
Note that the list is not exactly the same as what
|
||||||
|getqflist()| returns.
|
|getqflist()| returns.
|
||||||
|
|
||||||
{action} values: *E927*
|
{action} values: *setqflist-action* *E927*
|
||||||
'a' The items from {list} are added to the existing
|
'a' The items from {list} are added to the existing
|
||||||
quickfix list. If there is no existing list, then a
|
quickfix list. If there is no existing list, then a
|
||||||
new list is created.
|
new list is created.
|
||||||
@ -9155,7 +9260,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
|||||||
the last quickfix list.
|
the last quickfix list.
|
||||||
quickfixtextfunc
|
quickfixtextfunc
|
||||||
function to get the text to display in the
|
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
|
|quickfix-window-function| for an explanation
|
||||||
of how to write the function and an example.
|
of how to write the function and an example.
|
||||||
title quickfix list title text. See |quickfix-title|
|
title quickfix list title text. See |quickfix-title|
|
||||||
@ -9186,10 +9292,12 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
|||||||
setreg({regname}, {value} [, {options}])
|
setreg({regname}, {value} [, {options}])
|
||||||
Set the register {regname} to {value}.
|
Set the register {regname} to {value}.
|
||||||
If {regname} is "" or "@", the unnamed register '"' is used.
|
If {regname} is "" or "@", the unnamed register '"' is used.
|
||||||
|
|
||||||
{value} may be any value returned by |getreg()| or
|
{value} may be any value returned by |getreg()| or
|
||||||
|getreginfo()|, including a |List| or |Dict|.
|
|getreginfo()|, including a |List| or |Dict|.
|
||||||
If {options} contains "a" or {regname} is upper case,
|
If {options} contains "a" or {regname} is upper case,
|
||||||
then the value is appended.
|
then the value is appended.
|
||||||
|
|
||||||
{options} can also contain a register type specification:
|
{options} can also contain a register type specification:
|
||||||
"c" or "v" |characterwise| mode
|
"c" or "v" |characterwise| mode
|
||||||
"l" or "V" |linewise| mode
|
"l" or "V" |linewise| mode
|
||||||
@ -9220,7 +9328,7 @@ setreg({regname}, {value} [, {options}])
|
|||||||
register: >
|
register: >
|
||||||
:let var_a = getreginfo()
|
:let var_a = getreginfo()
|
||||||
:call setreg('a', var_a)
|
:call setreg('a', var_a)
|
||||||
< or:
|
< or: >
|
||||||
:let var_a = getreg('a', 1, 1)
|
:let var_a = getreg('a', 1, 1)
|
||||||
:let var_amode = getregtype('a')
|
:let var_amode = getregtype('a')
|
||||||
....
|
....
|
||||||
@ -9296,7 +9404,7 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
|||||||
|
|
||||||
Returns zero for success, -1 for failure.
|
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: >
|
Empty the tag stack of window 3: >
|
||||||
call settagstack(3, {'items' : []})
|
call settagstack(3, {'items' : []})
|
||||||
|
|
||||||
@ -9697,13 +9805,13 @@ state([{what}]) *state()*
|
|||||||
something is busy:
|
something is busy:
|
||||||
m halfway a mapping, :normal command, feedkeys() or
|
m halfway a mapping, :normal command, feedkeys() or
|
||||||
stuffed command
|
stuffed command
|
||||||
o operator pending or waiting for a command argument,
|
o operator pending, e.g. after |d|
|
||||||
e.g. after |f|
|
|
||||||
a Insert mode autocomplete active
|
a Insert mode autocomplete active
|
||||||
x executing an autocommand
|
x executing an autocommand
|
||||||
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
||||||
ch_readraw() when reading json.
|
ch_readraw() when reading json
|
||||||
S not triggering SafeState or SafeStateAgain
|
S not triggering SafeState or SafeStateAgain, e.g. after
|
||||||
|
|f| or a count
|
||||||
c callback invoked, including timer (repeats for
|
c callback invoked, including timer (repeats for
|
||||||
recursiveness up to "ccc")
|
recursiveness up to "ccc")
|
||||||
s screen has scrolled for messages
|
s screen has scrolled for messages
|
||||||
@ -9884,7 +9992,7 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
|||||||
List [item, item]
|
List [item, item]
|
||||||
Dictionary {key: value, key: value}
|
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
|
replaced by "[...]" or "{...}". Using eval() on the result
|
||||||
will then fail.
|
will then fail.
|
||||||
|
|
||||||
@ -9898,17 +10006,22 @@ strlen({expr}) The result is a Number, which is the length of the String
|
|||||||
{expr} in bytes.
|
{expr} in bytes.
|
||||||
If the argument is a Number it is first converted to a String.
|
If the argument is a Number it is first converted to a String.
|
||||||
For other types an error is given.
|
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()|.
|
|strchars()|.
|
||||||
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
Also see |len()|, |strdisplaywidth()| and |strwidth()|.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetString()->strlen()
|
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
|
The result is a String, which is part of {src}, starting from
|
||||||
byte {start}, with the byte length {len}.
|
byte {start}, with the byte length {len}.
|
||||||
To count characters instead of bytes use |strcharpart()|.
|
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
|
When bytes are selected which do not exist, this doesn't
|
||||||
result in an error, the bytes are simply omitted.
|
result in an error, the bytes are simply omitted.
|
||||||
@ -9920,8 +10033,8 @@ strpart({src}, {start} [, {len}]) *strpart()*
|
|||||||
strpart("abcdefg", 3) == "defg"
|
strpart("abcdefg", 3) == "defg"
|
||||||
|
|
||||||
< Note: To get the first character, {start} must be 0. For
|
< Note: To get the first character, {start} must be 0. For
|
||||||
example, to get three bytes under and after the cursor: >
|
example, to get the character under the cursor: >
|
||||||
strpart(getline("."), col(".") - 1, 3)
|
strpart(getline("."), col(".") - 1, 1, v:true)
|
||||||
<
|
<
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetText()->strpart(5)
|
GetText()->strpart(5)
|
||||||
@ -10096,7 +10209,7 @@ swapname({expr}) *swapname()*
|
|||||||
The result is the swap file path of the buffer {expr}.
|
The result is the swap file path of the buffer {expr}.
|
||||||
For the use of {expr}, see |bufname()| above.
|
For the use of {expr}, see |bufname()| above.
|
||||||
If buffer {expr} is the current buffer, the result is equal to
|
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.
|
If buffer {expr} has no swap file, returns an empty string.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
@ -10175,7 +10288,7 @@ synIDtrans({synID}) *synIDtrans()*
|
|||||||
:echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg")
|
:echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg")
|
||||||
|
|
||||||
synconcealed({lnum}, {col}) *synconcealed()*
|
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
|
1. The first item in the list is 0 if the character at the
|
||||||
position {lnum} and {col} is not part of a concealable
|
position {lnum} and {col} is not part of a concealable
|
||||||
region, 1 if it is.
|
region, 1 if it is.
|
||||||
@ -10220,7 +10333,7 @@ synstack({lnum}, {col}) *synstack()*
|
|||||||
|
|
||||||
system({expr} [, {input}]) *system()* *E677*
|
system({expr} [, {input}]) *system()* *E677*
|
||||||
Get the output of the shell command {expr} as a string. See
|
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
|
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
|
to a file and passed as stdin to the command. The string is
|
||||||
@ -10319,8 +10432,13 @@ tabpagebuflist([{arg}]) *tabpagebuflist()*
|
|||||||
tabpagenr([{arg}]) *tabpagenr()*
|
tabpagenr([{arg}]) *tabpagenr()*
|
||||||
The result is a Number, which is the number of the current
|
The result is a Number, which is the number of the current
|
||||||
tab page. The first tab page has number 1.
|
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.
|
The number can be used with the |:tab| command.
|
||||||
|
|
||||||
|
|
||||||
@ -10482,7 +10600,7 @@ timer_info([{id}])
|
|||||||
returned.
|
returned.
|
||||||
When {id} is omitted information about all timers is 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:
|
these items:
|
||||||
"id" the timer ID
|
"id" the timer ID
|
||||||
"time" time the timer was started with
|
"time" time the timer was started with
|
||||||
@ -10716,7 +10834,7 @@ undotree() *undotree()*
|
|||||||
undo blocks.
|
undo blocks.
|
||||||
|
|
||||||
The first item in the "entries" list is the oldest undo item.
|
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
|
"seq" Undo sequence number. Same as what appears in
|
||||||
|:undolist|.
|
|:undolist|.
|
||||||
"time" Timestamp when the change happened. Use
|
"time" Timestamp when the change happened. Use
|
||||||
@ -10928,7 +11046,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
|||||||
|
|
||||||
Returns zero for success, non-zero for failure.
|
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,
|
"vertical" When TRUE, the split is created vertically,
|
||||||
like with |:vsplit|.
|
like with |:vsplit|.
|
||||||
"rightbelow" When TRUE, the split is made below or to the
|
"rightbelow" When TRUE, the split is made below or to the
|
||||||
@ -11329,7 +11447,7 @@ mouse_urxvt Compiled with support for urxvt mouse.
|
|||||||
mouse_xterm Compiled with support for xterm mouse.
|
mouse_xterm Compiled with support for xterm mouse.
|
||||||
mouseshape Compiled with support for 'mouseshape'.
|
mouseshape Compiled with support for 'mouseshape'.
|
||||||
multi_byte Compiled with support for 'encoding' (always true)
|
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_byte_ime Compiled with support for IME input method.
|
||||||
multi_lang Compiled with support for multiple languages.
|
multi_lang Compiled with support for multiple languages.
|
||||||
mzscheme Compiled with MzScheme interface |mzscheme|.
|
mzscheme Compiled with MzScheme interface |mzscheme|.
|
||||||
@ -11678,7 +11796,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
|
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
|
invalid the moment the function is defined. The expressions are also only
|
||||||
evaluated when arguments are not specified during a call.
|
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
|
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
|
cannot pass v:none as an ordinary value when an argument has a default
|
||||||
expression.
|
expression.
|
||||||
@ -12093,8 +12211,10 @@ An assignment leaves out the `:let` command. |vim9-declaration|
|
|||||||
text...
|
text...
|
||||||
text...
|
text...
|
||||||
{endmarker}
|
{endmarker}
|
||||||
Set internal variable {var-name} to a List containing
|
Set internal variable {var-name} to a |List|
|
||||||
the lines of text bounded by the string {endmarker}.
|
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} must not contain white space.
|
||||||
{endmarker} cannot start with a lower case character.
|
{endmarker} cannot start with a lower case character.
|
||||||
The last line should end only with the {endmarker}
|
The last line should end only with the {endmarker}
|
||||||
@ -12205,10 +12325,18 @@ text...
|
|||||||
:const x = 1
|
:const x = 1
|
||||||
< is equivalent to: >
|
< is equivalent to: >
|
||||||
:let x = 1
|
:let x = 1
|
||||||
:lockvar 1 x
|
:lockvar! x
|
||||||
< This is useful if you want to make sure the variable
|
< This is useful if you want to make sure the variable
|
||||||
is not modified.
|
is not modified. If the value is a List or Dictionary
|
||||||
*E995*
|
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: >
|
|:const| does not allow to for changing a variable: >
|
||||||
:let x = 1
|
:let x = 1
|
||||||
:const x = 2 " Error!
|
: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.
|
A. If you want to overrule all default file type checks.
|
||||||
This works by writing one file for each filetype. The disadvantage is that
|
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
|
there can be many files. The advantage is that you can simply drop this
|
||||||
this file in the right directory to make it work.
|
file in the right directory to make it work.
|
||||||
*ftdetect*
|
*ftdetect*
|
||||||
1. Create your user runtime directory. You would normally use the first
|
1. Create your user runtime directory. You would normally use the first
|
||||||
item of the 'runtimepath' option. Then create the directory "ftdetect"
|
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
|
$VIM/vimfiles/indent/sqlite.vim
|
||||||
|
|
||||||
No changes are necessary to the SQLSetType function. It will automatically
|
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*
|
4.3.2 Column Completion: *sql-completion-columns*
|
||||||
|
|
||||||
The SQL completion plugin can also display a list of columns for particular
|
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
|
NOTE: The following example uses <Right> to trigger a column list while
|
||||||
the popup window is active.
|
the popup window is active.
|
||||||
@ -727,7 +727,7 @@ your platform (often a case on *nix) you define the following variable in
|
|||||||
your |vimrc|: >
|
your |vimrc|: >
|
||||||
let g:omni_sql_no_default_maps = 1
|
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
|
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
|
which allows you to make customizations without changing the files that are
|
||||||
included with the Vim distribution. If you wish to customize the maps
|
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: >
|
For Mac OSX you can use something like this: >
|
||||||
:set guifont=Monaco:h10
|
: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).
|
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.
|
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*
|
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.
|
See the Make_mvc.mak file for instructions, search for XPM.
|
||||||
|
|
||||||
To try out if XPM support works do this: >
|
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
|
VIM - main help file
|
||||||
k
|
k
|
||||||
@ -158,7 +158,7 @@ Programming language support ~
|
|||||||
|
|
||||||
Language support ~
|
Language support ~
|
||||||
|digraph.txt| list of available digraphs
|
|digraph.txt| list of available digraphs
|
||||||
|mbyte.txt| multi-byte text support
|
|mbyte.txt| multibyte text support
|
||||||
|mlang.txt| non-English language support
|
|mlang.txt| non-English language support
|
||||||
|rileft.txt| right-to-left editing mode
|
|rileft.txt| right-to-left editing mode
|
||||||
|arabic.txt| Arabic language support and editing
|
|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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -369,14 +369,16 @@ highlighting. So do these:
|
|||||||
You can find the details in $VIMRUNTIME/syntax/help.vim
|
You can find the details in $VIMRUNTIME/syntax/help.vim
|
||||||
|
|
||||||
*inclusion*
|
*inclusion*
|
||||||
Some people make a big deal about using "his" when referring to the user,
|
Vim is for everybody, no matter race, gender or anything. Some people make a
|
||||||
thinking it means we assume the user is male. That is of course not the case,
|
big deal about using "he" or "his" when referring to the user, thinking it
|
||||||
it's just a habit of writing help text, which quite often is many years old.
|
means we assume the user is male. That is not the case, it's just a habit of
|
||||||
Also, a lot of the text is written by contributors for who English is not
|
writing help text, which quite often is many years old. Also, a lot of the
|
||||||
their first language. We do not make any assumptions about the gender of the
|
text is written by contributors for whom English is not their first language.
|
||||||
user, no matter how the text is phrased. And we do not want to waste time on
|
We do not make any assumptions about the gender of the user, no matter how the
|
||||||
this discussion. The goal is that the reader understands how Vim works, the
|
text is phrased. Some people have suggested using "they", but that is not
|
||||||
exact wording is secondary.
|
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:
|
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
|
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
|
returns it. Note that the buffer is not set as
|
||||||
current.
|
current.
|
||||||
|
|
||||||
vim.call({name} [,{args}])
|
vim.call({name} [, {args}])
|
||||||
Proxy to call Vim function named {name} with
|
Proxy to call Vim function named {name} with
|
||||||
arguments {args}. Example: >
|
arguments {args}. Example: >
|
||||||
:lua print(vim.call('has', 'timers'))
|
: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
|
Lua are reflected in Vim and vice-versa. A list "l" has the following
|
||||||
properties and methods:
|
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
|
Properties
|
||||||
----------
|
----------
|
||||||
o "#l" is the number of items in list "l", equivalent to "len(l)"
|
o "#l" is the number of items in list "l", equivalent to "len(l)"
|
||||||
in Vim.
|
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
|
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 "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
|
Methods
|
||||||
-------
|
-------
|
||||||
@ -237,13 +250,16 @@ Examples:
|
|||||||
:let l = [1, 'item']
|
:let l = [1, 'item']
|
||||||
:lua l = vim.eval('l') -- same 'l'
|
:lua l = vim.eval('l') -- same 'l'
|
||||||
:lua l:add(vim.list())
|
:lua l:add(vim.list())
|
||||||
:lua l[0] = math.pi
|
:lua l[1] = math.pi
|
||||||
:echo l[0] " 3.141593
|
: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 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
|
:lua for item in l() do print(item) end
|
||||||
<
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Dict userdata *lua-dict*
|
4. Dict userdata *lua-dict*
|
||||||
@ -333,6 +349,14 @@ Examples:
|
|||||||
:lua l = d.len -- assign d as 'self'
|
:lua l = d.len -- assign d as 'self'
|
||||||
:lua print(l())
|
: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*
|
7. Buffer userdata *lua-buffer*
|
||||||
|
@ -275,7 +275,7 @@ Options:
|
|||||||
$win delcmd {cmd} *tcl-window-delcmd*
|
$win delcmd {cmd} *tcl-window-delcmd*
|
||||||
Registers the Tcl command {cmd} as a deletion callback for the window.
|
Registers the Tcl command {cmd} as a deletion callback for the window.
|
||||||
This command is executed (in the global scope) just before 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"]
|
$win delcmd [list puts vimerr "window deleted"]
|
||||||
< See also |tcl-buffer-delcmd|.
|
< See also |tcl-buffer-delcmd|.
|
||||||
|
|
||||||
@ -357,7 +357,7 @@ Options:
|
|||||||
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
$buf delcmd {cmd} *tcl-buffer-delcmd*
|
||||||
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
Registers the Tcl command {cmd} as a deletion callback for the buffer.
|
||||||
This command is executed (in the global scope) just before 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"]
|
$buf delcmd [list puts vimerr "buffer [$buf number] gone"]
|
||||||
< See also |tcl-window-delcmd|.
|
< See also |tcl-window-delcmd|.
|
||||||
|
|
||||||
|
@ -414,11 +414,11 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-(*
|
*cino-(*
|
||||||
(N When in unclosed parentheses, indent N characters from the line
|
(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
|
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
|
up with the next non-white character after the unclosed
|
||||||
parentheses. (default 'shiftwidth' * 2).
|
parenthesis. (default 'shiftwidth' * 2).
|
||||||
|
|
||||||
cino= cino=(0 >
|
cino= cino=(0 >
|
||||||
if (c1 && (c2 || if (c1 && (c2 ||
|
if (c1 && (c2 || if (c1 && (c2 ||
|
||||||
@ -439,7 +439,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-U*
|
*cino-U*
|
||||||
UN When N is non-zero, do not ignore the indenting specified by
|
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).
|
non-white character in its line. (default 0).
|
||||||
|
|
||||||
cino= or cino=(s cino=(s,U1 >
|
cino= or cino=(s cino=(s,U1 >
|
||||||
@ -452,8 +452,8 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
*cino-w*
|
*cino-w*
|
||||||
wN When in unclosed parentheses and N is non-zero and either
|
wN When in unclosed parentheses and N is non-zero and either
|
||||||
using "(0" or "u0", respectively, or using "U0" and the unclosed
|
using "(0" or "u0", respectively, or using "U0" and 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 character immediately after the unclosed parentheses
|
up with the character immediately after the unclosed parenthesis
|
||||||
rather than the first non-white character. (default 0).
|
rather than the first non-white character. (default 0).
|
||||||
|
|
||||||
cino=(0 cino=(0,w1 >
|
cino=(0 cino=(0,w1 >
|
||||||
@ -464,11 +464,11 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-W*
|
*cino-W*
|
||||||
WN When in unclosed parentheses and N is non-zero and either
|
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
|
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
|
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 >
|
cino=(0 cino=(0,W4 >
|
||||||
a_long_line( a_long_line(
|
a_long_line( a_long_line(
|
||||||
@ -495,8 +495,8 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-m*
|
*cino-m*
|
||||||
mN When N is non-zero, line up a line starting with a closing
|
mN When N is non-zero, line up a line starting with a closing
|
||||||
parentheses with the first character of the line with the
|
parenthesis with the first character of the line with the
|
||||||
matching opening parentheses. (default 0).
|
matching opening parenthesis. (default 0).
|
||||||
|
|
||||||
cino=(s cino=(s,m1 >
|
cino=(s cino=(s,m1 >
|
||||||
c = c1 && ( c = c1 && (
|
c = c1 && ( c = c1 && (
|
||||||
@ -510,7 +510,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
<
|
<
|
||||||
*cino-M*
|
*cino-M*
|
||||||
MN When N is non-zero, line up a line starting with a closing
|
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).
|
(default 0).
|
||||||
|
|
||||||
cino= cino=M1 >
|
cino= cino=M1 >
|
||||||
@ -569,7 +569,7 @@ The examples below assume a 'shiftwidth' of 4.
|
|||||||
recognize preprocessor lines; right-shifting lines that start
|
recognize preprocessor lines; right-shifting lines that start
|
||||||
with "#" does not work.
|
with "#" does not work.
|
||||||
|
|
||||||
|
*cino-P*
|
||||||
PN When N is non-zero recognize C pragmas, and indent them like any
|
PN When N is non-zero recognize C pragmas, and indent them like any
|
||||||
other code; does not concern other preprocessor directives.
|
other code; does not concern other preprocessor directives.
|
||||||
When N is zero (default): don't recognize C pragmas, treating
|
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: >
|
Indent for a continuation line: >
|
||||||
let g:pyindent_continue = 'shiftwidth() * 2'
|
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
|
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: >
|
indenting isn't correct, you can set a larger timeout in msec: >
|
||||||
let g:pyindent_searchpair_timeout = 500
|
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-LeftMouse>| <C-LeftMouse> ":ta" to the keyword at the mouse click
|
||||||
|<C-Right>| <C-Right> 1 same as "w"
|
|<C-Right>| <C-Right> 1 same as "w"
|
||||||
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
|<C-RightMouse>| <C-RightMouse> same as "CTRL-T"
|
||||||
|
|<C-Tab>| <C-Tab> same as "g<Tab>"
|
||||||
|<Del>| ["x]<Del> 2 same as "x"
|
|<Del>| ["x]<Del> 2 same as "x"
|
||||||
|N<Del>| {count}<Del> remove the last digit from {count}
|
|N<Del>| {count}<Del> remove the last digit from {count}
|
||||||
|<Down>| <Down> 1 same as "j"
|
|<Down>| <Down> 1 same as "j"
|
||||||
@ -587,6 +588,8 @@ tag command action in Normal mode ~
|
|||||||
following the file name.
|
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 next tab page
|
||||||
|CTRL-W_gT| CTRL-W g T same as `gT`: go to previous 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_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
|
|CTRL-W_i| CTRL-W i split window and jump to declaration of
|
||||||
identifier under the cursor
|
identifier under the cursor
|
||||||
@ -805,6 +808,7 @@ tag char note action in Normal mode ~
|
|||||||
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
|g<LeftMouse>| g<LeftMouse> same as <C-LeftMouse>
|
||||||
g<MiddleMouse> same as <C-MiddleMouse>
|
g<MiddleMouse> same as <C-MiddleMouse>
|
||||||
|g<RightMouse>| g<RightMouse> same as <C-RightMouse>
|
|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"
|
|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
|
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
|
Flemming Madsen X11 client-server, various features and patches
|
||||||
Tony Mechelynck answers many user questions
|
Tony Mechelynck answers many user questions
|
||||||
Paul Moore Python interface extensions, many patches
|
Paul Moore Python interface extensions, many patches
|
||||||
Katsuhito Nagano Work on multi-byte versions
|
Katsuhito Nagano Work on multibyte versions
|
||||||
Sung-Hyun Nam Work on multi-byte versions
|
Sung-Hyun Nam Work on multibyte versions
|
||||||
Vince Negri Win32 GUI and generic console enhancements
|
Vince Negri Win32 GUI and generic console enhancements
|
||||||
Steve Oualline Author of the first Vim book |frombook|
|
Steve Oualline Author of the first Vim book |frombook|
|
||||||
Dominique Pelle Valgrind reports and many fixes
|
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)
|
||||||
<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)
|
<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
|
character, Vim may not be able to know what byte sequence that is and then
|
||||||
it won't work.
|
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
|
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
|
<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
|
not wait for more characters to be typed. However, if the characters were
|
||||||
already typed they are used.
|
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*
|
*:map-<silent>* *:map-silent*
|
||||||
To define a mapping which will not be echoed on the command line, add
|
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-033> character 27
|
||||||
<Char-0x7f> character 127
|
<Char-0x7f> character 127
|
||||||
<S-Char-114> character 114 ('r') shifted ('R')
|
<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.
|
Upper and lowercase differences are ignored.
|
||||||
|
|
||||||
*map-comments*
|
*map-comments*
|
||||||
@ -843,11 +849,10 @@ When modifyOtherKeys is enabled you can map <C-[> and <C-S-{>: >
|
|||||||
imap <C-S-{> {{{
|
imap <C-S-{> {{{
|
||||||
Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
|
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
|
A known side effect is that in Insert mode the raw escape sequence is inserted
|
||||||
inserted after the CTRL-V key. This can be used to check whether
|
after the CTRL-V key. This can be used to check whether modifyOtherKeys is
|
||||||
modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you
|
enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you get one byte then
|
||||||
get one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is
|
modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||||
on.
|
|
||||||
|
|
||||||
When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
|
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.
|
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
|
the script it was defined in. This makes it possible that the command calls a
|
||||||
local function or uses a local mapping.
|
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.
|
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
|
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.
|
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
|
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
|
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
|
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
|
features. Unfortunately, every system has its own way to deal with multibyte
|
||||||
languages and it is quite complicated.
|
languages and it is quite complicated.
|
||||||
|
|
||||||
@ -123,12 +123,12 @@ You can also set 'guifont' alone, Vim will try to find a matching
|
|||||||
|
|
||||||
INPUT
|
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 X11 XIM can be used. See |XIM|.
|
||||||
- For MS-Windows IME can be used. See |IME|.
|
- For MS-Windows IME can be used. See |IME|.
|
||||||
- For all systems keymaps can be used. See |mbyte-keymap|.
|
- 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.
|
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*
|
WHAT IS A LOCALE? *locale*
|
||||||
|
|
||||||
There are many of languages in the world. And there are different cultures
|
There are many languages in the world. And there are different cultures and
|
||||||
and environments at least as much as the number of languages. A linguistic
|
environments at least as many as the number of languages. A linguistic
|
||||||
environment corresponding to an area is called "locale". This includes
|
environment corresponding to an area is called "locale". This includes
|
||||||
information about the used language, the charset, collating order for sorting,
|
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
|
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.
|
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.
|
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
|
encoding. This allows using much more than 256 characters, which is required
|
||||||
for most East Asian languages.
|
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
|
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
|
matter what language is used. Thus you might see the right text even when the
|
||||||
encoding was set wrong.
|
encoding was set wrong.
|
||||||
@ -488,11 +488,11 @@ possible.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
4. Using a terminal *mbyte-terminal*
|
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
|
terminal, if the terminal supports the same encoding that Vim uses. Thus this
|
||||||
is less flexible.
|
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
|
|XIM|. Examples are kterm (Kanji term) and hanterm (for Korean), Eterm
|
||||||
(Enlightened terminal) and rxvt.
|
(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*
|
5. Fonts on X11 *mbyte-fonts-X11*
|
||||||
|
|
||||||
Unfortunately, using fonts in X11 is complicated. The name of a single-byte
|
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
|
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
|
its XLFD is not supported; see 'guifont' for an example of how to
|
||||||
@ -610,7 +610,7 @@ written like:
|
|||||||
|
|
||||||
X FONTSET
|
X FONTSET
|
||||||
*fontset* *xfontset*
|
*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
|
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
|
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.
|
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
|
your_input_style is one of |OverTheSpot|, |OffTheSpot|, |Root|. See
|
||||||
also |xim-input-style|.
|
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.
|
*.inputMethod and *.preeditType are optional if you use X11R6.
|
||||||
|
|
||||||
For example, when you are using kinput2 as |IM-server|, >
|
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
|
This works on not only insert-normal mode, but also search-command input and
|
||||||
replace mode.
|
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.
|
the different input methods or disable them temporarily.
|
||||||
|
|
||||||
WHAT IS IME
|
WHAT IS IME
|
||||||
@ -1436,7 +1436,7 @@ not everybody is able to type a composing character.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
12. Overview of options *mbyte-options*
|
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.
|
options.txt for detailed information.
|
||||||
|
|
||||||
'encoding' Encoding used for the keyboard and display. It is also the
|
'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
|
languages where a sequence of characters can be broken
|
||||||
anywhere.
|
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'.
|
this option is not empty, it replaces 'guifont'.
|
||||||
|
|
||||||
'keymap' Specify the name of a keyboard mapping.
|
'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>
|
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||||
SungHyun Nam <goweol@gmail.com>
|
SungHyun Nam <goweol@gmail.com>
|
||||||
K.Nagano <nagano@atese.advantest.co.jp>
|
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
|
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
|
is especially useful when messages have been overwritten or truncated. This
|
||||||
depends on the 'shortmess' option.
|
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.
|
recent ones.
|
||||||
|
|
||||||
The number of remembered messages is fixed at 20 for the tiny version and 200
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -7,7 +7,7 @@
|
|||||||
Multi-language features *multilang* *multi-lang*
|
Multi-language features *multilang* *multi-lang*
|
||||||
|
|
||||||
This is about using messages and menus in various languages. For editing
|
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|.
|
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
|
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
|
'sections' option. The default is "SHNHH HUnhsh", which defines a section to
|
||||||
start at the nroff macros ".SH", ".NH", ".H", ".HU", ".nh" and ".sh".
|
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
|
The "]]" and "[[" commands stop at the '{' in the first column. This is
|
||||||
useful to find the start or end of a function in a C program. Note that the
|
useful to find the start of a function in a C program. To search for a '}' in
|
||||||
first character of the command determines the search direction and the
|
the first column, the end of a C function, use "][" (forward) or "[]"
|
||||||
second character the type of brace found.
|
(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 "[["
|
If your '{' or '}' are not in the first column, and you would like to use "[["
|
||||||
and "]]" anyway, try these mappings: >
|
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
|
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
|
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
|
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
|
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
|
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.
|
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.
|
offset A number argument that indicates a byte position in a buffer.
|
||||||
The first byte has offset zero. Line breaks are counted for
|
The first byte has offset zero. Line breaks are counted for
|
||||||
how they appear in the file (CR/LF counts for two bytes).
|
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.
|
bytes it takes.
|
||||||
|
|
||||||
lnum/col Argument with a line number and column number position. The
|
lnum/col Argument with a line number and column number position. The
|
||||||
line number starts with one, the column is the byte position,
|
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.
|
for several columns.
|
||||||
|
|
||||||
pathname String argument: file name with full path.
|
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
|
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.
|
"double": Use twice the width of ASCII characters.
|
||||||
*E834* *E835*
|
*E834* *E835*
|
||||||
The value "double" cannot be used if 'listchars' or 'fillchars'
|
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
|
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
|
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)
|
'antialias' 'anti' boolean (default: off)
|
||||||
global
|
global
|
||||||
{only available when compiled with GUI enabled
|
{only available when compiled with GUI enabled
|
||||||
on Mac OS X}
|
on macOS}
|
||||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
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,
|
v10.2 or later. When on, Vim will use smooth ("antialiased") fonts,
|
||||||
which can be easier to read at certain sizes on certain displays.
|
which can be easier to read at certain sizes on certain displays.
|
||||||
Setting this option can sometimes cause problems if 'guifont' is set
|
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|
|
{not available when compiled without the |+textprop|
|
||||||
or |+quickfix| feature}
|
or |+quickfix| feature}
|
||||||
When 'completeopt' contains "popup" then this option is used for the
|
When 'completeopt' contains "popup" then this option is used for the
|
||||||
properties of the info popup when it is created. You can also use
|
properties of the info popup when it is created. If an info popup
|
||||||
|popup_findinfo()| and then set properties for an existing info popup
|
window already exists it is closed, so that the option value is
|
||||||
with |popup_setoptions()|. See |complete-popup|.
|
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'*
|
*'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")
|
for Unix: ".,~/tmp,/var/tmp,/tmp")
|
||||||
global
|
global
|
||||||
List of directory names for the swap file, separated with commas.
|
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
|
- The swap file will be created in the first directory where this is
|
||||||
possible.
|
possible.
|
||||||
- Empty means that no swap file will be used (recovery is
|
- 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.
|
is replaced with the path name of the edited file.
|
||||||
- For Unix and Win32, if a directory ends in two path separators "//",
|
- 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
|
the swap file name will be built from the complete path to the file
|
||||||
with all path separators substituted to percent '%' signs. This will
|
with all path separators replaced by percent '%' signs (including
|
||||||
ensure file name uniqueness in the preserve directory.
|
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
|
On Win32, it is also possible to end with "\\". However, When a
|
||||||
separating comma is following, you must use "//", since "\\" will
|
separating comma is following, you must use "//", since "\\" will
|
||||||
include the comma in the file name. Therefore it is recommended to
|
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
|
the same file twice will result in a warning. Using "/tmp" on Unix is
|
||||||
discouraged: When the system crashes you lose the swap file.
|
discouraged: When the system crashes you lose the swap file.
|
||||||
"/var/tmp" is often not cleared when rebooting, thus is a better
|
"/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
|
choice than "/tmp". But others on the computer may be able to see the
|
||||||
files get lost in the crowd. That is why a "tmp" directory in your
|
files, and it can contain a lot of files, your swap files get lost in
|
||||||
home directory is tried first.
|
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
|
The use of |:set+=| and |:set-=| is preferred when adding or removing
|
||||||
directories from the list. This avoids problems when a future version
|
directories from the list. This avoids problems when a future version
|
||||||
uses another default.
|
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
|
This is specified with 'fileencoding'. The conversion is done with
|
||||||
iconv() or as specified with 'charconvert'.
|
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: >
|
can use: >
|
||||||
if has("multi_byte_encoding")
|
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
|
global
|
||||||
This option specifies a function that will be called to
|
This option specifies a function that will be called to
|
||||||
activate or deactivate the Input Method.
|
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
|
The expression will be evaluated in the |sandbox| when set from a
|
||||||
modeline, see |sandbox-option|.
|
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
|
global
|
||||||
This option specifies a function that is called to obtain the status
|
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.
|
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: >
|
Example: >
|
||||||
function ImStatusFunc()
|
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.
|
set and to the Vim default value when 'compatible' is reset.
|
||||||
|
|
||||||
*'isprint'* *'isp'*
|
*'isprint'* *'isp'*
|
||||||
'isprint' 'isp' string (default for Win32 and Macintosh:
|
'isprint' 'isp' string (default for Win32 and macOS:
|
||||||
"@,~-255"; otherwise: "@,161-255")
|
"@,~-255"; otherwise: "@,161-255")
|
||||||
global
|
global
|
||||||
The characters given by this option are displayed directly on the
|
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'* *'nomacatsui'*
|
||||||
'macatsui' boolean (default on)
|
'macatsui' boolean (default on)
|
||||||
global
|
global
|
||||||
{only available in Mac GUI version}
|
{not supported}
|
||||||
This is a workaround for when drawing doesn't work properly. When set
|
No longer supported, as the Mac OS X GUI code was removed.
|
||||||
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'.
|
|
||||||
|
|
||||||
*'magic'* *'nomagic'*
|
*'magic'* *'nomagic'*
|
||||||
'magic' boolean (default on)
|
'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
|
customize the information displayed in the quickfix or location window
|
||||||
for each entry in the corresponding quickfix or location list. See
|
for each entry in the corresponding quickfix or location list. See
|
||||||
|quickfix-window-function| for an explanation of how to write the
|
|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
|
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||||
security reasons.
|
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),
|
screen. If the statusline is given by 'statusline' (i.e. not empty),
|
||||||
this option takes precedence over 'ruler' and 'rulerformat'
|
this option takes precedence over 'ruler' and 'rulerformat'
|
||||||
If the number of characters displayed is different from the number of
|
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,
|
the text column (byte number) and the screen column are shown,
|
||||||
separated with a dash.
|
separated with a dash.
|
||||||
For an empty line "0-1" is shown.
|
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,
|
$VIMRUNTIME,
|
||||||
$VIM/vimfiles/after,
|
$VIM/vimfiles/after,
|
||||||
$HOME/vimfiles/after"
|
$HOME/vimfiles/after"
|
||||||
Macintosh: "$VIM:vimfiles,
|
macOS: "$VIM:vimfiles,
|
||||||
$VIMRUNTIME,
|
$VIMRUNTIME,
|
||||||
$VIM:vimfiles:after"
|
$VIM:vimfiles:after"
|
||||||
Haiku: "$BE_USER_SETTINGS/vim,
|
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 ~
|
flag meaning when present ~
|
||||||
f use "(3 of 5)" instead of "(file 3 of 5)"
|
f use "(3 of 5)" instead of "(file 3 of 5)"
|
||||||
i use "[noeol]" instead of "[Incomplete last line]"
|
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]"
|
m use "[+]" instead of "[Modified]"
|
||||||
n use "[New]" instead of "[New File]"
|
n use "[New]" instead of "[New File]"
|
||||||
r use "[RO]" instead of "[readonly]"
|
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 Amiga: "amiga"
|
||||||
on Haiku: "xterm"
|
on Haiku: "xterm"
|
||||||
on Mac: "mac-ansi"
|
on Mac: "mac-ansi"
|
||||||
on MiNT: "vt52"
|
|
||||||
on Unix: "ansi"
|
on Unix: "ansi"
|
||||||
on VMS: "ansi"
|
on VMS: "ansi"
|
||||||
on Win 32: "win32")
|
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|.
|
For further details see |arabic.txt|.
|
||||||
|
|
||||||
*'termencoding'* *'tenc'*
|
*'termencoding'* *'tenc'*
|
||||||
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8"; with
|
'termencoding' 'tenc' string (default ""; with GTK+ GUI: "utf-8")
|
||||||
Macintosh GUI: "macroman")
|
|
||||||
global
|
global
|
||||||
Encoding used for the terminal. This specifies what character
|
Encoding used for the terminal. This specifies what character
|
||||||
encoding the keyboard produces and the display will understand. For
|
encoding the keyboard produces and the display will understand. For
|
||||||
the GUI it only applies to the keyboard ('encoding' is used for the
|
the GUI it only applies to the keyboard ('encoding' is used for the
|
||||||
display). Except for the Mac when 'macatsui' is off, then
|
display).
|
||||||
'termencoding' should be "macroman".
|
|
||||||
*E617* *E950*
|
*E617* *E950*
|
||||||
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
Note: This does not apply to the GTK+ GUI. After the GUI has been
|
||||||
successfully initialized, 'termencoding' is forcibly set to "utf-8".
|
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.
|
>= 14 Anything pending in a ":finally" clause.
|
||||||
>= 15 Every executed Ex command from a script (truncated at 200
|
>= 15 Every executed Ex command from a script (truncated at 200
|
||||||
characters).
|
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 can also be set with the "-V" argument. See |-V|.
|
||||||
This option is also set by the |:verbose| command.
|
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:
|
'viewdir' 'vdir' string (default for Amiga and Win32:
|
||||||
"$VIM/vimfiles/view",
|
"$VIM/vimfiles/view",
|
||||||
for Unix: "~/.vim/view",
|
for Unix: "~/.vim/view",
|
||||||
for Macintosh: "$VIM:vimfiles:view"
|
for macOS: "$VIM:vimfiles:view"
|
||||||
for VMS: "sys$login:vimfiles/view")
|
for VMS: "sys$login:vimfiles/view")
|
||||||
global
|
global
|
||||||
{not available when compiled without the |+mksession|
|
{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|
|
{only available when compiled with the |terminal|
|
||||||
feature on MS-Windows}
|
feature on MS-Windows}
|
||||||
Specifies the name of the winpty shared library, used for the
|
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
|
32-bit or 64-bit executable. If not found, "winpty.dll" is tried as
|
||||||
a fallback.
|
a fallback.
|
||||||
Environment variables are expanded |:set_env|.
|
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
|
VIM REFERENCE MANUAL by Jens M. Felderhoff
|
||||||
|
|
||||||
|
|
||||||
*MiNT* *Atari*
|
*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.
|
Originally added by: Jens M. Felderhoff, e-mail: <jmf@infko.uni-koblenz.de>
|
||||||
The Unix behavior described in the documentation also refers to the
|
|
||||||
MiNT version of Vim unless explicitly stated otherwise.
|
|
||||||
|
|
||||||
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:
|
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
|
Because terminal updating under Unix is often slow (e.g. serial line
|
||||||
terminal, shell window in suntools), the 'showcmd' and 'ruler' options
|
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
|
are off by default. If you have a fast terminal, try setting them on. You
|
||||||
also want to set 'ttyfast'.
|
might also want to set 'ttyfast'.
|
||||||
|
|
||||||
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
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
|
'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
|
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
|
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.
|
change to a subdirectory and build it separately.
|
||||||
|
|
||||||
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
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
|
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
|
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.
|
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
|
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
|
WARNING: When inserting or deleting text Vim does not automatically
|
||||||
update the matches. This means Syntax highlighting quickly becomes
|
update the matches. This means Syntax highlighting quickly becomes
|
||||||
wrong.
|
wrong.
|
||||||
@ -994,7 +994,7 @@ Character classes:
|
|||||||
\p printable character (see 'isprint' option) */\p*
|
\p printable character (see 'isprint' option) */\p*
|
||||||
\P like "\p", but excluding digits */\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.
|
match ASCII characters, as indicated by the range.
|
||||||
|
|
||||||
*whitespace* *white-space*
|
*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 '-', '.',
|
a list of at least one character, each of which is either '-', '.',
|
||||||
'/', alphabetic, numeric, '_' or '~'.
|
'/', alphabetic, numeric, '_' or '~'.
|
||||||
These items only work for 8-bit characters, except [:lower:] and
|
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
|
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:]].
|
characters you can use: [[:lower:][:upper:]].
|
||||||
|
|
||||||
The "Func" column shows what library function is used. The
|
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>
|
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.
|
doesn't work there, it only works to match text in the buffer.
|
||||||
|
|
||||||
*pattern-multi-byte*
|
*pattern-multi-byte* *pattern-multibyte*
|
||||||
Patterns will also work with multi-byte characters, mostly as you would
|
Patterns will also work with multibyte characters, mostly as you would
|
||||||
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
expect. But invalid bytes may cause trouble, a pattern with an invalid byte
|
||||||
will probably never match.
|
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
|
0xe1, it does not have a compositing character). It does match "cat" (where
|
||||||
the a is just an a).
|
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
|
item that doesn't include the composing character, a match is found at any
|
||||||
character that includes this composing character.
|
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
|
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||||
@ -3054,7 +3054,7 @@ your browsing preferences. (see also: |netrw-settings|)
|
|||||||
(see |netrw-c-tab|).
|
(see |netrw-c-tab|).
|
||||||
|
|
||||||
*g:netrw_xstrlen* Controls how netrw computes string lengths,
|
*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)
|
length. (thanks to N Weibull, T Mechelynck)
|
||||||
=0: uses Vim's built-in strlen()
|
=0: uses Vim's built-in strlen()
|
||||||
=1: number of codepoints (Latin a + combining
|
=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
|
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. You can use empty lines to increase the height or the "minheight"
|
||||||
property.
|
property.
|
||||||
|
|
||||||
The width of the window is normally equal to the longest line in the buffer.
|
The width of the window is normally equal to the longest visible line in the
|
||||||
It can be limited with the "maxwidth" property. You can use spaces to
|
buffer. It can be limited with the "maxwidth" property. You can use spaces
|
||||||
increase the width or use the "minwidth" property.
|
to increase the width or use the "minwidth" property.
|
||||||
|
|
||||||
By default the 'wrap' option is set, so that no text disappears. Otherwise,
|
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
|
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
|
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
|
encoding file. If Vim is unable to find a character encoding file then it
|
||||||
will use the "latin1" print character encoding file.
|
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
|
characters to the printing encoding for printing (if 'printencoding' is empty
|
||||||
then the conversion will be to latin1). Conversion to a printing encoding
|
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.
|
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
|
:set printmbcharset=JIS_X_1983
|
||||||
|
|
||||||
If 'printmbcharset' is not one of the above values then it is assumed to
|
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
|
compatible with the value for 'printencoding'. Vim will look for a file
|
||||||
defining the character set in the "print" directory in 'runtimepath'.
|
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:yes Use ASCII character set for codes in the ASCII
|
||||||
a:no (default) code range.
|
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
|
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
|
Courier to print codes in the ASCII code range but using the national
|
||||||
character set: >
|
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
|
possible to get all the characters in an encoding to print by installing a
|
||||||
new version of the Courier font family.
|
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
|
to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
|
||||||
empty). Any characters that are not successfully converted are shown as
|
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.
|
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
|
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'.
|
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
|
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
|
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',
|
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.
|
directory and that it doesn't print the absolute path.
|
||||||
|
|
||||||
To solve the problem with relative paths and missing "leave directory"
|
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.
|
1) Check if the given directory is a subdirectory of the current directory.
|
||||||
If this is true, store it as 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
|
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
|
||||||
"text" fields returned by the |getqflist()| function.
|
"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
|
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
|
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
|
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
|
window for each entry from start_idx to end_idx. The function can obtain
|
||||||
information about the entries using the |getqflist()| function and specifying
|
information about the entries using the |getqflist()| function and specifying
|
||||||
the quickfix list identifier "id". For a location list, getloclist() function
|
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
|
If a quickfix or location list specific customization is needed, then the
|
||||||
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|
'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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -696,7 +696,7 @@ Short explanation of each option: *option-list*
|
|||||||
'eventignore' 'ei' autocommand events that are ignored
|
'eventignore' 'ei' autocommand events that are ignored
|
||||||
'expandtab' 'et' use spaces when <Tab> is inserted
|
'expandtab' 'et' use spaces when <Tab> is inserted
|
||||||
'exrc' 'ex' read .vimrc and .exrc in the current directory
|
'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
|
'fileencodings' 'fencs' automatically detected character encodings
|
||||||
'fileformat' 'ff' file format used for file I/O
|
'fileformat' 'ff' file format used for file I/O
|
||||||
'fileformats' 'ffs' automatically detected values for 'fileformat'
|
'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"
|
'grepprg' 'gp' program to use for ":grep"
|
||||||
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
'guicursor' 'gcr' GUI: settings for cursor shape and blinking
|
||||||
'guifont' 'gfn' GUI: Name(s) of font(s) to be used
|
'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
|
'guifontwide' 'gfw' list of font names for double-wide characters
|
||||||
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
'guiheadroom' 'ghr' GUI: pixels room for window decorations
|
||||||
'guioptions' 'go' GUI: Which components and options are used
|
'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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -64,8 +64,8 @@ Disadvantages:
|
|||||||
directories (although Vim tries to avoid that by comparing the path name).
|
directories (although Vim tries to avoid that by comparing the path name).
|
||||||
This will result in bogus ATTENTION warning messages.
|
This will result in bogus ATTENTION warning messages.
|
||||||
- When you use your home directory, and somebody else tries to edit the same
|
- 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
|
file, that user will not see your swap file and will not get the ATTENTION
|
||||||
message.
|
warning message.
|
||||||
On the Amiga you can also use a recoverable ram disk, but there is no 100%
|
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:
|
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)
|
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
|
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
|
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.
|
feature.
|
||||||
|
|
||||||
An empty --servername argument will cause the command server to be disabled.
|
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
|
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.
|
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
|
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
|
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 ones he wants with
|
package with optional plugins, and tell the user to add the preferred ones with
|
||||||
`:packadd`.
|
`:packadd`.
|
||||||
|
|
||||||
Decide how you want to distribute the package. You can create an archive or
|
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.
|
the optional plugin is needed.
|
||||||
|
|
||||||
Run the `:helptags` command to generate the doc/tags file. Including this
|
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
|
pack directory and the help command works right away. Don't forget to re-run
|
||||||
the command after changing the plugin help: >
|
the command after changing the plugin help: >
|
||||||
:helptags path/start/foobar/doc
|
:helptags path/start/foobar/doc
|
||||||
|
@ -69,7 +69,7 @@ o Invocations
|
|||||||
+ 'rightleft' ('rl') sets window orientation to right-to-left.
|
+ 'rightleft' ('rl') sets window orientation to right-to-left.
|
||||||
+ 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages,
|
+ 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages,
|
||||||
allows one to remove a composing character which gets superimposed
|
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
|
+ 'rightleftcmd' ('rlc') sets the command-line within certain modes
|
||||||
(such as search) to be utilized in right-to-left orientation as well.
|
(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
|
VIM REFERENCE MANUAL by Gordon Prieur
|
||||||
@ -78,13 +78,17 @@ used by popup windows where 'cursorline' is set.
|
|||||||
*sign-priority*
|
*sign-priority*
|
||||||
Each placed sign is assigned a priority value. When multiple signs are placed
|
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
|
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.
|
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
|
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
|
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.
|
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*
|
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
|
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).
|
'runtimepath' for this).
|
||||||
|
|
||||||
The plugin has a default place where to look for spell files, on the Vim ftp
|
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
|
server. The protocol used is SSL (https://) for security. If you want to use
|
||||||
g:spellfile_URL variable to the directory that holds the spell files. The
|
another location or another protocol, set the g:spellfile_URL variable to the
|
||||||
|netrw| plugin is used for getting the file, look there for the specific
|
directory that holds the spell files. You can use http:// or ftp://, but you
|
||||||
syntax of the URL. Example: >
|
are taking a security risk then. The |netrw| plugin is used for getting the
|
||||||
let g:spellfile_URL = 'http://ftp.vim.org/vim/runtime/spell'
|
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.
|
You may need to escape special characters.
|
||||||
|
|
||||||
The plugin will only ask about downloading a language once. If you want to
|
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
|
generate a spell file for 'encoding'. If some of the used characters to not
|
||||||
fit in 'encoding' you will get an error message.
|
fit in 'encoding' you will get an error message.
|
||||||
*spell-affix-mbyte*
|
*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
|
flags. But Myspell doesn't support that, thus you may not want to use it
|
||||||
anyway. For compatibility use an 8-bit encoding.
|
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
|
Common words can be specified with the COMMON item. This will give better
|
||||||
suggestions when editing a short file. Example:
|
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.
|
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
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1403,7 +1403,7 @@ to your startup file.
|
|||||||
|
|
||||||
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
|
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
|
version 3.1.1, which is the default syntax highlighting file, and one for
|
||||||
Euphoria version 4.0.5 or later.
|
Euphoria version 4.0.5 or later.
|
||||||
|
|
||||||
@ -1937,7 +1937,7 @@ new highlightings for the following groups.:
|
|||||||
Debug, DebugSpecial, DebugString, DebugBoolean, DebugType
|
Debug, DebugSpecial, DebugString, DebugBoolean, DebugType
|
||||||
which are used for the statement itself, special characters used in debug
|
which are used for the statement itself, special characters used in debug
|
||||||
strings, strings, boolean constants and types (this, super) respectively. I
|
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
|
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
|
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.
|
start: Use level of item containing start of line.
|
||||||
minimum: Use lowest local-minimum level of items on 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
|
for the lowest level contained on the line that is followed by a
|
||||||
higher level. This produces more natural folds when syntax items
|
higher level. This produces more natural folds when syntax items
|
||||||
may close and open horizontally within a line.
|
may close and open horizontally within a line.
|
||||||
@ -3795,9 +3795,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
|
|||||||
[keepend]
|
[keepend]
|
||||||
[extend]
|
[extend]
|
||||||
[excludenl]
|
[excludenl]
|
||||||
start={start_pattern} ..
|
start={start-pattern} ..
|
||||||
[skip={skip_pattern}]
|
[skip={skip-pattern}]
|
||||||
end={end_pattern} ..
|
end={end-pattern} ..
|
||||||
[{options}]
|
[{options}]
|
||||||
|
|
||||||
This defines one region. It may span several lines.
|
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
|
extend a containing match or item. Only
|
||||||
useful for end patterns. Must be given before
|
useful for end patterns. Must be given before
|
||||||
the patterns it applies to. |:syn-excludenl|
|
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.
|
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
|
the region where not to look for the end
|
||||||
pattern. See |:syn-pattern| below.
|
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.
|
the region. See |:syn-pattern| below.
|
||||||
|
|
||||||
Example: >
|
Example: >
|
||||||
@ -4348,7 +4348,7 @@ Notes:
|
|||||||
- A negative offset for an end pattern may not always work, because the end
|
- 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.
|
pattern may be detected when the highlighting should already have stopped.
|
||||||
- Before Vim 7.2 the offsets were counted in bytes instead of characters.
|
- 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.
|
Vim 7.2 release.
|
||||||
- The start of a match cannot be in a line other than where the pattern
|
- 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
|
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: >
|
console. Example, for reverse video: >
|
||||||
:highlight Visual ctermfg=bg ctermbg=fg
|
:highlight Visual ctermfg=bg ctermbg=fg
|
||||||
< Note that the colors are used that are valid at the moment this
|
< 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.
|
"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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -142,6 +142,7 @@ something else.
|
|||||||
:tabclose + " close the next tab page
|
:tabclose + " close the next tab page
|
||||||
:tabclose 3 " close the third tab page
|
:tabclose 3 " close the third tab page
|
||||||
:tabclose $ " close the last tab page
|
:tabclose $ " close the last tab page
|
||||||
|
:tabclose # " close the last accessed tab page
|
||||||
<
|
<
|
||||||
*:tabo* *:tabonly*
|
*:tabo* *:tabonly*
|
||||||
:tabo[nly][!] Close all other tab pages.
|
:tabo[nly][!] Close all other tab pages.
|
||||||
@ -170,6 +171,8 @@ something else.
|
|||||||
" one
|
" one
|
||||||
:tabonly 1 " close all tab pages except the first 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 one
|
||||||
|
:tabonly # " close all tab pages except the last
|
||||||
|
" accessed one
|
||||||
|
|
||||||
|
|
||||||
SWITCHING TO ANOTHER TAB PAGE:
|
SWITCHING TO ANOTHER TAB PAGE:
|
||||||
@ -192,6 +195,7 @@ gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
|
|||||||
:+2tabnext " go to the two next tab page
|
:+2tabnext " go to the two next tab page
|
||||||
:1tabnext " go to the first tab page
|
:1tabnext " go to the first tab page
|
||||||
:$tabnext " go to the last tab page
|
:$tabnext " go to the last tab page
|
||||||
|
:tabnext # " go to the last accessed tab page
|
||||||
:tabnext $ " as above
|
:tabnext $ " as above
|
||||||
:tabnext - " go to the previous tab page
|
:tabnext - " go to the previous tab page
|
||||||
:tabnext -1 " as above
|
:tabnext -1 " as above
|
||||||
@ -221,6 +225,8 @@ gT Go to the previous tab page. Wraps around from the first one
|
|||||||
*:tabl* *:tablast*
|
*:tabl* *:tablast*
|
||||||
:tabl[ast] Go to the last tab page.
|
: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:
|
Other commands:
|
||||||
*:tabs*
|
*:tabs*
|
||||||
@ -253,6 +259,8 @@ REORDERING TAB PAGES:
|
|||||||
:tabmove " move the tab page to the last
|
:tabmove " move the tab page to the last
|
||||||
:$tabmove " as above
|
:$tabmove " as above
|
||||||
:tabmove $ " as above
|
:tabmove $ " as above
|
||||||
|
:tabmove # " move the tab page after the last accessed
|
||||||
|
" tab page
|
||||||
|
|
||||||
:tabm[ove] +[N]
|
:tabm[ove] +[N]
|
||||||
:tabm[ove] -[N]
|
:tabm[ove] -[N]
|
||||||
|
@ -1979,6 +1979,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
:<sfile> cmdline.txt /*:<sfile>*
|
:<sfile> cmdline.txt /*:<sfile>*
|
||||||
:<sflnum> cmdline.txt /*:<sflnum>*
|
:<sflnum> cmdline.txt /*:<sflnum>*
|
||||||
:<slnum> cmdline.txt /*:<slnum>*
|
:<slnum> cmdline.txt /*:<slnum>*
|
||||||
|
:<stack> cmdline.txt /*:<stack>*
|
||||||
:= various.txt /*:=*
|
:= various.txt /*:=*
|
||||||
:> change.txt /*:>*
|
:> change.txt /*:>*
|
||||||
:? cmdline.txt /*:?*
|
:? cmdline.txt /*:?*
|
||||||
@ -3496,6 +3497,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<C-ScrollWheelLeft> scroll.txt /*<C-ScrollWheelLeft>*
|
<C-ScrollWheelLeft> scroll.txt /*<C-ScrollWheelLeft>*
|
||||||
<C-ScrollWheelRight> scroll.txt /*<C-ScrollWheelRight>*
|
<C-ScrollWheelRight> scroll.txt /*<C-ScrollWheelRight>*
|
||||||
<C-ScrollWheelUp> scroll.txt /*<C-ScrollWheelUp>*
|
<C-ScrollWheelUp> scroll.txt /*<C-ScrollWheelUp>*
|
||||||
|
<C-Tab> tabpage.txt /*<C-Tab>*
|
||||||
<CR> motion.txt /*<CR>*
|
<CR> motion.txt /*<CR>*
|
||||||
<CSI> intro.txt /*<CSI>*
|
<CSI> intro.txt /*<CSI>*
|
||||||
<Char-> map.txt /*<Char->*
|
<Char-> map.txt /*<Char->*
|
||||||
@ -3647,6 +3649,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
|||||||
<sfile> cmdline.txt /*<sfile>*
|
<sfile> cmdline.txt /*<sfile>*
|
||||||
<sflnum> cmdline.txt /*<sflnum>*
|
<sflnum> cmdline.txt /*<sflnum>*
|
||||||
<slnum> cmdline.txt /*<slnum>*
|
<slnum> cmdline.txt /*<slnum>*
|
||||||
|
<stack> cmdline.txt /*<stack>*
|
||||||
<xCSI> intro.txt /*<xCSI>*
|
<xCSI> intro.txt /*<xCSI>*
|
||||||
<xDown> term.txt /*<xDown>*
|
<xDown> term.txt /*<xDown>*
|
||||||
<xEnd> term.txt /*<xEnd>*
|
<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_c windows.txt /*CTRL-W_c*
|
||||||
CTRL-W_d tagsrch.txt /*CTRL-W_d*
|
CTRL-W_d tagsrch.txt /*CTRL-W_d*
|
||||||
CTRL-W_f windows.txt /*CTRL-W_f*
|
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_gF windows.txt /*CTRL-W_gF*
|
||||||
CTRL-W_gT windows.txt /*CTRL-W_gT*
|
CTRL-W_gT windows.txt /*CTRL-W_gT*
|
||||||
CTRL-W_g] windows.txt /*CTRL-W_g]*
|
CTRL-W_g] windows.txt /*CTRL-W_g]*
|
||||||
@ -3890,17 +3894,26 @@ E10 message.txt /*E10*
|
|||||||
E100 diff.txt /*E100*
|
E100 diff.txt /*E100*
|
||||||
E101 diff.txt /*E101*
|
E101 diff.txt /*E101*
|
||||||
E102 diff.txt /*E102*
|
E102 diff.txt /*E102*
|
||||||
|
E1023 vim9.txt /*E1023*
|
||||||
|
E1024 vim9.txt /*E1024*
|
||||||
E103 diff.txt /*E103*
|
E103 diff.txt /*E103*
|
||||||
E104 digraph.txt /*E104*
|
E104 digraph.txt /*E104*
|
||||||
E1042 vim9.txt /*E1042*
|
E1042 vim9.txt /*E1042*
|
||||||
E105 mbyte.txt /*E105*
|
E105 mbyte.txt /*E105*
|
||||||
|
E1050 vim9.txt /*E1050*
|
||||||
E107 eval.txt /*E107*
|
E107 eval.txt /*E107*
|
||||||
E108 eval.txt /*E108*
|
E108 eval.txt /*E108*
|
||||||
E109 eval.txt /*E109*
|
E109 eval.txt /*E109*
|
||||||
|
E1092 vim9.txt /*E1092*
|
||||||
E1094 vim9.txt /*E1094*
|
E1094 vim9.txt /*E1094*
|
||||||
E11 cmdline.txt /*E11*
|
E11 cmdline.txt /*E11*
|
||||||
E110 eval.txt /*E110*
|
E110 eval.txt /*E110*
|
||||||
|
E1109 eval.txt /*E1109*
|
||||||
E111 eval.txt /*E111*
|
E111 eval.txt /*E111*
|
||||||
|
E1110 eval.txt /*E1110*
|
||||||
|
E1111 eval.txt /*E1111*
|
||||||
|
E1112 eval.txt /*E1112*
|
||||||
|
E1113 eval.txt /*E1113*
|
||||||
E112 eval.txt /*E112*
|
E112 eval.txt /*E112*
|
||||||
E113 eval.txt /*E113*
|
E113 eval.txt /*E113*
|
||||||
E114 eval.txt /*E114*
|
E114 eval.txt /*E114*
|
||||||
@ -4431,6 +4444,7 @@ E607 eval.txt /*E607*
|
|||||||
E608 eval.txt /*E608*
|
E608 eval.txt /*E608*
|
||||||
E609 if_cscop.txt /*E609*
|
E609 if_cscop.txt /*E609*
|
||||||
E61 pattern.txt /*E61*
|
E61 pattern.txt /*E61*
|
||||||
|
E610 editing.txt /*E610*
|
||||||
E612 sign.txt /*E612*
|
E612 sign.txt /*E612*
|
||||||
E613 print.txt /*E613*
|
E613 print.txt /*E613*
|
||||||
E614 editing.txt /*E614*
|
E614 editing.txt /*E614*
|
||||||
@ -4698,6 +4712,7 @@ E855 autocmd.txt /*E855*
|
|||||||
E858 eval.txt /*E858*
|
E858 eval.txt /*E858*
|
||||||
E859 eval.txt /*E859*
|
E859 eval.txt /*E859*
|
||||||
E86 windows.txt /*E86*
|
E86 windows.txt /*E86*
|
||||||
|
E860 textprop.txt /*E860*
|
||||||
E861 popup.txt /*E861*
|
E861 popup.txt /*E861*
|
||||||
E862 eval.txt /*E862*
|
E862 eval.txt /*E862*
|
||||||
E863 popup.txt /*E863*
|
E863 popup.txt /*E863*
|
||||||
@ -5715,6 +5730,7 @@ char2nr() eval.txt /*char2nr()*
|
|||||||
characterwise motion.txt /*characterwise*
|
characterwise motion.txt /*characterwise*
|
||||||
characterwise-register change.txt /*characterwise-register*
|
characterwise-register change.txt /*characterwise-register*
|
||||||
characterwise-visual visual.txt /*characterwise-visual*
|
characterwise-visual visual.txt /*characterwise-visual*
|
||||||
|
charclass() eval.txt /*charclass()*
|
||||||
charconvert_from-variable eval.txt /*charconvert_from-variable*
|
charconvert_from-variable eval.txt /*charconvert_from-variable*
|
||||||
charconvert_to-variable eval.txt /*charconvert_to-variable*
|
charconvert_to-variable eval.txt /*charconvert_to-variable*
|
||||||
charity uganda.txt /*charity*
|
charity uganda.txt /*charity*
|
||||||
@ -5739,6 +5755,7 @@ cino-J indent.txt /*cino-J*
|
|||||||
cino-L indent.txt /*cino-L*
|
cino-L indent.txt /*cino-L*
|
||||||
cino-M indent.txt /*cino-M*
|
cino-M indent.txt /*cino-M*
|
||||||
cino-N indent.txt /*cino-N*
|
cino-N indent.txt /*cino-N*
|
||||||
|
cino-P indent.txt /*cino-P*
|
||||||
cino-U indent.txt /*cino-U*
|
cino-U indent.txt /*cino-U*
|
||||||
cino-W indent.txt /*cino-W*
|
cino-W indent.txt /*cino-W*
|
||||||
cino-^ indent.txt /*cino-^*
|
cino-^ indent.txt /*cino-^*
|
||||||
@ -6857,6 +6874,7 @@ g<End> motion.txt /*g<End>*
|
|||||||
g<Home> motion.txt /*g<Home>*
|
g<Home> motion.txt /*g<Home>*
|
||||||
g<LeftMouse> tagsrch.txt /*g<LeftMouse>*
|
g<LeftMouse> tagsrch.txt /*g<LeftMouse>*
|
||||||
g<RightMouse> tagsrch.txt /*g<RightMouse>*
|
g<RightMouse> tagsrch.txt /*g<RightMouse>*
|
||||||
|
g<Tab> tabpage.txt /*g<Tab>*
|
||||||
g<Up> motion.txt /*g<Up>*
|
g<Up> motion.txt /*g<Up>*
|
||||||
g? change.txt /*g?*
|
g? change.txt /*g?*
|
||||||
g?? change.txt /*g??*
|
g?? change.txt /*g??*
|
||||||
@ -6940,6 +6958,7 @@ gettabinfo() eval.txt /*gettabinfo()*
|
|||||||
gettabvar() eval.txt /*gettabvar()*
|
gettabvar() eval.txt /*gettabvar()*
|
||||||
gettabwinvar() eval.txt /*gettabwinvar()*
|
gettabwinvar() eval.txt /*gettabwinvar()*
|
||||||
gettagstack() eval.txt /*gettagstack()*
|
gettagstack() eval.txt /*gettagstack()*
|
||||||
|
gettext() eval.txt /*gettext()*
|
||||||
getwininfo() eval.txt /*getwininfo()*
|
getwininfo() eval.txt /*getwininfo()*
|
||||||
getwinpos() eval.txt /*getwinpos()*
|
getwinpos() eval.txt /*getwinpos()*
|
||||||
getwinposx() eval.txt /*getwinposx()*
|
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-more-unicode version7.txt /*new-more-unicode*
|
||||||
new-multi-byte version5.txt /*new-multi-byte*
|
new-multi-byte version5.txt /*new-multi-byte*
|
||||||
new-multi-lang version6.txt /*new-multi-lang*
|
new-multi-lang version6.txt /*new-multi-lang*
|
||||||
|
new-multibyte version5.txt /*new-multibyte*
|
||||||
new-netrw-explore version7.txt /*new-netrw-explore*
|
new-netrw-explore version7.txt /*new-netrw-explore*
|
||||||
new-network-files version6.txt /*new-network-files*
|
new-network-files version6.txt /*new-network-files*
|
||||||
new-omni-completion version7.txt /*new-omni-completion*
|
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-plugins version6.txt /*new-plugins*
|
||||||
new-popup-window version8.txt /*new-popup-window*
|
new-popup-window version8.txt /*new-popup-window*
|
||||||
new-posix version7.txt /*new-posix*
|
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-printing version6.txt /*new-printing*
|
||||||
new-python3 version7.txt /*new-python3*
|
new-python3 version7.txt /*new-python3*
|
||||||
new-regexp-engine version7.txt /*new-regexp-engine*
|
new-regexp-engine version7.txt /*new-regexp-engine*
|
||||||
@ -8196,6 +8216,7 @@ no_plugin_maps filetype.txt /*no_plugin_maps*
|
|||||||
nocombine syntax.txt /*nocombine*
|
nocombine syntax.txt /*nocombine*
|
||||||
non-greedy pattern.txt /*non-greedy*
|
non-greedy pattern.txt /*non-greedy*
|
||||||
non-zero-arg eval.txt /*non-zero-arg*
|
non-zero-arg eval.txt /*non-zero-arg*
|
||||||
|
none-function_argument eval.txt /*none-function_argument*
|
||||||
none-variable eval.txt /*none-variable*
|
none-variable eval.txt /*none-variable*
|
||||||
normal-index index.txt /*normal-index*
|
normal-index index.txt /*normal-index*
|
||||||
not-compatible usr_01.txt /*not-compatible*
|
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 version8.txt /*patches-8*
|
||||||
patches-8.1 version8.txt /*patches-8.1*
|
patches-8.1 version8.txt /*patches-8.1*
|
||||||
patches-8.2 version8.txt /*patches-8.2*
|
patches-8.2 version8.txt /*patches-8.2*
|
||||||
|
patches-after-8.2 version8.txt /*patches-after-8.2*
|
||||||
pathshorten() eval.txt /*pathshorten()*
|
pathshorten() eval.txt /*pathshorten()*
|
||||||
pattern pattern.txt /*pattern*
|
pattern pattern.txt /*pattern*
|
||||||
pattern-atoms pattern.txt /*pattern-atoms*
|
pattern-atoms pattern.txt /*pattern-atoms*
|
||||||
pattern-delimiter change.txt /*pattern-delimiter*
|
pattern-delimiter change.txt /*pattern-delimiter*
|
||||||
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
pattern-multi-byte pattern.txt /*pattern-multi-byte*
|
||||||
pattern-multi-items pattern.txt /*pattern-multi-items*
|
pattern-multi-items pattern.txt /*pattern-multi-items*
|
||||||
|
pattern-multibyte pattern.txt /*pattern-multibyte*
|
||||||
pattern-overview pattern.txt /*pattern-overview*
|
pattern-overview pattern.txt /*pattern-overview*
|
||||||
pattern-searches pattern.txt /*pattern-searches*
|
pattern-searches pattern.txt /*pattern-searches*
|
||||||
pattern.txt pattern.txt /*pattern.txt*
|
pattern.txt pattern.txt /*pattern.txt*
|
||||||
@ -8810,6 +8833,7 @@ set-option options.txt /*set-option*
|
|||||||
set-spc-auto spell.txt /*set-spc-auto*
|
set-spc-auto spell.txt /*set-spc-auto*
|
||||||
setbufline() eval.txt /*setbufline()*
|
setbufline() eval.txt /*setbufline()*
|
||||||
setbufvar() eval.txt /*setbufvar()*
|
setbufvar() eval.txt /*setbufvar()*
|
||||||
|
setcellwidths() eval.txt /*setcellwidths()*
|
||||||
setcharsearch() eval.txt /*setcharsearch()*
|
setcharsearch() eval.txt /*setcharsearch()*
|
||||||
setcmdpos() eval.txt /*setcmdpos()*
|
setcmdpos() eval.txt /*setcmdpos()*
|
||||||
setenv() eval.txt /*setenv()*
|
setenv() eval.txt /*setenv()*
|
||||||
@ -8819,7 +8843,9 @@ setloclist() eval.txt /*setloclist()*
|
|||||||
setmatches() eval.txt /*setmatches()*
|
setmatches() eval.txt /*setmatches()*
|
||||||
setpos() eval.txt /*setpos()*
|
setpos() eval.txt /*setpos()*
|
||||||
setqflist() eval.txt /*setqflist()*
|
setqflist() eval.txt /*setqflist()*
|
||||||
|
setqflist-action eval.txt /*setqflist-action*
|
||||||
setqflist-examples quickfix.txt /*setqflist-examples*
|
setqflist-examples quickfix.txt /*setqflist-examples*
|
||||||
|
setqflist-what eval.txt /*setqflist-what*
|
||||||
setreg() eval.txt /*setreg()*
|
setreg() eval.txt /*setreg()*
|
||||||
settabvar() eval.txt /*settabvar()*
|
settabvar() eval.txt /*settabvar()*
|
||||||
settabwinvar() eval.txt /*settabwinvar()*
|
settabwinvar() eval.txt /*settabwinvar()*
|
||||||
@ -9629,6 +9655,8 @@ tutor usr_01.txt /*tutor*
|
|||||||
twice if_cscop.txt /*twice*
|
twice if_cscop.txt /*twice*
|
||||||
two-engines pattern.txt /*two-engines*
|
two-engines pattern.txt /*two-engines*
|
||||||
type() eval.txt /*type()*
|
type() eval.txt /*type()*
|
||||||
|
type-casting vim9.txt /*type-casting*
|
||||||
|
type-checking vim9.txt /*type-checking*
|
||||||
type-inference vim9.txt /*type-inference*
|
type-inference vim9.txt /*type-inference*
|
||||||
type-mistakes tips.txt /*type-mistakes*
|
type-mistakes tips.txt /*type-mistakes*
|
||||||
typecorr-settings usr_41.txt /*typecorr-settings*
|
typecorr-settings usr_41.txt /*typecorr-settings*
|
||||||
@ -9925,6 +9953,7 @@ valgrind debug.txt /*valgrind*
|
|||||||
values() eval.txt /*values()*
|
values() eval.txt /*values()*
|
||||||
var-functions usr_41.txt /*var-functions*
|
var-functions usr_41.txt /*var-functions*
|
||||||
variable-scope eval.txt /*variable-scope*
|
variable-scope eval.txt /*variable-scope*
|
||||||
|
variable-types vim9.txt /*variable-types*
|
||||||
variables eval.txt /*variables*
|
variables eval.txt /*variables*
|
||||||
various various.txt /*various*
|
various various.txt /*various*
|
||||||
various-cmds various.txt /*various-cmds*
|
various-cmds various.txt /*various-cmds*
|
||||||
@ -10002,6 +10031,7 @@ vim9-declaration vim9.txt /*vim9-declaration*
|
|||||||
vim9-declarations usr_46.txt /*vim9-declarations*
|
vim9-declarations usr_46.txt /*vim9-declarations*
|
||||||
vim9-differences vim9.txt /*vim9-differences*
|
vim9-differences vim9.txt /*vim9-differences*
|
||||||
vim9-export vim9.txt /*vim9-export*
|
vim9-export vim9.txt /*vim9-export*
|
||||||
|
vim9-gotchas vim9.txt /*vim9-gotchas*
|
||||||
vim9-import vim9.txt /*vim9-import*
|
vim9-import vim9.txt /*vim9-import*
|
||||||
vim9-rationale vim9.txt /*vim9-rationale*
|
vim9-rationale vim9.txt /*vim9-rationale*
|
||||||
vim9-scopes vim9.txt /*vim9-scopes*
|
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
|
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".
|
Vim can be tested after building it, usually with "make test".
|
||||||
The tests are located in the directory "src/testdir".
|
The tests are located in the directory "src/testdir".
|
||||||
|
|
||||||
There are several types of tests added over time:
|
There are two types of tests added over time:
|
||||||
test33.in oldest, don't add any of these
|
test20.in oldest, only for tiny and small builds
|
||||||
test_something.in old style tests
|
|
||||||
test_something.vim new style tests
|
test_something.vim new style tests
|
||||||
|
|
||||||
*new-style-testing*
|
*new-style-testing*
|
||||||
New tests should be added as new style tests. These use functions such as
|
New tests should be added as new style tests. The test scripts are named
|
||||||
|assert_equal()| to keep the test commands and the expected result in one
|
test_<feature>.vim (replace <feature> with the feature under test). These use
|
||||||
place.
|
functions such as |assert_equal()| to keep the test commands and the expected
|
||||||
|
result in one place.
|
||||||
*old-style-testing*
|
*old-style-testing*
|
||||||
In some cases an old style test needs to be used. E.g. when testing Vim
|
These tests are used only for testing Vim without the |+eval| feature.
|
||||||
without the |+eval| feature.
|
|
||||||
|
|
||||||
Find more information in the file src/testdir/README.txt.
|
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|:
|
< Will result in a string to be added to |v:errors|:
|
||||||
test.vim line 12: Expected 'foo' but got 'bar' ~
|
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])
|
mylist->assert_equal([1, 2, 3])
|
||||||
|
|
||||||
< *assert_equalfile()*
|
< *assert_equalfile()*
|
||||||
@ -291,18 +291,42 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
|||||||
catch
|
catch
|
||||||
call assert_exception('E492:')
|
call assert_exception('E492:')
|
||||||
endtry
|
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
|
Run {cmd} and add an error message to |v:errors| if it does
|
||||||
NOT produce an error. Also see |assert-return|.
|
NOT produce an error or when {error} is not found in the
|
||||||
When {error} is given it must match in |v:errmsg|.
|
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
|
Note that beeping is not considered an error, and some failing
|
||||||
commands only beep. Use |assert_beeps()| for those.
|
commands only beep. Use |assert_beeps()| for those.
|
||||||
|
|
||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetCmd()->assert_fails('E99:')
|
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
|
When {actual} is not false an error message is added to
|
||||||
|v:errors|, like with |assert_equal()|.
|
|v:errors|, like with |assert_equal()|.
|
||||||
Also see |assert-return|.
|
Also see |assert-return|.
|
||||||
|
@ -220,7 +220,7 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetLnum()->prop_list()
|
GetLnum()->prop_list()
|
||||||
<
|
<
|
||||||
*prop_remove()* *E968*
|
*prop_remove()* *E968* *E860*
|
||||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||||
Remove a matching text property from line {lnum}. When
|
Remove a matching text property from line {lnum}. When
|
||||||
{lnum-end} is given, remove matching text properties from line
|
{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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -38,23 +38,47 @@ browser use: https://github.com/vim/vim/issues/1234
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- 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:
|
Making everything work:
|
||||||
- Error for "g:var: string = 'value'"
|
- Check :const works the same as in legacy script.
|
||||||
- Make func()->append('$') work - value is last argument, not first. #6305
|
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
|
||||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
- :put with a "=" register argument doesn't work, need to find the expression
|
||||||
- memory leaks in test_vim9_expr
|
and compile it. (#6397)
|
||||||
- memory leaks in test_vim9_script
|
- At the Vim9 script level, keep script variables local to the block they are
|
||||||
- more return types depending on the first argument, like sort().
|
declared in? Need to remember what variables were declared and delete them
|
||||||
- Check that when sourcing a Vim9 script, only the global items can be used.
|
when leaving the block.
|
||||||
- Make "true" and "false" work in vim9script
|
- 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
|
- 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
|
function, g: functions can be defined and script-local functions cannot be
|
||||||
defined.
|
defined.
|
||||||
|
- Support passing v:none to use the default argument value. (#6504)
|
||||||
- make 0 == 'string' fail on the script level, like inside :def.
|
- 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
|
- Check that when using a user function name without prefix, it does not find
|
||||||
a global function. Prefixing g: is required.
|
a global function. Prefixing g: is required.
|
||||||
@ -64,19 +88,17 @@ Making everything work:
|
|||||||
ret[i] = string(i)
|
ret[i] = string(i)
|
||||||
- Appending to dict item doesn't work:
|
- Appending to dict item doesn't work:
|
||||||
let d[i] ..= value
|
let d[i] ..= value
|
||||||
|
- Using ".." at script level doesn't convert arguments to a string.
|
||||||
- Compile replacement of :s command: s/pat/\=expr/
|
- Compile replacement of :s command: s/pat/\=expr/
|
||||||
- Compile redir to local variable: var_redir_start().
|
- Compile redir to local variable: var_redir_start().
|
||||||
- Compile builtin functions that access local variables:
|
- Compile builtin functions that access local variables:
|
||||||
islocked()
|
islocked()
|
||||||
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
|
- possible memory leak in test_vim9_func through compile_nested_function.
|
||||||
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
|
- memory leaks in test_vim9_expr
|
||||||
- Expand `=expr` in :mkspell
|
- memory leaks in test_vim9_script
|
||||||
|
- memory leaks in test_vim9_cmd
|
||||||
- When evaluating constants for script variables, some functions could work:
|
- When evaluating constants for script variables, some functions could work:
|
||||||
has('asdf'), len('string')
|
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 ..."
|
- Implement "as Name" in "import Item as Name from ..."
|
||||||
- Disallow unlet for local/script/imported vars
|
- Disallow unlet for local/script/imported vars
|
||||||
- Make "++nr" work.
|
- Make "++nr" work.
|
||||||
@ -87,11 +109,10 @@ Making everything work:
|
|||||||
- eval_expr() call in dbg_parsearg() and debuggy_find()
|
- eval_expr() call in dbg_parsearg() and debuggy_find()
|
||||||
- has() is compiled as a constant, but some checks are dynamic.
|
- has() is compiled as a constant, but some checks are dynamic.
|
||||||
Check for dynamic values, such as "gui_running".
|
Check for dynamic values, such as "gui_running".
|
||||||
|
- Implement command modifiers, such as "silent". (#6530)
|
||||||
New syntax and functionality:
|
New syntax and functionality:
|
||||||
Improve error checking:
|
Improve error checking:
|
||||||
- "echo Func()" is an error if Func() does not return anything.
|
- "echo Func()" is an error if Func() does not return anything.
|
||||||
Test:
|
|
||||||
- Using a Vim9 autoload script (functions must be global).
|
|
||||||
Also:
|
Also:
|
||||||
- For range: make table of first ASCII character with flag to quickly check if
|
- 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.
|
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 each level of expressions properly, with type checking
|
||||||
- Test try/catch and throw better, also nested.
|
- Test try/catch and throw better, also nested.
|
||||||
Test return inside try/finally jumps to finally and then returns.
|
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:
|
- can use func as reference:
|
||||||
def SomeFunc() ...
|
def SomeFunc() ...
|
||||||
map(list, SomeFunc)
|
map(list, SomeFunc)
|
||||||
@ -134,18 +153,18 @@ Further improvements:
|
|||||||
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
|
||||||
|
|
||||||
Popup windows:
|
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)
|
- 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.?
|
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
|
||||||
- Fire some autocommand event after a new popup window was created and
|
- 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
|
positioned? PopupNew? Could be used to set some options or move it out of
|
||||||
the way. (#5737)
|
the way. (#5737)
|
||||||
However, it may also cause trouble, changing the popup of another plugin.
|
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
|
- Use popup (or popup menu) for command line completion
|
||||||
- When using a popup for the info of a completion menu, and there is not
|
- 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)
|
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
|
- Figure out the size and position better if wrapping inserts indent
|
||||||
|
|
||||||
Text properties:
|
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)
|
(#5930)
|
||||||
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
|
||||||
- Get E685 with a sequence of commands. (#5674)
|
- Get E685 with a sequence of commands. (#5674)
|
||||||
@ -190,7 +209,7 @@ Terminal debugger:
|
|||||||
an already running program. (M. Kelly)
|
an already running program. (M. Kelly)
|
||||||
- When only gdb window exists, on "quit" edit another buffer.
|
- When only gdb window exists, on "quit" edit another buffer.
|
||||||
- Use a sign group
|
- 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
|
after "run". Everything else works, including communication channel. Not
|
||||||
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
initializing mzscheme avoid the problem, thus it's not some #ifdef.
|
||||||
- Add support for lldb? issue #3565
|
- Add support for lldb? issue #3565
|
||||||
@ -201,6 +220,9 @@ Terminal debugger:
|
|||||||
|
|
||||||
Terminal emulator window:
|
Terminal emulator window:
|
||||||
- No support for underline color, t_8u.
|
- 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
|
- When started with ":terminal ++close" and the shell exits but there is a
|
||||||
background process, the window remains open, because the channel still
|
background process, the window remains open, because the channel still
|
||||||
exists (and output still shows). Perhaps close the window when an explicit
|
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
|
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||||
conversions.
|
conversions.
|
||||||
|
|
||||||
Error numbers available:
|
Error numbers available: E653
|
||||||
E489, E610, E611, E653, E856
|
|
||||||
|
Remove "MacOS X installation"? $APPDIR is no longer set.
|
||||||
|
|
||||||
Remove SPACE_IN_FILENAME ? It is only used for completion.
|
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
|
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.
|
Try setting a color then request the current color, like using t_u7.
|
||||||
|
|
||||||
Check out PR #543 (Roland Puntaier).
|
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)
|
(Christian Brabandt, 2015 Jun 12, update July 25)
|
||||||
Is this the right solution? Need to cleanup langmap behavior:
|
Is this the right solution? Need to cleanup langmap behavior:
|
||||||
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
|
- 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)
|
BufIsRenamed (after buffer ID gets another name)
|
||||||
The buffer list and windows are locked, no changes possible
|
The buffer list and windows are locked, no changes possible
|
||||||
|
|
||||||
How about removing Atari MiNT support?
|
Make it possible to map (console and GUI): #6457
|
||||||
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
|
<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)
|
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)
|
Patch to fix drawing error with DirectX. (James Grant, #5688)
|
||||||
Causes flicker on resizing. Workaround from Ken Takata.
|
Causes flicker on resizing. Workaround from Ken Takata.
|
||||||
How about only setting the attribute when part of the Vim window is offscreen?
|
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
|
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.
|
When 'lazyredraw' is set sometimes the title is not updated.
|
||||||
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
|
(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().
|
Like when changing 'fileformat'. Save the old key in save_file_ff().
|
||||||
(Ninu-Ciprian Marginean)
|
(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.
|
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
|
||||||
(Paul Jolly, #5656)
|
(Paul Jolly, #5656)
|
||||||
Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
|
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.
|
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
|
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
|
||||||
Dec 19)
|
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 #4994: window-local options not always restored, related to using :badd.
|
||||||
Also #5326: netrw buffers are not restored.
|
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
|
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)
|
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)
|
Undo history wrong when ":next file" re-uses a buffer. (#5426)
|
||||||
ex_next() should pass flag to do_argfile(), then to do_ecmd().
|
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
|
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)
|
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
|
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||||
unlisted. (#4478)
|
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)
|
Statusline highlighting error, off by one. (#5599)
|
||||||
|
|
||||||
":find" with 'path' set to "data*" does not find files, while completion does
|
":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
|
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
|
||||||
t:diffexpr_option t:diffopt_option? (#4782)
|
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
|
Internal diff doesn't handle binary file like external diff does. (Mike
|
||||||
Williams, 2018 Oct 30)
|
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".
|
Line numbers in profile are off when function was defined with ":execute".
|
||||||
(Daniel Hahler, #4511)
|
(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
|
Session file contains absolute paths when "curdir" is removed form
|
||||||
'sessionoptions', making it impossible to have a session with a relative path.
|
'sessionoptions', making it impossible to have a session with a relative path.
|
||||||
(#4450)
|
(#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"
|
Creating a partial with an autoload function is confused about the "self"
|
||||||
attribute of the function. For an unknown function assume "self" and make
|
attribute of the function. For an unknown function assume "self" and make
|
||||||
that optiona? (Bjorn Linse, 2017 Aug 5)
|
that optional? (Bjorn Linse, 2017 Aug 5)
|
||||||
|
|
||||||
Cindent: returning a structure has more indent for the second item.
|
Cindent: returning a structure has more indent for the second item.
|
||||||
(Sam Pagenkopf, 2017 Sep 14, #2090)
|
(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
|
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)
|
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.
|
Patch by Christian Wellenbrock, 2013 Jul 5.
|
||||||
|
|
||||||
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
|
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.
|
Screen updated delayed when using CTRL-O u in Insert mode.
|
||||||
(Barlik, #1191) Perhaps because status message?
|
(Barlik, #1191) Perhaps because status message?
|
||||||
|
|
||||||
Implement named arguments for functions:
|
Implement named arguments for functions with optional arguments:
|
||||||
func Foo(start, count = 1 all = 1)
|
func Foo(start, count = 1, all = 1)
|
||||||
call Foo(12, all = 0)
|
call Foo(12, all = 0)
|
||||||
|
|
||||||
Add a command to take a range of lines, filter them and put the output
|
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)@<!\.$'
|
- Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
|
||||||
(Lech Lorens, 2014 Feb 3)
|
(Lech Lorens, 2014 Feb 3)
|
||||||
- Issue 164: freeze on regexp search.
|
- 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)
|
2013 Dec 11)
|
||||||
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin
|
||||||
Szamotulski; Remark from Brett 2014 Jan 6 and 7.
|
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)
|
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
|
||||||
Also with latest version.
|
Also with latest version.
|
||||||
|
|
||||||
Cannot delete a file with square brackets with delete(). (#696)
|
|
||||||
|
|
||||||
Completion for input() does not expand environment variables. (chdiza, 2016
|
Completion for input() does not expand environment variables. (chdiza, 2016
|
||||||
Jul 25, #948)
|
Jul 25, #948)
|
||||||
|
|
||||||
@ -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
|
Assume the system converts between the actual encoding of the filesystem to
|
||||||
the system encoding (usually utf-8).
|
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?
|
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
|
||||||
Otherwise task flickers in taskbar.
|
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
|
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
|
||||||
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
|
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)
|
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
|
||||||
|
|
||||||
Patch to improve map documentation. Issue #799.
|
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.
|
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
|
||||||
Because of using the initial buffer? (Dun Peal, 2016 May 12)
|
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
|
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
|
||||||
No test, needs some work to include.
|
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).
|
Add stronger encryption. Could use libsodium (NaCl).
|
||||||
https://github.com/jedisct1/libsodium/
|
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(),
|
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
||||||
but the reference remains valid.
|
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.
|
Patch to avoid redrawing tabline when the popup menu is visible.
|
||||||
(Christian Brabandt, 2016 Jan 28)
|
(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
|
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
|
||||||
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
|
||||||
Do not trigger the event?
|
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)
|
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
|
||||||
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
|
||||||
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
|
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 nested structures with "==" uses a different comparator than when
|
||||||
comparing individual items.
|
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)
|
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
|
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||||
inconsistent with the documentation.
|
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)
|
(Luchr, #277)
|
||||||
|
|
||||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||||
@ -1723,8 +1754,6 @@ arguments.
|
|||||||
|
|
||||||
Problem with transparent and matchgroup. Issue #475
|
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:
|
Spell files use a latin single quote. Unicode also has another single quote:
|
||||||
0x2019. (Ron Aaron, 2014 Apr 4)
|
0x2019. (Ron Aaron, 2014 Apr 4)
|
||||||
New OpenOffice spell files support this with ICONV. But they are not
|
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,
|
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||||
2014 Jun 8)
|
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
|
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.
|
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
|
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||||
User view:
|
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)
|
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?
|
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
|
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
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.
|
Exception caused by argument of return is not caught by try/catch.
|
||||||
(David Barnett, 2013 Nov 19)
|
(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,
|
Patch to fix that 'cedit' is recognized after :normal. (Christian Brabandt,
|
||||||
2013 Mar 19, later message)
|
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.
|
a reboot.
|
||||||
|
|
||||||
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
|
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
|
Syntax update problem in one buffer opened in two windows, bottom window is
|
||||||
not correctly updated. (Paul Harris, 2012 Feb 27)
|
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
|
Session file creation: 'autochdir' causes trouble. Keep it off until after
|
||||||
loading all files.
|
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)
|
'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
|
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)
|
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
|
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
|
indicates this, so that ":verbose set" can give a hint. Check with options in
|
||||||
the help file.
|
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)
|
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)
|
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().
|
Requires configure check for localtime().
|
||||||
Use format year-month-day hr:min:sec.
|
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)
|
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)
|
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
|
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.
|
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
|
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.
|
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)
|
Kondakoff, 2009 May 13)
|
||||||
|
|
||||||
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
|
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)
|
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
|
||||||
|
|
||||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
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
|
In the swapfile dialog, add a H(elp) option that gives more info about what
|
||||||
each choice does. Similar to ":help swap-exists-choices"
|
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.
|
":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)
|
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.
|
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
|
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
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
|
7 ATTENTION dialog choices are more logical when "Delete it" appears
|
||||||
before "Quit". Patch by Robert Webb, 2004 May 3.
|
before "Quit". Patch by Robert Webb, 2004 May 3.
|
||||||
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
|
- 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.
|
- Win32: add options to print dialog. Patch from Vipin Aravind.
|
||||||
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
|
- Patch to add highlighting for whitespace. (Tom Schumm, 2003 Jul 5)
|
||||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||||
@ -3257,7 +3279,7 @@ Quickfix/Location List:
|
|||||||
":grep" and ":helpgrep".
|
":grep" and ":helpgrep".
|
||||||
More generic solution: support a filter (e.g., by calling a function).
|
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
|
7 Add a command that goes back to the position from before jumping to the
|
||||||
first quickfix location. ":cbefore"?
|
first quickfix location.
|
||||||
|
|
||||||
Vi incompatibility:
|
Vi incompatibility:
|
||||||
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
|
- 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
|
7 The ":map" command output overwrites the command. Perhaps it should keep
|
||||||
the ":map" when it's used without arguments?
|
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 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
|
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
|
making changes (containing name of the swap file), delete it when writing
|
||||||
the file. Supply a program that can check for crashed sessions (either
|
the file. Supply a program that can check for crashed sessions (either
|
||||||
@ -3472,8 +3493,6 @@ GUI:
|
|||||||
Solaris 2.6. (Marley)
|
Solaris 2.6. (Marley)
|
||||||
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
|
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
|
||||||
is started from, causes empty lines below the cmdline. (raf)
|
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
|
8 When setting 'langmenu', it should be effective immediately. Store both
|
||||||
the English and the translated text in the menu structure. Re-generate
|
the English and the translated text in the menu structure. Re-generate
|
||||||
the translation when 'langmenu' has changed.
|
the translation when 'langmenu' has changed.
|
||||||
@ -3512,10 +3531,6 @@ GUI:
|
|||||||
When the "+0+0" is omitted it works.
|
When the "+0+0" is omitted it works.
|
||||||
8 When starting an external command, and 'guipty' set, BS and DEL are mixed
|
8 When starting an external command, and 'guipty' set, BS and DEL are mixed
|
||||||
up. Set erase character somehow?
|
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.
|
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
|
7 The cursor in an inactive window should be hollow. Currently it's not
|
||||||
visible.
|
visible.
|
||||||
@ -3612,17 +3627,8 @@ Macintosh:
|
|||||||
|
|
||||||
|
|
||||||
"Small" problems:
|
"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,
|
- When using e_secure in do_one_cmd() mention the command being executed,
|
||||||
otherwise it's not clear where it comes from.
|
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_
|
9 For Turkish vim_tolower() and vim_toupper() also need to use utf_
|
||||||
functions for characters below 0x80. (Sertacyildiz)
|
functions for characters below 0x80. (Sertacyildiz)
|
||||||
9 When the last edited file is a help file, using '0 in a new Vim doesn't
|
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 'hkmap' should probably be global-local.
|
||||||
8 Using ":s" in a function changes the previous replacement string. Save
|
8 Using ":s" in a function changes the previous replacement string. Save
|
||||||
"old_sub" in save_search_patterns()?
|
"old_sub" in save_search_patterns()?
|
||||||
8 Should allow multi-byte characters for the delimiter: ":s+a+b+" where "+"
|
8 Should allow multibyte characters for the delimiter: ":s+a+b+" where "+"
|
||||||
is a multi-byte character.
|
is a multibyte character.
|
||||||
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
8 When appending to a file and 'patchmode' isn't empty, a backup file is
|
||||||
always written, even when the original file already exists.
|
always written, even when the original file already exists.
|
||||||
9 When getting focus while writing a large file, could warn for this file
|
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)
|
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
|
8 When write_viminfo() is used while there are many orphaned viminfo
|
||||||
tempfiles writing the viminfo file fails. Give a clear error message so
|
tempfiles writing the viminfo file fails. Give a clear error message so
|
||||||
that the user knows he has to delete the files.
|
that the user knows the files have to be deleted.
|
||||||
7 It's possible to redefine a script-local function with ":func
|
|
||||||
<SNR>123_Test()". (Krishna) Disallow this.
|
|
||||||
|
|
||||||
|
|
||||||
I can't reproduce these (if you can, let me know how!):
|
I can't reproduce these (if you can, let me know how!):
|
||||||
@ -3995,7 +3999,7 @@ Documentation:
|
|||||||
- change to cursor position and curswant
|
- change to cursor position and curswant
|
||||||
- if it can be undone (u/CTRL-R) and redone (.)
|
- if it can be undone (u/CTRL-R) and redone (.)
|
||||||
- how it works for folded lines
|
- 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
|
9 In change.txt, remark about Javadoc isn't right. Right alignment would
|
||||||
work too.
|
work too.
|
||||||
8 Spread the windows commands over the other files. For example, ":stag"
|
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.
|
- Support a way to view (and edit) .info files.
|
||||||
- Implement a "sticky" help window, some help text lines that are always
|
- Implement a "sticky" help window, some help text lines that are always
|
||||||
displayed in a window with fixed height. (Guckes) Use "~/.vimhelp" file,
|
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.
|
default contents.
|
||||||
- Make 'winminheight' a local option, so that the user can set a minimal
|
- Make 'winminheight' a local option, so that the user can set a minimal
|
||||||
height for the help window (and other windows).
|
height for the help window (and other windows).
|
||||||
@ -4082,8 +4086,6 @@ Spell checking:
|
|||||||
- Considering Hunspell 1.1.4:
|
- Considering Hunspell 1.1.4:
|
||||||
What does MAXNGRAMSUGS do?
|
What does MAXNGRAMSUGS do?
|
||||||
Is COMPLEXPREFIXES necessary when we have flags for affixes?
|
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
|
- 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/
|
used, which is based on Malaga: http://home.arcor.de/bjoern-beutel/malaga/
|
||||||
(Teemu Likonen)
|
(Teemu Likonen)
|
||||||
@ -4233,8 +4235,8 @@ Multi-byte characters:
|
|||||||
8 Add configure option to be able to disable using the iconv library. (Udo
|
8 Add configure option to be able to disable using the iconv library. (Udo
|
||||||
Schweigert)
|
Schweigert)
|
||||||
9 'aleph' should be set to 1488 for Unicode. (Zvi Har'El)
|
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 Should add test for using various commands with multibyte characters.
|
||||||
8 'infercase' doesn't work with multi-byte characters.
|
8 'infercase' doesn't work with multibyte characters.
|
||||||
8 toupper() function doesn't handle byte count changes.
|
8 toupper() function doesn't handle byte count changes.
|
||||||
7 Searching and composing characters:
|
7 Searching and composing characters:
|
||||||
When searching, should order of composing characters be ignored?
|
When searching, should order of composing characters be ignored?
|
||||||
@ -4242,7 +4244,7 @@ Multi-byte characters:
|
|||||||
characters can be manipulated.
|
characters can be manipulated.
|
||||||
8 Should implement 'delcombine' for command line editing.
|
8 Should implement 'delcombine' for command line editing.
|
||||||
8 Detect overlong UTF-8 sequences and handle them like illegal bytes.
|
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.
|
characters.
|
||||||
8 UTF-8: "r" in Visual mode doesn't take composing 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
|
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.
|
convert_input() for Mac GUI.
|
||||||
- Add mnemonics from RFC1345 longer than two characters.
|
- Add mnemonics from RFC1345 longer than two characters.
|
||||||
Support CTRL-K _{mnemonic}_
|
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[]).
|
table anymore (breakat_flags[]).
|
||||||
Simplistic solution: when 'formatoptions' contains "m" also break a line
|
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
|
- Add the possibility to enter mappings which are used whenever normal text
|
||||||
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
could be entered. E.g., for "f" command. But not in Normal mode. Sort
|
||||||
of opposite of 'langmap'. Use ":amap" command?
|
of opposite of 'langmap'. Use ":amap" command?
|
||||||
- When breaking a line, take properties of multi-byte characters into
|
- When breaking a line, take properties of multibyte characters into
|
||||||
account. The "linebreak" program from Bruno Haible can do it:
|
account. The "linebreak" program from Bruno Haible can do it:
|
||||||
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
ftp://ftp.ilog.fr/pub/Users/haible/gnu/linebreak-0.1.tar.gz
|
||||||
But it's very complicated...
|
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
|
7 Execute a function with standard option values. No need to save and
|
||||||
restore option values. Especially useful for new options. Problem: how
|
restore option values. Especially useful for new options. Problem: how
|
||||||
to avoid a performance penalty (esp. for string options)?
|
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)
|
- range for ":exec", pass it on to the executed command. (Webb)
|
||||||
8 ":{range}source": source the lines from the current file.
|
8 ":{range}source": source the lines from the current file.
|
||||||
You can already yank lines and use :@" to execute them.
|
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.
|
- Delete message after new command has been entered and have waited for key.
|
||||||
Perhaps after ten seconds?
|
Perhaps after ten seconds?
|
||||||
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
|
- 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:
|
9 Check handling of overwriting of messages and delays:
|
||||||
Very wrong: errors while redrawing cause endless loop.
|
Very wrong: errors while redrawing cause endless loop.
|
||||||
When switching to another file and screen scrolls because of the long
|
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 test script for text object commands "aw", "iW", etc.
|
||||||
8 Add text object for part of a CamelHumpedWord and under_scored_word.
|
8 Add text object for part of a CamelHumpedWord and under_scored_word.
|
||||||
(Scott Graham) "ac" and "au"?
|
(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)
|
characters. Option to specify what quotes are recognized (default: all)
|
||||||
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
use "aq" and "iq". Use 'quotepairs' to define pairs of quotes, like
|
||||||
'matchpairs'?
|
'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
|
8 Add a way to make an ":omap" for a user-defined text object. Requires
|
||||||
changing the starting position in oap->start.
|
changing the starting position in oap->start.
|
||||||
8 Add "gp" and "gP" commands: insert text and make sure there is a single
|
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
|
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
|
this works properly for all commands, and still be able to return to the
|
||||||
current buffer/window? E.g.: ":inbuf xxx only".
|
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.
|
Ron Aaron has a plugin for this: mru.vim.
|
||||||
8 Unix: Check all uses of fnamecmp() and fnamencmp() if they should check
|
8 Unix: Check all uses of fnamecmp() and fnamencmp() if they should check
|
||||||
inode too.
|
inode too.
|
||||||
@ -5791,7 +5789,7 @@ Modelines:
|
|||||||
.cpp files.
|
.cpp files.
|
||||||
- Support the "abbreviate" command in modelines (Kearns). Careful for
|
- Support the "abbreviate" command in modelines (Kearns). Careful for
|
||||||
characters after <Esc>, that is a security leak.
|
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.
|
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
|
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"
|
blocks. Useful to move text around in a table. Works like using "R ^R r"
|
||||||
for every line.
|
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
|
- When appending to a register, also report the total resulting number of
|
||||||
lines. Or just say "99 more lines yanked", add the "more".
|
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
|
- 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).
|
regexp which triggers auto-formatting (for one line).
|
||||||
":set autoformat=\\s$".
|
":set autoformat=\\s$".
|
||||||
- Be able to redefine where a sentence stops. Use a regexp pattern?
|
- 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
|
7 Add command "g)" to go to the end of a sentence, "g(" to go back to the
|
||||||
end of a sentence. (Servatius Brandt)
|
end of a sentence. (Servatius Brandt)
|
||||||
- Be able to redefine where a paragraph starts. For "[[" where the '{' is
|
- Be able to redefine where a paragraph starts. For "[[" where the '{' is
|
||||||
|
@ -161,7 +161,7 @@ line break.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*04.3* Repeating a change
|
*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
|
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 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
|
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.
|
|defaults.vim| for the details.
|
||||||
|
|
||||||
The vimrc file can contain all the commands that you type after a colon. The
|
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
|
simplest ones are for setting options. For example, if you want Vim to always
|
||||||
always start with the 'incsearch' option on, add this line your vimrc file: >
|
start with the 'incsearch' option on, add this line your vimrc file: >
|
||||||
|
|
||||||
set incsearch
|
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
|
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
|
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
|
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
|
R Recover the file from the swap file. Use this if you know that the swap
|
||||||
file contains changes that you want to recover.
|
file contains changes that you want to recover.
|
||||||
|
@ -327,10 +327,10 @@ for next.
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
*20.5* Command line window
|
*20.5* Command line window
|
||||||
|
|
||||||
Typing the text in the command line works different from typing text in Insert
|
Typing the text in the command line works differently from typing text in
|
||||||
mode. It doesn't allow many commands to change the text. For most commands
|
Insert mode. It doesn't allow many commands to change the text. For most
|
||||||
that's OK, but sometimes you have to type a complicated command. That's where
|
commands that's OK, but sometimes you have to type a complicated command.
|
||||||
the command line window is useful.
|
That's where the command line window is useful.
|
||||||
|
|
||||||
Open the command line window with this command: >
|
Open the command line window with this command: >
|
||||||
|
|
||||||
|
@ -434,7 +434,7 @@ redefined without changing the search pattern.
|
|||||||
|
|
||||||
/\f\+
|
/\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.
|
of characters that can be a file name.
|
||||||
Which characters can be part of a file name depends on the system you are
|
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
|
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
|
*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'
|
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.
|
option. This is useful for languages where no indent file is available.
|
||||||
'smartindent' is not as smart as 'cindent', but smarter than 'autoindent'.
|
'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
|
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
|
You can start the X-Windows version of gvim with an argument to specify the
|
||||||
size and position of the window: >
|
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: >
|
pixels. Example: >
|
||||||
|
|
||||||
gvim -geometry 80x25+100+300
|
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
|
VIM USER MANUAL - by Bram Moolenaar
|
||||||
|
|
||||||
@ -453,12 +453,12 @@ matching BufWritePre autocommands and executes them, and then it
|
|||||||
performs the ":write".
|
performs the ":write".
|
||||||
The general form of the :autocmd command is as follows: >
|
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
|
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
|
(more on this later). The {events} parameter is a list of events (comma
|
||||||
separated) that trigger the command.
|
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".
|
"*.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
|
The optional [nested] flag allows for nesting of autocommands (see below), and
|
||||||
finally, {command} is the command to be executed.
|
finally, {command} is the command to be executed.
|
||||||
@ -489,7 +489,7 @@ See |autocmd-events| for a complete list of events.
|
|||||||
|
|
||||||
PATTERNS
|
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".
|
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
|
The usual file wildcards can be used. Here is a summary of the most often
|
||||||
used ones:
|
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
|
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
|
If you are familiar with Python, you can find a comparison between
|
||||||
Python and Vim script here, with pointers to other documents:
|
Python and Vim script here, with pointers to other documents:
|
||||||
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
|
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/
|
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
|
||||||
|
|
||||||
Let's start with a simple example: >
|
Let's start with a simple example: >
|
||||||
@ -600,6 +600,7 @@ String manipulation: *string-functions*
|
|||||||
strtrans() translate a string to make it printable
|
strtrans() translate a string to make it printable
|
||||||
tolower() turn a string to lowercase
|
tolower() turn a string to lowercase
|
||||||
toupper() turn a string to uppercase
|
toupper() turn a string to uppercase
|
||||||
|
charclass() class of a character
|
||||||
match() position where a pattern matches in a string
|
match() position where a pattern matches in a string
|
||||||
matchend() position where a pattern match ends in a string
|
matchend() position where a pattern match ends in a string
|
||||||
matchstr() match of a pattern 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
|
strchars() length of a string in characters
|
||||||
strwidth() size of string when displayed
|
strwidth() size of string when displayed
|
||||||
strdisplaywidth() size of string when displayed, deals with tabs
|
strdisplaywidth() size of string when displayed, deals with tabs
|
||||||
|
setcellwidths() set character cell width overrides
|
||||||
substitute() substitute a pattern match with a string
|
substitute() substitute a pattern match with a string
|
||||||
submatch() get a specific match in ":s" and substitute()
|
submatch() get a specific match in ":s" and substitute()
|
||||||
strpart() get part of a string using byte index
|
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
|
execute() execute an Ex command and get the output
|
||||||
win_execute() like execute() but in a specified window
|
win_execute() like execute() but in a specified window
|
||||||
trim() trim characters from a string
|
trim() trim characters from a string
|
||||||
|
gettext() lookup message translation
|
||||||
|
|
||||||
List manipulation: *list-functions*
|
List manipulation: *list-functions*
|
||||||
get() get an item without error for wrong index
|
get() get an item without error for wrong index
|
||||||
@ -2044,9 +2047,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>
|
allow the user to define which keys a mapping in a plugin uses, the <Leader>
|
||||||
item can be used: >
|
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
|
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: >
|
this mapping to start with. Thus if the user has done: >
|
||||||
@ -2062,15 +2065,15 @@ already happened to exist. |:map-<unique>|
|
|||||||
But what if the user wants to define his own key sequence? We can allow that
|
But what if the user wants to define his own key sequence? We can allow that
|
||||||
with this mechanism: >
|
with this mechanism: >
|
||||||
|
|
||||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||||
23 endif
|
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
|
defines the mapping from "<Leader>a" if it doesn't. The user then has a
|
||||||
chance of putting this in his vimrc file: >
|
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".
|
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
|
||||||
|
|
||||||
@ -2100,15 +2103,15 @@ function (without the "s:"), which is again another function.
|
|||||||
<SID> can be used with mappings. It generates a script ID, which identifies
|
<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: >
|
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>
|
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), 1)<CR>
|
||||||
|
|
||||||
Thus when a user types "\a", this sequence is invoked: >
|
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.
|
thus define another mapping.
|
||||||
|
|
||||||
Note that instead of s:Add() we use <SID>Add() here. That is because the
|
Note that instead of s:Add() we use <SID>Add() here. That is because the
|
||||||
@ -2149,9 +2152,9 @@ difference between using <SID> and <Plug>:
|
|||||||
To make it very unlikely that other plugins use the same sequence of
|
To make it very unlikely that other plugins use the same sequence of
|
||||||
characters, use this structure: <Plug> scriptname mapname
|
characters, use this structure: <Plug> scriptname mapname
|
||||||
In our example the scriptname is "Typecorr" and the mapname is "Add".
|
In our example the scriptname is "Typecorr" and the mapname is "Add".
|
||||||
This results in "<Plug>TypecorrAdd". Only the first character of
|
We add a semicolon as the terminator. This results in
|
||||||
scriptname and mapname is uppercase, so that we can see where mapname
|
"<Plug>TypecorrAdd;". Only the first character of scriptname and
|
||||||
starts.
|
mapname is uppercase, so that we can see where mapname starts.
|
||||||
|
|
||||||
<SID> is the script ID, a unique identifier for a script.
|
<SID> is the script ID, a unique identifier for a script.
|
||||||
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
|
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
|
||||||
@ -2226,10 +2229,10 @@ Here is the resulting complete example: >
|
|||||||
18 \ synchronization
|
18 \ synchronization
|
||||||
19 let s:count = 4
|
19 let s:count = 4
|
||||||
20
|
20
|
||||||
21 if !hasmapto('<Plug>TypecorrAdd')
|
21 if !hasmapto('<Plug>TypecorrAdd;')
|
||||||
22 map <unique> <Leader>a <Plug>TypecorrAdd
|
22 map <unique> <Leader>a <Plug>TypecorrAdd;
|
||||||
23 endif
|
23 endif
|
||||||
24 noremap <unique> <script> <Plug>TypecorrAdd <SID>Add
|
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
|
||||||
25
|
25
|
||||||
26 noremenu <script> Plugin.Add\ Correction <SID>Add
|
26 noremenu <script> Plugin.Add\ Correction <SID>Add
|
||||||
27
|
27
|
||||||
@ -2279,7 +2282,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.
|
6 There are currently only a few corrections. Add your own if you like.
|
||||||
7
|
7
|
||||||
8 Mappings:
|
8 Mappings:
|
||||||
9 <Leader>a or <Plug>TypecorrAdd
|
9 <Leader>a or <Plug>TypecorrAdd;
|
||||||
10 Add a correction for the word under the cursor.
|
10 Add a correction for the word under the cursor.
|
||||||
11
|
11
|
||||||
12 Commands:
|
12 Commands:
|
||||||
@ -2417,13 +2420,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.
|
command. This needs to be combined with the two-step mapping explained above.
|
||||||
An example of how to define functionality in a filetype plugin: >
|
An example of how to define functionality in a filetype plugin: >
|
||||||
|
|
||||||
if !hasmapto('<Plug>JavaImport')
|
if !hasmapto('<Plug>JavaImport;')
|
||||||
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport
|
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
|
||||||
endif
|
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
|
|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
|
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
|
the key(s) he wants filetype plugin mappings to start with. The default is a
|
||||||
backslash.
|
backslash.
|
||||||
@ -2440,12 +2443,12 @@ plugin for the mail filetype: >
|
|||||||
" Add mappings, unless the user didn't want this.
|
" Add mappings, unless the user didn't want this.
|
||||||
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
if !exists("no_plugin_maps") && !exists("no_mail_maps")
|
||||||
" Quote text by inserting "> "
|
" Quote text by inserting "> "
|
||||||
if !hasmapto('<Plug>MailQuote')
|
if !hasmapto('<Plug>MailQuote;')
|
||||||
vmap <buffer> <LocalLeader>q <Plug>MailQuote
|
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||||
nmap <buffer> <LocalLeader>q <Plug>MailQuote
|
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
|
||||||
endif
|
endif
|
||||||
vnoremap <buffer> <Plug>MailQuote :s/^/> /<CR>
|
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
|
||||||
nnoremap <buffer> <Plug>MailQuote :.,$s/^/> /<CR>
|
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
Two global variables are used:
|
Two global variables are used:
|
||||||
|
@ -210,8 +210,8 @@ argument: >
|
|||||||
:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>
|
:amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR>
|
||||||
|
|
||||||
Don't use "<silent>" too often. It is not needed for short commands. If you
|
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
|
make a menu for someone else, being able to see the executed command will give
|
||||||
give him a hint about what he could have typed, instead of using the mouse.
|
him a hint about what he could have typed, instead of using the mouse.
|
||||||
|
|
||||||
|
|
||||||
LISTING MENUS
|
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
|
Let's start with an example, a script that exports one function and has one
|
||||||
private function: >
|
private function: >
|
||||||
|
|
||||||
vim9script " This indicates a Vim9 script file,
|
vim9script " This indicates a Vim9 script file.
|
||||||
|
|
||||||
export def GetMessage(): string
|
export def GetMessage(): string
|
||||||
let result = ''
|
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
|
This is all you need for the second method. Just launch the executable, and
|
||||||
follow the prompts.
|
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:
|
available:
|
||||||
|
|
||||||
gvim82.zip The normal MS-Windows GUI version.
|
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.11| Installing a syntax file
|
||||||
|44.12| Portable syntax file layout
|
|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.1| Language for Messages
|
||||||
|45.2| Language for Menus
|
|45.2| Language for Menus
|
||||||
|45.3| Using another encoding
|
|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
|
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.
|
encoding because it contains illegal bytes.
|
||||||
Does not wrap around the end of the file.
|
Does not wrap around the end of the file.
|
||||||
Note that when the cursor is on an illegal byte or the
|
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.
|
won't move the cursor.
|
||||||
|
|
||||||
*:p* *:pr* *:print* *E749*
|
*: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
|
:{range}z[+-^.=]{count} Display several lines of text surrounding the line
|
||||||
specified with {range}, or around the current line
|
specified with {range}, or around the current line
|
||||||
if there is no {range}. If there is a {count}, that's
|
if there is no {range}. If there is a {count}, that's
|
||||||
how many lines you'll see; if there is only one window
|
how many lines you'll see; if there is no {count} and
|
||||||
then twice the value of the 'scroll' option is used,
|
only one window then twice the value of the 'scroll'
|
||||||
otherwise the current window height minus 3 is used.
|
option is used, otherwise the current window height
|
||||||
|
minus 3 is used.
|
||||||
|
|
||||||
If there is a {count} the 'window' option is set to
|
If there is a {count} the 'window' option is set to
|
||||||
its value.
|
its value.
|
||||||
|
|
||||||
:z can be used either alone or followed by any of
|
:z can be used either alone or followed by any of
|
||||||
several punctuation marks. These have the following
|
several marks. These have the following effect:
|
||||||
effect:
|
|
||||||
|
|
||||||
mark first line last line new cursor line ~
|
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.
|
still use the Vim commands.
|
||||||
|
|
||||||
This isn't perfect. For example, when viewing a short file Vim will still use
|
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.
|
highlighting.
|
||||||
|
|
||||||
The "h" key will give you a short overview of the available commands.
|
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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -2133,12 +2133,12 @@ it is invoked.
|
|||||||
Deleted the "os_archie" files, they were not working anyway.
|
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)
|
MultiByte support for Win32 GUI. (Baek)
|
||||||
The 'fileencoding' option decides how the text in the file is encoded.
|
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)
|
Windows 95, even when using the US version. (Aaron)
|
||||||
Needs to be enabled in feature.h.
|
Needs to be enabled in feature.h.
|
||||||
This has not been tested much yet!
|
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).
|
"u" (half a screenful) and "k" (one line).
|
||||||
|
|
||||||
Multi-byte support:
|
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)
|
support. (Nam)
|
||||||
- Hangul input method feature: |hangul|. (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.
|
input. Each is now configurable separately.
|
||||||
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
|
- Changed check for GTK_KEYBOARD to HANGUL_KEYBOARD_TYPE. (Nam)
|
||||||
- Added doc/hangulin.txt: Documentation for the Hangul input code. (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)
|
- 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 "~"
|
- When a double-byte character doesn't fit at the end of the line, put a "~"
|
||||||
there and print it on the next line.
|
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: preedit style is like over-the-spot. (Nagano)
|
||||||
- Win32 IME: IME mode change now done with ImmSetOpenStatus. (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)
|
(Nagano)
|
||||||
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
|
- Selection reply for XA_TEXT as XA_STRING. (Nagano)
|
||||||
|
|
||||||
@ -3720,7 +3720,7 @@ X11:
|
|||||||
with the VisualNOS group to show this. (Madsen)
|
with the VisualNOS group to show this. (Madsen)
|
||||||
- Support for requesting the type of clipboard support. Used for AIX and
|
- Support for requesting the type of clipboard support. Used for AIX and
|
||||||
dtterm. (Wittig)
|
dtterm. (Wittig)
|
||||||
- Support compound_text selection (even when compiled without multi-byte).
|
- Support compound_text selection (even when compiled without multibyte).
|
||||||
|
|
||||||
Swap file:
|
Swap file:
|
||||||
- New variation for naming swap files: Replace path separators into %, place
|
- 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.
|
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
|
- Fix user cannot see his language while he is typing his language with
|
||||||
off-the-spot method. (Nagano)
|
off-the-spot method. (Nagano)
|
||||||
- Fix preedit position using text/edit area (using gui.wid). (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
|
- XIM: Composed strings were sometimes ignored. Vim crashed when compose
|
||||||
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
|
string was longer than 256 bytes. IM's geometry control is fixed. (Nam,
|
||||||
Nagano)
|
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)
|
(Nagano)
|
||||||
- When there is no GUI, selecting XIM caused compilation problems.
|
- When there is no GUI, selecting XIM caused compilation problems.
|
||||||
Automatically disable XIM when there is no GUI in configure.
|
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
|
Files: src/misc1.c
|
||||||
|
|
||||||
Patch 5.4.26
|
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.
|
name, causing a backslash before it to be removed on Windows.
|
||||||
Solution: Assume that a leading-byte character is a file name character in
|
Solution: Assume that a leading-byte character is a file name character in
|
||||||
vim_isfilec().
|
vim_isfilec().
|
||||||
@ -5945,7 +5945,7 @@ __TIME__. (John Card II)
|
|||||||
BeOS: Adjust computing the char_height and char_ascent. Round them up
|
BeOS: Adjust computing the char_height and char_ascent. Round them up
|
||||||
separately, avoids redrawing artifacts. (Mike Steed)
|
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)
|
findmatchlimit(). (Taro Muraoka)
|
||||||
|
|
||||||
GTK GUI:
|
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
|
Files: src/dosinst.c, src/uninstal.c, gvimext/*, runtime/doc/gui_w32.txt
|
||||||
|
|
||||||
Patch 5.6a.028 (extra)
|
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.
|
characters.
|
||||||
Solution: Adjust nCopyAnsiToWideChar() to handle multi-byte characters
|
Solution: Adjust nCopyAnsiToWideChar() to handle multibyte characters
|
||||||
correctly.
|
correctly.
|
||||||
Files: src/gui_w32.c
|
Files: src/gui_w32.c
|
||||||
|
|
||||||
@ -6727,9 +6727,9 @@ Many fixes to Macintosh specific parts: (mostly by Dany StAmant)
|
|||||||
- Add digraphs table. (Axel Kielhorn)
|
- Add digraphs table. (Axel Kielhorn)
|
||||||
- Multi-byte support: (Kenichi Asai)
|
- Multi-byte support: (Kenichi Asai)
|
||||||
Switch keyscript when going in/out of Insert mode.
|
Switch keyscript when going in/out of Insert mode.
|
||||||
Draw multi-byte character correctly.
|
Draw multibyte character correctly.
|
||||||
Don't use mblen() but highest bit of char to detect multi-byte char.
|
Don't use mblen() but highest bit of char to detect multibyte char.
|
||||||
Display value of multi-byte in statusline (also for other systems).
|
Display value of multibyte in statusline (also for other systems).
|
||||||
- mouse button was not initialized properly to MOUSE_LEFT when
|
- mouse button was not initialized properly to MOUSE_LEFT when
|
||||||
USE_CTRLCLICKMENU not defined.
|
USE_CTRLCLICKMENU not defined.
|
||||||
- With Japanese SJIS characters: Make "w", "b", and "e" work
|
- 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
|
Files: src/gui_gtk_x11.c
|
||||||
|
|
||||||
Patch 5.6.037
|
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)
|
Solution: Enable XIM in Normal mode for the GUI. (Sung-Hyun Nam)
|
||||||
Files: src/gui_gtk_x11.c, src/multbyte.c
|
Files: src/gui_gtk_x11.c, src/multbyte.c
|
||||||
|
|
||||||
@ -7094,7 +7094,7 @@ Files: src/fileio.c, src/tag.c
|
|||||||
Patch 5.6.052
|
Patch 5.6.052
|
||||||
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
|
Problem: Multi-byte: When an Ex command has a '|' or '"' as a second byte,
|
||||||
it terminates the command.
|
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)
|
(Asai Kenichi)
|
||||||
Files: src/ex_docmd.c
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
@ -7246,7 +7246,7 @@ Files: src/Makefile.bor, src/dosinst.c
|
|||||||
|
|
||||||
Patch 5.6.074 (extra)
|
Patch 5.6.074 (extra)
|
||||||
Problem: Entering CSI directly doesn't always work, because it's recognized
|
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.
|
in the GUI.
|
||||||
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
|
Solution: Use K_CSI for a typed CSI character. Use <CSI> for a normal CSI,
|
||||||
<xCSI> for a CSI typed in the GUI.
|
<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
|
Files: src/os_win32.c
|
||||||
|
|
||||||
Patch 5.6.087
|
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.
|
displayed wrong.
|
||||||
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
|
Solution: Detect double-byte characters. (Yasuhiro Matsumoto)
|
||||||
Files: src/ex_getln.c, src/message.c, src/misc2.c, src/screen.c
|
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
|
Files: src/fileio.c
|
||||||
|
|
||||||
Patch 5.6.094
|
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)
|
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
|
Files: src/eval.c, src/message.c
|
||||||
|
|
||||||
Patch 5.6.095
|
Patch 5.6.095
|
||||||
@ -7417,9 +7417,9 @@ Files: src/misc1.c
|
|||||||
|
|
||||||
Patch 5.7a.003
|
Patch 5.7a.003
|
||||||
Problem: Multi-byte: After using CTRL-O in Insert mode with the cursor at
|
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.
|
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)
|
Also: fix cls() to detect a double-byte character. (Chong-Dae Park)
|
||||||
Files: src/edit.c, src/search.c
|
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
|
Files: src/misc1.c, src/os_unix.c
|
||||||
|
|
||||||
Patch 5.7.019
|
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
|
skipped properly, can be a problem when the second byte is a
|
||||||
backslash.
|
backslash.
|
||||||
Solution: Skip an extra byte for a double-byte character. (Muraoka Taro)
|
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
|
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.
|
window is fewer than 80 characters wide.
|
||||||
|
|
||||||
A few options can be used to set the preferences for vertically split windows.
|
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 ~
|
horizontal vertical ~
|
||||||
'splitbelow' 'splitright'
|
'splitbelow' 'splitright'
|
||||||
'winheight' 'winwidth'
|
'winheight' 'winwidth'
|
||||||
@ -623,7 +623,7 @@ For syntax items:
|
|||||||
|
|
||||||
Removed limit of matching only up to 32767 times with *, \+, etc.
|
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)
|
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 'guifontwide' to specify a font for double-wide characters.
|
||||||
- Added Korean support for character class detection. Also fix cls() in
|
- Added Korean support for character class detection. Also fix cls() in
|
||||||
search.c. (Chong-Dae Park)
|
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 Mingw: compile with iconv library. (Ron Aaron)
|
||||||
- Win32 with MSVC: dynamically load iconv.dll library. (Muraoka Taro)
|
- 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)
|
Borland 5.5. (Yasuhiro Matsumoto)
|
||||||
- Added 'delcombine' option: Delete combining character separately. (Ron
|
- Added 'delcombine' option: Delete combining character separately. (Ron
|
||||||
Aaron)
|
Aaron)
|
||||||
@ -680,19 +680,19 @@ Many new items for Multi-byte support:
|
|||||||
- Support "CursorIM" for XIM. (Nam SungHyun)
|
- Support "CursorIM" for XIM. (Nam SungHyun)
|
||||||
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
|
- Added 'm' flag to 'formatoptions': When wrapping words, allow splitting at
|
||||||
each multibyte character, not only at a space.
|
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
|
- Added support for Unicode upper/lowercase flipping and comparing. (based on
|
||||||
patch by Raphael Finkel)
|
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)
|
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.
|
Added RFC1345 digraphs for Unicode.
|
||||||
Most Normal mode commands that accept a character argument, like "r", "t" and
|
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
|
"f" now accept a digraph. The 'D' flag in 'cpoptions' disables this to remain
|
||||||
Vi compatible.
|
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
|
- 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
|
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.
|
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
|
- 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
|
under the cursor in Insert mode and Command-line mode. Looks good for dead
|
||||||
characters.
|
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.
|
works for 8-bit characters. Helps when using UTF-8.
|
||||||
- Use a different cursor for when ":lmap" mappings are active. Can specify
|
- Use a different cursor for when ":lmap" mappings are active. Can specify
|
||||||
two highlight groups for an item in 'guicursor'. By default "lCursor" and
|
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
|
Also works for "f", which now works to find a character that includes a
|
||||||
composing character.
|
composing character.
|
||||||
|
|
||||||
Other multi-byte character additions:
|
Other multibyte character additions:
|
||||||
- Support double-byte single-width characters for euc-jp: Characters starting
|
- Support double-byte single-width characters for euc-jp: Characters starting
|
||||||
with 0x8E. Added ScreenLines2[] to store the second byte.
|
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
|
(MS-Windows part by Vince Negri, Vipin Aravind, PostScript by Vince Negri and
|
||||||
Mike Williams)
|
Mike Williams)
|
||||||
|
|
||||||
Made ":hardcopy" work with multi-byte characters. (Muraoka Taro, Yasuhiro
|
Made ":hardcopy" work with multibyte characters. (Muraoka Taro, Yasuhiro
|
||||||
Matsumoto)
|
Matsumoto)
|
||||||
|
|
||||||
Added options to tune the way printing works: (Vince Negri)
|
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
|
- Win32: Added "c" flag to 'guifont' to be able to specify the charset. (Artem
|
||||||
Khodush)
|
Khodush)
|
||||||
- When no --enable-xim argument is given, automatically enable it when a X GUI
|
- 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
|
- After a file selection dialog, check that the edited files were not changed
|
||||||
or deleted. The Win32 dialog allows deleting and renaming files.
|
or deleted. The Win32 dialog allows deleting and renaming files.
|
||||||
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
|
- Motif and Athena: Added support for "editres". (Marcin Dalecki)
|
||||||
@ -2025,8 +2025,8 @@ Timestamps:
|
|||||||
file that steadily grows.
|
file that steadily grows.
|
||||||
|
|
||||||
Mapping <M-A> when 'encoding' is "latin1" and then setting 'encoding' to
|
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
|
"utf-8" causes the first byte of a multibyte to be mapped. Can cause very
|
||||||
hard to find problems. Disallow mapping part of a multi-byte character.
|
hard to find problems. Disallow mapping part of a multibyte character.
|
||||||
|
|
||||||
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
|
For ":python" and ":tcl" accept an in-line script. (Johannes Zellner)
|
||||||
Also for ":ruby" and ":perl". (Benoit Cerrina)
|
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.
|
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
|
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
|
Removed defining SVR4 in configure. It causes problems for some X header
|
||||||
files and doesn't appear to be used anywhere.
|
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.
|
222, don't jump back to the first column.
|
||||||
|
|
||||||
GUI: In some versions CSI would cause trouble, either when typed directly or
|
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
|
When using multibyte characters in a ":normal" command, a trailing byte that
|
||||||
is CSI or K_SPECIAL caused problems.
|
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
|
":sleep 10" could not be interrupted on Windows, while "gs" could. Made them
|
||||||
both work the same.
|
both work the same.
|
||||||
@ -2673,7 +2673,7 @@ path.
|
|||||||
Multi-byte:
|
Multi-byte:
|
||||||
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
|
- Using an any-but character range [^x] in a regexp didn't work for UTF-8.
|
||||||
(Muraoka Taro)
|
(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)
|
characters were not handled correctly. (Muraoka Taro)
|
||||||
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
|
- Search commands "#" and "*" didn't work with multibyte characters. (Muraoka
|
||||||
Taro)
|
Taro)
|
||||||
@ -2690,9 +2690,9 @@ Multi-byte:
|
|||||||
wrong error number. (Muraoka Taro)
|
wrong error number. (Muraoka Taro)
|
||||||
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
|
- Using Alt-x in the GUI while 'encoding' was set to "utf-8" didn't produce
|
||||||
the right character.
|
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.
|
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.
|
double-wide character.
|
||||||
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
- Overstrike mode for the cmdline replaced only the first byte of a multibyte
|
||||||
character.
|
character.
|
||||||
@ -2701,8 +2701,8 @@ Multi-byte:
|
|||||||
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
- When a multibyte character contained a 0x80 byte, it didn't work (was using
|
||||||
a CSI byte instead). (Muraoka Taro)
|
a CSI byte instead). (Muraoka Taro)
|
||||||
- Wordwise selection with the mouse didn't work.
|
- Wordwise selection with the mouse didn't work.
|
||||||
- Yanking a modeless selection of multi-byte characters didn't work.
|
- Yanking a modeless selection of multibyte characters didn't work.
|
||||||
- When 'selection' is "exclusive", selecting a word that ends in a multi-byte
|
- When 'selection' is "exclusive", selecting a word that ends in a multibyte
|
||||||
character used wrong highlighting for the following character.
|
character used wrong highlighting for the following character.
|
||||||
|
|
||||||
Win32 with Make_mvc.mak: Didn't compile for debugging. (Craig Barkhouse)
|
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.
|
exit() when the child couldn't execute the shell.
|
||||||
|
|
||||||
Multi-byte:
|
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.
|
character put the cursor in previous char.
|
||||||
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
|
- Using double-byte encoding and 'selection' is "exclusive": "vey" and "^Vey"
|
||||||
included the character after the word.
|
included the character after the word.
|
||||||
- When using a double-byte encoding and there is a lead byte at the end of the
|
- 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.
|
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)
|
(Muraoka Taro)
|
||||||
|
|
||||||
GUI: The cursor was sometimes not removed when scrolling. Changed the policy
|
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
|
into a generic buffer, which might be changed by the time the message is
|
||||||
displayed. Now make a copy of the message.
|
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)
|
the menu would not be created correctly. (Muraoka Taro)
|
||||||
Using a multibyte character in the substitute string where a trail byte is a
|
Using a multibyte character in the substitute string where a trail byte is a
|
||||||
backslash didn't work. (Muraoka Taro)
|
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
|
Don't define the <NetMouse> termcode in an xterm, reduces the problem when
|
||||||
someone types <Esc> } in Insert mode.
|
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)
|
Matsumoto)
|
||||||
Using a filename in Big5 encoding for autocommands didn't work (backslash in
|
Using a filename in Big5 encoding for autocommands didn't work (backslash in
|
||||||
trailbyte). (Yasuhiro Matsumoto)
|
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
|
Conversion of the docs to HTML didn't handle the line with the +quickfix tag
|
||||||
correctly. (Antonio Colombo)
|
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)
|
Matsumoto)
|
||||||
|
|
||||||
The Cygwin version had trouble with fchdir(). Don't use that function for
|
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
|
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
|
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
|
character before the cursor was a double-wide multibyte character the cursor
|
||||||
would be on the right halve, which causes problems with some terminals.
|
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)
|
(Yasuhiro Matsumoto)
|
||||||
|
|
||||||
Win32 GUI: Errors generated before the GUI is decided to start were not
|
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
|
open the GUI window early to be able to display the messages and pop up the
|
||||||
dialog.
|
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.
|
character. "3r<CR>" deleted three bytes instead of three characters.
|
||||||
|
|
||||||
When interrupting reading a file, Vi considers the buffer modified. Added the
|
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
|
Files: src/gui_w48.c
|
||||||
|
|
||||||
Athena file browser: On some systems wcstombs() can't be used to get the
|
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)
|
Matsumoto)
|
||||||
|
|
||||||
Patch 6.0ax.001
|
Patch 6.0ax.001
|
||||||
@ -3784,7 +3784,7 @@ Solution: Check for a NULL pointer.
|
|||||||
Files: src/mbyte.c
|
Files: src/mbyte.c
|
||||||
|
|
||||||
Patch 6.0.019
|
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)
|
string, e.g., with strtrans(), may cause a crash. (Tomas Zellerin)
|
||||||
Solution: Correctly compute the length of the result in transstr().
|
Solution: Correctly compute the length of the result in transstr().
|
||||||
Files: src/charset.c
|
Files: src/charset.c
|
||||||
@ -4148,9 +4148,9 @@ Solution: Position the system cursor before starting the shell.
|
|||||||
Files: src/os_msdos.c
|
Files: src/os_msdos.c
|
||||||
|
|
||||||
Patch 6.0.074
|
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.
|
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
|
Files: src/regexp.c
|
||||||
|
|
||||||
Patch 6.0.075
|
Patch 6.0.075
|
||||||
@ -4311,7 +4311,7 @@ Files: src/ex_cmds.c
|
|||||||
|
|
||||||
Patch 6.0.097
|
Patch 6.0.097
|
||||||
Problem: Re-indenting in Insert mode with CTRL-F may cause a crash with a
|
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
|
Solution: Avoid using a character before the start of a line. (Sergey
|
||||||
Vlasov)
|
Vlasov)
|
||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
@ -4356,7 +4356,7 @@ Files: src/normal.c
|
|||||||
|
|
||||||
Patch 6.0.104
|
Patch 6.0.104
|
||||||
Problem: Multi-byte: When '$' is in 'cpoptions', typing a double-wide
|
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.
|
character causes a redraw problem and the cursor stops blinking.
|
||||||
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
|
Solution: Clear the right half of the old character. (Yasuhiro Matsumoto)
|
||||||
Files: src/edit.c, src/screen.c
|
Files: src/edit.c, src/screen.c
|
||||||
@ -4669,14 +4669,14 @@ Solution: Correctly report "operand could be empty" when using "\{-}".
|
|||||||
Files: src/regexp.c
|
Files: src/regexp.c
|
||||||
|
|
||||||
Patch 6.0.150
|
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)
|
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
|
Files: src/ops.c
|
||||||
|
|
||||||
Patch 6.0.151
|
Patch 6.0.151
|
||||||
Problem: Redrawing the status line and ruler can be wrong when it contains
|
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)
|
Solution: Use character width and byte length correctly. (Yasuhiro Matsumoto)
|
||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
@ -4878,7 +4878,7 @@ Solution: Free the allocated memory. Also avoid an uninitialized memory
|
|||||||
Files: src/misc2.c
|
Files: src/misc2.c
|
||||||
|
|
||||||
Patch 6.0.182
|
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.
|
character before the start of the line.
|
||||||
Solution: Don't decrement a pointer to before the start of the line.
|
Solution: Don't decrement a pointer to before the start of the line.
|
||||||
Files: src/regexp.c
|
Files: src/regexp.c
|
||||||
@ -5060,7 +5060,7 @@ Files: src/edit.c
|
|||||||
|
|
||||||
Patch 6.0.209
|
Patch 6.0.209
|
||||||
Problem: GUI GTK: After selecting a 'guifont' with the font dialog there
|
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
|
Solution: Separate the font dialog from setting the new font name to avoid
|
||||||
that "*" is used to find wide and bold fonts.
|
that "*" is used to find wide and bold fonts.
|
||||||
When redrawing extra characters for the bold trick, take care of
|
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
|
Patch 6.0.229
|
||||||
Problem: Multi-byte: With 'm' in 'formatoptions', formatting doesn't break
|
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)
|
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.
|
characters, which is not always wanted.
|
||||||
Solution: Check for multi-byte character before and after the breakpoint.
|
Solution: Check for multibyte character before and after the breakpoint.
|
||||||
Don't insert a space before or after a multi-byte character when
|
Don't insert a space before or after a multibyte character when
|
||||||
joining lines and the 'M' flag is in 'formatoptions'. Don't
|
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'.
|
in 'formatoptions'.
|
||||||
Files: src/edit.c, src/ops.c, src/option.h
|
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
|
Problem: Win32: Expanding the old value of an option that is a path that
|
||||||
starts with a backslash, an extra backslash is inserted.
|
starts with a backslash, an extra backslash is inserted.
|
||||||
Solution: Only insert backslashes where needed.
|
Solution: Only insert backslashes where needed.
|
||||||
Also handle multi-byte characters properly when removing
|
Also handle multibyte characters properly when removing
|
||||||
backslashes.
|
backslashes.
|
||||||
Files: src/option.c
|
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).
|
file name (e.g., icon text, status line).
|
||||||
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
|
Solution: Correctly handle unprintable characters. Catch illegal UTF-8
|
||||||
characters and replace them with <xx>. Truncating the status line
|
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)
|
Matsumoto)
|
||||||
Added correct_cmdspos() and transchar_byte().
|
Added correct_cmdspos() and transchar_byte().
|
||||||
Files: src/buffer.c, src/charset.c, src/ex_getln.c, src/gui.c,
|
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
|
Files: src/fileio.c, src/gui.c, src/misc1.c, src/ui.c
|
||||||
|
|
||||||
Patch 6.0.261
|
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)
|
Solution: Use 'encoding' for these functions. (Yasuhiro Matsumoto)
|
||||||
Files: runtime/doc/eval.txt, src/eval.c
|
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
|
Files: src/os_mswin.c
|
||||||
|
|
||||||
Patch 6.1a.006
|
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.
|
wrong.
|
||||||
Solution: Force resetting the title. (Yasuhiro Matsumoto)
|
Solution: Force resetting the title. (Yasuhiro Matsumoto)
|
||||||
Files: src/option.c
|
Files: src/option.c
|
||||||
@ -5654,7 +5654,7 @@ Files: src/globals.h, src/mbyte.c, src/screen.c
|
|||||||
|
|
||||||
Patch 6.1a.029
|
Patch 6.1a.029
|
||||||
Problem: After patch 6.1a.028 can't compile GTK version with XIM but
|
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)
|
Solution: Add an #ifdef. (Aschwin Marsman)
|
||||||
Files: src/mbyte.c
|
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
|
Files: src/os_win32.c
|
||||||
|
|
||||||
Patch 6.1a.035
|
Patch 6.1a.035
|
||||||
Problem: multi-byte: When using ":sh" in the GUI, typed and displayed
|
Problem: multibyte: When using ":sh" in the GUI, typed and displayed
|
||||||
multi-byte characters are not handled correctly.
|
multibyte characters are not handled correctly.
|
||||||
Solution: Deal with multi-byte characters to and from the shell. (Yasuhiro
|
Solution: Deal with multibyte characters to and from the shell. (Yasuhiro
|
||||||
Matsumoto) Also handle UTF-8 composing characters.
|
Matsumoto) Also handle UTF-8 composing characters.
|
||||||
Files: src/os_unix.c
|
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)
|
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.
|
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,
|
Files: src/os_amiga.c, src/os_mac.c, src/os_msdos.c, src/os_mswin.c,
|
||||||
src/os_unix.c
|
src/os_unix.c
|
||||||
|
|
||||||
@ -6393,7 +6393,7 @@ wrong (back)slashes.
|
|||||||
|
|
||||||
Win32: printer dialog texts were not translated. (Yasuhiro Matsumoto)
|
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
|
with "--remote-send" the received byte sequence was mangled. Put it in the
|
||||||
typeahead buffer instead of the input buffer.
|
typeahead buffer instead of the input buffer.
|
||||||
|
|
||||||
@ -6438,7 +6438,7 @@ library version of fgets() to work correctly for Metrowerks 2.2. (Axel
|
|||||||
Kielhorn)
|
Kielhorn)
|
||||||
|
|
||||||
When typing a password a "*" was shown for each byte instead of for each
|
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)
|
Matsumoto)
|
||||||
|
|
||||||
When using Perl 5.6 accessing $curbuf doesn't work. Add an #ifdef to use
|
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
|
Files: src/main.c, src/screen.c
|
||||||
|
|
||||||
Patch 6.1.038
|
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.
|
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
|
Files: src/regexp.c
|
||||||
|
|
||||||
Patch 6.1.039
|
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
|
Files: src/gui_x11.c
|
||||||
|
|
||||||
Patch 6.1.096
|
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)
|
cause further characters to be erased. (Yasuhiro Matsumoto)
|
||||||
Solution: Make sure only one character is erased.
|
Solution: Make sure only one character is erased.
|
||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
@ -7105,7 +7105,7 @@ Solution: Use ":setlocal" instead of ":set". Change "aw" to "awa".
|
|||||||
Files: runtime/optwin.vim
|
Files: runtime/optwin.vim
|
||||||
|
|
||||||
Patch 6.1.102
|
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)
|
truncated correctly. (Yasuhiro Matsumoto)
|
||||||
Solution: Count the width of characters instead of the number of bytes.
|
Solution: Count the width of characters instead of the number of bytes.
|
||||||
Files: src/buffer.c
|
Files: src/buffer.c
|
||||||
@ -7480,7 +7480,7 @@ Solution: Take 'siso' into account when computing the horizontal scroll
|
|||||||
Files: src/normal.c
|
Files: src/normal.c
|
||||||
|
|
||||||
Patch 6.1.159
|
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)
|
character too many characters are deleted. (Andrey Urazov)
|
||||||
Solution: Delete the abbreviation counting characters instead of bytes.
|
Solution: Delete the abbreviation counting characters instead of bytes.
|
||||||
Files: src/getchar.c
|
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
|
Patch 6.1.221
|
||||||
Problem: Changing case may not work properly, depending on the current
|
Problem: Changing case may not work properly, depending on the current
|
||||||
locale.
|
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.
|
is to be done.
|
||||||
Also fix lowering case when an UTF-8 character doesn't keep the
|
Also fix lowering case when an UTF-8 character doesn't keep the
|
||||||
same byte length.
|
same byte length.
|
||||||
@ -7964,10 +7964,10 @@ Files: src/gui_w48.c
|
|||||||
|
|
||||||
Patch 6.1.231
|
Patch 6.1.231
|
||||||
Problem: Double clicking with the mouse to select a word does not work for
|
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'
|
Solution: Use vim_iswordc() instead of vim_isIDc(). This means 'iskeyword'
|
||||||
is used instead of 'isident'. Also fix that mixing ASCII with
|
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.
|
punctuation and word characters was mixed up.
|
||||||
Files: src/normal.c
|
Files: src/normal.c
|
||||||
|
|
||||||
@ -8056,7 +8056,7 @@ Files: src/vim.h
|
|||||||
Patch 6.1.245
|
Patch 6.1.245
|
||||||
Problem: Comparing with ignored case does not work properly for Unicode
|
Problem: Comparing with ignored case does not work properly for Unicode
|
||||||
with a locale where case folding an ASCII character results in a
|
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.
|
Solution: Handle ignore-case compare for Unicode differently.
|
||||||
Files: src/mbyte.c
|
Files: src/mbyte.c
|
||||||
|
|
||||||
@ -8081,8 +8081,8 @@ Files: src/eval.c
|
|||||||
|
|
||||||
Patch 6.1.249
|
Patch 6.1.249
|
||||||
Problem: Can't expand a path on the command line if it includes a "|" as a
|
Problem: Can't expand a path on the command line if it includes a "|" as a
|
||||||
trail byte of a multi-byte character.
|
trail byte of a multibyte character.
|
||||||
Solution: Check for multi-byte characters. (Yasuhiro Matsumoto)
|
Solution: Check for multibyte characters. (Yasuhiro Matsumoto)
|
||||||
Files: src/ex_docmd.c
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
Patch 6.1.250
|
Patch 6.1.250
|
||||||
@ -8177,9 +8177,9 @@ Solution: Set the previous context mark before jumping.
|
|||||||
Files: src/fold.c
|
Files: src/fold.c
|
||||||
|
|
||||||
Patch 6.1.263
|
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.
|
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
|
Files: src/getchar.c
|
||||||
|
|
||||||
Patch 6.1.264 (depends on patch 6.1.254)
|
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
|
Files: src/ops.c
|
||||||
|
|
||||||
Patch 6.1.268
|
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
|
character is not correctly inserted after expanding the
|
||||||
abbreviation. (Taro Muraoka)
|
abbreviation. (Taro Muraoka)
|
||||||
Solution: Add ABBR_OFF to all characters above 0xff.
|
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
|
src/quickfix.c
|
||||||
|
|
||||||
Patch 6.1.286
|
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'.
|
Solution: Allow using all printable characters for 'showbreak'.
|
||||||
Files: src/charset.c, src/move.c, src/option.c
|
Files: src/charset.c, src/move.c, src/option.c
|
||||||
|
|
||||||
@ -8343,9 +8343,9 @@ Solution: Add a typecast for " ".
|
|||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
Patch 6.1.290 (extra)
|
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.
|
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
|
Files: src/os_mswin.c
|
||||||
|
|
||||||
Patch 6.1.291 (extra)
|
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
|
Files: src/memline.c
|
||||||
|
|
||||||
Patch 6.1.294
|
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)
|
(Benji Fisher)
|
||||||
Solution: Add "\u....": a character specified with up to four hex numbers
|
Solution: Add "\u....": a character specified with up to four hex numbers
|
||||||
and stored according to the value of 'encoding'.
|
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
|
Files: src/gui_mac.c
|
||||||
|
|
||||||
Patch 6.1.360 (depends on 6.1.341)
|
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)
|
(Anders Helmersson)
|
||||||
Solution: Save all bytes of a character when displaying a character
|
Solution: Save all bytes of a character when displaying a character
|
||||||
temporarily.
|
temporarily.
|
||||||
@ -8962,7 +8962,7 @@ Files: src/gui_w32.c
|
|||||||
|
|
||||||
Patch 6.1.383
|
Patch 6.1.383
|
||||||
Problem: The filling of the status line doesn't work properly for
|
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.
|
There is no check for going past the end of the buffer.
|
||||||
Solution: Properly distinguish characters and bytes. Properly check for
|
Solution: Properly distinguish characters and bytes. Properly check for
|
||||||
running out of buffer space.
|
running out of buffer space.
|
||||||
@ -8976,13 +8976,13 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/version.pro,
|
|||||||
src/version.c
|
src/version.c
|
||||||
|
|
||||||
Patch 6.1.385 (depends on 6.1.383)
|
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)
|
Solution: Move an #ifdef. (Christian J. Robinson)
|
||||||
Files: src/buffer.c
|
Files: src/buffer.c
|
||||||
|
|
||||||
Patch 6.1.386
|
Patch 6.1.386
|
||||||
Problem: Get duplicate tags when running ":helptags".
|
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
|
Files: runtime/tagsrch.txt
|
||||||
|
|
||||||
Patch 6.1.387 (depends on 6.1.373)
|
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
|
Files: src/netbeans.c
|
||||||
|
|
||||||
Patch 6.1.417
|
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
|
Multi-byte characters above 0xffff are displayed as another
|
||||||
character.
|
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
|
characters above 0xffff with a marker. Recognize UTF-16 words and
|
||||||
BOM words as unprintable. (Daniel Elstner)
|
BOM words as unprintable. (Daniel Elstner)
|
||||||
Files: src/charset.c, src/mbyte.c, src/screen.c
|
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
|
Files: src/fileio.c
|
||||||
|
|
||||||
Patch 6.1.437 (extra, depends on 6.1.421)
|
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)
|
Solution: Put the clipboard conversion inside an #ifdef. (Vince Negri)
|
||||||
Also fix a pointer type mistake. (Walter Briscoe)
|
Also fix a pointer type mistake. (Walter Briscoe)
|
||||||
Files: src/os_mswin.c
|
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
|
Files: src/ex_docmd.c
|
||||||
|
|
||||||
Patch 6.1.469
|
Patch 6.1.469
|
||||||
Problem: 'listchars' cannot contain multi-byte characters.
|
Problem: 'listchars' cannot contain multibyte characters.
|
||||||
Solution: Handle multi-byte UTF-8 list characters. (Matthew Samsonoff)
|
Solution: Handle multibyte UTF-8 list characters. (Matthew Samsonoff)
|
||||||
Files: src/message.c, src/option.c, src/screen.c
|
Files: src/message.c, src/option.c, src/screen.c
|
||||||
|
|
||||||
Patch 6.1.470 (lang)
|
Patch 6.1.470 (lang)
|
||||||
@ -10009,7 +10009,7 @@ Files: nsis/gvim.nsi
|
|||||||
|
|
||||||
Patch 6.2.010
|
Patch 6.2.010
|
||||||
Problem: When 'virtualedit' is effective and a line starts with a
|
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
|
Solution: Obtain the right character to compute the column offset. (Taro
|
||||||
Muraoka)
|
Muraoka)
|
||||||
Files: src/charset.c
|
Files: src/charset.c
|
||||||
@ -10109,7 +10109,7 @@ Files: src/fileio.c
|
|||||||
|
|
||||||
Patch 6.2.027
|
Patch 6.2.027
|
||||||
Problem: Warning for uninitialized variable.
|
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
|
Files: src/message.c
|
||||||
|
|
||||||
Patch 6.2.028
|
Patch 6.2.028
|
||||||
@ -10271,15 +10271,15 @@ Files: src/osdef1.h.in
|
|||||||
Patch 6.2.054
|
Patch 6.2.054
|
||||||
Problem: A double-byte character with a second byte that is a backslash
|
Problem: A double-byte character with a second byte that is a backslash
|
||||||
causes problems inside a string.
|
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)
|
Matsumoto)
|
||||||
Files: src/eval.c
|
Files: src/eval.c
|
||||||
|
|
||||||
Patch 6.2.055
|
Patch 6.2.055
|
||||||
Problem: Using col('.') from CTRL-O in Insert mode does not return the
|
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
|
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
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 6.2.056 (extra)
|
Patch 6.2.056 (extra)
|
||||||
@ -10851,7 +10851,7 @@ Files: Makefile, src/Makefile, src/auto/configure, src/configure.in,
|
|||||||
|
|
||||||
Patch 6.2.143
|
Patch 6.2.143
|
||||||
Problem: Using "K" on Visually selected text doesn't work if it ends in
|
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)
|
Solution: Include all the bytes of the last character. (Taro Muraoka)
|
||||||
Files: src/normal.c
|
Files: src/normal.c
|
||||||
|
|
||||||
@ -11269,12 +11269,12 @@ Files: src/gui_w32.c, src/gui_w48.c
|
|||||||
Patch 6.2.206
|
Patch 6.2.206
|
||||||
Problem: Multi-byte characters cannot be used as hotkeys in a console
|
Problem: Multi-byte characters cannot be used as hotkeys in a console
|
||||||
dialog. (Mattias Erkisson)
|
dialog. (Mattias Erkisson)
|
||||||
Solution: Handle multi-byte characters properly. Also put () or [] around
|
Solution: Handle multibyte characters properly. Also put () or [] around
|
||||||
default hotkeys.
|
default hotkeys.
|
||||||
Files: src/message.c, src/macros.h
|
Files: src/message.c, src/macros.h
|
||||||
|
|
||||||
Patch 6.2.207
|
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
|
abbreviation that starts where insertion started results in
|
||||||
characters before the insertion to be deleted. (Xiangjiang Ma)
|
characters before the insertion to be deleted. (Xiangjiang Ma)
|
||||||
Solution: Stop searching leftwards for the start of the word at the position
|
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)
|
Patch 6.2.216 (after 6.2.206)
|
||||||
Problem: Multi-byte characters still cannot be used as hotkeys in a console
|
Problem: Multi-byte characters still cannot be used as hotkeys in a console
|
||||||
dialog. (Mattias Erkisson)
|
dialog. (Mattias Erkisson)
|
||||||
Solution: Make get_keystroke() handle multi-byte characters.
|
Solution: Make get_keystroke() handle multibyte characters.
|
||||||
Files: src/misc1.c
|
Files: src/misc1.c
|
||||||
|
|
||||||
Patch 6.2.217
|
Patch 6.2.217
|
||||||
@ -11710,7 +11710,7 @@ Files: src/gui.c
|
|||||||
Patch 6.2.269
|
Patch 6.2.269
|
||||||
Problem: Diff mode does not highlight a change in a combining character.
|
Problem: Diff mode does not highlight a change in a combining character.
|
||||||
(Raphael Finkel)
|
(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.
|
a character that contains a change.
|
||||||
Files: src/diff.c
|
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
|
Files: src/screen.c
|
||||||
|
|
||||||
Patch 6.2.390
|
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)
|
every other character. (Tyson Roberts)
|
||||||
Solution: Correct the cursor position after replacing each character.
|
Solution: Correct the cursor position after replacing each character.
|
||||||
Files: src/ops.c
|
Files: src/ops.c
|
||||||
@ -12745,7 +12745,7 @@ Solution: Also use the line number of the position where the region
|
|||||||
Files: src/syntax.c
|
Files: src/syntax.c
|
||||||
|
|
||||||
Patch 6.2.427 (extra)
|
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.
|
from 'termencoding' to 'encoding' may fail for some characters.
|
||||||
(Kuang-che Wu)
|
(Kuang-che Wu)
|
||||||
Solution: When there is an incomplete byte sequence at the end of the read
|
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
|
Patch 6.2.462
|
||||||
Problem: Finding a matching parenthesis does not correctly handle a
|
Problem: Finding a matching parenthesis does not correctly handle a
|
||||||
backslash in a trailing byte.
|
backslash in a trailing byte.
|
||||||
Solution: Handle multi-byte characters correctly. (Taro Muraoka)
|
Solution: Handle multibyte characters correctly. (Taro Muraoka)
|
||||||
Files: src/search.c
|
Files: src/search.c
|
||||||
|
|
||||||
Patch 6.2.463 (extra)
|
Patch 6.2.463 (extra)
|
||||||
@ -13015,7 +13015,7 @@ Solution: Redefine wcsicmp() to wcscmpi() and add type casts. (Yasuhiro
|
|||||||
Files: src/os_win32.c
|
Files: src/os_win32.c
|
||||||
|
|
||||||
Patch 6.2.467 (extra, after 6.2.463)
|
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.
|
Solution: Add #ifdefs around the info stream code.
|
||||||
Files: src/os_win32.c
|
Files: src/os_win32.c
|
||||||
|
|
||||||
@ -13183,8 +13183,8 @@ Solution: Allow using " " (two spaces) in 'paragraph' to match ".$" or
|
|||||||
Files: src/search.c
|
Files: src/search.c
|
||||||
|
|
||||||
Patch 6.2.491
|
Patch 6.2.491
|
||||||
Problem: Decrementing a position doesn't take care of multi-byte chars.
|
Problem: Decrementing a position doesn't take care of multibyte chars.
|
||||||
Solution: Adjust the column for multi-byte characters. Remove mb_dec().
|
Solution: Adjust the column for multibyte characters. Remove mb_dec().
|
||||||
(Yasuhiro Matsumoto)
|
(Yasuhiro Matsumoto)
|
||||||
Files: src/mbyte.c, src/misc2.c, src/proto/mbyte.pro
|
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
|
src/screen.c, src/syntax.c, src/vim.h
|
||||||
|
|
||||||
Patch 6.2.517
|
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
|
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
|
Solution: Adjust the operator end for the difference in byte length of the
|
||||||
original and the replaced character. Insert all bytes of a
|
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
|
Files: src/ops.c
|
||||||
|
|
||||||
Patch 6.2.518
|
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)
|
Solution: Call netbeans_inserted() after performing "~". (Gordon Prieur)
|
||||||
Also change NetBeans debugging to append to the log file.
|
Also change NetBeans debugging to append to the log file.
|
||||||
Also fix that "~" in Visual block mode changes too much if there
|
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
|
Files: src/nbdebug.c, src/normal.c, src/ops.c
|
||||||
|
|
||||||
Patch 6.2.529 (extra)
|
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
|
Files: src/gui_w32.c, src/gui_w48.c
|
||||||
|
|
||||||
Patch 6.3a.014
|
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)
|
to appear. (Helmut Stiegler)
|
||||||
Solution: Advance the column by text width instead of number of bytes. Add
|
Solution: Advance the column by text width instead of number of bytes. Add
|
||||||
the vim_strnsize() function.
|
the vim_strnsize() function.
|
||||||
@ -14040,19 +14040,19 @@ Solution: Correctly check that one character is being deleted.
|
|||||||
Files: src/misc1.c
|
Files: src/misc1.c
|
||||||
|
|
||||||
Patch 6.3.021
|
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.
|
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)
|
(Taro Muraoka)
|
||||||
Files: src/fileio.c
|
Files: src/fileio.c
|
||||||
|
|
||||||
Patch 6.3.022 (extra)
|
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
|
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 written. A trail byte that is a space makes that a file cannot
|
||||||
be opened from the command line.
|
be opened from the command line.
|
||||||
Solution: Recognize double-byte characters when parsing 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)
|
character. (Taro Muraoka)
|
||||||
Files: src/gui_w48.c, src/os_mswin.c
|
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
|
Files: src/option.c, runtime/doc/options.txt
|
||||||
|
|
||||||
Patch 6.3.046
|
Patch 6.3.046
|
||||||
Problem: ":registers" doesn't show multi-byte characters properly.
|
Problem: ":registers" doesn't show multibyte characters properly.
|
||||||
(Valery Kondakoff)
|
(Valery Kondakoff)
|
||||||
Solution: Get the length of each character before displaying it.
|
Solution: Get the length of each character before displaying it.
|
||||||
Files: src/ops.c
|
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
|
Files: src/misc1.c, src/main.c
|
||||||
|
|
||||||
Patch 6.3.051
|
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.
|
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
|
Files: src/screen.c
|
||||||
|
|
||||||
Patch 6.3.052 (extra)
|
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
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
Patch 6.3.056
|
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.
|
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)
|
like a path separator character. (Yasuhiro Matsumoto)
|
||||||
Files: src/buffer.c, src/ex_getln.c
|
Files: src/buffer.c, src/ex_getln.c
|
||||||
|
|
||||||
@ -14319,9 +14319,9 @@ Files: src/edit.c
|
|||||||
|
|
||||||
Patch 6.3.061
|
Patch 6.3.061
|
||||||
Problem: When editing a utf-8 file in an utf-8 xterm and there is a
|
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)
|
(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
|
Files: src/screen.c
|
||||||
|
|
||||||
Patch 6.3.062
|
Patch 6.3.062
|
||||||
@ -14384,7 +14384,7 @@ Files: src/edit.c
|
|||||||
Patch 6.3.072
|
Patch 6.3.072
|
||||||
Problem: Crash in giving substitute message when language is Chinese and
|
Problem: Crash in giving substitute message when language is Chinese and
|
||||||
encoding is utf-8. (Yongwei)
|
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
|
Files: src/vim.h
|
||||||
|
|
||||||
Patch 6.3.073
|
Patch 6.3.073
|
||||||
@ -14508,7 +14508,7 @@ Solution: Change "a" to "b". (Tony Mechelynck)
|
|||||||
Files: src/version.h
|
Files: src/version.h
|
||||||
|
|
||||||
Patch 6.4b.002
|
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.
|
the line leaves the cursor just before that character.
|
||||||
Solution: Make sure "gP" leaves the cursor in the right place when
|
Solution: Make sure "gP" leaves the cursor in the right place when
|
||||||
'virtualedit' is set.
|
'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
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -22,7 +22,7 @@ Vim script enhancements |new-vim-script|
|
|||||||
Spell checking |new-spell|
|
Spell checking |new-spell|
|
||||||
Omni completion |new-omni-completion|
|
Omni completion |new-omni-completion|
|
||||||
MzScheme interface |new-MzScheme|
|
MzScheme interface |new-MzScheme|
|
||||||
Printing multi-byte text |new-print-multi-byte|
|
Printing multibyte text |new-print-multibyte|
|
||||||
Tab pages |new-tab-pages|
|
Tab pages |new-tab-pages|
|
||||||
Undo branches |new-undo-branches|
|
Undo branches |new-undo-branches|
|
||||||
Extended Unicode support |new-more-unicode|
|
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.
|
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.
|
PostScript.
|
||||||
|
|
||||||
The 'printmbcharset' and 'printmbfont' options are used for this.
|
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: 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
|
This doesn't always work properly. If you see text drawing problems try
|
||||||
switching the 'macatsui' option off.
|
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"
|
Support setting 'filetype' and 'syntax' to "aaa.bbb" for "aaa" plus "bbb"
|
||||||
filetype or syntax.
|
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
|
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.
|
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|.
|
been added to |:substitute|. See |count-items|.
|
||||||
|
|
||||||
In a |:substitute| command the \u, \U, \l and \L items now also work for
|
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
|
The "screen.linux" $TERM name is recognized to set the default for
|
||||||
'background' to "dark". (Ciaran McCreesh) Also for "cygwin" and "putty".
|
'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
|
'cindent': When the argument of a #define looks like a C++ class the next line
|
||||||
is indented too much.
|
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
|
alignment may go wrong. 'cindent' also suffers from this for right-aligned
|
||||||
items.
|
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.
|
":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)
|
(Taro Muraoka)
|
||||||
|
|
||||||
Pasting with CTRL-V and menu didn't work properly when some commands are
|
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.
|
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)
|
text. (Yukihiro Nakadaira)
|
||||||
|
|
||||||
":s/\n/,/" doubled the text when used on the last line.
|
":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.
|
":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)
|
found. (Yukihiro Nakadaira)
|
||||||
|
|
||||||
":mkspell" didn't work correctly for non-ASCII affix flags when conversion is
|
":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
|
Fixed a crash when editing a directory in diff mode. Don't trigger
|
||||||
autocommands when executing the diff command.
|
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.
|
typing a special key.
|
||||||
|
|
||||||
When 'foldignore' is set the folds were not updated right away.
|
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)
|
windows. (Servatius Brandt)
|
||||||
|
|
||||||
Expanding <cWORD> on a trailing blank resulted in the first word in the line
|
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
|
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.
|
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.
|
specific situation.
|
||||||
|
|
||||||
After completing the longest match "." didn't insert the same text. Repeating
|
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
|
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
|
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
|
Motif: building failed when Xm/Notebook.h doesn't exist. Added a configure
|
||||||
check, disable GUI tabline when it's missing.
|
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.
|
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 'guitabtooltip'. Implemented for Win32 (Yegappan Lakshmanan).
|
||||||
|
|
||||||
Added "throw" to 'debug' option: throw an exception for error messages even
|
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
|
When 'keymap' is set and a line contains an invalid entry could get a "No
|
||||||
mapping found" warning instead of a proper error message.
|
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.
|
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.
|
work.
|
||||||
|
|
||||||
When 'virtualedit' contains "onemore" CTRL-O in Insert mode still moved the
|
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
|
Files: src/main.c
|
||||||
|
|
||||||
Patch 7.0.053
|
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.
|
characters.
|
||||||
Solution: Copy the correct bytes. (Titov Anatoly)
|
Solution: Copy the correct bytes. (Titov Anatoly)
|
||||||
Files: src/misc1.c
|
Files: src/misc1.c
|
||||||
@ -3621,7 +3621,7 @@ Solution: Remove the "-pipe" argument from PERL_CFLAGS.
|
|||||||
Files: src/auto/configure, src/configure.in
|
Files: src/auto/configure, src/configure.in
|
||||||
|
|
||||||
Patch 7.0.089
|
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)
|
Solution: Only check for composing chars for utf-8. (Taro Muraoka)
|
||||||
Files: src/ex_cmds.c
|
Files: src/ex_cmds.c
|
||||||
|
|
||||||
@ -3859,7 +3859,7 @@ Solution: Set ins_need_undo after using 'formatexpr'.
|
|||||||
Files: src/edit.c
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.0.127
|
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.
|
Solution: Check return value of ctime() for being NULL.
|
||||||
Files: src/memline.c
|
Files: src/memline.c
|
||||||
|
|
||||||
@ -4224,7 +4224,7 @@ Files: src/if_cscope.c
|
|||||||
Patch 7.0.185
|
Patch 7.0.185
|
||||||
Problem: Multi-byte characters in a message are displayed with attributes
|
Problem: Multi-byte characters in a message are displayed with attributes
|
||||||
from what comes before it.
|
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)
|
attributes for special characters. (Yukihiro Nakadaira)
|
||||||
Files: src/message.c
|
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
|
Files: src/Make_mvc.mak, src/eval.c, src/gvim.exe.mnf, src/misc2.c
|
||||||
|
|
||||||
Patch 7.0.199
|
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.
|
formatting may result in a wrong cursor position.
|
||||||
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
|
Solution: Don't decrement the cursor column, use dec_cursor(). (Yukihiro
|
||||||
Nakadaira) Also check for the column to be zero.
|
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
|
Files: src/normal.c
|
||||||
|
|
||||||
Patch 7.1.185
|
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
|
characters onto the replace stack incorrectly, resulting in BS
|
||||||
putting back the wrong characters. (Paul B. Mahol)
|
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().
|
order. Add replace_push_mb().
|
||||||
Files: src/edit.c, src/misc1.c, src/proto/edit.pro
|
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
|
Patch 7.1.220
|
||||||
Problem: When a ")" or word movement command moves the cursor back from the
|
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.
|
character. It's also moved back when it isn't needed.
|
||||||
Solution: Add the adjust_cursor() function.
|
Solution: Add the adjust_cursor() function.
|
||||||
Files: src/normal.c
|
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
|
before the end of the word. Latin2 has the same sharp s but it's
|
||||||
not changed to SS there.
|
not changed to SS there.
|
||||||
Solution: Make sure all the characters are operated upon. Detect the sharp
|
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.
|
character that changes the byte count doesn't always work.
|
||||||
Files: src/ops.c
|
Files: src/ops.c
|
||||||
|
|
||||||
@ -6757,9 +6757,9 @@ Solution: Use separate buffer for posix path. (Ben Schmidt)
|
|||||||
Files: src/os_unix.c
|
Files: src/os_unix.c
|
||||||
|
|
||||||
Patch 7.1.329
|
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.
|
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)
|
(Yukihiro Nakadaira)
|
||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
@ -6771,7 +6771,7 @@ Files: src/misc1.c
|
|||||||
|
|
||||||
Warning for missing sentinel in gui_xmldlg.c. (Dominique Pelle)
|
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)
|
characters. (Yukihiro Nakadaira)
|
||||||
|
|
||||||
When displaying the value of 'key' don't show "*****" when the value is empty.
|
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.
|
depended on MSWIN, which isn't defined until later.
|
||||||
|
|
||||||
Patch 7.2b.001
|
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.
|
but without GUI or clipboard.
|
||||||
Solution: Remove #ifdef.
|
Solution: Remove #ifdef.
|
||||||
Files: src/mbyte.c
|
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
|
Files: src/gui.c
|
||||||
|
|
||||||
Patch 7.2.066
|
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').
|
Solution: Add has('multi_byte_encoding').
|
||||||
Files: runtime/doc/eval.txt, src/eval.c
|
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
|
Files: src/if_ole.cpp, src/gui_w48.c
|
||||||
|
|
||||||
Patch 7.2.090
|
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)
|
properly. (Yasuhiro Matsumoto)
|
||||||
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
|
Solution: Undo replacement of K_SPECIAL and CSI characters when executing
|
||||||
the command.
|
the command.
|
||||||
@ -7967,7 +7967,7 @@ Files: src/eval.c
|
|||||||
|
|
||||||
Patch 7.2.093 (extra)
|
Patch 7.2.093 (extra)
|
||||||
Problem: Win32: inputdialog() and find/replace dialogs can't handle
|
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
|
Solution: Use the wide version of dialog functions when available. (Yanwei
|
||||||
Jia)
|
Jia)
|
||||||
Files: src/gui_w32.c, src/gui_w48.c
|
Files: src/gui_w32.c, src/gui_w48.c
|
||||||
@ -8062,8 +8062,8 @@ Solution: Add #ifdef.
|
|||||||
Files: src/option.c
|
Files: src/option.c
|
||||||
|
|
||||||
Patch 7.2.109
|
Patch 7.2.109
|
||||||
Problem: 'langmap' does not work for multi-byte characters.
|
Problem: 'langmap' does not work for multibyte characters.
|
||||||
Solution: Add a list of mapped multi-byte characters. (based on work by
|
Solution: Add a list of mapped multibyte characters. (based on work by
|
||||||
Konstantin Korikov, Agathoklis Hatzimanikas)
|
Konstantin Korikov, Agathoklis Hatzimanikas)
|
||||||
Files: runtime/doc/options.txt, src/edit.c, src/getchar.c, src/macros.h,
|
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
|
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
|
Files: src/auto/configure, src/configure.in
|
||||||
|
|
||||||
Patch 7.2.252
|
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.
|
contain characters above 128.
|
||||||
Solution: Use mb_ptr2char_adv().
|
Solution: Use mb_ptr2char_adv().
|
||||||
Files: src/charset.c
|
Files: src/charset.c
|
||||||
@ -9053,7 +9053,7 @@ Files: src/memline.c
|
|||||||
Patch 7.2.276
|
Patch 7.2.276
|
||||||
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
|
Problem: Crash when setting 'isprint' to a small bullet. (Raul Coronado)
|
||||||
Solution: Check for the character to be < 256. Also make it possible to
|
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
|
Files: src/charset.c
|
||||||
|
|
||||||
Patch 7.2.277
|
Patch 7.2.277
|
||||||
@ -9144,7 +9144,7 @@ Solution: Use utfc_ptr2char_len() rather than utfc_ptr2char(). (Dominique
|
|||||||
Files: src/screen.c
|
Files: src/screen.c
|
||||||
|
|
||||||
Patch 7.2.292
|
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.
|
and 'list' set.
|
||||||
Solution: Add the missing "else". (Lech Lorens)
|
Solution: Add the missing "else". (Lech Lorens)
|
||||||
Files: src/ops.c
|
Files: src/ops.c
|
||||||
@ -9430,7 +9430,7 @@ Files: src/screen.c
|
|||||||
|
|
||||||
Patch 7.2.342
|
Patch 7.2.342
|
||||||
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
|
Problem: Popup menu displayed wrong in 'rightleft' mode when there are
|
||||||
multi-byte characters.
|
multibyte characters.
|
||||||
Solution: Adjust the column computations. (Dominique Pelle)
|
Solution: Adjust the column computations. (Dominique Pelle)
|
||||||
Files: src/popupmnu.c
|
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
|
Fix: :redir to a dictionary that is changed before ":redir END" causes a
|
||||||
memory access error.
|
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)
|
characters. (partly by James Vega)
|
||||||
|
|
||||||
Set 'wrapscan' when checking the .po files. (Mike Williams)
|
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.
|
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.
|
following text to be drawn at the wrong position.
|
||||||
|
|
||||||
Got ml_get errors when using undo with 'virtualedit'.
|
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
|
Files: src/eval.c, src/testdir/Makefile, src/testdir/test61.in
|
||||||
|
|
||||||
Patch 7.3.006
|
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)
|
Solution: Move code to after declarations. (Joachim Schmitz)
|
||||||
Files: src/mbyte.c, src/spell.c
|
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
|
Files: src/misc1.c, src/getchar.c
|
||||||
|
|
||||||
Patch 7.3.138
|
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)
|
Solution: Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
|
||||||
Files: src/ex_docmd.c
|
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
|
src/option.h, src/structs.h, src/version.c, src/pty.c, Filelist
|
||||||
|
|
||||||
Patch 7.3.192
|
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)
|
(Dominique Pelle)
|
||||||
Solution: Advance over whole character instead of one byte.
|
Solution: Advance over whole character instead of one byte.
|
||||||
Files: src/ex_cmds.c
|
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
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
Patch 7.3.283
|
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)
|
0x80 byte gets messed up. (ZyX)
|
||||||
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
|
Solution: Unescape the expression before evaluating it (Yukihiro Nakadaira)
|
||||||
Files: src/getchar.c
|
Files: src/getchar.c
|
||||||
|
|
||||||
Patch 7.3.284
|
Patch 7.3.284
|
||||||
Problem: The str2special() function doesn't handle multi-byte characters
|
Problem: The str2special() function doesn't handle multibyte characters
|
||||||
properly.
|
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
|
Files: src/getchar.c, src/message.c, src/misc2.c
|
||||||
|
|
||||||
Patch 7.3.285 (after 7.3.284)
|
Patch 7.3.285 (after 7.3.284)
|
||||||
@ -12112,7 +12112,7 @@ Solution: Adjust the style. (Elias Diem)
|
|||||||
Files: src/gui_photon.c
|
Files: src/gui_photon.c
|
||||||
|
|
||||||
Patch 7.3.300
|
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)
|
Solution: Use "t" instead of "s". (lilydjwg)
|
||||||
Files: src/if_py_both.h
|
Files: src/if_py_both.h
|
||||||
|
|
||||||
@ -12270,7 +12270,7 @@ Files: src/ex_cmds.c
|
|||||||
|
|
||||||
Patch 7.3.328
|
Patch 7.3.328
|
||||||
Problem: When command line wraps the cursor may be displayed wrong when
|
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)
|
Solution: Position the cursor before drawing the text. (Yasuhiro Matsumoto)
|
||||||
Files: src/ex_getln.c
|
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
|
Files: src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
|
||||||
|
|
||||||
Patch 7.3.521
|
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.
|
Solution: Don't use strlen() on an int pointer.
|
||||||
Files: src/spell.c
|
Files: src/spell.c
|
||||||
|
|
||||||
@ -13475,7 +13475,7 @@ Files: src/quickfix.c, src/testdir/test10.in, src/testdir/test10.ok
|
|||||||
|
|
||||||
Patch 7.3.539
|
Patch 7.3.539
|
||||||
Problem: Redrawing a character on the command line does not work properly
|
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)
|
Solution: Count the number of bytes in a character. (Yukihiro Nakadaira)
|
||||||
Files: src/ex_getln.c
|
Files: src/ex_getln.c
|
||||||
|
|
||||||
@ -13854,7 +13854,7 @@ Solution: Add #ifdef for MEMORYSTATUSEX.
|
|||||||
Files: src/os_win32.c
|
Files: src/os_win32.c
|
||||||
|
|
||||||
Patch 7.3.606
|
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)
|
Solution: Check for next character being NUL properly. (Yasuhiro Matsumoto)
|
||||||
Files: src/search.c, src/macros.h
|
Files: src/search.c, src/macros.h
|
||||||
|
|
||||||
@ -14190,7 +14190,7 @@ Files: src/ex_docmd.c
|
|||||||
|
|
||||||
Patch 7.3.664
|
Patch 7.3.664
|
||||||
Problem: Buffer overflow in unescaping text. (Raymond Ko)
|
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
|
Files: src/mbyte.c
|
||||||
|
|
||||||
Patch 7.3.665
|
Patch 7.3.665
|
||||||
@ -14357,8 +14357,8 @@ Solution: Add the shiftwidth() function. (so8res)
|
|||||||
Files: runtime/doc/eval.txt, src/eval.c
|
Files: runtime/doc/eval.txt, src/eval.c
|
||||||
|
|
||||||
Patch 7.3.695
|
Patch 7.3.695
|
||||||
Problem: Balloon cannot show multi-byte text.
|
Problem: Balloon cannot show multibyte text.
|
||||||
Solution: Properly deal with multi-byte characters. (Dominique Pelle)
|
Solution: Properly deal with multibyte characters. (Dominique Pelle)
|
||||||
Files: src/gui_beval.c, src/ui.c
|
Files: src/gui_beval.c, src/ui.c
|
||||||
|
|
||||||
Patch 7.3.696
|
Patch 7.3.696
|
||||||
@ -14656,7 +14656,7 @@ Files: runtime/doc/eval.txt, src/eval.c, src/proto/screen.pro,
|
|||||||
src/testdir/test88.ok,
|
src/testdir/test88.ok,
|
||||||
|
|
||||||
Patch 7.3.749
|
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)
|
Solution: Add #ifdef. (Ken Takata)
|
||||||
Files: src/if_py_both.h
|
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
|
Files: src/edit.c
|
||||||
|
|
||||||
Patch 7.3.769
|
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)
|
Solution: Make it work. (Christian Brabandt)
|
||||||
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
|
Files: src/misc1.c, src/option.c, src/proto/option.pro, src/search.c,
|
||||||
src/testdir/test69.in, src/testdir/test69.ok
|
src/testdir/test69.in, src/testdir/test69.ok
|
||||||
@ -15182,9 +15182,9 @@ Solution: Add lines for new files.
|
|||||||
Files: Filelist
|
Files: Filelist
|
||||||
|
|
||||||
Patch 7.3.840
|
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.
|
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
|
Files: src/regexp.c
|
||||||
|
|
||||||
Patch 7.3.841
|
Patch 7.3.841
|
||||||
@ -15254,7 +15254,7 @@ Solution: Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
|
|||||||
Files: src/ui.c, src/ops.c
|
Files: src/ui.c, src/ops.c
|
||||||
|
|
||||||
Patch 7.3.853
|
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.
|
characters not replaced.
|
||||||
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
Solution: Adjust the end column only in the last line. (Yasuhiro Matsumoto)
|
||||||
Files: src/testdir/test69.in, src/testdir/test69.ok, src/ops.c
|
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
|
Files: src/misc1.c
|
||||||
|
|
||||||
Patch 7.3.856
|
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)
|
Solution: Save and restore the clipboard contents. (Yukihiro Nakadaira)
|
||||||
Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/ops.c,
|
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
|
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
|
src/testdir/test80.in, src/testdir/test80.ok
|
||||||
|
|
||||||
Patch 7.3.874
|
Patch 7.3.874
|
||||||
Problem: Comparing file names does not handle multi-byte characters
|
Problem: Comparing file names does not handle multibyte characters
|
||||||
properly.
|
properly.
|
||||||
Solution: Implement multi-byte handling.
|
Solution: Implement multibyte handling.
|
||||||
Files: src/misc1.c, src/misc2.c
|
Files: src/misc1.c, src/misc2.c
|
||||||
|
|
||||||
Patch 7.3.875 (after 7.3.866)
|
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
|
Files: src/if_lua.c
|
||||||
|
|
||||||
Patch 7.3.886
|
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)
|
Solution: Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
|
||||||
Files: src/ui.c
|
Files: src/ui.c
|
||||||
|
|
||||||
@ -15457,7 +15457,7 @@ Files: src/testdir/test94.in, src/testdir/test94.ok,
|
|||||||
|
|
||||||
Patch 7.3.888
|
Patch 7.3.888
|
||||||
Problem: Filename completion with 'fileignorecase' does not work for
|
Problem: Filename completion with 'fileignorecase' does not work for
|
||||||
multi-byte characters.
|
multibyte characters.
|
||||||
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
Solution: Make 'fileignorecase' work properly. (Hirohito Higashi)
|
||||||
Files: src/misc2.c
|
Files: src/misc2.c
|
||||||
|
|
||||||
@ -15933,7 +15933,7 @@ Files: src/if_py_both.h
|
|||||||
Patch 7.3.968
|
Patch 7.3.968
|
||||||
Problem: Multi-byte support is only available when compiled with "big"
|
Problem: Multi-byte support is only available when compiled with "big"
|
||||||
features.
|
features.
|
||||||
Solution: Include multi-byte by default, with "normal" features.
|
Solution: Include multibyte by default, with "normal" features.
|
||||||
Files: src/feature.h
|
Files: src/feature.h
|
||||||
|
|
||||||
Patch 7.3.969
|
Patch 7.3.969
|
||||||
@ -16009,19 +16009,19 @@ Files: src/regexp_nfa.c
|
|||||||
|
|
||||||
Patch 7.3.980
|
Patch 7.3.980
|
||||||
Problem: Regexp logs may contain garbage. Character classes don't work
|
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
|
Solution: Check for end of post list. Only use "is" functions for
|
||||||
characters up to 255. (Ken Takata)
|
characters up to 255. (Ken Takata)
|
||||||
Files: src/regexp_nfa.c
|
Files: src/regexp_nfa.c
|
||||||
|
|
||||||
Patch 7.3.981
|
Patch 7.3.981
|
||||||
Problem: In the old regexp engine \i, \I, \f and \F don't work on
|
Problem: In the old regexp engine \i, \I, \f and \F don't work on
|
||||||
multi-byte characters.
|
multibyte characters.
|
||||||
Solution: Dereference pointer properly.
|
Solution: Dereference pointer properly.
|
||||||
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
|
Files: src/regexp.c, src/testdir/test64.in, src/testdir/test64.ok
|
||||||
|
|
||||||
Patch 7.3.982
|
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.
|
characters.
|
||||||
Solution: Don't point to an integer but the characters.
|
Solution: Don't point to an integer but the characters.
|
||||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
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
|
Patch 7.3.1008
|
||||||
Problem: Test 95 fails on MS-Windows.
|
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)
|
something that is not matching \i. (Ken Takata)
|
||||||
Files: src/testdir/test95.in, src/testdir/test95.ok
|
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
|
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
||||||
|
|
||||||
Patch 7.3.1011
|
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
|
Solution: Handle a character at a time instead of a byte at a time. Also
|
||||||
make \Z partly work.
|
make \Z partly work.
|
||||||
Files: src/regexp_nfa.c, src/testdir/test95.in, src/testdir/test95.ok
|
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
|
src/regexp.h
|
||||||
|
|
||||||
Patch 7.3.1034
|
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.
|
Solution: Use the normal code to advance and backup pointers.
|
||||||
Files: src/regexp_nfa.c
|
Files: src/regexp_nfa.c
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
*vi_diff.txt* For Vim version 8.2. Last change: 2020 Jun 07
|
*vi_diff.txt* For Vim version 8.2. Last change: 2020 Aug 15
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -467,7 +467,7 @@ Editing binary files. |edit-binary|
|
|||||||
last line in the file.
|
last line in the file.
|
||||||
|
|
||||||
Multi-language support. |multi-lang|
|
Multi-language support. |multi-lang|
|
||||||
Files in double-byte or multi-byte encodings can be edited. There is
|
Files in double-byte or multibyte encodings can be edited. There is
|
||||||
UTF-8 support to be able to edit various languages at the same time,
|
UTF-8 support to be able to edit various languages at the same time,
|
||||||
without switching fonts. |UTF-8|
|
without switching fonts. |UTF-8|
|
||||||
Messages and menus are available in different languages.
|
Messages and menus are available in different languages.
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user