mirror of
https://github.com/vim/vim
synced 2025-07-18 10:11:58 +00:00
Compare commits
359 Commits
Author | SHA1 | Date | |
---|---|---|---|
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
|
||||||
|
227
.github/workflows/ci-windows.yaml
vendored
Normal file
227
.github/workflows/ci-windows.yaml
vendored
Normal file
@ -0,0 +1,227 @@
|
|||||||
|
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: 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
|
||||||
|
|
||||||
|
mkdir ..\src2
|
||||||
|
xcopy testdir ..\src2\testdir\ /E > nul || exit 1
|
||||||
|
copy evalfunc.c ..\src2 > nul
|
||||||
|
|
||||||
|
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
|
||||||
|
)
|
52
.travis.yml
52
.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 CONFOPT="--disable-gui"
|
||||||
- &tiny
|
- &tiny
|
||||||
BUILD=yes TEST=test FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=tiny
|
||||||
- &small
|
- &small
|
||||||
BUILD=yes TEST=test FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
FEATURES=small
|
||||||
- &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"
|
||||||
@ -87,7 +93,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 +197,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 +214,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 +248,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
|
||||||
|
10
Filelist
10
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 \
|
||||||
@ -68,6 +69,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 +77,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 \
|
||||||
@ -168,6 +172,7 @@ 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 \
|
||||||
@ -239,14 +244,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 \
|
||||||
@ -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 \
|
||||||
|
|
||||||
|
@ -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,9 +91,9 @@ 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.
|
||||||
@ -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
|
||||||
|
@ -19,8 +19,6 @@ src/os_dos.* Files for the MS-DOS port.
|
|||||||
src/gui_mac.*
|
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 ..
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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}".
|
||||||
|
@ -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 Jul 26
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
|
@ -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 Jul 27
|
||||||
|
|
||||||
|
|
||||||
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.
|
||||||
|
@ -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 Jul 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -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 07
|
||||||
|
|
||||||
|
|
||||||
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.
|
||||||
@ -1993,6 +1994,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
|
||||||
@ -2511,13 +2514,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
|
||||||
@ -2756,12 +2761,15 @@ 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})
|
||||||
@ -2826,7 +2834,7 @@ stridx({haystack}, {needle} [, {start}])
|
|||||||
string({expr}) String String representation of {expr} value
|
string({expr}) String String representation of {expr} value
|
||||||
strlen({expr}) Number length of the String {expr}
|
strlen({expr}) Number length of the String {expr}
|
||||||
strpart({str}, {start} [, {len}])
|
strpart({str}, {start} [, {len}])
|
||||||
String {len} characters of {str} at {start}
|
String {len} bytes 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 +3039,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 +3062,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)
|
||||||
|
|
||||||
|
|
||||||
@ -3635,7 +3645,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 +3907,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 +4273,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 +4846,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 +4861,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 +4870,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 +4881,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 +4895,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 +4935,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 +5041,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 +5417,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 +5439,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 +5491,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
|
||||||
@ -5679,12 +5711,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 +5744,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:".
|
||||||
@ -5767,16 +5799,16 @@ gettagstack([{nr}]) *gettagstack()*
|
|||||||
GetWinnr()->gettagstack()
|
GetWinnr()->gettagstack()
|
||||||
|
|
||||||
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 +5836,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 +5891,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 +5954,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,
|
||||||
@ -7281,7 +7313,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 +7384,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 +8046,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 +8295,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 +8432,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 +8597,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 +8679,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 +8710,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)
|
||||||
|
|
||||||
|
|
||||||
@ -8999,6 +9032,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 +9112,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 +9149,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 +9190,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 +9222,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 +9258,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 +9334,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 +9735,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 +9922,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.
|
||||||
|
|
||||||
@ -10096,7 +10134,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 +10213,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 +10258,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
|
||||||
@ -10482,7 +10520,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 +10754,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 +10966,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
|
||||||
@ -11678,7 +11716,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 +12131,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}
|
||||||
|
@ -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
|
||||||
|
@ -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 @@
|
|||||||
*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,7 +199,7 @@ 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
|
||||||
|
@ -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 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -843,11 +843,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 +1167,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
|
||||||
|
@ -128,7 +128,7 @@ There are several ways to enter multi-byte characters:
|
|||||||
- 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
|
||||||
@ -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
|
||||||
|
@ -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 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1951,9 +1951,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 +2715,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
|
||||||
@ -2747,9 +2754,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.
|
||||||
@ -4133,7 +4141,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 +4250,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()
|
||||||
@ -5911,7 +5919,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.
|
||||||
@ -6730,7 +6739,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 +7717,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")
|
||||||
@ -8366,7 +8374,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.
|
||||||
@ -8905,7 +8913,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 Jul 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -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 @@
|
|||||||
*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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -642,7 +642,7 @@ 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 ones he wants with
|
||||||
`:packadd`.
|
`:packadd`.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ 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
|
||||||
|
@ -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 Jul 10
|
||||||
|
|
||||||
|
|
||||||
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
|
||||||
|
@ -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 Jul 28
|
||||||
|
|
||||||
|
|
||||||
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: >
|
||||||
@ -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.
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 /*:?*
|
||||||
@ -3647,6 +3648,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>*
|
||||||
@ -3894,9 +3896,11 @@ 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*
|
||||||
@ -4698,6 +4702,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*
|
||||||
@ -5739,6 +5744,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-^*
|
||||||
@ -8196,6 +8202,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*
|
||||||
@ -8819,7 +8826,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()*
|
||||||
@ -10002,6 +10011,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 Jul 11
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -264,7 +264,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()*
|
||||||
@ -294,8 +295,23 @@ assert_exception({error} [, {msg}]) *assert_exception()*
|
|||||||
|
|
||||||
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
|
||||||
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:'])
|
||||||
|
<
|
||||||
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.
|
||||||
|
|
||||||
|
@ -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 05
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -38,23 +38,38 @@ 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 ?
|
|
||||||
|
|
||||||
See if resizing a terminal can be fixed.
|
|
||||||
|
|
||||||
Vim9 script:
|
|
||||||
Making everything work:
|
Making everything work:
|
||||||
- Error for "g:var: string = 'value'"
|
|
||||||
- Make func()->append('$') work - value is last argument, not first. #6305
|
|
||||||
- possible memory leak in test_vim9_func through compile_nested_function.
|
|
||||||
- memory leaks in test_vim9_expr
|
|
||||||
- memory leaks in test_vim9_script
|
|
||||||
- more return types depending on the first argument, like sort().
|
|
||||||
- Check that when sourcing a Vim9 script, only the global items can be used.
|
- Check that when sourcing a Vim9 script, only the global items can be used.
|
||||||
- Make "true" and "false" work in vim9script
|
- Make string indexes character indexes instead of byte indexes. (#6574)
|
||||||
|
explain how to use byte index when needed. Use blob?
|
||||||
|
- :put with a "=" register argument doesn't work, need to find the expression
|
||||||
|
and compile it. (#6397)
|
||||||
|
- At the script level, keep script variables local to the block they are
|
||||||
|
declared in? Need to remember what variables were declared and delete them
|
||||||
|
when leaving the block.
|
||||||
|
- Implement { } block at the script level.
|
||||||
|
- 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 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.
|
||||||
|
- Implement "export {one, two three}".
|
||||||
|
- ISN_CHECKTYPE could use check_argtype()
|
||||||
|
- Slice of list: [1, 2, 3][1:2].
|
||||||
|
- 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.
|
||||||
@ -68,15 +83,12 @@ Making everything work:
|
|||||||
- 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,6 +99,7 @@ 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.
|
||||||
@ -134,18 +147,16 @@ 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.
|
||||||
|
- 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 +170,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 +201,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 +212,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
|
||||||
@ -240,12 +254,17 @@ Terminal emulator window:
|
|||||||
conversions.
|
conversions.
|
||||||
|
|
||||||
Error numbers available:
|
Error numbers available:
|
||||||
E489, E610, E611, E653, E856
|
E610, E611, E653
|
||||||
|
|
||||||
|
Clean up empty entries in testdir/Make_all.mak
|
||||||
|
|
||||||
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 collaction based sorting. (Christian Brabandt, #6229)
|
||||||
|
|
||||||
|
Add 'termguiattr' option, use "gui=" attributes in the terminal? Would work
|
||||||
|
with 'termguicolors'. #1740
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
@ -271,11 +290,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 +339,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 +363,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 +385,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)
|
||||||
|
|
||||||
@ -378,10 +428,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 +541,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 +623,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 +1100,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)
|
||||||
@ -1199,8 +1239,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
|
||||||
@ -1393,8 +1433,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 +1441,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 +1452,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 +1470,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 +1480,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 +1539,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 +1571,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)
|
||||||
|
|
||||||
@ -1723,8 +1741,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 +1767,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 +1826,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 +1888,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 +1927,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 +1966,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 +2109,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.
|
||||||
@ -2281,9 +2297,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 +2491,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.
|
||||||
@ -2684,10 +2700,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)
|
||||||
|
|
||||||
@ -3257,7 +3269,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 +3306,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 +3483,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 +3521,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 +3617,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
|
||||||
@ -3846,8 +3842,6 @@ Macintosh:
|
|||||||
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 he has to delete the files.
|
||||||
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!):
|
||||||
@ -4082,8 +4076,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)
|
||||||
@ -4458,8 +4450,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 +4680,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
|
||||||
@ -5692,7 +5680,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.
|
||||||
@ -5979,9 +5967,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
|
||||||
|
@ -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:
|
||||||
|
@ -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: >
|
||||||
@ -2108,7 +2108,7 @@ 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 was also map <SID>Add, it would 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
|
||||||
|
@ -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 Jul 10
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilg
|
|||||||
{kommando} fortolkes som en Ex-kommando.
|
{kommando} fortolkes som en Ex-kommando.
|
||||||
Hvis {kommando} indeholder mellemrum, s<> skal den omsluttes af
|
Hvis {kommando} indeholder mellemrum, s<> skal den omsluttes af
|
||||||
dobbelte citationstegn (det afh<66>nger af den skal der bruges).
|
dobbelte citationstegn (det afh<66>nger af den skal der bruges).
|
||||||
Eksempel: Vim "+set si" main.c
|
Eksempel: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Bem<EFBFBD>rk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
|
Bem<EFBFBD>rk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
|
||||||
.TP
|
.TP
|
||||||
|
@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilgængelige søgemønstre.
|
|||||||
{kommando} fortolkes som en Ex-kommando.
|
{kommando} fortolkes som en Ex-kommando.
|
||||||
Hvis {kommando} indeholder mellemrum, så skal den omsluttes af
|
Hvis {kommando} indeholder mellemrum, så skal den omsluttes af
|
||||||
dobbelte citationstegn (det afhænger af den skal der bruges).
|
dobbelte citationstegn (det afhænger af den skal der bruges).
|
||||||
Eksempel: Vim "+set si" main.c
|
Eksempel: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Bemærk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
|
Bemærk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
|
||||||
.TP
|
.TP
|
||||||
|
@ -156,7 +156,7 @@ Ex
|
|||||||
{commande} est interpr<70>t<EFBFBD>e comme une commande Ex.
|
{commande} est interpr<70>t<EFBFBD>e comme une commande Ex.
|
||||||
Si la {commande} contient des espaces, elle doit <20>tre entour<75>e
|
Si la {commande} contient des espaces, elle doit <20>tre entour<75>e
|
||||||
de doubles-apostrophes (cela d<>pend du shell utilis<69>).
|
de doubles-apostrophes (cela d<>pend du shell utilis<69>).
|
||||||
Exemple : Vim "+set si" main.c
|
Exemple : vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Note : vous pouvez utiliser jusqu'<27> 10 commandes "+" ou "\-c".
|
Note : vous pouvez utiliser jusqu'<27> 10 commandes "+" ou "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -156,7 +156,7 @@ Exécute {commande} après la lecture du premier fichier.
|
|||||||
{commande} est interprétée comme une commande Ex.
|
{commande} est interprétée comme une commande Ex.
|
||||||
Si la {commande} contient des espaces, elle doit être entourée
|
Si la {commande} contient des espaces, elle doit être entourée
|
||||||
de doubles-apostrophes (cela dépend du shell utilisé).
|
de doubles-apostrophes (cela dépend du shell utilisé).
|
||||||
Exemple : Vim "+set si" main.c
|
Exemple : vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
|
Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -150,7 +150,7 @@ primo file
|
|||||||
{comando} <20> interpretato come un comando Ex.
|
{comando} <20> interpretato come un comando Ex.
|
||||||
Se il {comando} contiene spazi deve essere incluso fra doppi apici
|
Se il {comando} contiene spazi deve essere incluso fra doppi apici
|
||||||
(o altro delimitatore, a seconda della shell che si sta usando).
|
(o altro delimitatore, a seconda della shell che si sta usando).
|
||||||
Esempio: Vim "+set si" main.c
|
Esempio: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Note: Si possono avere fino a 10 comandi "+" o "\-c".
|
Note: Si possono avere fino a 10 comandi "+" o "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -150,7 +150,7 @@ primo file è stato letto.
|
|||||||
{comando} è interpretato come un comando Ex.
|
{comando} è interpretato come un comando Ex.
|
||||||
Se il {comando} contiene spazi deve essere incluso fra doppi apici
|
Se il {comando} contiene spazi deve essere incluso fra doppi apici
|
||||||
(o altro delimitatore, a seconda della shell che si sta usando).
|
(o altro delimitatore, a seconda della shell che si sta usando).
|
||||||
Esempio: Vim "+set si" main.c
|
Esempio: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Note: Si possono avere fino a 10 comandi "+" o "\-c".
|
Note: Si possono avere fino a 10 comandi "+" o "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -150,7 +150,7 @@ wzorce wyszukiwania.
|
|||||||
{polecenie} jest interpretowane jako polecenie Ex.
|
{polecenie} jest interpretowane jako polecenie Ex.
|
||||||
Je<EFBFBD>li {poleceni} zawiera bia<69>e znaki musi by<62> umieszczone w podw<64>jnych
|
Je<EFBFBD>li {poleceni} zawiera bia<69>e znaki musi by<62> umieszczone w podw<64>jnych
|
||||||
cudzys<EFBFBD>owach (zale<6C>y to od u<>ywanej pow<6F>oki).
|
cudzys<EFBFBD>owach (zale<6C>y to od u<>ywanej pow<6F>oki).
|
||||||
Przyk<EFBFBD>ad: Vim "+set si" main.c
|
Przyk<EFBFBD>ad: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Uwaga: Mo<4D>na u<>y<EFBFBD> do 10 polece<63> "+" lub "\-c".
|
Uwaga: Mo<4D>na u<>y<EFBFBD> do 10 polece<63> "+" lub "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -150,7 +150,7 @@ wzorce wyszukiwania.
|
|||||||
{polecenie} jest interpretowane jako polecenie Ex.
|
{polecenie} jest interpretowane jako polecenie Ex.
|
||||||
Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych
|
Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych
|
||||||
cudzysłowach (zależy to od używanej powłoki).
|
cudzysłowach (zależy to od używanej powłoki).
|
||||||
Przykład: Vim "+set si" main.c
|
Przykład: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Uwaga: Można użyć do 10 poleceń "+" lub "\-c".
|
Uwaga: Można użyć do 10 poleceń "+" lub "\-c".
|
||||||
.TP
|
.TP
|
||||||
|
@ -145,7 +145,7 @@ Kullan
|
|||||||
{komut} bir Ex komutu olarak i<>letilir.
|
{komut} bir Ex komutu olarak i<>letilir.
|
||||||
E<EFBFBD>er {komut} bo<62>luk i<>eriyorsa <20>ift t<>rnak i<>erisine al<61>nmal<61>d<EFBFBD>r (bu
|
E<EFBFBD>er {komut} bo<62>luk i<>eriyorsa <20>ift t<>rnak i<>erisine al<61>nmal<61>d<EFBFBD>r (bu
|
||||||
kullan<EFBFBD>lan kabu<62>a ba<62>l<EFBFBD>d<EFBFBD>r).
|
kullan<EFBFBD>lan kabu<62>a ba<62>l<EFBFBD>d<EFBFBD>r).
|
||||||
<EFBFBD>rnek: Vim "+set si" main.c
|
<EFBFBD>rnek: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
||||||
.TP
|
.TP
|
||||||
|
@ -145,7 +145,7 @@ Kullanılabilir arama dizgileri için ":help search\-pattern" yazın.
|
|||||||
{komut} bir Ex komutu olarak işletilir.
|
{komut} bir Ex komutu olarak işletilir.
|
||||||
Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
|
Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
|
||||||
kullanılan kabuğa bağlıdır).
|
kullanılan kabuğa bağlıdır).
|
||||||
Örnek: Vim "+set si" main.c
|
Örnek: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
|
||||||
.TP
|
.TP
|
||||||
|
@ -146,7 +146,7 @@ See ":help search\-pattern" for the available search patterns.
|
|||||||
{command} is interpreted as an Ex command.
|
{command} is interpreted as an Ex command.
|
||||||
If the {command} contains spaces it must be enclosed in double quotes (this
|
If the {command} contains spaces it must be enclosed in double quotes (this
|
||||||
depends on the shell that is used).
|
depends on the shell that is used).
|
||||||
Example: Vim "+set si" main.c
|
Example: vim "+set si" main.c
|
||||||
.br
|
.br
|
||||||
Note: You can use up to 10 "+" or "\-c" commands.
|
Note: You can use up to 10 "+" or "\-c" commands.
|
||||||
.TP
|
.TP
|
||||||
|
@ -110,7 +110,7 @@ OPTIONS
|
|||||||
read. {command} is interpreted as an Ex command. If the
|
read. {command} is interpreted as an Ex command. If the
|
||||||
{command} contains spaces it must be enclosed in double
|
{command} contains spaces it must be enclosed in double
|
||||||
quotes (this depends on the shell that is used). Example:
|
quotes (this depends on the shell that is used). Example:
|
||||||
Vim "+set si" main.c
|
vim "+set si" main.c
|
||||||
Note: You can use up to 10 "+" or "-c" commands.
|
Note: You can use up to 10 "+" or "-c" commands.
|
||||||
|
|
||||||
-S {file} {file} will be sourced after the first file has been read.
|
-S {file} {file} will be sourced after the first file has been read.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*vim9.txt* For Vim version 8.2. Last change: 2020 Jun 21
|
*vim9.txt* For Vim version 8.2. Last change: 2020 Aug 01
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -14,7 +14,7 @@ features in Vim9 script.
|
|||||||
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
||||||
|
|
||||||
|
|
||||||
1 What is Vim9 script? |vim9-script|
|
1. What is Vim9 script? |vim9-script|
|
||||||
2. Differences |vim9-differences|
|
2. Differences |vim9-differences|
|
||||||
3. New style functions |fast-functions|
|
3. New style functions |fast-functions|
|
||||||
4. Types |vim9-types|
|
4. Types |vim9-types|
|
||||||
@ -64,15 +64,24 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
|||||||
|
|
||||||
Comments starting with # ~
|
Comments starting with # ~
|
||||||
|
|
||||||
In Vim script comments normally start with double quote. That can also be the
|
In legacy Vim script comments start with double quote. In Vim9 script
|
||||||
start of a string, thus in many places it cannot be used. In Vim9 script a
|
comments start with #. >
|
||||||
comment can also start with #. In Vi this is a command to list text with
|
# declarations
|
||||||
numbers, but you can also use `:number` for that. >
|
|
||||||
let count = 0 # number of occurrences
|
let count = 0 # number of occurrences
|
||||||
|
|
||||||
To improve readability there must be a space between the command and the #
|
The reason is that a double quote can also be the start of a string. In many
|
||||||
|
places, especially halfway an expression with a line break, it's hard to tell
|
||||||
|
what the meaning is, since both a string and a comment can be followed by
|
||||||
|
arbitrary text. To avoid confusion only # comments are recognized. This is
|
||||||
|
the same as in shell scripts and Python programs.
|
||||||
|
|
||||||
|
In Vi # is a command to list text with numbers. In Vim9 script you can use
|
||||||
|
`:number` for that. >
|
||||||
|
101 number
|
||||||
|
|
||||||
|
To improve readability there must be a space between a command and the #
|
||||||
that starts a comment. Note that #{ is the start of a dictionary, therefore
|
that starts a comment. Note that #{ is the start of a dictionary, therefore
|
||||||
it cannot start a comment.
|
it does not start a comment.
|
||||||
|
|
||||||
|
|
||||||
Vim9 functions ~
|
Vim9 functions ~
|
||||||
@ -85,7 +94,7 @@ The syntax is strict, to enforce code that is easy to read and understand.
|
|||||||
|
|
||||||
Compilation is done when the function is first called, or when the
|
Compilation is done when the function is first called, or when the
|
||||||
`:defcompile` command is encountered in the script where the function was
|
`:defcompile` command is encountered in the script where the function was
|
||||||
defined.
|
defined. `:disassemble` also compiles the function.
|
||||||
|
|
||||||
`:def` has no options like `:function` does: "range", "abort", "dict" or
|
`:def` has no options like `:function` does: "range", "abort", "dict" or
|
||||||
"closure". A `:def` function always aborts on an error, does not get a range
|
"closure". A `:def` function always aborts on an error, does not get a range
|
||||||
@ -96,7 +105,7 @@ be used, type checking will then be done at runtime, like with legacy
|
|||||||
functions.
|
functions.
|
||||||
|
|
||||||
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
|
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
|
||||||
"a:000" list.
|
"a:000" list. Just like any other language.
|
||||||
|
|
||||||
Variable arguments are defined as the last argument, with a name and have a
|
Variable arguments are defined as the last argument, with a name and have a
|
||||||
list type, similar to Typescript. For example, a list of numbers: >
|
list type, similar to Typescript. For example, a list of numbers: >
|
||||||
@ -109,9 +118,14 @@ Functions and variables are script-local by default ~
|
|||||||
*vim9-scopes*
|
*vim9-scopes*
|
||||||
When using `:function` or `:def` to specify a new function at the script level
|
When using `:function` or `:def` to specify a new function at the script level
|
||||||
in a Vim9 script, the function is local to the script, as if "s:" was
|
in a Vim9 script, the function is local to the script, as if "s:" was
|
||||||
prefixed. Using the "s:" prefix is optional.
|
prefixed. Using the "s:" prefix is optional. To define or use a global
|
||||||
|
function or variable the "g:" prefix should be used. For functions in an
|
||||||
To define or use a global function or variable the "g:" prefix must be used.
|
autoload script the "name#" prefix is sufficient. >
|
||||||
|
def ThisFunction() # script-local
|
||||||
|
def s:ThisFunction() # script-local
|
||||||
|
def g:ThatFunction() # global
|
||||||
|
def ThatFunction() # global if no local ThatFunction()
|
||||||
|
def scriptname#function() # autoload
|
||||||
|
|
||||||
When using `:function` or `:def` to specify a new function inside a function,
|
When using `:function` or `:def` to specify a new function inside a function,
|
||||||
the function is local to the function. It is not possible to define a
|
the function is local to the function. It is not possible to define a
|
||||||
@ -119,16 +133,14 @@ script-local function inside a function. It is possible to define a global
|
|||||||
function, using the "g:" prefix.
|
function, using the "g:" prefix.
|
||||||
|
|
||||||
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
||||||
search for the function in this order:
|
prefer using a local function (in the function scope, script scope or
|
||||||
- Local to the current scope and outer scopes up to the function scope.
|
imported) before looking for a global function.
|
||||||
- Local to the current script file.
|
|
||||||
- Imported functions, see `:import`.
|
|
||||||
In all cases the function must be defined before used. That is when it is
|
In all cases the function must be defined before used. That is when it is
|
||||||
first called or when `:defcompile` causes the call to be compiled.
|
first called or when `:defcompile` causes the call to be compiled.
|
||||||
|
|
||||||
The result is that functions and variables without a namespace can always be
|
The result is that functions and variables without a namespace can usually be
|
||||||
found in the script, either defined there or imported. Global functions and
|
found in the script, either defined there or imported. Global functions and
|
||||||
variables could be defined anywhere (good luck finding where!).
|
variables could be defined anywhere (good luck finding out where!).
|
||||||
|
|
||||||
Global functions can be still be defined and deleted at nearly any time. In
|
Global functions can be still be defined and deleted at nearly any time. In
|
||||||
Vim9 script script-local functions are defined once when the script is sourced
|
Vim9 script script-local functions are defined once when the script is sourced
|
||||||
@ -176,22 +188,31 @@ To intentionally avoid a variable being available later, a block can be used:
|
|||||||
echo temp " Error!
|
echo temp " Error!
|
||||||
|
|
||||||
An existing variable cannot be assigned to with `:let`, since that implies a
|
An existing variable cannot be assigned to with `:let`, since that implies a
|
||||||
declaration. An exception is global variables: these can be both used with
|
declaration. Global, window, tab, buffer and Vim variables can only be used
|
||||||
and without `:let`, because there is no rule about where they are declared.
|
without `:let`, because they are not really declared, they can also be deleted
|
||||||
|
with `:unlet`.
|
||||||
|
|
||||||
Variables cannot shadow previously defined variables.
|
Variables and functions cannot shadow previously defined or imported variables
|
||||||
|
and functions.
|
||||||
Variables may shadow Ex commands, rename the variable if needed.
|
Variables may shadow Ex commands, rename the variable if needed.
|
||||||
|
|
||||||
Global variables and user defined functions must be prefixed with "g:", also
|
Global variables and user defined functions must be prefixed with "g:", also
|
||||||
at the script level. >
|
at the script level. >
|
||||||
vim9script
|
vim9script
|
||||||
let script_local = 'text'
|
let script_local = 'text'
|
||||||
let g:global = 'value'
|
g:global = 'value'
|
||||||
let Funcref = g:ThatFunction
|
let Funcref = g:ThatFunction
|
||||||
|
|
||||||
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
|
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
|
||||||
used to repeat a `:substitute` command.
|
used to repeat a `:substitute` command.
|
||||||
|
|
||||||
|
*E1092*
|
||||||
|
Declaring more than one variable at a time, using the unpack notation, is
|
||||||
|
currently not supported: >
|
||||||
|
let [v1, v2] = GetValues() # Error!
|
||||||
|
That is because the type needs to be inferred from the list item type, which
|
||||||
|
isn't that easy.
|
||||||
|
|
||||||
|
|
||||||
Omitting :call and :eval ~
|
Omitting :call and :eval ~
|
||||||
|
|
||||||
@ -200,29 +221,29 @@ Functions can be called without `:call`: >
|
|||||||
Using `:call` is still possible, but this is discouraged.
|
Using `:call` is still possible, but this is discouraged.
|
||||||
|
|
||||||
A method call without `eval` is possible, so long as the start is an
|
A method call without `eval` is possible, so long as the start is an
|
||||||
identifier or can't be an Ex command. It does NOT work for string constants: >
|
identifier or can't be an Ex command. Examples: >
|
||||||
myList->add(123) " works
|
myList->add(123)
|
||||||
g:myList->add(123) " works
|
g:myList->add(123)
|
||||||
[1, 2, 3]->Process() " works
|
[1, 2, 3]->Process()
|
||||||
#{a: 1, b: 2}->Process() " works
|
#{a: 1, b: 2}->Process()
|
||||||
{'a': 1, 'b': 2}->Process() " works
|
{'a': 1, 'b': 2}->Process()
|
||||||
"foobar"->Process() " does NOT work
|
"foobar"->Process()
|
||||||
("foobar")->Process() " works
|
("foobar")->Process()
|
||||||
'foobar'->Process() " does NOT work
|
'foobar'->Process()
|
||||||
('foobar')->Process() " works
|
('foobar')->Process()
|
||||||
|
|
||||||
In case there is ambiguity between a function name and an Ex command, use ":"
|
In rare case there is ambiguity between a function name and an Ex command,
|
||||||
to make clear you want to use the Ex command. For example, there is both the
|
prepend ":" to make clear you want to use the Ex command. For example, there
|
||||||
`:substitute` command and the `substitute()` function. When the line starts
|
is both the `:substitute` command and the `substitute()` function. When the
|
||||||
with `substitute(` this will use the function, prepend a colon to use the
|
line starts with `substitute(` this will use the function. Prepend a colon to
|
||||||
command instead: >
|
use the command instead: >
|
||||||
:substitute(pattern (replacement (
|
:substitute(pattern (replacement (
|
||||||
|
|
||||||
Note that while variables need to be defined before they can be used,
|
Note that while variables need to be defined before they can be used,
|
||||||
functions can be called before being defined. This is required to be able
|
functions can be called before being defined. This is required to be able
|
||||||
have cyclic dependencies between functions. It is slightly less efficient,
|
have cyclic dependencies between functions. It is slightly less efficient,
|
||||||
since the function has to be looked up by name. And a typo in the function
|
since the function has to be looked up by name. And a typo in the function
|
||||||
name will only be found when the call is executed.
|
name will only be found when the function is called.
|
||||||
|
|
||||||
|
|
||||||
Omitting function() ~
|
Omitting function() ~
|
||||||
@ -240,8 +261,8 @@ number of arguments and any return type. The function can be defined later.
|
|||||||
Automatic line continuation ~
|
Automatic line continuation ~
|
||||||
|
|
||||||
In many cases it is obvious that an expression continues on the next line. In
|
In many cases it is obvious that an expression continues on the next line. In
|
||||||
those cases there is no need to prefix the line with a backslash. For
|
those cases there is no need to prefix the line with a backslash
|
||||||
example, when a list spans multiple lines: >
|
|line-continuation|. For example, when a list spans multiple lines: >
|
||||||
let mylist = [
|
let mylist = [
|
||||||
'one',
|
'one',
|
||||||
'two',
|
'two',
|
||||||
@ -257,27 +278,39 @@ Function call: >
|
|||||||
arg2
|
arg2
|
||||||
)
|
)
|
||||||
|
|
||||||
For binary operators iin expressions not in [], {} or () a line break is
|
For binary operators in expressions not in [], {} or () a line break is
|
||||||
possible AFTER the operators. For example: >
|
possible just before or after the operator. For example: >
|
||||||
let text = lead ..
|
let text = lead
|
||||||
middle ..
|
.. middle
|
||||||
end
|
.. end
|
||||||
let total = start +
|
let total = start +
|
||||||
end -
|
end -
|
||||||
correction
|
correction
|
||||||
let result = positive ?
|
let result = positive
|
||||||
PosFunc(arg) :
|
? PosFunc(arg)
|
||||||
NegFunc(arg)
|
: NegFunc(arg)
|
||||||
|
|
||||||
A special case is "->" for function call chains, it can appear in the next
|
For a method call using "->" and a member using a dot, a line break is allowed
|
||||||
line: >
|
before it: >
|
||||||
let result = GetBuilder()
|
let result = GetBuilder()
|
||||||
->BuilderSetWidth(333)
|
->BuilderSetWidth(333)
|
||||||
->BuilderSetHeight(777)
|
->BuilderSetHeight(777)
|
||||||
->BuilderBuild()
|
->BuilderBuild()
|
||||||
|
let result = MyDict
|
||||||
|
.member
|
||||||
|
|
||||||
Note that "enddef" cannot be used at the start of a continuation line, it ends
|
< *E1050*
|
||||||
the current function.
|
To make it possible for the operator at the start of the line to be
|
||||||
|
recognized, it is required to put a colon before a range. This will add
|
||||||
|
"start" and print: >
|
||||||
|
let result = start
|
||||||
|
+ print
|
||||||
|
Like this: >
|
||||||
|
let result = start + print
|
||||||
|
|
||||||
|
This will assign "start" and print a line: >
|
||||||
|
let result = start
|
||||||
|
:+ print
|
||||||
|
|
||||||
It is also possible to split a function header over multiple lines, in between
|
It is also possible to split a function header over multiple lines, in between
|
||||||
arguments: >
|
arguments: >
|
||||||
@ -286,15 +319,44 @@ arguments: >
|
|||||||
separator = '-'
|
separator = '-'
|
||||||
): string
|
): string
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
- "enddef" cannot be used at the start of a continuation line, it ends the
|
||||||
|
current function.
|
||||||
|
- No line break is allowed in the LHS of an assignment. Specifically when
|
||||||
|
unpacking a list |:let-unpack|. This is OK: >
|
||||||
|
[var1, var2] =
|
||||||
|
Func()
|
||||||
|
< This does not work: >
|
||||||
|
[var1,
|
||||||
|
var2] =
|
||||||
|
Func()
|
||||||
|
- No line break is allowed in between arguments of an `:echo`, `:execute` and
|
||||||
|
similar commands. This is OK: >
|
||||||
|
echo [1,
|
||||||
|
2] [3,
|
||||||
|
4]
|
||||||
|
< This does not work: >
|
||||||
|
echo [1, 2]
|
||||||
|
[3, 4]
|
||||||
|
- No line break is allowed in the arguments of a lambda, between the "{" and
|
||||||
|
"->". This is OK: >
|
||||||
|
filter(list, {k, v ->
|
||||||
|
v > 0})
|
||||||
|
< This does not work: >
|
||||||
|
filter(list, {k,
|
||||||
|
v -> v > 0})
|
||||||
|
|
||||||
|
|
||||||
No curly braces expansion ~
|
No curly braces expansion ~
|
||||||
|
|
||||||
|curly-braces-names| cannot be used.
|
|curly-braces-names| cannot be used.
|
||||||
|
|
||||||
|
|
||||||
No :append, :change or :insert ~
|
No :xit, :t, :append, :change or :insert ~
|
||||||
|
|
||||||
These commands are too quickly confused with local variable names.
|
These commands are too easily confused with local variable names.
|
||||||
|
Instead of `:x` or `:xit` you can use `:exit`.
|
||||||
|
Instead of `:t` you can use `:copy`.
|
||||||
|
|
||||||
|
|
||||||
Comparators ~
|
Comparators ~
|
||||||
@ -310,7 +372,8 @@ Vim9 script enforces proper use of white space. This is no longer allowed: >
|
|||||||
let var =234 " Error!
|
let var =234 " Error!
|
||||||
There must be white space before and after the "=": >
|
There must be white space before and after the "=": >
|
||||||
let var = 234 " OK
|
let var = 234 " OK
|
||||||
White space must also be put before the # that starts a comment: >
|
White space must also be put before the # that starts a comment after a
|
||||||
|
command: >
|
||||||
let var = 234# Error!
|
let var = 234# Error!
|
||||||
let var = 234 # OK
|
let var = 234 # OK
|
||||||
|
|
||||||
@ -360,6 +423,7 @@ The boolean operators "||" and "&&" do not change the value: >
|
|||||||
0 || '' == ''
|
0 || '' == ''
|
||||||
8 && 2 == 2
|
8 && 2 == 2
|
||||||
0 && 2 == 0
|
0 && 2 == 0
|
||||||
|
2 && 0 == 0
|
||||||
[] && 2 == []
|
[] && 2 == []
|
||||||
|
|
||||||
When using `..` for string concatenation the arguments are always converted to
|
When using `..` for string concatenation the arguments are always converted to
|
||||||
@ -370,6 +434,56 @@ string. >
|
|||||||
In Vim9 script one can use "true" for v:true and "false" for v:false.
|
In Vim9 script one can use "true" for v:true and "false" for v:false.
|
||||||
|
|
||||||
|
|
||||||
|
What to watch out for ~
|
||||||
|
*vim9-gotchas*
|
||||||
|
Vim9 was designed to be closer to often used programming languages, but at the
|
||||||
|
same time tries to support the legacy Vim commands. Some compromises had to
|
||||||
|
be made. Here is a summary of what might be unexpected.
|
||||||
|
|
||||||
|
Ex command ranges need to be prefixed with a colon. >
|
||||||
|
-> " legacy Vim: shifts the previous line to the right
|
||||||
|
->func() " Vim9: method call in continuation line
|
||||||
|
:-> " Vim9: shifts the previous line to the right
|
||||||
|
|
||||||
|
%s/a/b " legacy Vim: substitute on all lines
|
||||||
|
x = alongname
|
||||||
|
% another " Vim9: line continuation without a backslash
|
||||||
|
:%s/a/b " Vim9: substitute on all lines
|
||||||
|
'text'->func() " Vim9: method call
|
||||||
|
:'t " legacy Vim: jump to mark m
|
||||||
|
|
||||||
|
Some Ex commands can be confused with assignments in Vim9 script: >
|
||||||
|
g:name = value # assignment
|
||||||
|
g:pattern:cmd # invalid command - ERROR
|
||||||
|
:g:pattern:cmd # :global command
|
||||||
|
|
||||||
|
Functions defined with `:def` compile the whole function. Legacy functions
|
||||||
|
can bail out, and the following lines are not parsed: >
|
||||||
|
func Maybe()
|
||||||
|
if !has('feature')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
use-feature
|
||||||
|
endfunc
|
||||||
|
Vim9 functions are compiled as a whole: >
|
||||||
|
def Maybe()
|
||||||
|
if !has('feature')
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
use-feature " May give compilation error
|
||||||
|
enddef
|
||||||
|
For a workaround, split it in two functions: >
|
||||||
|
func Maybe()
|
||||||
|
if has('feature')
|
||||||
|
call MaybyInner()
|
||||||
|
endif
|
||||||
|
endfunc
|
||||||
|
if has('feature')
|
||||||
|
def MaybeInner()
|
||||||
|
use-feature
|
||||||
|
enddef
|
||||||
|
endif
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
3. New style functions *fast-functions*
|
3. New style functions *fast-functions*
|
||||||
@ -396,19 +510,20 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
|
|||||||
When the caller omits an argument the {value} is used.
|
When the caller omits an argument the {value} is used.
|
||||||
|
|
||||||
The function will be compiled into instructions when
|
The function will be compiled into instructions when
|
||||||
called, or when `:defcompile` is used. Syntax and
|
called, or when `:disassemble` or `:defcompile` is
|
||||||
type errors will be produced at that time.
|
used. Syntax and type errors will be produced at that
|
||||||
|
time.
|
||||||
|
|
||||||
NOTE: It is possible to nest `:def` inside another
|
It is possible to nest `:def` inside another `:def` or
|
||||||
`:def`, but it is not possible to nest `:def` inside
|
`:function` up to about 50 levels deep.
|
||||||
`:function`, for backwards compatibility.
|
|
||||||
|
|
||||||
[!] is used as with `:function`. Note that in Vim9
|
[!] is used as with `:function`. Note that in Vim9
|
||||||
script script-local functions cannot be deleted or
|
script script-local functions cannot be deleted or
|
||||||
redefined later in the same script.
|
redefined later in the same script.
|
||||||
|
|
||||||
*:enddef*
|
*:enddef*
|
||||||
:enddef End of a function defined with `:def`.
|
:enddef End of a function defined with `:def`. It should be on
|
||||||
|
a line by its own.
|
||||||
|
|
||||||
|
|
||||||
If the script the function is defined in is Vim9 script, then script-local
|
If the script the function is defined in is Vim9 script, then script-local
|
||||||
@ -428,6 +543,22 @@ prefix.
|
|||||||
Note that for command line completion of {func} you
|
Note that for command line completion of {func} you
|
||||||
can prepend "s:" to find script-local functions.
|
can prepend "s:" to find script-local functions.
|
||||||
|
|
||||||
|
Limitations ~
|
||||||
|
|
||||||
|
Local variables will not be visible to string evaluation. For example: >
|
||||||
|
def EvalString(): list<string>
|
||||||
|
let list = ['aa', 'bb', 'cc', 'dd']
|
||||||
|
return range(1, 2)->map('list[v:val]')
|
||||||
|
enddef
|
||||||
|
|
||||||
|
The map argument is a string expression, which is evaluated without the
|
||||||
|
function scope. Instead, use a lambda: >
|
||||||
|
def EvalString(): list<string>
|
||||||
|
let list = ['aa', 'bb', 'cc', 'dd']
|
||||||
|
return range(1, 2)->map({ _, v -> list[v] })
|
||||||
|
enddef
|
||||||
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
4. Types *vim9-types*
|
4. Types *vim9-types*
|
||||||
@ -453,7 +584,7 @@ Not supported yet:
|
|||||||
tuple<a: {type}, b: {type}, ...>
|
tuple<a: {type}, b: {type}, ...>
|
||||||
|
|
||||||
These types can be used in declarations, but no value will have this type:
|
These types can be used in declarations, but no value will have this type:
|
||||||
{type}|{type}
|
{type}|{type} {not implemented yet}
|
||||||
void
|
void
|
||||||
any
|
any
|
||||||
|
|
||||||
@ -555,19 +686,15 @@ The original value of 'cpoptions' is restored at the end of the script.
|
|||||||
|
|
||||||
Export ~
|
Export ~
|
||||||
*:export* *:exp*
|
*:export* *:exp*
|
||||||
Exporting one item can be written as: >
|
Exporting an item can be written as: >
|
||||||
export const EXPORTED_CONST = 1234
|
export const EXPORTED_CONST = 1234
|
||||||
export let someValue = ...
|
export let someValue = ...
|
||||||
export def MyFunc() ...
|
export def MyFunc() ...
|
||||||
export class MyClass ...
|
export class MyClass ...
|
||||||
|
|
||||||
As this suggests, only constants, variables, `:def` functions and classes can
|
As this suggests, only constants, variables, `:def` functions and classes can
|
||||||
be exported.
|
be exported. {classes are not implemented yet}
|
||||||
|
|
||||||
Alternatively, an export statement can be used to export several already
|
|
||||||
defined (otherwise script-local) items: >
|
|
||||||
export {EXPORTED_CONST, someValue, MyFunc, MyClass}
|
|
||||||
<
|
|
||||||
*E1042*
|
*E1042*
|
||||||
`:export` can only be used in Vim9 script, at the script level.
|
`:export` can only be used in Vim9 script, at the script level.
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ gN Like |gn| but searches backward, like with `N`.
|
|||||||
|
|
||||||
*<LeftMouse>*
|
*<LeftMouse>*
|
||||||
<LeftMouse> Set the current cursor position. If Visual mode is
|
<LeftMouse> Set the current cursor position. If Visual mode is
|
||||||
active it is stopped. Only when 'mouse' option is
|
active it is stopped. Only when 'mouse' option
|
||||||
contains 'n' or 'a'. If the position is within 'so'
|
contains 'n' or 'a'. If the position is within 'so'
|
||||||
lines from the last line on the screen the text is
|
lines from the last line on the screen the text is
|
||||||
scrolled up. If the position is within 'so' lines from
|
scrolled up. If the position is within 'so' lines from
|
||||||
@ -136,7 +136,7 @@ gN Like |gn| but searches backward, like with `N`.
|
|||||||
<RightMouse> Start Visual mode if it is not active. The text from
|
<RightMouse> Start Visual mode if it is not active. The text from
|
||||||
the cursor position to the position of the click is
|
the cursor position to the position of the click is
|
||||||
highlighted. If Visual mode was already active move
|
highlighted. If Visual mode was already active move
|
||||||
the start or end of the highlighted text, which ever
|
the start or end of the highlighted text, whichever
|
||||||
is closest, to the position of the click. Only when
|
is closest, to the position of the click. Only when
|
||||||
'mouse' option contains 'n' or 'a'.
|
'mouse' option contains 'n' or 'a'.
|
||||||
|
|
||||||
@ -236,7 +236,7 @@ The objects that can be used are:
|
|||||||
is inner sentence |v_is|
|
is inner sentence |v_is|
|
||||||
ap a paragraph (with white space) |v_ap|
|
ap a paragraph (with white space) |v_ap|
|
||||||
ip inner paragraph |v_ip|
|
ip inner paragraph |v_ip|
|
||||||
ab a () block (with parenthesis) |v_ab|
|
ab a () block (with parentheses) |v_ab|
|
||||||
ib inner () block |v_ib|
|
ib inner () block |v_ib|
|
||||||
aB a {} block (with braces) |v_aB|
|
aB a {} block (with braces) |v_aB|
|
||||||
iB inner {} block |v_iB|
|
iB inner {} block |v_iB|
|
||||||
@ -347,7 +347,7 @@ Visual-block Shift *v_b_>*
|
|||||||
The block is shifted by 'shiftwidth'. The RHS of the block is irrelevant. The
|
The block is shifted by 'shiftwidth'. The RHS of the block is irrelevant. The
|
||||||
LHS of the block determines the point from which to apply a right shift, and
|
LHS of the block determines the point from which to apply a right shift, and
|
||||||
padding includes TABs optimally according to 'ts' and 'et'. The LHS of the
|
padding includes TABs optimally according to 'ts' and 'et'. The LHS of the
|
||||||
block determines the point upto which to shift left.
|
block determines the point up to which to shift left.
|
||||||
See |v_b_>_example|.
|
See |v_b_>_example|.
|
||||||
See |v_b_<_example|.
|
See |v_b_<_example|.
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2020 Jun 15
|
" Last Change: 2020 Aug 04
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@ -88,6 +88,9 @@ endif
|
|||||||
" AHDL
|
" AHDL
|
||||||
au BufNewFile,BufRead *.tdf setf ahdl
|
au BufNewFile,BufRead *.tdf setf ahdl
|
||||||
|
|
||||||
|
" AIDL
|
||||||
|
au BufNewFile,BufRead *.aidl setf aidl
|
||||||
|
|
||||||
" AMPL
|
" AMPL
|
||||||
au BufNewFile,BufRead *.run setf ampl
|
au BufNewFile,BufRead *.run setf ampl
|
||||||
|
|
||||||
@ -542,7 +545,7 @@ au BufNewFile,BufRead *.ecd setf ecd
|
|||||||
au BufNewFile,BufRead *.e,*.E call dist#ft#FTe()
|
au BufNewFile,BufRead *.e,*.E call dist#ft#FTe()
|
||||||
|
|
||||||
" Elinks configuration
|
" Elinks configuration
|
||||||
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
|
au BufNewFile,BufRead elinks.conf setf elinks
|
||||||
|
|
||||||
" ERicsson LANGuage; Yaws is erlang too
|
" ERicsson LANGuage; Yaws is erlang too
|
||||||
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
|
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
|
||||||
@ -1134,6 +1137,15 @@ au BufNewFile,BufRead *.ora setf ora
|
|||||||
" Packet filter conf
|
" Packet filter conf
|
||||||
au BufNewFile,BufRead pf.conf setf pf
|
au BufNewFile,BufRead pf.conf setf pf
|
||||||
|
|
||||||
|
" Pacman Config (close enough to dosini)
|
||||||
|
au BufNewFile,BufRead */etc/pacman.conf setf dosini
|
||||||
|
|
||||||
|
" Pacman hooks
|
||||||
|
au BufNewFile,BufRead *.hook
|
||||||
|
\ if getline(1) == '[Trigger]' |
|
||||||
|
\ setf dosini |
|
||||||
|
\ endif
|
||||||
|
|
||||||
" Pam conf
|
" Pam conf
|
||||||
au BufNewFile,BufRead */etc/pam.conf setf pamconf
|
au BufNewFile,BufRead */etc/pam.conf setf pamconf
|
||||||
|
|
||||||
@ -1655,8 +1667,9 @@ au BufNewFile,BufRead *.sil setf sil
|
|||||||
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
|
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
|
||||||
|
|
||||||
" Systemd unit files
|
" Systemd unit files
|
||||||
au BufNewFile,BufRead */systemd/*.{automount,mount,path,service,socket,swap,target,timer} setf systemd
|
au BufNewFile,BufRead */systemd/*.{automount,dnssd,link,mount,netdev,network,nspawn,path,service,slice,socket,swap,target,timer} setf systemd
|
||||||
" Systemd overrides
|
" Systemd overrides
|
||||||
|
au BufNewFile,BufRead */etc/systemd/*.conf.d/*.conf setf systemd
|
||||||
au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
|
au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
|
||||||
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
|
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
|
||||||
" Systemd temp files
|
" Systemd temp files
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: C++
|
" Language: C++
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2001 Jan 15
|
" Last Change: 2020 Jul 26
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
finish
|
finish
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Behaves just like C
|
" Behaves mostly just like C
|
||||||
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
|
runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
|
||||||
|
|
||||||
|
" C++ uses templates with <things>
|
||||||
|
" Disabled, because it gives an error for typing an unmatched ">".
|
||||||
|
" set matchpairs+=<:>
|
||||||
|
" let b:undo_ftplugin ..= ' | setl matchpairs<'
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin file
|
" Vim filetype plugin file
|
||||||
" Language: Diff
|
" Language: Diff
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2005 Jul 27
|
" Last Change: 2020 Jul 18
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@ -13,3 +13,6 @@ let b:undo_ftplugin = "setl modeline<"
|
|||||||
|
|
||||||
" Don't use modelines in a diff, they apply to the diffed file
|
" Don't use modelines in a diff, they apply to the diffed file
|
||||||
setlocal nomodeline
|
setlocal nomodeline
|
||||||
|
|
||||||
|
" If there are comments they start with #
|
||||||
|
let &commentstring = "# %s"
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim filetype plugin
|
" Vim filetype plugin
|
||||||
" Language: Vim
|
" Language: Vim
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2020 Jun 16
|
" Last Change: 2020 Jul 26
|
||||||
|
|
||||||
" Only do this when not done yet for this buffer
|
" Only do this when not done yet for this buffer
|
||||||
if exists("b:did_ftplugin")
|
if exists("b:did_ftplugin")
|
||||||
@ -49,14 +49,14 @@ setlocal isk+=#
|
|||||||
setlocal keywordprg=:help
|
setlocal keywordprg=:help
|
||||||
|
|
||||||
" Set 'comments' to format dashed lists in comments
|
" Set 'comments' to format dashed lists in comments
|
||||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"
|
setlocal com=sO:\"\ -,mO:\"\ \ ,sO:#\ -,mO:#\ \ ,eO:##,:\",:#
|
||||||
|
|
||||||
" Format comments to be up to 78 characters long
|
" Format comments to be up to 78 characters long
|
||||||
if &tw == 0
|
if &tw == 0
|
||||||
setlocal tw=78
|
setlocal tw=78
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Comments start with a double quote
|
" Comments start with a double quote; in Vim9 script # would also work
|
||||||
setlocal commentstring=\"%s
|
setlocal commentstring=\"%s
|
||||||
|
|
||||||
if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||||
@ -83,7 +83,7 @@ endif
|
|||||||
if exists("loaded_matchit")
|
if exists("loaded_matchit")
|
||||||
let b:match_ignorecase = 0
|
let b:match_ignorecase = 0
|
||||||
let b:match_words =
|
let b:match_words =
|
||||||
\ '\<\%(fu\%[nction]\|def\)\>:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
|
\ '\<\%(fu\%[nction]\|def\)\>)\@!:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
|
||||||
\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
|
\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
|
||||||
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
|
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
|
||||||
\ '{:},' .
|
\ '{:},' .
|
||||||
|
@ -10,5 +10,5 @@ test:
|
|||||||
VIMRUNTIME=$(VIMRUNTIME) $(VIM) --clean --not-a-term -u testdir/runtest.vim
|
VIMRUNTIME=$(VIMRUNTIME) $(VIM) --clean --not-a-term -u testdir/runtest.vim
|
||||||
|
|
||||||
|
|
||||||
clean:
|
clean testclean:
|
||||||
rm -f testdir/*.fail testdir/*.out
|
rm -f testdir/*.fail testdir/*.out
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
" Vim indent script for HTML
|
" Vim indent script for HTML
|
||||||
" Header: "{{{
|
|
||||||
" Maintainer: Bram Moolenaar
|
" Maintainer: Bram Moolenaar
|
||||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||||
" Last Change: 2020 Jun 18
|
" Last Change: 2020 Jul 06
|
||||||
" Version: 1.0
|
" Version: 1.0 "{{{
|
||||||
" Description: HTML indent script with cached state for faster indenting on a
|
" Description: HTML indent script with cached state for faster indenting on a
|
||||||
" range of lines.
|
" range of lines.
|
||||||
" Supports template systems through hooks.
|
" Supports template systems through hooks.
|
||||||
@ -587,7 +586,7 @@ func! s:Alien3()
|
|||||||
return eval(b:hi_js1indent)
|
return eval(b:hi_js1indent)
|
||||||
endif
|
endif
|
||||||
if b:hi_indent.scripttype == "javascript"
|
if b:hi_indent.scripttype == "javascript"
|
||||||
return GetJavascriptIndent()
|
return eval(b:hi_js1indent) + GetJavascriptIndent()
|
||||||
else
|
else
|
||||||
return -1
|
return -1
|
||||||
endif
|
endif
|
||||||
|
@ -2,6 +2,16 @@
|
|||||||
|
|
||||||
|
|
||||||
" START_INDENT
|
" START_INDENT
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
div#d1 { color: red; }
|
||||||
|
div#d2 { color: green; }
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
var v1 = "v1";
|
||||||
|
var v2 = "v2";
|
||||||
|
</script>
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
text
|
text
|
||||||
@ -32,5 +42,25 @@ dt text
|
|||||||
</dt>
|
</dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
" END_INDENT
|
" END_INDENT
|
||||||
|
|
||||||
|
% START_INDENT
|
||||||
|
% INDENT_EXE let g:html_indent_style1 = "inc"
|
||||||
|
% INDENT_EXE let g:html_indent_script1 = "zero"
|
||||||
|
% INDENT_EXE call HtmlIndent_CheckUserSettings()
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
div#d1 { color: red; }
|
||||||
|
div#d2 { color: green; }
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
var v1 = "v1";
|
||||||
|
var v2 = "v2";
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
% END_INDENT
|
||||||
|
@ -2,35 +2,65 @@
|
|||||||
|
|
||||||
|
|
||||||
" START_INDENT
|
" START_INDENT
|
||||||
<div>
|
<html>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
div#d1 { color: red; }
|
||||||
|
div#d2 { color: green; }
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
var v1 = "v1";
|
||||||
|
var v2 = "v2";
|
||||||
|
</script>
|
||||||
|
<div>
|
||||||
<div>
|
<div>
|
||||||
text
|
text
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
class="foo bar">
|
class="foo bar">
|
||||||
text
|
text
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="foo bar"
|
<div class="foo bar"
|
||||||
data="something">
|
data="something">
|
||||||
text
|
text
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="foo
|
<div class="foo
|
||||||
bar">
|
bar">
|
||||||
text
|
text
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<dl>
|
<dl>
|
||||||
<dd>
|
<dd>
|
||||||
dd text
|
dd text
|
||||||
</dd>
|
</dd>
|
||||||
<dt>
|
<dt>
|
||||||
dt text
|
dt text
|
||||||
</dt>
|
</dt>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
" END_INDENT
|
" END_INDENT
|
||||||
|
|
||||||
|
% START_INDENT
|
||||||
|
% INDENT_EXE let g:html_indent_style1 = "inc"
|
||||||
|
% INDENT_EXE let g:html_indent_script1 = "zero"
|
||||||
|
% INDENT_EXE call HtmlIndent_CheckUserSettings()
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
div#d1 { color: red; }
|
||||||
|
div#d2 { color: green; }
|
||||||
|
</style>
|
||||||
|
<script>
|
||||||
|
var v1 = "v1";
|
||||||
|
var v2 = "v2";
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
% END_INDENT
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim indent file
|
" Vim indent file
|
||||||
" Language: Vim script
|
" Language: Vim script
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2019 Oct 31
|
" Last Change: 2020 Jul 19
|
||||||
|
|
||||||
" Only load this indent file when no other was loaded.
|
" Only load this indent file when no other was loaded.
|
||||||
if exists("b:did_indent")
|
if exists("b:did_indent")
|
||||||
@ -11,6 +11,7 @@ let b:did_indent = 1
|
|||||||
|
|
||||||
setlocal indentexpr=GetVimIndent()
|
setlocal indentexpr=GetVimIndent()
|
||||||
setlocal indentkeys+==end,=},=else,=cat,=fina,=END,0\\,0=\"\\\
|
setlocal indentkeys+==end,=},=else,=cat,=fina,=END,0\\,0=\"\\\
|
||||||
|
setlocal indentkeys-=0#
|
||||||
|
|
||||||
let b:undo_indent = "setl indentkeys< indentexpr<"
|
let b:undo_indent = "setl indentkeys< indentexpr<"
|
||||||
|
|
||||||
|
114
runtime/keymap/turkish-f.vim
Normal file
114
runtime/keymap/turkish-f.vim
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
" Vim keymap file for Turkish F layout
|
||||||
|
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||||
|
" Last changed: 5 August 2020
|
||||||
|
|
||||||
|
scriptencoding utf-8
|
||||||
|
let b:keymap_name = "tr-f"
|
||||||
|
loadkeymap
|
||||||
|
|
||||||
|
F A LATIN CAPITAL LETTER A
|
||||||
|
< B LATIN CAPITAL LETTER B
|
||||||
|
V C LATIN CAPITAL LETTER C
|
||||||
|
B Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||||
|
Y D LATIN CAPITAL LETTER D
|
||||||
|
D E LATIN CAPITAL LETTER E
|
||||||
|
Q F LATIN CAPITAL LETTER F
|
||||||
|
W G LATIN CAPITAL LETTER G
|
||||||
|
E Ğ LATIN CAPITAL LETTER G WITH BREVE
|
||||||
|
O H LATIN CAPITAL LETTER H
|
||||||
|
R I LATIN CAPITAL LETTER I
|
||||||
|
S İ LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||||
|
Z J LATIN CAPITAL LETTER J
|
||||||
|
J K LATIN CAPITAL LETTER K
|
||||||
|
K M LATIN CAPITAL LETTER M
|
||||||
|
I N LATIN CAPITAL LETTER N
|
||||||
|
T O LATIN CAPITAL LETTER O
|
||||||
|
X Ö LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||||
|
U R LATIN CAPITAL LETTER R
|
||||||
|
M S LATIN CAPITAL LETTER S
|
||||||
|
\" Ş LATIN CAPITAL LETTER S WITH CEDILLA
|
||||||
|
H T LATIN CAPITAL LETTER T
|
||||||
|
A U LATIN CAPITAL LETTER U
|
||||||
|
G Ü LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||||
|
C V LATIN CAPITAL LETTER V
|
||||||
|
: Y LATIN CAPITAL LETTER Y
|
||||||
|
N Z LATIN CAPITAL LETTER Z
|
||||||
|
|
||||||
|
{ Q LATIN CAPITAL LETTER Q
|
||||||
|
} W LATIN CAPITAL LETTER W
|
||||||
|
| X LATIN CAPITAL LETTER X
|
||||||
|
|
||||||
|
± * ASTERISK
|
||||||
|
@ " QUOTATION MARK
|
||||||
|
# ^ CIRCUMFLEX ACCENT
|
||||||
|
^ & AMPERSAND
|
||||||
|
& ' APOSTROPHE
|
||||||
|
* ( LEFT PARENTHESIS
|
||||||
|
( ) RIGHT PARENTHESIS
|
||||||
|
) = EQUALS SIGN
|
||||||
|
_ ? QUESTION MARK
|
||||||
|
+ _ LOW LINE
|
||||||
|
> : COLON
|
||||||
|
? ; SEMICOLON
|
||||||
|
~ > GREATER-THAN SIGN
|
||||||
|
|
||||||
|
Å Û LATIN CAPITAL LETTER U WITH CIRCUMFLEX
|
||||||
|
Í Î LATIN CAPITAL LETTER I WITH CIRCUMFLEX
|
||||||
|
Ï Â LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||||||
|
` » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||||||
|
|
||||||
|
f a LATIN SMALL LETTER A
|
||||||
|
, b LATIN SMALL LETTER B
|
||||||
|
v c LATIN SMALL LETTER C
|
||||||
|
b ç LATIN SMALL LETTER C WITH CEDILLA
|
||||||
|
y d LATIN SMALL LETTER D
|
||||||
|
d e LATIN SMALL LETTER E
|
||||||
|
q f LATIN SMALL LETTER F
|
||||||
|
w g LATIN SMALL LETTER G
|
||||||
|
e ğ LATIN SMALL LETTER G WITH BREVE
|
||||||
|
o h LATIN SMALL LETTER H
|
||||||
|
r ı LATIN SMALL LETTER I
|
||||||
|
s i LATIN SMALL LETTER I WITH DOT ABOVE
|
||||||
|
z j LATIN SMALL LETTER J
|
||||||
|
j k LATIN SMALL LETTER K
|
||||||
|
k m LATIN SMALL LETTER M
|
||||||
|
i n LATIN SMALL LETTER N
|
||||||
|
t o LATIN SMALL LETTER O
|
||||||
|
x ö LATIN SMALL LETTER O WITH DIAERESIS
|
||||||
|
u r LATIN SMALL LETTER R
|
||||||
|
m s LATIN SMALL LETTER S
|
||||||
|
\' ş LATIN SMALL LETTER S WITH CEDILLA
|
||||||
|
h t LATIN SMALL LETTER T
|
||||||
|
a u LATIN SMALL LETTER U
|
||||||
|
g ü LATIN SMALL LETTER U WITH DIAERESIS
|
||||||
|
c v LATIN SMALL LETTER V
|
||||||
|
; y LATIN SMALL LETTER Y
|
||||||
|
n z LATIN SMALL LETTER Z
|
||||||
|
|
||||||
|
[ q LATIN SMALL LETTER Q
|
||||||
|
] w LATIN SMALL LETTER W
|
||||||
|
\\ x LATIN SMALL LETTER X
|
||||||
|
|
||||||
|
§ + PLUS SIGN
|
||||||
|
- / SOLIDUS
|
||||||
|
= - HYPHEN-MINUS
|
||||||
|
/ , COMMA
|
||||||
|
` < LESS-THAN SIGN
|
||||||
|
|
||||||
|
£ # NUMBER SIGN
|
||||||
|
¶ { LEFT CURLY BRACKET
|
||||||
|
• [ LEFT SQUARE BRACKET
|
||||||
|
ª ] RIGHT SQUARE BRACKET
|
||||||
|
º } RIGHT CURLY BRACKET
|
||||||
|
– \ REVERSE SOLIDUS
|
||||||
|
≠ | VERTICAL LINE
|
||||||
|
œ @ COMMERCIAL AT
|
||||||
|
‘ ~ TILDE
|
||||||
|
å û LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||||||
|
ß î LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||||||
|
∂ € EURO SIGN
|
||||||
|
ƒ â LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||||||
|
˙ ₺ TURKISH LIRA SIGN
|
||||||
|
¬ £ POUND SIGN
|
||||||
|
… ¥ YEN SIGN
|
||||||
|
` « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
62
runtime/keymap/turkish-q.vim
Normal file
62
runtime/keymap/turkish-q.vim
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
" Vim keymap file for Turkish Q layout
|
||||||
|
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||||
|
" Last changed: 5 August 2020
|
||||||
|
|
||||||
|
scriptencoding utf-8
|
||||||
|
let b:keymap_name = "tr-q"
|
||||||
|
loadkeymap
|
||||||
|
|
||||||
|
\> Ç LATIN CAPITAL LETTER C WITH CEDILLA
|
||||||
|
\{ Ğ LATIN CAPITAL LETTER G WITH BREVE
|
||||||
|
\" İ LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||||||
|
\< Ö LATIN CAPITAL LETTER O WITH DIAERESIS
|
||||||
|
\: Ş LATIN CAPITAL LETTER S WITH CEDILLA
|
||||||
|
\} Ü LATIN CAPITAL LETTER U WITH DIAERESIS
|
||||||
|
|
||||||
|
± é LATIN SMALL LETTER E WITH ACUTE
|
||||||
|
@ ' APOSTROPHE
|
||||||
|
# ^ CIRCUMFLEX ACCENT
|
||||||
|
$ + PLUS SIGN
|
||||||
|
^ & AMPERSAND
|
||||||
|
& / SOLIDUS
|
||||||
|
* ( LEFT PARENTHESIS
|
||||||
|
( ) RIGHT PARENTHESIS
|
||||||
|
) = EQUAL SIGN
|
||||||
|
_ ? QUESTION MARK
|
||||||
|
+ _ LOW LINE
|
||||||
|
~ > GREATER-THAN SIGN
|
||||||
|
| ; SEMICOLON
|
||||||
|
? : COLON
|
||||||
|
|
||||||
|
\. ç LATIN SMALL LETTER C WITH CEDILLA
|
||||||
|
\[ ğ LATIN SMALL LETTER G WITH BREVE
|
||||||
|
\' i LATIN SMALL LETTER I
|
||||||
|
\, ö LATIN SMALL LETTER O WITH DIAERESIS
|
||||||
|
\; ş LATIN SMALL LETTER S WITH CEDILLA
|
||||||
|
\] ü LATIN SMALL LETTER U WITH DIAERESIS
|
||||||
|
i ı LATIN SMALL LETTER DOTLESS I
|
||||||
|
|
||||||
|
§ " QUOTATION MARK
|
||||||
|
- * ASTERISK
|
||||||
|
= - HYPHEN-MINUS
|
||||||
|
\\ , COMMA
|
||||||
|
\/ . FULL STOP
|
||||||
|
` < LESS-THAN SIGN
|
||||||
|
|
||||||
|
™ £ POUND SIGN
|
||||||
|
£ # NUMBER SIGN
|
||||||
|
¢ $ DOLLAR SIGN
|
||||||
|
∞ ½ VULGAR FRACTION ONE HALF
|
||||||
|
¶ { LEFT CURLY BRACKET
|
||||||
|
• [ LEFT SQUARE BRACKET
|
||||||
|
ª ] RIGHT SQUARE BRACKET
|
||||||
|
º } RIGHT CURLY BRACKET
|
||||||
|
– \ REVERSE SOLIDUS
|
||||||
|
≠ | VERTICAL LINE
|
||||||
|
œ @ COMMERCIAL AT
|
||||||
|
´ € EURO SIGN
|
||||||
|
† ₺ TURKISH LIRA SIGN
|
||||||
|
¥ ¥ YEN SIGN
|
||||||
|
‘ ~ TILDE
|
||||||
|
… ´ ACUTE ACCENT
|
||||||
|
« ` GRAVE ACCENT
|
@ -2,7 +2,7 @@
|
|||||||
"
|
"
|
||||||
" Author: Bram Moolenaar
|
" Author: Bram Moolenaar
|
||||||
" Copyright: Vim license applies, see ":help license"
|
" Copyright: Vim license applies, see ":help license"
|
||||||
" Last Change: 2020 Jun 12
|
" Last Change: 2020 Jul 12
|
||||||
"
|
"
|
||||||
" WORK IN PROGRESS - Only the basics work
|
" WORK IN PROGRESS - Only the basics work
|
||||||
" Note: On MS-Windows you need a recent version of gdb. The one included with
|
" Note: On MS-Windows you need a recent version of gdb. The one included with
|
||||||
|
23
runtime/syntax/aidl.vim
Normal file
23
runtime/syntax/aidl.vim
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
" Vim syntax file
|
||||||
|
" Language: aidl (Android Interface Definition Language)
|
||||||
|
" https://developer.android.com/guide/components/aidl
|
||||||
|
" Maintainer: Dominique Pelle <dominique.pelle@tomtom.com>
|
||||||
|
" LastChange: 2020/07/25
|
||||||
|
|
||||||
|
" Quit when a syntax file was already loaded.
|
||||||
|
if exists("b:current_syntax")
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
|
source <sfile>:p:h/java.vim
|
||||||
|
|
||||||
|
syn keyword aidlParamDir in out inout
|
||||||
|
syn keyword aidlKeyword oneway parcelable
|
||||||
|
|
||||||
|
" Needed for the 'in', 'out', 'inout' keywords to be highlighted.
|
||||||
|
syn cluster javaTop add=aidlParamDir
|
||||||
|
|
||||||
|
hi def link aidlParamDir StorageClass
|
||||||
|
hi def link aidlKeyword Keyword
|
||||||
|
|
||||||
|
let b:current_syntax = "aidl"
|
@ -1,11 +1,12 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Cascading Style Sheets
|
" Language: Cascading Style Sheets
|
||||||
" Previous Contributor List:
|
" Previous Contributor List:
|
||||||
|
" Jules Wang <w.jq0722@gmail.com>
|
||||||
" Claudio Fleiner <claudio@fleiner.com> (Maintainer)
|
" Claudio Fleiner <claudio@fleiner.com> (Maintainer)
|
||||||
" Yeti (Add full CSS2, HTML4 support)
|
" Yeti (Add full CSS2, HTML4 support)
|
||||||
" Nikolai Weibull (Add CSS2 support)
|
" Nikolai Weibull (Add CSS2 support)
|
||||||
" URL: https://github.com/JulesWang/css.vim
|
" URL: https://github.com/jsit/css.vim
|
||||||
" Maintainer: Jules Wang <w.jq0722@gmail.com>
|
" Maintainer: Jay Sitter <jay@jaysitter.com>
|
||||||
" Last Change: 2019 Jul. 29
|
" Last Change: 2019 Jul. 29
|
||||||
|
|
||||||
" quit when a syntax file was already loaded
|
" quit when a syntax file was already loaded
|
||||||
@ -68,7 +69,7 @@ endtry
|
|||||||
" digits
|
" digits
|
||||||
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
|
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
|
||||||
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
|
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
|
||||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
|
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\|ch\)\>" contains=cssUnitDecorators
|
||||||
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
|
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
|
||||||
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
|
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
|
||||||
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
|
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
|
||||||
@ -128,12 +129,14 @@ syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip
|
|||||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
|
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
|
||||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
|
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
|
||||||
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
||||||
|
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(blur\|brightness\|contrast\|drop-shadow\|grayscale\|hue-rotate\|invert\|opacity\|saturate\|sepia\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
|
||||||
syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
|
syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
|
||||||
syn match cssFunctionComma contained ","
|
syn match cssFunctionComma contained ","
|
||||||
|
|
||||||
" Common Prop and Attr
|
" Common Prop and Attr
|
||||||
syn keyword cssCommonAttr contained auto none inherit all default normal
|
syn keyword cssCommonAttr contained auto none inherit all default normal
|
||||||
syn keyword cssCommonAttr contained top bottom center stretch hidden visible
|
syn keyword cssCommonAttr contained top bottom center stretch hidden visible
|
||||||
|
syn match cssCommonAttr contained "\<\(max-\|min-\|fit-\)content\>"
|
||||||
"------------------------------------------------
|
"------------------------------------------------
|
||||||
" CSS Animations
|
" CSS Animations
|
||||||
" http://www.w3.org/TR/css3-animations/
|
" http://www.w3.org/TR/css3-animations/
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
" Language: fstab file
|
" Language: fstab file
|
||||||
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
" Maintainer: Radu Dineiu <radu.dineiu@gmail.com>
|
||||||
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
" URL: https://raw.github.com/rid9/vim-fstab/master/fstab.vim
|
||||||
" Last Change: 2019 Jun 06
|
" Last Change: 2020 Aug 06
|
||||||
" Version: 1.3
|
" Version: 1.4
|
||||||
"
|
"
|
||||||
" Credits:
|
" Credits:
|
||||||
" David Necas (Yeti) <yeti@physics.muni.cz>
|
" David Necas (Yeti) <yeti@physics.muni.cz>
|
||||||
@ -68,7 +68,7 @@ syn match fsOptionsString /[a-zA-Z0-9_-]\+/
|
|||||||
syn keyword fsOptionsYesNo yes no
|
syn keyword fsOptionsYesNo yes no
|
||||||
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
syn cluster fsOptionsCheckCluster contains=fsOptionsExt2Check,fsOptionsFatCheck
|
||||||
syn keyword fsOptionsSize 512 1024 2048
|
syn keyword fsOptionsSize 512 1024 2048
|
||||||
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail
|
syn keyword fsOptionsGeneral async atime auto bind current defaults dev devgid devmode devmtime devuid dirsync exec force fstab kudzu loop mand move noatime noauto noclusterr noclusterw nodev nodevmtime nodiratime noexec nomand norelatime nosuid nosymfollow nouser owner rbind rdonly relatime remount ro rq rw suid suiddir supermount sw sync union update user users wxallowed xx nofail failok
|
||||||
syn match fsOptionsGeneral /_netdev/
|
syn match fsOptionsGeneral /_netdev/
|
||||||
|
|
||||||
" Options: adfs
|
" Options: adfs
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim help file
|
" Language: Vim help file
|
||||||
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
" Maintainer: Bram Moolenaar (Bram@vim.org)
|
||||||
" Last Change: 2020 Mar 06
|
" Last Change: 2020 Jul 28
|
||||||
|
|
||||||
" Quit when a (custom) syntax file was already loaded
|
" Quit when a (custom) syntax file was already loaded
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: pam(8) configuration file
|
" Language: pam(8) configuration file
|
||||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||||
" Latest Revision: 2011-08-03
|
" Latest Revision: 2020/08/04
|
||||||
|
" Changes By: Haochen Tong
|
||||||
|
|
||||||
|
|
||||||
if exists("b:current_syntax")
|
if exists("b:current_syntax")
|
||||||
@ -11,23 +12,32 @@ endif
|
|||||||
let s:cpo_save = &cpo
|
let s:cpo_save = &cpo
|
||||||
set cpo&vim
|
set cpo&vim
|
||||||
|
|
||||||
syn match pamconfService '^[[:graph:]]\+'
|
let s:has_service_field = exists("b:pamconf_has_service_field")
|
||||||
|
\ ? b:pamconf_has_service_field
|
||||||
|
\ : expand('%:t') == 'pam.conf' ? 1 : 0
|
||||||
|
|
||||||
|
syn match pamconfType '-\?[[:alpha:]]\+'
|
||||||
|
\ contains=pamconfTypeKeyword
|
||||||
|
\ nextgroup=pamconfControl,
|
||||||
|
\ pamconfTypeLineCont skipwhite
|
||||||
|
|
||||||
|
syn keyword pamconfTypeKeyword contained account auth password session
|
||||||
|
|
||||||
|
if s:has_service_field
|
||||||
|
syn match pamconfService '^[[:graph:]]\+'
|
||||||
\ nextgroup=pamconfType,
|
\ nextgroup=pamconfType,
|
||||||
\ pamconfServiceLineCont skipwhite
|
\ pamconfServiceLineCont skipwhite
|
||||||
|
|
||||||
|
syn match pamconfServiceLineCont contained '\\$'
|
||||||
|
\ nextgroup=pamconfType,
|
||||||
|
\ pamconfServiceLineCont skipwhite skipnl
|
||||||
|
endif
|
||||||
|
|
||||||
syn keyword pamconfTodo contained TODO FIXME XXX NOTE
|
syn keyword pamconfTodo contained TODO FIXME XXX NOTE
|
||||||
|
|
||||||
syn region pamconfComment display oneline start='#' end='$'
|
syn region pamconfComment display oneline start='#' end='$'
|
||||||
\ contains=pamconfTodo,@Spell
|
\ contains=pamconfTodo,@Spell
|
||||||
|
|
||||||
syn match pamconfServiceLineCont contained '\\$'
|
|
||||||
\ nextgroup=pamconfType,
|
|
||||||
\ pamconfServiceLineCont skipwhite skipnl
|
|
||||||
|
|
||||||
syn keyword pamconfType account auth password session
|
|
||||||
\ nextgroup=pamconfControl,
|
|
||||||
\ pamconfTypeLineCont skipwhite
|
|
||||||
|
|
||||||
syn match pamconfTypeLineCont contained '\\$'
|
syn match pamconfTypeLineCont contained '\\$'
|
||||||
\ nextgroup=pamconfControl,
|
\ nextgroup=pamconfControl,
|
||||||
\ pamconfTypeLineCont skipwhite skipnl
|
\ pamconfTypeLineCont skipwhite skipnl
|
||||||
@ -98,7 +108,8 @@ hi def link pamconfTodo Todo
|
|||||||
hi def link pamconfComment Comment
|
hi def link pamconfComment Comment
|
||||||
hi def link pamconfService Statement
|
hi def link pamconfService Statement
|
||||||
hi def link pamconfServiceLineCont Special
|
hi def link pamconfServiceLineCont Special
|
||||||
hi def link pamconfType Type
|
hi def link pamconfType Special
|
||||||
|
hi def link pamconfTypeKeyword Type
|
||||||
hi def link pamconfTypeLineCont pamconfServiceLineCont
|
hi def link pamconfTypeLineCont pamconfServiceLineCont
|
||||||
hi def link pamconfControl Macro
|
hi def link pamconfControl Macro
|
||||||
hi def link pamconfControlBegin Delimiter
|
hi def link pamconfControlBegin Delimiter
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: TeX
|
" Language: TeX
|
||||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||||
" Last Change: Jun 07, 2020
|
" Last Change: Jun 29, 2020
|
||||||
" Version: 118
|
" Version: 119
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||||
"
|
"
|
||||||
" Notes: {{{1
|
" Notes: {{{1
|
||||||
@ -147,6 +147,11 @@ if exists("g:tex_nospell") && g:tex_nospell
|
|||||||
else
|
else
|
||||||
let s:tex_nospell = 0
|
let s:tex_nospell = 0
|
||||||
endif
|
endif
|
||||||
|
if exists("g:tex_matchcheck")
|
||||||
|
let s:tex_matchcheck= g:tex_matchcheck
|
||||||
|
else
|
||||||
|
let s:tex_matchcheck= '[({[]'
|
||||||
|
endif
|
||||||
if exists("g:tex_excludematcher")
|
if exists("g:tex_excludematcher")
|
||||||
let s:tex_excludematcher= g:tex_excludematcher
|
let s:tex_excludematcher= g:tex_excludematcher
|
||||||
else
|
else
|
||||||
@ -205,27 +210,41 @@ if !exists("g:tex_no_math")
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" Try to flag {} and () mismatches: {{{1
|
" Try to flag {}, [], and () mismatches: {{{1
|
||||||
if s:tex_fast =~# 'm'
|
if s:tex_fast =~# 'm'
|
||||||
if !s:tex_no_error
|
if !s:tex_no_error
|
||||||
|
if s:tex_matchcheck =~ '{'
|
||||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
||||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
|
||||||
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError
|
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError
|
||||||
|
endif
|
||||||
|
if s:tex_matchcheck =~ '\['
|
||||||
|
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
||||||
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell
|
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
|
if s:tex_matchcheck =~ '{'
|
||||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
||||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
|
||||||
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup
|
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup
|
||||||
|
endif
|
||||||
|
if s:tex_matchcheck =~ '\['
|
||||||
|
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
||||||
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup
|
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
if s:tex_matchcheck =~ '('
|
||||||
if !s:tex_nospell
|
if !s:tex_nospell
|
||||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
||||||
else
|
else
|
||||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup
|
syn region texParen start="(" end=")" transparent contains=@texMatchGroup
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if !s:tex_no_error
|
if !s:tex_no_error
|
||||||
|
if s:tex_matchcheck =~ '('
|
||||||
|
syn match texError "[}\]]"
|
||||||
|
else
|
||||||
syn match texError "[}\])]"
|
syn match texError "[}\])]"
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
if s:tex_fast =~# 'M'
|
if s:tex_fast =~# 'M'
|
||||||
if !exists("g:tex_no_math")
|
if !exists("g:tex_no_math")
|
||||||
@ -756,7 +775,7 @@ if has("conceal") && &enc == 'utf-8'
|
|||||||
\ ['ldots' , '…'],
|
\ ['ldots' , '…'],
|
||||||
\ ['le' , '≤'],
|
\ ['le' , '≤'],
|
||||||
\ ['left|' , '|'],
|
\ ['left|' , '|'],
|
||||||
\ ['left\|' , '‖'],
|
\ ['left\\|' , '‖'],
|
||||||
\ ['left(' , '('],
|
\ ['left(' , '('],
|
||||||
\ ['left\[' , '['],
|
\ ['left\[' , '['],
|
||||||
\ ['left\\{' , '{'],
|
\ ['left\\{' , '{'],
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
" Vim syntax file
|
" Vim syntax file
|
||||||
" Language: Vim 8.0 script
|
" Language: Vim 8.0 script
|
||||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||||
" Last Change: Jun 01, 20200
|
" Last Change: July 15, 2020
|
||||||
" Version: 8.0-37
|
" Version: 8.0-41
|
||||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
||||||
" Automatically generated keyword lists: {{{1
|
" Automatically generated keyword lists: {{{1
|
||||||
|
|
||||||
@ -29,14 +29,14 @@ syn match vimCommand contained "\<z[-+^.=]\=\>"
|
|||||||
syn keyword vimStdPlugin contained Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
|
syn keyword vimStdPlugin contained Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
|
||||||
|
|
||||||
" vimOptions are caught only when contained in a vimSet {{{2
|
" vimOptions are caught only when contained in a vimSet {{{2
|
||||||
syn keyword vimOption contained acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
|
syn keyword vimOption contained acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess showtabline sj smd spell spl srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
|
||||||
syn keyword vimOption contained ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
|
syn keyword vimOption contained ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname shq slm sn spellcapcheck splitbelow ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
|
||||||
syn keyword vimOption contained akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
|
syn keyword vimOption contained akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak si sm so spellfile splitright ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
|
||||||
syn keyword vimOption contained al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
|
syn keyword vimOption contained al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescroll smartcase softtabstop spelllang spo ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
|
||||||
syn keyword vimOption contained aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
|
syn keyword vimOption contained aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag sidescrolloff smartindent sol spelloptions spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
|
||||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
|
syn keyword vimOption contained allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch signcolumn smarttab sp spellsuggest sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
|
||||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
|
syn keyword vimOption contained altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode siso smc spc spf sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
|
||||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions
|
syn keyword vimOption contained ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm
|
||||||
|
|
||||||
" vimOptions: These are the turn-off setting variants {{{2
|
" vimOptions: These are the turn-off setting variants {{{2
|
||||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomod nomodelineexpr nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomod nomodelineexpr nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||||
@ -66,8 +66,8 @@ syn keyword vimErrSetting contained bioskey biosk conskey consk autoprint beauti
|
|||||||
|
|
||||||
" AutoCmd Events {{{2
|
" AutoCmd Events {{{2
|
||||||
syn case ignore
|
syn case ignore
|
||||||
syn keyword vimAutoEvent contained BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
|
syn keyword vimAutoEvent contained BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost ShellCmdPost ShellFilterPost SigUSR1 SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
|
||||||
syn keyword vimAutoEvent contained BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre
|
syn keyword vimAutoEvent contained BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre BufWinEnter
|
||||||
|
|
||||||
" Highlight commonly used Groupnames {{{2
|
" Highlight commonly used Groupnames {{{2
|
||||||
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
|
||||||
@ -78,11 +78,11 @@ syn match vimHLGroup contained "Conceal"
|
|||||||
syn case match
|
syn case match
|
||||||
|
|
||||||
" Function Names {{{2
|
" Function Names {{{2
|
||||||
syn keyword vimFuncName contained abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabwinvar getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower trunc uniq wildmenumode win_execute win_gotoid winlayout winrestview winwidth
|
syn keyword vimFuncName contained abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabinfo getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undotree wildmenumode win_execute win_gotoid winlayout winrestview winwidth
|
||||||
syn keyword vimFuncName contained acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettagstack getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper type values winbufnr win_findbuf winheight winline winsaveview wordcount
|
syn keyword vimFuncName contained acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable flatten fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim uniq winbufnr win_findbuf winheight winline winsaveview wordcount
|
||||||
syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getregtype getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile virtcol wincol win_getid win_id2tabwin winnr win_screenpos writefile
|
syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettabwinvar getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc values wincol win_getid win_id2tabwin winnr win_screenpos writefile
|
||||||
syn keyword vimFuncName contained and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid gettabinfo getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree visualmode windowsversion win_gettype win_id2win winrestcmd win_splitmove xor
|
syn keyword vimFuncName contained and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getreginfo gettagstack getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type virtcol windowsversion win_gettype win_id2win winrestcmd win_splitmove xor
|
||||||
syn keyword vimFuncName contained append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall
|
syn keyword vimFuncName contained append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid getregtype getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper undofile visualmode
|
||||||
|
|
||||||
"--- syntax here and above generated by mkvimvim ---
|
"--- syntax here and above generated by mkvimvim ---
|
||||||
" Special Vim Highlighting (not automatic) {{{1
|
" Special Vim Highlighting (not automatic) {{{1
|
||||||
@ -295,6 +295,7 @@ syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentS
|
|||||||
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
|
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
|
||||||
syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
|
syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
|
||||||
" Vim9 comments - TODO: might be highlighted while they don't work
|
" Vim9 comments - TODO: might be highlighted while they don't work
|
||||||
|
syn match vim9Comment excludenl +^#[^{].*$+ contains=@vimCommentGroup,vimCommentString
|
||||||
syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
|
syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
|
||||||
syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
|
syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
|
||||||
syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
|
syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
|
||||||
@ -453,6 +454,9 @@ syn case match
|
|||||||
syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
|
syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncName,vimUserFunc,vimExecute
|
||||||
syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
|
syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>" contains=vimNotation
|
||||||
|
|
||||||
|
" User Command Highlighting: {{{2
|
||||||
|
syn match vimUsrCmd '^\s*\zs\u\w*.*$'
|
||||||
|
|
||||||
" Errors And Warnings: {{{2
|
" Errors And Warnings: {{{2
|
||||||
" ====================
|
" ====================
|
||||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
|
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
|
||||||
@ -598,7 +602,7 @@ syn match vimHiGuiFontname contained "'[a-zA-Z\-* ]\+'"
|
|||||||
syn match vimHiGuiRgb contained "#\x\{6}"
|
syn match vimHiGuiRgb contained "#\x\{6}"
|
||||||
|
|
||||||
" Highlighting: hi group key=arg ... {{{2
|
" Highlighting: hi group key=arg ... {{{2
|
||||||
syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
|
syn cluster vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
|
||||||
syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
|
syn region vimHiKeyList contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||" contains=@vimHiCluster
|
||||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
|
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
|
||||||
syn match vimHiKeyError contained "\i\+="he=e-1
|
syn match vimHiKeyError contained "\i\+="he=e-1
|
||||||
@ -607,6 +611,7 @@ syn match vimHiTerm contained "\cterm="he=e-1 nextgroup=vimHiAttribList
|
|||||||
syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
|
syn match vimHiStartStop contained "\c\(start\|stop\)="he=e-1 nextgroup=vimHiTermcap,vimOption
|
||||||
syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
|
syn match vimHiCTerm contained "\ccterm="he=e-1 nextgroup=vimHiAttribList
|
||||||
syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
|
syn match vimHiCtermFgBg contained "\ccterm[fb]g="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
|
||||||
|
syn match vimHiCtermul contained "\cctermul="he=e-1 nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
|
||||||
syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
|
syn match vimHiGui contained "\cgui="he=e-1 nextgroup=vimHiAttribList
|
||||||
syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
|
syn match vimHiGuiFont contained "\cfont="he=e-1 nextgroup=vimHiFontname
|
||||||
syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
|
syn match vimHiGuiFgBg contained "\cgui\%([fb]g\|sp\)="he=e-1 nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
|
||||||
@ -629,7 +634,7 @@ syn match vimCtrlChar "[--]"
|
|||||||
" Beginners - Patterns that involve ^ {{{2
|
" Beginners - Patterns that involve ^ {{{2
|
||||||
" =========
|
" =========
|
||||||
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
||||||
syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
syn match vim9LineComment +^[ \t:]*#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
|
||||||
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
|
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
|
||||||
syn match vimContinue "^\s*\\"
|
syn match vimContinue "^\s*\\"
|
||||||
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
|
||||||
@ -877,6 +882,7 @@ if !exists("skip_vim_syntax_inits")
|
|||||||
hi def link vimError Error
|
hi def link vimError Error
|
||||||
hi def link vimFBVar vimVar
|
hi def link vimFBVar vimVar
|
||||||
hi def link vimFgBgAttrib vimHiAttrib
|
hi def link vimFgBgAttrib vimHiAttrib
|
||||||
|
hi def link vimHiCtermul vimHiTerm
|
||||||
hi def link vimFold Folded
|
hi def link vimFold Folded
|
||||||
hi def link vimFTCmd vimCommand
|
hi def link vimFTCmd vimCommand
|
||||||
hi def link vimFTOption vimSynType
|
hi def link vimFTOption vimSynType
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
fasonita por priskribi sufi<66>ajn komandojn, por ke vi kapablu uzi Vim
|
fasonita por priskribi sufi<66>ajn komandojn, por ke vi kapablu uzi Vim
|
||||||
kun sufi<66>a facileco.
|
kun sufi<66>a facileco.
|
||||||
|
|
||||||
La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
|
La tempo bezonata por plenumi la kurson estas 30 minutoj, kaj dependas
|
||||||
de kiom da tempo estas uzata por eksperimenti.
|
de kiom da tempo estas uzata por eksperimenti.
|
||||||
|
|
||||||
ATENTU:
|
ATENTU:
|
||||||
@ -100,7 +100,7 @@ RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.
|
|||||||
1. Movu la kursoron al la unua suba linio markita per --->.
|
1. Movu la kursoron al la unua suba linio markita per --->.
|
||||||
|
|
||||||
2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
|
2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
|
||||||
signon post kie la teksto estas enmetenda.
|
signon anta<EFBFBD> kie la teksto estas enmetenda.
|
||||||
|
|
||||||
3. Premu i kaj tajpu la bezonatajn aldonojn.
|
3. Premu i kaj tajpu la bezonatajn aldonojn.
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ Nun da
|
|||||||
|
|
||||||
1. Premu <ESK> por certigi, ke vi estas en normala re<72>imo.
|
1. Premu <ESK> por certigi, ke vi estas en normala re<72>imo.
|
||||||
|
|
||||||
2. Movu la kursoron al la linio markita per --->.
|
2. Movu la kursoron al la suba linio markita per --->.
|
||||||
|
|
||||||
3. Movu la kursoron al la komenco de vorto, kiu forvi<76>endas.
|
3. Movu la kursoron al la komenco de vorto, kiu forvi<76>endas.
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ Nun da
|
|||||||
|
|
||||||
1. Premu <ESK> por certigi, ke vi estas en normala re<72>imo.
|
1. Premu <ESK> por certigi, ke vi estas en normala re<72>imo.
|
||||||
|
|
||||||
2. Movu la kursoron sur la suban linion markita per --->.
|
2. Movu la kursoron al la suba linio markita per --->.
|
||||||
|
|
||||||
3. Movu la kursoron <20>e la fino de la <20>usta linio (POST la unua . ).
|
3. Movu la kursoron <20>e la fino de la <20>usta linio (POST la unua . ).
|
||||||
|
|
||||||
@ -296,10 +296,10 @@ RIMARKO: Premo de nur la movo en Normala re
|
|||||||
|
|
||||||
1. Movu la kursoron <20>e la unua MAJUSKLA vorto en la linio markita per --->.
|
1. Movu la kursoron <20>e la unua MAJUSKLA vorto en la linio markita per --->.
|
||||||
|
|
||||||
2. Tajpu d2w por forvi<76>i la du MAJUSKLAJN vortojn
|
2. Tajpu d2w por forvi<76>i la du MAJUSKLAJN vortojn.
|
||||||
|
|
||||||
3. Ripetu pa<70>ojn 1 <20>is 2 per malsama nombro por forvi<76>i la sinsekvajn
|
3. Ripetu pa<70>ojn 1 <20>is 2 per malsama nombro por forvi<76>i la sinsekvajn
|
||||||
MAJUSKLAJN vortojn per unu komando
|
MAJUSKLAJN vortojn per unu komando.
|
||||||
|
|
||||||
---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
|
---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ RIMARKO: Premo de nur la movo en Normala re
|
|||||||
|
|
||||||
** Tajpu p por meti tekston forvi<76>itan anta<74>e post la kursoro. **
|
** Tajpu p por meti tekston forvi<76>itan anta<74>e post la kursoro. **
|
||||||
|
|
||||||
1. Movu la kursoron <20>e la unua ---> suba linio.
|
1. Movu la kursoron <20>e la unua suba linio markita per --->.
|
||||||
|
|
||||||
2. Tajpu dd por forvi<76>i la linion kaj konservi <20>in ene de re<72>istro de Vim.
|
2. Tajpu dd por forvi<76>i la linion kaj konservi <20>in ene de re<72>istro de Vim.
|
||||||
|
|
||||||
@ -652,7 +652,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi
|
|||||||
la dosiero estus precize same kiel kopio de la instruilo kiam vi
|
la dosiero estus precize same kiel kopio de la instruilo kiam vi
|
||||||
konservis <20>in.
|
konservis <20>in.
|
||||||
|
|
||||||
5. Nun forvi<76>u la dosieron tajpante (WINDOWS): :!del TESTO
|
5. Nun forvi<76>u la dosieron tajpante (VINDOZO): :!del TESTO
|
||||||
a<> (UNIKSO): :!rm TESTO
|
a<> (UNIKSO): :!rm TESTO
|
||||||
|
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
|||||||
1. :!komando plenumas eksteran komandon.
|
1. :!komando plenumas eksteran komandon.
|
||||||
|
|
||||||
Iuj utilaj ekzemploj estas:
|
Iuj utilaj ekzemploj estas:
|
||||||
(WINDOWS) (UNIKSO)
|
(VINDOZO) (UNIKSO)
|
||||||
:!dir :!ls - listigas dosierujon
|
:!dir :!ls - listigas dosierujon
|
||||||
:!del DOSIERNOMO :!rm DOSIERNOMO - forvi<76>as la dosieron DOSIERNOMO
|
:!del DOSIERNOMO :!rm DOSIERNOMO - forvi<76>as la dosieron DOSIERNOMO
|
||||||
|
|
||||||
@ -808,7 +808,7 @@ RIMARKO: Anstata
|
|||||||
** Uzu la y operatoron por kopii tekston, kaj p por alglui <20>in **
|
** Uzu la y operatoron por kopii tekston, kaj p por alglui <20>in **
|
||||||
|
|
||||||
|
|
||||||
1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
|
1. Iru al la suba linio markita per ---> kaj poziciu la kursoron post "a)".
|
||||||
|
|
||||||
2. Komencu la Viduman re<72>imon per v kaj movu la kursoron tuj anta<74> "unua".
|
2. Komencu la Viduman re<72>imon per v kaj movu la kursoron tuj anta<74> "unua".
|
||||||
|
|
||||||
@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu ser
|
|||||||
|
|
||||||
1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
|
1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
|
||||||
:e ~/.vimrc por Unikso
|
:e ~/.vimrc por Unikso
|
||||||
:e $VIM/_vimrc por Windows
|
:e $VIM/_vimrc por Vindozo
|
||||||
|
|
||||||
2. Nun legu la enhavon de la ekzempla "vimrc"
|
2. Nun legu la enhavon de la ekzempla "vimrc"
|
||||||
:r $VIMRUNTIME/vimrc_example.vim
|
:r $VIMRUNTIME/vimrc_example.vim
|
||||||
@ -945,7 +945,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu ser
|
|||||||
|
|
||||||
6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI
|
6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI
|
||||||
|
|
||||||
7. Premu <TAB>. Vim kompletigos la nomon (se <20>i estas unika)
|
7. Premu d<TAB>. Vim kompletigos la nomon (se <20>i estas unika)
|
||||||
|
|
||||||
RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
||||||
<TAB>. Estas aparte utila por :help .
|
<TAB>. Estas aparte utila por :help .
|
||||||
@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
|||||||
|
|
||||||
Esperantigita fare de Dominique Pell<6C>, 2008-04-01
|
Esperantigita fare de Dominique Pell<6C>, 2008-04-01
|
||||||
Retpo<70>to: dominique.pelle@gmail.com
|
Retpo<70>to: dominique.pelle@gmail.com
|
||||||
Lasta <20>an<61>o: 2018-12-02
|
Lasta <20>an<61>o: 2020-07-19
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
fasonita por priskribi sufiĉajn komandojn, por ke vi kapablu uzi Vim
|
fasonita por priskribi sufiĉajn komandojn, por ke vi kapablu uzi Vim
|
||||||
kun sufiĉa facileco.
|
kun sufiĉa facileco.
|
||||||
|
|
||||||
La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
|
La tempo bezonata por plenumi la kurson estas 30 minutoj, kaj dependas
|
||||||
de kiom da tempo estas uzata por eksperimenti.
|
de kiom da tempo estas uzata por eksperimenti.
|
||||||
|
|
||||||
ATENTU:
|
ATENTU:
|
||||||
@ -100,7 +100,7 @@ RIMARKO: Trairante la instruilon, ne provu memori, lernu per la uzo.
|
|||||||
1. Movu la kursoron al la unua suba linio markita per --->.
|
1. Movu la kursoron al la unua suba linio markita per --->.
|
||||||
|
|
||||||
2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
|
2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
|
||||||
signon post kie la teksto estas enmetenda.
|
signon antaŭ kie la teksto estas enmetenda.
|
||||||
|
|
||||||
3. Premu i kaj tajpu la bezonatajn aldonojn.
|
3. Premu i kaj tajpu la bezonatajn aldonojn.
|
||||||
|
|
||||||
@ -200,7 +200,7 @@ Nun daŭrigu al la leciono 2.
|
|||||||
|
|
||||||
1. Premu <ESK> por certigi, ke vi estas en normala reĝimo.
|
1. Premu <ESK> por certigi, ke vi estas en normala reĝimo.
|
||||||
|
|
||||||
2. Movu la kursoron al la linio markita per --->.
|
2. Movu la kursoron al la suba linio markita per --->.
|
||||||
|
|
||||||
3. Movu la kursoron al la komenco de vorto, kiu forviŝendas.
|
3. Movu la kursoron al la komenco de vorto, kiu forviŝendas.
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ Nun daŭrigu al la leciono 2.
|
|||||||
|
|
||||||
1. Premu <ESK> por certigi, ke vi estas en normala reĝimo.
|
1. Premu <ESK> por certigi, ke vi estas en normala reĝimo.
|
||||||
|
|
||||||
2. Movu la kursoron sur la suban linion markita per --->.
|
2. Movu la kursoron al la suba linio markita per --->.
|
||||||
|
|
||||||
3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unua . ).
|
3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unua . ).
|
||||||
|
|
||||||
@ -296,10 +296,10 @@ RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos
|
|||||||
|
|
||||||
1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->.
|
1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->.
|
||||||
|
|
||||||
2. Tajpu d2w por forviŝi la du MAJUSKLAJN vortojn
|
2. Tajpu d2w por forviŝi la du MAJUSKLAJN vortojn.
|
||||||
|
|
||||||
3. Ripetu paŝojn 1 ĝis 2 per malsama nombro por forviŝi la sinsekvajn
|
3. Ripetu paŝojn 1 ĝis 2 per malsama nombro por forviŝi la sinsekvajn
|
||||||
MAJUSKLAJN vortojn per unu komando
|
MAJUSKLAJN vortojn per unu komando.
|
||||||
|
|
||||||
---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
|
---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
|
||||||
|
|
||||||
@ -379,7 +379,7 @@ RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos
|
|||||||
|
|
||||||
** Tajpu p por meti tekston forviŝitan antaŭe post la kursoro. **
|
** Tajpu p por meti tekston forviŝitan antaŭe post la kursoro. **
|
||||||
|
|
||||||
1. Movu la kursoron ĉe la unua ---> suba linio.
|
1. Movu la kursoron ĉe la unua suba linio markita per --->.
|
||||||
|
|
||||||
2. Tajpu dd por forviŝi la linion kaj konservi ĝin ene de reĝistro de Vim.
|
2. Tajpu dd por forviŝi la linion kaj konservi ĝin ene de reĝistro de Vim.
|
||||||
|
|
||||||
@ -652,7 +652,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per vim TESTO,
|
|||||||
la dosiero estus precize same kiel kopio de la instruilo kiam vi
|
la dosiero estus precize same kiel kopio de la instruilo kiam vi
|
||||||
konservis ĝin.
|
konservis ĝin.
|
||||||
|
|
||||||
5. Nun forviŝu la dosieron tajpante (WINDOWS): :!del TESTO
|
5. Nun forviŝu la dosieron tajpante (VINDOZO): :!del TESTO
|
||||||
aŭ (UNIKSO): :!rm TESTO
|
aŭ (UNIKSO): :!rm TESTO
|
||||||
|
|
||||||
|
|
||||||
@ -713,7 +713,7 @@ RIMARKO: Vi nun povas legi la eliron de ekstera komando. Ekzemple,
|
|||||||
1. :!komando plenumas eksteran komandon.
|
1. :!komando plenumas eksteran komandon.
|
||||||
|
|
||||||
Iuj utilaj ekzemploj estas:
|
Iuj utilaj ekzemploj estas:
|
||||||
(WINDOWS) (UNIKSO)
|
(VINDOZO) (UNIKSO)
|
||||||
:!dir :!ls - listigas dosierujon
|
:!dir :!ls - listigas dosierujon
|
||||||
:!del DOSIERNOMO :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO
|
:!del DOSIERNOMO :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO
|
||||||
|
|
||||||
@ -808,7 +808,7 @@ RIMARKO: Anstataŭiga reĝimo estas same kiel Enmeta reĝimo, sed ĉiu signo
|
|||||||
** Uzu la y operatoron por kopii tekston, kaj p por alglui ĝin **
|
** Uzu la y operatoron por kopii tekston, kaj p por alglui ĝin **
|
||||||
|
|
||||||
|
|
||||||
1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
|
1. Iru al la suba linio markita per ---> kaj poziciu la kursoron post "a)".
|
||||||
|
|
||||||
2. Komencu la Viduman reĝimon per v kaj movu la kursoron tuj antaŭ "unua".
|
2. Komencu la Viduman reĝimon per v kaj movu la kursoron tuj antaŭ "unua".
|
||||||
|
|
||||||
@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu \c
|
|||||||
|
|
||||||
1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
|
1. Ekredaktu la dosieron "vimrc". Tio dependas de via sistemo:
|
||||||
:e ~/.vimrc por Unikso
|
:e ~/.vimrc por Unikso
|
||||||
:e $VIM/_vimrc por Windows
|
:e $VIM/_vimrc por Vindozo
|
||||||
|
|
||||||
2. Nun legu la enhavon de la ekzempla "vimrc"
|
2. Nun legu la enhavon de la ekzempla "vimrc"
|
||||||
:r $VIMRUNTIME/vimrc_example.vim
|
:r $VIMRUNTIME/vimrc_example.vim
|
||||||
@ -945,7 +945,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu \c
|
|||||||
|
|
||||||
6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI
|
6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo: :edit DOSI
|
||||||
|
|
||||||
7. Premu <TAB>. Vim kompletigos la nomon (se ĝi estas unika)
|
7. Premu d<TAB>. Vim kompletigos la nomon (se ĝi estas unika)
|
||||||
|
|
||||||
RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
||||||
<TAB>. Estas aparte utila por :help .
|
<TAB>. Estas aparte utila por :help .
|
||||||
@ -986,6 +986,6 @@ RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
|
|||||||
|
|
||||||
Esperantigita fare de Dominique Pellé, 2008-04-01
|
Esperantigita fare de Dominique Pellé, 2008-04-01
|
||||||
Retpoŝto: dominique.pelle@gmail.com
|
Retpoŝto: dominique.pelle@gmail.com
|
||||||
Lasta ŝanĝo: 2018-12-02
|
Lasta ŝanĝo: 2020-07-19
|
||||||
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
201
src/INSTALL
201
src/INSTALL
@ -181,203 +181,4 @@ OS/2 support was removed in patch 7.4.1008
|
|||||||
4. Atari MiNT
|
4. Atari MiNT
|
||||||
=============
|
=============
|
||||||
|
|
||||||
[NOTE: this is quite old, it might not work anymore]
|
Atari MiNT support was removed in patch 8.2.1215.
|
||||||
|
|
||||||
To compile Vim for MiNT you may either copy Make_mint.mak to Makefile or use
|
|
||||||
the Unix Makefile adapted for the MiNT configuration.
|
|
||||||
|
|
||||||
Now proceed as described in the Unix section.
|
|
||||||
|
|
||||||
Prerequisites:
|
|
||||||
|
|
||||||
You need a curses or termcap library that supports non-alphanumeric
|
|
||||||
termcap names. If you don't have any, link with termlib.o.
|
|
||||||
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
The rest of this file is based on the INSTALL file that comes with GNU
|
|
||||||
autoconf 2.12. Not everything applies to Vim. Read Makefile too!
|
|
||||||
|
|
||||||
|
|
||||||
Basic Installation
|
|
||||||
==================
|
|
||||||
|
|
||||||
These are generic installation instructions.
|
|
||||||
|
|
||||||
The `configure' shell script attempts to guess correct values for
|
|
||||||
various system-dependent variables used during compilation. It uses
|
|
||||||
those values to create a `Makefile' in each directory of the package.
|
|
||||||
It may also create one or more `.h' files containing system-dependent
|
|
||||||
definitions. Finally, it creates a shell script `config.status' that
|
|
||||||
you can run in the future to recreate the current configuration, a file
|
|
||||||
`config.cache' that saves the results of its tests to speed up
|
|
||||||
reconfiguring, and a file `config.log' containing compiler output
|
|
||||||
(useful mainly for debugging `configure').
|
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, please try
|
|
||||||
to figure out how `configure' could check whether to do them, and mail
|
|
||||||
diffs or instructions to the address given in the `README' so they can
|
|
||||||
be considered for the next release. If at some point `config.cache'
|
|
||||||
contains results you don't want to keep, you may remove or edit it.
|
|
||||||
|
|
||||||
The file `configure.ac' is used to create `configure' by a program
|
|
||||||
called `autoconf'. You only need `configure.ac' if you want to change
|
|
||||||
it or regenerate `configure' using a newer version of `autoconf'.
|
|
||||||
|
|
||||||
The simplest way to compile this package is:
|
|
||||||
|
|
||||||
1. `cd' to the directory containing the package's source code and type
|
|
||||||
`./configure' to configure the package for your system. If you're
|
|
||||||
using `csh' on an old version of System V, you might need to type
|
|
||||||
`sh ./configure' instead to prevent `csh' from trying to execute
|
|
||||||
`configure' itself.
|
|
||||||
|
|
||||||
Running `configure' takes awhile. While running, it prints some
|
|
||||||
messages telling which features it is checking for.
|
|
||||||
|
|
||||||
2. Type `make' to compile the package.
|
|
||||||
|
|
||||||
3. Optionally, type `make check' to run any self-tests that come with
|
|
||||||
the package.
|
|
||||||
|
|
||||||
4. Type `make install' to install the programs and any data files and
|
|
||||||
documentation.
|
|
||||||
|
|
||||||
5. You can remove the program binaries and object files from the
|
|
||||||
source code directory by typing `make clean'. To also remove the
|
|
||||||
files that `configure' created (so you can compile the package for
|
|
||||||
a different kind of computer), type `make distclean'. There is
|
|
||||||
also a `make maintainer-clean' target, but that is intended mainly
|
|
||||||
for the package's developers. If you use it, you may have to get
|
|
||||||
all sorts of other programs in order to regenerate files that came
|
|
||||||
with the distribution.
|
|
||||||
|
|
||||||
Compilers and Options
|
|
||||||
=====================
|
|
||||||
|
|
||||||
Some systems require unusual options for compilation or linking that
|
|
||||||
the `configure' script does not know about. You can give `configure'
|
|
||||||
initial values for variables by setting them in the environment. Using
|
|
||||||
a Bourne-compatible shell, you can do that on the command line like
|
|
||||||
this:
|
|
||||||
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
|
|
||||||
|
|
||||||
Or on systems that have the `env' program, you can do it like this:
|
|
||||||
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
|
|
||||||
|
|
||||||
Compiling For Multiple Architectures
|
|
||||||
====================================
|
|
||||||
|
|
||||||
You can compile the package for more than one kind of computer at the
|
|
||||||
same time, by placing the object files for each architecture in their
|
|
||||||
own directory. To do this, you must use a version of `make' that
|
|
||||||
supports the `VPATH' variable, such as GNU `make'. `cd' to the
|
|
||||||
directory where you want the object files and executables to go and run
|
|
||||||
the `configure' script. `configure' automatically checks for the
|
|
||||||
source code in the directory that `configure' is in and in `..'.
|
|
||||||
|
|
||||||
If you have to use a `make' that does not support the `VPATH'
|
|
||||||
variable, you have to compile the package for one architecture at a time
|
|
||||||
in the source code directory. After you have installed the package for
|
|
||||||
one architecture, use `make distclean' before reconfiguring for another
|
|
||||||
architecture.
|
|
||||||
|
|
||||||
Installation Names
|
|
||||||
==================
|
|
||||||
|
|
||||||
By default, `make install' will install the package's files in
|
|
||||||
`/usr/local/bin', `/usr/local/man', etc. You can specify an
|
|
||||||
installation prefix other than `/usr/local' by giving `configure' the
|
|
||||||
option `--prefix=PATH'.
|
|
||||||
|
|
||||||
You can specify separate installation prefixes for
|
|
||||||
architecture-specific files and architecture-independent files. If you
|
|
||||||
give `configure' the option `--exec-prefix=PATH', the package will use
|
|
||||||
PATH as the prefix for installing programs and libraries.
|
|
||||||
Documentation and other data files will still use the regular prefix.
|
|
||||||
|
|
||||||
In addition, if you use an unusual directory layout you can give
|
|
||||||
options like `--bindir=PATH' to specify different values for particular
|
|
||||||
kinds of files. Run `configure --help' for a list of the directories
|
|
||||||
you can set and what kinds of files go in them.
|
|
||||||
|
|
||||||
If the package supports it, you can cause programs to be installed
|
|
||||||
with an extra prefix or suffix on their names by giving `configure' the
|
|
||||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
|
||||||
|
|
||||||
Optional Features
|
|
||||||
=================
|
|
||||||
|
|
||||||
Some packages pay attention to `--enable-FEATURE' options to
|
|
||||||
`configure', where FEATURE indicates an optional part of the package.
|
|
||||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
|
|
||||||
is something like `gnu-as' or `x' (for the X Window System). The
|
|
||||||
`README' should mention any `--enable-' and `--with-' options that the
|
|
||||||
package recognizes.
|
|
||||||
|
|
||||||
For packages that use the X Window System, `configure' can usually
|
|
||||||
find the X include and library files automatically, but if it doesn't,
|
|
||||||
you can use the `configure' options `--x-includes=DIR' and
|
|
||||||
`--x-libraries=DIR' to specify their locations.
|
|
||||||
|
|
||||||
Specifying the System Type
|
|
||||||
==========================
|
|
||||||
|
|
||||||
There may be some features `configure' can not figure out
|
|
||||||
automatically, but needs to determine by the type of host the package
|
|
||||||
will run on. Usually `configure' can figure that out, but if it prints
|
|
||||||
a message saying it can not guess the host type, give it the
|
|
||||||
`--host=TYPE' option. TYPE can either be a short name for the system
|
|
||||||
type, such as `sun4', or a canonical name with three fields:
|
|
||||||
CPU-COMPANY-SYSTEM
|
|
||||||
|
|
||||||
See the file `config.sub' for the possible values of each field. If
|
|
||||||
`config.sub' isn't included in this package, then this package doesn't
|
|
||||||
need to know the host type.
|
|
||||||
|
|
||||||
If you are building compiler tools for cross-compiling, you can also
|
|
||||||
use the `--target=TYPE' option to select the type of system they will
|
|
||||||
produce code for and the `--build=TYPE' option to select the type of
|
|
||||||
system on which you are compiling the package.
|
|
||||||
|
|
||||||
Sharing Defaults
|
|
||||||
================
|
|
||||||
|
|
||||||
If you want to set default values for `configure' scripts to share,
|
|
||||||
you can create a site shell script called `config.site' that gives
|
|
||||||
default values for variables like `CC', `cache_file', and `prefix'.
|
|
||||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
|
||||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
|
||||||
`CONFIG_SITE' environment variable to the location of the site script.
|
|
||||||
A warning: not all `configure' scripts look for a site script.
|
|
||||||
|
|
||||||
Operation Controls
|
|
||||||
==================
|
|
||||||
|
|
||||||
`configure' recognizes the following options to control how it
|
|
||||||
operates.
|
|
||||||
|
|
||||||
`--cache-file=FILE'
|
|
||||||
Use and save the results of the tests in FILE instead of
|
|
||||||
`./config.cache'. Set FILE to `/dev/null' to disable caching, for
|
|
||||||
debugging `configure'.
|
|
||||||
|
|
||||||
`--help'
|
|
||||||
Print a summary of the options to `configure', and exit.
|
|
||||||
|
|
||||||
`--quiet'
|
|
||||||
`--silent'
|
|
||||||
`-q'
|
|
||||||
Do not print messages saying which checks are being made. To
|
|
||||||
suppress all normal output, redirect it to `/dev/null' (any error
|
|
||||||
messages will still be shown).
|
|
||||||
|
|
||||||
`--srcdir=DIR'
|
|
||||||
Look for the package's source code in directory DIR. Usually
|
|
||||||
`configure' can determine that directory automatically.
|
|
||||||
|
|
||||||
`--version'
|
|
||||||
Print the version of Autoconf used to generate the `configure'
|
|
||||||
script, and exit.
|
|
||||||
|
|
||||||
`configure' also accepts some other, not widely useful, options.
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user