mirror of
https://github.com/zoriya/vim.git
synced 2025-12-24 16:15:21 +00:00
Compare commits
264 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b1d6e98c6 | ||
|
|
bd89d44063 | ||
|
|
481acb1141 | ||
|
|
f6246f51e3 | ||
|
|
14f23122bf | ||
|
|
8196e94a8b | ||
|
|
92f645bef7 | ||
|
|
bece72785d | ||
|
|
414acd342f | ||
|
|
949b35d83b | ||
|
|
560dff49c0 | ||
|
|
74a0a5b26d | ||
|
|
9da17d7c57 | ||
|
|
78a8404f8b | ||
|
|
769f5895eb | ||
|
|
28e8f73ae2 | ||
|
|
68cc2b8a37 | ||
|
|
b6a138eb33 | ||
|
|
dce2441a60 | ||
|
|
3a5988c025 | ||
|
|
779aeff5c3 | ||
|
|
e023d49937 | ||
|
|
73a16c22a4 | ||
|
|
e3537aec2f | ||
|
|
51ab7c7d0d | ||
|
|
3908ef5017 | ||
|
|
3787f26c2e | ||
|
|
f681cfb90b | ||
|
|
7aca5ca676 | ||
|
|
92368aad61 | ||
|
|
28f1a51bde | ||
|
|
4e713bafc0 | ||
|
|
54969f4ef5 | ||
|
|
63ff72aab9 | ||
|
|
b247e0622e | ||
|
|
6bf821e8ab | ||
|
|
8cbf249917 | ||
|
|
5f4ef5f5e5 | ||
|
|
107f7325f6 | ||
|
|
160afdb185 | ||
|
|
2626d6a71c | ||
|
|
fe1bfc9b26 | ||
|
|
8164f6ea3c | ||
|
|
0c1550d9e9 | ||
|
|
500761b1cf | ||
|
|
e5b7897585 | ||
|
|
00eb99528e | ||
|
|
cd53eed2c5 | ||
|
|
82e46e5d31 | ||
|
|
e0c2b2ceaa | ||
|
|
4fa1346bf4 | ||
|
|
46f3080e5c | ||
|
|
fc88df42f1 | ||
|
|
21ebb0899e | ||
|
|
83d0cec956 | ||
|
|
3e79c97c18 | ||
|
|
a2baa73d1d | ||
|
|
46950b225f | ||
|
|
972db23279 | ||
|
|
7676c15879 | ||
|
|
02a977ea5e | ||
|
|
5658ca343f | ||
|
|
a8ec4916ca | ||
|
|
5411910c77 | ||
|
|
6e1d31e9e3 | ||
|
|
2d3ac2e030 | ||
|
|
381692b6f1 | ||
|
|
a1c5195180 | ||
|
|
ab8f7c50cf | ||
|
|
73257149d7 | ||
|
|
adbb1bf21d | ||
|
|
9b4a80a665 | ||
|
|
eb4a9ba293 | ||
|
|
8133018f50 | ||
|
|
4e3b318230 | ||
|
|
68854a82fd | ||
|
|
9e0208f51c | ||
|
|
223a950a85 | ||
|
|
c570e9cf68 | ||
|
|
c4573eb12d | ||
|
|
424bcae1fb | ||
|
|
eb6c276595 | ||
|
|
1f47a287ee | ||
|
|
672776dbe8 | ||
|
|
48a604845e | ||
|
|
44d1f89c24 | ||
|
|
4c93aff20f | ||
|
|
5703310e64 | ||
|
|
6a05807092 | ||
|
|
d8fe6d34bb | ||
|
|
ec3637cbaf | ||
|
|
44a4d947bb | ||
|
|
679d66c2d2 | ||
|
|
848faddb87 | ||
|
|
06011e1a55 | ||
|
|
6970e1e36a | ||
|
|
f10911e5db | ||
|
|
62aec93bfd | ||
|
|
135e15251e | ||
|
|
d5cec1f1f0 | ||
|
|
f12b7815f6 | ||
|
|
37f47958b8 | ||
|
|
4dc0dd8699 | ||
|
|
97c554d514 | ||
|
|
24714a1916 | ||
|
|
585ee07cfe | ||
|
|
a0c4e2f2d7 | ||
|
|
06f15416bb | ||
|
|
e96eea7b6a | ||
|
|
652dee4486 | ||
|
|
14cbf77845 | ||
|
|
57ff2b7068 | ||
|
|
fb55207ed1 | ||
|
|
420fabcd4f | ||
|
|
fb80862e49 | ||
|
|
ddd815ba2a | ||
|
|
bd8168c770 | ||
|
|
fbf4f1ca15 | ||
|
|
166788c657 | ||
|
|
37cf413e3e | ||
|
|
b3d83980d2 | ||
|
|
a4bc2dd7cc | ||
|
|
98cd30383a | ||
|
|
35c807df1f | ||
|
|
94373c48e7 | ||
|
|
745b938a48 | ||
|
|
b0ad2d92fd | ||
|
|
e939f5ebba | ||
|
|
fc4c44836a | ||
|
|
70c43d84be | ||
|
|
1080c48ec8 | ||
|
|
1a804528ab | ||
|
|
47d1666d60 | ||
|
|
a827bf3ea8 | ||
|
|
250155ae31 | ||
|
|
44db8213d3 | ||
|
|
806d037671 | ||
|
|
8d02ce1ed7 | ||
|
|
06b77229ca | ||
|
|
dc5490e2cb | ||
|
|
85b6747abc | ||
|
|
76687d2717 | ||
|
|
1450112eef | ||
|
|
3a8ad5918b | ||
|
|
a6c09a7c20 | ||
|
|
3e93a2b075 | ||
|
|
dff97e65eb | ||
|
|
50e0525445 | ||
|
|
fe6fb267e6 | ||
|
|
4663435074 | ||
|
|
7924a17791 | ||
|
|
502d8ae3e8 | ||
|
|
acc4b5648b | ||
|
|
8e4af851fd | ||
|
|
7e765a39b7 | ||
|
|
c351dc1e0c | ||
|
|
058ee7c569 | ||
|
|
2a7aa83458 | ||
|
|
428058ab32 | ||
|
|
79a6e25b79 | ||
|
|
abe628e1bd | ||
|
|
f4e88f2152 | ||
|
|
7ef4a2fe37 | ||
|
|
e15ebeffb3 | ||
|
|
206919191f | ||
|
|
d1c58999c8 | ||
|
|
6f4754b9f7 | ||
|
|
bcfa11b7df | ||
|
|
ff5cbe8133 | ||
|
|
36c2add7f8 | ||
|
|
28e60cc088 | ||
|
|
47bcc5f4c8 | ||
|
|
3ba685eeef | ||
|
|
39b8944539 | ||
|
|
7b29f6a394 | ||
|
|
5600a709f4 | ||
|
|
9530b580a7 | ||
|
|
0bfa84916d | ||
|
|
b697dc295d | ||
|
|
3d8e25a6d2 | ||
|
|
0bd663a380 | ||
|
|
19e69a6330 | ||
|
|
e70dd11ef4 | ||
|
|
6517f14165 | ||
|
|
f0e7e6365e | ||
|
|
b7057bdd09 | ||
|
|
45f9cfbdc7 | ||
|
|
e6a4200ff4 | ||
|
|
dd5893be34 | ||
|
|
e615db0604 | ||
|
|
05386ca1d4 | ||
|
|
6f0ddbf00d | ||
|
|
2017d6f3b1 | ||
|
|
9c7cae66bc | ||
|
|
21f0d6cbca | ||
|
|
4ede01f188 | ||
|
|
92000e2e71 | ||
|
|
14b8d6ac6b | ||
|
|
ae1bd87fe8 | ||
|
|
726f7f91fd | ||
|
|
7e93577a95 | ||
|
|
05b2761548 | ||
|
|
4ac893f321 | ||
|
|
fc6ccebea6 | ||
|
|
57df9e8a9f | ||
|
|
8aa0e6c60d | ||
|
|
ca34db3bde | ||
|
|
f61c89d2e6 | ||
|
|
bed34f0a8a | ||
|
|
f67c717e34 | ||
|
|
937610bc9f | ||
|
|
1a8825d7a3 | ||
|
|
b0b2b73dca | ||
|
|
b4868eddd9 | ||
|
|
17dd519633 | ||
|
|
a9528b39a6 | ||
|
|
94075b2b0e | ||
|
|
ef7aadbe36 | ||
|
|
d02dce2bb5 | ||
|
|
fd218c8a36 | ||
|
|
6079da7cfb | ||
|
|
113b8dc111 | ||
|
|
840f16202e | ||
|
|
1836d61578 | ||
|
|
cbbc48f64b | ||
|
|
31dcc8de46 | ||
|
|
1247126956 | ||
|
|
64283d5e1f | ||
|
|
78f60322f7 | ||
|
|
afa76e1cf2 | ||
|
|
b3d9ceed2b | ||
|
|
6389baa669 | ||
|
|
15d1635e50 | ||
|
|
3f3597be3f | ||
|
|
262898ae43 | ||
|
|
9f8c304c8a | ||
|
|
e8741a73e2 | ||
|
|
0023f82a76 | ||
|
|
47036b6bd7 | ||
|
|
c73499351a | ||
|
|
c665dabdf4 | ||
|
|
c84287d6d8 | ||
|
|
dc98776f89 | ||
|
|
d9b74a2a41 | ||
|
|
d648c01f2f | ||
|
|
8f9956994d | ||
|
|
fd31be29b8 | ||
|
|
c81e9bf4f0 | ||
|
|
f6ebc82004 | ||
|
|
a9725221ac | ||
|
|
fa1a457059 | ||
|
|
b5988e3656 | ||
|
|
bfac409d0b | ||
|
|
38ecd97226 | ||
|
|
857c8bb1bb | ||
|
|
d4e2f50901 | ||
|
|
04b871da80 | ||
|
|
e32c3c462c | ||
|
|
069613c9e8 | ||
|
|
f60a63485e | ||
|
|
1050476ead | ||
|
|
e3ce17a3ca | ||
|
|
e1833bfd01 | ||
|
|
c53b467473 |
6
.github/CODEOWNERS
vendored
6
.github/CODEOWNERS
vendored
@@ -9,6 +9,7 @@
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
# will be requested to review.
|
||||
|
||||
runtime/autoload/freebasic.vim @dkearns
|
||||
runtime/autoload/getscript.vim @cecamp
|
||||
runtime/autoload/netrw.vim @cecamp
|
||||
runtime/autoload/netrwFileHandlers.vim @cecamp
|
||||
@@ -111,6 +112,7 @@ runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
runtime/ftplugin/pdf.vim @tpope
|
||||
runtime/ftplugin/ps1.vim @heaths
|
||||
runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/routeros.vim @zainin
|
||||
runtime/ftplugin/ruby.vim @tpope @dkearns
|
||||
runtime/ftplugin/sass.vim @tpope
|
||||
@@ -126,6 +128,7 @@ runtime/ftplugin/typescript.vim @dkearns
|
||||
runtime/ftplugin/typescriptreact.vim @dkearns
|
||||
runtime/ftplugin/xml.vim @chrisbra
|
||||
runtime/ftplugin/zsh.vim @chrisbra
|
||||
runtime/indent/basic.vim @dkearns
|
||||
runtime/indent/bst.vim @tpope
|
||||
runtime/indent/cdl.vim @dkearns
|
||||
runtime/indent/clojure.vim @axvr
|
||||
@@ -140,6 +143,7 @@ runtime/indent/elm.vim @andys8
|
||||
runtime/indent/eruby.vim @tpope @dkearns
|
||||
runtime/indent/eterm.vim @dkearns
|
||||
runtime/indent/framescript.vim @dkearns
|
||||
runtime/indent/freebasic.vim @dkearns
|
||||
runtime/indent/gitconfig.vim @tpope
|
||||
runtime/indent/haml.vim @tpope
|
||||
runtime/indent/idlang.vim @dkearns
|
||||
@@ -154,6 +158,7 @@ runtime/indent/occam.vim @dkearns
|
||||
runtime/indent/postscr.vim @dkearns
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/readline.vim @dkearns
|
||||
runtime/indent/ruby.vim @AndrewRadev @dkearns
|
||||
runtime/indent/sass.vim @tpope
|
||||
@@ -239,6 +244,7 @@ runtime/syntax/prolog.vim @XVilka
|
||||
runtime/syntax/ps1.vim @heaths
|
||||
runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/rc.vim @chrisbra
|
||||
runtime/syntax/routeros.vim @zainin
|
||||
runtime/syntax/rpcgen.vim @cecamp
|
||||
|
||||
51
.github/workflows/ci.yml
vendored
51
.github/workflows/ci.yml
vendored
@@ -63,25 +63,30 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.features == 'huge'
|
||||
run: |
|
||||
sudo apt update && sudo apt install -y \
|
||||
autoconf \
|
||||
lcov \
|
||||
PKGS=( \
|
||||
gettext \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
cscope \
|
||||
libgtk2.0-dev \
|
||||
desktop-file-utils \
|
||||
libtool-bin \
|
||||
libsodium-dev
|
||||
)
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
PKGS+=( \
|
||||
autoconf \
|
||||
lcov \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
python-dev \
|
||||
python3-dev \
|
||||
liblua5.3-dev \
|
||||
lua5.3 \
|
||||
ruby-dev \
|
||||
tcl-dev \
|
||||
cscope \
|
||||
libsodium-dev \
|
||||
)
|
||||
fi
|
||||
sudo apt update && sudo apt install -y "${PKGS[@]}"
|
||||
|
||||
- name: Install clang-13
|
||||
if: matrix.compiler == 'clang'
|
||||
@@ -284,6 +289,7 @@ jobs:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.features == 'huge'
|
||||
env:
|
||||
HOMEBREW_NO_AUTO_UPDATE: 1
|
||||
run: |
|
||||
@@ -338,7 +344,7 @@ jobs:
|
||||
make ${TEST}
|
||||
|
||||
windows:
|
||||
runs-on: windows-latest
|
||||
runs-on: windows-2019
|
||||
|
||||
env:
|
||||
VCVARSALL: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat
|
||||
@@ -466,17 +472,15 @@ jobs:
|
||||
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 ^
|
||||
nmake -nologo -f Make_mvc.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 ^
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
GUI=yes IME=yes ICONV=yes VIMDLL=yes
|
||||
)
|
||||
@@ -526,16 +530,18 @@ jobs:
|
||||
call "%VCVARSALL%" ${{ matrix.vcarch }}
|
||||
cd src
|
||||
echo.
|
||||
echo %COL_GREEN%vim version:%COL_RESET%
|
||||
echo ::group::%COL_GREEN%Vim version:%COL_RESET%
|
||||
.\vim --version || exit 1
|
||||
echo ::endgroup::
|
||||
|
||||
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%
|
||||
echo ::group::%COL_GREEN%Test gvim:%COL_RESET%
|
||||
cd testdir
|
||||
nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
|
||||
cd ..
|
||||
echo ::endgroup::
|
||||
|
||||
echo %COL_GREEN%Wait for vim tests to finish.%COL_RESET%
|
||||
cd ..\src2\testdir
|
||||
@@ -548,10 +554,11 @@ jobs:
|
||||
set timeout=1
|
||||
:exitloop
|
||||
|
||||
echo %COL_GREEN%Test results of vim:%COL_RESET%
|
||||
echo ::group::%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
|
||||
)
|
||||
echo ::endgroup::
|
||||
|
||||
12
Filelist
12
Filelist
@@ -113,6 +113,8 @@ SRC_ALL = \
|
||||
src/nbdebug.h \
|
||||
src/netbeans.c \
|
||||
src/normal.c \
|
||||
src/nv_cmdidxs.h \
|
||||
src/nv_cmds.h \
|
||||
src/ops.c \
|
||||
src/option.c \
|
||||
src/option.h \
|
||||
@@ -443,6 +445,8 @@ SRC_UNIX = \
|
||||
src/configure \
|
||||
src/configure.ac \
|
||||
src/create_cmdidxs.vim \
|
||||
src/create_nvcmdidxs.c \
|
||||
src/create_nvcmdidxs.vim \
|
||||
src/gui_at_fs.c \
|
||||
src/gui_at_sb.c \
|
||||
src/gui_at_sb.h \
|
||||
@@ -543,18 +547,14 @@ SRC_DOS = \
|
||||
tools/rename.bat \
|
||||
src/bigvim.bat \
|
||||
src/bigvim64.bat \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
src/msvc2015.bat \
|
||||
src/msys32.bat \
|
||||
src/msys64.bat \
|
||||
src/dimm.idl \
|
||||
src/dlldata.c \
|
||||
src/dosinst.c \
|
||||
src/dosinst.h \
|
||||
src/glbl_ime.cpp \
|
||||
src/glbl_ime.h \
|
||||
src/gui_dwrite.cpp \
|
||||
src/gui_dwrite.h \
|
||||
src/gui_w32.c \
|
||||
@@ -663,10 +663,7 @@ SRC_HAIKU = \
|
||||
# source files for the Mac (also in the extra archive)
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/dehqx.py \
|
||||
src/os_mac_rsrc/*.icns \
|
||||
src/os_mac.h \
|
||||
src/os_mac.rsr.hqx \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.m \
|
||||
src/proto/os_mac_conv.pro \
|
||||
@@ -704,7 +701,6 @@ SRC_EXTRA = \
|
||||
$(SRC_QNX) \
|
||||
$(SRC_VMS) \
|
||||
README_os390.txt \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
src/os_vms_fix.com \
|
||||
src/toolbar.phi \
|
||||
|
||||
@@ -5,11 +5,9 @@ setlocal ENABLEDELAYEDEXPANSION
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
|
||||
cd src
|
||||
:: Filter out the progress bar from the build log
|
||||
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
|
||||
echo "Building MSVC 64bit console Version"
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=no IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
if not exist vim.exe (
|
||||
@@ -21,13 +19,13 @@ if not exist vim.exe (
|
||||
:: GUI needs to be last, so that testing works
|
||||
echo "Building MSVC 64bit GUI Version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.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%
|
||||
) ELSE (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 ^
|
||||
nmake -f Make_mvc.mak CPU=AMD64 ^
|
||||
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no ^
|
||||
FEATURES=%FEATURE%
|
||||
)
|
||||
|
||||
@@ -4,13 +4,13 @@ vim9script noclear
|
||||
# Language: C
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Rewritten in Vim9 script by github user lacygoill
|
||||
# Last Change: 2021 Dec 27
|
||||
# Last Change: 2022 Jan 31
|
||||
|
||||
var prepended: string
|
||||
var grepCache: dict<list<dict<any>>>
|
||||
|
||||
# This function is used for the 'omnifunc' option.
|
||||
def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
|
||||
export def Complete(findstart: bool, abase: string): any # {{{1
|
||||
if findstart
|
||||
# Locate the start of the item, including ".", "->" and "[...]".
|
||||
var line: string = getline('.')
|
||||
@@ -202,7 +202,7 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
|
||||
|| !v['static']
|
||||
|| bufnr('%') == bufnr(v['filename']))
|
||||
|
||||
res = extendnew(res, tags->map((_, v: dict<any>) => Tag2item(v)))
|
||||
res = res->extend(tags->map((_, v: dict<any>) => Tag2item(v)))
|
||||
endif
|
||||
|
||||
if len(res) == 0
|
||||
@@ -216,9 +216,9 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
|
||||
for i: number in len(diclist)->range()
|
||||
# New ctags has the "typeref" field. Patched version has "typename".
|
||||
if diclist[i]->has_key('typename')
|
||||
res = extendnew(res, diclist[i]['typename']->StructMembers(items[1 :], true))
|
||||
res = res->extend(diclist[i]['typename']->StructMembers(items[1 :], true))
|
||||
elseif diclist[i]->has_key('typeref')
|
||||
res = extendnew(res, diclist[i]['typeref']->StructMembers(items[1 :], true))
|
||||
res = res->extend(diclist[i]['typeref']->StructMembers(items[1 :], true))
|
||||
endif
|
||||
|
||||
# For a variable use the command, which must be a search pattern that
|
||||
@@ -227,7 +227,7 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
|
||||
var line: string = diclist[i]['cmd']
|
||||
if line[: 1] == '/^'
|
||||
var col: number = line->charidx(match(line, '\<' .. items[0] .. '\>'))
|
||||
res = extendnew(res, line[2 : col - 1]->Nextitem(items[1 :], 0, true))
|
||||
res = res->extend(line[2 : col - 1]->Nextitem(items[1 :], 0, true))
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
@@ -256,11 +256,10 @@ def ccomplete#Complete(findstart: bool, abase: string): any # {{{1
|
||||
enddef
|
||||
|
||||
def GetAddition( # {{{1
|
||||
line: string,
|
||||
match: string,
|
||||
memarg: list<dict<any>>,
|
||||
bracket: bool
|
||||
): string
|
||||
line: string,
|
||||
match: string,
|
||||
memarg: list<dict<any>>,
|
||||
bracket: bool): string
|
||||
# Guess if the item is an array.
|
||||
if bracket && match(line, match .. '\s*\[') > 0
|
||||
return '['
|
||||
@@ -403,10 +402,9 @@ def Tagline2item(val: dict<any>, brackets: string): dict<string> # {{{1
|
||||
enddef
|
||||
|
||||
def Tagcmd2extra( # {{{1
|
||||
cmd: string,
|
||||
name: string,
|
||||
fname: string
|
||||
): string
|
||||
cmd: string,
|
||||
name: string,
|
||||
fname: string): string
|
||||
# Turn a command from a tag line to something that is useful in the menu
|
||||
var x: string
|
||||
if cmd =~ '^/^'
|
||||
@@ -427,11 +425,10 @@ def Tagcmd2extra( # {{{1
|
||||
enddef
|
||||
|
||||
def Nextitem( # {{{1
|
||||
lead: string,
|
||||
items: list<string>,
|
||||
depth: number,
|
||||
all: bool
|
||||
): list<dict<string>>
|
||||
lead: string,
|
||||
items: list<string>,
|
||||
depth: number,
|
||||
all: bool): list<dict<string>>
|
||||
# Find composing type in "lead" and match items[0] with it.
|
||||
# Repeat this recursively for items[1], if it's there.
|
||||
# When resolving typedefs "depth" is used to avoid infinite recursion.
|
||||
@@ -473,11 +470,11 @@ def Nextitem( # {{{1
|
||||
|
||||
# New ctags has the "typeref" field. Patched version has "typename".
|
||||
if item->has_key('typeref')
|
||||
res = extendnew(res, item['typeref']->StructMembers(items, all))
|
||||
res = res->extend(item['typeref']->StructMembers(items, all))
|
||||
continue
|
||||
endif
|
||||
if item->has_key('typename')
|
||||
res = extendnew(res, item['typename']->StructMembers(items, all))
|
||||
res = res->extend(item['typename']->StructMembers(items, all))
|
||||
continue
|
||||
endif
|
||||
|
||||
@@ -511,11 +508,11 @@ def Nextitem( # {{{1
|
||||
endif
|
||||
endfor
|
||||
if name != ''
|
||||
res = extendnew(res, StructMembers(cmdtokens[0] .. ':' .. name, items, all))
|
||||
res = res->extend(StructMembers(cmdtokens[0] .. ':' .. name, items, all))
|
||||
endif
|
||||
elseif depth < 10
|
||||
# Could be "typedef other_T some_T".
|
||||
res = extendnew(res, cmdtokens[0]->Nextitem(items, depth + 1, all))
|
||||
res = res->extend(cmdtokens[0]->Nextitem(items, depth + 1, all))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -529,10 +526,9 @@ def Nextitem( # {{{1
|
||||
enddef
|
||||
|
||||
def StructMembers( # {{{1
|
||||
atypename: string,
|
||||
items: list<string>,
|
||||
all: bool
|
||||
): list<dict<string>>
|
||||
atypename: string,
|
||||
items: list<string>,
|
||||
all: bool): list<dict<string>>
|
||||
|
||||
# Search for members of structure "typename" in tags files.
|
||||
# Return a list with resulting matches.
|
||||
@@ -641,10 +637,9 @@ def StructMembers( # {{{1
|
||||
enddef
|
||||
|
||||
def SearchMembers( # {{{1
|
||||
matches: list<dict<any>>,
|
||||
items: list<string>,
|
||||
all: bool
|
||||
): list<dict<string>>
|
||||
matches: list<dict<any>>,
|
||||
items: list<string>,
|
||||
all: bool): list<dict<string>>
|
||||
|
||||
# For matching members, find matches for following items.
|
||||
# When "all" is true find all, otherwise just return 1 if there is any member.
|
||||
@@ -674,7 +669,7 @@ def SearchMembers( # {{{1
|
||||
endif
|
||||
|
||||
if typename != ''
|
||||
res = extendnew(res, StructMembers(typename, items, all))
|
||||
res = res->extend(StructMembers(typename, items, all))
|
||||
else
|
||||
# Use the search command (the declaration itself).
|
||||
var sb: number = line->match('\t\zs/^')
|
||||
@@ -683,7 +678,7 @@ def SearchMembers( # {{{1
|
||||
var e: number = line
|
||||
->charidx(match(line, '\<' .. matches[i]['match'] .. '\>', sb))
|
||||
if e > 0
|
||||
res = extendnew(res, line[s : e - 1]->Nextitem(items, 0, all))
|
||||
res = res->extend(line[s : e - 1]->Nextitem(items, 0, all))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
752
runtime/autoload/dist/ft.vim
vendored
752
runtime/autoload/dist/ft.vim
vendored
File diff suppressed because it is too large
Load Diff
41
runtime/autoload/freebasic.vim
Normal file
41
runtime/autoload/freebasic.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: FreeBASIC
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
" Dialects can be one of fb, qb, fblite, or deprecated
|
||||
" Precedence is forcelang > #lang > lang
|
||||
function! freebasic#GetDialect() abort
|
||||
if exists("g:freebasic_forcelang")
|
||||
return g:freebasic_forcelang
|
||||
endif
|
||||
|
||||
if exists("g:freebasic_lang")
|
||||
let dialect = g:freebasic_lang
|
||||
else
|
||||
let dialect = "fb"
|
||||
endif
|
||||
|
||||
" override with #lang directive or metacommand
|
||||
|
||||
let skip = "has('syntax_items') && synIDattr(synID(line('.'), col('.'), 1), 'name') =~ 'Comment$'"
|
||||
let pat = '\c^\s*\%(#\s*lang\s\+\|''\s*$lang\s*:\s*\)"\([^"]*\)"'
|
||||
|
||||
let save_cursor = getcurpos()
|
||||
call cursor(1, 1)
|
||||
let lnum = search(pat, 'n', '', '', skip)
|
||||
call setpos('.', save_cursor)
|
||||
|
||||
if lnum
|
||||
let word = matchlist(getline(lnum), pat)[1]
|
||||
if word =~? '\%(fb\|deprecated\|fblite\|qb\)'
|
||||
let dialect = word
|
||||
else
|
||||
echomsg "freebasic#GetDialect: Invalid lang, found '" .. word .. "' at line " .. lnum .. " " .. getline(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
return dialect
|
||||
endfunction
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
||||
*autocmd.txt* For Vim version 8.2. Last change: 2022 Feb 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -51,10 +51,10 @@ effects. Be careful not to destroy your text.
|
||||
2. Defining autocommands *autocmd-define*
|
||||
|
||||
*:au* *:autocmd*
|
||||
:au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
|
||||
:au[tocmd] [group] {event} {aupat} [++once] [++nested] {cmd}
|
||||
Add {cmd} to the list of commands that Vim will
|
||||
execute automatically on {event} for a file matching
|
||||
{pat} |autocmd-patterns|.
|
||||
{aupat} |autocmd-patterns|.
|
||||
Here {event} cannot be "*". *E1155*
|
||||
Note: A quote character is seen as argument to the
|
||||
:autocmd and won't start a comment.
|
||||
@@ -145,19 +145,19 @@ prompt. When one command outputs two messages this can happen anyway.
|
||||
==============================================================================
|
||||
3. Removing autocommands *autocmd-remove*
|
||||
|
||||
:au[tocmd]! [group] {event} {pat} [++once] [++nested] {cmd}
|
||||
:au[tocmd]! [group] {event} {aupat} [++once] [++nested] {cmd}
|
||||
Remove all autocommands associated with {event} and
|
||||
{pat}, and add the command {cmd}.
|
||||
{aupat}, and add the command {cmd}.
|
||||
See |autocmd-once| for [++once].
|
||||
See |autocmd-nested| for [++nested].
|
||||
|
||||
:au[tocmd]! [group] {event} {pat}
|
||||
:au[tocmd]! [group] {event} {aupat}
|
||||
Remove all autocommands associated with {event} and
|
||||
{pat}.
|
||||
{aupat}.
|
||||
|
||||
:au[tocmd]! [group] * {pat}
|
||||
Remove all autocommands associated with {pat} for all
|
||||
events.
|
||||
:au[tocmd]! [group] * {aupat}
|
||||
Remove all autocommands associated with {aupat} for
|
||||
all events.
|
||||
|
||||
:au[tocmd]! [group] {event}
|
||||
Remove ALL autocommands for {event}.
|
||||
@@ -177,12 +177,12 @@ with ":augroup"); otherwise, Vim uses the group defined with [group].
|
||||
==============================================================================
|
||||
4. Listing autocommands *autocmd-list*
|
||||
|
||||
:au[tocmd] [group] {event} {pat}
|
||||
:au[tocmd] [group] {event} {aupat}
|
||||
Show the autocommands associated with {event} and
|
||||
{pat}.
|
||||
{aupat}.
|
||||
|
||||
:au[tocmd] [group] * {pat}
|
||||
Show the autocommands associated with {pat} for all
|
||||
:au[tocmd] [group] * {aupat}
|
||||
Show the autocommands associated with {aupat} for all
|
||||
events.
|
||||
|
||||
:au[tocmd] [group] {event}
|
||||
@@ -326,6 +326,7 @@ Name triggered by ~
|
||||
|FileChangedRO| before making the first change to a read-only file
|
||||
|
||||
|DiffUpdated| after diffs have been updated
|
||||
|DirChangedPre| before the working directory will change
|
||||
|DirChanged| after the working directory has changed
|
||||
|
||||
|ShellCmdPost| after executing a shell command
|
||||
@@ -738,6 +739,11 @@ DiffUpdated After diffs have been updated. Depending on
|
||||
what kind of diff is being used (internal or
|
||||
external) this can be triggered on every
|
||||
change or when doing |:diffupdate|.
|
||||
*DirChangedPre*
|
||||
DirChangedPre The working directory is going to be changed,
|
||||
as with |DirChanged|. The pattern is like
|
||||
with |DirChanged|. The new directory can be
|
||||
found in v:event.directory.
|
||||
*DirChanged*
|
||||
DirChanged The working directory has changed in response
|
||||
to the |:cd| or |:tcd| or |:lcd| commands, or
|
||||
@@ -1211,7 +1217,7 @@ TextYankPost After text has been yanked or deleted in the
|
||||
Not triggered when |quote_| is used nor when
|
||||
called recursively.
|
||||
It is not allowed to change the buffer text,
|
||||
see |textlock|.
|
||||
see |textlock|. *E1064*
|
||||
{only when compiled with the +eval feature}
|
||||
|
||||
*User*
|
||||
@@ -1311,16 +1317,16 @@ WinNew When a new window was created. Not done for
|
||||
Before a WinEnter event.
|
||||
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{pat}*
|
||||
6. Patterns *autocmd-patterns* *{aupat}*
|
||||
|
||||
The {pat} argument can be a comma separated list. This works as if the
|
||||
command was given with each pattern separately. Thus this command: >
|
||||
The {aupat} argument of `:autocmd` can be a comma separated list. This works as
|
||||
if the command was given with each pattern separately. Thus this command: >
|
||||
:autocmd BufRead *.txt,*.info set et
|
||||
Is equivalent to: >
|
||||
:autocmd BufRead *.txt set et
|
||||
:autocmd BufRead *.info set et
|
||||
|
||||
The file pattern {pat} is tested for a match against the file name in one of
|
||||
The file pattern {aupat} is tested for a match against the file name in one of
|
||||
two ways:
|
||||
1. When there is no '/' in the pattern, Vim checks for a match against only
|
||||
the tail part of the file name (without its leading directory path).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -641,10 +641,7 @@ test_feedinput({string}) none add key sequence to input buffer
|
||||
test_garbagecollect_now() none free memory right now for testing
|
||||
test_garbagecollect_soon() none free memory soon for testing
|
||||
test_getvalue({string}) any get value of an internal variable
|
||||
test_gui_drop_files({list}, {row}, {col}, {mods})
|
||||
none drop a list of files in a window
|
||||
test_gui_mouse_event({button}, {row}, {col}, {repeated}, {mods})
|
||||
none add a mouse event to the input buffer
|
||||
test_gui_event({event}, {args}) bool generate a GUI event for testing
|
||||
test_ignore_error({expr}) none ignore a specific error
|
||||
test_null_blob() Blob null value for testing
|
||||
test_null_channel() Channel null value for testing
|
||||
@@ -657,8 +654,6 @@ test_null_string() String null value for testing
|
||||
test_option_not_set({name}) none reset flag indicating option was set
|
||||
test_override({expr}, {val}) none test with Vim internal overrides
|
||||
test_refcount({expr}) Number get the reference count of {expr}
|
||||
test_scrollbar({which}, {value}, {dragging})
|
||||
none scroll in the GUI for testing
|
||||
test_setmouse({row}, {col}) none set the mouse position for testing
|
||||
test_settime({expr}) none set current time for testing
|
||||
test_srand_seed([seed]) none set seed for testing srand()
|
||||
@@ -1890,12 +1885,13 @@ digraph_getlist([{listall}]) *digraph_getlist()*
|
||||
display an error message.
|
||||
|
||||
|
||||
digraph_set({chars}, {digraph}) *digraph_set()* *E1205*
|
||||
digraph_set({chars}, {digraph}) *digraph_set()*
|
||||
Add digraph {chars} to the list. {chars} must be a string
|
||||
with two characters. {digraph} is a string with one UTF-8
|
||||
encoded character. Be careful, composing characters are NOT
|
||||
ignored. This function is similar to |:digraphs| command, but
|
||||
useful to add digraphs start with a white space.
|
||||
encoded character. *E1215*
|
||||
Be careful, composing characters are NOT ignored. This
|
||||
function is similar to |:digraphs| command, but useful to add
|
||||
digraphs start with a white space.
|
||||
|
||||
The function result is v:true if |digraph| is registered. If
|
||||
this fails an error message is given and v:false is returned.
|
||||
@@ -1918,7 +1914,7 @@ digraph_setlist({digraphlist}) *digraph_setlist()*
|
||||
Similar to |digraph_set()| but this function can add multiple
|
||||
digraphs at once. {digraphlist} is a list composed of lists,
|
||||
where each list contains two strings with {chars} and
|
||||
{digraph} as in |digraph_set()|.
|
||||
{digraph} as in |digraph_set()|. *E1216*
|
||||
Example: >
|
||||
call digraph_setlist([['aa', 'あ'], ['ii', 'い']])
|
||||
<
|
||||
@@ -2082,6 +2078,22 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
For checking if a file exists use |filereadable()|.
|
||||
|
||||
The {expr} argument is a string, which contains one of these:
|
||||
varname internal variable (see
|
||||
dict.key |internal-variables|). Also works
|
||||
list[i] for |curly-braces-names|, |Dictionary|
|
||||
import.Func entries, |List| items, imported
|
||||
items,etc.
|
||||
Does not work for local variables in a
|
||||
compiled `:def` function.
|
||||
Beware that evaluating an index may
|
||||
cause an error message for an invalid
|
||||
expression. E.g.: >
|
||||
:let l = [1, 2, 3]
|
||||
:echo exists("l[5]")
|
||||
< 0 >
|
||||
:echo exists("l[xx]")
|
||||
< E121: Undefined variable: xx
|
||||
0
|
||||
&option-name Vim option (only checks if it exists,
|
||||
not if it really works)
|
||||
+option-name Vim option that works.
|
||||
@@ -2096,21 +2108,6 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
?funcname built-in function that could be
|
||||
implemented; to be used to check if
|
||||
"funcname" is valid
|
||||
varname internal variable (see
|
||||
|internal-variables|). Also works
|
||||
for |curly-braces-names|, |Dictionary|
|
||||
entries, |List| items, etc.
|
||||
Does not work for local variables in a
|
||||
compiled `:def` function.
|
||||
Beware that evaluating an index may
|
||||
cause an error message for an invalid
|
||||
expression. E.g.: >
|
||||
:let l = [1, 2, 3]
|
||||
:echo exists("l[5]")
|
||||
< 0 >
|
||||
:echo exists("l[xx]")
|
||||
< E121: Undefined variable: xx
|
||||
0
|
||||
:cmdname Ex command: built-in command, user
|
||||
command or command modifier |:command|.
|
||||
Returns:
|
||||
@@ -2394,6 +2391,9 @@ feedkeys({string} [, {mode}]) *feedkeys()*
|
||||
Note that if you manage to call feedkeys() while
|
||||
executing commands, thus calling it recursively, then
|
||||
all typeahead will be consumed by the last call.
|
||||
'c' Remove any script context when executing, so that
|
||||
legacy script syntax applies, "s:var" does not work,
|
||||
etc.
|
||||
'!' When used with 'x' will not end Insert mode. Can be
|
||||
used in a test when a timer is set to exit Insert mode
|
||||
a little later. Useful for testing CursorHoldI.
|
||||
@@ -2879,7 +2879,7 @@ get({dict}, {key} [, {default}])
|
||||
Preferably used as a |method|: >
|
||||
mydict->get(key)
|
||||
get({func}, {what})
|
||||
Get an item with from Funcref {func}. Possible values for
|
||||
Get item {what} from Funcref {func}. Possible values for
|
||||
{what} are:
|
||||
"name" The function name
|
||||
"func" The function
|
||||
@@ -3752,7 +3752,7 @@ getreg([{regname} [, 1 [, {list}]]]) *getreg()*
|
||||
:let cliptext = getreg('*')
|
||||
< When register {regname} was not set the result is an empty
|
||||
string.
|
||||
The {regname} argument must be a string.
|
||||
The {regname} argument must be a string. *E1162*
|
||||
|
||||
getreg('=') returns the last evaluated value of the expression
|
||||
register. (For use in maps.)
|
||||
@@ -4670,9 +4670,11 @@ islocked({expr}) *islocked()* *E786*
|
||||
:echo islocked('alist') " 1
|
||||
:echo islocked('alist[1]') " 0
|
||||
|
||||
< When {expr} is a variable that does not exist you get an error
|
||||
message. Use |exists()| to check for existence.
|
||||
In Vim9 script it does not work for local variables.
|
||||
< When {expr} is a variable that does not exist -1 is returned.
|
||||
If {expr} uses a range, list or dict index that is out of
|
||||
range or does not exist you get an error message. Use
|
||||
|exists()| to check for existence.
|
||||
In Vim9 script it does not work for local function variables.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetName()->islocked()
|
||||
@@ -4784,7 +4786,7 @@ json_encode({expr}) *json_encode()*
|
||||
Encode {expr} as JSON and return this as a string.
|
||||
The encoding is specified in:
|
||||
https://tools.ietf.org/html/rfc7159.html
|
||||
Vim values are converted as follows:
|
||||
Vim values are converted as follows: *E1161*
|
||||
|Number| decimal number
|
||||
|Float| floating point number
|
||||
Float nan "NaN"
|
||||
@@ -4898,7 +4900,7 @@ libcallnr({libname}, {funcname}, {argument})
|
||||
line({expr} [, {winid}]) *line()*
|
||||
The result is a Number, which is the line number of the file
|
||||
position given with {expr}. The {expr} argument is a string.
|
||||
The accepted positions are:
|
||||
The accepted positions are: *E1209*
|
||||
. the cursor position
|
||||
$ the last line in the current buffer
|
||||
'x position of mark x (if the mark is not set, 0 is
|
||||
@@ -5244,6 +5246,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
(|mapmode-ic|)
|
||||
"sid" The script local ID, used for <sid> mappings
|
||||
(|<SID>|).
|
||||
"scriptversion" The version of the script. 999999 for
|
||||
|Vim9| script.
|
||||
"lnum" The line number in "sid", zero if unknown.
|
||||
"nowait" Do not wait for other, longer mappings.
|
||||
(|:map-<nowait>|).
|
||||
@@ -6391,8 +6395,8 @@ readdir({directory} [, {expr} [, {dict}]]) *readdir()*
|
||||
readdir(dirname, {n -> n =~ '.txt$'})
|
||||
< To skip hidden and backup files: >
|
||||
readdir(dirname, {n -> n !~ '^\.\|\~$'})
|
||||
|
||||
< The optional {dict} argument allows for further custom
|
||||
< *E857*
|
||||
The optional {dict} argument allows for further custom
|
||||
values. Currently this is used to specify if and how sorting
|
||||
should be performed. The dict can have the following members:
|
||||
|
||||
@@ -6526,7 +6530,7 @@ reduce({object}, {func} [, {initial}]) *reduce()* *E998*
|
||||
{func} is called for every item in {object}, which can be a
|
||||
|String|, |List| or a |Blob|. {func} is called with two
|
||||
arguments: the result so far and current item. After
|
||||
processing all items the result is returned.
|
||||
processing all items the result is returned. *E1132*
|
||||
|
||||
{initial} is the initial result. When omitted, the first item
|
||||
in {object} is used and {func} is first called for the second
|
||||
@@ -7385,7 +7389,7 @@ setcellwidths({list}) *setcellwidths()*
|
||||
setcellwidths([[0xad, 0xad, 1],
|
||||
\ [0x2194, 0x2199, 2]])
|
||||
|
||||
< *E1109* *E1110* *E1111* *E1112* *E1113*
|
||||
< *E1109* *E1110* *E1111* *E1112* *E1113* *E1114*
|
||||
The {list} argument is a list of lists with each three
|
||||
numbers. These three numbers are [low, high, width]. "low"
|
||||
and "high" can be the same, in which case this refers to one
|
||||
@@ -7643,10 +7647,12 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
|
||||
module name of a module; if given it will be used in
|
||||
quickfix error window instead of the filename.
|
||||
lnum line number in the file
|
||||
end_lnum end of lines, if the item spans multiple lines
|
||||
pattern search pattern used to locate the error
|
||||
col column number
|
||||
vcol when non-zero: "col" is visual column
|
||||
when zero: "col" is byte index
|
||||
end_col end column, if the item spans multiple columns
|
||||
nr error number
|
||||
text description of the error
|
||||
type single-character error type, 'E', 'W', etc.
|
||||
@@ -9493,7 +9499,6 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
|
||||
call win_execute(winid, 'set syntax=python')
|
||||
< Doing the same with `setwinvar()` would not trigger
|
||||
autocommands and not actually show syntax highlighting.
|
||||
|
||||
*E994*
|
||||
Not all commands are allowed in popup windows.
|
||||
When window {id} does not exist then no error is given and
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.2. Last change: 2021 Dec 29
|
||||
*change.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -782,7 +782,7 @@ This deletes "TESTING" from all lines, but only one per line.
|
||||
For compatibility with Vi these two exceptions are allowed:
|
||||
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
|
||||
"\&{string}&" does the same as "//{string}/".
|
||||
*pattern-delimiter* *E146*
|
||||
*pattern-delimiter* *E146* *E1241* *E1242*
|
||||
Instead of the '/' which surrounds the pattern and replacement string, you can
|
||||
use another single-byte character. This is useful if you want to include a
|
||||
'/' in the search pattern or replacement string. Example: >
|
||||
@@ -1076,7 +1076,7 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
in [range] (default: current line |cmdline-ranges|),
|
||||
[into register x].
|
||||
|
||||
*p* *put* *E353*
|
||||
*p* *put* *E353* *E1240*
|
||||
["x]p Put the text [from register x] after the cursor
|
||||
[count] times.
|
||||
|
||||
@@ -1176,10 +1176,13 @@ register. With blockwise selection it also depends on the size of the block
|
||||
and whether the corners are on an existing character. (Implementation detail:
|
||||
it actually works by first putting the register after the selection and then
|
||||
deleting the selection.)
|
||||
The previously selected text is put in the unnamed register. If you want to
|
||||
put the same text into a Visual selection several times you need to use
|
||||
With 'p' the previously selected text is put in the unnamed register. This is
|
||||
useful if you want to put that text somewhere else. But you cannot repeat the
|
||||
same change.
|
||||
With 'P' the unnamed register is not changed, you can repeat the same change.
|
||||
But the deleted text cannot be used. If you do need it you can use 'p' with
|
||||
another register. E.g., yank the text to copy, Visually select the text to
|
||||
replace and use "0p . You can repeat this as many times as you like, the
|
||||
replace and use "0p . You can repeat this as many times as you like, and the
|
||||
unnamed register will be changed each time.
|
||||
|
||||
When you use a blockwise Visual mode command and yank only a single line into
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*cmdline.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -730,7 +730,7 @@ If more line specifiers are given than required for the command, the first
|
||||
one(s) will be ignored.
|
||||
|
||||
Line numbers may be specified with: *:range* *{address}*
|
||||
{number} an absolute line number
|
||||
{number} an absolute line number *E1247*
|
||||
. the current line *:.*
|
||||
$ the last line in the file *:$*
|
||||
% equal to 1,$ (the entire file) *:%*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 8.2. Last change: 2021 May 24
|
||||
*diff.txt* For Vim version 8.2. Last change: 2022 Jan 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -335,8 +335,9 @@ After setting this variable, reload the syntax script: >
|
||||
|
||||
FINDING THE DIFFERENCES *diff-diffexpr*
|
||||
|
||||
The 'diffexpr' option can be set to use something else than the standard
|
||||
"diff" program to compare two files and find the differences. *E959*
|
||||
The 'diffexpr' option can be set to use something else than the internal diff
|
||||
support or the standard "diff" program to compare two files and find the
|
||||
differences. *E959*
|
||||
|
||||
When 'diffexpr' is empty, Vim uses this command to find the differences
|
||||
between file1 and file2: >
|
||||
@@ -369,7 +370,7 @@ format mentioned. These variables are set to the file names used:
|
||||
|
||||
v:fname_in original file
|
||||
v:fname_new new version of the same file
|
||||
v:fname_out resulting diff file
|
||||
v:fname_out where to write the resulting diff file
|
||||
|
||||
Additionally, 'diffexpr' should take care of "icase" and "iwhite" in the
|
||||
'diffopt' option. 'diffexpr' cannot change the value of 'lines' and
|
||||
@@ -402,7 +403,9 @@ If the 'diffexpr' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Example: >
|
||||
set diffexpr=s:MyDiffExpr()
|
||||
set diffexpr=<SID>SomeDiffExpr()
|
||||
<
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
*E810* *E97*
|
||||
Vim will do a test if the diff output looks alright. If it doesn't, you will
|
||||
get an error message. Possible causes:
|
||||
@@ -458,5 +461,8 @@ If the 'patchexpr' expression starts with s: or |<SID>|, then it is replaced
|
||||
with the script ID (|local-function|). Example: >
|
||||
set patchexpr=s:MyPatchExpr()
|
||||
set patchexpr=<SID>SomePatchExpr()
|
||||
<
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
*editing.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -433,7 +433,7 @@ This also works for most other systems, with the restriction that the
|
||||
backticks must be around the whole item. It is not possible to have text
|
||||
directly before the first or just after the last backtick.
|
||||
|
||||
*`=*
|
||||
*`=* *E1083*
|
||||
You can have the backticks expanded as a Vim expression, instead of as an
|
||||
external command, by putting an equal sign right after the first backtick,
|
||||
e.g.: >
|
||||
@@ -633,7 +633,7 @@ list of the current window.
|
||||
Also see |++opt| and |+cmd|.
|
||||
|
||||
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
|
||||
:[count]arga[dd]
|
||||
:[count]arga[dd] *E1156*
|
||||
Add the {name}s to the argument list. When {name} is
|
||||
omitted add the current buffer name to the argument
|
||||
list.
|
||||
@@ -890,7 +890,7 @@ Note: When the 'write' option is off, you are not able to write any file.
|
||||
|
||||
*:w* *:write*
|
||||
*E502* *E503* *E504* *E505*
|
||||
*E512* *E514* *E667* *E796* *E949*
|
||||
*E512* *E514* *E667* *E949*
|
||||
:w[rite] [++opt] Write the whole buffer to the current file. This is
|
||||
the normal way to save changes to a file. It fails
|
||||
when the 'readonly' option is set or when there is
|
||||
@@ -1388,7 +1388,8 @@ becomes the current directory for that window. Windows where the |:lcd|
|
||||
command has not been used stick to the global or tab-local current directory.
|
||||
When jumping to another window the current directory is changed to the last
|
||||
specified local current directory. If none was specified, the global or
|
||||
tab-local current directory is used.
|
||||
tab-local current directory is used. When creating a new window it inherits
|
||||
the local directory of the current window.
|
||||
|
||||
When a |:tcd| command has been used for a tab page, the specified directory
|
||||
becomes the current directory for the current tab page and the current window.
|
||||
@@ -1649,6 +1650,11 @@ If you don't get warned often enough you can use the following command.
|
||||
if it exists now.
|
||||
Once a file has been checked the timestamp is reset,
|
||||
you will not be warned again.
|
||||
Syntax highlighting, marks, diff status,
|
||||
'fileencoding', 'fileformat' and 'binary' options
|
||||
are not changed. See |v:fcs_choice| to reload these
|
||||
too (for example, if a code formatting tools has
|
||||
changed the file).
|
||||
|
||||
:[N]checkt[ime] {filename}
|
||||
:[N]checkt[ime] [N]
|
||||
@@ -1771,10 +1777,8 @@ There are three different types of searching:
|
||||
/u/user_x/include
|
||||
|
||||
< Note: If your 'path' setting includes a non-existing directory, Vim will
|
||||
skip the non-existing directory, but continues searching in the parent of
|
||||
the non-existing directory if upwards searching is used. E.g. when
|
||||
searching "../include" and that doesn't exist, and upward searching is
|
||||
used, also searches in "..".
|
||||
skip the non-existing directory, and also does not search in the parent of
|
||||
the non-existing directory if upwards searching is used.
|
||||
|
||||
3) Combined up/downward search:
|
||||
If Vim's current path is /u/user_x/work/release and you do >
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*eval.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Expression evaluation *expression* *expr* *E15* *eval*
|
||||
|
||||
*E1002*
|
||||
Using expressions is introduced in chapter 41 of the user manual |usr_41.txt|.
|
||||
|
||||
Note: Expression evaluation can be disabled at compile time. If this has been
|
||||
@@ -44,7 +44,8 @@ Profiling is documented at |profiling|.
|
||||
1. Variables *variables*
|
||||
|
||||
1.1 Variable types ~
|
||||
*E712* *E896* *E897* *E899*
|
||||
*E712* *E896* *E897* *E899* *E1098*
|
||||
*E1107* *E1135* *E1138*
|
||||
There are ten types of variables:
|
||||
|
||||
*Number* *Integer*
|
||||
@@ -53,7 +54,7 @@ Number A 32 or 64 bit signed number. |expr-number|
|
||||
Examples: -123 0x10 0177 0o177 0b1011
|
||||
|
||||
Float A floating point number. |floating-point-format| *Float*
|
||||
{only when compiled with the |+float| feature}
|
||||
{only when compiled with the |+float| feature} *E1076*
|
||||
Examples: 123.456 1.15e-6 -1.1e3
|
||||
|
||||
String A NUL terminated string of 8-bit unsigned characters (bytes).
|
||||
@@ -180,7 +181,7 @@ You will not get an error if you try to change the type of a variable.
|
||||
|
||||
|
||||
1.2 Function references ~
|
||||
*Funcref* *E695* *E718*
|
||||
*Funcref* *E695* *E718* *E1086* *E1192*
|
||||
A Funcref variable is obtained with the |function()| function, the |funcref()|
|
||||
function or created with the lambda expression |expr-lambda|. It can be used
|
||||
in an expression in the place of a function name, before the parenthesis
|
||||
@@ -764,7 +765,7 @@ length minus one is used: >
|
||||
|
||||
|
||||
Blob modification ~
|
||||
*blob-modification*
|
||||
*blob-modification* *E1182* *E1184*
|
||||
To change a specific byte of a blob use |:let| this way: >
|
||||
:let blob[4] = 0x44
|
||||
|
||||
@@ -835,7 +836,7 @@ In legacy script it is possible to form a variable name with curly braces, see
|
||||
|
||||
==============================================================================
|
||||
2. Expression syntax *expression-syntax*
|
||||
|
||||
*E1143*
|
||||
Expression syntax summary, from least to most significant:
|
||||
|
||||
|expr1| expr2
|
||||
@@ -916,6 +917,9 @@ Example: >
|
||||
|
||||
All expressions within one level are parsed from left to right.
|
||||
|
||||
Expression nesting is limited to 1000 levels deep (300 when build with MSVC)
|
||||
to avoid running out of stack and crashing. *E1169*
|
||||
|
||||
|
||||
expr1 *expr1* *trinary* *falsy-operator* *??* *E109*
|
||||
-----
|
||||
@@ -1014,7 +1018,7 @@ This is valid whether "b" has been defined or not. The second clause will
|
||||
only be evaluated if "b" has been defined.
|
||||
|
||||
|
||||
expr4 *expr4*
|
||||
expr4 *expr4* *E1153*
|
||||
-----
|
||||
|
||||
expr5 {cmp} expr5
|
||||
@@ -1030,7 +1034,7 @@ is |true| or |false|.
|
||||
*expr-==?* *expr-!=?* *expr->?* *expr->=?*
|
||||
*expr-<?* *expr-<=?* *expr-=~?* *expr-!~?*
|
||||
*expr-is* *expr-isnot* *expr-is#* *expr-isnot#*
|
||||
*expr-is?* *expr-isnot?*
|
||||
*expr-is?* *expr-isnot?* *E1072*
|
||||
use 'ignorecase' match case ignore case ~
|
||||
equal == ==# ==?
|
||||
not equal != !=# !=?
|
||||
@@ -1071,7 +1075,7 @@ To compare Funcrefs to see if they refer to the same function, ignoring bound
|
||||
Dictionary and arguments, use |get()| to get the function name: >
|
||||
if get(Part1, 'name') == get(Part2, 'name')
|
||||
" Part1 and Part2 refer to the same function
|
||||
|
||||
< *E1037*
|
||||
Using "is" or "isnot" with a |List|, |Dictionary| or |Blob| checks whether
|
||||
the expressions are referring to the same |List|, |Dictionary| or |Blob|
|
||||
instance. A copy of a |List| is different from the original |List|. When
|
||||
@@ -1123,7 +1127,7 @@ can be matched like an ordinary character. Examples:
|
||||
"foo\nbar" =~ "\\n" evaluates to 0
|
||||
|
||||
|
||||
expr5 and expr6 *expr5* *expr6*
|
||||
expr5 and expr6 *expr5* *expr6* *E1036* *E1051*
|
||||
---------------
|
||||
expr6 + expr6 Number addition, |List| or |Blob| concatenation *expr-+*
|
||||
expr6 - expr6 Number subtraction *expr--*
|
||||
@@ -1172,6 +1176,7 @@ When dividing a Number by zero the result depends on the value:
|
||||
>0 / 0 = 0x7fffffff (like positive infinity)
|
||||
<0 / 0 = -0x7fffffff (like negative infinity)
|
||||
(before Vim 7.2 it was always 0x7fffffff)
|
||||
In |Vim9| script dividing a number by zero is an error. *E1154*
|
||||
|
||||
When 64-bit Number support is enabled:
|
||||
0 / 0 = -0x8000000000000000 (like NaN for Float)
|
||||
@@ -1182,7 +1187,7 @@ When the righthand side of '%' is zero, the result is 0.
|
||||
|
||||
None of these work for |Funcref|s.
|
||||
|
||||
".", ".." and "%" do not work for Float. *E804*
|
||||
".", ".." and "%" do not work for Float. *E804* *E1035*
|
||||
|
||||
|
||||
expr7 *expr7*
|
||||
@@ -1229,7 +1234,7 @@ in any order. E.g., these are all possible:
|
||||
Evaluation is always from left to right.
|
||||
|
||||
expr9[expr1] item of String or |List| *expr-[]* *E111*
|
||||
*E909* *subscript*
|
||||
*E909* *subscript* *E1062*
|
||||
In legacy Vim script:
|
||||
If expr9 is a Number or String this results in a String that contains the
|
||||
expr1'th single byte from expr9. expr9 is used as a String (a number is
|
||||
@@ -1239,7 +1244,7 @@ recognize multibyte encodings, see `byteidx()` for an alternative, or use
|
||||
byte under the cursor: >
|
||||
:let c = getline(".")[col(".") - 1]
|
||||
|
||||
In |Vim9| script:
|
||||
In |Vim9| script: *E1147* *E1148*
|
||||
If expr9 is a String this results in a String that contains the expr1'th
|
||||
single character (including any composing characters) from expr9. To use byte
|
||||
indexes use |strpart()|.
|
||||
@@ -1319,7 +1324,7 @@ for a sublist: >
|
||||
|
||||
|
||||
expr9.name entry in a |Dictionary| *expr-entry*
|
||||
|
||||
*E1203* *E1229*
|
||||
If expr9 is a |Dictionary| and it is followed by a dot, then the following
|
||||
name will be used as a key in the |Dictionary|. This is just like:
|
||||
expr9[name].
|
||||
@@ -1339,14 +1344,14 @@ Note that the dot is also used for String concatenation. To avoid confusion
|
||||
always put spaces around the dot for String concatenation.
|
||||
|
||||
|
||||
expr9(expr1, ...) |Funcref| function call
|
||||
expr9(expr1, ...) |Funcref| function call *E1085*
|
||||
|
||||
When expr9 is a |Funcref| type variable, invoke the function it refers to.
|
||||
|
||||
|
||||
expr9->name([args]) method call *method* *->*
|
||||
expr9->{lambda}([args])
|
||||
*E260* *E276*
|
||||
*E260* *E276* *E1265*
|
||||
For methods that are also available as global functions this is the same as: >
|
||||
name(expr9 [, args])
|
||||
There can also be methods specifically for the type of "expr9".
|
||||
@@ -1364,7 +1369,16 @@ Is equivalent to: >
|
||||
(-1.234)->string()
|
||||
And NOT: >
|
||||
-(1.234->string())
|
||||
<
|
||||
|
||||
What comes after "->" can be a name, a simple expression (not containing any
|
||||
parenthesis), or any expression in parenthesis: >
|
||||
base->name(args)
|
||||
base->some.name(args)
|
||||
base->alist[idx](args)
|
||||
base->(getFuncRef())(args)
|
||||
Note that in the last call the base is passed to the function resulting from
|
||||
"(getFuncRef())", inserted before "args".
|
||||
|
||||
*E274*
|
||||
"->name(" must not contain white space. There can be white space before the
|
||||
"->" and after the "(", thus you can split the lines like this: >
|
||||
@@ -1537,7 +1551,7 @@ When using the '=' register you get the expression itself, not what it
|
||||
evaluates to. Use |eval()| to evaluate it.
|
||||
|
||||
|
||||
nesting *expr-nesting* *E110*
|
||||
nesting *expr-nesting* *E110*
|
||||
-------
|
||||
(expr1) nested expression
|
||||
|
||||
@@ -1568,7 +1582,7 @@ The first one probably doesn't echo anything, the second echoes the $shell
|
||||
variable (if your shell supports it).
|
||||
|
||||
|
||||
internal variable *expr-variable*
|
||||
internal variable *expr-variable* *E1015* *E1089*
|
||||
-----------------
|
||||
variable internal variable
|
||||
See below |internal-variables|.
|
||||
@@ -1656,7 +1670,7 @@ for a lambda expression, you can find what it is with the following command: >
|
||||
See also: |numbered-function|
|
||||
|
||||
==============================================================================
|
||||
3. Internal variable *internal-variables* *E461*
|
||||
3. Internal variable *internal-variables* *E461* *E1001*
|
||||
|
||||
An internal variable name can be made up of letters, digits and '_'. But it
|
||||
cannot start with a digit. In legacy script it is also possible to use curly
|
||||
@@ -1814,7 +1828,7 @@ variables for each buffer. Use local buffer variables instead |b:var|.
|
||||
|
||||
|
||||
PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
|
||||
*E963*
|
||||
*E963* *E1063*
|
||||
Some variables can be set by the user, but the type cannot be changed.
|
||||
|
||||
*v:argv* *argv-variable*
|
||||
@@ -2056,6 +2070,11 @@ v:fcs_choice What should happen after a |FileChangedShell| event was
|
||||
do with the affected buffer:
|
||||
reload Reload the buffer (does not work if
|
||||
the file was deleted).
|
||||
edit Reload the buffer and detect the
|
||||
values for options such as
|
||||
'fileformat', 'fileencoding', 'binary'
|
||||
(does not work if the file was
|
||||
deleted).
|
||||
ask Ask the user what to do, as if there
|
||||
was no autocommand. Except that when
|
||||
only the timestamp changed nothing
|
||||
@@ -2681,7 +2700,7 @@ See |:verbose-cmd| for more information.
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *W22*
|
||||
*:endf* *:endfunction* *E126* *E193* *W22* *E1151*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
@@ -2700,7 +2719,7 @@ See |:verbose-cmd| for more information.
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E131* *E933*
|
||||
*:delf* *:delfunction* *E131* *E933* *E1084*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
{name} can also be a |Dictionary| entry that is a
|
||||
@@ -2717,8 +2736,11 @@ See |:verbose-cmd| for more information.
|
||||
If "[expr]" is not given, the number 0 is returned.
|
||||
When a function ends without an explicit ":return",
|
||||
the number 0 is returned.
|
||||
Note that there is no check for unreachable lines,
|
||||
thus there is no warning if commands follow ":return".
|
||||
In a :def function *E1095* is given if unreachable
|
||||
code follows after the `:return`.
|
||||
In legacy script there is no check for unreachable
|
||||
lines, thus there is no warning if commands follow
|
||||
`:return`.
|
||||
|
||||
If the ":return" is used after a |:try| but before the
|
||||
matching |:finally| (if present), the commands
|
||||
@@ -2737,7 +2759,7 @@ may optionally be following. In the function the extra arguments can be used
|
||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||
can be 0). "a:000" is set to a |List| that contains these arguments. Note
|
||||
that "a:1" is the same as "a:000[0]".
|
||||
*E742*
|
||||
*E742* *E1090*
|
||||
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||
However, if a composite type is used, such as |List| or |Dictionary| , you can
|
||||
change their contents. Thus you can pass a |List| to a function and have the
|
||||
@@ -2830,7 +2852,7 @@ This function can then be called with: >
|
||||
: echo div
|
||||
:endif
|
||||
<
|
||||
*:cal* *:call* *E107* *E117*
|
||||
*:cal* *:call* *E107*
|
||||
:[range]cal[l] {name}([arguments])
|
||||
Call a function. The name of the function and its arguments
|
||||
are as specified with `:function`. Up to 20 arguments can be
|
||||
@@ -2874,6 +2896,12 @@ This function can then be called with: >
|
||||
:4,8call GetDict().method()
|
||||
< Here GetDict() gets the range but method() does not.
|
||||
|
||||
*E117*
|
||||
When a function cannot be found the error "E117: Unknown function" will be
|
||||
given. If the function was using an autoload path or an autoload import and
|
||||
the script is a |Vim9| script, this may also be caused by the function not
|
||||
being exported.
|
||||
|
||||
*E132*
|
||||
The recursiveness of user functions is restricted with the |'maxfuncdepth'|
|
||||
option.
|
||||
@@ -2973,6 +3001,9 @@ Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you use a function name with a
|
||||
"#" character when not in an autoload script.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
|
||||
@@ -3036,7 +3067,7 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
from the {expr}. If {var-name} didn't exist yet, it
|
||||
is created.
|
||||
|
||||
:let {var-name}[{idx}] = {expr1} *E689*
|
||||
:let {var-name}[{idx}] = {expr1} *E689* *E1141*
|
||||
Set a list item to the result of the expression
|
||||
{expr1}. {var-name} must refer to a list and {idx}
|
||||
must be a valid index in that list. For nested list
|
||||
@@ -3049,7 +3080,7 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
length of the blob, in which case one byte is
|
||||
appended.
|
||||
|
||||
*E711* *E719*
|
||||
*E711* *E719* *E1165* *E1166* *E1183*
|
||||
:let {var-name}[{idx1}:{idx2}] = {expr1} *E708* *E709* *E710*
|
||||
Set a sequence of items in a |List| to the result of
|
||||
the expression {expr1}, which must be a list with the
|
||||
@@ -3059,8 +3090,8 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
When the selected range of items is partly past the
|
||||
end of the list, items will be added.
|
||||
|
||||
*:let+=* *:let-=* *:letstar=*
|
||||
*:let/=* *:let%=* *:let.=* *:let..=* *E734* *E985*
|
||||
*:let+=* *:let-=* *:letstar=* *:let/=* *:let%=*
|
||||
*:let.=* *:let..=* *E734* *E985* *E1019*
|
||||
:let {var} += {expr1} Like ":let {var} = {var} + {expr1}".
|
||||
:let {var} -= {expr1} Like ":let {var} = {var} - {expr1}".
|
||||
:let {var} *= {expr1} Like ":let {var} = {var} * {expr1}".
|
||||
@@ -3143,7 +3174,7 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
:let &g:{option-name} -= {expr1}
|
||||
Like above, but only set the global value of an option
|
||||
(if there is one). Works like |:setglobal|.
|
||||
|
||||
*E1093*
|
||||
:let [{name1}, {name2}, ...] = {expr1} *:let-unpack* *E687* *E688*
|
||||
{expr1} must evaluate to a |List|. The first item in
|
||||
the list is assigned to {name1}, the second item to
|
||||
@@ -3184,7 +3215,7 @@ declarations and assignments do not use a command. |vim9-declaration|
|
||||
|List| item.
|
||||
|
||||
*:let=<<* *:let-heredoc*
|
||||
*E990* *E991* *E172* *E221*
|
||||
*E990* *E991* *E172* *E221* *E1145*
|
||||
:let {var-name} =<< [trim] {endmarker}
|
||||
text...
|
||||
text...
|
||||
@@ -3263,7 +3294,7 @@ text...
|
||||
* Funcref
|
||||
This does not work in Vim9 script. |vim9-declaration|
|
||||
|
||||
:unl[et][!] {name} ... *:unlet* *:unl* *E108* *E795*
|
||||
:unl[et][!] {name} ... *:unlet* *:unl* *E108* *E795* *E1081*
|
||||
Remove the internal variable {name}. Several variable
|
||||
names can be given, they are all removed. The name
|
||||
may also be a |List| or |Dictionary| item.
|
||||
@@ -3289,7 +3320,7 @@ text...
|
||||
If the system does not support deleting an environment
|
||||
variable, it is made empty.
|
||||
|
||||
*:cons* *:const*
|
||||
*:cons* *:const* *E1018*
|
||||
:cons[t] {var-name} = {expr1}
|
||||
:cons[t] [{name1}, {name2}, ...] = {expr1}
|
||||
:cons[t] [{name}, ..., ; {lastname}] = {expr1}
|
||||
@@ -3337,7 +3368,7 @@ text...
|
||||
:lockvar v
|
||||
:let v = 'asdf' " fails!
|
||||
:unlet v " works
|
||||
< *E741* *E940*
|
||||
< *E741* *E940* *E1118* *E1119* *E1120* *E1121* *E1122*
|
||||
If you try to change a locked variable you get an
|
||||
error message: "E741: Value is locked: {name}".
|
||||
If you try to lock or unlock a built-in variable you
|
||||
@@ -3385,7 +3416,7 @@ text...
|
||||
See |deepcopy()|.
|
||||
|
||||
|
||||
:unlo[ckvar][!] [depth] {name} ... *:unlockvar* *:unlo*
|
||||
:unlo[ckvar][!] [depth] {name} ... *:unlockvar* *:unlo* *E1246*
|
||||
Unlock the internal variable {name}. Does the
|
||||
opposite of |:lockvar|.
|
||||
|
||||
@@ -3446,7 +3477,7 @@ text...
|
||||
:endfo[r] *:endfo* *:endfor*
|
||||
Repeat the commands between ":for" and ":endfor" for
|
||||
each item in {object}. {object} can be a |List| or
|
||||
a |Blob|.
|
||||
a |Blob|. *E1177*
|
||||
|
||||
Variable {var} is set to the value of each item.
|
||||
In |Vim9| script the loop variable must not have been
|
||||
@@ -3480,7 +3511,7 @@ text...
|
||||
|Blob| does not affect the iteration.
|
||||
|
||||
:for [{var1}, {var2}, ...] in {listlist}
|
||||
:endfo[r]
|
||||
:endfo[r] *E1140*
|
||||
Like ":for" above, but each item in {listlist} must be
|
||||
a list, of which each item is assigned to {var1},
|
||||
{var2}, etc. Example: >
|
||||
@@ -3509,7 +3540,8 @@ text...
|
||||
all nested ":try"s inside the loop. The outermost
|
||||
":endtry" then jumps to the command after the loop.
|
||||
|
||||
:try *:try* *:endt* *:endtry* *E600* *E601* *E602*
|
||||
:try *:try* *:endt* *:endtry*
|
||||
*E600* *E601* *E602* *E1032*
|
||||
:endt[ry] Change the error handling for the commands between
|
||||
":try" and ":endtry" including everything being
|
||||
executed across ":source" commands, function calls,
|
||||
@@ -3545,7 +3577,8 @@ text...
|
||||
try | sleep 100 | catch /^Vim:Interrupt$/ | endtry
|
||||
try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
|
||||
<
|
||||
*:cat* *:catch* *E603* *E604* *E605*
|
||||
*:cat* *:catch*
|
||||
*E603* *E604* *E605* *E654* *E1033*
|
||||
:cat[ch] /{pattern}/ The following commands until the next |:catch|,
|
||||
|:finally|, or |:endtry| that belongs to the same
|
||||
|:try| as the ":catch" are executed when an exception
|
||||
@@ -3566,7 +3599,7 @@ text...
|
||||
Another character can be used instead of / around the
|
||||
{pattern}, so long as it does not have a special
|
||||
meaning (e.g., '|' or '"') and doesn't occur inside
|
||||
{pattern}.
|
||||
{pattern}. *E1067*
|
||||
Information about the exception is available in
|
||||
|v:exception|. Also see |throw-variables|.
|
||||
NOTE: It is not reliable to ":catch" the TEXT of
|
||||
@@ -3581,7 +3614,7 @@ text...
|
||||
|:break|, |:finish|, or |:return|, or by an error or
|
||||
interrupt or exception (see |:throw|).
|
||||
|
||||
*:th* *:throw* *E608*
|
||||
*:th* *:throw* *E608* *E1129*
|
||||
:th[row] {expr1} The {expr1} is evaluated and thrown as an exception.
|
||||
If the ":throw" is used after a |:try| but before the
|
||||
first corresponding |:catch|, commands are skipped
|
||||
@@ -3698,6 +3731,9 @@ text...
|
||||
the `append()` call appends the List with text to the
|
||||
buffer. This is similar to `:call` but works with any
|
||||
expression.
|
||||
In |Vim9| script an expression without an effect will
|
||||
result in error *E1207* . This should help noticing
|
||||
mistakes.
|
||||
|
||||
The command can be shortened to `:ev` or `:eva`, but
|
||||
these are hard to recognize and therefore not to be
|
||||
@@ -4865,6 +4901,9 @@ explicit the |:scriptversion| command can be used. When a Vim script is not
|
||||
compatible with older versions of Vim this will give an explicit error,
|
||||
instead of failing in mysterious ways.
|
||||
|
||||
When using a legacy function, defined with `:function`, in |Vim9| script then
|
||||
scriptversion 4 is used.
|
||||
|
||||
*scriptversion-1* >
|
||||
:scriptversion 1
|
||||
< This is the original Vim script, same as not using a |:scriptversion|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2021 Dec 30
|
||||
*filetype.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -133,15 +133,17 @@ shell script: "#!/bin/csh".
|
||||
argument was used.
|
||||
|
||||
*filetype-overrule*
|
||||
When the same extension is used for two filetypes, Vim tries to guess what
|
||||
kind of file it is. This doesn't always work. A number of global variables
|
||||
can be used to overrule the filetype used for certain extensions:
|
||||
When the same extension is used for multiple filetypes, Vim tries to guess
|
||||
what kind of file it is. This doesn't always work. A number of global
|
||||
variables can be used to overrule the filetype used for certain extensions:
|
||||
|
||||
file name variable ~
|
||||
*.asa g:filetype_asa |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.asm g:asmsyntax |ft-asm-syntax|
|
||||
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.fs g:filetype_fs |ft-forth-syntax|
|
||||
*.bas g:filetype_bas |ft-basic-syntax|
|
||||
*.frm g:filetype_frm |ft-form-syntax|
|
||||
*.fs g:filetype_fs |ft-forth-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.inc g:filetype_inc
|
||||
*.m g:filetype_m |ft-mathematica-syntax|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 8.2. Last change: 2021 Jul 13
|
||||
*fold.txt* For Vim version 8.2. Last change: 2022 Jan 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -511,7 +511,10 @@ Note the use of backslashes to avoid some characters to be interpreted by the
|
||||
:endfunction
|
||||
|
||||
Evaluating 'foldtext' is done in the |sandbox|. The current window is set to
|
||||
the window that displays the line. Errors are ignored.
|
||||
the window that displays the line. The context is set to the script where the
|
||||
option was last set.
|
||||
|
||||
Errors are ignored. For debugging set the 'debug' option to "throw".
|
||||
|
||||
The default value is |foldtext()|. This returns a reasonable text for most
|
||||
types of folding. If you don't like it, you can specify your own 'foldtext'
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*if_perl.txt* For Vim version 8.2. Last change: 2022 Jan 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -103,7 +103,7 @@ Here are some things you can try: >
|
||||
:perldo $_ = reverse($_);1
|
||||
:perl VIM::Msg("hello")
|
||||
:perl $line = $curbuf->Get(42)
|
||||
<
|
||||
< *E299*
|
||||
Executing Perl commands in the |sandbox| is limited. ":perldo" will not be
|
||||
possible at all. ":perl" will be evaluated in the Safe environment, if
|
||||
possible.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 8.2. Last change: 2021 Nov 12
|
||||
*if_pyth.txt* For Vim version 8.2. Last change: 2022 Feb 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -65,7 +65,7 @@ There is no need to import sys, it's done by default.
|
||||
|
||||
*python-environment*
|
||||
Environment variables set in Vim are not always available in Python. This
|
||||
depends on how Vim and Python were build. Also see
|
||||
depends on how Vim and Python were built. Also see
|
||||
https://docs.python.org/3/library/os.html#os.environ
|
||||
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
@@ -834,6 +834,19 @@ To work around such problems there are these options:
|
||||
Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
||||
:py vim.command("qall!")
|
||||
<
|
||||
*E1266*
|
||||
This error can occur when python 3 cannot load the required modules. This
|
||||
means that your python 3 is not correctly installed or there are some mistakes
|
||||
in your settings. Please check the following items:
|
||||
1. Make sure that python 3 is correctly installed. Also check the version of
|
||||
python.
|
||||
2. Check the 'pythonthreedll' option.
|
||||
3. Check the 'pythonthreehome' option.
|
||||
4. Check the PATH environment variable if you don't set 'pythonthreedll'.
|
||||
On MS-Windows, you can use where.exe to check which dll will be loaded.
|
||||
E.g. >
|
||||
where.exe python310.dll
|
||||
5. Check the PYTHONPATH and PYTHONHOME environment variables.
|
||||
|
||||
*has-python*
|
||||
You can test what Python version is available with: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 8.2. Last change: 2019 Dec 07
|
||||
*indent.txt* For Vim version 8.2. Last change: 2022 Jan 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -778,6 +778,15 @@ You can set the indent for the first line after <script> and <style>
|
||||
"auto" auto indent (same indent as the blocktag)
|
||||
"inc" auto indent + one indent step
|
||||
|
||||
You can set the indent for attributes after an open <tag line: >
|
||||
|
||||
:let g:html_indent_attribute = 1
|
||||
<
|
||||
VALUE MEANING ~
|
||||
1 auto indent, one indent step more than <tag
|
||||
2 auto indent, two indent steps (default)
|
||||
> 2 auto indent, more indent steps
|
||||
|
||||
Many tags increase the indent for what follows per default (see "Add Indent
|
||||
Tags" in the script). You can add further tags with: >
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.2. Last change: 2021 Aug 31
|
||||
*index.txt* For Vim version 8.2. Last change: 2022 Feb 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -937,7 +937,9 @@ tag command note action in Visual mode ~
|
||||
before the highlighted area
|
||||
|v_J| J 2 join the highlighted lines
|
||||
|v_K| K run 'keywordprg' on the highlighted area
|
||||
|v_O| O Move horizontally to other corner of area.
|
||||
|v_O| O move horizontally to other corner of area
|
||||
|v_P| P replace highlighted area with register
|
||||
contents; unnamed register is unchanged
|
||||
Q does not start Ex mode
|
||||
|v_R| R 2 delete the highlighted lines and start
|
||||
insert
|
||||
@@ -1000,6 +1002,8 @@ tag command note action in Visual mode ~
|
||||
|v_i{| i{ same as iB
|
||||
|v_i}| i} same as iB
|
||||
|v_o| o move cursor to other corner of area
|
||||
|v_p| p replace highlighted area with register
|
||||
contents; deleted text in unnamed register
|
||||
|v_r| r 2 replace highlighted area with a character
|
||||
|v_s| s 2 delete highlighted area and start insert
|
||||
|v_u| u 2 make highlighted area lowercase
|
||||
@@ -1148,7 +1152,7 @@ tag command action ~
|
||||
|:&| :& repeat last ":substitute"
|
||||
|:star| :* execute contents of a register
|
||||
|:<| :< shift lines one 'shiftwidth' left
|
||||
|:=| := print the cursor line number
|
||||
|:=| := print the last line number
|
||||
|:>| :> shift lines one 'shiftwidth' right
|
||||
|:@| :@ execute contents of a register
|
||||
|:@@| :@@ repeat the previous ":@"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.2. Last change: 2022 Jan 03
|
||||
*map.txt* For Vim version 8.2. Last change: 2022 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -270,7 +270,7 @@ input. Example: >
|
||||
endfunc
|
||||
nnoremap <expr> <F3> <SID>OpenPopup()
|
||||
|
||||
Also, keep in mind that the expression may be evaluated when looking for
|
||||
Keep in mind that the expression may be evaluated when looking for
|
||||
typeahead, before the previous command has been executed. For example: >
|
||||
func StoreColumn()
|
||||
let g:column = col('.')
|
||||
@@ -284,6 +284,10 @@ This can be solved by inserting <Ignore> before the character that is
|
||||
expression-mapped: >
|
||||
nmap ! f!<Ignore>x
|
||||
|
||||
When defining a mapping in a |Vim9| script, the expression will be evaluated
|
||||
in the context of that script. This means that script-local items can be
|
||||
accessed in the expression.
|
||||
|
||||
Be very careful about side effects! The expression is evaluated while
|
||||
obtaining characters, you may very well make the command dysfunctional.
|
||||
For this reason the following is blocked:
|
||||
@@ -342,9 +346,24 @@ Example of using <Cmd> halfway Insert mode: >
|
||||
Unlike <expr> mappings, there are no special restrictions on the <Cmd>
|
||||
command: it is executed as if an (unrestricted) |autocommand| was invoked.
|
||||
|
||||
*<ScriptCmd>*
|
||||
<ScriptCmd> is like <Cmd> but sets the context to the script the mapping was
|
||||
defined in, for the duration of the command execution. This is especially
|
||||
useful for |Vim9| script. It also works to access an import, which is useful
|
||||
in a plugin using an autoload script: >
|
||||
vim9script
|
||||
import autoload 'implementation.vim' as impl
|
||||
nnoremap <F4> <ScriptCmd>impl.DoTheWork()<CR>
|
||||
|
||||
No matter where <F4> is typed, the "impl" import will be found in the script
|
||||
context of where the mapping was defined. And since it's an autoload import,
|
||||
the "implementation.vim" script will only be loaded once <F4> is typed, not
|
||||
when the mapping is defined.
|
||||
|
||||
Note:
|
||||
- Because <Cmd> avoids mode-changes it does not trigger |CmdlineEnter| and
|
||||
|CmdlineLeave| events, because no user interaction is expected.
|
||||
- Because <Cmd> and <ScriptCmd> avoid mode-changes it does not trigger
|
||||
|CmdlineEnter| and |CmdlineLeave| events, because no user interaction is
|
||||
expected.
|
||||
- For the same reason, |keycodes| like <C-R><C-W> are interpreted as plain,
|
||||
unmapped keys.
|
||||
- The command is not echo'ed, no need for <silent>.
|
||||
@@ -356,12 +375,13 @@ Note:
|
||||
Visual mode. Use |:smap| to handle Select mode differently.
|
||||
|
||||
*E1255* *E1136*
|
||||
<Cmd> commands must terminate, that is, they must be followed by <CR> in the
|
||||
{rhs} of the mapping definition. |Command-line| mode is never entered.
|
||||
<Cmd> and <ScriptCmd> commands must terminate, that is, they must be followed
|
||||
by <CR> in the {rhs} of the mapping definition. |Command-line| mode is never
|
||||
entered.
|
||||
|
||||
*E1137*
|
||||
<Cmd> commands can have only normal characters and cannot contain special
|
||||
characters like function keys.
|
||||
<Cmd> and <ScriptCmd> commands can have only normal characters and cannot
|
||||
contain special characters like function keys.
|
||||
|
||||
|
||||
1.3 MAPPING AND MODES *:map-modes*
|
||||
@@ -1391,7 +1411,7 @@ scripts.
|
||||
|
||||
*:command-verbose*
|
||||
When 'verbose' is non-zero, listing a command will also display where it was
|
||||
last defined. Example: >
|
||||
last defined and any completion argument. Example: >
|
||||
|
||||
:verbose command TOhtml
|
||||
< Name Args Range Complete Definition ~
|
||||
@@ -1510,6 +1530,8 @@ completion can be enabled:
|
||||
-complete=custom,{func} custom completion, defined via {func}
|
||||
-complete=customlist,{func} custom completion, defined via {func}
|
||||
|
||||
If you specify completion while there is nothing to complete (-nargs=0, the
|
||||
default) then you get error *E1208* .
|
||||
Note: That some completion methods might expand environment variables.
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*mbyte.txt* For Vim version 8.2. Last change: 2022 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -955,32 +955,11 @@ replace mode.
|
||||
The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
|
||||
the different input methods or disable them temporarily.
|
||||
|
||||
WHAT IS IME
|
||||
IME is a part of East asian version Windows. That helps you to input
|
||||
multibyte character. English and other language version Windows does not
|
||||
have any IME. (Also there is no need usually.) But there is one that
|
||||
called Microsoft Global IME. Global IME is a part of Internet Explorer
|
||||
4.0 or above. You can get more information about Global IME, at below
|
||||
URL.
|
||||
|
||||
WHAT IS GLOBAL IME *global-ime*
|
||||
Global IME makes capability to input Chinese, Japanese, and Korean text
|
||||
into Vim buffer on any language version of Windows 98, Windows 95, and
|
||||
Windows NT 4.0.
|
||||
On Windows 2000 and XP it should work as well (without downloading). On
|
||||
Windows 2000 Professional, Global IME is built in, and the Input Locales
|
||||
can be added through Control Panel/Regional Options/Input Locales.
|
||||
Please see below URL for detail of Global IME. You can also find various
|
||||
language version of Global IME at same place.
|
||||
|
||||
- Global IME detailed information.
|
||||
http://search.microsoft.com/results.aspx?q=global+ime
|
||||
|
||||
- Active Input Method Manager (Global IME)
|
||||
On Windows 9x and Windows NT 4.0 there was *global-ime* , but this is no
|
||||
longer supported. You can still find documentation for Active Input Method
|
||||
Manager (Global IME) here:
|
||||
http://msdn.microsoft.com/en-us/library/aa741221(v=VS.85).aspx
|
||||
|
||||
Support for Global IME is an experimental feature.
|
||||
|
||||
NOTE: For IME to work you must make sure the input locales of your language
|
||||
are added to your system. The exact location of this depends on the version
|
||||
of Windows you use. For example, on my Windows 2000 box:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*message.txt* For Vim version 8.2. Last change: 2022 Jan 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -46,13 +46,13 @@ maintains the messages or the translations. You can use this to contact the
|
||||
maintainer when you spot a mistake.
|
||||
|
||||
If you want to find help on a specific (error) message, use the ID at the
|
||||
start of the message. For example, to get help on the message: >
|
||||
start of the message. For example, to get help on the message:
|
||||
|
||||
E72: Close error on swap file
|
||||
E72: Close error on swap file ~
|
||||
|
||||
or (translated): >
|
||||
or (translated):
|
||||
|
||||
E72: Errore durante chiusura swap file
|
||||
E72: Errore durante chiusura swap file ~
|
||||
|
||||
Use: >
|
||||
|
||||
@@ -62,6 +62,8 @@ If you are lazy, it also works without the shift key: >
|
||||
|
||||
:help e72
|
||||
|
||||
The number in this ID has no meaning.
|
||||
|
||||
==============================================================================
|
||||
2. Error messages *error-messages* *errors*
|
||||
|
||||
@@ -76,117 +78,116 @@ See `:messages` above.
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* *E292* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
Hangul automata ERROR
|
||||
block was not locked
|
||||
Didn't get block nr {N}?
|
||||
ml_upd_block0(): Didn't get block 0??
|
||||
pointer block id wrong {N}
|
||||
Updated too many blocks?
|
||||
get_varp ERROR
|
||||
u_undo: line numbers wrong
|
||||
undo list corrupt
|
||||
undo line missing
|
||||
ml_get: cannot find line {N}
|
||||
cannot find line {N}
|
||||
line number out of range: {N} past the end
|
||||
line count wrong in block {N}
|
||||
Internal error
|
||||
Internal error: {function}
|
||||
fatal error in cs_manage_matches
|
||||
Invalid count for del_bytes(): {N}
|
||||
*E323* *E341* *E473* *E570* *E685* *E292*
|
||||
Add to read buffer ~
|
||||
makemap: Illegal mode ~
|
||||
Cannot create BalloonEval with both message and callback ~
|
||||
block was not locked ~
|
||||
Didn't get block nr {N}? ~
|
||||
ml_upd_block0(): Didn't get block 0?? ~
|
||||
pointer block id wrong {N} ~
|
||||
Updated too many blocks? ~
|
||||
get_varp ERROR ~
|
||||
u_undo: line numbers wrong ~
|
||||
undo list corrupt ~
|
||||
undo line missing ~
|
||||
ml_get: cannot find line {N} in buffer {nr} {name} ~
|
||||
line number out of range: {N} past the end ~
|
||||
line count wrong in block {N} ~
|
||||
Internal error: lalloc(0, ) ~
|
||||
Internal error: {function} ~
|
||||
Internal error in regexp ~
|
||||
fatal error in cs_manage_matches ~
|
||||
Invalid count for del_bytes(): {N} ~
|
||||
|
||||
This is an internal error. If you can reproduce it, please send in a bug
|
||||
report. |bugs|
|
||||
|
||||
>
|
||||
ATTENTION
|
||||
Found a swap file by the name ...
|
||||
|
||||
ATTENTION ~
|
||||
Found a swap file by the name ... ~
|
||||
|
||||
See |ATTENTION|.
|
||||
|
||||
*E92* >
|
||||
Buffer {N} not found
|
||||
*E92*
|
||||
Buffer {N} not found ~
|
||||
|
||||
The buffer you requested does not exist. This can also happen when you have
|
||||
wiped out a buffer which contains a mark or is referenced in another way.
|
||||
|:bwipeout|
|
||||
|
||||
*E95* >
|
||||
Buffer with this name already exists
|
||||
*E95*
|
||||
Buffer with this name already exists ~
|
||||
|
||||
You cannot have two buffers with exactly the same name. This includes the
|
||||
path leading to the file.
|
||||
|
||||
*E72* >
|
||||
Close error on swap file
|
||||
*E72*
|
||||
Close error on swap file ~
|
||||
|
||||
The |swap-file|, that is used to keep a copy of the edited text, could not be
|
||||
closed properly. Mostly harmless.
|
||||
|
||||
*E169* >
|
||||
Command too recursive
|
||||
*E169*
|
||||
Command too recursive ~
|
||||
|
||||
This happens when an Ex command executes an Ex command that executes an Ex
|
||||
command, etc. The limit is 200 or the value of 'maxfuncdepth', whatever is
|
||||
larger. When it's more there probably is an endless loop. Probably a
|
||||
|:execute| or |:source| command is involved.
|
||||
|
||||
*E254* >
|
||||
Cannot allocate color {name}
|
||||
*E254*
|
||||
Cannot allocate color {name} ~
|
||||
|
||||
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
||||
are available on most systems.
|
||||
|
||||
*E1244* >
|
||||
Bad color string: {str}
|
||||
*E1244*
|
||||
Bad color string: {str} ~
|
||||
|
||||
The provided color did not conform to the pattern #rrggbb
|
||||
|
||||
*E458* >
|
||||
Cannot allocate colormap entry, some colors may be incorrect
|
||||
*E458*
|
||||
Cannot allocate colormap entry, some colors may be incorrect ~
|
||||
|
||||
This means that there are not enough colors available for Vim. It will still
|
||||
run, but some of the colors will not appear in the specified color. Try
|
||||
stopping other applications that use many colors, or start them after starting
|
||||
gvim.
|
||||
Browsers are known to consume a lot of colors. You can avoid this with
|
||||
netscape by telling it to use its own colormap: >
|
||||
netscape -install
|
||||
Or tell it to limit to a certain number of colors (64 should work well): >
|
||||
netscape -ncols 64
|
||||
This can also be done with a line in your Xdefaults file: >
|
||||
Netscape*installColormap: Yes
|
||||
or >
|
||||
Netscape*maxImageColors: 64
|
||||
<
|
||||
*E79* >
|
||||
Cannot expand wildcards
|
||||
netscape by telling it to use its own colormap:
|
||||
netscape -install ~
|
||||
Or tell it to limit to a certain number of colors (64 should work well):
|
||||
netscape -ncols 64 ~
|
||||
This can also be done with a line in your Xdefaults file:
|
||||
Netscape*installColormap: Yes ~
|
||||
or
|
||||
Netscape*maxImageColors: 64 ~
|
||||
|
||||
*E79*
|
||||
Cannot expand wildcards ~
|
||||
|
||||
A filename contains a strange combination of characters, which causes Vim to
|
||||
attempt expanding wildcards but this fails. This does NOT mean that no
|
||||
matching file names could be found, but that the pattern was illegal.
|
||||
|
||||
*E459* >
|
||||
Cannot go back to previous directory
|
||||
*E459*
|
||||
Cannot go back to previous directory ~
|
||||
|
||||
While expanding a file name, Vim failed to go back to the previously used
|
||||
directory. All file names being used may be invalid now! You need to have
|
||||
execute permission on the current directory.
|
||||
|
||||
*E190* *E212* >
|
||||
Cannot open "{filename}" for writing
|
||||
Can't open file for writing
|
||||
*E190* *E212*
|
||||
Cannot open "{filename}" for writing ~
|
||||
Can't open file for writing ~
|
||||
|
||||
For some reason the file you are writing to cannot be created or overwritten.
|
||||
The reason could be that you do not have permission to write in the directory
|
||||
or the file name is not valid.
|
||||
|
||||
*E166* >
|
||||
Can't open linked file for writing
|
||||
*E166*
|
||||
Can't open linked file for writing ~
|
||||
|
||||
You are trying to write to a file which can't be overwritten, and the file is
|
||||
a link (either a hard link or a symbolic link). Writing might still be
|
||||
@@ -197,20 +198,20 @@ place. If you really want to write the file under this name, you have to
|
||||
manually delete the link or the file, or change the permissions so that Vim
|
||||
can overwrite.
|
||||
|
||||
*E46* >
|
||||
Cannot change read-only variable "{name}"
|
||||
*E46*
|
||||
Cannot change read-only variable "{name}" ~
|
||||
|
||||
You are trying to assign a value to an argument of a function |a:var| or a Vim
|
||||
internal variable |v:var| which is read-only.
|
||||
|
||||
*E90* >
|
||||
Cannot unload last buffer
|
||||
*E90*
|
||||
Cannot unload last buffer ~
|
||||
|
||||
Vim always requires one buffer to be loaded, otherwise there would be nothing
|
||||
to display in the window.
|
||||
|
||||
*E40* >
|
||||
Can't open errorfile <filename>
|
||||
*E40*
|
||||
Can't open errorfile <filename> ~
|
||||
|
||||
When using the ":make" or ":grep" commands: The file used to save the error
|
||||
messages or grep output cannot be opened. This can have several causes:
|
||||
@@ -222,8 +223,8 @@ messages or grep output cannot be opened. This can have several causes:
|
||||
- The 'grepprg' or 'makeprg' could not be executed. This cannot always be
|
||||
detected (especially on MS-Windows). Check your $PATH.
|
||||
|
||||
>
|
||||
Can't open file C:\TEMP\VIoD243.TMP
|
||||
|
||||
Can't open file C:\TEMP\VIoD243.TMP ~
|
||||
|
||||
On MS-Windows, this message appears when the output of an external command was
|
||||
to be read, but the command didn't run successfully. This can be caused by
|
||||
@@ -231,21 +232,21 @@ many things. Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and
|
||||
related options. It might also be that the external command was not found,
|
||||
there is no different error message for that.
|
||||
|
||||
*E12* >
|
||||
Command not allowed from exrc/vimrc in current dir or tag search
|
||||
*E12*
|
||||
Command not allowed from exrc/vimrc in current dir or tag search ~
|
||||
|
||||
Some commands are not allowed for security reasons. These commands mostly
|
||||
come from a .exrc or .vimrc file in the current directory, or from a tags
|
||||
file. Also see 'secure'.
|
||||
|
||||
*E74* >
|
||||
Command too complex
|
||||
*E74*
|
||||
Command too complex ~
|
||||
|
||||
A mapping resulted in a very long command string. Could be caused by a
|
||||
mapping that indirectly calls itself.
|
||||
|
||||
>
|
||||
CONVERSION ERROR
|
||||
|
||||
CONVERSION ERROR ~
|
||||
|
||||
When writing a file and the text "CONVERSION ERROR" appears, this means that
|
||||
some bits were lost when converting text from the internally used UTF-8 to the
|
||||
@@ -257,51 +258,51 @@ If there is a backup file, when 'writebackup' or 'backup' is set, it will not
|
||||
be deleted, so you can move it back into place if you want to discard the
|
||||
changes.
|
||||
|
||||
*E302* >
|
||||
Could not rename swap file
|
||||
*E302*
|
||||
Could not rename swap file ~
|
||||
|
||||
When the file name changes, Vim tries to rename the |swap-file| as well.
|
||||
This failed and the old swap file is now still used. Mostly harmless.
|
||||
|
||||
*E43* *E44* >
|
||||
Damaged match string
|
||||
Corrupted regexp program
|
||||
*E43* *E44*
|
||||
Damaged match string ~
|
||||
Corrupted regexp program ~
|
||||
|
||||
Something inside Vim went wrong and resulted in a corrupted regexp. If you
|
||||
know how to reproduce this problem, please report it. |bugs|
|
||||
|
||||
*E208* *E209* *E210* >
|
||||
Error writing to "{filename}"
|
||||
Error closing "{filename}"
|
||||
Error reading "{filename}"
|
||||
*E208* *E209* *E210*
|
||||
Error writing to "{filename}" ~
|
||||
Error closing "{filename}" ~
|
||||
Error reading "{filename}" ~
|
||||
|
||||
This occurs when Vim is trying to rename a file, but a simple change of file
|
||||
name doesn't work. Then the file will be copied, but somehow this failed.
|
||||
The result may be that both the original file and the destination file exist
|
||||
and the destination file may be incomplete.
|
||||
|
||||
>
|
||||
Vim: Error reading input, exiting...
|
||||
|
||||
Vim: Error reading input, exiting... ~
|
||||
|
||||
This occurs when Vim cannot read typed characters while input is required.
|
||||
Vim got stuck, the only thing it can do is exit. This can happen when both
|
||||
stdin and stderr are redirected and executing a script that doesn't exit Vim.
|
||||
|
||||
*E47* >
|
||||
Error while reading errorfile
|
||||
*E47*
|
||||
Error while reading errorfile ~
|
||||
|
||||
Reading the error file was not possible. This is NOT caused by an error
|
||||
message that was not recognized.
|
||||
|
||||
*E80* >
|
||||
Error while writing
|
||||
*E80*
|
||||
Error while writing ~
|
||||
|
||||
Writing a file was not completed successfully. The file is probably
|
||||
incomplete.
|
||||
|
||||
*E13* *E189* >
|
||||
File exists (add ! to override)
|
||||
"{filename}" exists (add ! to override)
|
||||
*E13* *E189*
|
||||
File exists (add ! to override) ~
|
||||
"{filename}" exists (add ! to override) ~
|
||||
|
||||
You are protected from accidentally overwriting a file. When you want to
|
||||
write anyway, use the same command, but add a "!" just after the command.
|
||||
@@ -310,8 +311,8 @@ Example: >
|
||||
changes to: >
|
||||
:w! /tmp/test
|
||||
<
|
||||
*E768* >
|
||||
Swap file exists: {filename} (:silent! overrides)
|
||||
*E768*
|
||||
Swap file exists: {filename} (:silent! overrides) ~
|
||||
|
||||
You are protected from overwriting a file that is being edited by Vim. This
|
||||
happens when you use ":w! filename" and a swapfile is found.
|
||||
@@ -323,115 +324,115 @@ happens when you use ":w! filename" and a swapfile is found.
|
||||
< The special command is needed, since you already added the ! for overwriting
|
||||
an existing file.
|
||||
|
||||
*E139* >
|
||||
File is loaded in another buffer
|
||||
*E139*
|
||||
File is loaded in another buffer ~
|
||||
|
||||
You are trying to write a file under a name which is also used in another
|
||||
buffer. This would result in two versions of the same file.
|
||||
|
||||
*E142* >
|
||||
File not written: Writing is disabled by 'write' option
|
||||
*E142*
|
||||
File not written: Writing is disabled by 'write' option ~
|
||||
|
||||
The 'write' option is off. This makes all commands that try to write a file
|
||||
generate this message. This could be caused by a |-m| commandline argument.
|
||||
You can switch the 'write' option on with ":set write".
|
||||
|
||||
*E25* >
|
||||
GUI cannot be used: Not enabled at compile time
|
||||
*E25*
|
||||
GUI cannot be used: Not enabled at compile time ~
|
||||
|
||||
You are running a version of Vim that doesn't include the GUI code. Therefore
|
||||
"gvim" and ":gui" don't work.
|
||||
|
||||
*E49* >
|
||||
Invalid scroll size
|
||||
*E49*
|
||||
Invalid scroll size ~
|
||||
|
||||
This is caused by setting an invalid value for the 'scroll', 'scrolljump' or
|
||||
'scrolloff' options.
|
||||
|
||||
*E17* >
|
||||
"{filename}" is a directory
|
||||
*E17*
|
||||
"{filename}" is a directory ~
|
||||
|
||||
You tried to write a file with the name of a directory. This is not possible.
|
||||
You probably need to append a file name.
|
||||
|
||||
*E19* >
|
||||
Mark has invalid line number
|
||||
*E19*
|
||||
Mark has invalid line number ~
|
||||
|
||||
You are using a mark that has a line number that doesn't exist. This can
|
||||
happen when you have a mark in another file, and some other program has
|
||||
deleted lines from it.
|
||||
|
||||
*E219* *E220* >
|
||||
Missing {.
|
||||
Missing }.
|
||||
*E219* *E220*
|
||||
Missing {. ~
|
||||
Missing }. ~
|
||||
|
||||
Using a {} construct in a file name, but there is a { without a matching } or
|
||||
the other way around. It should be used like this: {foo,bar}. This matches
|
||||
"foo" and "bar".
|
||||
|
||||
*E315* >
|
||||
ml_get: invalid lnum: {number}
|
||||
*E315*
|
||||
ml_get: invalid lnum: {number} ~
|
||||
|
||||
This is an internal Vim error. Please try to find out how it can be
|
||||
reproduced, and submit a bug report |bugreport.vim|.
|
||||
|
||||
*E173* >
|
||||
{number} more files to edit
|
||||
*E173*
|
||||
{number} more files to edit ~
|
||||
|
||||
You are trying to exit, while the last item in the argument list has not been
|
||||
edited. This protects you from accidentally exiting when you still have more
|
||||
files to work on. See |argument-list|. If you do want to exit, just do it
|
||||
again and it will work.
|
||||
|
||||
*E23* *E194* >
|
||||
No alternate file
|
||||
No alternate file name to substitute for '#'
|
||||
*E23* *E194*
|
||||
No alternate file ~
|
||||
No alternate file name to substitute for '#' ~
|
||||
|
||||
The alternate file is not defined yet. See |alternate-file|.
|
||||
|
||||
*E32* >
|
||||
No file name
|
||||
*E32*
|
||||
No file name ~
|
||||
|
||||
The current buffer has no name. To write it, use ":w fname". Or give the
|
||||
buffer a name with ":file fname".
|
||||
|
||||
*E141* >
|
||||
No file name for buffer {number}
|
||||
*E141*
|
||||
No file name for buffer {number} ~
|
||||
|
||||
One of the buffers that was changed does not have a file name. Therefore it
|
||||
cannot be written. You need to give the buffer a file name: >
|
||||
:buffer {number}
|
||||
:file {filename}
|
||||
<
|
||||
*E33* >
|
||||
No previous substitute regular expression
|
||||
*E33*
|
||||
No previous substitute regular expression ~
|
||||
|
||||
When using the '~' character in a pattern, it is replaced with the previously
|
||||
used pattern in a ":substitute" command. This fails when no such command has
|
||||
been used yet. See |/~|. This also happens when using ":s/pat/%/", where the
|
||||
"%" stands for the previous substitute string.
|
||||
|
||||
*E35* >
|
||||
No previous regular expression
|
||||
*E35*
|
||||
No previous regular expression ~
|
||||
|
||||
When using an empty search pattern, the previous search pattern is used. But
|
||||
that is not possible if there was no previous search.
|
||||
|
||||
*E24* >
|
||||
No such abbreviation
|
||||
*E24*
|
||||
No such abbreviation ~
|
||||
|
||||
You have used an ":unabbreviate" command with an argument which is not an
|
||||
existing abbreviation. All variations of this command give the same message:
|
||||
":cunabbrev", ":iunabbrev", etc. Check for trailing white space.
|
||||
|
||||
>
|
||||
/dev/dsp: No such file or directory
|
||||
|
||||
/dev/dsp: No such file or directory ~
|
||||
|
||||
Only given for GTK GUI with Gnome support. Gnome tries to use the audio
|
||||
device and it isn't present. You can ignore this error.
|
||||
|
||||
*E31* >
|
||||
No such mapping
|
||||
*E31*
|
||||
No such mapping ~
|
||||
|
||||
You have used an ":unmap" command with an argument which is not an existing
|
||||
mapping. All variations of this command give the same message: ":cunmap",
|
||||
@@ -440,9 +441,9 @@ mapping. All variations of this command give the same message: ":cunmap",
|
||||
- If the mapping is buffer-local you need to use ":unmap <buffer>".
|
||||
|:map-<buffer>|
|
||||
|
||||
*E37* *E89* >
|
||||
No write since last change (add ! to override)
|
||||
No write since last change for buffer {N} (add ! to override)
|
||||
*E37* *E89*
|
||||
No write since last change (add ! to override) ~
|
||||
No write since last change for buffer {N} (add ! to override) ~
|
||||
|
||||
You are trying to |abandon| a file that has changes. Vim protects you from
|
||||
losing your work. You can either write the changed file with ":w", or, if you
|
||||
@@ -452,8 +453,8 @@ adding a '!' character just after the command you used. Example: >
|
||||
changes to: >
|
||||
:e! other_file
|
||||
<
|
||||
*E162* >
|
||||
No write since last change for buffer "{name}"
|
||||
*E162*
|
||||
No write since last change for buffer "{name}" ~
|
||||
|
||||
This appears when you try to exit Vim while some buffers are changed. You
|
||||
will either have to write the changed buffer (with |:w|), or use a command to
|
||||
@@ -461,23 +462,23 @@ abandon the buffer forcefully, e.g., with ":qa!". Careful, make sure you
|
||||
don't throw away changes you really want to keep. You might have forgotten
|
||||
about a buffer, especially when 'hidden' is set.
|
||||
|
||||
>
|
||||
[No write since last change]
|
||||
|
||||
[No write since last change] ~
|
||||
|
||||
This appears when executing a shell command while at least one buffer was
|
||||
changed. To avoid the message reset the 'warn' option.
|
||||
|
||||
*E38* >
|
||||
Null argument
|
||||
*E38*
|
||||
Null argument ~
|
||||
|
||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||
how to reproduce this problem, please report it. |bugs|
|
||||
|
||||
*E41* *E82* *E83* *E342* >
|
||||
Out of memory!
|
||||
Out of memory! (allocating {number} bytes)
|
||||
Cannot allocate any buffer, exiting...
|
||||
Cannot allocate buffer, using other one...
|
||||
*E41* *E82* *E83* *E342*
|
||||
Out of memory! ~
|
||||
Out of memory! (allocating {number} bytes) ~
|
||||
Cannot allocate any buffer, exiting... ~
|
||||
Cannot allocate buffer, using other one... ~
|
||||
|
||||
Oh, oh. You must have been doing something complicated, or some other program
|
||||
is consuming your memory. Be careful! Vim is not completely prepared for an
|
||||
@@ -495,16 +496,16 @@ in memory, you can reduce that with these options:
|
||||
helps for a change that affects all lines.
|
||||
- 'undoreload' Set to zero to disable.
|
||||
|
||||
*E339* >
|
||||
Pattern too long
|
||||
*E339*
|
||||
Pattern too long ~
|
||||
|
||||
This happens on systems with 16 bit ints: The compiled regexp pattern is
|
||||
longer than about 65000 characters. Try using a shorter pattern.
|
||||
It also happens when the offset of a rule doesn't fit in the space available.
|
||||
Try simplifying the pattern.
|
||||
|
||||
*E45* >
|
||||
'readonly' option is set (add ! to override)
|
||||
*E45*
|
||||
'readonly' option is set (add ! to override) ~
|
||||
|
||||
You are trying to write a file that was marked as read-only. To write the
|
||||
file anyway, either reset the 'readonly' option, or add a '!' character just
|
||||
@@ -513,18 +514,18 @@ after the command you used. Example: >
|
||||
changes to: >
|
||||
:w!
|
||||
<
|
||||
*E294* *E295* *E301* >
|
||||
Read error in swap file
|
||||
Seek error in swap file read
|
||||
Oops, lost the swap file!!!
|
||||
*E294* *E295* *E301*
|
||||
Read error in swap file ~
|
||||
Seek error in swap file read ~
|
||||
Oops, lost the swap file!!! ~
|
||||
|
||||
Vim tried to read text from the |swap-file|, but something went wrong. The
|
||||
text in the related buffer may now be corrupted! Check carefully before you
|
||||
write a buffer. You may want to write it in another file and check for
|
||||
differences.
|
||||
|
||||
*E192* >
|
||||
Recursive use of :normal too deep
|
||||
*E192*
|
||||
Recursive use of :normal too deep ~
|
||||
|
||||
You are using a ":normal" command, whose argument again uses a ":normal"
|
||||
command in a recursive way. This is restricted to 'maxmapdepth' levels. This
|
||||
@@ -532,16 +533,16 @@ example illustrates how to get this message: >
|
||||
:map gq :normal gq<CR>
|
||||
If you type "gq", it will execute this mapping, which will call "gq" again.
|
||||
|
||||
*E22* >
|
||||
Scripts nested too deep
|
||||
*E22*
|
||||
Scripts nested too deep ~
|
||||
|
||||
Scripts can be read with the "-s" command-line argument and with the
|
||||
`:source!` command. The script can then again read another script. This can
|
||||
continue for about 14 levels. When more nesting is done, Vim assumes that
|
||||
there is a recursive loop and stops with this error message.
|
||||
|
||||
*E319* >
|
||||
Sorry, the command is not available in this version
|
||||
*E319*
|
||||
Sorry, the command is not available in this version ~
|
||||
|
||||
You have used a command that is not present in the version of Vim you are
|
||||
using. When compiling Vim, many different features can be enabled or
|
||||
@@ -549,8 +550,8 @@ disabled. This depends on how big Vim has chosen to be and the operating
|
||||
system. See |+feature-list| for when which feature is available. The
|
||||
|:version| command shows which feature Vim was compiled with.
|
||||
|
||||
*E300* >
|
||||
Swap file already exists (symlink attack?)
|
||||
*E300*
|
||||
Swap file already exists (symlink attack?) ~
|
||||
|
||||
This message appears when Vim is trying to open a swap file and finds it
|
||||
already exists or finds a symbolic link in its place. This shouldn't happen,
|
||||
@@ -559,8 +560,8 @@ opened the same file at exactly the same moment (very unlikely) or someone is
|
||||
attempting a symlink attack (could happen when editing a file in /tmp or when
|
||||
'directory' starts with "/tmp", which is a bad choice).
|
||||
|
||||
*E432* >
|
||||
Tags file not sorted: {file name}
|
||||
*E432*
|
||||
Tags file not sorted: {file name} ~
|
||||
|
||||
Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
|
||||
can then be used, which is a lot faster than a linear search. If your tags
|
||||
@@ -569,21 +570,21 @@ This message is only given when Vim detects a problem when searching for a
|
||||
tag. Sometimes this message is not given, even though the tags file is not
|
||||
properly sorted.
|
||||
|
||||
*E424* >
|
||||
Too many different highlighting attributes in use
|
||||
*E424*
|
||||
Too many different highlighting attributes in use ~
|
||||
|
||||
Vim can only handle about 223 different kinds of highlighting. If you run
|
||||
into this limit, you have used too many |:highlight| commands with different
|
||||
arguments. A ":highlight link" is not counted.
|
||||
|
||||
*E77* >
|
||||
Too many file names
|
||||
*E77*
|
||||
Too many file names ~
|
||||
|
||||
When expanding file names, more than one match was found. Only one match is
|
||||
allowed for the command that was used.
|
||||
|
||||
*E303* >
|
||||
Unable to open swap file for "{filename}", recovery impossible
|
||||
*E303*
|
||||
Unable to open swap file for "{filename}", recovery impossible ~
|
||||
|
||||
Vim was not able to create a swap file. You can still edit the file, but if
|
||||
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
||||
@@ -591,25 +592,25 @@ memory when editing a big file. You may want to change the 'directory' option
|
||||
to avoid this error. This error is not given when 'directory' is empty. See
|
||||
|swap-file|.
|
||||
|
||||
*E140* >
|
||||
Use ! to write partial buffer
|
||||
*E140*
|
||||
Use ! to write partial buffer ~
|
||||
|
||||
When using a range to write part of a buffer, it is unusual to overwrite the
|
||||
original file. It is probably a mistake (e.g., when Visual mode was active
|
||||
when using ":w"), therefore Vim requires using a ! after the command, e.g.:
|
||||
":3,10w!".
|
||||
>
|
||||
|
||||
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type
|
||||
VirtualBinding
|
||||
|
||||
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type ~
|
||||
VirtualBinding ~
|
||||
|
||||
Messages like this appear when starting up. This is not a Vim problem, your
|
||||
X11 configuration is wrong. You can find a hint on how to solve this here:
|
||||
http://groups.yahoo.com/group/solarisonintel/message/12179.
|
||||
[this URL is no longer valid]
|
||||
|
||||
*W10* >
|
||||
Warning: Changing a readonly file
|
||||
*W10*
|
||||
Warning: Changing a readonly file ~
|
||||
|
||||
The file is read-only and you are making a change to it anyway. You can use
|
||||
the |FileChangedRO| autocommand event to avoid this message (the autocommand
|
||||
@@ -617,15 +618,15 @@ must reset the 'readonly' option). See 'modifiable' to completely disallow
|
||||
making changes to a file.
|
||||
This message is only given for the first change after 'readonly' has been set.
|
||||
|
||||
*W13* >
|
||||
Warning: File "{filename}" has been created after editing started
|
||||
*W13*
|
||||
Warning: File "{filename}" has been created after editing started ~
|
||||
|
||||
You are editing a file in Vim when it didn't exist, but it does exist now.
|
||||
You will have to decide if you want to keep the version in Vim or the newly
|
||||
created file. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W11* >
|
||||
Warning: File "{filename}" has changed since editing started
|
||||
*W11*
|
||||
Warning: File "{filename}" has changed since editing started ~
|
||||
|
||||
The file which you have started editing has got another timestamp and the
|
||||
contents changed (more precisely: When reading the file again with the current
|
||||
@@ -648,15 +649,15 @@ starts. It can be fixed in one of these ways:
|
||||
If you get W11 all the time, you may need to disable "Acronis Active
|
||||
Protection" or register Vim as a trusted service/application.
|
||||
|
||||
*W12* >
|
||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
||||
*W12*
|
||||
Warning: File "{filename}" has changed and the buffer was changed in Vim as well ~
|
||||
|
||||
Like the above, and the buffer for the file was changed in this Vim as well.
|
||||
You will have to decide if you want to keep the version in this Vim or the one
|
||||
on disk. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W16* >
|
||||
Warning: Mode of file "{filename}" has changed since editing started
|
||||
*W16*
|
||||
Warning: Mode of file "{filename}" has changed since editing started ~
|
||||
|
||||
When the timestamp for a buffer was changed and the contents are still the
|
||||
same but the mode (permissions) have changed. This usually occurs when
|
||||
@@ -664,37 +665,37 @@ checking out a file from a version control system, which causes the read-only
|
||||
bit to be reset. It should be safe to reload the file. Set 'autoread' to
|
||||
automatically reload the file.
|
||||
|
||||
*E211* >
|
||||
File "{filename}" no longer available
|
||||
*E211*
|
||||
File "{filename}" no longer available ~
|
||||
|
||||
The file which you have started editing has disappeared, or is no longer
|
||||
accessible. Make sure you write the buffer somewhere to avoid losing
|
||||
changes. This message is not given when 'buftype' is not empty.
|
||||
|
||||
*W14* >
|
||||
Warning: List of file names overflow
|
||||
*W14*
|
||||
Warning: List of file names overflow ~
|
||||
|
||||
You must be using an awful lot of buffers. It's now possible that two buffers
|
||||
have the same number, which causes various problems. You might want to exit
|
||||
Vim and restart it.
|
||||
|
||||
*E931* >
|
||||
Buffer cannot be registered
|
||||
*E931*
|
||||
Buffer cannot be registered ~
|
||||
|
||||
Out of memory or a duplicate buffer number. May happen after W14. Looking up
|
||||
a buffer will not always work, better restart Vim.
|
||||
|
||||
*E296* *E297* >
|
||||
Seek error in swap file write
|
||||
Write error in swap file
|
||||
*E296* *E297*
|
||||
Seek error in swap file write ~
|
||||
Write error in swap file ~
|
||||
|
||||
This mostly happens when the disk is full. Vim could not write text into the
|
||||
|swap-file|. It's not directly harmful, but when Vim unexpectedly exits some
|
||||
text may be lost without recovery being possible. Vim might run out of memory
|
||||
when this problem persists.
|
||||
|
||||
*connection-refused* >
|
||||
Xlib: connection to "<machine-name:0.0" refused by server
|
||||
*connection-refused*
|
||||
Xlib: connection to "<machine-name:0.0" refused by server ~
|
||||
|
||||
This happens when Vim tries to connect to the X server, but the X server does
|
||||
not allow a connection. The connection to the X server is needed to be able
|
||||
@@ -702,55 +703,56 @@ to restore the title and for the xterm clipboard support. Unfortunately this
|
||||
error message cannot be avoided, except by disabling the |+xterm_clipboard|
|
||||
and |+X11| features.
|
||||
|
||||
*E10* >
|
||||
\\ should be followed by /, ? or &
|
||||
*E10*
|
||||
\\ should be followed by /, ? or & ~
|
||||
|
||||
A command line started with a backslash or the range of a command contained a
|
||||
backslash in a wrong place. This is often caused by command-line continuation
|
||||
being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it.
|
||||
Or use ":set nocp".
|
||||
|
||||
*E471* >
|
||||
Argument required
|
||||
*E471*
|
||||
Argument required ~
|
||||
|
||||
This happens when an Ex command with mandatory argument(s) was executed, but
|
||||
no argument has been specified.
|
||||
|
||||
*E474* *E475* *E983* >
|
||||
Invalid argument
|
||||
Invalid argument: {arg}
|
||||
Duplicate argument: {arg}
|
||||
*E474* *E475* *E983*
|
||||
Invalid argument ~
|
||||
Invalid argument: {arg} ~
|
||||
Duplicate argument: {arg} ~
|
||||
|
||||
An Ex command or function has been executed, but an invalid argument has been
|
||||
specified.
|
||||
|
||||
*E488* >
|
||||
Trailing characters
|
||||
*E488*
|
||||
Trailing characters ~
|
||||
Trailing characters: {text} ~
|
||||
|
||||
An argument has been added to an Ex command that does not permit one.
|
||||
Or the argument has invalid characters and has not been recognized.
|
||||
|
||||
*E477* *E478* >
|
||||
No ! allowed
|
||||
Don't panic!
|
||||
*E477* *E478*
|
||||
No ! allowed ~
|
||||
Don't panic! ~
|
||||
|
||||
You have added a "!" after an Ex command that doesn't permit one.
|
||||
|
||||
*E481* >
|
||||
No range allowed
|
||||
*E481*
|
||||
No range allowed ~
|
||||
|
||||
A range was specified for an Ex command that doesn't permit one. See
|
||||
|cmdline-ranges|.
|
||||
|
||||
*E482* *E483* >
|
||||
Can't create file {filename}
|
||||
Can't get temp file name
|
||||
*E482* *E483*
|
||||
Can't create file {filename} ~
|
||||
Can't get temp file name ~
|
||||
|
||||
Vim cannot create a temporary file.
|
||||
|
||||
*E484* *E485* >
|
||||
Can't open file {filename}
|
||||
Can't read file {filename}
|
||||
*E484* *E485*
|
||||
Can't open file {filename} ~
|
||||
Can't read file {filename} ~
|
||||
|
||||
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
||||
by wrong escaping of special characters for cmd.exe; the approach was
|
||||
@@ -758,8 +760,8 @@ changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
|
||||
given to |system()|, or explicitly add escaping with ^. Also see
|
||||
'shellxquote' and 'shellxescape'.
|
||||
|
||||
*E464* >
|
||||
Ambiguous use of user-defined command
|
||||
*E464*
|
||||
Ambiguous use of user-defined command ~
|
||||
|
||||
There are two user-defined commands with a common name prefix, and you used
|
||||
Command-line completion to execute one of them. |user-cmd-ambiguous|
|
||||
@@ -768,23 +770,22 @@ Example: >
|
||||
:command MyCommand2 echo "two"
|
||||
:MyCommand
|
||||
<
|
||||
*E492* >
|
||||
Not an editor command
|
||||
*E492*
|
||||
Not an editor command ~
|
||||
|
||||
You tried to execute a command that is neither an Ex command nor
|
||||
a user-defined command.
|
||||
|
||||
*E943* >
|
||||
Command table needs to be updated, run 'make cmdidxs'
|
||||
*E943*
|
||||
Command table needs to be updated, run 'make cmdidxs' ~
|
||||
|
||||
This can only happen when changing the source code, when adding a command in
|
||||
src/ex_cmds.h. The lookup table then needs to be updated, by running: >
|
||||
make cmdidxs
|
||||
<
|
||||
*E928* *E889* *E839* >
|
||||
E928: String required
|
||||
E889: Number required
|
||||
E839: Bool required
|
||||
*E928* *E889*
|
||||
E928: String required ~
|
||||
E889: Number required ~
|
||||
|
||||
These happen when a value or expression is used that does not have the
|
||||
expected type.
|
||||
@@ -797,7 +798,7 @@ This is an (incomplete) overview of various messages that Vim gives:
|
||||
*hit-enter* *press-enter* *hit-return*
|
||||
*press-return* *hit-enter-prompt*
|
||||
|
||||
Press ENTER or type command to continue
|
||||
Press ENTER or type command to continue ~
|
||||
|
||||
This message is given when there is something on the screen for you to read,
|
||||
and the screen is about to be redrawn:
|
||||
@@ -841,9 +842,9 @@ Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question|
|
||||
group.
|
||||
|
||||
|
||||
*more-prompt* *pager* >
|
||||
-- More --
|
||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
|
||||
*more-prompt* *pager*
|
||||
-- More -- ~
|
||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit ~
|
||||
|
||||
This message is given when the screen is filled with messages. It is only
|
||||
given when the 'more' option is on. It is highlighted with the |hl-MoreMsg|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2022 Jan 02
|
||||
*options.txt* For Vim version 8.2. Last change: 2022 Feb 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -170,7 +170,7 @@ When a key code is not set, it's like it does not exist. Trying to get its
|
||||
value will result in an error: >
|
||||
:set t_kb=
|
||||
:set t_kb
|
||||
E846: Key code not set: t_kb
|
||||
< E846: Key code not set: t_kb ~
|
||||
|
||||
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
@@ -800,6 +800,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
need proper setting-up, so whenever the shell's pwd changes an OSC 7
|
||||
escape sequence will be emitted. For example, on Linux, you can source
|
||||
/etc/profile.d/vte.sh in your shell profile if you use bash or zsh.
|
||||
When the parsing of the OSC sequence fails you get *E1179* .
|
||||
|
||||
*'arabic'* *'arab'* *'noarabic'* *'noarab'*
|
||||
'arabic' 'arab' boolean (default off)
|
||||
@@ -1229,7 +1230,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the script ID (|local-function|). Example: >
|
||||
set bexpr=s:MyBalloonExpr()
|
||||
set bexpr=<SID>SomeBalloonExpr()
|
||||
<
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
This option cannot be set in a modeline when 'modelineexpr' is off.
|
||||
@@ -1370,6 +1373,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
text should normally be narrower. This prevents
|
||||
text indented almost to the right window border
|
||||
occupying lot of vertical space when broken.
|
||||
(default: 20)
|
||||
shift:{n} After applying 'breakindent', the wrapped line's
|
||||
beginning will be shifted by the given number of
|
||||
characters. It permits dynamic French paragraph
|
||||
@@ -1555,8 +1559,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
preferred, because it is much faster.
|
||||
'charconvert' is not used when reading stdin |--|, because there is no
|
||||
file to convert from. You will have to save the text in a file first.
|
||||
The expression must return zero or an empty string for success,
|
||||
non-zero for failure.
|
||||
The expression must return zero, false or an empty string for success,
|
||||
non-zero or true for failure.
|
||||
The possible encoding names encountered are in 'encoding'.
|
||||
Additionally, names given in 'fileencodings' and 'fileencoding' are
|
||||
used.
|
||||
@@ -1580,9 +1584,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Note that v:fname_in and v:fname_out will never be the same.
|
||||
Note that v:charconvert_from and v:charconvert_to may be different
|
||||
from 'encoding'. Vim internally uses UTF-8 instead of UCS-2 or UCS-4.
|
||||
|
||||
Encryption is not done by Vim when using 'charconvert'. If you want
|
||||
to encrypt the file after conversion, 'charconvert' should take care
|
||||
of this.
|
||||
|
||||
If the 'charconvert' expression starts with s: or |<SID>|, then it is
|
||||
replaced with the script ID (|local-function|). Example: >
|
||||
set charconvert=s:MyConvert()
|
||||
set charconvert=<SID>SomeConvert()
|
||||
< Otherwise the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
@@ -2464,7 +2477,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
you write the file the encrypted bytes will be
|
||||
different. The whole undo file is encrypted, not just
|
||||
the pieces of text.
|
||||
*E1193* *E1194* *E1195* *E1196*
|
||||
*E1193* *E1194* *E1195* *E1196* *E1230*
|
||||
*E1197* *E1198* *E1199* *E1200* *E1201*
|
||||
xchacha20 XChaCha20 Cipher with Poly1305 Message Authentication
|
||||
Code. Medium strong till strong encryption.
|
||||
@@ -3438,7 +3451,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not available when compiled without the |+folding|
|
||||
or |+eval| features}
|
||||
The expression used for when 'foldmethod' is "expr". It is evaluated
|
||||
for each line to obtain its fold level. See |fold-expr|.
|
||||
for each line to obtain its fold level. The context is set to the
|
||||
script where 'foldexpr' was set, script-local items can be accessed.
|
||||
See |fold-expr| for the usage.
|
||||
|
||||
The expression will be evaluated in the |sandbox| if set from a
|
||||
modeline, see |sandbox-option|.
|
||||
@@ -3572,7 +3587,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
{not available when compiled without the |+folding|
|
||||
feature}
|
||||
An expression which is used to specify the text displayed for a closed
|
||||
fold. See |fold-foldtext|.
|
||||
fold. The context is set to the script where 'foldexpr' was set,
|
||||
script-local items can be accessed. See |fold-foldtext| for the
|
||||
usage.
|
||||
|
||||
The expression will be evaluated in the |sandbox| if set from a
|
||||
modeline, see |sandbox-option|.
|
||||
@@ -3615,7 +3632,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the script ID (|local-function|). Example: >
|
||||
set formatexpr=s:MyFormatExpr()
|
||||
set formatexpr=<SID>SomeFormatExpr()
|
||||
<
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|. That stops the option from working,
|
||||
since changing the buffer text is not allowed.
|
||||
@@ -4462,7 +4481,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the script ID (|local-function|). Example: >
|
||||
set includeexpr=s:MyIncludeExpr(v:fname)
|
||||
set includeexpr=<SID>SomeIncludeExpr(v:fname)
|
||||
<
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression will be evaluated in the |sandbox| when set from a
|
||||
modeline, see |sandbox-option|.
|
||||
This option cannot be set in a modeline when 'modelineexpr' is off.
|
||||
@@ -4536,11 +4557,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The expression is evaluated with |v:lnum| set to the line number for
|
||||
which the indent is to be computed. The cursor is also in this line
|
||||
when the expression is evaluated (but it may be moved around).
|
||||
|
||||
If the expression starts with s: or |<SID>|, then it is replaced with
|
||||
the script ID (|local-function|). Example: >
|
||||
set indentexpr=s:MyIndentExpr()
|
||||
set indentexpr=<SID>SomeIndentExpr()
|
||||
<
|
||||
< Otherwise, the expression is evaluated in the context of the script
|
||||
where the option was set, thus script-local items are available.
|
||||
|
||||
The expression must return the number of spaces worth of indent. It
|
||||
can return "-1" to keep the current indent (this means 'autoindent' is
|
||||
used for the indent).
|
||||
@@ -5684,7 +5708,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
|
||||
'opendevice' 'odev' boolean (default off)
|
||||
global
|
||||
{only for MS-Windows}
|
||||
{only for MS-Windows} *E796*
|
||||
Enable reading and writing from devices. This may get Vim stuck on a
|
||||
device that can be opened but doesn't actually do the I/O. Therefore
|
||||
it is off by default.
|
||||
@@ -6700,6 +6724,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
See |option-backslash| about including spaces and backslashes.
|
||||
Environment variables are expanded |:set_env|.
|
||||
|
||||
In |restricted-mode| shell commands will not be possible. This mode
|
||||
is used if the value of $SHELL ends in "false" or "nologin".
|
||||
|
||||
If the name of the shell contains a space, you need to enclose it in
|
||||
quotes and escape the space. Example with quotes: >
|
||||
:set shell=\"c:\program\ files\unix\sh.exe\"\ -f
|
||||
@@ -7349,6 +7376,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
suggestions is never more than the value of 'lines'
|
||||
minus two.
|
||||
|
||||
timeout:{millisec} Limit the time searching for suggestions to
|
||||
{millisec} milli seconds. Applies to the following
|
||||
methods. When omitted the limit is 5000. When
|
||||
negative there is no limit. {only works when built
|
||||
with the +reltime feature}
|
||||
|
||||
file:{filename} Read file {filename}, which must have two columns,
|
||||
separated by a slash. The first column contains the
|
||||
bad word, the second column the suggested good word.
|
||||
@@ -7757,10 +7790,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'tabstop' 'ts' number (default 8)
|
||||
local to buffer
|
||||
Number of spaces that a <Tab> in the file counts for. Also see
|
||||
|:retab| command, and 'softtabstop' option.
|
||||
the |:retab| command, and the 'softtabstop' option.
|
||||
|
||||
Note: Setting 'tabstop' to any other value than 8 can make your file
|
||||
appear wrong in many places (e.g., when printing it).
|
||||
appear wrong in many places, e.g., when printing it.
|
||||
The value must be more than 0 and less than 10000.
|
||||
|
||||
There are four main ways to use tabs in Vim:
|
||||
1. Always keep 'tabstop' at 8, set 'softtabstop' and 'shiftwidth' to 4
|
||||
@@ -8940,7 +8974,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
mode. On pressing 'wildchar' (usually <Tab>) to invoke completion,
|
||||
the possible matches are shown just above the command line, with the
|
||||
first match highlighted (overwriting the status line, if there is
|
||||
one). Keys that show the previous/next match, such as <Tab> or
|
||||
one). This is the behavior without "pum" in 'wildoptions.
|
||||
Keys that show the previous/next match, such as <Tab> or
|
||||
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
|
||||
When 'wildmode' is used, "wildmenu" mode is used where "full" is
|
||||
specified. "longest" and "list" do not start "wildmenu" mode.
|
||||
@@ -8948,10 +8983,12 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
If there are more matches than can fit in the line, a ">" is shown on
|
||||
the right and/or a "<" is shown on the left. The status line scrolls
|
||||
as needed.
|
||||
When 'wildoptions' contains "pum", then the completion matches are
|
||||
shown in a popup menu.
|
||||
The "wildmenu" mode is abandoned when a key is hit that is not used
|
||||
for selecting a completion.
|
||||
While the "wildmenu" is active the following keys have special
|
||||
meanings:
|
||||
While the "wildmenu" is active, not using the popup menu, the
|
||||
following keys have special meanings:
|
||||
|
||||
<Left> <Right> - select previous/next match (like CTRL-P/CTRL-N)
|
||||
<Down> - in filename/menu name completion: move into a
|
||||
@@ -8961,6 +8998,21 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
<Up> - in filename/menu name completion: move up into
|
||||
parent directory or parent menu.
|
||||
|
||||
When using the popup menu for command line completion, the following
|
||||
keys have special meanings:
|
||||
<Down> - select next match (like CTRL-N)
|
||||
<Left> - in filename/menu name completion: move up into
|
||||
parent directory or parent menu.
|
||||
<Right> - in filename/menu name completion: move into a
|
||||
subdirectory or submenu.
|
||||
<Up> - select previous match (like CTRL-P)
|
||||
CTRL-E - end completion, go back to what was there before
|
||||
selecting a match.
|
||||
CTRL-N - go to the next entry
|
||||
CTRL-P - go to the previous entry
|
||||
CTRL-Y - accept the currently selected match and stop
|
||||
completion.
|
||||
|
||||
This makes the menus accessible from the console |console-menus|.
|
||||
|
||||
If you prefer the <Left> and <Right> keys to move the cursor instead
|
||||
@@ -9023,14 +9075,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
{not available when compiled without the |+wildignore|
|
||||
feature}
|
||||
A list of words that change how command line completion is done.
|
||||
Currently only one word is allowed:
|
||||
A list of words that change how |cmdline-completion| is done.
|
||||
The following values are supported:
|
||||
pum Display the completion matches using the popupmenu
|
||||
in the same style as the |ins-completion-menu|.
|
||||
tagfile When using CTRL-D to list matching tags, the kind of
|
||||
tag and the file of the tag is listed. Only one match
|
||||
is displayed per line. Often used tag kinds are:
|
||||
d #define
|
||||
f function
|
||||
Also see |cmdline-completion|.
|
||||
|
||||
*'winaltkeys'* *'wak'*
|
||||
'winaltkeys' 'wak' string (default "menu")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*pattern.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -925,7 +925,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|
||||
becomes invalid. Vim doesn't automatically update the matches.
|
||||
Similar to moving the cursor for "\%#" |/\%#|.
|
||||
|
||||
*/\%l* */\%>l* */\%<l* *E951*
|
||||
*/\%l* */\%>l* */\%<l* *E951* *E1204*
|
||||
\%23l Matches in a specific line.
|
||||
\%<23l Matches above a specific line (lower line number).
|
||||
\%>23l Matches below a specific line (higher line number).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 8.2. Last change: 2021 Oct 04
|
||||
*print.txt* For Vim version 8.2. Last change: 2022 Jan 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -178,7 +178,9 @@ If the expression starts with s: or |<SID>|, then it is replaced with the
|
||||
script ID (|local-function|). Example: >
|
||||
set printexpr=s:MyPrintFile()
|
||||
set printexpr=<SID>SomePrintFile()
|
||||
<
|
||||
Otherwise, the expression is evaluated in the context of the script where the
|
||||
option was set, thus script-local items are available.
|
||||
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for security
|
||||
reasons.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2022 Jan 04
|
||||
*quickfix.txt* For Vim version 8.2. Last change: 2022 Feb 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1385,12 +1385,17 @@ Basic items
|
||||
%f file name (finds a string)
|
||||
%o module name (finds a string)
|
||||
%l line number (finds a number)
|
||||
%e end line number (finds a number)
|
||||
%c column number (finds a number representing character
|
||||
column of the error, byte index, a <tab> is 1
|
||||
character column)
|
||||
%v virtual column number (finds a number representing
|
||||
screen column of the error (1 <tab> == 8 screen
|
||||
columns))
|
||||
%k end column number (finds a number representing
|
||||
the character column of the error, byte index, or a
|
||||
number representing screen end column of the error if
|
||||
it's used with %v)
|
||||
%t error type (finds a single character):
|
||||
e - error message
|
||||
w - warning message
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
*repeat.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -354,7 +354,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
<
|
||||
|
||||
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
|
||||
*E999* *E984*
|
||||
*E999* *E984* *E1040*
|
||||
Specify the version of Vim for the lines that follow
|
||||
in the same file. Only applies at the toplevel of
|
||||
sourced scripts, not inside functions.
|
||||
@@ -365,12 +365,11 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
Vim version, or update Vim to a newer version. See
|
||||
|vimscript-version| for what changed between versions.
|
||||
|
||||
:vim9s[cript] [noclear] [autoload] *:vim9s* *:vim9script*
|
||||
:vim9s[cript] [noclear] *:vim9s* *:vim9script*
|
||||
Marks a script file as containing |Vim9-script|
|
||||
commands. Also see |vim9-namespace|.
|
||||
Must be the first command in the file.
|
||||
commands. Also see |vim9-namespace|. *E1038*
|
||||
Must be the first command in the file. *E1039*
|
||||
For [noclear] see |vim9-reload|.
|
||||
For [autoload] see |vim9-autoload|.
|
||||
Without the |+eval| feature this changes the syntax
|
||||
for some commands.
|
||||
See |:vim9cmd| for executing one command with Vim9
|
||||
@@ -378,8 +377,11 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
|
||||
*:scr* *:scriptnames*
|
||||
:scr[iptnames] List all sourced script names, in the order they were
|
||||
first sourced. The number is used for the script ID
|
||||
|<SID>|.
|
||||
first encountered. The number is used for the script
|
||||
ID |<SID>|.
|
||||
For a script that was used with `import autoload` but
|
||||
was not actually sourced yet an "A" is shown after the
|
||||
script ID.
|
||||
{not available when compiled without the |+eval|
|
||||
feature}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 8.2. Last change: 2022 Jan 03
|
||||
*starting.txt* For Vim version 8.2. Last change: 2022 Feb 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -256,6 +256,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
Interfaces, such as Python, Ruby and Lua, are also disabled,
|
||||
since they could be used to execute shell commands. Perl uses
|
||||
the Safe module.
|
||||
For Unix restricted mode is used when the last part of $SHELL
|
||||
is "nologin" or "false".
|
||||
Note that the user may still find a loophole to execute a
|
||||
shell command, it has only been made difficult.
|
||||
|
||||
@@ -268,8 +270,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
started if possible.
|
||||
|
||||
*-e*
|
||||
-e Start Vim in Ex mode |Q|. Only makes a difference when the
|
||||
executable is not called "ex".
|
||||
-e Start Vim in Ex mode, see |Ex-mode|. Only makes a difference
|
||||
when the executable is not called "ex".
|
||||
|
||||
*-E*
|
||||
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2021 Nov 20
|
||||
*syntax.txt* For Vim version 8.2. Last change: 2022 Feb 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -215,7 +215,8 @@ A syntax group name doesn't specify any color or attributes itself.
|
||||
|
||||
The name for a highlight or syntax group must consist of ASCII letters, digits
|
||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
||||
an error when using other characters.
|
||||
an error when using other characters. The maxium length of a group name is
|
||||
about 200 bytes. *E1249*
|
||||
|
||||
To be able to allow each user to pick their favorite set of colors, there must
|
||||
be preferred names for highlight groups that are common for many languages.
|
||||
@@ -956,12 +957,16 @@ the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in
|
||||
|
||||
BASIC *basic.vim* *vb.vim* *ft-basic-syntax* *ft-vb-syntax*
|
||||
|
||||
Both Visual Basic and "normal" basic use the extension ".bas". To detect
|
||||
Both Visual Basic and "normal" BASIC use the extension ".bas". To detect
|
||||
which one should be used, Vim checks for the string "VB_Name" in the first
|
||||
five lines of the file. If it is not found, filetype will be "basic",
|
||||
otherwise "vb". Files with the ".frm" extension will always be seen as Visual
|
||||
Basic.
|
||||
|
||||
If the automatic detection doesn't work for you or you only edit, for
|
||||
example, FreeBASIC files, use this in your startup vimrc: >
|
||||
:let filetype_bas = "freebasic"
|
||||
|
||||
|
||||
C *c.vim* *ft-c-syntax*
|
||||
|
||||
@@ -1532,6 +1537,14 @@ The enhanced mode also takes advantage of additional color features for a dark
|
||||
gvim display. Here, statements are colored LightYellow instead of Yellow, and
|
||||
conditionals are LightBlue for better distinction.
|
||||
|
||||
Both Visual Basic and FORM use the extension ".frm". To detect which one
|
||||
should be used, Vim checks for the string "VB_Name" in the first five lines of
|
||||
the file. If it is found, filetype will be "vb", otherwise "form".
|
||||
|
||||
If the automatic detection doesn't work for you or you only edit, for
|
||||
example, FORM files, use this in your startup vimrc: >
|
||||
:let filetype_frm = "form"
|
||||
|
||||
|
||||
FORTH *forth.vim* *ft-forth-syntax*
|
||||
|
||||
@@ -3700,12 +3713,13 @@ DEFINING CASE *:syn-case* *E390*
|
||||
items until the next ":syntax case" command are affected.
|
||||
|
||||
:sy[ntax] case
|
||||
Show either "syntax case match" or "syntax case ignore" (translated).
|
||||
Show either "syntax case match" or "syntax case ignore".
|
||||
|
||||
|
||||
DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||
|
||||
:sy[ntax] foldlevel [start | minimum]
|
||||
:sy[ntax] foldlevel start
|
||||
:sy[ntax] foldlevel minimum
|
||||
This defines how the foldlevel of a line is computed when using
|
||||
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
|
||||
|
||||
@@ -3718,13 +3732,16 @@ DEFINING FOLDLEVEL *:syn-foldlevel*
|
||||
may close and open horizontally within a line.
|
||||
|
||||
:sy[ntax] foldlevel
|
||||
Show either "syntax foldlevel start" or "syntax foldlevel minimum".
|
||||
Show the current foldlevel method, either "syntax foldlevel start" or
|
||||
"syntax foldlevel minimum".
|
||||
|
||||
{not meaningful when Vim was compiled without |+folding| feature}
|
||||
|
||||
SPELL CHECKING *:syn-spell*
|
||||
|
||||
:sy[ntax] spell [toplevel | notoplevel | default]
|
||||
:sy[ntax] spell toplevel
|
||||
:sy[ntax] spell notoplevel
|
||||
:sy[ntax] spell default
|
||||
This defines where spell checking is to be done for text that is not
|
||||
in a syntax item:
|
||||
|
||||
@@ -3739,8 +3756,8 @@ SPELL CHECKING *:syn-spell*
|
||||
To activate spell checking the 'spell' option must be set.
|
||||
|
||||
:sy[ntax] spell
|
||||
Show either "syntax spell toplevel", "syntax spell notoplevel" or
|
||||
"syntax spell default" (translated).
|
||||
Show the current syntax spell checking method, either "syntax spell
|
||||
toplevel", "syntax spell notoplevel" or "syntax spell default".
|
||||
|
||||
|
||||
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
|
||||
@@ -4339,7 +4356,7 @@ IMPLICIT CONCEAL *:syn-conceal-implicit*
|
||||
given explicitly.
|
||||
|
||||
:sy[ntax] conceal
|
||||
Show either "syntax conceal on" or "syntax conceal off" (translated).
|
||||
Show either "syntax conceal on" or "syntax conceal off".
|
||||
|
||||
==============================================================================
|
||||
8. Syntax patterns *:syn-pattern* *E401* *E402*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2020 Oct 14
|
||||
*tabpage.txt* For Vim version 8.2. Last change: 2022 Feb 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -143,7 +143,9 @@ something else.
|
||||
:tabclose 3 " close the third tab page
|
||||
:tabclose $ " close the last tab page
|
||||
:tabclose # " close the last accessed tab page
|
||||
<
|
||||
|
||||
When a tab is closed the next tab page will become the current one.
|
||||
|
||||
*:tabo* *:tabonly*
|
||||
:tabo[nly][!] Close all other tab pages.
|
||||
When the 'hidden' option is set, all buffers in closed windows
|
||||
|
||||
244
runtime/doc/tags
244
runtime/doc/tags
@@ -2569,6 +2569,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:imenu gui.txt /*:imenu*
|
||||
:imp vim9.txt /*:imp*
|
||||
:import vim9.txt /*:import*
|
||||
:import-as vim9.txt /*:import-as*
|
||||
:import-cycle vim9.txt /*:import-cycle*
|
||||
:in insert.txt /*:in*
|
||||
:index index.txt /*:index*
|
||||
@@ -3649,6 +3650,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
<S-xF4> term.txt /*<S-xF4>*
|
||||
<SID> map.txt /*<SID>*
|
||||
<SNR> map.txt /*<SNR>*
|
||||
<ScriptCmd> map.txt /*<ScriptCmd>*
|
||||
<ScrollWheelDown> scroll.txt /*<ScrollWheelDown>*
|
||||
<ScrollWheelLeft> scroll.txt /*<ScrollWheelLeft>*
|
||||
<ScrollWheelRight> scroll.txt /*<ScrollWheelRight>*
|
||||
@@ -3946,44 +3948,212 @@ Dictionary-function eval.txt /*Dictionary-function*
|
||||
DiffUpdated autocmd.txt /*DiffUpdated*
|
||||
Digraphs digraph.txt /*Digraphs*
|
||||
DirChanged autocmd.txt /*DirChanged*
|
||||
DirChangedPre autocmd.txt /*DirChangedPre*
|
||||
E motion.txt /*E*
|
||||
E10 message.txt /*E10*
|
||||
E100 diff.txt /*E100*
|
||||
E1001 eval.txt /*E1001*
|
||||
E1002 eval.txt /*E1002*
|
||||
E1003 vim9.txt /*E1003*
|
||||
E1004 vim9.txt /*E1004*
|
||||
E1005 vim9.txt /*E1005*
|
||||
E1006 vim9.txt /*E1006*
|
||||
E1007 vim9.txt /*E1007*
|
||||
E1008 vim9.txt /*E1008*
|
||||
E1009 vim9.txt /*E1009*
|
||||
E101 diff.txt /*E101*
|
||||
E1010 vim9.txt /*E1010*
|
||||
E1011 vim9.txt /*E1011*
|
||||
E1012 vim9.txt /*E1012*
|
||||
E1013 vim9.txt /*E1013*
|
||||
E1014 vim9.txt /*E1014*
|
||||
E1015 eval.txt /*E1015*
|
||||
E1016 vim9.txt /*E1016*
|
||||
E1017 vim9.txt /*E1017*
|
||||
E1018 eval.txt /*E1018*
|
||||
E1019 eval.txt /*E1019*
|
||||
E102 diff.txt /*E102*
|
||||
E1020 vim9.txt /*E1020*
|
||||
E1021 vim9.txt /*E1021*
|
||||
E1022 vim9.txt /*E1022*
|
||||
E1023 vim9.txt /*E1023*
|
||||
E1024 vim9.txt /*E1024*
|
||||
E1025 vim9.txt /*E1025*
|
||||
E1026 vim9.txt /*E1026*
|
||||
E1027 vim9.txt /*E1027*
|
||||
E1028 vim9.txt /*E1028*
|
||||
E1029 vim9.txt /*E1029*
|
||||
E103 diff.txt /*E103*
|
||||
E1030 vim9.txt /*E1030*
|
||||
E1031 vim9.txt /*E1031*
|
||||
E1032 eval.txt /*E1032*
|
||||
E1033 eval.txt /*E1033*
|
||||
E1034 vim9.txt /*E1034*
|
||||
E1035 eval.txt /*E1035*
|
||||
E1036 eval.txt /*E1036*
|
||||
E1037 eval.txt /*E1037*
|
||||
E1038 repeat.txt /*E1038*
|
||||
E1039 repeat.txt /*E1039*
|
||||
E104 digraph.txt /*E104*
|
||||
E1040 repeat.txt /*E1040*
|
||||
E1041 vim9.txt /*E1041*
|
||||
E1042 vim9.txt /*E1042*
|
||||
E1043 vim9.txt /*E1043*
|
||||
E1044 vim9.txt /*E1044*
|
||||
E1047 vim9.txt /*E1047*
|
||||
E1048 vim9.txt /*E1048*
|
||||
E1049 vim9.txt /*E1049*
|
||||
E105 mbyte.txt /*E105*
|
||||
E1050 vim9.txt /*E1050*
|
||||
E1051 eval.txt /*E1051*
|
||||
E1052 vim9.txt /*E1052*
|
||||
E1053 vim9.txt /*E1053*
|
||||
E1054 vim9.txt /*E1054*
|
||||
E1055 vim9.txt /*E1055*
|
||||
E1056 vim9.txt /*E1056*
|
||||
E1057 vim9.txt /*E1057*
|
||||
E1058 vim9.txt /*E1058*
|
||||
E1059 vim9.txt /*E1059*
|
||||
E1060 vim9.txt /*E1060*
|
||||
E1061 vim9.txt /*E1061*
|
||||
E1062 eval.txt /*E1062*
|
||||
E1063 eval.txt /*E1063*
|
||||
E1064 autocmd.txt /*E1064*
|
||||
E1066 vim9.txt /*E1066*
|
||||
E1067 eval.txt /*E1067*
|
||||
E1068 vim9.txt /*E1068*
|
||||
E1069 vim9.txt /*E1069*
|
||||
E107 eval.txt /*E107*
|
||||
E1071 vim9.txt /*E1071*
|
||||
E1072 eval.txt /*E1072*
|
||||
E1073 vim9.txt /*E1073*
|
||||
E1074 vim9.txt /*E1074*
|
||||
E1075 vim9.txt /*E1075*
|
||||
E1076 eval.txt /*E1076*
|
||||
E1077 vim9.txt /*E1077*
|
||||
E108 eval.txt /*E108*
|
||||
E1081 eval.txt /*E1081*
|
||||
E1083 editing.txt /*E1083*
|
||||
E1084 eval.txt /*E1084*
|
||||
E1085 eval.txt /*E1085*
|
||||
E1086 eval.txt /*E1086*
|
||||
E1087 vim9.txt /*E1087*
|
||||
E1089 eval.txt /*E1089*
|
||||
E109 eval.txt /*E109*
|
||||
E1090 eval.txt /*E1090*
|
||||
E1091 vim9.txt /*E1091*
|
||||
E1092 various.txt /*E1092*
|
||||
E1093 eval.txt /*E1093*
|
||||
E1094 vim9.txt /*E1094*
|
||||
E1095 eval.txt /*E1095*
|
||||
E1096 vim9.txt /*E1096*
|
||||
E1097 vim9.txt /*E1097*
|
||||
E1098 eval.txt /*E1098*
|
||||
E1099 vim9.txt /*E1099*
|
||||
E11 cmdline.txt /*E11*
|
||||
E110 eval.txt /*E110*
|
||||
E1100 vim9.txt /*E1100*
|
||||
E1101 vim9.txt /*E1101*
|
||||
E1102 vim9.txt /*E1102*
|
||||
E1103 vim9.txt /*E1103*
|
||||
E1104 vim9.txt /*E1104*
|
||||
E1105 vim9.txt /*E1105*
|
||||
E1106 vim9.txt /*E1106*
|
||||
E1107 eval.txt /*E1107*
|
||||
E1108 vim9.txt /*E1108*
|
||||
E1109 builtin.txt /*E1109*
|
||||
E111 eval.txt /*E111*
|
||||
E1110 builtin.txt /*E1110*
|
||||
E1111 builtin.txt /*E1111*
|
||||
E1112 builtin.txt /*E1112*
|
||||
E1113 builtin.txt /*E1113*
|
||||
E1114 builtin.txt /*E1114*
|
||||
E1115 testing.txt /*E1115*
|
||||
E1116 testing.txt /*E1116*
|
||||
E1117 vim9.txt /*E1117*
|
||||
E1118 eval.txt /*E1118*
|
||||
E1119 eval.txt /*E1119*
|
||||
E112 eval.txt /*E112*
|
||||
E1120 eval.txt /*E1120*
|
||||
E1121 eval.txt /*E1121*
|
||||
E1122 eval.txt /*E1122*
|
||||
E1123 vim9.txt /*E1123*
|
||||
E1124 vim9.txt /*E1124*
|
||||
E1125 vim9.txt /*E1125*
|
||||
E1126 vim9.txt /*E1126*
|
||||
E1127 vim9.txt /*E1127*
|
||||
E1128 vim9.txt /*E1128*
|
||||
E1129 eval.txt /*E1129*
|
||||
E113 eval.txt /*E113*
|
||||
E1130 vim9.txt /*E1130*
|
||||
E1131 vim9.txt /*E1131*
|
||||
E1132 builtin.txt /*E1132*
|
||||
E1133 vim9.txt /*E1133*
|
||||
E1134 vim9.txt /*E1134*
|
||||
E1135 eval.txt /*E1135*
|
||||
E1136 map.txt /*E1136*
|
||||
E1137 map.txt /*E1137*
|
||||
E1138 eval.txt /*E1138*
|
||||
E1139 vim9.txt /*E1139*
|
||||
E114 eval.txt /*E114*
|
||||
E1140 eval.txt /*E1140*
|
||||
E1141 eval.txt /*E1141*
|
||||
E1142 testing.txt /*E1142*
|
||||
E1143 eval.txt /*E1143*
|
||||
E1144 vim9.txt /*E1144*
|
||||
E1145 eval.txt /*E1145*
|
||||
E1146 vim9.txt /*E1146*
|
||||
E1147 eval.txt /*E1147*
|
||||
E1148 eval.txt /*E1148*
|
||||
E1149 vim9.txt /*E1149*
|
||||
E115 eval.txt /*E115*
|
||||
E1150 vim9.txt /*E1150*
|
||||
E1151 eval.txt /*E1151*
|
||||
E1152 vim9.txt /*E1152*
|
||||
E1153 eval.txt /*E1153*
|
||||
E1154 eval.txt /*E1154*
|
||||
E1155 autocmd.txt /*E1155*
|
||||
E1156 editing.txt /*E1156*
|
||||
E1157 vim9.txt /*E1157*
|
||||
E1158 vim9.txt /*E1158*
|
||||
E1159 windows.txt /*E1159*
|
||||
E116 eval.txt /*E116*
|
||||
E1160 vim9.txt /*E1160*
|
||||
E1161 builtin.txt /*E1161*
|
||||
E1162 builtin.txt /*E1162*
|
||||
E1163 vim9.txt /*E1163*
|
||||
E1164 vim9.txt /*E1164*
|
||||
E1165 eval.txt /*E1165*
|
||||
E1166 eval.txt /*E1166*
|
||||
E1167 vim9.txt /*E1167*
|
||||
E1168 vim9.txt /*E1168*
|
||||
E1169 eval.txt /*E1169*
|
||||
E117 eval.txt /*E117*
|
||||
E1170 vim9.txt /*E1170*
|
||||
E1171 vim9.txt /*E1171*
|
||||
E1172 vim9.txt /*E1172*
|
||||
E1173 vim9.txt /*E1173*
|
||||
E1174 vim9.txt /*E1174*
|
||||
E1175 vim9.txt /*E1175*
|
||||
E1176 vim9.txt /*E1176*
|
||||
E1177 eval.txt /*E1177*
|
||||
E1178 vim9.txt /*E1178*
|
||||
E1179 options.txt /*E1179*
|
||||
E118 eval.txt /*E118*
|
||||
E1180 vim9.txt /*E1180*
|
||||
E1181 vim9.txt /*E1181*
|
||||
E1182 eval.txt /*E1182*
|
||||
E1183 eval.txt /*E1183*
|
||||
E1184 eval.txt /*E1184*
|
||||
E1185 various.txt /*E1185*
|
||||
E1186 vim9.txt /*E1186*
|
||||
E1187 starting.txt /*E1187*
|
||||
E1188 cmdline.txt /*E1188*
|
||||
E1189 vim9.txt /*E1189*
|
||||
E119 eval.txt /*E119*
|
||||
E1190 vim9.txt /*E1190*
|
||||
E1191 vim9.txt /*E1191*
|
||||
E1192 eval.txt /*E1192*
|
||||
E1193 options.txt /*E1193*
|
||||
E1194 options.txt /*E1194*
|
||||
E1195 options.txt /*E1195*
|
||||
@@ -3995,23 +4165,77 @@ E12 message.txt /*E12*
|
||||
E120 eval.txt /*E120*
|
||||
E1200 options.txt /*E1200*
|
||||
E1201 options.txt /*E1201*
|
||||
E1205 builtin.txt /*E1205*
|
||||
E1202 vim9.txt /*E1202*
|
||||
E1203 eval.txt /*E1203*
|
||||
E1204 pattern.txt /*E1204*
|
||||
E1205 vim9.txt /*E1205*
|
||||
E1206 vim9.txt /*E1206*
|
||||
E1207 eval.txt /*E1207*
|
||||
E1208 map.txt /*E1208*
|
||||
E1209 builtin.txt /*E1209*
|
||||
E121 eval.txt /*E121*
|
||||
E1210 vim9.txt /*E1210*
|
||||
E1211 vim9.txt /*E1211*
|
||||
E1212 vim9.txt /*E1212*
|
||||
E1213 vim9.txt /*E1213*
|
||||
E1214 builtin.txt /*E1214*
|
||||
E1215 builtin.txt /*E1215*
|
||||
E1216 builtin.txt /*E1216*
|
||||
E1217 vim9.txt /*E1217*
|
||||
E1218 vim9.txt /*E1218*
|
||||
E1219 vim9.txt /*E1219*
|
||||
E122 eval.txt /*E122*
|
||||
E1220 vim9.txt /*E1220*
|
||||
E1221 vim9.txt /*E1221*
|
||||
E1222 vim9.txt /*E1222*
|
||||
E1223 vim9.txt /*E1223*
|
||||
E1224 vim9.txt /*E1224*
|
||||
E1225 vim9.txt /*E1225*
|
||||
E1226 vim9.txt /*E1226*
|
||||
E1227 vim9.txt /*E1227*
|
||||
E1228 vim9.txt /*E1228*
|
||||
E1229 eval.txt /*E1229*
|
||||
E123 eval.txt /*E123*
|
||||
E1230 options.txt /*E1230*
|
||||
E1231 map.txt /*E1231*
|
||||
E1232 builtin.txt /*E1232*
|
||||
E1233 builtin.txt /*E1233*
|
||||
E1234 vim9.txt /*E1234*
|
||||
E1235 vim9.txt /*E1235*
|
||||
E1236 vim9.txt /*E1236*
|
||||
E1237 map.txt /*E1237*
|
||||
E1238 vim9.txt /*E1238*
|
||||
E1239 builtin.txt /*E1239*
|
||||
E124 eval.txt /*E124*
|
||||
E1240 change.txt /*E1240*
|
||||
E1241 change.txt /*E1241*
|
||||
E1242 change.txt /*E1242*
|
||||
E1243 options.txt /*E1243*
|
||||
E1244 message.txt /*E1244*
|
||||
E1245 cmdline.txt /*E1245*
|
||||
E1246 eval.txt /*E1246*
|
||||
E1247 cmdline.txt /*E1247*
|
||||
E1248 vim9.txt /*E1248*
|
||||
E1249 syntax.txt /*E1249*
|
||||
E125 eval.txt /*E125*
|
||||
E1250 vim9.txt /*E1250*
|
||||
E1251 vim9.txt /*E1251*
|
||||
E1252 vim9.txt /*E1252*
|
||||
E1253 vim9.txt /*E1253*
|
||||
E1254 vim9.txt /*E1254*
|
||||
E1255 map.txt /*E1255*
|
||||
E1256 vim9.txt /*E1256*
|
||||
E1257 vim9.txt /*E1257*
|
||||
E1258 vim9.txt /*E1258*
|
||||
E1259 vim9.txt /*E1259*
|
||||
E126 eval.txt /*E126*
|
||||
E1260 vim9.txt /*E1260*
|
||||
E1261 vim9.txt /*E1261*
|
||||
E1262 vim9.txt /*E1262*
|
||||
E1263 eval.txt /*E1263*
|
||||
E1264 vim9.txt /*E1264*
|
||||
E1265 eval.txt /*E1265*
|
||||
E1266 if_pyth.txt /*E1266*
|
||||
E127 eval.txt /*E127*
|
||||
E128 eval.txt /*E128*
|
||||
E129 eval.txt /*E129*
|
||||
@@ -4194,6 +4418,7 @@ E295 message.txt /*E295*
|
||||
E296 message.txt /*E296*
|
||||
E297 message.txt /*E297*
|
||||
E298 message.txt /*E298*
|
||||
E299 if_perl.txt /*E299*
|
||||
E30 change.txt /*E30*
|
||||
E300 message.txt /*E300*
|
||||
E301 message.txt /*E301*
|
||||
@@ -4575,6 +4800,7 @@ E65 pattern.txt /*E65*
|
||||
E650 netbeans.txt /*E650*
|
||||
E651 netbeans.txt /*E651*
|
||||
E652 netbeans.txt /*E652*
|
||||
E654 eval.txt /*E654*
|
||||
E655 builtin.txt /*E655*
|
||||
E656 netbeans.txt /*E656*
|
||||
E657 netbeans.txt /*E657*
|
||||
@@ -4728,7 +4954,7 @@ E792 gui.txt /*E792*
|
||||
E793 diff.txt /*E793*
|
||||
E794 eval.txt /*E794*
|
||||
E795 eval.txt /*E795*
|
||||
E796 editing.txt /*E796*
|
||||
E796 options.txt /*E796*
|
||||
E797 spell.txt /*E797*
|
||||
E798 builtin.txt /*E798*
|
||||
E799 builtin.txt /*E799*
|
||||
@@ -4775,7 +5001,6 @@ E835 options.txt /*E835*
|
||||
E836 if_pyth.txt /*E836*
|
||||
E837 if_pyth.txt /*E837*
|
||||
E838 netbeans.txt /*E838*
|
||||
E839 message.txt /*E839*
|
||||
E84 windows.txt /*E84*
|
||||
E840 insert.txt /*E840*
|
||||
E841 map.txt /*E841*
|
||||
@@ -4794,6 +5019,8 @@ E852 gui_x11.txt /*E852*
|
||||
E853 eval.txt /*E853*
|
||||
E854 options.txt /*E854*
|
||||
E855 autocmd.txt /*E855*
|
||||
E856 testing.txt /*E856*
|
||||
E857 builtin.txt /*E857*
|
||||
E858 builtin.txt /*E858*
|
||||
E859 builtin.txt /*E859*
|
||||
E86 windows.txt /*E86*
|
||||
@@ -5995,6 +6222,7 @@ conversion-server mbyte.txt /*conversion-server*
|
||||
convert-to-HTML syntax.txt /*convert-to-HTML*
|
||||
convert-to-XHTML syntax.txt /*convert-to-XHTML*
|
||||
convert-to-XML syntax.txt /*convert-to-XML*
|
||||
convert_legacy_function_to_vim9 vim9.txt /*convert_legacy_function_to_vim9*
|
||||
copy() builtin.txt /*copy()*
|
||||
copy-diffs diff.txt /*copy-diffs*
|
||||
copy-move change.txt /*copy-move*
|
||||
@@ -9788,8 +10016,7 @@ test_feedinput() testing.txt /*test_feedinput()*
|
||||
test_garbagecollect_now() testing.txt /*test_garbagecollect_now()*
|
||||
test_garbagecollect_soon() testing.txt /*test_garbagecollect_soon()*
|
||||
test_getvalue() testing.txt /*test_getvalue()*
|
||||
test_gui_drop_files() testing.txt /*test_gui_drop_files()*
|
||||
test_gui_mouse_event() testing.txt /*test_gui_mouse_event()*
|
||||
test_gui_event() testing.txt /*test_gui_event()*
|
||||
test_ignore_error() testing.txt /*test_ignore_error()*
|
||||
test_null_blob() testing.txt /*test_null_blob()*
|
||||
test_null_channel() testing.txt /*test_null_channel()*
|
||||
@@ -9802,7 +10029,6 @@ test_null_string() testing.txt /*test_null_string()*
|
||||
test_option_not_set() testing.txt /*test_option_not_set()*
|
||||
test_override() testing.txt /*test_override()*
|
||||
test_refcount() testing.txt /*test_refcount()*
|
||||
test_scrollbar() testing.txt /*test_scrollbar()*
|
||||
test_setmouse() testing.txt /*test_setmouse()*
|
||||
test_settime() testing.txt /*test_settime()*
|
||||
test_srand_seed() testing.txt /*test_srand_seed()*
|
||||
@@ -10096,6 +10322,7 @@ v_CTRL-C visual.txt /*v_CTRL-C*
|
||||
v_CTRL-G visual.txt /*v_CTRL-G*
|
||||
v_CTRL-H change.txt /*v_CTRL-H*
|
||||
v_CTRL-O visual.txt /*v_CTRL-O*
|
||||
v_CTRL-R visual.txt /*v_CTRL-R*
|
||||
v_CTRL-V visual.txt /*v_CTRL-V*
|
||||
v_CTRL-X change.txt /*v_CTRL-X*
|
||||
v_CTRL-Z starting.txt /*v_CTRL-Z*
|
||||
@@ -10278,6 +10505,7 @@ vim.w if_lua.txt /*vim.w*
|
||||
vim7 version7.txt /*vim7*
|
||||
vim8 version8.txt /*vim8*
|
||||
vim9 vim9.txt /*vim9*
|
||||
vim9-autoload vim9.txt /*vim9-autoload*
|
||||
vim9-boolean vim9.txt /*vim9-boolean*
|
||||
vim9-classes vim9.txt /*vim9-classes*
|
||||
vim9-const vim9.txt /*vim9-const*
|
||||
@@ -10435,6 +10663,8 @@ win_gettype() builtin.txt /*win_gettype()*
|
||||
win_gotoid() builtin.txt /*win_gotoid()*
|
||||
win_id2tabwin() builtin.txt /*win_id2tabwin()*
|
||||
win_id2win() builtin.txt /*win_id2win()*
|
||||
win_move_separator() builtin.txt /*win_move_separator()*
|
||||
win_move_statusline() builtin.txt /*win_move_statusline()*
|
||||
win_screenpos() builtin.txt /*win_screenpos()*
|
||||
win_splitmove() builtin.txt /*win_splitmove()*
|
||||
winbufnr() builtin.txt /*winbufnr()*
|
||||
@@ -10617,6 +10847,7 @@ zz scroll.txt /*zz*
|
||||
{Visual} intro.txt /*{Visual}*
|
||||
{address} cmdline.txt /*{address}*
|
||||
{arglist} editing.txt /*{arglist}*
|
||||
{aupat} autocmd.txt /*{aupat}*
|
||||
{bufname} windows.txt /*{bufname}*
|
||||
{char1-char2} intro.txt /*{char1-char2}*
|
||||
{event} autocmd.txt /*{event}*
|
||||
@@ -10626,7 +10857,6 @@ zz scroll.txt /*zz*
|
||||
{motion} intro.txt /*{motion}*
|
||||
{move-around} visual.txt /*{move-around}*
|
||||
{offset} pattern.txt /*{offset}*
|
||||
{pat} autocmd.txt /*{pat}*
|
||||
{register} change.txt /*{register}*
|
||||
{rhs} map.txt /*{rhs}*
|
||||
{subject} helphelp.txt /*{subject}*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2021 Dec 21
|
||||
*terminal.txt* For Vim version 8.2. Last change: 2022 Jan 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1178,7 +1178,7 @@ gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||
program window A terminal window for the executed program. When "run" is
|
||||
used in gdb the program I/O will happen in this window, so
|
||||
that it does not interfere with controlling gdb. The buffer
|
||||
name is "gdb program".
|
||||
name is "debugged program".
|
||||
|
||||
The current window is used to show the source code. When gdb pauses the
|
||||
source file location will be displayed, if possible. A sign is used to
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*testing.txt* For Vim version 8.2. Last change: 2021 Dec 11
|
||||
*testing.txt* For Vim version 8.2. Last change: 2022 Feb 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -65,8 +65,9 @@ test_garbagecollect_now() *test_garbagecollect_now()*
|
||||
Like garbagecollect(), but executed right away. This must
|
||||
only be called directly to avoid any structure to exist
|
||||
internally, and |v:testing| must have been set before calling
|
||||
any function. This will not work when called from a :def
|
||||
function, because variables on the stack will be freed.
|
||||
any function. *E1142*
|
||||
This will not work when called from a :def function, because
|
||||
variables on the stack will be freed.
|
||||
|
||||
|
||||
test_garbagecollect_soon() *test_garbagecollect_soon()*
|
||||
@@ -82,46 +83,113 @@ test_getvalue({name}) *test_getvalue()*
|
||||
Can also be used as a |method|: >
|
||||
GetName()->test_getvalue()
|
||||
<
|
||||
*test_gui_drop_files()*
|
||||
test_gui_drop_files({list}, {row}, {col}, {mods})
|
||||
Drop one or more files in {list} in the window at {row}, {col}.
|
||||
This function only works when the GUI is running and the
|
||||
|drop_file| feature is present.
|
||||
*test_gui_event()*
|
||||
test_gui_event({event}, {args})
|
||||
Generate a GUI {event} with arguments {args} for testing Vim
|
||||
functionality. This function works only when the GUI is
|
||||
running.
|
||||
|
||||
The supported values for {mods} are:
|
||||
0x4 Shift
|
||||
0x8 Alt
|
||||
0x10 Ctrl
|
||||
The files are added to the |argument-list| and the first file
|
||||
in {list} is edited in the window. See |drag-n-drop| for more
|
||||
information.
|
||||
{event} is a String and the supported values are:
|
||||
"dropfiles" drop one or more files in a window.
|
||||
"findrepl" search and replace text
|
||||
"mouse" mouse button click event.
|
||||
"scrollbar" move or drag the scrollbar
|
||||
"tabline" select a tab page by mouse click.
|
||||
"tabmenu" select a tabline menu entry.
|
||||
|
||||
*test_gui_mouse_event()*
|
||||
test_gui_mouse_event({button}, {row}, {col}, {multiclick}, {modifiers})
|
||||
Inject a mouse button click event. This function only works
|
||||
when the GUI is running.
|
||||
The supported values for {button} are:
|
||||
0 right mouse button
|
||||
1 middle mouse button
|
||||
2 left mouse button
|
||||
3 mouse button release
|
||||
4 scroll wheel down
|
||||
5 scroll wheel up
|
||||
6 scroll wheel left
|
||||
7 scroll wheel right
|
||||
{row} and {col} specify the location of the mouse click. The
|
||||
first row of the Vim window is 1 and the last row is 'lines'.
|
||||
The maximum value of {col} is 'columns'.
|
||||
To inject a multiclick event, set {multiclick} to 1.
|
||||
The supported values for {modifiers} are:
|
||||
4 shift is pressed
|
||||
8 alt is pressed
|
||||
16 ctrl is pressed
|
||||
After injecting the mouse event you probably should call
|
||||
{args} is a Dict and contains the arguments for the event.
|
||||
|
||||
"dropfiles":
|
||||
Drop one or more files in a specified window. The supported
|
||||
items in {args} are:
|
||||
files: List of file names
|
||||
row: window row number
|
||||
col: window column number
|
||||
modifiers: key modifiers. The supported values are:
|
||||
0x4 Shift
|
||||
0x8 Alt
|
||||
0x10 Ctrl
|
||||
The files are added to the |argument-list| and the first
|
||||
file in {files} is edited in the window. See |drag-n-drop|
|
||||
for more information. This event works only when the
|
||||
|drop_file| feature is present.
|
||||
|
||||
"findrepl":
|
||||
{only available when the GUI has a find/replace dialog}
|
||||
Perform a search and replace of text. The supported items
|
||||
in {args} are:
|
||||
find_text: string to find.
|
||||
repl_text: replacement string
|
||||
flags: flags controlling the find/replace. Supported
|
||||
values are:
|
||||
1 search next string (find dialog)
|
||||
2 search next string (replace dialog)
|
||||
3 replace string once
|
||||
4 replace all matches
|
||||
8 match whole words only
|
||||
16 match case
|
||||
forward: set to 1 for forward search.
|
||||
|
||||
"mouse":
|
||||
Inject a mouse button click event. The supported items in
|
||||
{args} are:
|
||||
button: mouse button. The supported values are:
|
||||
0 right mouse button
|
||||
1 middle mouse button
|
||||
2 left mouse button
|
||||
3 mouse button release
|
||||
4 scroll wheel down
|
||||
5 scroll wheel up
|
||||
6 scroll wheel left
|
||||
7 scroll wheel right
|
||||
row: mouse click row number. The first row of the
|
||||
Vim window is 1 and the last row is 'lines'.
|
||||
col: mouse click column number. The maximum value
|
||||
of {col} is 'columns'.
|
||||
multiclick: set to 1 to inject a multiclick mouse event.
|
||||
modifiers: key modifiers. The supported values are:
|
||||
4 shift is pressed
|
||||
8 alt is pressed
|
||||
16 ctrl is pressed
|
||||
|
||||
"scrollbar":
|
||||
Set or drag the left, right or horizontal scrollbar. Only
|
||||
works when the scrollbar actually exists. The supported
|
||||
items in {args} are:
|
||||
which: scrollbar. The supported values are:
|
||||
left Left scrollbar of the current window
|
||||
right Right scrollbar of the current window
|
||||
hor Horizontal scrollbar
|
||||
value: amount to scroll. For the vertical scrollbars
|
||||
the value can be 1 to the line-count of the
|
||||
buffer. For the horizontal scrollbar the
|
||||
value can be between 1 and the maximum line
|
||||
length, assuming 'wrap' is not set.
|
||||
dragging: 1 to drag the scrollbar and 0 to click in the
|
||||
scrollbar.
|
||||
|
||||
"tabline":
|
||||
Inject a mouse click event on the tabline to select a
|
||||
tabpage. The supported items in {args} are:
|
||||
tabnr: tab page number
|
||||
|
||||
"tabmenu":
|
||||
Inject an event to select a tabline menu entry. The
|
||||
supported items in {args} are:
|
||||
tabnr: tab page number
|
||||
item: tab page menu item number. 1 for the first
|
||||
menu item, 2 for the second item and so on.
|
||||
|
||||
After injecting the GUI events you probably should call
|
||||
|feedkeys()| to have them processed, e.g.: >
|
||||
call feedkeys("y", 'Lx!')
|
||||
<
|
||||
Returns TRUE if the event is successfully added, FALSE if
|
||||
there is a failure.
|
||||
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetEvent()->test_gui_event({args})
|
||||
<
|
||||
test_ignore_error({expr}) *test_ignore_error()*
|
||||
Ignore any error containing {expr}. A normal message is given
|
||||
instead.
|
||||
@@ -208,6 +276,8 @@ test_override({name}, {val}) *test_override()*
|
||||
ui_delay time in msec to use in ui_delay(); overrules a
|
||||
wait time of up to 3 seconds for messages
|
||||
uptime overrules sysinfo.uptime
|
||||
vterm_title setting the window title by a job running in a
|
||||
terminal window
|
||||
ALL clear all overrides ({val} is not used)
|
||||
|
||||
"starting" is to be used when a test should behave like
|
||||
@@ -233,27 +303,6 @@ test_refcount({expr}) *test_refcount()*
|
||||
GetVarname()->test_refcount()
|
||||
|
||||
|
||||
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
|
||||
Pretend using scrollbar {which} to move it to position
|
||||
{value}. {which} can be:
|
||||
left Left scrollbar of the current window
|
||||
right Right scrollbar of the current window
|
||||
hor Horizontal scrollbar
|
||||
|
||||
For the vertical scrollbars {value} can be 1 to the
|
||||
line-count of the buffer. For the horizontal scrollbar the
|
||||
{value} can be between 1 and the maximum line length, assuming
|
||||
'wrap' is not set.
|
||||
|
||||
When {dragging} is non-zero it's like dragging the scrollbar,
|
||||
otherwise it's like clicking in the scrollbar.
|
||||
Only works when the {which} scrollbar actually exists,
|
||||
obviously only when using the GUI.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetValue()->test_scrollbar('right', 0)
|
||||
|
||||
|
||||
test_setmouse({row}, {col}) *test_setmouse()*
|
||||
Set the mouse position to be used for the next mouse action.
|
||||
{row} and {col} are one based.
|
||||
@@ -350,7 +399,7 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
Run {cmd} and add an error message to |v:errors| if it does
|
||||
NOT produce an error or when {error} is not found in the
|
||||
error message. Also see |assert-return|.
|
||||
|
||||
*E856*
|
||||
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:". >
|
||||
@@ -370,12 +419,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
|
||||
<
|
||||
If {msg} is empty then it is not used. Do this to get the
|
||||
default message when passing the {lnum} argument.
|
||||
|
||||
*E1115*
|
||||
When {lnum} is present and not negative, and the {error}
|
||||
argument is present and matches, then this is compared with
|
||||
the line number at which the error was reported. That can be
|
||||
the line number in a function or in a script.
|
||||
|
||||
*E1116*
|
||||
When {context} is present it is used as a pattern and matched
|
||||
against the context (script name or function name) where
|
||||
{lnum} is located in.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*todo.txt* For Vim version 8.2. Last change: 2022 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,20 +38,18 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Autoload import syntax:
|
||||
import autoload "filename"
|
||||
import autoload "filename" as name
|
||||
doesn't load the script yet
|
||||
autoload items can be used without the "#dir#file#" prefix, but file.item
|
||||
Add a test_override() item to load the script and compile functions the
|
||||
moment it is encountered, so that types are checked.
|
||||
"vim9script autoload" in an autoload script, using "export" will prefix
|
||||
"dir#file#" to the exported item.
|
||||
Disallow using "s:" in Vim9 script at the script level.
|
||||
Disallow a legacy function creating an s: variable in Vim9 script.
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Add all the error numbers in a good place in documentation.
|
||||
done until E653
|
||||
- Use Vim9 for runtime files.
|
||||
- Check code coverage, add more tests if needed.
|
||||
vim9compile.c
|
||||
vim9execute.c
|
||||
vim9expr.c
|
||||
vim9instr.c
|
||||
vim9script.c
|
||||
vim9type.c
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- Check performance with callgrind and kcachegrind.
|
||||
@@ -67,8 +65,10 @@ Further Vim9 improvements, possibly after launch:
|
||||
evaluation.
|
||||
Use the location where the option was set for deciding whether it's to be
|
||||
evaluated in Vim9 script context.
|
||||
- implement :type, "import type"
|
||||
- implement :enum, "import enum".
|
||||
- Implement "import lazy" - like autoload but with a relative or absolute
|
||||
path. #9595
|
||||
- implement :type
|
||||
- implement :enum
|
||||
- implement :class and :interface: See |vim9-classes|
|
||||
- For range: make table of first ASCII character with flag to quickly check if
|
||||
it can be a Vim9 command. E.g. "+" can, but "." can't.
|
||||
@@ -83,6 +83,7 @@ Further Vim9 improvements, possibly after launch:
|
||||
Update list of features to vote on:
|
||||
- multiple cursors
|
||||
- built-in LSP support
|
||||
- start first line halfway
|
||||
|
||||
Popup windows:
|
||||
- Preview popup not properly updated when it overlaps with completion menu.
|
||||
@@ -207,6 +208,11 @@ Terminal emulator window:
|
||||
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
|
||||
Need to handle extra bytes.
|
||||
|
||||
In Select mode the deleted text always goes into the unnamed register.
|
||||
Use CTRL-R to specify the register to use. (#9531)
|
||||
|
||||
Some prompts are not translated: #9495
|
||||
|
||||
Test_communicate_ipv6(): is flaky on many systems
|
||||
Fails in line 64 of Ch_communicate, no exception is thrown.
|
||||
|
||||
@@ -235,6 +241,8 @@ Memory leak in test_alot with pyeval() (allocating partial)
|
||||
Memory leak in test_alot with expand()
|
||||
Memory leaks in test_channel? (or is it because of fork())
|
||||
|
||||
PR to support %e and %k in 'errorformat'. #9624
|
||||
|
||||
Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
|
||||
|
||||
":set &shellpipe" and ":set &shellredir" should use the logic from
|
||||
@@ -243,6 +251,8 @@ this.
|
||||
|
||||
MS-Windows: did path modifier :p:8 stop working? #8600
|
||||
|
||||
Add support for "underdouble", "underdot" and "underdash". #9553
|
||||
|
||||
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
|
||||
|
||||
Mapping with partial match not executed properly in GTK. (Ingo Karkat, #7082)
|
||||
@@ -904,9 +914,6 @@ With 'foldmethod' "indent" and appending an empty line, what follows isn't
|
||||
included in the existing fold. Deleting the empty line and undo fixes it.
|
||||
(Oleg Koshovetc, 2018 Jul 15, #3214)
|
||||
|
||||
Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
|
||||
Lacks a test.
|
||||
|
||||
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
|
||||
Jan 15, #2555)
|
||||
|
||||
@@ -4836,9 +4843,6 @@ Autocommands:
|
||||
CursorHoldC - CursorHold while command-line editing
|
||||
WinMoved - when windows have been moved around, e.g, ":wincmd J"
|
||||
SearchPost - After doing a search command (e.g. to do "M")
|
||||
PreDirChanged/PostDirChanged
|
||||
- Before/after ":cd" has been used (for changing the
|
||||
window title)
|
||||
ShutDown - when the system is about to shut down
|
||||
InsertCharPost - user typed a character in Insert mode, after inserting
|
||||
the char.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*uganda.txt* For Vim version 8.2. Last change: 2020 Jan 08
|
||||
*uganda.txt* For Vim version 8.2. Last change: 2022 Feb 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -11,9 +11,9 @@ Vim is Charityware. You can use and copy it as much as you like, but you are
|
||||
encouraged to make a donation for needy children in Uganda. Please see |kcc|
|
||||
below or visit the ICCF web site, available at these URLs:
|
||||
|
||||
http://iccf-holland.org/
|
||||
http://www.vim.org/iccf/
|
||||
http://www.iccf.nl/
|
||||
https://iccf-holland.org/
|
||||
https://www.vim.org/iccf/
|
||||
https://www.iccf.nl/
|
||||
|
||||
You can also sponsor the development of Vim. Vim sponsors can vote for
|
||||
features. See |sponsor|. The money goes to Uganda anyway.
|
||||
@@ -169,10 +169,11 @@ households are stimulated to build a proper latrine. I helped setting up a
|
||||
production site for cement slabs. These are used to build a good latrine.
|
||||
They are sold below cost price.
|
||||
|
||||
There is a small clinic at the project, which provides children and their
|
||||
family with medical help. When needed, transport to a hospital is offered.
|
||||
Immunization programs are carried out and help is provided when an epidemic is
|
||||
breaking out (measles and cholera have been a problem).
|
||||
There is a clinic at the project, which provides children and their family
|
||||
medical help. Since 2020 a maternity ward was added and 24/7 service is
|
||||
available. When needed, transport to a hospital is offered. Immunization
|
||||
programs are carried out and help is provided when an epidemic is breaking out
|
||||
(measles and cholera have been a problem).
|
||||
*donate*
|
||||
Summer 1994 to summer 1995 I spent a whole year at the centre, working as a
|
||||
volunteer. I have helped to expand the centre and worked in the area of water
|
||||
@@ -214,44 +215,29 @@ Check the ICCF web site for the latest information! See |iccf| for the URL.
|
||||
|
||||
|
||||
USA: The methods mentioned below can be used.
|
||||
Sending a check to the Nehemiah Group Outreach Society (NGOS)
|
||||
is no longer possible, unfortunately. We are looking for
|
||||
another way to get you an IRS tax receipt.
|
||||
For sponsoring a child contact KCF in Canada (see below). US
|
||||
checks can be sent to them to lower banking costs.
|
||||
If you must send a check send it to our Canadian partner:
|
||||
https://www.kuwasha.net/
|
||||
|
||||
Canada: Contact Kibaale Children's Fund (KCF) in Surrey, Canada. They
|
||||
take care of the Canadian sponsors for the children in
|
||||
Kibaale. KCF forwards 100% of the money to the project in
|
||||
Uganda. You can send them a one time donation directly.
|
||||
Canada: Contact Kuwasha in Surrey, Canada. They take care of the
|
||||
Canadian sponsors for the children in Kibaale. Kuwasha
|
||||
forwards 100% of the money to the project in Uganda. You can
|
||||
send them a one time donation directly.
|
||||
Please send me a note so that I know what has been donated
|
||||
because of Vim. Ask KCF for information about sponsorship.
|
||||
Kibaale Children's Fund c/o Pacific Academy
|
||||
10238-168 Street
|
||||
Surrey, B.C. V4N 1Z4
|
||||
Canada
|
||||
Phone: 604-581-5353
|
||||
If you make a donation to Kibaale Children's Fund (KCF) you
|
||||
will receive a tax receipt which can be submitted with your
|
||||
tax return.
|
||||
because of Vim. Look on their site for information about
|
||||
sponsorship: https://www.kuwasha.net/
|
||||
If you make a donation to Kuwasha you will receive a tax
|
||||
receipt which can be submitted with your tax return.
|
||||
|
||||
Holland: Transfer to the account of "Stichting ICCF Holland" in Lisse.
|
||||
This will allow for tax deduction if you live in Holland.
|
||||
Postbank, nr. 4548774
|
||||
IBAN: NL95 INGB 0004 5487 74
|
||||
Holland: Transfer to the account of "Stichting ICCF Holland" in
|
||||
Amersfoort. This will allow for tax deduction if you live in
|
||||
Holland. ING bank, IBAN: NL95 INGB 0004 5487 74
|
||||
|
||||
Germany: It is possible to make donations that allow for a tax return.
|
||||
Check the ICCF web site for the latest information:
|
||||
http://iccf-holland.org/germany.html
|
||||
https://iccf-holland.org/germany.html
|
||||
|
||||
World: Use a postal money order. That should be possible from any
|
||||
country, mostly from the post office. Use this name (which is
|
||||
in my passport): "Abraham Moolenaar". Use Euro for the
|
||||
currency if possible.
|
||||
|
||||
Europe: Use a bank transfer if possible. Your bank should have a form
|
||||
that you can use for this. See "Others" below for the swift
|
||||
code and IBAN number.
|
||||
Europe: Use a bank transfer if possible. See "Others" below for the
|
||||
swift code and IBAN number.
|
||||
Any other method should work. Ask for information about
|
||||
sponsorship.
|
||||
|
||||
@@ -261,28 +247,12 @@ Credit Card: You can use PayPal to send money with a Credit card. This is
|
||||
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
|
||||
The e-mail address for sending the money to is:
|
||||
Bram@iccf-holland.org
|
||||
For amounts above 400 Euro ($500) sending a check is
|
||||
preferred.
|
||||
|
||||
Others: Transfer to one of these accounts if possible:
|
||||
Postbank, account 4548774
|
||||
Swift code: INGB NL 2A
|
||||
IBAN: NL95 INGB 0004 5487 74
|
||||
under the name "stichting ICCF Holland", Lisse
|
||||
If that doesn't work:
|
||||
Rabobank Lisse, account 3765.05.117
|
||||
Swift code: RABO NL 2U
|
||||
under the name "Bram Moolenaar", Lisse
|
||||
Otherwise, send a check in euro or US dollars to the address
|
||||
below. Minimal amount: $70 (my bank does not accept smaller
|
||||
amounts for foreign check, sorry)
|
||||
Others: Transfer to this account if possible:
|
||||
ING bank: IBAN: NL95 INGB 0004 5487 74
|
||||
Swift code: INGBNL2A
|
||||
under the name "stichting ICCF Holland", Amersfoort
|
||||
Checks are not accepted.
|
||||
|
||||
Address to send checks to:
|
||||
Bram Moolenaar
|
||||
Finsterruetihof 1
|
||||
8134 Adliswil
|
||||
Switzerland
|
||||
|
||||
This address is expected to be valid for a long time.
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2022 Jan 01
|
||||
*usr_41.txt* For Vim version 8.2. Last change: 2022 Feb 11
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -1116,8 +1116,7 @@ Testing: *test-functions*
|
||||
test_garbagecollect_now() free memory right now
|
||||
test_garbagecollect_soon() set a flag to free memory soon
|
||||
test_getvalue() get value of an internal variable
|
||||
test_gui_drop_files() drop file(s) in a window
|
||||
test_gui_mouse_event() add a GUI mouse event to the input buffer
|
||||
test_gui_event() generate a GUI event for testing
|
||||
test_ignore_error() ignore a specific error message
|
||||
test_null_blob() return a null Blob
|
||||
test_null_channel() return a null Channel
|
||||
@@ -1131,7 +1130,6 @@ Testing: *test-functions*
|
||||
test_setmouse() set the mouse position
|
||||
test_feedinput() add key sequence to input buffer
|
||||
test_option_not_set() reset flag indicating option was set
|
||||
test_scrollbar() simulate scrollbar movement in the GUI
|
||||
test_refcount() return an expression's reference count
|
||||
test_srand_seed() set the seed value for srand()
|
||||
test_unknown() return a value with unknown type
|
||||
@@ -2502,7 +2500,7 @@ When the user does ":setfiletype xyz" the effect of the previous filetype
|
||||
should be undone. Set the b:undo_ftplugin variable to the commands that will
|
||||
undo the settings in your filetype plugin. Example: >
|
||||
|
||||
b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
|
||||
let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
|
||||
\ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
|
||||
|
||||
Using ":setlocal" with "<" after the option name resets the option to its
|
||||
@@ -2514,6 +2512,8 @@ continuation, as mentioned above |use-cpo-save|.
|
||||
For undoing the effect of an indent script, the b:undo_indent variable should
|
||||
be set accordingly.
|
||||
|
||||
Both these variables use legacy script syntax, not |Vim9| syntax.
|
||||
|
||||
|
||||
FILE NAME
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*various.txt* For Vim version 8.2. Last change: 2022 Feb 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -424,7 +424,7 @@ m *+mzscheme* Mzscheme interface |mzscheme|
|
||||
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
|
||||
m *+netbeans_intg* |netbeans|
|
||||
T *+num64* 64-bit Number support |Number|
|
||||
Always enabled since 8.2.0271, use v:numbersize to
|
||||
Always enabled since 8.2.0271, use v:numbersize to
|
||||
check the actual size of a Number.
|
||||
m *+ole* Win32 GUI only: |ole-interface|
|
||||
N *+packages* Loading |packages|
|
||||
@@ -549,7 +549,7 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
backward compatibility, the ">" after the register
|
||||
name can be omitted.
|
||||
:redi[r] @">> Append messages to the unnamed register.
|
||||
|
||||
*E1092*
|
||||
:redi[r] => {var} Redirect messages to a variable.
|
||||
In legacy script: If the variable doesn't exist, then
|
||||
it is created. If the variable exists, then it is
|
||||
@@ -566,23 +566,23 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
|
||||
:redi[r] =>> {var} Append messages to an existing variable. Only string
|
||||
variables can be used.
|
||||
|
||||
*E1185*
|
||||
:redi[r] END End redirecting messages.
|
||||
|
||||
*:filt* *:filter*
|
||||
:filt[er][!] {pat} {command}
|
||||
:filt[er][!] /{pat}/ {command}
|
||||
:filt[er][!] {pattern} {command}
|
||||
:filt[er][!] /{pattern}/ {command}
|
||||
Restrict the output of {command} to lines matching
|
||||
with {pat}. For example, to list only xml files: >
|
||||
with {pattern}. For example, to list only xml files: >
|
||||
:filter /\.xml$/ oldfiles
|
||||
< If the [!] is given, restrict the output of {command}
|
||||
to lines that do NOT match {pat}.
|
||||
to lines that do NOT match {pattern}.
|
||||
|
||||
{pat} is a Vim search pattern. Instead of enclosing
|
||||
{pattern} is a Vim search pattern. Instead of enclosing
|
||||
it in / any non-ID character (see |'isident'|) can be
|
||||
used, so long as it does not appear in {pat}. Without
|
||||
the enclosing character the pattern cannot include the
|
||||
bar character. 'ignorecase' is not used.
|
||||
used, so long as it does not appear in {pattern}.
|
||||
Without the enclosing character the pattern cannot
|
||||
include the bar character. 'ignorecase' is not used.
|
||||
|
||||
The pattern is matched against the relevant part of
|
||||
the output, not necessarily the whole line. Only some
|
||||
@@ -649,7 +649,7 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
used. In this example |:silent| is used to avoid the
|
||||
message about reading the file and |:unsilent| to be
|
||||
able to list the first line of each file. >
|
||||
:silent argdo unsilent echo expand('%') . ": " . getline(1)
|
||||
:silent argdo unsilent echo expand('%') . ": " . getline(1)
|
||||
<
|
||||
|
||||
*:verb* *:verbose*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version8.txt* For Vim version 8.2. Last change: 2021 Jul 24
|
||||
*version8.txt* For Vim version 8.2. Last change: 2022 Feb 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -25971,7 +25971,7 @@ Added functions:
|
||||
|test_getvalue()|
|
||||
|test_null_blob()|
|
||||
|test_refcount()|
|
||||
|test_scrollbar()|
|
||||
test_scrollbar() (later replaced with |test_gui_event()|)
|
||||
|test_setmouse()|
|
||||
|win_execute()|
|
||||
|win_splitmove()|
|
||||
|
||||
@@ -166,7 +166,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
|
||||
.TP
|
||||
\-d
|
||||
差分モードで起動します。
|
||||
二つか三つの四つのファイルを引数に指定してください。
|
||||
2 個から 8 個のファイルを引数に指定してください。
|
||||
指定されたファイルが開かれ、それらのファイルの差分が表示されます。
|
||||
vimdiff(1) と同様の動作です。
|
||||
.TP
|
||||
@@ -217,8 +217,7 @@ GUI がサポートされている場合は、GUI で起動します。
|
||||
サポートされていない場合はエラーメッセージを表示して終了します。
|
||||
.TP
|
||||
\-i {viminfo}
|
||||
viminfo ファイルを使う設定になっている場合は、初期設定の "~/.viminfo"
|
||||
の代わりに、指定されたファイルを設定します。
|
||||
初期設定の "~/.viminfo" の代わりに、viminfo ファイルを読み書きする際に使うファイル名を指定します。
|
||||
"NONE" を指定すると、.viminfo ファイルを使わないように設定できます。
|
||||
.TP
|
||||
\-L
|
||||
@@ -356,6 +355,10 @@ X サーバーと通信しません。端末での起動時間を短くできま
|
||||
これ以降の引数はすべてファイル名として扱われます。
|
||||
ファイル名が '\-' で始まっているファイルを開くときに使ってください。
|
||||
.TP
|
||||
\-\-clean
|
||||
一切の個人設定 (vimrc、プラグイン、その他) を使用しません。
|
||||
ある問題がクリーンな Vim セットアップで再現するかを確認するのに有用です。
|
||||
.TP
|
||||
\-\-echo\-wid
|
||||
GTK GUI のみ: Window ID を標準出力に出力します。
|
||||
.TP
|
||||
@@ -398,6 +401,9 @@ Vim サーバーの一覧を表示します。
|
||||
\-\-socketid {id}
|
||||
GTK GUI のみ: GtkPlug メカニズムを使って gvim を別のウィンドウの中で実行します。
|
||||
.TP
|
||||
\-\-startuptime {file}
|
||||
起動処理の間、経過時間のメッセージをファイル {fname} に書き出します。
|
||||
.TP
|
||||
\-\-version
|
||||
バージョン情報を表示して終了します。
|
||||
.SH オンラインヘルプ
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH VIM 1 "2006 Apr 11"
|
||||
.TH VIM 1 "2021 Jun 13"
|
||||
.SH NAME
|
||||
vim \- Vi IMproved, a programmer's text editor
|
||||
.SH SYNOPSIS
|
||||
|
||||
@@ -432,4 +432,4 @@ BUGS
|
||||
|
||||
|
||||
|
||||
2006 Apr 11 VIM(1)
|
||||
2021 Jun 13 VIM(1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2022 Jan 07
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -56,14 +56,14 @@ Vim9 script and legacy Vim script can be mixed. There is no requirement to
|
||||
rewrite old scripts, they keep working as before. You may want to use a few
|
||||
`:def` functions for code that needs to be fast.
|
||||
|
||||
:vim9[cmd] {cmd} *:vim9* *:vim9cmd*
|
||||
Execute {cmd} using Vim9 script syntax and semantics.
|
||||
Useful when typing a command and in a legacy script or
|
||||
function.
|
||||
:vim9[cmd] {cmd} *:vim9* *:vim9cmd* *E1164*
|
||||
Evaluate and execute {cmd} using Vim9 script syntax and
|
||||
semantics. Useful when typing a command and in a legacy
|
||||
script or function.
|
||||
|
||||
:leg[acy] {cmd} *:leg* *:legacy*
|
||||
Execute {cmd} using legacy script syntax and semantics. Only
|
||||
useful in a Vim9 script or a :def function.
|
||||
:leg[acy] {cmd} *:leg* *:legacy* *E1189* *E1234*
|
||||
Evaluate and execute {cmd} using legacy script syntax and
|
||||
semantics. Only useful in a Vim9 script or a :def function.
|
||||
Note that {cmd} cannot use local variables, since it is parsed
|
||||
with legacy expression syntax.
|
||||
|
||||
@@ -72,7 +72,7 @@ rewrite old scripts, they keep working as before. You may want to use a few
|
||||
2. Differences from legacy Vim script *vim9-differences*
|
||||
|
||||
Overview ~
|
||||
|
||||
*E1146*
|
||||
Brief summary of the differences you will most often encounter when using Vim9
|
||||
script and `:def` functions; details are below:
|
||||
- Comments start with #, not ": >
|
||||
@@ -82,7 +82,7 @@ script and `:def` functions; details are below:
|
||||
.. yourName
|
||||
.. ", how are you?"
|
||||
- White space is required in many places to improve readability.
|
||||
- Assign values without `:let`, declare variables with `:var`: >
|
||||
- Assign values without `:let` *E1126* , declare variables with `:var`: >
|
||||
var count = 0
|
||||
count += 3
|
||||
- Constants can be declared with `:final` and `:const`: >
|
||||
@@ -103,6 +103,8 @@ script and `:def` functions; details are below:
|
||||
`:exe`: >
|
||||
:exe @a
|
||||
- Unless mentioned specifically, the highest |scriptversion| is used.
|
||||
- When defining an expression mapping, the expression will be evaluated in the
|
||||
context of the script where it was defined.
|
||||
|
||||
|
||||
Comments starting with # ~
|
||||
@@ -126,7 +128,7 @@ To improve readability there must be a space between a command and the #
|
||||
that starts a comment: >
|
||||
var name = value # comment
|
||||
var name = value# error!
|
||||
|
||||
< *E1170*
|
||||
Do not start a comment with #{, it looks like the legacy dictionary literal
|
||||
and produces an error where this might be confusing. #{{ or #{{{ are OK,
|
||||
these can be used to start a fold.
|
||||
@@ -137,7 +139,7 @@ arguments).
|
||||
|
||||
|
||||
Vim9 functions ~
|
||||
|
||||
*E1099*
|
||||
A function defined with `:def` is compiled. Execution is many times faster,
|
||||
often 10 to 100 times.
|
||||
|
||||
@@ -151,7 +153,7 @@ Compilation is done when any of these is encountered:
|
||||
- `:disassemble` is used for the function.
|
||||
- a function that is compiled calls the function or uses it as a function
|
||||
reference (so that the argument and return types can be checked)
|
||||
*E1091*
|
||||
*E1091* *E1191*
|
||||
If compilation fails it is not tried again on the next call, instead this
|
||||
error is given: "E1091: Function is not compiled: {name}".
|
||||
Compilation will fail when encountering a user command that has not been
|
||||
@@ -181,14 +183,14 @@ You can call a legacy dict function though: >
|
||||
var d = {func: Legacy, value: 'text'}
|
||||
d.func()
|
||||
enddef
|
||||
|
||||
< *E1096* *E1174* *E1175*
|
||||
The argument types and return type need to be specified. The "any" type can
|
||||
be used, type checking will then be done at runtime, like with legacy
|
||||
functions.
|
||||
|
||||
*E1106*
|
||||
Arguments are accessed by name, without "a:", just like any other language.
|
||||
There is no "a:" dictionary or "a:000" list.
|
||||
*vim9-variable-arguments*
|
||||
*vim9-variable-arguments* *E1055* *E1160* *E1180*
|
||||
Variable arguments are defined as the last argument, with a name and have a
|
||||
list type, similar to TypeScript. For example, a list of numbers: >
|
||||
def MyFunc(...itemlist: list<number>)
|
||||
@@ -204,7 +206,7 @@ should use its default value. Example: >
|
||||
enddef
|
||||
MyFunc(v:none, 'LAST') # first argument uses default value 'one'
|
||||
<
|
||||
*vim9-ignored-argument*
|
||||
*vim9-ignored-argument* *E1181*
|
||||
The argument "_" (an underscore) can be used to ignore the argument. This is
|
||||
most useful in callbacks where you don't need it, but do need to give an
|
||||
argument to match the call. E.g. when using map() two arguments are passed,
|
||||
@@ -217,34 +219,36 @@ be given.
|
||||
Functions and variables are script-local by default ~
|
||||
*vim9-scopes*
|
||||
When using `:function` or `:def` to specify a new function at the script level
|
||||
in a Vim9 script, the function is local to the script, as if "s:" was
|
||||
prefixed. Using the "s:" prefix is optional. To define a global function or
|
||||
variable the "g:" prefix must be used. For functions in an autoload script
|
||||
the "name#" prefix is sufficient. >
|
||||
in a Vim9 script, the function is local to the script. Like prefixing "s:" in
|
||||
legacy script. To define a global function or variable the "g:" prefix must
|
||||
be used. For functions in a script that is to be imported and in an autoload
|
||||
script "export" needs to be used. >
|
||||
def ThisFunction() # script-local
|
||||
def s:ThisFunction() # script-local
|
||||
def g:ThatFunction() # global
|
||||
def scriptname#function() # autoload
|
||||
|
||||
export def Function() # for import and import autoload
|
||||
< *E1058* *E1075*
|
||||
When using `:function` or `:def` to specify a nested function inside a `:def`
|
||||
function and no namespace was given, this nested function is local to the code
|
||||
block it is defined in. In a `:def` function it is not possible to define a
|
||||
script-local function. It is possible to define a global function by using
|
||||
the "g:" prefix.
|
||||
block it is defined in. It is not possible to define a script-local function.
|
||||
It is possible to define a global function by using the "g:" prefix.
|
||||
|
||||
When referring to a function and no "s:" or "g:" prefix is used, Vim will
|
||||
search for the function:
|
||||
- in the function scope, in block scopes
|
||||
- in the script scope, possibly imported
|
||||
- in the list of global functions
|
||||
However, it is recommended to always use "g:" to refer to a global function
|
||||
for clarity.
|
||||
|
||||
Since a script-local function reference can be used without "s:" the name must
|
||||
start with an upper case letter even when using the "s:" prefix. In legacy
|
||||
script "s:funcref" could be used, because it could not be referred to with
|
||||
"funcref". In Vim9 script it can, therefore "s:Funcref" must be used to avoid
|
||||
that the name interferes with builtin functions.
|
||||
*vim9-s-namespace*
|
||||
The use of the "s:" prefix is not supported at the Vim9 script level. All
|
||||
functions and variables without a prefix are script-local.
|
||||
In :def functions the use of "s:" is optional. This is because in legacy
|
||||
script the "s:" might be needed. Disallowing the use of "s:" only in a :def
|
||||
function in Vim9 script would be a bit confusing.
|
||||
In legacy functions the use of "s:" for script items is required, as before.
|
||||
|
||||
In all cases the function must be defined before used. That is when it is
|
||||
called, when `:defcompile` causes it to be compiled, or when code that calls
|
||||
@@ -253,7 +257,7 @@ it is being compiled (to figure out the return type).
|
||||
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
|
||||
variables could be defined anywhere (good luck finding out where!).
|
||||
|
||||
*E1102*
|
||||
Global functions can still be defined and deleted at nearly any time. In
|
||||
Vim9 script script-local functions are defined once when the script is sourced
|
||||
and cannot be deleted or replaced.
|
||||
@@ -265,7 +269,7 @@ You can use an autoload function if needed, or call a legacy function and have
|
||||
|
||||
|
||||
Reloading a Vim9 script clears functions and variables by default ~
|
||||
*vim9-reload*
|
||||
*vim9-reload* *E1149* *E1150*
|
||||
When loading a legacy Vim script a second time nothing is removed, the
|
||||
commands will replace existing variables and functions and create new ones.
|
||||
|
||||
@@ -281,13 +285,16 @@ You want to use this in scripts that use a `finish` command to bail out at
|
||||
some point when loaded again. E.g. when a buffer local option is set: >
|
||||
vim9script noclear
|
||||
setlocal completefunc=SomeFunc
|
||||
if exists('*g:SomeFunc') | finish | endif
|
||||
if exists('*g:SomeFunc')
|
||||
finish
|
||||
endif
|
||||
def g:SomeFunc()
|
||||
....
|
||||
|
||||
|
||||
Variable declarations with :var, :final and :const ~
|
||||
*vim9-declaration* *:var*
|
||||
*vim9-declaration* *:var*
|
||||
*E1017* *E1020* *E1054* *E1087* *E1108* *E1124*
|
||||
Local variables need to be declared with `:var`. Local constants need to be
|
||||
declared with `:final` or `:const`. We refer to both as "variables" in this
|
||||
section.
|
||||
@@ -318,7 +325,7 @@ The declaration must be done earlier: >
|
||||
inner = 0
|
||||
endif
|
||||
echo inner
|
||||
|
||||
< *E1025* *E1128*
|
||||
To intentionally hide a variable from code that follows, a block can be
|
||||
used: >
|
||||
{
|
||||
@@ -345,23 +352,24 @@ And with autocommands: >
|
||||
}
|
||||
|
||||
Although using a :def function probably works better.
|
||||
|
||||
*E1022* *E1103* *E1130* *E1131* *E1133*
|
||||
*E1134* *E1235*
|
||||
Declaring a variable with a type but without an initializer will initialize to
|
||||
false (for bool), empty (for string, list, dict, etc.) or zero (for number,
|
||||
any, etc.). This matters especially when using the "any" type, the value will
|
||||
default to the number zero.
|
||||
|
||||
*E1016* *E1052* *E1066*
|
||||
In Vim9 script `:let` cannot be used. An existing variable is assigned to
|
||||
without any command. The same for global, window, tab, buffer and Vim
|
||||
variables, because they are not really declared. Those can also be deleted
|
||||
with `:unlet`.
|
||||
|
||||
*E1178*
|
||||
`:lockvar` does not work on local variables. Use `:const` and `:final`
|
||||
instead.
|
||||
|
||||
The `exists()` and `exists_compiled()` functions do not work on local variables
|
||||
or arguments.
|
||||
|
||||
*E1006* *E1041* *E1167* *E1168* *E1213*
|
||||
Variables, functions and function arguments cannot shadow previously defined
|
||||
or imported variables and functions in the same script file.
|
||||
Variables may shadow Ex commands, rename the variable if needed.
|
||||
@@ -372,13 +380,12 @@ Global variables must be prefixed with "g:", also at the script level. >
|
||||
g:global = 'value'
|
||||
var Funcref = g:ThatFunction
|
||||
|
||||
Global functions must be prefixed with "g:" when defining them, but can be
|
||||
called without "g:". >
|
||||
Global functions must be prefixed with "g:": >
|
||||
vim9script
|
||||
def g:GlobalFunc(): string
|
||||
return 'text'
|
||||
enddef
|
||||
echo GlobalFunc()
|
||||
echo g:GlobalFunc()
|
||||
The "g:" prefix is not needed for auto-load functions.
|
||||
|
||||
*vim9-function-defined-later*
|
||||
@@ -415,7 +422,7 @@ similar to how a function argument can be ignored: >
|
||||
[a, _, c] = theList
|
||||
To ignore any remaining items: >
|
||||
[a, b; _] = longList
|
||||
|
||||
< *E1163*
|
||||
Declaring more than one variable at a time, using the unpack notation, is
|
||||
possible. Each variable can have a type or infer it from the value: >
|
||||
var [v1: number, v2] = GetValues()
|
||||
@@ -429,7 +436,7 @@ How constants work varies between languages. Some consider a variable that
|
||||
can't be assigned another value a constant. JavaScript is an example. Others
|
||||
also make the value immutable, thus when a constant uses a list, the list
|
||||
cannot be changed. In Vim9 we can use both.
|
||||
|
||||
*E1021*
|
||||
`:const` is used for making both the variable and the value a constant. Use
|
||||
this for composite structures that you want to make sure will not be modified.
|
||||
Example: >
|
||||
@@ -437,7 +444,7 @@ Example: >
|
||||
myList = [3, 4] # Error!
|
||||
myList[0] = 9 # Error!
|
||||
myList->add(3) # Error!
|
||||
< *:final*
|
||||
< *:final* *E1125*
|
||||
`:final` is used for making only the variable a constant, the value can be
|
||||
changed. This is well known from Java. Example: >
|
||||
final myList = [1, 2]
|
||||
@@ -457,7 +464,7 @@ The constant only applies to the value itself, not what it refers to. >
|
||||
|
||||
|
||||
Omitting :call and :eval ~
|
||||
|
||||
*E1190*
|
||||
Functions can be called without `:call`: >
|
||||
writefile(lines, 'file')
|
||||
Using `:call` is still possible, but this is discouraged.
|
||||
@@ -517,7 +524,8 @@ because of the use of argument types.
|
||||
To avoid these problems Vim9 script uses a different syntax for a lambda,
|
||||
which is similar to JavaScript: >
|
||||
var Lambda = (arg) => expression
|
||||
|
||||
var Lambda = (arg): type => expression
|
||||
< *E1157*
|
||||
No line break is allowed in the arguments of a lambda up to and including the
|
||||
"=>" (so that Vim can tell the difference between an expression in parentheses
|
||||
and lambda arguments). This is OK: >
|
||||
@@ -533,7 +541,7 @@ But you can use a backslash to concatenate the lines before parsing: >
|
||||
filter(list, (k,
|
||||
\ v)
|
||||
\ => v > 0)
|
||||
< *vim9-lambda-arguments*
|
||||
< *vim9-lambda-arguments* *E1172*
|
||||
In legacy script a lambda could be called with any number of extra arguments,
|
||||
there was no way to warn for not using them. In Vim9 script the number of
|
||||
arguments must match. If you do want to accept any arguments, or any further
|
||||
@@ -542,7 +550,7 @@ arguments, use "..._", which makes the function accept
|
||||
var Callback = (..._) => 'anything'
|
||||
echo Callback(1, 2, 3) # displays "anything"
|
||||
|
||||
< *inline-function*
|
||||
< *inline-function* *E1171*
|
||||
Additionally, a lambda can contain statements in {}: >
|
||||
var Lambda = (arg) => {
|
||||
g:was_called = 'yes'
|
||||
@@ -562,7 +570,7 @@ characters, e.g.: >
|
||||
})
|
||||
No command can follow the "{", only a comment can be used there.
|
||||
|
||||
*command-block*
|
||||
*command-block* *E1026*
|
||||
The block can also be used for defining a user command. Inside the block Vim9
|
||||
syntax will be used.
|
||||
|
||||
@@ -597,7 +605,7 @@ Also when confused with the start of a command block: >
|
||||
|
||||
|
||||
Automatic line continuation ~
|
||||
*vim9-line-continuation*
|
||||
*vim9-line-continuation* *E1097*
|
||||
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 (see
|
||||
|line-continuation|). For example, when a list spans multiple lines: >
|
||||
@@ -682,6 +690,11 @@ This will assign "start" and print a line: >
|
||||
var result = start
|
||||
:+ print
|
||||
|
||||
After the range an Ex command must follow. Without the colon you can call a
|
||||
function without `:call`, but after a range you do need it: >
|
||||
MyFunc()
|
||||
:% call MyFunc()
|
||||
|
||||
Note that the colon is not required for the |+cmd| argument: >
|
||||
edit +6 fname
|
||||
|
||||
@@ -700,6 +713,7 @@ second line is seen as a separate command: >
|
||||
Now "exit_cb: Func})" is actually a valid command: save any changes to the
|
||||
file "_cb: Func})" and exit. To avoid this kind of mistake in Vim9 script
|
||||
there must be white space between most command names and the argument.
|
||||
*E1144*
|
||||
|
||||
However, the argument of a command that is a command won't be recognized. For
|
||||
example, after "windo echo expr" a line break inside "expr" will not be seen.
|
||||
@@ -730,7 +744,7 @@ Notes:
|
||||
|
||||
|
||||
White space ~
|
||||
|
||||
*E1004* *E1068* *E1069* *E1074* *E1127* *E1202*
|
||||
Vim9 script enforces proper use of white space. This is no longer allowed: >
|
||||
var name=234 # Error!
|
||||
var name= 234 # Error!
|
||||
@@ -764,7 +778,7 @@ White space is not allowed:
|
||||
Func(
|
||||
arg # OK
|
||||
)
|
||||
|
||||
< *E1205*
|
||||
White space is not allowed in a `:set` command between the option name and a
|
||||
following "&", "!", "<", "=", "+=", "-=" or "^=".
|
||||
|
||||
@@ -774,8 +788,13 @@ No curly braces expansion ~
|
||||
|curly-braces-names| cannot be used.
|
||||
|
||||
|
||||
Command modifiers are not ignored ~
|
||||
*E1176*
|
||||
Using a command modifier for a command that does not use it gives an error.
|
||||
|
||||
|
||||
Dictionary literals ~
|
||||
*vim9-literal-dict*
|
||||
*vim9-literal-dict* *E1014*
|
||||
Traditionally Vim has supported dictionary literals with a {} syntax: >
|
||||
let dict = {'key': value}
|
||||
|
||||
@@ -795,7 +814,7 @@ use another character, use a single or double quoted string: >
|
||||
var dict = {'key with space': value}
|
||||
var dict = {"key\twith\ttabs": value}
|
||||
var dict = {'': value} # empty key
|
||||
|
||||
< *E1139*
|
||||
In case the key needs to be an expression, square brackets can be used, just
|
||||
like in JavaScript: >
|
||||
var dict = {["key" .. nr]: value}
|
||||
@@ -808,7 +827,7 @@ error. A number can be given with and without the []: >
|
||||
|
||||
|
||||
No :xit, :t, :k, :append, :change or :insert ~
|
||||
|
||||
*E1100*
|
||||
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`.
|
||||
@@ -832,7 +851,7 @@ error. Example: >
|
||||
|
||||
|
||||
For loop ~
|
||||
|
||||
*E1254*
|
||||
The loop variable must not be declared yet: >
|
||||
var i = 1
|
||||
for i in [1, 2, 3] # Error!
|
||||
@@ -865,7 +884,7 @@ first if needed.
|
||||
|
||||
|
||||
Conditions and expressions ~
|
||||
*vim9-boolean*
|
||||
*vim9-boolean*
|
||||
Conditions and expressions are mostly working like they do in other languages.
|
||||
Some values are different from legacy Vim script:
|
||||
value legacy Vim script Vim9 script ~
|
||||
@@ -919,7 +938,7 @@ always converted to string: >
|
||||
|
||||
Simple types are Number, Float, Special and Bool. For other types |string()|
|
||||
should be used.
|
||||
*false* *true* *null*
|
||||
*false* *true* *null* *E1034*
|
||||
In Vim9 script one can use "true" for v:true, "false" for v:false and "null"
|
||||
for v:null. When converting a boolean to a string "false" and "true" are
|
||||
used, not "v:false" and "v:true" like in legacy script. "v:none" is not
|
||||
@@ -1062,15 +1081,19 @@ Using ++var or --var in an expression is not supported yet.
|
||||
|
||||
3. New style functions *fast-functions*
|
||||
|
||||
*:def*
|
||||
*:def* *E1028*
|
||||
:def[!] {name}([arguments])[: {return-type}]
|
||||
Define a new function by the name {name}. The body of
|
||||
the function follows in the next lines, until the
|
||||
matching `:enddef`.
|
||||
|
||||
When {return-type} is omitted or is "void" the
|
||||
function is not expected to return anything.
|
||||
|
||||
matching `:enddef`. *E1073*
|
||||
*E1011*
|
||||
The {name} must be less than 100 bytes long.
|
||||
*E1003* *E1027* *E1056* *E1059*
|
||||
The type of value used with `:return` must match
|
||||
{return-type}. When {return-type} is omitted or is
|
||||
"void" the function is not expected to return
|
||||
anything.
|
||||
*E1077* *E1123*
|
||||
{arguments} is a sequence of zero or more argument
|
||||
declarations. There are three forms:
|
||||
{name}: {type}
|
||||
@@ -1088,13 +1111,13 @@ Using ++var or --var in an expression is not supported yet.
|
||||
|
||||
It is possible to nest `:def` inside another `:def` or
|
||||
`:function` up to about 50 levels deep.
|
||||
|
||||
*E1117*
|
||||
[!] is used as with `:function`. Note that
|
||||
script-local functions cannot be deleted or redefined
|
||||
later in Vim9 script. They can only be removed by
|
||||
reloading the same script.
|
||||
|
||||
*:enddef*
|
||||
*:enddef* *E1057* *E1152* *E1173*
|
||||
:enddef End of a function defined with `:def`. It should be on
|
||||
a line by its own.
|
||||
|
||||
@@ -1114,7 +1137,7 @@ prefix if they do not exist at the time of compiling.
|
||||
|
||||
*:disa* *:disassemble*
|
||||
:disa[ssemble] {func} Show the instructions generated for {func}.
|
||||
This is for debugging and testing.
|
||||
This is for debugging and testing. *E1061*
|
||||
Note that for command line completion of {func} you
|
||||
can prepend "s:" to find script-local functions.
|
||||
|
||||
@@ -1173,10 +1196,72 @@ for each closure call a function to define it: >
|
||||
echo range(5)->map((i, _) => flist[i]())
|
||||
# Result: [0, 1, 2, 3, 4]
|
||||
|
||||
In some situations, especially when calling a Vim9 closure from legacy
|
||||
context, the evaluation will fail. *E1248*
|
||||
|
||||
|
||||
Converting a function from legacy to Vim9 ~
|
||||
*convert_legacy_function_to_vim9*
|
||||
These are the most changes that need to be made to convert a legacy function
|
||||
to a Vim9 function:
|
||||
|
||||
- Change `func` or `function` to `def`.
|
||||
- Change `endfunc` or `endfunction` to `enddef`.
|
||||
- Add types to the function arguments.
|
||||
- If the function returns something, add the return type.
|
||||
- Change comments to start with # instead of ".
|
||||
|
||||
For example, a legacy function: >
|
||||
func MyFunc(text)
|
||||
" function body
|
||||
endfunc
|
||||
< Becomes: >
|
||||
def MyFunc(text: string): number
|
||||
# function body
|
||||
enddef
|
||||
|
||||
- Remove "a:" used for arguments. E.g.: >
|
||||
return len(a:text)
|
||||
< Becomes: >
|
||||
return len(text)
|
||||
|
||||
- Change `let` used to declare a variable to `var`.
|
||||
- Remove `let` used to assign a value to a variable. This is for local
|
||||
variables already declared and b: w: g: and t: variables.
|
||||
|
||||
For example, legacy function: >
|
||||
let lnum = 1
|
||||
let lnum += 3
|
||||
let b:result = 42
|
||||
< Becomes: >
|
||||
var lnum = 1
|
||||
lnum += 3
|
||||
b:result = 42
|
||||
|
||||
- Insert white space in expressions where needed.
|
||||
- Change "." used for concatenation to "..".
|
||||
|
||||
For example, legacy function: >
|
||||
echo line(1).line(2)
|
||||
< Becomes: >
|
||||
echo line(1) .. line(2)
|
||||
|
||||
- line continuation does not always require a backslash: >
|
||||
echo ['one',
|
||||
\ 'two',
|
||||
\ 'three'
|
||||
\ ]
|
||||
< Becomes: >
|
||||
echo ['one',
|
||||
'two',
|
||||
'three'
|
||||
]
|
||||
|
||||
==============================================================================
|
||||
|
||||
4. Types *vim9-types*
|
||||
|
||||
*E1008* *E1009* *E1010* *E1012*
|
||||
*E1013* *E1029* *E1030*
|
||||
The following builtin types are supported:
|
||||
bool
|
||||
number
|
||||
@@ -1191,17 +1276,19 @@ The following builtin types are supported:
|
||||
func: {type}
|
||||
func({type}, ...)
|
||||
func({type}, ...): {type}
|
||||
void
|
||||
|
||||
Not supported yet:
|
||||
tuple<a: {type}, b: {type}, ...>
|
||||
|
||||
These types can be used in declarations, but no simple value will actually
|
||||
have the "void" type.
|
||||
have the "void" type. Trying to use a void (e.g. a function without a
|
||||
return value) results in error *E1031* *E1186* .
|
||||
|
||||
There is no array type, use list<{type}> instead. For a list constant an
|
||||
efficient implementation is used that avoids allocating lot of small pieces of
|
||||
memory.
|
||||
|
||||
*E1005* *E1007*
|
||||
A partial and function can be declared in more or less specific ways:
|
||||
func any kind of function reference, no type
|
||||
checking for arguments or return value
|
||||
@@ -1273,7 +1360,7 @@ expected to always be the same. For example, when declaring a list: >
|
||||
At compile time Vim doesn't know the type of "g:two" and the expression type
|
||||
becomes list<any>. An instruction is generated to check the list type before
|
||||
doing the assignment, which is a bit inefficient.
|
||||
*type-casting*
|
||||
*type-casting* *E1104*
|
||||
To avoid this, use a type cast: >
|
||||
var l: list<number> = [1, <number>g:two]
|
||||
The compiled code will then only check that "g:two" is a number and give an
|
||||
@@ -1318,6 +1405,24 @@ Results in:
|
||||
For script-local variables in Vim9 script the type is checked, also when the
|
||||
variable was declared in a legacy function.
|
||||
|
||||
When a type has been declared this is attached to a List or Dictionary. When
|
||||
later some expression attempts to change the type an error will be given: >
|
||||
var ll: list<number> = [1, 2, 3]
|
||||
ll->extend(['x']) # Error, 'x' is not a number
|
||||
|
||||
If the type is not declared then it is allowed to change: >
|
||||
[1, 2, 3]->extend(['x']) # result: [1, 2, 3, 'x']
|
||||
|
||||
For a variable declaration an inferred type matters: >
|
||||
var ll = [1, 2, 3]
|
||||
ll->extend(['x']) # Error, 'x' is not a number
|
||||
That is because the declaration looks like a list of numbers, thus is
|
||||
equivalent to: >
|
||||
var ll: list<number> = [1, 2, 3]
|
||||
If you do want a more permissive list you need to declare the type: >
|
||||
var ll: list<any = [1, 2, 3]
|
||||
ll->extend(['x']) # OK
|
||||
|
||||
|
||||
Stricter type checking ~
|
||||
*type-checking*
|
||||
@@ -1326,13 +1431,13 @@ automatically converted to a number. This was convenient for an actual number
|
||||
such as "123", but leads to unexpected problems (and no error message) if the
|
||||
string doesn't start with a number. Quite often this leads to hard-to-find
|
||||
bugs.
|
||||
|
||||
*E1206* *E1210* *E1212*
|
||||
In Vim9 script this has been made stricter. In most places it works just as
|
||||
before, if the value used matches the expected type. There will sometimes be
|
||||
an error, thus breaking backwards compatibility. For example:
|
||||
- Using a number other than 0 or 1 where a boolean is expected. *E1023*
|
||||
- Using a string value when setting a number option.
|
||||
- Using a number where a string is expected. *E1024*
|
||||
- Using a number where a string is expected. *E1024* *E1105*
|
||||
|
||||
One consequence is that the item type of a list or dict given to |map()| must
|
||||
not change. This will give an error in Vim9 script: >
|
||||
@@ -1348,18 +1453,26 @@ type. E.g. when a list of mixed types gets changed to a list of strings: >
|
||||
# typename(mylist) == "list<any>"
|
||||
map(mylist, (i, v) => 'item ' .. i)
|
||||
# typename(mylist) == "list<string>", no error
|
||||
|
||||
< *E1158*
|
||||
Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
|
||||
|flattennew()| instead.
|
||||
*E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
|
||||
*E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
|
||||
*E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
|
||||
*E1256*
|
||||
Types are checked for most builtin functions to make it easier to spot
|
||||
mistakes.
|
||||
|
||||
==============================================================================
|
||||
|
||||
5. Namespace, Import and Export
|
||||
*vim9script* *vim9-export* *vim9-import*
|
||||
|
||||
A Vim9 script can be written to be imported. This means that everything in
|
||||
the script is local, except for items that are exported. Those exported
|
||||
items, and only those items, can then be imported in another script.
|
||||
A Vim9 script can be written to be imported. This means that some items are
|
||||
intentionally exported, made available to other scripts. When the exporting
|
||||
script is imported in another script, these exported items can then be used in
|
||||
that script. All the other items remain script-local in the exporting script
|
||||
and cannot be accessed by the importing script.
|
||||
|
||||
This mechanism exists for writing a script that can be sourced (imported) by
|
||||
other scripts, while making sure these other scripts only have access to what
|
||||
@@ -1367,8 +1480,8 @@ you want them to. This also avoids using the global namespace, which has a
|
||||
risc of name collisions. For example when you have two plugins with similar
|
||||
functionality.
|
||||
|
||||
You can cheat by using the global namespace explicitly. We will assume here
|
||||
that you don't do that.
|
||||
You can cheat by using the global namespace explicitly. That should be done
|
||||
only for things that really are global.
|
||||
|
||||
|
||||
Namespace ~
|
||||
@@ -1381,7 +1494,7 @@ global namespace. If a file starts with: >
|
||||
var myvar = 'yes'
|
||||
Then "myvar" will only exist in this file. While without `vim9script` it would
|
||||
be available as `g:myvar` from any other script and function.
|
||||
|
||||
*E1101*
|
||||
The variables at the file level are very much like the script-local "s:"
|
||||
variables in legacy Vim script, but the "s:" is omitted. And they cannot be
|
||||
deleted.
|
||||
@@ -1428,7 +1541,7 @@ Exporting an item can be written as: >
|
||||
export def MyFunc() ...
|
||||
export class MyClass ...
|
||||
export interface MyClass ...
|
||||
|
||||
< *E1043* *E1044*
|
||||
As this suggests, only constants, variables, `:def` functions and classes can
|
||||
be exported. {not implemented yet: class, interface}
|
||||
|
||||
@@ -1437,19 +1550,23 @@ be exported. {not implemented yet: class, interface}
|
||||
|
||||
|
||||
Import ~
|
||||
*:import* *:imp* *E1094*
|
||||
*:import* *:imp* *E1094* *E1047* *E1262*
|
||||
*E1048* *E1049* *E1053* *E1071* *E1236*
|
||||
The exported items can be imported in another Vim9 script: >
|
||||
import "myscript.vim"
|
||||
|
||||
This makes each item available as "myscript.item".
|
||||
|
||||
*:import-as* *E1257* *E1261*
|
||||
In case the name is long or ambiguous, another name can be specified: >
|
||||
import "thatscript.vim" as that
|
||||
|
||||
< *E1060* *E1258* *E1259* *E1260*
|
||||
Then you can use "that.EXPORTED_CONST", "that.someValue", etc. You are free
|
||||
to choose the name "that". Use something that will be recognized as referring
|
||||
to the imported script. Avoid command names and builtin function names,
|
||||
because the name will shadow them.
|
||||
to the imported script. Avoid command names, command modifiers and builtin
|
||||
function names, because the name will shadow them.
|
||||
If the name starts with a capital letter it can also shadow global user
|
||||
commands and functions. Also, you cannot use the name for something else in
|
||||
the script, such as a function or variable name.
|
||||
|
||||
In case the dot in the name is undesired, a local reference can be made for a
|
||||
function: >
|
||||
@@ -1462,6 +1579,12 @@ This does not work for variables, since the value would be copied once and
|
||||
when changing the variable the copy will change, not the original variable.
|
||||
You will need to use the full name, with the dot.
|
||||
|
||||
The full syntax of the command is:
|
||||
import {filename} [as {name}]
|
||||
Where {filename} is an expression that must evaluate to a string. Without the
|
||||
"as {name}" part it must end in ".vim". {name} must consist of letters,
|
||||
digits and '_', like |internal-variables|.
|
||||
|
||||
`:import` can also be used in legacy Vim script. The imported items still
|
||||
become script-local, even when the "s:" prefix is not given.
|
||||
|
||||
@@ -1494,17 +1617,19 @@ line, there can be no line break: >
|
||||
echo that
|
||||
.name # Error!
|
||||
< *:import-cycle*
|
||||
The `import` commands are executed when encountered. If that script (directly
|
||||
or indirectly) imports the current script, then items defined after the
|
||||
`import` won't be processed yet. Therefore cyclic imports can exist, but may
|
||||
result in undefined items.
|
||||
The `import` commands are executed when encountered. If script A imports
|
||||
script B, and B (directly or indirectly) imports A, this will be skipped over.
|
||||
At this point items in A after "import B" will not have been processed and
|
||||
defined yet. Therefore cyclic imports can exist and not result in an error
|
||||
directly, but may result in an error for items in A after "import B" not being
|
||||
defined. This does not apply to autoload imports, see the next section.
|
||||
|
||||
|
||||
Import in an autoload script ~
|
||||
Importing an autoload script ~
|
||||
*vim9-autoload*
|
||||
For optimal startup speed, loading scripts should be postponed until they are
|
||||
actually needed. Using the autoload mechanism is recommended:
|
||||
|
||||
*E1264*
|
||||
1. In the plugin define user commands, functions and/or mappings that refer to
|
||||
items imported from an autoload script. >
|
||||
import autoload 'for/search.vim'
|
||||
@@ -1519,31 +1644,46 @@ actually needed. Using the autoload mechanism is recommended:
|
||||
directory.
|
||||
|
||||
2. In the autoload script put the bulk of the code. >
|
||||
vim9script autoload
|
||||
vim9script
|
||||
export def Stuff(arg: string)
|
||||
...
|
||||
|
||||
< This goes in .../autoload/for/search.vim.
|
||||
|
||||
Adding "autoload" to `:vim9script` has the effect that "for#search#" will
|
||||
be prefixed to every exported item. The prefix is obtained from the file
|
||||
name, as you would to manually in a legacy autoload script. Thus the
|
||||
exported function can be found with "for#search#Stuff", but you would
|
||||
normally use `import autoload` and not need to specify the prefix.
|
||||
Putting the "search.vim" script under the "/autoload/for/" directory has
|
||||
the effect that "for#search#" will be prefixed to every exported item. The
|
||||
prefix is obtained from the file name, as you would to manually in a
|
||||
legacy autoload script. Thus the exported function can be found with
|
||||
"for#search#Stuff", but you would normally use `import autoload` and not
|
||||
use the prefix.
|
||||
|
||||
You can split up the functionality and import other scripts from the
|
||||
autoload script as you like. This way you can share code between plugins.
|
||||
|
||||
For defining a mapping that uses the imported autoload script the special key
|
||||
|<ScriptCmd>| is useful. It allows for a command in a mapping to use the
|
||||
script context of where the mapping was defined.
|
||||
|
||||
When compiling a `:def` function and a function in an autoload script is
|
||||
encountered, the script is not loaded until the `:def` function is called.
|
||||
This also means you get any errors only at runtime, since the argument and
|
||||
return types are not known yet.
|
||||
|
||||
For testing the |test_override()| function can be used to have the
|
||||
`import autoload` load the script right away, so that the items and types can
|
||||
be checked without waiting for them to be actually used: >
|
||||
test_override('autoload', 1)
|
||||
Reset it later with: >
|
||||
test_override('autoload', 0)
|
||||
Or: >
|
||||
test_override('ALL', 0)
|
||||
|
||||
|
||||
Import in legacy Vim script ~
|
||||
|
||||
If an `import` statement is used in legacy Vim script, the script-local "s:"
|
||||
namespace will be used for the imported item, even when "s:" is not specified.
|
||||
namespace will be used for the imported items, even when "s:" is not
|
||||
specified.
|
||||
|
||||
|
||||
==============================================================================
|
||||
@@ -1705,6 +1845,9 @@ Specific items from TypeScript we avoid:
|
||||
- TypeScript has various "Readonly" types, which have limited usefulness,
|
||||
since a type cast can remove the immutable nature. Vim locks the value,
|
||||
which is more flexible, but is only checked at runtime.
|
||||
- TypeScript has a complicated "import" statement that does not match how the
|
||||
Vim import mechanism works. A much simpler mechanism is used instead, which
|
||||
matches that the imported script is only sourced once.
|
||||
|
||||
|
||||
Declarations ~
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
.TH VIMDIFF 1 "2001 March 30"
|
||||
.SH 名前
|
||||
vimdiff \- 二つか三つか四つのファイルを Vim で開いて、その差分を表示する
|
||||
vimdiff \- 2 個から 8 個のファイルを Vim で開いて、その差分を表示する
|
||||
.SH 書式
|
||||
.br
|
||||
.B vimdiff
|
||||
[options] file1 file2 [file3 [file4]]
|
||||
[options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]
|
||||
.PP
|
||||
.B gvimdiff
|
||||
.SH 説明
|
||||
.B Vimdiff
|
||||
は、二つ (か三つか四つ) のファイルを
|
||||
は、2 個から 8 個のファイルを
|
||||
.B Vim
|
||||
で開きます。
|
||||
ファイルは個別のウィンドウで開かれ、差分が強調表示されます。
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 8.2. Last change: 2021 Nov 21
|
||||
*visual.txt* For Vim version 8.2. Last change: 2022 Jan 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -265,6 +265,7 @@ Additionally the following commands can be used:
|
||||
X delete (2) |v_X|
|
||||
Y yank (2) |v_Y|
|
||||
p put |v_p|
|
||||
P put without unnamed register overwrite |v_P|
|
||||
J join (1) |v_J|
|
||||
U make uppercase |v_U|
|
||||
u make lowercase |v_u|
|
||||
@@ -488,6 +489,11 @@ Commands in Select mode:
|
||||
- ESC stops Select mode.
|
||||
- CTRL-O switches to Visual mode for the duration of one command. *v_CTRL-O*
|
||||
- CTRL-G switches to Visual mode.
|
||||
- CTRL-R {register} selects the register to be used for the text that is
|
||||
deleted when typing text. *v_CTRL-R*
|
||||
Unless you specify the "_" (black hole) register, the unnamed register is
|
||||
also overwritten.
|
||||
|
||||
|
||||
Otherwise, typed characters are handled as in Visual mode.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.2. Last change: 2022 Jan 08
|
||||
*windows.txt* For Vim version 8.2. Last change: 2022 Feb 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -168,7 +168,7 @@ CTRL-W CTRL-S *CTRL-W_CTRL-S*
|
||||
Note: CTRL-S does not work on all terminals and might block
|
||||
further input, use CTRL-Q to get going again.
|
||||
Also see |++opt| and |+cmd|.
|
||||
*E242*
|
||||
*E242* *E1159*
|
||||
Be careful when splitting a window in an autocommand, it may
|
||||
mess up the window layout if this happens while making other
|
||||
window layout changes.
|
||||
|
||||
@@ -74,6 +74,7 @@
|
||||
一行
|
||||
.RI < cols >
|
||||
オクテットで出力する。標準設定は 16 (\-i: 12, \-ps: 30, \-b: 6)。最大 256。
|
||||
\-ps には最大値がありません。 \-ps 付きの場合、0 を指定すると単一の長い行で出力されます。
|
||||
.TP
|
||||
.IR \-C " | " \-capitalize
|
||||
\-i を使用した際に、C インクルードファイル形式の変数名を大文字にする。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Jan 05
|
||||
" Last Change: 2022 Jan 31
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -193,7 +193,8 @@ au BufNewFile,BufRead *.awk,*.gawk setf awk
|
||||
au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
|
||||
|
||||
" BASIC or Visual Basic
|
||||
au BufNewFile,BufRead *.bas call dist#ft#FTVB("basic")
|
||||
au BufNewFile,BufRead *.bas call dist#ft#FTbas()
|
||||
au BufNewFile,BufRead *.bi,*.bm call dist#ft#FTbas()
|
||||
|
||||
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
|
||||
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
@@ -202,7 +203,7 @@ au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
au BufNewFile,BufRead *.iba,*.ibi setf ibasic
|
||||
|
||||
" FreeBasic file (similar to QBasic)
|
||||
au BufNewFile,BufRead *.fb,*.bi setf freebasic
|
||||
au BufNewFile,BufRead *.fb setf freebasic
|
||||
|
||||
" Batch file for MSDOS.
|
||||
au BufNewFile,BufRead *.bat,*.sys setf dosbatch
|
||||
@@ -653,6 +654,9 @@ au BufNewFile,BufRead *.fsl setf framescript
|
||||
" FStab
|
||||
au BufNewFile,BufRead fstab,mtab setf fstab
|
||||
|
||||
" Fusion
|
||||
au BufRead,BufNewFile *.fusion setf fusion
|
||||
|
||||
" F# or Forth
|
||||
au BufNewFile,BufRead *.fs call dist#ft#FTfs()
|
||||
|
||||
@@ -665,6 +669,12 @@ au BufNewFile,BufRead .gdbinit,gdbinit setf gdb
|
||||
" GDMO
|
||||
au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
|
||||
|
||||
" GDscript
|
||||
au BufNewFile,BufRead *.gd setf gdscript
|
||||
|
||||
" Godot resource
|
||||
au BufRead,BufNewFile *.tscn,*.tres setf gdresource
|
||||
|
||||
" Gedcom
|
||||
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
|
||||
|
||||
@@ -677,8 +687,10 @@ autocmd BufRead,BufNewFile *.gift setf gift
|
||||
" Git
|
||||
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
|
||||
au BufNewFile,BufRead NOTES_EDITMSG,EDIT_DESCRIPTION setf gitcommit
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,/etc/gitconfig setf gitconfig
|
||||
au BufNewFile,BufRead *.git/config,.gitconfig,*/etc/gitconfig setf gitconfig
|
||||
au BufNewFile,BufRead */.config/git/config setf gitconfig
|
||||
au BufNewFile,BufRead *.git/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead *.git/worktrees/*/config.worktree setf gitconfig
|
||||
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
|
||||
if !empty($XDG_CONFIG_HOME)
|
||||
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
|
||||
@@ -693,6 +705,9 @@ au BufNewFile,BufRead *.git/*
|
||||
" Gkrellmrc
|
||||
au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc
|
||||
|
||||
" GLSL
|
||||
au BufNewFile,BufRead *.glsl setf glsl
|
||||
|
||||
" GP scripts (2.0 and onward)
|
||||
au BufNewFile,BufRead *.gp,.gprc setf gp
|
||||
|
||||
@@ -713,15 +728,19 @@ au BufNewFile,BufRead gitolite.conf setf gitolite
|
||||
au BufNewFile,BufRead {,.}gitolite.rc,example.gitolite.rc setf perl
|
||||
|
||||
" Gnuplot scripts
|
||||
au BufNewFile,BufRead *.gpi setf gnuplot
|
||||
au BufNewFile,BufRead *.gpi,.gnuplot setf gnuplot
|
||||
|
||||
" Go (Google)
|
||||
au BufNewFile,BufRead *.go setf go
|
||||
au BufNewFile,BufRead Gopkg.lock setf toml
|
||||
au BufRead,BufNewFile go.work setf gowork
|
||||
|
||||
" GrADS scripts
|
||||
au BufNewFile,BufRead *.gs setf grads
|
||||
|
||||
" GraphQL
|
||||
au BufNewFile,BufRead *.graphql,*.graphqls,*.gql setf graphql
|
||||
|
||||
" Gretl
|
||||
au BufNewFile,BufRead *.gretl setf gretl
|
||||
|
||||
@@ -737,12 +756,18 @@ au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/
|
||||
" GTK RC
|
||||
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
|
||||
|
||||
" Hack
|
||||
au BufRead,BufNewFile *.hack,*.hackpartial setf hack
|
||||
|
||||
" Haml
|
||||
au BufNewFile,BufRead *.haml setf haml
|
||||
|
||||
" Hamster Classic | Playground files
|
||||
au BufNewFile,BufRead *.hsm setf hamster
|
||||
|
||||
" Handlebars
|
||||
au BufNewFile,BufRead *.hbs setf handlebars
|
||||
|
||||
" Haskell
|
||||
au BufNewFile,BufRead *.hs,*.hsc,*.hs-boot,*.hsig setf haskell
|
||||
au BufNewFile,BufRead *.lhs setf lhaskell
|
||||
@@ -755,12 +780,21 @@ au BufNewFile,BufRead cabal.config setf cabalconfig
|
||||
au BufNewFile,BufRead *.ht setf haste
|
||||
au BufNewFile,BufRead *.htpp setf hastepreproc
|
||||
|
||||
" HCL
|
||||
au BufRead,BufNewFile *.hcl setf hcl
|
||||
|
||||
" Hercules
|
||||
au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
|
||||
|
||||
" HEEx
|
||||
au BufRead,BufNewFile *.heex setf heex
|
||||
|
||||
" HEX (Intel)
|
||||
au BufNewFile,BufRead *.hex,*.h32 setf hex
|
||||
|
||||
" Hjson
|
||||
au BufNewFile,BufRead *.hjson setf hjson
|
||||
|
||||
" Hollywood
|
||||
au BufRead,BufNewFile *.hws setf hollywood
|
||||
|
||||
@@ -885,6 +919,9 @@ au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
|
||||
" JSON
|
||||
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
|
||||
|
||||
" JSON5
|
||||
au BufNewFile,BufRead *.json5 setf json5
|
||||
|
||||
" JSON Patch (RFC 6902)
|
||||
au BufNewFile,BufRead *.json-patch setf json
|
||||
|
||||
@@ -936,6 +973,9 @@ au BufNewFile,BufRead *.ldif setf ldif
|
||||
" Ld loader
|
||||
au BufNewFile,BufRead *.ld setf ld
|
||||
|
||||
" Ledger
|
||||
au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger
|
||||
|
||||
" Less
|
||||
au BufNewFile,BufRead *.less setf less
|
||||
|
||||
@@ -1173,6 +1213,9 @@ au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/
|
||||
" Ninja file
|
||||
au BufNewFile,BufRead *.ninja setf ninja
|
||||
|
||||
" Nix
|
||||
au BufRead,BufNewFile *.nix setf nix
|
||||
|
||||
" NPM RC file
|
||||
au BufNewFile,BufRead npmrc,.npmrc setf dosini
|
||||
|
||||
@@ -1358,6 +1401,9 @@ au BufNewFile,BufRead *printcap
|
||||
au BufNewFile,BufRead *termcap
|
||||
\ let b:ptcap_type = "term" | setf ptcap
|
||||
|
||||
" Prisma
|
||||
au BufRead,BufNewFile *.prisma setf prisma
|
||||
|
||||
" PCCTS / ANTLR
|
||||
"au BufNewFile,BufRead *.g setf antlr
|
||||
au BufNewFile,BufRead *.g setf pccts
|
||||
@@ -1365,6 +1411,9 @@ au BufNewFile,BufRead *.g setf pccts
|
||||
" PPWizard
|
||||
au BufNewFile,BufRead *.it,*.ih setf ppwiz
|
||||
|
||||
" Pug
|
||||
au BufRead,BufNewFile *.pug setf pug
|
||||
|
||||
" Puppet
|
||||
au BufNewFile,BufRead Puppetfile setf ruby
|
||||
|
||||
@@ -1430,6 +1479,9 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
|
||||
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
|
||||
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
|
||||
|
||||
" QL
|
||||
au BufRead,BufNewFile *.ql,*.qll setf ql
|
||||
|
||||
" Radiance
|
||||
au BufNewFile,BufRead *.rad,*.mat setf radiance
|
||||
|
||||
@@ -1834,6 +1886,9 @@ au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
|
||||
" SVG (Scalable Vector Graphics)
|
||||
au BufNewFile,BufRead *.svg setf svg
|
||||
|
||||
" Surface
|
||||
au BufRead,BufNewFile *.sface setf surface
|
||||
|
||||
" Tads (or Nroff or Perl test file)
|
||||
au BufNewFile,BufRead *.t
|
||||
\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
|
||||
@@ -1851,6 +1906,9 @@ au BufRead,BufNewFile *.task setf taskedit
|
||||
" Tcl (JACL too)
|
||||
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
|
||||
|
||||
" Teal
|
||||
au BufRead,BufNewFile *.tl setf teal
|
||||
|
||||
" TealInfo
|
||||
au BufNewFile,BufRead *.tli setf tli
|
||||
|
||||
@@ -1868,6 +1926,9 @@ au BufRead,BufNewFile *.ttl
|
||||
" Terminfo
|
||||
au BufNewFile,BufRead *.ti setf terminfo
|
||||
|
||||
" Terraform
|
||||
au BufRead,BufNewFile *.tfvars setf terraform
|
||||
|
||||
" TeX
|
||||
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
|
||||
au BufNewFile,BufRead *.tex call dist#ft#FTtex()
|
||||
@@ -1885,7 +1946,13 @@ au BufNewFile,BufRead texmf.cnf setf texmf
|
||||
au BufNewFile,BufRead .tidyrc,tidyrc,tidy.conf setf tidy
|
||||
|
||||
" TF mud client
|
||||
au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
|
||||
au BufNewFile,BufRead .tfrc,tfrc setf tf
|
||||
|
||||
" TF mud client or terraform
|
||||
au BufNewFile,BufRead *.tf call dist#ft#FTtf()
|
||||
|
||||
" TLA+
|
||||
au BufNewFile,BufRead *.tla setf tla
|
||||
|
||||
" tmux configuration
|
||||
au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
||||
@@ -1894,7 +1961,7 @@ au BufNewFile,BufRead {.,}tmux*.conf setf tmux
|
||||
au BufNewFile,BufRead *.toml setf toml
|
||||
|
||||
" TPP - Text Presentation Program
|
||||
au BufNewFile,BufReadPost *.tpp setf tpp
|
||||
au BufNewFile,BufRead *.tpp setf tpp
|
||||
|
||||
" Treetop
|
||||
au BufRead,BufNewFile *.treetop setf treetop
|
||||
@@ -1951,6 +2018,9 @@ au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
|
||||
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
|
||||
|
||||
" Vala
|
||||
au BufNewFile,BufRead *.vala setf vala
|
||||
|
||||
" Vera
|
||||
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
|
||||
|
||||
@@ -1981,7 +2051,7 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg
|
||||
\ endif
|
||||
|
||||
" Visual Basic (also uses *.bas) or FORM
|
||||
au BufNewFile,BufRead *.frm call dist#ft#FTVB("form")
|
||||
au BufNewFile,BufRead *.frm call dist#ft#FTfrm()
|
||||
|
||||
" SaxBasic is close to Visual Basic
|
||||
au BufNewFile,BufRead *.sba setf vb
|
||||
@@ -2145,6 +2215,9 @@ au BufNewFile,BufRead *.raml setf raml
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.conf setf dosini
|
||||
|
||||
" YANG
|
||||
au BufRead,BufNewFile *.yang setf yang
|
||||
|
||||
" Zimbu
|
||||
au BufNewFile,BufRead *.zu setf zimbu
|
||||
" Zimbu Templates
|
||||
|
||||
@@ -1,35 +1,43 @@
|
||||
" Vim support file to switch on loading plugins for file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2006 Apr 30
|
||||
vim9script noclear
|
||||
|
||||
if exists("did_load_ftplugin")
|
||||
# Vim support file to switch on loading plugins for file types
|
||||
#
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Last change: 2022 Feb 11
|
||||
|
||||
if exists("g:did_load_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let did_load_ftplugin = 1
|
||||
g:did_load_ftplugin = 1
|
||||
|
||||
augroup filetypeplugin
|
||||
au FileType * call s:LoadFTPlugin()
|
||||
|
||||
func! s:LoadFTPlugin()
|
||||
if exists("b:undo_ftplugin")
|
||||
exe b:undo_ftplugin
|
||||
unlet! b:undo_ftplugin b:did_ftplugin
|
||||
endif
|
||||
|
||||
let s = expand("<amatch>")
|
||||
if s != ""
|
||||
if &cpo =~# "S" && exists("b:did_ftplugin")
|
||||
" In compatible mode options are reset to the global values, need to
|
||||
" set the local values also when a plugin was already used.
|
||||
unlet b:did_ftplugin
|
||||
endif
|
||||
|
||||
" When there is a dot it is used to separate filetype names. Thus for
|
||||
" "aaa.bbb" load "aaa" and then "bbb".
|
||||
for name in split(s, '\.')
|
||||
exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
|
||||
endfor
|
||||
endif
|
||||
endfunc
|
||||
au FileType * call LoadFTPlugin()
|
||||
augroup END
|
||||
|
||||
if exists('*LoadFTPlugin')
|
||||
# No need to define the function again.
|
||||
finish
|
||||
endif
|
||||
|
||||
def LoadFTPlugin()
|
||||
if exists("b:undo_ftplugin")
|
||||
# We assume b:undo_ftplugin is using legacy script syntax
|
||||
legacy exe b:undo_ftplugin
|
||||
unlet! b:undo_ftplugin b:did_ftplugin
|
||||
endif
|
||||
|
||||
var s = expand("<amatch>")
|
||||
if s != ""
|
||||
if &cpo =~# "S" && exists("b:did_ftplugin")
|
||||
# In compatible mode options are reset to the global values, need to
|
||||
# set the local values also when a plugin was already used.
|
||||
unlet b:did_ftplugin
|
||||
endif
|
||||
|
||||
# When there is a dot it is used to separate filetype names. Thus for
|
||||
# "aaa.bbb" load "aaa" and then "bbb".
|
||||
for name in split(s, '\.')
|
||||
exe 'runtime! ftplugin/' .. name .. '.vim ftplugin/' .. name .. '_*.vim ftplugin/' .. name .. '/*.vim'
|
||||
endfor
|
||||
endif
|
||||
enddef
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: BASIC
|
||||
" Language: BASIC (QuickBASIC 4.5)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2015 Jan 10
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,17 +11,46 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:REM,:'
|
||||
setlocal comments=:REM\ ,:Rem\ ,:rem\ ,:'
|
||||
setlocal commentstring='\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
" TODO: support exit ... as middle matches?
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let s:line_start = '\%(^\s*\)\@<='
|
||||
let s:not_end = '\%(end\s\+\)\@<!'
|
||||
let s:not_end_or_exit = '\%(\%(end\|exit\)\s\+\)\@<!'
|
||||
|
||||
let b:match_ignorecase = 1
|
||||
let b:match_words =
|
||||
\ s:not_end_or_exit .. '\<def\s\+fn:\<end\s\+def\>,' ..
|
||||
\ s:not_end_or_exit .. '\<function\>:\<end\s\+function\>,' ..
|
||||
\ s:not_end_or_exit .. '\<sub\>:\<end\s\+sub\>,' ..
|
||||
\ s:not_end .. '\<type\>:\<end\s\+type\>,' ..
|
||||
\ s:not_end .. '\<select\>:\%(select\s\+\)\@<!\<case\%(\s\+\%(else\|is\)\)\=\>:\<end\s\+select\>,' ..
|
||||
\ '\<do\>:\<loop\>,' ..
|
||||
\ '\<for\>\%(\s\+\%(input\|output\|random\|append\|binary\)\)\@!:\<next\>,' ..
|
||||
\ '\<while\>:\<wend\>,' ..
|
||||
\ s:line_start .. 'if\%(.*\<then\s*\%($\|''\)\)\@=:\<\%(' .. s:line_start .. 'else\|elseif\)\>:\<end\s\+if\>,' ..
|
||||
\ '\<lock\>:\<unlock\>'
|
||||
|
||||
let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") =~? "comment\\|string" || ' ..
|
||||
\ 'strpart(getline("."), 0, col(".") ) =~? "\\<exit\\s\\+"'
|
||||
|
||||
unlet s:line_start s:not_end s:not_end_or_exit
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms< sua<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "BASIC Source Files (*.bas)\t*.bas\n" ..
|
||||
\ "BASIC Include Files (*.bi, *.bm)\t*.bi;*.bm\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< com< cms<" ..
|
||||
\ " | unlet! b:match_ignorecase b:match_skip b:match_words" ..
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
|
||||
@@ -1,13 +1,65 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: FreeBasic
|
||||
" Language: FreeBASIC
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2015 Jan 10
|
||||
" Last Change: 2021 Mar 16
|
||||
|
||||
" Setup {{{1
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
runtime! ftplugin/basic.vim
|
||||
|
||||
" vim: ts=8
|
||||
let s:dialect = freebasic#GetDialect()
|
||||
|
||||
" Comments {{{1
|
||||
" add ''comments before 'comments
|
||||
let &l:comments = "sO:*\ -,mO:*\ \ ,exO:*/,s1:/',mb:',ex:'/,:''," .. &l:comments
|
||||
|
||||
" Match words {{{1
|
||||
if exists("loaded_matchit")
|
||||
let s:not_end = '\%(end\s\+\)\@<!'
|
||||
|
||||
let b:match_words ..= ','
|
||||
|
||||
if s:dialect == 'fb'
|
||||
let b:match_words ..= s:not_end .. '\<constructor\>:\<end\s\+constructor\>,' ..
|
||||
\ s:not_end .. '\<destructor\>:\<end\s\+destructor\>,' ..
|
||||
\ s:not_end .. '\<property\>:\<end\s\+property\>,' ..
|
||||
\ s:not_end .. '\<operator\>:\<end\s\+operator\>,' ..
|
||||
\ s:not_end .. '\<extern\%(\s\+"\)\@=:\<end\s\+extern\>,'
|
||||
endif
|
||||
|
||||
if s:dialect == 'fb' || s:dialect == 'deprecated'
|
||||
let b:match_words ..= s:not_end .. '\<scope\>:\<end\s\+scope\>,'
|
||||
endif
|
||||
|
||||
if s:dialect == 'qb'
|
||||
let b:match_words ..= s:not_end .. '\<__asm\>:\<end\s\+__asm\>,' ..
|
||||
\ s:not_end .. '\<__union\>:\<end\s\+__union\>,' ..
|
||||
\ s:not_end .. '\<__with\>:\<end\s\+__with\>,'
|
||||
else
|
||||
let b:match_words ..= s:not_end .. '\<asm\>:\<end\s\+asm\>,' ..
|
||||
\ s:not_end .. '\<namespace\>:\<end\s\+namespace\>,' ..
|
||||
\ s:not_end .. '\<union\>:\<end\s\+union\>,' ..
|
||||
\ s:not_end .. '\<with\>:\<end\s\+with\>,'
|
||||
endif
|
||||
|
||||
let b:match_words ..= s:not_end .. '\<enum\>:\<end\s\+enum\>,' ..
|
||||
\ '^#\s*\%(if\|ifdef\|ifndef\)\>:^#\s*\%(else\|elseif\)\>:^#\s*endif\>,' ..
|
||||
\ '^#\s*macro\>:^#\s*endmacro\>'
|
||||
|
||||
" skip "function = <retval>"
|
||||
let b:match_skip ..= '|| strpart(getline("."), col(".") - 1) =~? "^\\<function\\s\\+="'
|
||||
|
||||
unlet s:not_end
|
||||
endif
|
||||
|
||||
" Cleanup {{{1
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
|
||||
26
runtime/ftplugin/qb64.vim
Normal file
26
runtime/ftplugin/qb64.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: QB64
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
runtime! ftplugin/basic.vim
|
||||
|
||||
let s:not_end = '\%(end\s\+\)\@<!'
|
||||
|
||||
let b:match_words ..= ',' ..
|
||||
\ s:not_end .. '\<declare\>:\<end\s\+declare\>,' ..
|
||||
\ '\<select\s\+everycase\>:\%(select\s\+\)\@<!\<case\%(\s\+\%(else\|is\)\)\=\>:\<end\s\+select\>,' ..
|
||||
\ '$IF\>:$\%(ELSEIF\|ELSE\)\>:$END\s*IF\>'
|
||||
|
||||
unlet s:not_end
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
@@ -1,13 +1,15 @@
|
||||
" Vim support file to switch off loading plugins for file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2011 Oct 20
|
||||
vim9script
|
||||
|
||||
if exists("did_load_ftplugin")
|
||||
unlet did_load_ftplugin
|
||||
# Vim support file to switch off loading plugins for file types
|
||||
#
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Last Change: 2022 Feb 09
|
||||
|
||||
if exists("g:did_load_ftplugin")
|
||||
unlet g:did_load_ftplugin
|
||||
endif
|
||||
|
||||
" Remove all autocommands in the filetypeplugin group, if any exist.
|
||||
# Remove all autocommands in the filetypeplugin group, if any exist.
|
||||
if exists("#filetypeplugin")
|
||||
silent! au! filetypeplugin *
|
||||
endif
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
# Translators: This is the Application Name used in the GVim desktop file
|
||||
Name[de]=GVim
|
||||
Name[eo]=GVim
|
||||
Name[fi]=GVim
|
||||
Name[fr]=GVim
|
||||
Name[ga]=GVim
|
||||
Name[it]=GVim
|
||||
Name[ru]=GVim
|
||||
Name[sr]=GVim
|
||||
@@ -13,7 +15,9 @@ Name=GVim
|
||||
# Translators: This is the Generic Application Name used in the Vim desktop file
|
||||
GenericName[de]=Texteditor
|
||||
GenericName[eo]=Tekstoredaktilo
|
||||
GenericName[fi]=Tekstinmuokkain
|
||||
GenericName[fr]=Éditeur de texte
|
||||
GenericName[ga]=Eagarthóir Téacs
|
||||
GenericName[it]=Editor di testi
|
||||
GenericName[ja]=テキストエディタ
|
||||
GenericName[ru]=Текстовый редактор
|
||||
@@ -23,7 +27,9 @@ GenericName=Text Editor
|
||||
# Translators: This is the comment used in the Vim desktop file
|
||||
Comment[de]=Textdateien bearbeiten
|
||||
Comment[eo]=Redakti tekstajn dosierojn
|
||||
Comment[fi]=Muokkaa tekstitiedostoja
|
||||
Comment[fr]=Éditer des fichiers texte
|
||||
Comment[ga]=Cuir comhaid téacs in eagar
|
||||
Comment[it]=Edita file di testo
|
||||
Comment[ja]=テキストファイルを編集します
|
||||
Comment[ru]=Редактирование текстовых файлов
|
||||
@@ -54,8 +60,6 @@ Comment[es]=Edita archivos de texto
|
||||
Comment[et]=Redigeeri tekstifaile
|
||||
Comment[eu]=Editatu testu-fitxategiak
|
||||
Comment[fa]=ویرایش پروندههای متنی
|
||||
Comment[fi]=Muokkaa tekstitiedostoja
|
||||
Comment[ga]=Eagar comhad Téacs
|
||||
Comment[gu]=લખાણ ફાઇલોમાં ફેરફાર કરો
|
||||
Comment[he]=ערוך קבצי טקסט
|
||||
Comment[hi]=पाठ फ़ाइलें संपादित करें
|
||||
@@ -103,7 +107,9 @@ Type=Application
|
||||
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
|
||||
Keywords[de]=Text;Editor;
|
||||
Keywords[eo]=Teksto;redaktilo;
|
||||
Keywords[fi]=Teksti;muokkain;editori;
|
||||
Keywords[fr]=Texte;éditeur;
|
||||
Keywords[ga]=Téacs;eagarthóir;
|
||||
Keywords[it]=Testo;editor;
|
||||
Keywords[ja]=テキスト;エディタ;
|
||||
Keywords[ru]=текст;текстовый редактор;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to switch on loading indent files for file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2008 Feb 22
|
||||
" Last Change: 2022 Feb 11
|
||||
|
||||
if exists("did_indent_on")
|
||||
finish
|
||||
@@ -10,22 +10,23 @@ let did_indent_on = 1
|
||||
|
||||
augroup filetypeindent
|
||||
au FileType * call s:LoadIndent()
|
||||
func! s:LoadIndent()
|
||||
if exists("b:undo_indent")
|
||||
exe b:undo_indent
|
||||
unlet! b:undo_indent b:did_indent
|
||||
endif
|
||||
let s = expand("<amatch>")
|
||||
if s != ""
|
||||
if exists("b:did_indent")
|
||||
unlet b:did_indent
|
||||
endif
|
||||
|
||||
" When there is a dot it is used to separate filetype names. Thus for
|
||||
" "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
|
||||
for name in split(s, '\.')
|
||||
exe 'runtime! indent/' . name . '.vim'
|
||||
endfor
|
||||
endif
|
||||
endfunc
|
||||
augroup END
|
||||
|
||||
def s:LoadIndent()
|
||||
if exists("b:undo_indent")
|
||||
legacy exe b:undo_indent
|
||||
unlet! b:undo_indent b:did_indent
|
||||
endif
|
||||
var s = expand("<amatch>")
|
||||
if s != ""
|
||||
if exists("b:did_indent")
|
||||
unlet b:did_indent
|
||||
endif
|
||||
|
||||
# When there is a dot it is used to separate filetype names. Thus for
|
||||
# "aaa.bbb" load "indent/aaa.vim" and then "indent/bbb.vim".
|
||||
for name in split(s, '\.')
|
||||
exe 'runtime! indent/' .. name .. '.vim'
|
||||
endfor
|
||||
endif
|
||||
enddef
|
||||
|
||||
11
runtime/indent/basic.vim
Normal file
11
runtime/indent/basic.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: BASIC (QuickBASIC 4.5)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Jan 24
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/vb.vim
|
||||
11
runtime/indent/freebasic.vim
Normal file
11
runtime/indent/freebasic.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: FreeBASIC
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Jan 24
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/vb.vim
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent script for HTML
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||
" Last Change: 2021 Jun 13
|
||||
" Last Change: 2022 Jan 31
|
||||
" Version: 1.0 "{{{
|
||||
" Description: HTML indent script with cached state for faster indenting on a
|
||||
" range of lines.
|
||||
@@ -149,6 +149,15 @@ func HtmlIndent_CheckUserSettings()
|
||||
let b:html_indent_line_limit = 200
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists('b:html_indent_attribute')
|
||||
let b:hi_attr_indent = b:html_indent_attribute
|
||||
elseif exists('g:html_indent_attribute')
|
||||
let b:hi_attr_indent = g:html_indent_attribute
|
||||
else
|
||||
let b:hi_attr_indent = 2
|
||||
endif
|
||||
|
||||
endfunc "}}}
|
||||
|
||||
" Init Script Vars
|
||||
@@ -946,11 +955,11 @@ func s:InsideTag(foundHtmlString)
|
||||
let idx = match(text, '<' . s:tagname . '\s\+\zs\w')
|
||||
endif
|
||||
if idx == -1
|
||||
" after just "<tag" indent two levels more
|
||||
" after just "<tag" indent two levels more by default
|
||||
let idx = match(text, '<' . s:tagname . '$')
|
||||
if idx >= 0
|
||||
call cursor(lnum, idx + 1)
|
||||
return virtcol('.') - 1 + shiftwidth() * 2
|
||||
return virtcol('.') - 1 + shiftwidth() * b:hi_attr_indent
|
||||
endif
|
||||
endif
|
||||
if idx > 0
|
||||
|
||||
11
runtime/indent/qb64.vim
Normal file
11
runtime/indent/qb64.vim
Normal file
@@ -0,0 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: QB64
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Jan 24
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
|
||||
runtime! indent/vb.vim
|
||||
@@ -1,4 +1,4 @@
|
||||
" vim: set ft=html sw=4 :
|
||||
" vim: set ft=html sw=4 ts=8 :
|
||||
|
||||
|
||||
" START_INDENT
|
||||
@@ -41,6 +41,11 @@ dd text
|
||||
dt text
|
||||
</dt>
|
||||
</dl>
|
||||
<div
|
||||
class="test"
|
||||
style="color: yellow">
|
||||
text
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -50,6 +55,7 @@ dt text
|
||||
% START_INDENT
|
||||
% INDENT_EXE let g:html_indent_style1 = "inc"
|
||||
% INDENT_EXE let g:html_indent_script1 = "zero"
|
||||
% INDENT_EXE let g:html_indent_attribute = 1
|
||||
% INDENT_EXE call HtmlIndent_CheckUserSettings()
|
||||
<html>
|
||||
<body>
|
||||
@@ -61,6 +67,11 @@ div#d2 { color: green; }
|
||||
var v1 = "v1";
|
||||
var v2 = "v2";
|
||||
</script>
|
||||
<div
|
||||
class="test"
|
||||
style="color: yellow">
|
||||
text
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
% END_INDENT
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
" vim: set ft=html sw=4 :
|
||||
" vim: set ft=html sw=4 ts=8 :
|
||||
|
||||
|
||||
" START_INDENT
|
||||
@@ -41,6 +41,11 @@ div#d2 { color: green; }
|
||||
dt text
|
||||
</dt>
|
||||
</dl>
|
||||
<div
|
||||
class="test"
|
||||
style="color: yellow">
|
||||
text
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -50,6 +55,7 @@ div#d2 { color: green; }
|
||||
% START_INDENT
|
||||
% INDENT_EXE let g:html_indent_style1 = "inc"
|
||||
% INDENT_EXE let g:html_indent_script1 = "zero"
|
||||
% INDENT_EXE let g:html_indent_attribute = 1
|
||||
% INDENT_EXE call HtmlIndent_CheckUserSettings()
|
||||
<html>
|
||||
<body>
|
||||
@@ -61,6 +67,11 @@ div#d2 { color: green; }
|
||||
var v1 = "v1";
|
||||
var v2 = "v2";
|
||||
</script>
|
||||
<div
|
||||
class="test"
|
||||
style="color: yellow">
|
||||
text
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
% END_INDENT
|
||||
|
||||
@@ -1,52 +1,54 @@
|
||||
" Script to define the syntax menu in synmenu.vim
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Dec 07
|
||||
vim9script
|
||||
|
||||
" This is used by "make menu" in the src directory.
|
||||
# Script to define the syntax menu in synmenu.vim
|
||||
# Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
# Last Change: 2022 Feb 04
|
||||
|
||||
# This is used by "make menu" in the src directory.
|
||||
edit <sfile>:p:h/synmenu.vim
|
||||
|
||||
/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
|
||||
let s:lnum = line(".") - 1
|
||||
call append(s:lnum, "")
|
||||
let s:lnum = s:lnum + 1
|
||||
:/The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
|
||||
var lnum = line(".") - 1
|
||||
call append(lnum, "")
|
||||
lnum += 1
|
||||
|
||||
" Use the SynMenu command and function to define all menu entries
|
||||
command! -nargs=* SynMenu call <SID>Syn(<q-args>)
|
||||
# Use the SynMenu command and function to define all menu entries
|
||||
command! -nargs=* SynMenu call Syn(<q-args>)
|
||||
|
||||
let s:cur_menu_name = ""
|
||||
let s:cur_menu_nr = 0
|
||||
let s:cur_menu_item = 0
|
||||
let s:cur_menu_char = ""
|
||||
var cur_menu_name = ""
|
||||
var cur_menu_nr = 0
|
||||
var cur_menu_item = 0
|
||||
var cur_menu_char = ""
|
||||
|
||||
fun! <SID>Syn(arg)
|
||||
" isolate menu name: until the first dot
|
||||
let i = match(a:arg, '\.')
|
||||
let menu_name = strpart(a:arg, 0, i)
|
||||
let r = strpart(a:arg, i + 1, 999)
|
||||
" isolate submenu name: until the colon
|
||||
let i = match(r, ":")
|
||||
let submenu_name = strpart(r, 0, i)
|
||||
" after the colon is the syntax name
|
||||
let syntax_name = strpart(r, i + 1, 999)
|
||||
def Syn(arg: string)
|
||||
# isolate menu name: until the first dot
|
||||
var i = match(arg, '\.')
|
||||
var menu_name = strpart(arg, 0, i)
|
||||
var r = strpart(arg, i + 1, 999)
|
||||
# isolate submenu name: until the colon
|
||||
i = match(r, ":")
|
||||
var submenu_name = strpart(r, 0, i)
|
||||
# after the colon is the syntax name
|
||||
var syntax_name = strpart(r, i + 1, 999)
|
||||
|
||||
if s:cur_menu_name != menu_name
|
||||
let s:cur_menu_name = menu_name
|
||||
let s:cur_menu_nr = s:cur_menu_nr + 10
|
||||
let s:cur_menu_item = 100
|
||||
let s:cur_menu_char = submenu_name[0]
|
||||
if cur_menu_name != menu_name
|
||||
cur_menu_name = menu_name
|
||||
cur_menu_nr += 10
|
||||
cur_menu_item = 100
|
||||
cur_menu_char = submenu_name[0]
|
||||
else
|
||||
" When starting a new letter, insert a menu separator.
|
||||
let c = submenu_name[0]
|
||||
# When starting a new letter, insert a menu separator.
|
||||
var c = submenu_name[0]
|
||||
if c != s:cur_menu_char
|
||||
exe 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>'
|
||||
let s:cur_menu_item = s:cur_menu_item + 10
|
||||
let s:cur_menu_char = c
|
||||
exe 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. ".-" .. c .. '- <nul>'
|
||||
cur_menu_item += 10
|
||||
cur_menu_char = c
|
||||
endif
|
||||
endif
|
||||
call append(s:lnum, 'an 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>')
|
||||
let s:cur_menu_item = s:cur_menu_item + 10
|
||||
let s:lnum = s:lnum + 1
|
||||
endfun
|
||||
append(lnum, 'an 50.' .. s:cur_menu_nr .. '.' .. s:cur_menu_item .. ' &Syntax.' .. menu_name .. "." .. submenu_name .. ' :cal SetSyn("' .. syntax_name .. '")<CR>')
|
||||
cur_menu_item += 10
|
||||
lnum += 1
|
||||
enddef
|
||||
|
||||
SynMenu AB.A2ps\ config:a2ps
|
||||
SynMenu AB.Aap:aap
|
||||
@@ -676,6 +678,6 @@ SynMenu WXYZ.YAML:yaml
|
||||
SynMenu WXYZ.Yacc:yacc
|
||||
SynMenu WXYZ.Zimbu:zimbu
|
||||
|
||||
call append(s:lnum, "")
|
||||
append(lnum, "")
|
||||
|
||||
wq
|
||||
|
||||
675
runtime/menu.vim
675
runtime/menu.vim
File diff suppressed because it is too large
Load Diff
@@ -763,9 +763,9 @@ fun! s:ParseSkip(str)
|
||||
let skip = "synIDattr(synID(line('.'),col('.'),1),'name') !~? '" ..
|
||||
\ strpart(skip,2) .. "'"
|
||||
elseif skip[0] == "r"
|
||||
let skip = "strpart(getline('.'),0,col('.'))=~'" . strpart(skip,2). "'"
|
||||
let skip = "strpart(getline('.'),0,col('.'))=~'" .. strpart(skip,2) .. "'"
|
||||
elseif skip[0] == "R"
|
||||
let skip = "strpart(getline('.'),0,col('.'))!~'" . strpart(skip,2). "'"
|
||||
let skip = "strpart(getline('.'),0,col('.'))!~'" .. strpart(skip,2) .. "'"
|
||||
endif
|
||||
endif
|
||||
return skip
|
||||
|
||||
102
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim
vendored
102
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim
vendored
@@ -7,51 +7,57 @@
|
||||
" Attached is a Vim script file for turning gvim into a shell script editor.
|
||||
" It may also be used as an example how to use menus in Vim.
|
||||
"
|
||||
" Written by: Lennart Schultz <les@dmi.min.dk>
|
||||
" Maintainer: Ada (Haowen) Yu <me@yuhaowen.com>
|
||||
" Original author: Lennart Schultz <les@dmi.min.dk> (mail unreachable)
|
||||
|
||||
imenu Stmts.for for in
|
||||
do
|
||||
|
||||
doneki kk0elli
|
||||
imenu Stmts.case case in
|
||||
) ;;
|
||||
" Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise
|
||||
" <CR> would not be recognized. See ":help 'cpoptions'".
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
imenu Stmts.for for in <CR>do<CR><CR>done<esc>ki <esc>kk0elli
|
||||
imenu Stmts.case case in<CR>) ;;<CR>esac<esc>bki <esc>k0elli
|
||||
imenu Stmts.if if <CR>then<CR><CR>fi<esc>ki <esc>kk0elli
|
||||
imenu Stmts.if-else if <CR>then<CR><CR>else<CR><CR>fi<esc>ki <esc>kki <esc>kk0elli
|
||||
imenu Stmts.elif elif <CR>then<CR><CR><esc>ki <esc>kk0elli
|
||||
imenu Stmts.while while do<CR><CR>done<esc>ki <esc>kk0elli
|
||||
imenu Stmts.break break
|
||||
imenu Stmts.continue continue
|
||||
then
|
||||
imenu Stmts.function () {<CR><CR>}<esc>ki <esc>k0i
|
||||
imenu Stmts.return return
|
||||
imenu Stmts.return-true return 0
|
||||
imenu Stmts.return-false return 1
|
||||
imenu Stmts.exit exit
|
||||
imenu Stmts.shift shift
|
||||
imenu Stmts.trap trap
|
||||
|
||||
fiki kki kk0elli
|
||||
imenu Stmts.elif elif
|
||||
then
|
||||
|
||||
ki kk0elli
|
||||
imenu Stmts.while while
|
||||
do
|
||||
|
||||
doneki kk0elli
|
||||
imenu Stmts.break break
|
||||
imenu Stmts.continue continue
|
||||
imenu Stmts.function () {
|
||||
|
||||
}ki k0i
|
||||
imenu Stmts.return return
|
||||
imenu Stmts.return-true return 0
|
||||
imenu Stmts.return-false return 1
|
||||
imenu Stmts.exit exit
|
||||
imenu Stmts.shift shift
|
||||
imenu Stmts.trap trap
|
||||
imenu Test.existence [ -e ]hi
|
||||
imenu Test.existence - file [ -f ]hi
|
||||
imenu Test.existence - file (not empty) [ -s ]hi
|
||||
imenu Test.existence - directory [ -d ]hi
|
||||
imenu Test.existence - executable [ -x ]hi
|
||||
imenu Test.existence - readable [ -r ]hi
|
||||
imenu Test.existence - writable [ -w ]hi
|
||||
imenu Test.existence [ -e ]<esc>hi
|
||||
imenu Test.existence\ -\ file [ -f ]<esc>hi
|
||||
imenu Test.existence\ -\ file\ (not\ empty) [ -s ]<esc>hi
|
||||
imenu Test.existence\ -\ directory [ -d ]<esc>hi
|
||||
imenu Test.existence\ -\ executable [ -x ]<esc>hi
|
||||
imenu Test.existence\ -\ readable [ -r ]<esc>hi
|
||||
imenu Test.existence\ -\ writable [ -w ]<esc>hi
|
||||
imenu Test.String\ is\ empty [ x = "x$" ]<esc>hhi
|
||||
imenu Test.String\ is\ not\ empty [ x != "x$" ]<esc>hhi
|
||||
imenu Test.Strings\ is\ equal [ "" = "" ]<esc>hhhhhhhi
|
||||
imenu Test.Strings\ is\ not\ equal [ "" != "" ]<esc>hhhhhhhhi
|
||||
imenu Test.Values\ is\ greater\ than [ -gt ]<esc>hhhhhhi
|
||||
imenu Test.Values\ is\ greater\ equal [ -ge ]<esc>hhhhhhi
|
||||
imenu Test.Values\ is\ equal [ -eq ]<esc>hhhhhhi
|
||||
imenu Test.Values\ is\ not\ equal [ -ne ]<esc>hhhhhhi
|
||||
imenu Test.Values\ is\ less\ than [ -lt ]<esc>hhhhhhi
|
||||
imenu Test.Values\ is\ less\ equal [ -le ]<esc>hhhhhhi
|
||||
imenu ParmSub.Substitute\ word\ if\ parm\ not\ set ${:-}<esc>hhi
|
||||
imenu ParmSub.Set\ parm\ to\ word\ if\ not\ set ${:=}<esc>hhi
|
||||
imenu ParmSub.Substitute\ word\ if\ parm\ set\ else\ nothing ${:+}<esc>hhi
|
||||
imenu ParmSub.If\ parm\ not\ set\ print\ word\ and\ exit ${:?}<esc>hhi
|
||||
imenu SpShVars.Number\ of\ positional\ parameters ${#}
|
||||
imenu SpShVars.All\ positional\ parameters\ (quoted\ spaces) ${*}
|
||||
imenu SpShVars.All\ positional\ parameters\ (unquoted\ spaces) ${@}
|
||||
imenu SpShVars.Flags\ set ${-}
|
||||
imenu SpShVars.Return\ code\ of\ last\ command ${?}
|
||||
imenu SpShVars.Process\ number\ of\ this\ shell ${$}
|
||||
imenu SpShVars.Process\ number\ of\ last\ background\ command ${!}
|
||||
imenu Environ.HOME ${HOME}
|
||||
imenu Environ.PATH ${PATH}
|
||||
imenu Environ.CDPATH ${CDPATH}
|
||||
@@ -82,13 +88,17 @@ imenu Builtins.umask umask
|
||||
imenu Builtins.wait wait
|
||||
imenu Set.set set
|
||||
imenu Set.unset unset
|
||||
imenu Environ.SHELL ${SHELL}
|
||||
imenu Environ.LC_CTYPE ${LC_CTYPE}
|
||||
imenu Environ.LC_MESSAGES ${LC_MESSAGES}
|
||||
imenu Builtins.cd cd
|
||||
imenu Builtins.echo echo
|
||||
imenu Builtins.eval eval
|
||||
imenu Builtins.exec exec
|
||||
imenu Builtins.export export
|
||||
imenu Builtins.getopts getopts
|
||||
imenu Builtins.hash hash
|
||||
imenu Set.mark\ modified\ or\ modified\ variables set -a
|
||||
imenu Set.exit\ when\ command\ returns\ non-zero\ exit\ code set -e
|
||||
imenu Set.Disable\ file\ name\ generation set -f
|
||||
imenu Set.remember\ function\ commands set -h
|
||||
imenu Set.All\ keyword\ arguments\ are\ placed\ in\ the\ environment set -k
|
||||
imenu Set.Read\ commands\ but\ do\ not\ execute\ them set -n
|
||||
imenu Set.Exit\ after\ reading\ and\ executing\ one\ command set -t
|
||||
imenu Set.Treat\ unset\ variables\ as\ an\ error\ when\ substituting set -u
|
||||
imenu Set.Print\ shell\ input\ lines\ as\ they\ are\ read set -v
|
||||
imenu Set.Print\ commands\ and\ their\ arguments\ as\ they\ are\ executed set -x
|
||||
|
||||
" Restore the previous value of 'cpoptions'.
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Author: Bram Moolenaar
|
||||
" Copyright: Vim license applies, see ":help license"
|
||||
" Last Change: 2021 Dec 16
|
||||
" Last Change: 2022 Jan 17
|
||||
"
|
||||
" WORK IN PROGRESS - Only the basics work
|
||||
" Note: On MS-Windows you need a recent version of gdb. The one included with
|
||||
@@ -1252,8 +1252,18 @@ func s:HandleCursor(msg)
|
||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||
if lnum =~ '^[0-9]*$'
|
||||
call s:GotoSourcewinOrCreateIt()
|
||||
call s:GotoSourcewinOrCreateIt()
|
||||
if expand('%:p') != fnamemodify(fname, ':p')
|
||||
echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname, ':p') .. '"'
|
||||
augroup Termdebug
|
||||
" Always open a file read-only instead of showing the ATTENTION
|
||||
" prompt, since we are unlikely to want to edit the file.
|
||||
" The file may be changed but not saved, warn for that.
|
||||
au SwapExists * echohl WarningMsg
|
||||
\ | echo 'Warning: file is being edited elsewhere'
|
||||
\ | echohl None
|
||||
\ | let v:swapchoice = '0'
|
||||
augroup END
|
||||
if &modified
|
||||
" TODO: find existing window
|
||||
exe 'split ' . fnameescape(fname)
|
||||
@@ -1262,6 +1272,9 @@ func s:HandleCursor(msg)
|
||||
else
|
||||
exe 'edit ' . fnameescape(fname)
|
||||
endif
|
||||
augroup Termdebug
|
||||
au! SwapExists
|
||||
augroup END
|
||||
endif
|
||||
exe lnum
|
||||
normal! zv
|
||||
|
||||
@@ -406,6 +406,12 @@ else
|
||||
elseif s:line1 =~# '^#.*by RouterOS.*$'
|
||||
set ft=routeros
|
||||
|
||||
" Sed scripts
|
||||
" #ncomment is allowed but most likely a false positive so require a space
|
||||
" before any trailing comment text
|
||||
elseif s:line1 =~# '^#n\%($\|\s\)'
|
||||
set ft=sed
|
||||
|
||||
" CVS diff
|
||||
else
|
||||
let s:lnum = 1
|
||||
|
||||
@@ -2,31 +2,26 @@
|
||||
" This file is normally sourced from menu.vim.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Oct 28
|
||||
" Last Change: 2022 Feb 04
|
||||
|
||||
" Define the SetSyn function, used for the Syntax menu entries.
|
||||
" Set 'filetype' and also 'syntax' if it is manually selected.
|
||||
fun! SetSyn(name)
|
||||
if a:name == "fvwm1"
|
||||
let use_fvwm_1 = 1
|
||||
let use_fvwm_2 = 0
|
||||
let name = "fvwm"
|
||||
elseif a:name == "fvwm2"
|
||||
let use_fvwm_2 = 1
|
||||
let use_fvwm_1 = 0
|
||||
let name = "fvwm"
|
||||
else
|
||||
let name = a:name
|
||||
def SetSyn(name: string)
|
||||
var filetype = name
|
||||
if name == "fvwm1" || name == "fvwm2"
|
||||
g:use_fvwm_1 = name == "fvwm1"
|
||||
g:use_fvwm_2 = name == "fvwm2"
|
||||
filetype = "fvwm"
|
||||
endif
|
||||
if !exists("s:syntax_menu_synonly")
|
||||
exe "set ft=" . name
|
||||
exe "set ft=" .. filetype
|
||||
if exists("g:syntax_manual")
|
||||
exe "set syn=" . name
|
||||
exe "set syn=" .. filetype
|
||||
endif
|
||||
else
|
||||
exe "set syn=" . name
|
||||
exe "set syn=" .. filetype
|
||||
endif
|
||||
endfun
|
||||
enddef
|
||||
|
||||
" <> notation is used here, remove '<' from 'cpoptions'
|
||||
let s:cpo_save = &cpo
|
||||
@@ -404,7 +399,6 @@ an 50.90.120 &Syntax.PQ.Pam\ config :cal SetSyn("pamconf")<CR>
|
||||
an 50.90.130 &Syntax.PQ.PApp :cal SetSyn("papp")<CR>
|
||||
an 50.90.140 &Syntax.PQ.Pascal :cal SetSyn("pascal")<CR>
|
||||
an 50.90.150 &Syntax.PQ.Password\ file :cal SetSyn("passwd")<CR>
|
||||
an 50.90.490 &Syntax.PQ.Pbtxt :cal SetSyn("pbtxt")<CR>
|
||||
an 50.90.160 &Syntax.PQ.PCCTS :cal SetSyn("pccts")<CR>
|
||||
an 50.90.170 &Syntax.PQ.PDF :cal SetSyn("pdf")<CR>
|
||||
an 50.90.180 &Syntax.PQ.Perl.Perl :cal SetSyn("perl")<CR>
|
||||
@@ -457,19 +451,20 @@ an 50.100.180 &Syntax.R.RCS.RCS\ file :cal SetSyn("rcs")<CR>
|
||||
an 50.100.190 &Syntax.R.Readline\ config :cal SetSyn("readline")<CR>
|
||||
an 50.100.200 &Syntax.R.Rebol :cal SetSyn("rebol")<CR>
|
||||
an 50.100.210 &Syntax.R.ReDIF :cal SetSyn("redif")<CR>
|
||||
an 50.100.220 &Syntax.R.Relax\ NG :cal SetSyn("rng")<CR>
|
||||
an 50.100.230 &Syntax.R.Remind :cal SetSyn("remind")<CR>
|
||||
an 50.100.240 &Syntax.R.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
|
||||
an 50.100.250 &Syntax.R.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
|
||||
an 50.100.260 &Syntax.R.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
|
||||
an 50.100.270 &Syntax.R.Resolv\.conf :cal SetSyn("resolv")<CR>
|
||||
an 50.100.280 &Syntax.R.Reva\ Forth :cal SetSyn("reva")<CR>
|
||||
an 50.100.290 &Syntax.R.Rexx :cal SetSyn("rexx")<CR>
|
||||
an 50.100.300 &Syntax.R.Robots\.txt :cal SetSyn("robots")<CR>
|
||||
an 50.100.310 &Syntax.R.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
|
||||
an 50.100.320 &Syntax.R.Rpcgen :cal SetSyn("rpcgen")<CR>
|
||||
an 50.100.330 &Syntax.R.RPL/2 :cal SetSyn("rpl")<CR>
|
||||
an 50.100.340 &Syntax.R.ReStructuredText :cal SetSyn("rst")<CR>
|
||||
an 50.100.220 &Syntax.R.Rego :cal SetSyn("rego")<CR>
|
||||
an 50.100.230 &Syntax.R.Relax\ NG :cal SetSyn("rng")<CR>
|
||||
an 50.100.240 &Syntax.R.Remind :cal SetSyn("remind")<CR>
|
||||
an 50.100.250 &Syntax.R.Relax\ NG\ compact :cal SetSyn("rnc")<CR>
|
||||
an 50.100.260 &Syntax.R.Renderman.Renderman\ Shader\ Lang :cal SetSyn("sl")<CR>
|
||||
an 50.100.270 &Syntax.R.Renderman.Renderman\ Interface\ Bytestream :cal SetSyn("rib")<CR>
|
||||
an 50.100.280 &Syntax.R.Resolv\.conf :cal SetSyn("resolv")<CR>
|
||||
an 50.100.290 &Syntax.R.Reva\ Forth :cal SetSyn("reva")<CR>
|
||||
an 50.100.300 &Syntax.R.Rexx :cal SetSyn("rexx")<CR>
|
||||
an 50.100.310 &Syntax.R.Robots\.txt :cal SetSyn("robots")<CR>
|
||||
an 50.100.320 &Syntax.R.RockLinux\ package\ desc\. :cal SetSyn("desc")<CR>
|
||||
an 50.100.330 &Syntax.R.Rpcgen :cal SetSyn("rpcgen")<CR>
|
||||
an 50.100.340 &Syntax.R.RPL/2 :cal SetSyn("rpl")<CR>
|
||||
an 50.100.350 &Syntax.R.ReStructuredText :cal SetSyn("rst")<CR>
|
||||
an 50.110.100 &Syntax.M.ReStructuredText\ with\ R\ statements :cal SetSyn("rrst")<CR>
|
||||
an 50.120.100 &Syntax.R.RTF :cal SetSyn("rtf")<CR>
|
||||
an 50.120.110 &Syntax.R.Ruby :cal SetSyn("ruby")<CR>
|
||||
@@ -652,11 +647,11 @@ an 50.170.440 &Syntax.WXYZ.Zimbu :cal SetSyn("zimbu")<CR>
|
||||
an 50.195 &Syntax.-SEP1- <Nop>
|
||||
|
||||
an <silent> 50.200 &Syntax.Set\ '&syntax'\ Only :call <SID>Setsynonly()<CR>
|
||||
fun! s:Setsynonly()
|
||||
fun s:Setsynonly()
|
||||
let s:syntax_menu_synonly = 1
|
||||
endfun
|
||||
an <silent> 50.202 &Syntax.Set\ '&filetype'\ Too :call <SID>Nosynonly()<CR>
|
||||
fun! s:Nosynonly()
|
||||
fun s:Nosynonly()
|
||||
if exists("s:syntax_menu_synonly")
|
||||
unlet s:syntax_menu_synonly
|
||||
endif
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
" Vim syntax file
|
||||
" Language: BASIC
|
||||
" Language: BASIC (QuickBASIC 4.5)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Previous Maintainer: Allan Kelly <allan@fruitloaf.co.uk>
|
||||
" Contributors: Thilo Six
|
||||
" Last Change: 2015 Jan 10
|
||||
" Last Change: 2021 Aug 08
|
||||
|
||||
" First version based on Micro$soft QBASIC circa 1989, as documented in
|
||||
" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
|
||||
" This syntax file not a complete implementation yet. Send suggestions to the
|
||||
" maintainer.
|
||||
"
|
||||
" Second version attempts to match Microsoft QuickBASIC 4.5 while keeping FreeBASIC
|
||||
" (-lang qb) and QB64 (excluding extensions) in mind. -- DJK
|
||||
|
||||
" Prelude {{{1
|
||||
if exists("b:current_syntax")
|
||||
@@ -18,154 +19,357 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Keywords {{{1
|
||||
syn keyword basicStatement BEEP beep Beep BLOAD bload Bload BSAVE bsave Bsave
|
||||
syn keyword basicStatement CALL call Call ABSOLUTE absolute Absolute
|
||||
syn keyword basicStatement CHAIN chain Chain CHDIR chdir Chdir
|
||||
syn keyword basicStatement CIRCLE circle Circle CLEAR clear Clear
|
||||
syn keyword basicStatement CLOSE close Close CLS cls Cls COLOR color Color
|
||||
syn keyword basicStatement COM com Com COMMON common Common
|
||||
syn keyword basicStatement CONST const Const DATA data Data
|
||||
syn keyword basicStatement DECLARE declare Declare DEF def Def
|
||||
syn keyword basicStatement DEFDBL defdbl Defdbl DEFINT defint Defint
|
||||
syn keyword basicStatement DEFLNG deflng Deflng DEFSNG defsng Defsng
|
||||
syn keyword basicStatement DEFSTR defstr Defstr DIM dim Dim
|
||||
syn keyword basicStatement DO do Do LOOP loop Loop
|
||||
syn keyword basicStatement DRAW draw Draw END end End
|
||||
syn keyword basicStatement ENVIRON environ Environ ERASE erase Erase
|
||||
syn keyword basicStatement ERROR error Error EXIT exit Exit
|
||||
syn keyword basicStatement FIELD field Field FILES files Files
|
||||
syn keyword basicStatement FOR for For NEXT next Next
|
||||
syn keyword basicStatement FUNCTION function Function GET get Get
|
||||
syn keyword basicStatement GOSUB gosub Gosub GOTO goto Goto
|
||||
syn keyword basicStatement IF if If THEN then Then ELSE else Else
|
||||
syn keyword basicStatement INPUT input Input INPUT# input# Input#
|
||||
syn keyword basicStatement IOCTL ioctl Ioctl KEY key Key
|
||||
syn keyword basicStatement KILL kill Kill LET let Let
|
||||
syn keyword basicStatement LINE line Line LOCATE locate Locate
|
||||
syn keyword basicStatement LOCK lock Lock UNLOCK unlock Unlock
|
||||
syn keyword basicStatement LPRINT lprint Lprint USING using Using
|
||||
syn keyword basicStatement LSET lset Lset MKDIR mkdir Mkdir
|
||||
syn keyword basicStatement NAME name Name ON on On
|
||||
syn keyword basicStatement ERROR error Error OPEN open Open
|
||||
syn keyword basicStatement OPTION option Option BASE base Base
|
||||
syn keyword basicStatement OUT out Out PAINT paint Paint
|
||||
syn keyword basicStatement PALETTE palette Palette PCOPY pcopy Pcopy
|
||||
syn keyword basicStatement PEN pen Pen PLAY play Play
|
||||
syn keyword basicStatement PMAP pmap Pmap POKE poke Poke
|
||||
syn keyword basicStatement PRESET preset Preset PRINT print Print
|
||||
syn keyword basicStatement PRINT# print# Print# USING using Using
|
||||
syn keyword basicStatement PSET pset Pset PUT put Put
|
||||
syn keyword basicStatement RANDOMIZE randomize Randomize READ read Read
|
||||
syn keyword basicStatement REDIM redim Redim RESET reset Reset
|
||||
syn keyword basicStatement RESTORE restore Restore RESUME resume Resume
|
||||
syn keyword basicStatement RETURN return Return RMDIR rmdir Rmdir
|
||||
syn keyword basicStatement RSET rset Rset RUN run Run
|
||||
syn keyword basicStatement SEEK seek Seek SELECT select Select
|
||||
syn keyword basicStatement CASE case Case SHARED shared Shared
|
||||
syn keyword basicStatement SHELL shell Shell SLEEP sleep Sleep
|
||||
syn keyword basicStatement SOUND sound Sound STATIC static Static
|
||||
syn keyword basicStatement STOP stop Stop STRIG strig Strig
|
||||
syn keyword basicStatement SUB sub Sub SWAP swap Swap
|
||||
syn keyword basicStatement SYSTEM system System TIMER timer Timer
|
||||
syn keyword basicStatement TROFF troff Troff TRON tron Tron
|
||||
syn keyword basicStatement TYPE type Type UNLOCK unlock Unlock
|
||||
syn keyword basicStatement VIEW view View WAIT wait Wait
|
||||
syn keyword basicStatement WHILE while While WEND wend Wend
|
||||
syn keyword basicStatement WIDTH width Width WINDOW window Window
|
||||
syn keyword basicStatement WRITE write Write DATE$ date$ Date$
|
||||
syn keyword basicStatement MID$ mid$ Mid$ TIME$ time$ Time$
|
||||
syn iskeyword @,48-57,.,!,#,%,&,$
|
||||
syn case ignore
|
||||
|
||||
syn keyword basicFunction ABS abs Abs ASC asc Asc
|
||||
syn keyword basicFunction ATN atn Atn CDBL cdbl Cdbl
|
||||
syn keyword basicFunction CINT cint Cint CLNG clng Clng
|
||||
syn keyword basicFunction COS cos Cos CSNG csng Csng
|
||||
syn keyword basicFunction CSRLIN csrlin Csrlin CVD cvd Cvd
|
||||
syn keyword basicFunction CVDMBF cvdmbf Cvdmbf CVI cvi Cvi
|
||||
syn keyword basicFunction CVL cvl Cvl CVS cvs Cvs
|
||||
syn keyword basicFunction CVSMBF cvsmbf Cvsmbf EOF eof Eof
|
||||
syn keyword basicFunction ERDEV erdev Erdev ERL erl Erl
|
||||
syn keyword basicFunction ERR err Err EXP exp Exp
|
||||
syn keyword basicFunction FILEATTR fileattr Fileattr FIX fix Fix
|
||||
syn keyword basicFunction FRE fre Fre FREEFILE freefile Freefile
|
||||
syn keyword basicFunction INP inp Inp INSTR instr Instr
|
||||
syn keyword basicFunction INT int Int LBOUND lbound Lbound
|
||||
syn keyword basicFunction LEN len Len LOC loc Loc
|
||||
syn keyword basicFunction LOF lof Lof LOG log Log
|
||||
syn keyword basicFunction LPOS lpos Lpos PEEK peek Peek
|
||||
syn keyword basicFunction PEN pen Pen POINT point Point
|
||||
syn keyword basicFunction POS pos Pos RND rnd Rnd
|
||||
syn keyword basicFunction SADD sadd Sadd SCREEN screen Screen
|
||||
syn keyword basicFunction SEEK seek Seek SETMEM setmem Setmem
|
||||
syn keyword basicFunction SGN sgn Sgn SIN sin Sin
|
||||
syn keyword basicFunction SPC spc Spc SQR sqr Sqr
|
||||
syn keyword basicFunction STICK stick Stick STRIG strig Strig
|
||||
syn keyword basicFunction TAB tab Tab TAN tan Tan
|
||||
syn keyword basicFunction UBOUND ubound Ubound VAL val Val
|
||||
syn keyword basicFunction VALPTR valptr Valptr VALSEG valseg Valseg
|
||||
syn keyword basicFunction VARPTR varptr Varptr VARSEG varseg Varseg
|
||||
syn keyword basicFunction CHR$ Chr$ chr$ COMMAND$ command$ Command$
|
||||
syn keyword basicFunction DATE$ date$ Date$ ENVIRON$ environ$ Environ$
|
||||
syn keyword basicFunction ERDEV$ erdev$ Erdev$ HEX$ hex$ Hex$
|
||||
syn keyword basicFunction INKEY$ inkey$ Inkey$ INPUT$ input$ Input$
|
||||
syn keyword basicFunction IOCTL$ ioctl$ Ioctl$ LCASES$ lcases$ Lcases$
|
||||
syn keyword basicFunction LAFT$ laft$ Laft$ LTRIM$ ltrim$ Ltrim$
|
||||
syn keyword basicFunction MID$ mid$ Mid$ MKDMBF$ mkdmbf$ Mkdmbf$
|
||||
syn keyword basicFunction MKD$ mkd$ Mkd$ MKI$ mki$ Mki$
|
||||
syn keyword basicFunction MKL$ mkl$ Mkl$ MKSMBF$ mksmbf$ Mksmbf$
|
||||
syn keyword basicFunction MKS$ mks$ Mks$ OCT$ oct$ Oct$
|
||||
syn keyword basicFunction RIGHT$ right$ Right$ RTRIM$ rtrim$ Rtrim$
|
||||
syn keyword basicFunction SPACE$ space$ Space$ STR$ str$ Str$
|
||||
syn keyword basicFunction STRING$ string$ String$ TIME$ time$ Time$
|
||||
syn keyword basicFunction UCASE$ ucase$ Ucase$ VARPTR$ varptr$ Varptr$
|
||||
" Whitespace Errors {{{1
|
||||
if exists("basic_space_errors")
|
||||
if !exists("basic_no_trail_space_error")
|
||||
syn match basicSpaceError display excludenl "\s\+$"
|
||||
endif
|
||||
if !exists("basic_no_tab_space_error")
|
||||
syn match basicSpaceError display " \+\t"me=e-1
|
||||
endif
|
||||
endif
|
||||
|
||||
" Comment Errors {{{1
|
||||
if !exists("basic_no_comment_errors")
|
||||
syn match basicCommentError "\<REM\>.*"
|
||||
endif
|
||||
|
||||
" Not Top Cluster {{{1
|
||||
syn cluster basicNotTop contains=@basicLineIdentifier,basicDataString,basicDataSeparator,basicTodo
|
||||
|
||||
" Statements {{{1
|
||||
|
||||
syn cluster basicStatements contains=basicStatement,basicDataStatement,basicMetaRemStatement,basicPutStatement,basicRemStatement
|
||||
|
||||
let s:statements =<< trim EOL " {{{2
|
||||
beep
|
||||
bload
|
||||
bsave
|
||||
call
|
||||
calls
|
||||
case
|
||||
chain
|
||||
chdir
|
||||
circle
|
||||
clear
|
||||
close
|
||||
cls
|
||||
color
|
||||
com
|
||||
common
|
||||
const
|
||||
declare
|
||||
def
|
||||
def\s\+seg
|
||||
defdbl
|
||||
defint
|
||||
deflng
|
||||
defsng
|
||||
defstr
|
||||
dim
|
||||
do
|
||||
draw
|
||||
elseif
|
||||
end
|
||||
end\s\+\%(def\|function\|if\|select\|sub\|type\)
|
||||
environ
|
||||
erase
|
||||
error
|
||||
exit\s\+\%(def\|do\|for\|function\|sub\)
|
||||
field
|
||||
files
|
||||
for
|
||||
function
|
||||
get
|
||||
gosub
|
||||
goto
|
||||
if
|
||||
input
|
||||
ioctl
|
||||
key
|
||||
kill
|
||||
let
|
||||
line
|
||||
line\s\+input
|
||||
locate
|
||||
lock
|
||||
loop
|
||||
lprint
|
||||
lset
|
||||
mkdir
|
||||
name
|
||||
next
|
||||
on
|
||||
on\s\+error
|
||||
on\s\+uevent
|
||||
open
|
||||
open\s\+com
|
||||
option
|
||||
out
|
||||
paint
|
||||
palette
|
||||
palette\s\+using
|
||||
pcopy
|
||||
pen
|
||||
pmap
|
||||
poke
|
||||
preset
|
||||
print
|
||||
pset
|
||||
randomize
|
||||
read
|
||||
redim
|
||||
reset
|
||||
restore
|
||||
resume
|
||||
return
|
||||
rmdir
|
||||
rset
|
||||
run
|
||||
select\s\+case
|
||||
shared
|
||||
shell
|
||||
sleep
|
||||
sound
|
||||
static
|
||||
stop
|
||||
strig
|
||||
sub
|
||||
swap
|
||||
system
|
||||
troff
|
||||
tron
|
||||
type
|
||||
uevent
|
||||
unlock
|
||||
using
|
||||
view
|
||||
view\s\+print
|
||||
wait
|
||||
wend
|
||||
while
|
||||
width
|
||||
window
|
||||
write
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for s in s:statements
|
||||
exe 'syn match basicStatement "\<' .. s .. '\>" contained'
|
||||
endfor
|
||||
|
||||
syn match basicStatement "\<\%(then\|else\)\>" nextgroup=@basicStatements skipwhite
|
||||
|
||||
" DATA Statement
|
||||
syn match basicDataSeparator "," contained
|
||||
syn region basicDataStatement matchgroup=basicStatement start="\<data\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicDataSeparator,basicDataString,basicNumber,basicFloat,basicString
|
||||
|
||||
if !exists("basic_no_data_fold")
|
||||
syn region basicMultilineData start="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@=" end="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@!" contains=basicDataStatement transparent fold keepend
|
||||
endif
|
||||
|
||||
" PUT File I/O and Graphics statements - needs special handling for graphics
|
||||
" action verbs
|
||||
syn match basicPutAction "\<\%(pset\|preset\|and\|or\|xor\)\>" contained
|
||||
syn region basicPutStatement matchgroup=basicStatement start="\<put\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicKeyword,basicPutAction,basicFilenumber
|
||||
|
||||
" Keywords {{{1
|
||||
let s:keywords =<< trim EOL " {{{2
|
||||
absolute
|
||||
access
|
||||
alias
|
||||
append
|
||||
as
|
||||
base
|
||||
binary
|
||||
byval
|
||||
cdecl
|
||||
com
|
||||
def
|
||||
do
|
||||
for
|
||||
function
|
||||
gosub
|
||||
goto
|
||||
input
|
||||
int86old
|
||||
int86xold
|
||||
interrupt
|
||||
interruptx
|
||||
is
|
||||
key
|
||||
len
|
||||
list
|
||||
local
|
||||
lock
|
||||
lprint
|
||||
next
|
||||
off
|
||||
on
|
||||
output
|
||||
pen
|
||||
play
|
||||
random
|
||||
read
|
||||
resume
|
||||
screen
|
||||
seg
|
||||
shared
|
||||
signal
|
||||
static
|
||||
step
|
||||
stop
|
||||
strig
|
||||
sub
|
||||
timer
|
||||
to
|
||||
until
|
||||
using
|
||||
while
|
||||
write
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for k in s:keywords
|
||||
exe 'syn match basicKeyword "\<' .. k .. '\>"'
|
||||
endfor
|
||||
|
||||
" Functions {{{1
|
||||
syn keyword basicFunction abs asc atn cdbl chr$ cint clng command$ cos csng
|
||||
syn keyword basicFunction csrlin cvd cvdmbf cvi cvl cvs cvsmbf environ$ eof
|
||||
syn keyword basicFunction erdev erdev$ erl err exp fileattr fix fre freefile
|
||||
syn keyword basicFunction hex$ inkey$ inp input$ instr int ioctl$ left$ lbound
|
||||
syn keyword basicFunction lcase$ len loc lof log lpos ltrim$ mkd$ mkdmbf$ mki$
|
||||
syn keyword basicFunction mkl$ mks$ mksmbf$ oct$ peek pen point pos right$ rnd
|
||||
syn keyword basicFunction rtrim$ sadd setmem sgn sin space$ spc sqr stick str$
|
||||
syn keyword basicFunction strig string$ tab tan ubound ucase$ val valptr
|
||||
syn keyword basicFunction valseg varptr varptr$ varseg
|
||||
|
||||
" Functions and statements (same name) {{{1
|
||||
syn match basicStatement "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" contained
|
||||
syn match basicFunction "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>"
|
||||
|
||||
" Types {{{1
|
||||
syn keyword basicType integer long single double string any
|
||||
|
||||
" Strings {{{1
|
||||
|
||||
" Unquoted DATA strings - anything except [:,] and leading or trailing whitespace
|
||||
" Needs lower priority than numbers
|
||||
syn match basicDataString "[^[:space:],:]\+\%(\s\+[^[:space:],:]\+\)*" contained
|
||||
|
||||
syn region basicString start=+"+ end=+"+ oneline
|
||||
|
||||
" Booleans {{{1
|
||||
if exists("basic_booleans")
|
||||
syn keyword basicBoolean true false
|
||||
endif
|
||||
|
||||
" Numbers {{{1
|
||||
" Integer number, or floating point number without a dot.
|
||||
syn match basicNumber "\<\d\+\>"
|
||||
" Floating point number, with dot
|
||||
syn match basicNumber "\<\d\+\.\d*\>"
|
||||
" Floating point number, starting with a dot
|
||||
syn match basicNumber "\.\d\+\>"
|
||||
|
||||
" String and Character constants {{{1
|
||||
syn match basicSpecial "\\\d\d\d\|\\." contained
|
||||
syn region basicString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=basicSpecial
|
||||
" Integers
|
||||
syn match basicNumber "-\=&o\=\o\+[%&]\=\>"
|
||||
syn match basicNumber "-\=&h\x\+[%&]\=\>"
|
||||
syn match basicNumber "-\=\<\d\+[%&]\=\>"
|
||||
|
||||
" Line numbers {{{1
|
||||
syn region basicLineNumber start="^\d" end="\s"
|
||||
" Floats
|
||||
syn match basicFloat "-\=\<\d\+\.\=\d*\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
|
||||
syn match basicFloat "-\=\<\.\d\+\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
|
||||
|
||||
" Data-type suffixes {{{1
|
||||
syn match basicTypeSpecifier "[a-zA-Z0-9][$%&!#]"ms=s+1
|
||||
" Used with OPEN statement
|
||||
syn match basicFilenumber "#\d\+"
|
||||
" Statement anchors {{{1
|
||||
syn match basicLineStart "^" nextgroup=@basicStatements,@basicLineIdentifier skipwhite
|
||||
syn match basicStatementSeparator ":" nextgroup=@basicStatements skipwhite
|
||||
|
||||
" Mathematical operators {{{1
|
||||
" syn match basicMathsOperator "[<>+\*^/\\=-]"
|
||||
syn match basicMathsOperator "-\|=\|[:<>+\*^/\\]\|AND\|OR"
|
||||
" Line numbers and labels {{{1
|
||||
|
||||
" QuickBASIC limits these to 65,529 and 40 chars respectively
|
||||
syn match basicLineNumber "\d\+" nextgroup=@basicStatements skipwhite contained
|
||||
syn match basicLineLabel "\a[[:alnum:]]*\ze\s*:" nextgroup=@basicStatements skipwhite contained
|
||||
|
||||
syn cluster basicLineIdentifier contains=basicLineNumber,basicLineLabel
|
||||
|
||||
" Line Continuation {{{1
|
||||
syn match basicLineContinuation "\s*\zs_\ze\s*$"
|
||||
|
||||
" Type suffixes {{{1
|
||||
if exists("basic_type_suffixes")
|
||||
syn match basicTypeSuffix "\a[[:alnum:].]*\zs[$%&!#]"
|
||||
endif
|
||||
|
||||
" File numbers {{{1
|
||||
syn match basicFilenumber "#\d\+"
|
||||
syn match basicFilenumber "#\a[[:alnum:].]*[%&!#]\="
|
||||
|
||||
" Operators {{{1
|
||||
if exists("basic_operators")
|
||||
syn match basicArithmeticOperator "[-+*/\\^]"
|
||||
syn match basicRelationalOperator "<>\|<=\|>=\|[><=]"
|
||||
endif
|
||||
syn match basicLogicalOperator "\<\%(not\|and\|or\|xor\|eqv\|imp\)\>"
|
||||
syn match basicArithmeticOperator "\<mod\>"
|
||||
|
||||
" Metacommands {{{1
|
||||
" Note: No trailing word boundaries. Text may be freely mixed however there
|
||||
" must be only leading whitespace prior to the first metacommand
|
||||
syn match basicMetacommand "$INCLUDE\s*:\s*'[^']\+'" contained containedin=@basicMetaComments
|
||||
syn match basicMetacommand "$\%(DYNAMIC\|STATIC\)" contained containedin=@basicMetaComments
|
||||
|
||||
" Comments {{{1
|
||||
syn keyword basicTodo TODO FIXME XXX NOTE contained
|
||||
syn region basicComment start="^\s*\zsREM\>" start="\%(:\s*\)\@<=REM\>" end="$" contains=basicTodo
|
||||
syn region basicComment start="'" end="$" contains=basicTodo
|
||||
syn keyword basicTodo TODO FIXME XXX NOTE contained
|
||||
|
||||
syn region basicRemStatement matchgroup=basicStatement start="REM\>" end="$" contains=basicTodo,@Spell contained
|
||||
syn region basicComment start="'" end="$" contains=basicTodo,@Spell
|
||||
|
||||
if !exists("basic_no_comment_fold")
|
||||
syn region basicMultilineComment start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=@basicComments transparent fold keepend
|
||||
endif
|
||||
|
||||
" Metacommands
|
||||
syn region basicMetaRemStatement matchgroup=basicStatement start="REM\>\s*\$\@=" end="$" contains=basicTodo contained
|
||||
syn region basicMetaComment start="'\s*\$\@=" end="$" contains=basicTodo
|
||||
|
||||
syn cluster basicMetaComments contains=basicMetaComment,basicMetaRemStatement
|
||||
syn cluster basicComments contains=basicComment,basicMetaComment
|
||||
|
||||
"syn sync ccomment basicComment
|
||||
|
||||
" Default Highlighting {{{1
|
||||
hi def link basicLabel Label
|
||||
hi def link basicConditional Conditional
|
||||
hi def link basicRepeat Repeat
|
||||
hi def link basicLineNumber Comment
|
||||
hi def link basicNumber Number
|
||||
hi def link basicError Error
|
||||
hi def link basicStatement Statement
|
||||
hi def link basicString String
|
||||
hi def link basicComment Comment
|
||||
hi def link basicSpecial Special
|
||||
hi def link basicTodo Todo
|
||||
hi def link basicFunction Identifier
|
||||
hi def link basicTypeSpecifier Type
|
||||
hi def link basicFilenumber basicTypeSpecifier
|
||||
"hi basicMathsOperator term=bold cterm=bold gui=bold
|
||||
hi def link basicArithmeticOperator basicOperator
|
||||
hi def link basicBoolean Boolean
|
||||
hi def link basicComment Comment
|
||||
hi def link basicCommentError Error
|
||||
hi def link basicDataString basicString
|
||||
hi def link basicFilenumber basicTypeSuffix " TODO: better group
|
||||
hi def link basicFloat Float
|
||||
hi def link basicFunction Identifier
|
||||
hi def link basicKeyword Keyword
|
||||
hi def link basicLineIdentifier LineNr
|
||||
hi def link basicLineContinuation Special
|
||||
hi def link basicLineLabel basicLineIdentifier
|
||||
hi def link basicLineNumber basicLineIdentifier
|
||||
hi def link basicLogicalOperator basicOperator
|
||||
hi def link basicMetacommand SpecialComment
|
||||
hi def link basicMetaComment Comment
|
||||
hi def link basicMetaRemStatement Comment
|
||||
hi def link basicNumber Number
|
||||
hi def link basicOperator Operator
|
||||
hi def link basicPutAction Keyword
|
||||
hi def link basicRelationalOperator basicOperator
|
||||
hi def link basicRemStatement Comment
|
||||
hi def link basicSpaceError Error
|
||||
hi def link basicStatementSeparator Special
|
||||
hi def link basicStatement Statement
|
||||
hi def link basicString String
|
||||
hi def link basicTodo Todo
|
||||
hi def link basicType Type
|
||||
hi def link basicTypeSuffix Special
|
||||
if exists("basic_legacy_syntax_groups")
|
||||
hi def link basicTypeSpecifier Type
|
||||
hi def link basicTypeSuffix basicTypeSpecifier
|
||||
endif
|
||||
|
||||
" Postscript {{{1
|
||||
let b:current_syntax = "basic"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
|
||||
" Maintainer: Quentin Hibon (github user hiqua)
|
||||
" Version: 0.4
|
||||
" Last Change: 2022 Jan 04
|
||||
" Last Change: 2022 Jan 15
|
||||
|
||||
" References:
|
||||
" http://i3wm.org/docs/userguide.html#configuring
|
||||
@@ -175,7 +175,7 @@ syn keyword i3ConfigDrawingMarksKeyword show_marks contained
|
||||
syn match i3ConfigDrawingMarks /^\s*show_marks\s\+\(yes\|no\)\s\?$/ contains=i3ConfigFocusWrappingType,i3ConfigDrawingMarksKeyword
|
||||
|
||||
" Group mode/bar
|
||||
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
|
||||
syn keyword i3ConfigBlockKeyword mode bar colors i3bar_command status_command position exec mode hidden_state modifier id position output background statusline tray_output tray_padding separator separator_symbol workspace_min_width workspace_buttons strip_workspace_numbers binding_mode_indicator focused_workspace active_workspace inactive_workspace urgent_workspace binding_mode contained
|
||||
syn region i3ConfigBlock start=+.*s\?{$+ end=+^}$+ contains=i3ConfigBlockKeyword,i3ConfigString,i3ConfigBind,i3ConfigComment,i3ConfigFont,i3ConfigFocusWrappingType,i3ConfigColor,i3ConfigVariable transparent keepend extend
|
||||
|
||||
" Line continuation
|
||||
|
||||
409
runtime/syntax/qb64.vim
Normal file
409
runtime/syntax/qb64.vim
Normal file
@@ -0,0 +1,409 @@
|
||||
" Vim syntax file
|
||||
" Language: QB64
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2022 Jan 21
|
||||
|
||||
" Prelude {{{1
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" syn iskeyword set after sourcing of basic.vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
let s:prefix = search('\c^\s*$NOPREFIX\>', 'n') ? '_\=' : '_'
|
||||
|
||||
" Statements {{{1
|
||||
|
||||
let s:statements =<< trim EOL " {{{2
|
||||
acceptfiledrop
|
||||
allowfullscreen
|
||||
assert
|
||||
console
|
||||
consolecursor
|
||||
consolefont
|
||||
consoletitle
|
||||
continue
|
||||
copypalette
|
||||
define
|
||||
delay
|
||||
depthbuffer
|
||||
displayorder
|
||||
dontblend
|
||||
echo
|
||||
exit\s\+\%(select\|case\)
|
||||
finishdrop
|
||||
freefont
|
||||
freeimage
|
||||
icon
|
||||
keyclear
|
||||
limit
|
||||
maptriangle
|
||||
memcopy
|
||||
memfill
|
||||
memfree
|
||||
memput
|
||||
mousehide
|
||||
mousemove
|
||||
mouseshow
|
||||
printimage
|
||||
printstring
|
||||
putimage
|
||||
screenclick
|
||||
screenhide
|
||||
screenmove
|
||||
screenprint
|
||||
screenshow
|
||||
setalpha
|
||||
sndbal
|
||||
sndclose
|
||||
sndlimit
|
||||
sndloop
|
||||
sndpause
|
||||
sndplay
|
||||
sndplaycopy
|
||||
sndplayfile
|
||||
sndraw
|
||||
sndrawdone
|
||||
sndsetpos
|
||||
sndstop
|
||||
sndvol
|
||||
title
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for s in s:statements
|
||||
exe 'syn match qb64Statement "\<' .. s:prefix .. s .. '\>" contained contains=qb64Underscore'
|
||||
endfor
|
||||
|
||||
" Functions {{{1
|
||||
|
||||
let s:functions =<< trim EOL " {{{2
|
||||
acos
|
||||
acosh
|
||||
alpha
|
||||
alpha32
|
||||
arccot
|
||||
arccsc
|
||||
arcsec
|
||||
asin
|
||||
asinh
|
||||
atan2
|
||||
atanh
|
||||
axis
|
||||
backgroundcolor
|
||||
blue
|
||||
blue32
|
||||
button
|
||||
buttonchange
|
||||
ceil
|
||||
cinp
|
||||
commandcount
|
||||
connected
|
||||
connectionaddress
|
||||
connectionaddress$
|
||||
consoleinput
|
||||
copyimage
|
||||
cot
|
||||
coth
|
||||
cosh
|
||||
csc
|
||||
csch
|
||||
cv
|
||||
cwd$
|
||||
d2g
|
||||
d2r
|
||||
defaultcolor
|
||||
deflate$
|
||||
desktopheight
|
||||
desktopwidth
|
||||
device$
|
||||
deviceinput
|
||||
devices
|
||||
dir$
|
||||
direxists
|
||||
droppedfile
|
||||
droppedfile$
|
||||
errorline
|
||||
errormessage$
|
||||
exit
|
||||
fileexists
|
||||
fontheight
|
||||
fontwidth
|
||||
freetimer
|
||||
g2d
|
||||
g2r
|
||||
green
|
||||
green32
|
||||
height
|
||||
hypot
|
||||
inclerrorfile$
|
||||
inclerrorline
|
||||
inflate$
|
||||
instrrev
|
||||
keyhit
|
||||
keydown
|
||||
lastaxis
|
||||
lastbutton
|
||||
lastwheel
|
||||
loadfont
|
||||
loadimage
|
||||
mem
|
||||
memelement
|
||||
memexists
|
||||
memimage
|
||||
memnew
|
||||
memsound
|
||||
mk$
|
||||
mousebutton
|
||||
mouseinput
|
||||
mousemovementx
|
||||
mousemovementy
|
||||
mousepipeopen
|
||||
mousewheel
|
||||
mousex
|
||||
mousey
|
||||
newimage
|
||||
offset
|
||||
openclient
|
||||
os$
|
||||
pi
|
||||
pixelsize
|
||||
printwidth
|
||||
r2d
|
||||
r2g
|
||||
red
|
||||
red32
|
||||
readbit
|
||||
resetbit
|
||||
resizeheight
|
||||
resizewidth
|
||||
rgb
|
||||
rgb32
|
||||
rgba
|
||||
rgba32
|
||||
round
|
||||
sec
|
||||
sech
|
||||
screenexists
|
||||
screenimage
|
||||
screenx
|
||||
screeny
|
||||
setbit
|
||||
shellhide
|
||||
shl
|
||||
shr
|
||||
sinh
|
||||
sndcopy
|
||||
sndgetpos
|
||||
sndlen
|
||||
sndopen
|
||||
sndopenraw
|
||||
sndpaused
|
||||
sndplaying
|
||||
sndrate
|
||||
sndrawlen
|
||||
startdir$
|
||||
strcmp
|
||||
stricmp
|
||||
tanh
|
||||
title$
|
||||
togglebit
|
||||
totaldroppedfiles
|
||||
trim$
|
||||
wheel
|
||||
width
|
||||
windowhandle
|
||||
windowhasfocus
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for f in s:functions
|
||||
exe 'syn match qb64Function "\<' .. s:prefix .. f .. '\>" contains=qb64Underscore'
|
||||
endfor
|
||||
|
||||
" Functions and statements (same name) {{{1
|
||||
|
||||
let s:common =<< trim EOL " {{{2
|
||||
autodisplay
|
||||
blend
|
||||
blink
|
||||
capslock
|
||||
clearcolor
|
||||
clipboard$
|
||||
clipboardimage
|
||||
controlchr
|
||||
dest
|
||||
display
|
||||
font
|
||||
fullscreen
|
||||
mapunicode
|
||||
memget
|
||||
numlock
|
||||
palettecolor
|
||||
printmode
|
||||
resize
|
||||
screenicon
|
||||
scrolllock
|
||||
source
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for c in s:common
|
||||
exe 'syn match qb64Statement "\<' .. s:prefix .. c .. '\>" contains=qb64Underscore contained'
|
||||
exe 'syn match qb64Function "\<' .. s:prefix .. c .. '\>" contains=qb64Underscore'
|
||||
endfor
|
||||
|
||||
" Keywords {{{1
|
||||
|
||||
" Non-prefixed keywords {{{2
|
||||
" TIMER FREE
|
||||
" _DEPTH_BUFFER LOCK
|
||||
syn keyword qb64Keyword free lock
|
||||
|
||||
let s:keywords =<< trim EOL " {{{2
|
||||
all
|
||||
anticlockwise
|
||||
behind
|
||||
clear
|
||||
clip
|
||||
console
|
||||
dontwait
|
||||
explicit
|
||||
explicitarray
|
||||
fillbackground
|
||||
hardware
|
||||
hardware1
|
||||
hide
|
||||
keepbackground
|
||||
middle
|
||||
none
|
||||
off
|
||||
only
|
||||
onlybackground
|
||||
ontop
|
||||
openconnection
|
||||
openhost
|
||||
preserve
|
||||
seamless
|
||||
smooth
|
||||
smoothshrunk
|
||||
smoothstretched
|
||||
software
|
||||
squarepixels
|
||||
stretch
|
||||
toggle
|
||||
EOL
|
||||
" }}}
|
||||
|
||||
for k in s:keywords
|
||||
exe 'syn match qb64Keyword "\<' .. s:prefix .. k .. '\>" contains=qb64Underscore'
|
||||
endfor
|
||||
|
||||
syn match qb64Underscore "\<_" contained conceal transparent
|
||||
|
||||
" Source QuickBASIC syntax {{{1
|
||||
runtime! syntax/basic.vim
|
||||
|
||||
" add after the BASIC syntax file is sourced so cluster already exists
|
||||
syn cluster basicStatements add=qb64Statement,qb64Metacommand,qb64IfMetacommand
|
||||
syn cluster basicLineIdentifier add=qb64LineLabel
|
||||
syn cluster qb64NotTop contains=@basicNotTop,qb64Metavariable
|
||||
|
||||
syn iskeyword @,48-57,.,_,!,#,$,%,&,`
|
||||
|
||||
" Unsupported QuickBASIC features {{{1
|
||||
" TODO: add linux only missing features
|
||||
syn keyword qb64Unsupported alias any byval calls cdecl erdev erdev$ fileattr
|
||||
syn keyword qb64Unsupported fre ioctl ioctl$ pen play setmem signal uevent
|
||||
syn keyword qb64Unsupported tron troff
|
||||
syn match qb64Unsupported "\<declare\%(\s\+\%(sub\|function\)\>\)\@="
|
||||
syn match qb64Unsupported "\<\%(date\|time\)$\ze\s*=" " statements only
|
||||
syn match qb64Unsupported "\<def\zs\s\+FN"
|
||||
syn match qb64Unsupported "\<\%(exit\|end\)\s\+def\>"
|
||||
syn match qb64Unsupported "\<width\s\+lprint\>"
|
||||
|
||||
" Types {{{1
|
||||
syn keyword qb64Type _BIT _BYTE _FLOAT _INTEGER64 _MEM _OFFSET _UNSIGNED
|
||||
|
||||
" Type suffixes {{{1
|
||||
if exists("basic_type_suffixes")
|
||||
" TODO: handle leading word boundary and __+ prefix
|
||||
syn match qb64TypeSuffix "\%(\a[[:alnum:]._]*\)\@<=\~\=`\%(\d\+\)\="
|
||||
syn match qb64TypeSuffix "\%(\a[[:alnum:]._]*\)\@<=\~\=\%(%\|%%\|&\|&&\|%&\)"
|
||||
syn match qb64TypeSuffix "\%(\a[[:alnum:]._]*\)\@<=\%(!\|##\|#\)"
|
||||
syn match qb64TypeSuffix "\%(\a[[:alnum:]._]*\)\@<=$\%(\d\+\)\="
|
||||
endif
|
||||
|
||||
" Numbers {{{1
|
||||
|
||||
" Integers
|
||||
syn match qb64Number "-\=&b[01]\+&\>\="
|
||||
|
||||
syn match qb64Number "-\=\<[01]\~\=`\>"
|
||||
syn match qb64Number "-\=\<\d\+`\d\+\>"
|
||||
|
||||
syn match qb64Number "-\=\<\d\+\%(%%\|&&\|%&\)\>"
|
||||
syn match qb64Number "\<\d\+\~\%(%%\|&&\|%&\)\>"
|
||||
|
||||
syn match qb64Number "-\=\<&b[01]\+\%(%%\|&&\|%&\)\>"
|
||||
syn match qb64Number "\<&b[01]\+\~\%(%%\|&&\|%&\)\>"
|
||||
|
||||
syn match qb64Number "-\=\<&o\=\o\+\%(%%\|&&\|%&\)\>"
|
||||
syn match qb64Number "\<&o\=\o\+\~\%(%%\|&&\|%&\)\>"
|
||||
|
||||
syn match qb64Number "-\=\<&h\x\+\%(%%\|&&\|%&\)\>"
|
||||
syn match qb64Number "\<&h\x\+\~\%(%%\|&&\|%&\)\>"
|
||||
|
||||
" Floats
|
||||
syn match qb64Float "-\=\<\d\+\.\=\d*##\>"
|
||||
syn match qb64Float "-\=\<\.\d\+##\>"
|
||||
|
||||
" Line numbers and labels {{{1
|
||||
syn match qb64LineLabel "\%(_\{2,}\)\=\a[[:alnum:]._]*[[:alnum:]]\ze\s*:" nextgroup=@basicStatements skipwhite contained
|
||||
|
||||
" Metacommands {{{1
|
||||
syn match qb64Metacommand contained "$NOPREFIX\>"
|
||||
syn match qb64Metacommand contained "$ASSERTS\%(:CONSOLE\)\=\>"
|
||||
syn match qb64Metacommand contained "$CHECKING:\%(ON\|OFF\)\>"
|
||||
syn match qb64Metacommand contained "$COLOR:\%(0\|32\)\>"
|
||||
syn match qb64Metacommand contained "$CONSOLE\%(:ONLY\)\=\>"
|
||||
syn match qb64Metacommand contained "$EXEICON\s*:\s*'[^']\+'"
|
||||
syn match qb64Metacommand contained "$ERROR\>"
|
||||
syn match qb64Metacommand contained "$LET\>"
|
||||
syn match qb64Metacommand contained "$RESIZE:\%(ON\|OFF\|STRETCH\|SMOOTH\)\>"
|
||||
syn match qb64Metacommand contained "$SCREEN\%(HIDE\|SHOW\)\>"
|
||||
syn match qb64Metacommand contained "$VERSIONINFO\s*:.*"
|
||||
syn match qb64Metacommand contained "$VIRTUALKEYBOARD:\%(ON\|OFF\)\>"
|
||||
|
||||
syn region qb64IfMetacommand contained matchgroup=qb64Metacommand start="$\%(IF\|ELSEIF\)\>" end="\<THEN\>" oneline transparent contains=qb64Metavariable
|
||||
syn match qb64Metacommand contained "$\%(ELSE\|END\s*IF\)\>"
|
||||
|
||||
syn keyword qb64Metavariable contained defined undefined
|
||||
syn keyword qb64Metavariable contained windows win linux mac maxosx
|
||||
syn keyword qb64Metavariable contained 32bit 64bit version
|
||||
|
||||
" Default Highlighting {{{1
|
||||
hi def link qb64Float basicFloat
|
||||
hi def link qb64Function Function
|
||||
hi def link qb64Keyword Keyword
|
||||
hi def link qb64LineLabel basicLineLabel
|
||||
hi def link qb64Metacommand PreProc
|
||||
hi def link qb64Metavariable Identifier
|
||||
hi def link qb64Number basicNumber
|
||||
hi def link qb64Statement Statement
|
||||
hi def link qb64TypeSuffix basicTypeSuffix
|
||||
hi def link qb64Type Type
|
||||
hi def link qb64Unsupported Error
|
||||
|
||||
" Postscript {{{1
|
||||
let b:current_syntax = "qb64"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: M$ Resource files (*.rc)
|
||||
" Maintainer: Christian Brabandt
|
||||
" Last Change: 2015-05-29
|
||||
" Last Change: 20220116
|
||||
" Repository: https://github.com/chrisbra/vim-rc-syntax
|
||||
" License: Vim (see :h license)
|
||||
" Previous Maintainer: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
|
||||
@@ -173,16 +173,17 @@ hi def link rcAttribute rcCommonAttribute
|
||||
hi def link rcStdId rcStatement
|
||||
hi def link rcStatement Statement
|
||||
|
||||
" Default color overrides
|
||||
hi def rcLanguage term=reverse ctermbg=Red ctermfg=Yellow guibg=Red guifg=Yellow
|
||||
hi def rcMainObject term=underline ctermfg=Blue guifg=Blue
|
||||
hi def rcSubObject ctermfg=Green guifg=Green
|
||||
hi def rcCaptionParam term=underline ctermfg=DarkGreen guifg=Green
|
||||
hi def rcParam ctermfg=DarkGreen guifg=DarkGreen
|
||||
hi def rcStatement ctermfg=DarkGreen guifg=DarkGreen
|
||||
hi def rcCommonAttribute ctermfg=Brown guifg=Brown
|
||||
hi def link rcLanguage Constant
|
||||
hi def link rcCaptionParam Constant
|
||||
hi def link rcCommonAttribute Constant
|
||||
|
||||
hi def link rcMainObject Identifier
|
||||
hi def link rcSubObject Define
|
||||
hi def link rcParam Constant
|
||||
hi def link rcStatement Statement
|
||||
"
|
||||
"hi def link rcIdentifier Identifier
|
||||
|
||||
"hi def link rcIdentifier Identifier
|
||||
|
||||
|
||||
let b:current_syntax = "rc"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Derek Wyatt
|
||||
" URL: https://github.com/derekwyatt/vim-scala
|
||||
" License: Same as Vim
|
||||
" Last Change: 23 August 2021
|
||||
" Last Change: 23 January 2022
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if !exists('main_syntax')
|
||||
@@ -43,55 +43,55 @@ syn keyword scalaKeyword class trait object extends with nextgroup=scalaInstance
|
||||
syn keyword scalaKeyword case nextgroup=scalaKeyword,scalaCaseFollowing skipwhite
|
||||
syn keyword scalaKeyword val nextgroup=scalaNameDefinition,scalaQuasiQuotes skipwhite
|
||||
syn keyword scalaKeyword def var nextgroup=scalaNameDefinition skipwhite
|
||||
hi link scalaKeyword Keyword
|
||||
hi def link scalaKeyword Keyword
|
||||
|
||||
exe 'syn region scalaBlock start=/{/ end=/}/ contains=' . s:ContainedGroup() . ' fold'
|
||||
|
||||
syn keyword scalaAkkaSpecialWord when goto using startWith initialize onTransition stay become unbecome
|
||||
hi link scalaAkkaSpecialWord PreProc
|
||||
hi def link scalaAkkaSpecialWord PreProc
|
||||
|
||||
syn keyword scalatestSpecialWord shouldBe
|
||||
syn match scalatestShouldDSLA /^\s\+\zsit should/
|
||||
syn match scalatestShouldDSLB /\<should\>/
|
||||
hi link scalatestSpecialWord PreProc
|
||||
hi link scalatestShouldDSLA PreProc
|
||||
hi link scalatestShouldDSLB PreProc
|
||||
hi def link scalatestSpecialWord PreProc
|
||||
hi def link scalatestShouldDSLA PreProc
|
||||
hi def link scalatestShouldDSLB PreProc
|
||||
|
||||
syn match scalaSymbol /'[_A-Za-z0-9$]\+/
|
||||
hi link scalaSymbol Number
|
||||
hi def link scalaSymbol Number
|
||||
|
||||
syn match scalaChar /'.'/
|
||||
syn match scalaChar /'\\[\\"'ntbrf]'/ contains=scalaEscapedChar
|
||||
syn match scalaChar /'\\u[A-Fa-f0-9]\{4}'/ contains=scalaUnicodeChar
|
||||
syn match scalaEscapedChar /\\[\\"'ntbrf]/
|
||||
syn match scalaUnicodeChar /\\u[A-Fa-f0-9]\{4}/
|
||||
hi link scalaChar Character
|
||||
hi link scalaEscapedChar Special
|
||||
hi link scalaUnicodeChar Special
|
||||
hi def link scalaChar Character
|
||||
hi def link scalaEscapedChar Special
|
||||
hi def link scalaUnicodeChar Special
|
||||
|
||||
syn match scalaOperator "||"
|
||||
syn match scalaOperator "&&"
|
||||
syn match scalaOperator "|"
|
||||
syn match scalaOperator "&"
|
||||
hi link scalaOperator Special
|
||||
hi def link scalaOperator Special
|
||||
|
||||
syn match scalaNameDefinition /\<[_A-Za-z0-9$]\+\>/ contained nextgroup=scalaPostNameDefinition,scalaVariableDeclarationList
|
||||
syn match scalaNameDefinition /`[^`]\+`/ contained nextgroup=scalaPostNameDefinition
|
||||
syn match scalaVariableDeclarationList /\s*,\s*/ contained nextgroup=scalaNameDefinition
|
||||
syn match scalaPostNameDefinition /\_s*:\_s*/ contained nextgroup=scalaTypeDeclaration
|
||||
hi link scalaNameDefinition Function
|
||||
hi def link scalaNameDefinition Function
|
||||
|
||||
syn match scalaInstanceDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaInstanceHash
|
||||
syn match scalaInstanceDeclaration /`[^`]\+`/ contained
|
||||
syn match scalaInstanceHash /#/ contained nextgroup=scalaInstanceDeclaration
|
||||
hi link scalaInstanceDeclaration Special
|
||||
hi link scalaInstanceHash Type
|
||||
hi def link scalaInstanceDeclaration Special
|
||||
hi def link scalaInstanceHash Type
|
||||
|
||||
syn match scalaUnimplemented /???/
|
||||
hi link scalaUnimplemented ERROR
|
||||
hi def link scalaUnimplemented ERROR
|
||||
|
||||
syn match scalaCapitalWord /\<[A-Z][A-Za-z0-9$]*\>/
|
||||
hi link scalaCapitalWord Special
|
||||
hi def link scalaCapitalWord Special
|
||||
|
||||
" Handle type declarations specially
|
||||
syn region scalaTypeStatement matchgroup=Keyword start=/\<type\_s\+\ze/ end=/$/ contains=scalaTypeTypeDeclaration,scalaSquareBrackets,scalaTypeTypeEquals,scalaTypeStatement
|
||||
@@ -105,18 +105,18 @@ syn match scalaTypeTypeEquals /=\ze[^>]/ contained nextgroup=scalaTypeTypePostDe
|
||||
syn match scalaTypeTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained contains=scalaTypeOperator nextgroup=scalaTypeTypeDeclaration skipwhite
|
||||
syn match scalaTypeTypePostDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeTypePostExtension skipwhite
|
||||
syn match scalaTypeTypePostExtension /\%(⇒\|=>\|<:\|:>\|=:=\|::\)/ contained contains=scalaTypeOperator nextgroup=scalaTypeTypePostDeclaration skipwhite
|
||||
hi link scalaTypeTypeDeclaration Type
|
||||
hi link scalaTypeTypeExtension Keyword
|
||||
hi link scalaTypeTypePostDeclaration Special
|
||||
hi link scalaTypeTypePostExtension Keyword
|
||||
hi def link scalaTypeTypeDeclaration Type
|
||||
hi def link scalaTypeTypeExtension Keyword
|
||||
hi def link scalaTypeTypePostDeclaration Special
|
||||
hi def link scalaTypeTypePostExtension Keyword
|
||||
|
||||
syn match scalaTypeDeclaration /(/ contained nextgroup=scalaTypeExtension contains=scalaRoundBrackets skipwhite
|
||||
syn match scalaTypeDeclaration /\%(⇒\|=>\)\ze/ contained nextgroup=scalaTypeDeclaration contains=scalaTypeExtension skipwhite
|
||||
syn match scalaTypeDeclaration /\<[_\.A-Za-z0-9$]\+\>/ contained nextgroup=scalaTypeExtension skipwhite
|
||||
syn match scalaTypeExtension /)\?\_s*\zs\%(⇒\|=>\|<:\|:>\|=:=\|::\|#\)/ contained contains=scalaTypeOperator nextgroup=scalaTypeDeclaration skipwhite
|
||||
hi link scalaTypeDeclaration Type
|
||||
hi link scalaTypeExtension Keyword
|
||||
hi link scalaTypePostExtension Keyword
|
||||
hi def link scalaTypeDeclaration Type
|
||||
hi def link scalaTypeExtension Keyword
|
||||
hi def link scalaTypePostExtension Keyword
|
||||
|
||||
syn match scalaTypeAnnotation /\%([_a-zA-Z0-9$\s]:\_s*\)\ze[_=(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeDeclaration contains=scalaRoundBrackets
|
||||
syn match scalaTypeAnnotation /)\_s*:\_s*\ze[_=(\.A-Za-z0-9$]\+/ skipwhite nextgroup=scalaTypeDeclaration
|
||||
@@ -124,51 +124,51 @@ hi clear scalaTypeAnnotation
|
||||
|
||||
syn match scalaCaseFollowing /\<[_\.A-Za-z0-9$]\+\>/ contained contains=scalaCapitalWord
|
||||
syn match scalaCaseFollowing /`[^`]\+`/ contained contains=scalaCapitalWord
|
||||
hi link scalaCaseFollowing Special
|
||||
hi def link scalaCaseFollowing Special
|
||||
|
||||
syn keyword scalaKeywordModifier abstract override final lazy implicit private protected sealed null super
|
||||
syn keyword scalaSpecialFunction implicitly require
|
||||
hi link scalaKeywordModifier Function
|
||||
hi link scalaSpecialFunction Function
|
||||
hi def link scalaKeywordModifier Function
|
||||
hi def link scalaSpecialFunction Function
|
||||
|
||||
syn keyword scalaSpecial this true false ne eq
|
||||
syn keyword scalaSpecial new nextgroup=scalaInstanceDeclaration skipwhite
|
||||
syn match scalaSpecial "\%(=>\|⇒\|<-\|←\|->\|→\)"
|
||||
syn match scalaSpecial /`[^`]\+`/ " Backtick literals
|
||||
hi link scalaSpecial PreProc
|
||||
hi def link scalaSpecial PreProc
|
||||
|
||||
syn keyword scalaExternal package import
|
||||
hi link scalaExternal Include
|
||||
hi def link scalaExternal Include
|
||||
|
||||
syn match scalaStringEmbeddedQuote /\\"/ contained
|
||||
syn region scalaString start=/"/ end=/"/ contains=scalaStringEmbeddedQuote,scalaEscapedChar,scalaUnicodeChar
|
||||
hi link scalaString String
|
||||
hi link scalaStringEmbeddedQuote String
|
||||
hi def link scalaString String
|
||||
hi def link scalaStringEmbeddedQuote String
|
||||
|
||||
syn region scalaIString matchgroup=scalaInterpolationBrackets start=/\<[a-zA-Z][a-zA-Z0-9_]*"/ skip=/\\"/ end=/"/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleIString matchgroup=scalaInterpolationBrackets start=/\<[a-zA-Z][a-zA-Z0-9_]*"""/ end=/"""\ze\%([^"]\|$\)/ contains=scalaInterpolation,scalaInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
hi link scalaIString String
|
||||
hi link scalaTripleIString String
|
||||
hi def link scalaIString String
|
||||
hi def link scalaTripleIString String
|
||||
|
||||
syn match scalaInterpolation /\$[a-zA-Z0-9_$]\+/ contained
|
||||
exe 'syn region scalaInterpolationB matchgroup=scalaInterpolationBoundary start=/\${/ end=/}/ contained contains=' . s:ContainedGroup()
|
||||
hi link scalaInterpolation Function
|
||||
hi def link scalaInterpolation Function
|
||||
hi clear scalaInterpolationB
|
||||
|
||||
syn region scalaFString matchgroup=scalaInterpolationBrackets start=/f"/ skip=/\\"/ end=/"/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
syn match scalaFInterpolation /\$[a-zA-Z0-9_$]\+\(%[-A-Za-z0-9\.]\+\)\?/ contained
|
||||
exe 'syn region scalaFInterpolationB matchgroup=scalaInterpolationBoundary start=/${/ end=/}\(%[-A-Za-z0-9\.]\+\)\?/ contained contains=' . s:ContainedGroup()
|
||||
hi link scalaFString String
|
||||
hi link scalaFInterpolation Function
|
||||
hi def link scalaFString String
|
||||
hi def link scalaFInterpolation Function
|
||||
hi clear scalaFInterpolationB
|
||||
|
||||
syn region scalaTripleString start=/"""/ end=/"""\%([^"]\|$\)/ contains=scalaEscapedChar,scalaUnicodeChar
|
||||
syn region scalaTripleFString matchgroup=scalaInterpolationBrackets start=/f"""/ end=/"""\%([^"]\|$\)/ contains=scalaFInterpolation,scalaFInterpolationB,scalaEscapedChar,scalaUnicodeChar
|
||||
hi link scalaTripleString String
|
||||
hi link scalaTripleFString String
|
||||
hi def link scalaTripleString String
|
||||
hi def link scalaTripleFString String
|
||||
|
||||
hi link scalaInterpolationBrackets Special
|
||||
hi link scalaInterpolationBoundary Function
|
||||
hi def link scalaInterpolationBrackets Special
|
||||
hi def link scalaInterpolationBoundary Function
|
||||
|
||||
syn match scalaNumber /\<0[dDfFlL]\?\>/ " Just a bare 0
|
||||
syn match scalaNumber /\<[1-9]\d*[dDfFlL]\?\>/ " A multi-digit number - octal numbers with leading 0's are deprecated in Scala
|
||||
@@ -176,16 +176,16 @@ syn match scalaNumber /\<0[xX][0-9a-fA-F]\+[dDfFlL]\?\>/ " Hex number
|
||||
syn match scalaNumber /\%(\<\d\+\.\d*\|\.\d\+\)\%([eE][-+]\=\d\+\)\=[fFdD]\=/ " exponential notation 1
|
||||
syn match scalaNumber /\<\d\+[eE][-+]\=\d\+[fFdD]\=\>/ " exponential notation 2
|
||||
syn match scalaNumber /\<\d\+\%([eE][-+]\=\d\+\)\=[fFdD]\>/ " exponential notation 3
|
||||
hi link scalaNumber Number
|
||||
hi def link scalaNumber Number
|
||||
|
||||
syn region scalaRoundBrackets start="(" end=")" skipwhite contained contains=scalaTypeDeclaration,scalaSquareBrackets,scalaRoundBrackets
|
||||
|
||||
syn region scalaSquareBrackets matchgroup=scalaSquareBracketsBrackets start="\[" end="\]" skipwhite nextgroup=scalaTypeExtension contains=scalaTypeDeclaration,scalaSquareBrackets,scalaTypeOperator,scalaTypeAnnotationParameter
|
||||
syn match scalaTypeOperator /[-+=:<>]\+/ contained
|
||||
syn match scalaTypeAnnotationParameter /@\<[`_A-Za-z0-9$]\+\>/ contained
|
||||
hi link scalaSquareBracketsBrackets Type
|
||||
hi link scalaTypeOperator Keyword
|
||||
hi link scalaTypeAnnotationParameter Function
|
||||
hi def link scalaSquareBracketsBrackets Type
|
||||
hi def link scalaTypeOperator Keyword
|
||||
hi def link scalaTypeAnnotationParameter Function
|
||||
|
||||
syn match scalaShebang "\%^#!.*" display
|
||||
syn region scalaMultilineComment start="/\*" end="\*/" contains=scalaMultilineComment,scalaDocLinks,scalaParameterAnnotation,scalaCommentAnnotation,scalaTodo,scalaCommentCodeBlock,@Spell keepend fold
|
||||
@@ -195,20 +195,20 @@ syn match scalaParamAnnotationValue /[.`_A-Za-z0-9$]\+/ contained
|
||||
syn region scalaDocLinks start="\[\[" end="\]\]" contained
|
||||
syn region scalaCommentCodeBlock matchgroup=Keyword start="{{{" end="}}}" contained
|
||||
syn match scalaTodo "\vTODO|FIXME|XXX" contained
|
||||
hi link scalaShebang Comment
|
||||
hi link scalaMultilineComment Comment
|
||||
hi link scalaDocLinks Function
|
||||
hi link scalaParameterAnnotation Function
|
||||
hi link scalaParamAnnotationValue Keyword
|
||||
hi link scalaCommentAnnotation Function
|
||||
hi link scalaCommentCodeBlock String
|
||||
hi link scalaTodo Todo
|
||||
hi def link scalaShebang Comment
|
||||
hi def link scalaMultilineComment Comment
|
||||
hi def link scalaDocLinks Function
|
||||
hi def link scalaParameterAnnotation Function
|
||||
hi def link scalaParamAnnotationValue Keyword
|
||||
hi def link scalaCommentAnnotation Function
|
||||
hi def link scalaCommentCodeBlock String
|
||||
hi def link scalaTodo Todo
|
||||
|
||||
syn match scalaAnnotation /@\<[`_A-Za-z0-9$]\+\>/
|
||||
hi link scalaAnnotation PreProc
|
||||
hi def link scalaAnnotation PreProc
|
||||
|
||||
syn match scalaTrailingComment "//.*$" contains=scalaTodo,@Spell
|
||||
hi link scalaTrailingComment Comment
|
||||
hi def link scalaTrailingComment Comment
|
||||
|
||||
syn match scalaAkkaFSM /goto([^)]*)\_s\+\<using\>/ contains=scalaAkkaFSMGotoUsing
|
||||
syn match scalaAkkaFSM /stay\_s\+using/
|
||||
@@ -221,8 +221,8 @@ syn match scalaAkkaFSM /onTermination/
|
||||
syn match scalaAkkaFSM /whenUnhandled/
|
||||
syn match scalaAkkaFSMGotoUsing /\<using\>/
|
||||
syn match scalaAkkaFSMGotoUsing /\<goto\>/
|
||||
hi link scalaAkkaFSM PreProc
|
||||
hi link scalaAkkaFSMGotoUsing PreProc
|
||||
hi def link scalaAkkaFSM PreProc
|
||||
hi def link scalaAkkaFSMGotoUsing PreProc
|
||||
|
||||
let b:current_syntax = 'scala'
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim syntax file
|
||||
" This is a GENERATED FILE. Please always refer to source file at the URI below.
|
||||
" Language: strace output
|
||||
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
|
||||
" Last Change: 2015-01-16
|
||||
" Last Change: 2022 Jan 29
|
||||
|
||||
" Setup
|
||||
" quit when a syntax file was already loaded
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 8.2 script
|
||||
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
|
||||
" Last Change: December 29, 2021
|
||||
" Version: 8.2-23
|
||||
" Last Change: February 09, 2022
|
||||
" Version: 8.2-28
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
@@ -66,8 +66,8 @@ syn keyword vimErrSetting contained bioskey biosk conskey consk autoprint beauti
|
||||
|
||||
" AutoCmd Events {{{2
|
||||
syn case ignore
|
||||
syn keyword vimAutoEvent contained BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinLeave BufWrite BufWritePost CmdlineChanged CmdlineLeave CmdwinEnter ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileExplorer FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave InsertLeavePre MenuPopup ModeChanged 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 VimResume VimSuspend WinClosed WinEnter WinLeave WinNew
|
||||
syn keyword vimAutoEvent contained BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre BufWinEnter BufWipeout BufWriteCmd BufWritePre CmdlineEnter CmdUndefined CmdwinLeave
|
||||
syn keyword vimAutoEvent contained BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinLeave BufWrite BufWritePost CmdlineChanged CmdlineLeave CmdwinEnter ColorScheme CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged DirChangedPre EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileExplorer FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave InsertLeavePre MenuPopup ModeChanged 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 VimResume VimSuspend WinClosed WinEnter WinLeave WinNew
|
||||
syn keyword vimAutoEvent contained BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre BufWinEnter BufWipeout BufWriteCmd BufWritePre CmdlineEnter CmdUndefined CmdwinLeave ColorSchemePre
|
||||
|
||||
" 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
|
||||
@@ -78,11 +78,11 @@ syn match vimHLGroup contained "Conceal"
|
||||
syn case match
|
||||
|
||||
" Function Names {{{2
|
||||
syn keyword vimFuncName contained abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdline getcursorcharpos getftime getmarklist getreg gettabwinvar getwinposx globpath histadd hlget indent inputrestore invert items job_status json_decode libcallnr list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile visualmode win_execute winheight winnr win_splitmove
|
||||
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdpos getcwd getftype getmatches getreginfo gettagstack getwinposy has histdel hlID index inputsave isdirectory job_getchannel job_stop json_encode line listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin winrestcmd winwidth
|
||||
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdtype getenv getimstatus getmousepos getregtype gettext getwinvar has_key histget hlset input inputsecret isinf job_info join keys line2byte listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winrestview wordcount
|
||||
syn keyword vimFuncName contained and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdwintype getfontname getjumplist getpid gettabinfo getwininfo glob haslocaldir histnr hostname inputdialog insert islocked job_setoptions js_decode len lispindent listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_drop_files test_null_dict test_null_string test_setmouse timer_info tolower type values wincol win_gettype winlayout winsaveview writefile
|
||||
syn keyword vimFuncName contained append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcompletion getfperm getline getpos gettabvar getwinpos glob2regpat hasmapto hlexists iconv inputlist interrupt isnan job_start js_encode libcall list2blob localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_gui_mouse_event test_null_function test_option_not_set test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline win_screenpos xor
|
||||
syn keyword vimFuncName contained abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdline getcursorcharpos getftime getmarklist getreg gettabwinvar getwinposx globpath histadd hlget indent inputrestore invert items job_status json_decode libcallnr list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winnr win_splitmove
|
||||
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdpos getcwd getftype getmatches getreginfo gettagstack getwinposy has histdel hlID index inputsave isdirectory job_getchannel job_stop json_encode line listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values wincol win_gettype winlayout winrestcmd winwidth
|
||||
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdtype getenv getimstatus getmousepos getregtype gettext getwinvar has_key histget hlset input inputsecret isinf job_info join keys line2byte listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline winrestview wordcount
|
||||
syn keyword vimFuncName contained and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdwintype getfontname getjumplist getpid gettabinfo getwininfo glob haslocaldir histnr hostname inputdialog insert islocked job_setoptions js_decode len lispindent listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile visualmode win_execute winheight win_move_separator winsaveview writefile
|
||||
syn keyword vimFuncName contained append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcompletion getfperm getline getpos gettabvar getwinpos glob2regpat hasmapto hlexists iconv inputlist interrupt isnan job_start js_encode libcall list2blob localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
|
||||
syn keyword vimFuncName contained appendbufline assert_beeps assert_inrange assert_true blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filewritable float2nr foldclosedend funcref getbufvar getcharstr getcurpos getfsize getloclist getqflist
|
||||
|
||||
"--- syntax here and above generated by mkvimvim ---
|
||||
|
||||
@@ -955,7 +955,7 @@ NOTE: Completion works for many commands. Just try pressing CTRL-D and
|
||||
Publisher: New Riders
|
||||
The first book completely dedicated to Vim. Especially useful for beginners.
|
||||
There are many examples and pictures.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
This book is older and more about Vi than Vim, but also recommended:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -954,7 +954,7 @@ Anm
|
||||
Verlaag: New Riders
|
||||
D<>s ist d<>s eerste Buech, wo ganz yn n Wimm gwidmt ist, netty d<>s Grechte f<>r
|
||||
Anf<6E>nger. Es haat ayn W<>sn Beispiler und aau Bilder drinn.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
D<>s folgete Buech ist schoon <20>lter und meerer <20>ber n Urwimm als wie <20>ber n
|
||||
Wimm, aber aau zo n Empfelhen: Textbearbeitung mit dem vi-Editor - von dyr
|
||||
@@ -968,7 +968,7 @@ Anm
|
||||
mitp-Verlaag, Buechlaittzal 978-3-8266-1781-2
|
||||
Trotz dyr recht pfrengen Darst<73>llung ist s durch seine viln n<>tzlichnen Bei-
|
||||
spiler aau f<>r Einsteiger grad grecht. Probhaeupster und de Beispilschripfer
|
||||
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
|
||||
seind zesig zo n Kriegn; see https://iccf-holland.org/click5.html
|
||||
|
||||
Verfasst habnd d<>nn Schainer dyr PIERCE Michael C. und WARE Robert K. von dyr
|
||||
Kolraader Knappnschuel (Colorado School of Mines). Er beruet auf Entw<74>rff, wo
|
||||
|
||||
@@ -954,7 +954,7 @@ Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfa
|
||||
Verlaag: New Riders
|
||||
Dös ist dös eerste Buech, wo ganz yn n Wimm gwidmt ist, netty dös Grechte für
|
||||
Anfönger. Es haat ayn Wösn Beispiler und aau Bilder drinn.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
Dös folgete Buech ist schoon ölter und meerer über n Urwimm als wie über n
|
||||
Wimm, aber aau zo n Empfelhen: Textbearbeitung mit dem vi-Editor - von dyr
|
||||
@@ -968,7 +968,7 @@ Anmörkung: D Vergöntzung geit s für aynn Hauffen Faudungen. Versuech ainfa
|
||||
mitp-Verlaag, Buechlaittzal 978-3-8266-1781-2
|
||||
Trotz dyr recht pfrengen Darstöllung ist s durch seine viln nützlichnen Bei-
|
||||
spiler aau für Einsteiger grad grecht. Probhaeupster und de Beispilschripfer
|
||||
seind zesig zo n Kriegn; see http://iccf-holland.org/click5.html
|
||||
seind zesig zo n Kriegn; see https://iccf-holland.org/click5.html
|
||||
|
||||
Verfasst habnd dönn Schainer dyr PIERCE Michael C. und WARE Robert K. von dyr
|
||||
Kolraader Knappnschuel (Colorado School of Mines). Er beruet auf Entwürff, wo
|
||||
|
||||
@@ -1017,7 +1017,7 @@
|
||||
Издател: New Riders
|
||||
Това е първата книга, изцяло посветена на Vim. Особено полезна е за
|
||||
начинаещи. В нея ще намерите много примери и картинки.
|
||||
Вижте http://iccf-holland.org/click5.html
|
||||
Вижте https://iccf-holland.org/click5.html
|
||||
|
||||
Следната книга е по-стара и по-скоро за Vi отколкото за Vim, но също се препоръчва:
|
||||
Learning the Vi Editor - от Linda Lamb
|
||||
|
||||
@@ -792,7 +792,7 @@ Nota: Aix
|
||||
Editorial: New Riders
|
||||
<20>s el primer llibre dedicat completament al Vim, especialment <20>til per a
|
||||
usuaris novells. Cont<6E> molts exemples i diagrames.
|
||||
Vegeu http://iccf-holland.org/click5.html
|
||||
Vegeu https://iccf-holland.org/click5.html
|
||||
|
||||
Aquest altre <20>s m<>s vell i tracta m<>s sobre el Vi que sobre el Vim:
|
||||
Learning the Vi Editor - de Linda Lamb
|
||||
|
||||
@@ -792,7 +792,7 @@ Nota: Així s'evita haver de prémer i , l'últim caràcter, el text a inserir,
|
||||
Editorial: New Riders
|
||||
És el primer llibre dedicat completament al Vim, especialment útil per a
|
||||
usuaris novells. Conté molts exemples i diagrames.
|
||||
Vegeu http://iccf-holland.org/click5.html
|
||||
Vegeu https://iccf-holland.org/click5.html
|
||||
|
||||
Aquest altre és més vell i tracta més sobre el Vi que sobre el Vim:
|
||||
Learning the Vi Editor - de Linda Lamb
|
||||
|
||||
@@ -791,7 +791,7 @@ Pozn
|
||||
Nakladatel: New Riders
|
||||
Prvn<EFBFBD> kniha ur<EFBFBD>en<EFBFBD> pro Vim. Obzvl<EFBFBD><EFBFBD>t<EFBFBD> vhodn<EFBFBD> pro za<EFBFBD><EFBFBD>te<EFBFBD>n<EFBFBD>ky.
|
||||
Obsahuje mno<EFBFBD>stv<EFBFBD> p<EFBFBD><EFBFBD>klad<EFBFBD> a obr<EFBFBD>zk<EFBFBD>.
|
||||
viz http://iccf-holland.org/click5.html
|
||||
viz https://iccf-holland.org/click5.html
|
||||
|
||||
Tato kniha je star<EFBFBD><EFBFBD> a v<EFBFBD>ce v<EFBFBD>novan<EFBFBD> Vi ne<EFBFBD> Vim, ale tak<EFBFBD> doporu<EFBFBD>en<EFBFBD>:
|
||||
Learning the Vi Editor - od Linda Lamb
|
||||
|
||||
@@ -791,7 +791,7 @@ Pozn
|
||||
Nakladatel: New Riders
|
||||
Prvn<76> kniha ur<75>en<65> pro Vim. Obzvl<76><6C>t<EFBFBD> vhodn<64> pro za<7A><61>te<74>n<EFBFBD>ky.
|
||||
Obsahuje mno<6E>stv<74> p<><70>klad<61> a obr<62>zk<7A>.
|
||||
viz http://iccf-holland.org/click5.html
|
||||
viz https://iccf-holland.org/click5.html
|
||||
|
||||
Tato kniha je star<61><72> a v<>ce v<>novan<61> Vi ne<6E> Vim, ale tak<61> doporu<72>en<65>:
|
||||
Learning the Vi Editor - od Linda Lamb
|
||||
|
||||
@@ -791,7 +791,7 @@ Poznámka: Tímto se vyhneš stisknutí i , posledního znaku, textu na vlože
|
||||
Nakladatel: New Riders
|
||||
První kniha určená pro Vim. Obzvláště vhodná pro začátečníky.
|
||||
Obsahuje množství příkladů a obrázků.
|
||||
viz http://iccf-holland.org/click5.html
|
||||
viz https://iccf-holland.org/click5.html
|
||||
|
||||
Tato kniha je starší a více věnovaná Vi než Vim, ale také doporučená:
|
||||
Learning the Vi Editor - od Linda Lamb
|
||||
|
||||
@@ -953,7 +953,7 @@ BEM
|
||||
Forlag: New Riders
|
||||
Den f<>rste bog som helt er tilegnet Vim. Specielt nyttig for begyndere.
|
||||
Der er mange eksempler og billeder.
|
||||
Se http://iccf-holland.org/click5.html
|
||||
Se https://iccf-holland.org/click5.html
|
||||
|
||||
Denne bog er <20>ldre og mere om Vi end Vim, men anbefales ogs<67>:
|
||||
Learning the Vi Editor - af Linda Lamb
|
||||
|
||||
@@ -953,7 +953,7 @@ BEMÆRK: Fuldførelse virker til mange kommandoer. Prøv blot at trykke på
|
||||
Forlag: New Riders
|
||||
Den første bog som helt er tilegnet Vim. Specielt nyttig for begyndere.
|
||||
Der er mange eksempler og billeder.
|
||||
Se http://iccf-holland.org/click5.html
|
||||
Se https://iccf-holland.org/click5.html
|
||||
|
||||
Denne bog er ældre og mere om Vi end Vim, men anbefales også:
|
||||
Learning the Vi Editor - af Linda Lamb
|
||||
|
||||
@@ -956,7 +956,7 @@ Anmerkung: Vervollst
|
||||
Verlag: New Riders
|
||||
Das erste Buch, welches durchg<68>ngig Vim gewidmet ist. Besonders n<>tzlich
|
||||
f<>r Anf<6E>nger. Viele Beispiele und Bilder sind enthalten.
|
||||
Siehe http://iccf-holland.org/click5.html
|
||||
Siehe https://iccf-holland.org/click5.html
|
||||
|
||||
Folgendes Buch ist <20>lter und mehr <20>ber Vi als Vim, aber auch empfehlenswert:
|
||||
Textbearbeitung mit dem Vi-Editor - von Linda Lamb und Arnold Robbins
|
||||
@@ -970,7 +970,7 @@ Anmerkung: Vervollst
|
||||
mitp-Verlag, ISBN 3-8266-1425-9
|
||||
Trotz der kompakten Darstellung ist es durch viele n<>tzliche Beispiele auch
|
||||
f<>r Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind
|
||||
online erh<72>ltlich. Siehe http://iccf-holland.org/click5.html
|
||||
online erh<72>ltlich. Siehe https://iccf-holland.org/click5.html
|
||||
|
||||
Dieses Tutorial wurde geschrieben von Michael C. Pierce und Robert K. Ware,
|
||||
Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State
|
||||
|
||||
@@ -956,7 +956,7 @@ Anmerkung: Vervollständigung funktioniert für viele Kommandos. Probiere
|
||||
Verlag: New Riders
|
||||
Das erste Buch, welches durchgängig Vim gewidmet ist. Besonders nützlich
|
||||
für Anfänger. Viele Beispiele und Bilder sind enthalten.
|
||||
Siehe http://iccf-holland.org/click5.html
|
||||
Siehe https://iccf-holland.org/click5.html
|
||||
|
||||
Folgendes Buch ist älter und mehr über Vi als Vim, aber auch empfehlenswert:
|
||||
Textbearbeitung mit dem Vi-Editor - von Linda Lamb und Arnold Robbins
|
||||
@@ -970,7 +970,7 @@ Anmerkung: Vervollständigung funktioniert für viele Kommandos. Probiere
|
||||
mitp-Verlag, ISBN 3-8266-1425-9
|
||||
Trotz der kompakten Darstellung ist es durch viele nützliche Beispiele auch
|
||||
für Einsteiger empfehlenswert. Probekapitel und die Beispielskripte sind
|
||||
online erhältlich. Siehe http://iccf-holland.org/click5.html
|
||||
online erhältlich. Siehe https://iccf-holland.org/click5.html
|
||||
|
||||
Dieses Tutorial wurde geschrieben von Michael C. Pierce und Robert K. Ware,
|
||||
Colorado School of Mines. Es benutzt Ideen, die Charles Smith, Colorado State
|
||||
|
||||
@@ -796,7 +796,7 @@
|
||||
<09><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> Vim.
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> http://iccf-holland.org/click5.html
|
||||
<09><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> https://iccf-holland.org/click5.html
|
||||
|
||||
<20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> Vi <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> Vim,
|
||||
<20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
|
||||
@@ -796,7 +796,7 @@
|
||||
<09><> <20><>髦 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤦ <20><><EFBFBD><EFBFBD> Vim.
|
||||
<09><><EFBFBD><EFBFBD>嫜<EFBFBD><E5AB9C> <20><>㩠<EFBFBD><E3A9A0> <20><><EFBFBD> <20><><EFBFBD>ᨠ<EFBFBD><E1A8A0><EFBFBD>.
|
||||
<09><>ᨮ<EFBFBD><E1A8AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚣<EFBFBD><E59AA3><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>検<EFBFBD>.
|
||||
<09><>嫜 <20><><EFBFBD> http://iccf-holland.org/click5.html
|
||||
<09><>嫜 <20><><EFBFBD> https://iccf-holland.org/click5.html
|
||||
|
||||
<20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>夘<EFBFBD> <20><><EFBFBD><EFBFBD>櫜<EFBFBD><E6AB9C> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>櫜<EFBFBD><E6AB9C> <20><><EFBFBD> <20><><EFBFBD> Vi <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> Vim,
|
||||
<20><><EFBFBD><EFBFBD> <20><>婞<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飜<EFBFBD><E9A39C>:
|
||||
|
||||
@@ -796,7 +796,7 @@
|
||||
Το πρώτο βιβλίο πλήρως αφιερωμένο στον Vim.
|
||||
Ιδιαίτερα χρήσιμο για αρχάριους.
|
||||
Υπάρχουν πολλά παραδείγματα και εικόνες.
|
||||
Δείτε την http://iccf-holland.org/click5.html
|
||||
Δείτε την https://iccf-holland.org/click5.html
|
||||
|
||||
Αυτό το βιβλίο είναι παλιότερο και περισσότερο για τον Vi παρά για τον Vim,
|
||||
αλλά επίσης συνιστώμενο:
|
||||
|
||||
@@ -951,7 +951,7 @@ NAPOMENA: Mogu
|
||||
Izdava<76>: New Riders
|
||||
Prva knjiga potpuno posve<76>ena Vim-u. Vrlo korisna za po<70>etnike.
|
||||
Sa mnogo primjera i slika.
|
||||
Posjetite http://iccf-holland.org/click5.html
|
||||
Posjetite https://iccf-holland.org/click5.html
|
||||
|
||||
Sljede<64>a knjiga je ne<6E>to starija i vi<76>e o Vi-u nego o Vim-u, preporu<72>amo:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -951,7 +951,7 @@ NAPOMENA: Mogu
|
||||
Izdava<76>: New Riders
|
||||
Prva knjiga potpuno posve<76>ena Vim-u. Vrlo korisna za po<70>etnike.
|
||||
Sa mnogo primjera i slika.
|
||||
Posjetite http://iccf-holland.org/click5.html
|
||||
Posjetite https://iccf-holland.org/click5.html
|
||||
|
||||
Sljede<64>a knjiga je ne<6E>to starija i vi<76>e o Vi-u nego o Vim-u, preporu<72>amo:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -951,7 +951,7 @@ NAPOMENA: Moguće je dopuniti mnoge naredbe. Koristite CTRL-D i <TAB>.
|
||||
Izdavač: New Riders
|
||||
Prva knjiga potpuno posvećena Vim-u. Vrlo korisna za početnike.
|
||||
Sa mnogo primjera i slika.
|
||||
Posjetite http://iccf-holland.org/click5.html
|
||||
Posjetite https://iccf-holland.org/click5.html
|
||||
|
||||
Sljedeća knjiga je nešto starija i više o Vi-u nego o Vim-u, preporučamo:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -810,7 +810,7 @@ Megj: A Vimben a sor legv
|
||||
Publisher: New Riders
|
||||
The first book completely dedicated to Vim. Especially useful for beginners.
|
||||
There are many examples and pictures.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
This book is older and more about Vi than Vim, but also recommended:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -810,7 +810,7 @@ Megj: A Vimben a sor legv
|
||||
Publisher: New Riders
|
||||
The first book completely dedicated to Vim. Especially useful for beginners.
|
||||
There are many examples and pictures.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
This book is older and more about Vi than Vim, but also recommended:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -810,7 +810,7 @@ Megj: A Vimben a sor legvégére is lehet állni, azonban ez elődjében
|
||||
Publisher: New Riders
|
||||
The first book completely dedicated to Vim. Especially useful for beginners.
|
||||
There are many examples and pictures.
|
||||
See http://iccf-holland.org/click5.html
|
||||
See https://iccf-holland.org/click5.html
|
||||
|
||||
This book is older and more about Vi than Vim, but also recommended:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
@@ -951,7 +951,7 @@ NOTA: Il completamento
|
||||
Vim - Vi Improved - di Steve Oualline Editore: New Riders
|
||||
Il primo libro completamente dedicato a Vim. Utile specie per principianti.
|
||||
Contiene molti esempi e figure.
|
||||
Vedi http://iccf-holland.org/click5.html
|
||||
Vedi https://iccf-holland.org/click5.html
|
||||
|
||||
Quest'altro libro <20> pi<70> su Vi che su Vim, ma <20> pure consigliato:
|
||||
Learning the Vi Editor - di Linda Lamb e Arnold Robbins
|
||||
|
||||
@@ -951,7 +951,7 @@ NOTA: Il completamento è disponibile per molti comandi. Prova a battere
|
||||
Vim - Vi Improved - di Steve Oualline Editore: New Riders
|
||||
Il primo libro completamente dedicato a Vim. Utile specie per principianti.
|
||||
Contiene molti esempi e figure.
|
||||
Vedi http://iccf-holland.org/click5.html
|
||||
Vedi https://iccf-holland.org/click5.html
|
||||
|
||||
Quest'altro libro è più su Vi che su Vim, ma è pure consigliato:
|
||||
Learning the Vi Editor - di Linda Lamb e Arnold Robbins
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
<20>ˤʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
<20><><EFBFBD>塼<EFBFBD>ȥꥢ<C8A5><EAA5A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>ɬ<EFBFBD>פʻ<D7A4><CABB>֤ϡ<D6A4><CFA1>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD>Τˤɤ<CBA4><C9A4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>Ȥ<EFBFBD><C8A4>Τ<EFBFBD><CEA4>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褽25<EFBFBD><EFBFBD><EFBFBD><EFBFBD>30ʬ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>Ȥ<EFBFBD><C8A4>Τ<EFBFBD><CEA4>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褽30ʬ<30>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
ATTENTION:
|
||||
<20>ʲ<EFBFBD><CAB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><D1A5>ޥ<EFBFBD><DEA5>ɤˤϤ<CBA4><CFA4><EFBFBD>ʸ<EFBFBD>Ϥ<EFBFBD><CFA4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ⤢<CEA4><E2A4A2><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -24,7 +24,7 @@
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD>ư
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD> h,j,k,l <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD> **
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD> h,j,k,l <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
^
|
||||
k <20>ҥ<EFBFBD><D2A5><EFBFBD>: h <20><><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
< h l > l <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -65,11 +65,12 @@ NOTE: :q! <ENTER>
|
||||
|
||||
5. 1.3<EFBFBD>ޤǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.3: <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD> - <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
** <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥ<CBA4><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> x <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD> **
|
||||
** <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥ<CBA4><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> x <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -87,12 +88,11 @@ NOTE:
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.4: <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD> - <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
** <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥƥ<C6A5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> i <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD> **
|
||||
** <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥƥ<C6A5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> i <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -115,10 +115,10 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.5: <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD> - <20>ɲ<EFBFBD>
|
||||
|
||||
|
||||
** <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>ˤ<EFBFBD> A <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦 **
|
||||
** <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>ˤ<EFBFBD> A <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4>äƤ⤫<C6A4>ޤ<EFBFBD><DEA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC><EFBFBD>ιԤΤɤ<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>äƤ⤫<EFBFBD>ޤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20>ɲä<C9B2>ɬ<EFBFBD>פʾ<D7A4><CABE><EFBFBD><EFBFBD><EFBFBD> A <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -137,18 +137,17 @@ NOTE:
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 1.6: <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD>
|
||||
|
||||
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ƽ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :wq <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD>ƽ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :wq <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD> **
|
||||
|
||||
!! NOTE: <20>ʲ<EFBFBD><CAB2>Υ<EFBFBD><CEA5>ƥåפ<C3A5><D7A4>¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ɤ<EFBFBD><C9A4>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!
|
||||
|
||||
1. <20><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD> 1.2 <20>Ǥ<EFBFBD><C7A4>ä<EFBFBD><C3A4>褦<EFBFBD><E8A4A6> :q! <20><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>塼<EFBFBD>ȥꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
<20><><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤤<EFBFBD>ϡ<EFBFBD><EFBFBD>̤<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ԤäƤ⤫<EFBFBD>ޤ<EFBFBD>
|
||||
<20>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
1. <20>̤<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ԤäƤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
|
||||
<20><><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD> 1.2 <20>Ǥ<EFBFBD><C7A4>ä<EFBFBD><C3A4>褦<EFBFBD><E8A4A6> :q! <20><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>塼<EFBFBD>ȥꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ
|
||||
<20><><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD>ץȤǤ<C8A4><C7A4>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<C9A4><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD>: vim tutor <ENTER>
|
||||
'vim' <20><> Vim <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɡ<EFBFBD>'tutor' <20><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
̾<><CCBE><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>褤<EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD>ץȤǤ<C8A4><C7A4>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<C9A4><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD>: vim file.txt <ENTER>
|
||||
'vim' <20><> Vim <20><><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɡ<EFBFBD>'file.txt' <20><><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
3. <20><><EFBFBD>Υ<EFBFBD><CEA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD>dzؤ<C7B3><D8A4><EFBFBD><EFBFBD>褦<EFBFBD>ˡ<EFBFBD><CBA1>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -186,9 +185,9 @@ NOTE: <ESC>
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** ñ<><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦 **
|
||||
** ñ<><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤǤ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <ESC> <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
1. <20>μ¤˥Ρ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>⡼<EFBFBD>ɤˤ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD> <ESC> <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -196,22 +195,22 @@ NOTE: <ESC>
|
||||
|
||||
4. ñ<><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EBA4BF><EFBFBD><EFBFBD> dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
NOTE: <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>dw <20>Ȥ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κDz<EFBFBD><EFBFBD>Ԥ˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ְ<EFBFBD><EFBFBD>äƤ<EFBFBD><EFBFBD>ޤä<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> <ESC> <20><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
NOTE: d <20><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κDz<EFBFBD><EFBFBD>Ԥ˸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>Vim <20><>
|
||||
<09><><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD> w <20><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ԤäƤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤷ d <20>ʳ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿
|
||||
<09><><EFBFBD>ϲ<EFBFBD><CFB2><EFBFBD><EFBFBD>ְ<EFBFBD><D6B0>äƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD> <ESC> <20><EFBFBD><F2B2A1A4>Ƥ<EFBFBD><C6A4><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
---> <20><><EFBFBD><EFBFBD> ʸ <20><> <20>ˤ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD> <20><><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD> ɬ<>פΤʤ<CEA4> ñ<><C3B1> <20><> <20>ޤޤ<DEA4><DEA4><EFBFBD> <20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
5. 3 <20><><EFBFBD><EFBFBD> 4 <20>ޤǤ<DEA4>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>ޤǷ<DEA4><C7B7><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.2 <20>ؿʤߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.2: <20><><EFBFBD><EFBFBD>¾<EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> d$ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦 **
|
||||
** <20>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> d$ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤǤ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> <ESC> <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
1. <20>μ¤˥Ρ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>⡼<EFBFBD>ɤˤ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD> <ESC> <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -232,7 +231,7 @@ NOTE: <ESC>
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.3: <20><><EFBFBD>ڥ졼<DAA5><ECA1BC><EFBFBD>ȥ⡼<C8A5><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
¿<><C2BF><EFBFBD>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤϥ<C9A4><CFA5>ڥ졼<DAA5><ECA1BC><EFBFBD>ȥ⡼<C8A5><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F3A4ABA4>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤϥ<EFBFBD><EFBFBD>ڥ졼<EFBFBD><EFBFBD><EFBFBD>ȥ⡼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD> d <20>Υ<EFBFBD><CEA5>ڥ졼<DAA5><ECA1BC><EFBFBD>ϼ<EFBFBD><CFBC><EFBFBD><EFBFBD>ͤˤʤäƤ<C3A4><C6A4>ޤ<EFBFBD>:
|
||||
|
||||
d <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -248,7 +247,7 @@ NOTE: <ESC>
|
||||
|
||||
<20>Ĥޤ<C4A4> de <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤϡ<CDA4><CFA1>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥ<CBA4><C6A5>ޥ<EFBFBD><EFBFBD>ɤʤ<EFBFBD><EFBFBD>˥⡼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤϡ<CDA4><CFA1>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤˤƥ<CBA4><C6A5>ڥ졼<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>˥⡼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>ߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC>Ū<EFBFBD><C5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤˰<D6A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@@ -259,7 +258,7 @@ NOTE:
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD>Ƭ<EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
2. 2w <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ñ<EFBFBD><C3B1>2<EFBFBD><32>ʬ<EFBFBD><CAAC><EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
2. 2w <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ñ<EFBFBD><C3B1>2<EFBFBD><32>ʬ<EFBFBD><CAAC><EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. 3e <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>3<EFBFBD><33><EFBFBD>ܤ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD>ü<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -284,24 +283,24 @@ NOTE:
|
||||
<20><><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD>κ<EFBFBD><CEBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4>ޤ<EFBFBD>:
|
||||
d <20><><EFBFBD><EFBFBD> <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
1. ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥι<EFBFBD>Ƭ<EFBFBD><EFBFBD>ʬ<EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
1. ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥκǽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
2. UPPER CASE <EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>2<EFBFBD>Ĥ<EFBFBD> d2w <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
2. <EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD>2<EFBFBD>Ĥ<EFBFBD> d2w <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƺ<EFBFBD><C6BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. UPPER CASE <20>Ȥ<EFBFBD><C8A4><EFBFBD>Ϣ³<CFA2><C2B3><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>ĤΥ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤȰۤʤ륫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EFBFBD>
|
||||
3. Ϣ³<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>ۤʤ륫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EFBFBD>1<EFBFBD>ĤΥ<EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤǺ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>ƥå<C6A5> 1 <20><> 2 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
---> <20><><EFBFBD><EFBFBD>ABC DE<44>Ԥ<EFBFBD>FGHI JK LMN OPñ<50><C3B1><EFBFBD><EFBFBD>Q RS TUV<55><56><EFBFBD><EFBFBD><EFBFBD>ˤʤä<CAA4><C3A4><EFBFBD>
|
||||
|
||||
NOTE: <20><><EFBFBD>ڥ졼<DAA5><ECA1BC> d <20>ȥ⡼<C8A5><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ֤˥<D6A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>Ȥä<C8A4><C3A4><EFBFBD><EFBFBD>硢<EFBFBD><E7A1A2><EFBFBD>ڥ졼<DAA5><ECA1BC><EFBFBD>Τʤ<CEA4>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Υ⡼<CEA5><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ褦<CEA4><E8A4A6>ư<EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20><>: 3dw <20><> d3w <20><>Ʊ<EFBFBD><C6B1><EFBFBD>ǡ<EFBFBD>3w <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.6: <20>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD>¿<EFBFBD><C2BF><EFBFBD>Τǡ<CEA4>Vi<56>Υǥ<CEA5><C7A5><EFBFBD><EFBFBD>ʡ<EFBFBD><CAA1>ϹԤκ<D4A4><CEBA><EFBFBD><EFBFBD><EFBFBD> d <20><>2<EFBFBD><EFBFBD><F3A5BFA5>פ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD>ʤ<EFBFBD><CAA4>Τ˷<CEA4><CBB7><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -319,24 +318,25 @@ NOTE:
|
||||
---> 6) <20><><EFBFBD><EFBFBD><EFBFBD>ϴŤ<CFB4>
|
||||
---> 7) <20><><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD><EFBFBD>ʡ<EFBFBD>
|
||||
|
||||
2<EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD>1<EFBFBD>Ԥ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>ƺ<EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>ϰʲ<EFBFBD><EFBFBD>ǽҤ٤륪<EFBFBD>ڥ졼<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>ư<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2.7: <20><><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20>Ǹ<EFBFBD><C7B8>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ˤ<EFBFBD> u <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4><EFBFBD>U <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD>Τμ<CEA4><CEBC>äǤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
** <20>Ǹ<EFBFBD><C7B8>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ˤ<EFBFBD> u <20><EFBFBD><F2B2A1A4>ޤ<EFBFBD><DEA4><EFBFBD>U <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD>Τμ<CEA4><CEBC><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD>δְ㤤<D6B0>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
2. x <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
2. x <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ƺǽ<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>u <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ƺǸ<C6BA><C7B8>˼¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
4. <20><><EFBFBD>٤ϡ<D9A4>x <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>Ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
4. <20><><EFBFBD>٤ϡ<D9A4>x <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ƹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
5. <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> U <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ơ<EFBFBD><C6A1>Ԥξ<F2B8B5A4><CEBE>֤<EFBFBD><D6A4>ᤷ<EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
6. u <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> U <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
6. u <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD> U <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
7. <20>Ǥϥ<C7A4><CFA5>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>Ƽ¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD>Τ<EFBFBD> CTRL-R (CTRL <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD>ޤ<EFBFBD> R <20><><EFBFBD>Ǥ<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>Ƥߤޤ<DFA4><DEA4>礦(<28><><EFBFBD>äμ<EFBFBD><EFBFBD><EFBFBD>)<29><>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>Ƥߤޤ<DFA4><DEA4>礦(<28><><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>)<29><>
|
||||
|
||||
---> <20><><EFBFBD>ΤιԤΤδְ㤤<D6B0><E3A4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>ޤޤ<DEA4><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||||
---> <20><><EFBFBD>ΤιԤΤδְ㤤<D6B0><E3A4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><EFBFBD>ޤޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
8. <20><><EFBFBD><EFBFBD><EFBFBD>ϤȤƤ<C8A4><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥ<EFBFBD><CAA5>ޥ<EFBFBD><DEA5>ɤǤ<C9A4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2 <20><><EFBFBD><EFBFBD><EFBFBD>ؿʤߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -347,45 +347,47 @@ NOTE:
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 2 <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> d$ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>鼡<EFBFBD><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> de <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> d$ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ˤϿ<CBA4><CFBF>ͤ<EFBFBD><CDA4><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ޤ<EFBFBD>: 2w
|
||||
5. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɤη<C9A4><CEB7><EFBFBD><EFBFBD><EFBFBD>
|
||||
5. <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ˤϿ<CBA4><CFBF>ͤ<EFBFBD><CDA4><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ޤ<EFBFBD>: 2w
|
||||
6. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɤη<C9A4><CEB7><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>ڥ졼<DAA5><ECA1BC> [<5B><><EFBFBD><EFBFBD>] <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
<20><><EFBFBD>줾<EFBFBD><ECA4BE>:
|
||||
<20><><EFBFBD>ڥ졼<DAA5><ECA1BC> - <20><><EFBFBD><EFBFBD> d <20><><EFBFBD><EFBFBD><EFBFBD>Dz<EFBFBD><C7B2>뤫<F2A4B9A4><EBA4AB>
|
||||
<20><><EFBFBD><EFBFBD> - <20><><EFBFBD>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<F2B2BFB2><F3B7ABA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - w (ñ<><C3B1>)<29><> $ (<28><><EFBFBD><EFBFBD>)<29>ʤɤ<CAA4><C9A4><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD>Ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD><EFBFBD>
|
||||
[<EFBFBD><EFBFBD><EFBFBD><EFBFBD>] - <20><><EFBFBD>Υ<EFBFBD><CEA5>ޥ<EFBFBD><DEA5>ɤ<F2B2BFB2><F3B7ABA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - w (ñ<><C3B1>)<29><> e (ñ<><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>$ (<28><><EFBFBD><EFBFBD>)<29>ʤɤ<CAA4><C9A4><EFBFBD><EFBFBD>ǡ<EFBFBD><C7A1>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>Ư<EFBFBD><C6AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤫<EFBFBD><EFBFBD>
|
||||
|
||||
6. <20>Ԥ<EFBFBD><D4A4><EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤϥ<CBA4><CFA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD>: 0
|
||||
7. <20>Ԥ<EFBFBD><D4A4><EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤϥ<CBA4><CFA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD>: 0
|
||||
|
||||
8. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>: u (<28><>ʸ<EFBFBD><CAB8> u)
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>: U (<28><>ʸ<EFBFBD><CAB8> U)
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD><C3A4>μ<EFBFBD><CEBC><EFBFBD><EFBFBD>ä<EFBFBD>: CTRL-R
|
||||
|
||||
7. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>: u (<28><>ʸ<EFBFBD><CAB8> u)
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ä<EFBFBD>: U (<28><>ʸ<EFBFBD><CAB8> U)
|
||||
<20><><EFBFBD>ä<EFBFBD><C3A4>μ<EFBFBD><CEBC>ä<EFBFBD>: CTRL-R
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.1: Ž<><C5BD><EFBFBD>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20>Ǹ<EFBFBD><C7B8>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<D4A4><F2A5ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><CEB8><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ˤ<EFBFBD> p <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20>Ǹ<EFBFBD><C7B8>˺<EFBFBD><CBBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<D4A4><F2A5ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><CEB8><EFBFBD>Ž<EFBFBD><C5BD><EFBFBD>դ<EFBFBD><D5A4><EFBFBD><EFBFBD>ˤ<EFBFBD> p <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κǽ<EFBFBD><EFBFBD>ιԤ˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
1. ---> <20>ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD>ʲ<EFBFBD><EFBFBD>κǽ<EFBFBD><EFBFBD>ιԤ˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
2. dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƹԤ<C6B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Vim <20>ΥХåե<EFBFBD><EFBFBD>˳<EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
2. dd <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƹԤ<C6B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Vim <20>Υ쥸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>Ǽ<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>褢<EFBFBD><E8A4A2><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>֤ξ<D6A4><CEBE>ιԤޤǡ<DEA4><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>褢<EFBFBD><E8A4A2><EFBFBD>٤<EFBFBD><D9A4><EFBFBD><EFBFBD>֤ξ<D6A4><CEBE>ιԤǤ<EFBFBD><EFBFBD><EFBFBD> c) <20>Ԥޤǡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
4. <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤ<EFBFBD> p <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƴ<EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><D4A4><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD>ᤷ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
4. <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤ<EFBFBD> p <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƴ<EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᤷ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
5. <20><><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>ͤ˥<CDA4><CBA5>ƥå<C6A5> 2 <20><><EFBFBD><EFBFBD> 4 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
d) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؤ֤<D8A4><D6A4>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4><EFBFBD>?
|
||||
b) <20><><EFBFBD>ߥ<EFBFBD><DFA5><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD>
|
||||
c) <20>ηäȤϳؤ֤<D8A4><D6A4>Ρ<EFBFBD>
|
||||
a) <20>Х<EFBFBD><D0A5><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>
|
||||
---> d) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؤ֤<D8A4><D6A4>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4><EFBFBD>?
|
||||
---> b) <20><><EFBFBD>ߥ<EFBFBD><DFA5><EFBFBD><EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD>
|
||||
---> c) <20>ηäȤϳؤ֤<D8A4><D6A4>Ρ<EFBFBD>
|
||||
---> a) <20>Х<EFBFBD><D0A5><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>
|
||||
|
||||
|
||||
|
||||
@@ -393,7 +395,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.2: <20>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> r <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> x <20><><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> rx <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -416,38 +418,38 @@ NOTE:
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.3: <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** ñ<><C3B1><EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> cw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** ñ<><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> ce <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. lubw <20><> u <20>ΰ<EFBFBD><CEB0>֤˥<D6A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
3. cw <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦(<28><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> 'ine' <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>)<29><>
|
||||
3. ce <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦(<28><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD> 'ine' <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD>)<29><>
|
||||
|
||||
4. <EFBFBD><EFBFBD><EFBFBD>δְ㤤(<28>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>٤<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ)<29>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <ESC> <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
4. <ESC> <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>Ƥ<EFBFBD><C6A4>鼡<EFBFBD>δְ㤤(<28>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>٤<EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ)<29>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
5. <20>ǽ<EFBFBD><C7BD>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD>ιԤ<CEB9><D4A4>ͤˤʤ<CBA4><CAA4>ޤǥ<DEA4><C7A5>ƥå<C6A5> 3 <20><> 4 <20><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
---> This lubw has a few wptfd that mrrf changing usf the change operator.
|
||||
---> This line has a few words that need changing using the change operator.
|
||||
|
||||
cw <20><>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
ce <20><>ñ<EFBFBD><C3B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
cc <20><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>Ф<EFBFBD><D0A4>ƹԤ<C6B9><D4A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 3.4: c <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD>ѹ<EFBFBD>
|
||||
|
||||
|
||||
** <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ͤ˥<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>ޤ<EFBFBD> **
|
||||
** <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ڥ졼<EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ͤ˥⡼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><EFBFBD>ɤ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
1. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ڥ졼<EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>η<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
c [<5B><><EFBFBD><EFBFBD>] <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20><EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>w <20><>ñ<EFBFBD>졢 $ <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD>ʤɤȤ<C9A4><C8A4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>ΤǤ<CEA4><C7A4><EFBFBD>
|
||||
2. <20>⡼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>w <20><>ñ<EFBFBD>졢 $ <20>Ϲ<EFBFBD><CFB9><EFBFBD><EFBFBD>ʤɤȤ<C9A4><C8A4>ä<EFBFBD><C3A4><EFBFBD><EFBFBD>ΤǤ<CEA4><C7A4><EFBFBD>
|
||||
|
||||
3. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
3. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><EFBFBD>ιԤ˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
4. <20>ǽ<EFBFBD><C7BD>δְ㤤<D6B0>إ<EFBFBD><D8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -470,7 +472,7 @@ NOTE:
|
||||
ʸ<><CAB8><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤǤϥ<C7A4><CFA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ⡼<CEA5><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD><C7BB>ꤵ<EFBFBD><EAA4B5><EFBFBD>뽪ü<EBBDAA>ޤǤ<DEA4><C7A4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>㤨<EFBFBD><E3A4A8> cw <20>ʤ<EFBFBD><CAA4>Х<EFBFBD><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǡ<DEA4>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>㤨<EFBFBD><E3A4A8> ce <20>ʤ<EFBFBD><CAA4>Х<EFBFBD><D0A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǡ<DEA4>
|
||||
c$ <20>ʤ<EFBFBD><CAA4>йԤν<D4A4><CEBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. <20>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤη<C9A4><CEB7><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -485,7 +487,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 4.1: <20><><EFBFBD>֤ȥե<C8A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD>
|
||||
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥΰ<C7A4><CEB0>֤ȥե<C8A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE>֤<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> CTRL-G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>Ԥ˰<D4A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
<20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>Ԥ˰<D4A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
NOTE: <20><><EFBFBD>ƥåפ<C3A5><D7A4>¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ܤ<EFBFBD><DCA4>̤<EFBFBD><CCA4>ޤ<EFBFBD><DEA4>礦!!
|
||||
|
||||
@@ -496,7 +498,7 @@ NOTE:
|
||||
NOTE: <20><><EFBFBD>̤α<CCA4><CEB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><CEB0>֤<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>뤫<EFBFBD>⤷<EFBFBD><E2A4B7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><F3A1A3A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
'ruler' <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD>(:help 'ruler' <20><EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
2. <20>Dz<EFBFBD><C7B2>Ԥ˰<D4A4>ư<EFBFBD><C6B0><EFBFBD>뤿<EFBFBD><EBA4BF><EFBFBD><EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
2. <20>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>κDz<EFBFBD><EFBFBD>Ԥ˰<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD><EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> gg <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
3. <20><><EFBFBD>ۤɤιԤ<CEB9><D4A4>ֹ<EFBFBD><D6B9><EFBFBD><F2A5BFA5>פ<EFBFBD> G <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD> CTRL-G <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -508,19 +510,19 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 4.2: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> / <20>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>**
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> / <20>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD> **
|
||||
|
||||
1. <20>Ρ<EFBFBD><CEA1>ޥ<EFBFBD><DEA5>⡼<EFBFBD>ɤ<EFBFBD> / <20>Ȥ<EFBFBD><C8A4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̰<EFBFBD><CCB0>ֲ<EFBFBD><D6B2><EFBFBD> : <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD>
|
||||
Ʊ<><C6B1><EFBFBD>ͤ<EFBFBD> / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ˵<C8A4><CBB5>Ť<EFBFBD><C5A4>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. <20>Ǥϡ<C7A4>'errroor' <ENTER> <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6><EFBFBD><EFBFBD><EFBFBD>줬<EFBFBD><ECA4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
3. Ʊ<><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤦<EFBFBD><E2A4A6><EFBFBD>ٸ<EFBFBD><D9B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD> ñ<><C3B1> n <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
3. Ʊ<><C6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⤦<EFBFBD><EFBFBD><EFBFBD>ٸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD> ñ<><C3B1> n <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD> N <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˸<EFBFBD><CBB8><EFBFBD><EFBFBD><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>/ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ? <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
5. <20><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> CTRL-O (Ctrl <20><EFBFBD>³<EFBFBD><C2B3><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD> o ʸ<><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><EFBFBD><F2A5BFA5>פ<EFBFBD>
|
||||
5. <20><><EFBFBD>ξ<EFBFBD><CEBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> CTRL-O (Ctrl <20><EFBFBD>³<EFBFBD><C2B3><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>ʸ<EFBFBD><EFBFBD> o <20><EFBFBD><EFBFBD><EFBFBD>)<29><EFBFBD><F2A5BFA5>פ<EFBFBD>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϤ<CBA4><CFA4><EFBFBD><EFBFBD><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>CTRL-I <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
|
||||
---> "errroor" <20><> error <20>ȥ<EFBFBD><C8A5>ڥ뤬<DAA5>㤤<EFBFBD>ޤ<EFBFBD>; errroor <20>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> error <20>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
@@ -531,7 +533,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 4.3: <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<CCA4>
|
||||
|
||||
|
||||
** <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD> ),] <20><> } <20><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> % <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD> ),] <20><> } <20><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> % <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD><EFBFBD> ---> <20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ<EFBFBD> (,[ <20><> { <20>Τɤ줫<C9A4>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -554,7 +556,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 4.4: <20>ְ㤤<D6B0><E3A4A4><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ
|
||||
|
||||
|
||||
** 'old' <20><> 'new' <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :s/old/new/g <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** 'old' <20><> 'new' <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :s/old/new/g <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -567,9 +569,8 @@ NOTE:
|
||||
|
||||
---> thee best time to see thee flowers is in thee spring.
|
||||
|
||||
4. ʣ<><CAA3><EFBFBD>Ԥ<EFBFBD><D4A4>鸫<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD>
|
||||
:#,#s/old/new/g #,# <20>ˤ<EFBFBD><CBA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰϤγ<CFA4><CEB3>ϤȽ<CFA4>λ<EFBFBD>ι<EFBFBD><CEB9>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD>
|
||||
4. ʣ<><CAA3><EFBFBD>Ԥ<EFBFBD><D4A4>鸫<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥβս<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD>
|
||||
:#,#s/old/new/g #,# <20>ˤ<EFBFBD><CBA4>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰϤγ<CFA4><CEB3>ϤȽ<CFA4>λ<EFBFBD>ι<EFBFBD><CEB9>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤹ<EFBFBD>롣
|
||||
:%s/old/new/g <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤǸ<CEA4><C7B8>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>Ф<EFBFBD><D0A4><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>롣
|
||||
:%s/old/new/gc <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΤǸ<CEA4><C7B8>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><CEA4>Ф<EFBFBD><D0A4>ơ<EFBFBD>1<EFBFBD><31>1<EFBFBD>ij<EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD>롣
|
||||
@@ -593,7 +594,7 @@ NOTE:
|
||||
|
||||
4. <20><><EFBFBD>߹Ԥκǽ<CEBA><C7BD><EFBFBD> old <20><> new <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>롣 :s/old/new
|
||||
<20><><EFBFBD>߹Ԥ<DFB9><D4A4><EFBFBD><EFBFBD>Ƥ<EFBFBD> old <20><> new <20><><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>롣 :s/old/new/g
|
||||
2<>Ĥ<EFBFBD> # <20>֤Ǹ<D6A4><C7B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>롣 :#,#s/old/new/g
|
||||
2<>Ĥ<EFBFBD> # <20>Ԥδ֤Ǹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>롣 :#,#s/old/new/g
|
||||
<20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥθ<C6A4><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>롣 :%s/old/new/g
|
||||
'c' <20><><EFBFBD>ä<EFBFBD><C3A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>٤˳<D9A4>ǧ<EFBFBD><C7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>롣 :%s/old/new/gc
|
||||
|
||||
@@ -601,10 +602,10 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5.1: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹Ԥ<C2B9><D4A4><EFBFBD><EFBFBD><EFBFBD>ˡ
|
||||
|
||||
|
||||
** :! <20>θ<EFBFBD><CEB8>˼¹Ԥ<C2B9><D4A4>볰<EFBFBD><EBB3B0><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<C9A4><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** :! <20>θ<EFBFBD><CEB8>˼¹Ԥ<C2B9><D4A4>볰<EFBFBD><EBB3B0><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<C9A4><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD>̤κDz<CEBA><C7B2><EFBFBD><EFBFBD>˥<EFBFBD><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤬<EFBFBD><EBA4AC>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD><E8A4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD> : <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5>ޥ<EFBFBD><DEA5>ɥ饤<EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פǤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤˤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ! <20>Ȥ<EFBFBD><C8A4><EFBFBD>ʸ<EFBFBD><CAB8>(<28><>ò<EFBFBD><C3B2>)<29><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>륳<EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹ԤǤ<D4A4><C7A4><EFBFBD><EFBFBD>ͤˤʤ<CBA4><CAA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -624,7 +625,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5.2: <20><><EFBFBD><EFBFBD>¾<EFBFBD>Υե<CEA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<D8BD><F1A4ADB9><EFBFBD>
|
||||
|
||||
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :w <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :w <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ǥ<EFBFBD><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EBA4BF><EFBFBD><EFBFBD> :!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> :!ls <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
<20><><EFBFBD>Τ<EFBFBD><CEA4><EFBFBD> <ENTER> <20><EFBFBD><F2B2A1A4>Τϴ<CEA4><CFB4>ˤ<EFBFBD>¸<EFBFBD>ΤǤ<CEA4><C7A4>͡<EFBFBD>
|
||||
@@ -634,7 +635,7 @@ NOTE:
|
||||
3. <20>Ǥ<EFBFBD> :w TEST <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦 (TEST <20>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD>Ǥ<EFBFBD>)<29><>
|
||||
|
||||
4. <20><><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> TEST <20>Ȥ<EFBFBD><C8A4><EFBFBD>̾<EFBFBD><CCBE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20>⤦<EFBFBD><E2A4A6><EFBFBD><EFBFBD> :!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> :!ls <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>Ƴ<EFBFBD>ǧ<EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
<20>⤦<EFBFBD><E2A4A6><EFBFBD><EFBFBD> :!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> :!ls <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ƥǥ<EFBFBD><EFBFBD>쥯<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD>
|
||||
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ TEST <20>ȶ<EFBFBD><C8B6>˵<EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD>塼<EFBFBD>ȥꥢ<C8A5><EAA5A2><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>夬<EFBFBD><E5A4AC><EFBFBD>Ϥ<EFBFBD><CFA4>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
@@ -647,7 +648,7 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5.3: <20><><EFBFBD><EFBFBD><F2A4B7A4><EFBFBD><F1A4ADB9><EFBFBD>
|
||||
|
||||
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><CEB0>֤<EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>v <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :w FILENAME <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD> **
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>v <20>⡼<EFBFBD><E2A1BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :w FILENAME <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -660,20 +661,20 @@ NOTE:
|
||||
<ENTER> <20><EFBFBD><F2B2A1A4><EFBFBD><EFBFBD><EFBFBD> :'<,'>w TEST <20>ȤʤäƤ<C3A4><C6A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
5. Vim <20><> TEST <20>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<F2A4B5A4>Ԥ<EFBFBD><D4A4><EFBFBD><F1A4ADB9><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
||||
!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> !ls <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
:!dir <20>⤷<EFBFBD><E2A4B7><EFBFBD><EFBFBD> :!ls <20>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><CAA4>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD>ǻ<EFBFBD><C7BB>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
NOTE: v <20><EFBFBD><F2B2A1A4>ȡ<EFBFBD>Visual <20><><EFBFBD>Ϥޤ<CFA4><DEA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥǡ<C8A4><C7A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰϤ<CFB0>
|
||||
<20>礭<EFBFBD><E7A4AD><EFBFBD>⾮<EFBFBD><E2BEAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><CBA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰϤ<CFB0><CFA4>Ф<EFBFBD><D0A4>ƥ<EFBFBD><C6A5>ڥ졼<DAA5><ECA1BC><EFBFBD><EFBFBD>Ŭ<EFBFBD><C5AC>
|
||||
<20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>㤨<EFBFBD><E3A4A8> d <20>ϥƥ<CFA5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㤨<EFBFBD><EFBFBD> d <20>ϥƥ<CFA5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5.4: <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD>ȹ<EFBFBD>ʻ
|
||||
|
||||
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :r <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> :r <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>̾ <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>ιԤ˹<EFBFBD><EFBFBD>碌<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ιԤΤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD>碌<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
NOTE: <20><><EFBFBD>ƥå<C6A5> 2 <20>μ¹Ը塢<D4B8><E5A1A2><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5.3 <20>Υƥ<CEA5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><CBB2><EFBFBD><EFBFBD>äƤ<C3A4>
|
||||
<20>Υ<EFBFBD><CEA5>å<EFBFBD><C3A5><EFBFBD><EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
@@ -682,19 +683,18 @@ NOTE:
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD> TEST <20>ϻȤ<CFBB><C8A4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD><CCBE><EFBFBD>Τ<EFBFBD><CEA4>ȤǤ<C8A4><C7A4><EFBFBD>
|
||||
<20>ɤ߹<C9A4><DFB9>ޤ줿<DEA4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥβ<D4A4><CEB2>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ƥߤޤ<DFA4><DEA4>礦<EFBFBD><E7A4A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᤹<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>å<EFBFBD><C3A5><EFBFBD>5.3 <20><>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǧ<EFBFBD><EFBFBD><EFBFBD>Ƥߤޤ<EFBFBD><EFBFBD>礦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᤹<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD>5.3 <20><>
|
||||
<20><><EFBFBD>ꥸ<EFBFBD>ʥ<EFBFBD><CAA5>ȥե<C8A5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD>2<EFBFBD>Ĥ<EFBFBD><C4A4><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>狼<EFBFBD><EFA4AB><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤν<C9A4><CEBD>Ϥ<EFBFBD><CFA4>ɤ߹<C9A4><DFB9>ळ<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㤨<EFBFBD>С<EFBFBD>
|
||||
NOTE: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤν<C9A4><CEBD>Ϥ<EFBFBD><CFA4>ɤ߹<C9A4><DFB9>ळ<EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>㤨<EFBFBD>С<EFBFBD>
|
||||
:r !ls <20><> ls <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤν<C9A4><CEBD>Ϥ<CFA4><F2A5ABA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><CAB2><EFBFBD><EFBFBD>ɤ߹<C9A4><DFB9>ߤޤ<DFA4><DEA4><EFBFBD>
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 5 <20><><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
1. :!command <20>ˤ<EFBFBD><CBA4>ä<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹Ԥ<C2B9><D4A4>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
1. :!command <20>ˤ<EFBFBD><CBA4>ä<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4>¹Ԥ<C2B9><D4A4>롣
|
||||
|
||||
<20>褯<EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD>:
|
||||
(Windows) (Unix)
|
||||
@@ -717,13 +717,14 @@ NOTE:
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.1: <20><><EFBFBD><EFBFBD><EFBFBD>ץޥ<F3A5B3A5><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** o <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> **
|
||||
** o <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
2. o (<28><>ʸ<EFBFBD><CAB8>) <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>ơ<EFBFBD><C6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>β<EFBFBD><CEB2>ιԤ<D4A4><F2B3ABA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD> <ESC> <EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
3. <20><><EFBFBD><EFBFBD><EFBFBD>Ĥ<EFBFBD>ʸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>顢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD> <ESC> <20><>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
---> o <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳ<EFBFBD><CFB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ԥذ<D4A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -735,12 +736,11 @@ NOTE:
|
||||
|
||||
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.2: <20>ɲå<C9B2><C3A5>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC>ΰ<EFBFBD><CEB0>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>ˤ<EFBFBD> a <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD> **
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD><CEBC>ΰ<EFBFBD><CEB0>֤<EFBFBD><D6A4><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>ˤ<EFBFBD> a <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ---> <20>Ǽ<EFBFBD><C7BC><EFBFBD><EFBFBD>줿<EFBFBD>ǽ<EFBFBD><C7BD>ιԤذ<D4A4>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4>礦<EFBFBD><E7A4A6>
|
||||
|
||||
@@ -763,7 +763,7 @@ NOTE: a, i
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.3: <20><><EFBFBD><EFBFBD>¾<EFBFBD><C2BE><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>ˡ
|
||||
|
||||
|
||||
** 1ʸ<31><CAB8><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> R <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦 **
|
||||
** 1ʸ<31><CAB8><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> R <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>ޤ<EFBFBD><DEA4>礦<EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20>ʲ<EFBFBD><CAB2><EFBFBD> ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥ˥<D4A4><CBA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD>ǽ<EFBFBD><C7BD><EFBFBD> xxx <20><><EFBFBD><EFBFBD>Ƭ<EFBFBD>˰<EFBFBD>ư<EFBFBD><C6B0>
|
||||
<20>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -781,12 +781,11 @@ NOTE: a, i
|
||||
NOTE: <20>ִ<EFBFBD><D6B4>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤ˻<C9A4><CBBB>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤΥ<C6A4><CEA5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>줿ʸ<ECA4BF><CAB8><EFBFBD>ϴ<EFBFBD>¸<EFBFBD><C2B8>ʸ<EFBFBD><CAB8>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.4: <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȤΥ<C8A4><CEA5>ԡ<EFBFBD><D4A1>ȥڡ<C8A5><DAA1><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
** <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȤΥ<C8A4><CEA5>ԡ<EFBFBD><D4A1>ˤϥ<CBA4><CFA5>ڥ졼<DAA5><ECA1BC> y <20>ڡ<F2A1A2A5><DAA1><EFBFBD><EFBFBD>Ȥˤ<C8A4> p <20><><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD> **
|
||||
** <20>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>ȤΥ<C8A4><CEA5>ԡ<EFBFBD><D4A1>ˤϥ<CBA4><CFA5>ڥ졼<DAA5><ECA1BC> y <20>ڡ<F2A1A2A5><DAA1><EFBFBD><EFBFBD>Ȥˤ<C8A4> p <20><><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. ---> <20>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD>줿<EFBFBD>Ԥذ<D4A4>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "a)" <20>θ<EFBFBD><CEB8><EFBFBD><EFBFBD>֤<EFBFBD><D6A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -804,12 +803,13 @@ NOTE:
|
||||
---> a) this is the first item.
|
||||
b)
|
||||
|
||||
NOTE: ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD> yank <20><><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD> y <20>ڥ졼<DAA5><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD> yw <20>Ȥ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
NOTE: y <20>ڥ졼<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ƻȤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>yw <20><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD> yank <EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
yy <20>ϹԤ<CFB9>1<EFBFBD><31> yank <20><><EFBFBD><EFBFBD>p <20>Ǥ<EFBFBD><C7A4>ιԤ<CEB9> put <20><><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6.5: <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>κݤ<CEBA><DDA4><EFBFBD>ʸ<EFBFBD><CAB8>/<2F><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>̵<EFBFBD>뤹<EFBFBD><EBA4B9><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>ޤ<EFBFBD> **
|
||||
** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>κݤ<CEBA><DDA4><EFBFBD>ʸ<EFBFBD><CAB8>/<2F><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>̵<EFBFBD>뤹<EFBFBD><EBA4B9><EFBFBD>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤷ<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD> **
|
||||
|
||||
1. <20><><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4><EFBFBD> 'ignore' <20><EFBFBD><F2B8A1BA><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4>礦: /ignore <ENTER>
|
||||
n <20><EFBFBD><F2B2A1A4>Ʋ<EFBFBD><C6B2>٤<EFBFBD><D9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><F2B7ABA4>֤<EFBFBD><D6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -826,7 +826,7 @@ NOTE:
|
||||
6. <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>: :set noic
|
||||
|
||||
NOTE: <20>ޥå<DEA5><C3A5>ζ<EFBFBD>Ĵɽ<C4B4><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϼ<CBA4><CFBC><EFBFBD><EFBFBD>ͤ<EFBFBD><CDA4><EFBFBD><EFBFBD>Ϥ<EFBFBD><CFA4>ޤ<EFBFBD>: :nohlsearch
|
||||
NOTE: 1<>Ĥθ<C4A4><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><E1A4BF><EFBFBD>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1>ե졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> \c
|
||||
NOTE: 1<>Ĥθ<C4A4><CEB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><E1A4BF><EFBFBD>ʤ<EFBFBD><CAA4>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \c
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD>: /ignore\c <ENTER>
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<09><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 6 <20><><EFBFBD><EFBFBD>
|
||||
@@ -835,13 +835,13 @@ NOTE: 1
|
||||
O (<28><>ʸ<EFBFBD><CAB8>) <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><CEBE>ιԤ<CEB9><D4A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⡼<EFBFBD>ɤˤʤ롣
|
||||
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>μ<EFBFBD><CEBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ɲä<C9B2><C3A4><EFBFBD><EFBFBD>ˤ<EFBFBD> a <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4>롣
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>˼<EFBFBD>ư<EFBFBD>ǥƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD> A <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>롣
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>˥ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><EFBFBD> A <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4>롣
|
||||
|
||||
3. e <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD>ü<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>롣
|
||||
3. e <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>ν<EFBFBD>ü<EFBFBD>˥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>롣
|
||||
|
||||
4. y <20><><EFBFBD>ڥ졼<DAA5><ECA1BC><EFBFBD>ϥƥ<CFA5><C6A5><EFBFBD><EFBFBD>Ȥ<EFBFBD> yank (<28><><EFBFBD>ԡ<EFBFBD>)<29><><EFBFBD><EFBFBD>p <20>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD> put (<28>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD>)<29><><EFBFBD>롣
|
||||
|
||||
5. <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> R <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>ꡢ<ESC><3E><EFBFBD><F2B2A1A4><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>롣
|
||||
5. <20><>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD> R <20><EFBFBD><F2A5BFA5>פ<EFBFBD><D7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>⡼<EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>ꡢ<ESC> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD>롣
|
||||
|
||||
6. ":set xxx" <20>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD>פ<EFBFBD><D7A4><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD> "xxx" <20><><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EAA4B5><EFBFBD>롣
|
||||
'ic' 'ignorecase' <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>ζ<EFBFBD><CEB6>̤<EFBFBD><CCA4>ʤ<EFBFBD>
|
||||
@@ -849,7 +849,7 @@ NOTE: 1
|
||||
'hls' 'hlsearch' <09>ޥå<DEA5><C3A5><EFBFBD><EFBFBD>뤹<EFBFBD>٤Ƥ<D9A4><C6A4><EFBFBD>Ĵɽ<C4B4><C9BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Ĺ<><C4B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Υ<EFBFBD><CEA5>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD>̾<EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD><EFBFBD>ѤǤ<D1A4><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
7. <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ˤ<EFBFBD> "no" <20><><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD>ޤ<EFBFBD>: :set noic
|
||||
7. <20><><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>ˤ<EFBFBD><CBA4><EFBFBD><EFBFBD>ˤ<EFBFBD> "no" <20><><EFBFBD><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD><EFBFBD>: :set noic
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
<20><><EFBFBD>å<EFBFBD><C3A5><EFBFBD> 7.1: <20><><EFBFBD><EFBFBD><EFBFBD>饤<EFBFBD><E9A5A4><EFBFBD>إ<EFBFBD><D8A5>ץ<EFBFBD><D7A5>ޥ<EFBFBD><DEA5><EFBFBD>
|
||||
@@ -883,15 +883,15 @@ NOTE: 1
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD>ԲĤȤʤäƤ<C3A4><C6A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¿<EFBFBD><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ħ<EFBFBD><C4A7><EFBFBD>Ȥ<EFBFBD><C8A4>Ϥ<EFBFBD><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD> "vimrc" <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
1. "vimrc" <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>Ϥ<F2B3ABBB><CFA4>롣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>˰<EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
:edit ~/.vimrc UNIX <20><><EFBFBD><EFBFBD>
|
||||
:edit ~/_vimrc Windows <20><><EFBFBD><EFBFBD>
|
||||
1. "vimrc" <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><D4BD>Ϥ<F2B3ABBB><CFA4>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>˰<EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||||
:e ~/.vimrc UNIX <20><><EFBFBD><EFBFBD>
|
||||
:e ~/_vimrc Windows <20><><EFBFBD><EFBFBD>
|
||||
|
||||
2. <20><><EFBFBD><EFBFBD><EFBFBD>ǥ<EFBFBD><C7A5><EFBFBD><EFBFBD>ץ<EFBFBD><D7A5><EFBFBD> "vimrc" <20><><EFBFBD>ɤ߹<C9A4><DFB9>ߤޤ<DFA4><DEA4><EFBFBD>
|
||||
:read $VIMRUNTIME/vimrc_example.vim
|
||||
:r $VIMRUNTIME/vimrc_example.vim
|
||||
|
||||
3. <20>ʲ<EFBFBD><CAB2>Τ褦<CEA4>˥ե<CBA5><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؽ<D8BD><F1A4ADB9>ߤޤ<DFA4><DEA4><EFBFBD>
|
||||
:write
|
||||
:w
|
||||
|
||||
<20><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>Ť<EFBFBD><C5A4><EFBFBD>ʸ<EFBFBD><CAB8><EFBFBD>Ȥ<EFBFBD><C8A4><EFBFBD><EFBFBD>褦<EFBFBD>ˤʤ<CBA4><CAA4>Ǥ<EFBFBD><C7A4>礦<EFBFBD><E7A4A6>
|
||||
<20><><EFBFBD><EFBFBD> "vimrc" <20>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ء<EFBFBD><D8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><DFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲä<C9B2><C3A4>뤳<EFBFBD>Ȥ<EFBFBD><C8A4>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
@@ -907,7 +907,7 @@ NOTE: 1
|
||||
|
||||
2. <20><><EFBFBD>ߤΥǥ<CEA5><C7A5>쥯<EFBFBD>ȥ<EFBFBD><C8A5>˺ߤ<CBBA><DFA4>ե<EFBFBD><D5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> :!ls <20><> :!dir <20>dz<EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
3. <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤγ<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ޤ<EFBFBD>: :e
|
||||
3. <20><><EFBFBD>ޥ<EFBFBD><DEA5>ɤ<EFBFBD><EFBFBD><EFBFBD>Ƭ<EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ޤ<EFBFBD>: :e
|
||||
|
||||
4. CTRL-D <20><EFBFBD><F2B2A1A4><EFBFBD> Vim <20><> "e" <20><><EFBFBD><EFBFBD><EFBFBD>Ϥޤ륳<DEA4>ޥ<EFBFBD><DEA5>ɤΰ<C9A4><CEB0><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
|
||||
@@ -955,7 +955,7 @@ NOTE:
|
||||
<09><><EFBFBD>Ǽ<EFBFBD>: New Riders
|
||||
<20>ǽ<EFBFBD><C7BD><EFBFBD><EFBFBD>ܤϴ<DCA4><CFB4><EFBFBD><EFBFBD><EFBFBD> Vim <20>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>˽<CBBD><F1A4ABA4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>櫓<EFBFBD>鿴<EFBFBD>ԤˤϤ<CBA4><CFA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4><EFBFBD>
|
||||
¿<><C2BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><C7A4>Ǻܤ<C7BA><DCA4><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD>URL<52>Ȥ<F2BBB2BE><C8A4>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD> http://iccf-holland.org/click5.html
|
||||
<20><><EFBFBD><EFBFBD>URL<52>Ȥ<F2BBB2BE><C8A4>Ʋ<EFBFBD><C6B2><EFBFBD><EFBFBD><EFBFBD> https://iccf-holland.org/click5.html
|
||||
|
||||
<20><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vi <20>ˤĤ<CBA4><C4A4>ƽ줿<F1A4ABA4>Ť<EFBFBD><C5A4>ܤǤ<DCA4><C7A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>:
|
||||
Learning the Vi Editor - by Linda Lamb
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user