mirror of
https://github.com/zoriya/vim.git
synced 2025-12-24 16:15:21 +00:00
Compare commits
466 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
542805a59d | ||
|
|
eec3e1e72a | ||
|
|
6dbe68cd9e | ||
|
|
398d53decf | ||
|
|
1b1b09449f | ||
|
|
1a42b4befb | ||
|
|
1a4a75c5dc | ||
|
|
16ea3676db | ||
|
|
a2320f43ea | ||
|
|
e855ccf90a | ||
|
|
e2db695d31 | ||
|
|
ff18df03c3 | ||
|
|
af003f6384 | ||
|
|
2b90ed294e | ||
|
|
ad875fb7ff | ||
|
|
e24a9c0b59 | ||
|
|
196ed14d15 | ||
|
|
9d48895e4c | ||
|
|
5f919ee8eb | ||
|
|
ac7c33e38c | ||
|
|
9ba7e17de1 | ||
|
|
e53c8616f1 | ||
|
|
a8f96397a1 | ||
|
|
b7a846d0e0 | ||
|
|
69b52456fc | ||
|
|
de9149ef18 | ||
|
|
4a3aef7b28 | ||
|
|
9e90219032 | ||
|
|
706d2de9c1 | ||
|
|
95064ece73 | ||
|
|
33ca6bf240 | ||
|
|
56667a5d3e | ||
|
|
6f2926692b | ||
|
|
6f394f88b8 | ||
|
|
91b2bdb083 | ||
|
|
ff52518969 | ||
|
|
3fb14bc734 | ||
|
|
ee31be64a3 | ||
|
|
690ae9c858 | ||
|
|
2b79bfdeab | ||
|
|
a0aa9070be | ||
|
|
a3fe8fe632 | ||
|
|
8e46f7264c | ||
|
|
3ff9b185fe | ||
|
|
fba2424cf2 | ||
|
|
fee496d882 | ||
|
|
e741f2714d | ||
|
|
fb97f28cc2 | ||
|
|
e032461eed | ||
|
|
b69510e889 | ||
|
|
dd007ed585 | ||
|
|
4ca8d5fefd | ||
|
|
04c5c9ee27 | ||
|
|
c64b85a348 | ||
|
|
f4c096b617 | ||
|
|
e8785f2c39 | ||
|
|
3c04cc09cd | ||
|
|
7b8c268fc1 | ||
|
|
913df81e74 | ||
|
|
dc8b25cbf3 | ||
|
|
0d86e9b568 | ||
|
|
254e028e90 | ||
|
|
91aeaf4cce | ||
|
|
bc488a76cc | ||
|
|
2c6f3dca4e | ||
|
|
266411aa8a | ||
|
|
ccf623f6f8 | ||
|
|
94f76b7fd6 | ||
|
|
ba46075731 | ||
|
|
249f0dda51 | ||
|
|
61214040e9 | ||
|
|
a3c084cbfa | ||
|
|
3c1e9c2a1f | ||
|
|
c84e3c1ee1 | ||
|
|
ee0ee2a046 | ||
|
|
3437b91102 | ||
|
|
32ac8cdaaa | ||
|
|
0f5a5ed8bb | ||
|
|
f4c5fcb3ad | ||
|
|
8968a31179 | ||
|
|
f4e1143697 | ||
|
|
a87aa8061c | ||
|
|
caf2dffd51 | ||
|
|
5e6d5ca16c | ||
|
|
e1fc4e2f0f | ||
|
|
79f7e1475a | ||
|
|
f9da680a0b | ||
|
|
2951b77e50 | ||
|
|
4100937474 | ||
|
|
c33916a6e0 | ||
|
|
f5901aa195 | ||
|
|
2982e70243 | ||
|
|
72fe56f298 | ||
|
|
bd65c46478 | ||
|
|
0e710d603e | ||
|
|
d05bf560ac | ||
|
|
673b9a3cae | ||
|
|
e057d40d96 | ||
|
|
5a4d51e692 | ||
|
|
85e932f2ca | ||
|
|
e78495de7e | ||
|
|
2486285546 | ||
|
|
730d2c0747 | ||
|
|
55480dccf4 | ||
|
|
a4c8dcbdae | ||
|
|
14b6945e27 | ||
|
|
10315b1201 | ||
|
|
6b487147ac | ||
|
|
39efa89afb | ||
|
|
2751592119 | ||
|
|
a8e3580be6 | ||
|
|
630a730f9b | ||
|
|
f3fe392760 | ||
|
|
4a46070365 | ||
|
|
fe17e7640d | ||
|
|
72179e1bd0 | ||
|
|
b751546636 | ||
|
|
560c52d32b | ||
|
|
4d9ae21a34 | ||
|
|
e3a0b53c2e | ||
|
|
f0327f67c7 | ||
|
|
22dbc77ef1 | ||
|
|
6470de83f2 | ||
|
|
a5f5c8be8f | ||
|
|
5737ca2350 | ||
|
|
c9dcb42704 | ||
|
|
9b846cb8ac | ||
|
|
877aa00811 | ||
|
|
c14621eafb | ||
|
|
abab85a499 | ||
|
|
a0169128d9 | ||
|
|
b893ac2098 | ||
|
|
31c31679e2 | ||
|
|
b052fe0e2c | ||
|
|
f05d81102c | ||
|
|
f86c0b01a7 | ||
|
|
daa270289b | ||
|
|
c8c13a0307 | ||
|
|
56b45b9b37 | ||
|
|
df2bc27b52 | ||
|
|
c1c3d68da9 | ||
|
|
d5e376eb3b | ||
|
|
7e85d3d432 | ||
|
|
dee2e315d7 | ||
|
|
ede3e6383d | ||
|
|
6f1404f8a8 | ||
|
|
841fbd2907 | ||
|
|
c4b99e0be7 | ||
|
|
141be8a585 | ||
|
|
c476e52fca | ||
|
|
0bd80ccd85 | ||
|
|
808c2bc8bf | ||
|
|
389a1793f4 | ||
|
|
6c85e7f3be | ||
|
|
3dbcd0c7ad | ||
|
|
fe70acb376 | ||
|
|
d73895ec00 | ||
|
|
22f93c700f | ||
|
|
a6cc03101e | ||
|
|
db250526bb | ||
|
|
a0c85c7ae1 | ||
|
|
555d2a8340 | ||
|
|
d79862599d | ||
|
|
6324c3b920 | ||
|
|
06ae70d07c | ||
|
|
01b626c26e | ||
|
|
8c0e322f18 | ||
|
|
6949eea7cc | ||
|
|
5246cd7a9b | ||
|
|
03e114b0f2 | ||
|
|
70baa405f2 | ||
|
|
427d51c23f | ||
|
|
a50d02d983 | ||
|
|
5ab9d98b9a | ||
|
|
926b5d3b30 | ||
|
|
d69497413f | ||
|
|
4ce239b0b1 | ||
|
|
3351679948 | ||
|
|
e66f06d819 | ||
|
|
52b91d801a | ||
|
|
df9259abce | ||
|
|
dab38d516e | ||
|
|
9be6e21575 | ||
|
|
ff1806f8da | ||
|
|
141f6bb341 | ||
|
|
4cff8faf05 | ||
|
|
44c71db771 | ||
|
|
1612b1abe7 | ||
|
|
c5089bb8ff | ||
|
|
580abea48a | ||
|
|
6e70736cbc | ||
|
|
4c46b5e001 | ||
|
|
9d438d3b38 | ||
|
|
0c6633a7ea | ||
|
|
5f87b23229 | ||
|
|
b62bcd1e05 | ||
|
|
484d241a4a | ||
|
|
98bfc2d5ee | ||
|
|
82850dd9cb | ||
|
|
12b559e7c3 | ||
|
|
2a876e40ce | ||
|
|
ec7944aaf2 | ||
|
|
cab465a6d7 | ||
|
|
0825c00f14 | ||
|
|
22971aaa45 | ||
|
|
6395af8018 | ||
|
|
edb07a2d88 | ||
|
|
2d473ab932 | ||
|
|
81c40c507c | ||
|
|
27610ed76c | ||
|
|
9f3685a527 | ||
|
|
0ea4a6b94b | ||
|
|
60bf1f58d0 | ||
|
|
a2947e2bea | ||
|
|
780c3e9b04 | ||
|
|
3c7ad013fb | ||
|
|
a9f2220176 | ||
|
|
16619a235b | ||
|
|
9a773488a7 | ||
|
|
c09a6d6c0c | ||
|
|
f9c9b32bd1 | ||
|
|
c1ba10c7f6 | ||
|
|
570064cf21 | ||
|
|
a2e14fc764 | ||
|
|
0bdda37fb4 | ||
|
|
bcf4d178ab | ||
|
|
4380d1ea23 | ||
|
|
11354759e2 | ||
|
|
927d4a1fb5 | ||
|
|
2a4e98ac1e | ||
|
|
a940aa6fc4 | ||
|
|
1e02e6620b | ||
|
|
e7766eeaa5 | ||
|
|
473de61b04 | ||
|
|
cd9c46265e | ||
|
|
87f764a891 | ||
|
|
b1b284fd5d | ||
|
|
f96d109827 | ||
|
|
2358403363 | ||
|
|
3798519b9e | ||
|
|
45fc539fe0 | ||
|
|
a238431302 | ||
|
|
43e0298416 | ||
|
|
decd9540fd | ||
|
|
8aca2e9bef | ||
|
|
417bad227a | ||
|
|
203d04d764 | ||
|
|
4cd92d5aae | ||
|
|
4e31296ffa | ||
|
|
cc908adac8 | ||
|
|
d89616ebb8 | ||
|
|
6d3a5d755a | ||
|
|
188c57bcd1 | ||
|
|
f751255283 | ||
|
|
8a7f5a2d43 | ||
|
|
cd2d8bb6ea | ||
|
|
2976c028ca | ||
|
|
c19b4b50a8 | ||
|
|
973fced763 | ||
|
|
d4209d203a | ||
|
|
e60c2e5e1c | ||
|
|
8795374bd3 | ||
|
|
67604aed75 | ||
|
|
5b84ddccea | ||
|
|
1cd3f2c450 | ||
|
|
e2b8cb3b15 | ||
|
|
d75799ab7f | ||
|
|
78eae9aaf7 | ||
|
|
5ebc09b450 | ||
|
|
b76591ef4a | ||
|
|
044aa290c5 | ||
|
|
dacd7de3fd | ||
|
|
f811509c03 | ||
|
|
a2d9510861 | ||
|
|
dd9a4a44a9 | ||
|
|
e9056b121d | ||
|
|
01d89dddfa | ||
|
|
dd2ccdf6ea | ||
|
|
f46da70603 | ||
|
|
f18fb7af75 | ||
|
|
f6de032afe | ||
|
|
9f5d600723 | ||
|
|
ac499e3116 | ||
|
|
78b5957439 | ||
|
|
f4258308e2 | ||
|
|
4f2109d782 | ||
|
|
bc41196bdc | ||
|
|
de71b5658f | ||
|
|
525666f282 | ||
|
|
307aa16a69 | ||
|
|
b122e9798e | ||
|
|
69afb7bf0a | ||
|
|
5de820b916 | ||
|
|
efb23f26e8 | ||
|
|
0418811869 | ||
|
|
61602c5bfe | ||
|
|
543b7ef700 | ||
|
|
3737fc1c30 | ||
|
|
75d7a06920 | ||
|
|
36b3a011d3 | ||
|
|
54dafde170 | ||
|
|
4b78063368 | ||
|
|
14f55c6f67 | ||
|
|
99dc19d1cc | ||
|
|
ca982c8d45 | ||
|
|
96c7dfd806 | ||
|
|
b06e20e6ba | ||
|
|
35eacd7180 | ||
|
|
2d5e112284 | ||
|
|
021e147b70 | ||
|
|
f62d942e54 | ||
|
|
16299b57cb | ||
|
|
4b6ebe6dce | ||
|
|
428e987b61 | ||
|
|
fdde880b02 | ||
|
|
fc714b35c6 | ||
|
|
018acca3bd | ||
|
|
305b2fde13 | ||
|
|
8600e40a67 | ||
|
|
bcb40977c3 | ||
|
|
494ff7e850 | ||
|
|
355fd9b468 | ||
|
|
78cddbe271 | ||
|
|
a9922d62e6 | ||
|
|
a5b725c3f6 | ||
|
|
1a3b56953e | ||
|
|
a1544c00c8 | ||
|
|
01a7a720ad | ||
|
|
9bb77d6fe6 | ||
|
|
bad704fa04 | ||
|
|
7e28384a9a | ||
|
|
07b8864111 | ||
|
|
1bcabe19a2 | ||
|
|
a03e631120 | ||
|
|
c8366790e8 | ||
|
|
c37b6ecd60 | ||
|
|
b38caae26c | ||
|
|
dd8aca664d | ||
|
|
432b09c84d | ||
|
|
21642ed1b4 | ||
|
|
9e822c00b1 | ||
|
|
3e734ea2c7 | ||
|
|
e9ba516be2 | ||
|
|
1bc2428e1f | ||
|
|
0014a53ad1 | ||
|
|
423532e10d | ||
|
|
28c2191949 | ||
|
|
75eb1610e1 | ||
|
|
f9e56b2b03 | ||
|
|
4ac6676cee | ||
|
|
51a2983904 | ||
|
|
5714b80032 | ||
|
|
e0fea9c405 | ||
|
|
eb3ecae23a | ||
|
|
2cb8feb880 | ||
|
|
26c2f3fc4e | ||
|
|
963fee2d69 | ||
|
|
c4912e555b | ||
|
|
e23febdb85 | ||
|
|
61db8b5108 | ||
|
|
57a285b105 | ||
|
|
3451d66244 | ||
|
|
7cd4d9c17c | ||
|
|
3f1682e808 | ||
|
|
fdb6dc1105 | ||
|
|
47196581b8 | ||
|
|
aae4883e01 | ||
|
|
4b41706477 | ||
|
|
f47ca63dbc | ||
|
|
56d58d51bf | ||
|
|
152e7890c1 | ||
|
|
d6c11cb3e0 | ||
|
|
fad8de084a | ||
|
|
3c577f26cd | ||
|
|
1d814754c0 | ||
|
|
425154d888 | ||
|
|
02e26d9807 | ||
|
|
a03dbed9e9 | ||
|
|
307d10a2fb | ||
|
|
35b2386a8e | ||
|
|
c96ebe75e5 | ||
|
|
2a0f3d3fb2 | ||
|
|
0b9aecc3a5 | ||
|
|
673af4d304 | ||
|
|
2eec59e30b | ||
|
|
f878bf0da2 | ||
|
|
e6ae6225b4 | ||
|
|
774267bbb9 | ||
|
|
a7b64ce74e | ||
|
|
cac867ad18 | ||
|
|
1dc28783fa | ||
|
|
182dc4f2ab | ||
|
|
e64faa6645 | ||
|
|
d6e391862c | ||
|
|
b52f4c02e6 | ||
|
|
b09d983c78 | ||
|
|
12e4014092 | ||
|
|
66e83d7db0 | ||
|
|
d2470e9fbe | ||
|
|
d7a06b1d71 | ||
|
|
8dd7901a66 | ||
|
|
9bad29decf | ||
|
|
080504921d | ||
|
|
0fabe3fdbe | ||
|
|
09ea9fcf3f | ||
|
|
745fc029ba | ||
|
|
e3c7b86aab | ||
|
|
7fcff1f781 | ||
|
|
ca12d7c004 | ||
|
|
053bb60f44 | ||
|
|
bc0ea8f75e | ||
|
|
10f3a79e89 | ||
|
|
ba40447ab1 | ||
|
|
097c992c46 | ||
|
|
884f6e44e0 | ||
|
|
fbc0d2ea1e | ||
|
|
6fa41fb374 | ||
|
|
7533fddd09 | ||
|
|
9e74e30b5f | ||
|
|
ad3b366c82 | ||
|
|
d620aa9be4 | ||
|
|
cfef5ff23e | ||
|
|
cabf80ff2f | ||
|
|
105bc355a6 | ||
|
|
55b8ad3dab | ||
|
|
c24c1acd82 | ||
|
|
07729b25bf | ||
|
|
54e8f00581 | ||
|
|
2cd7362e30 | ||
|
|
3dab2806fe | ||
|
|
71700b8903 | ||
|
|
a4720019cf | ||
|
|
b983f75d22 | ||
|
|
d5f729cada | ||
|
|
e761459eb6 | ||
|
|
8661b17843 | ||
|
|
4d188da22b | ||
|
|
5e538ecd5e | ||
|
|
03db85b398 | ||
|
|
b6c589a529 | ||
|
|
46a7561f3a | ||
|
|
dfa38d4e45 | ||
|
|
29607acff6 | ||
|
|
bd80f35bc5 | ||
|
|
8f1723de47 | ||
|
|
3d0c52db9c | ||
|
|
4e5dfb5700 | ||
|
|
99add41656 | ||
|
|
6d21645f46 | ||
|
|
971db46799 | ||
|
|
3b9abb6cc2 | ||
|
|
76a86063ca | ||
|
|
82e803b055 | ||
|
|
99685e6a7e | ||
|
|
6800186a03 | ||
|
|
09bb33dde9 | ||
|
|
290424868d | ||
|
|
51ac8a27e5 | ||
|
|
161fb5e302 | ||
|
|
531da5955e | ||
|
|
229f8dbf7a | ||
|
|
49e649fc2e | ||
|
|
84a05acc8c | ||
|
|
84e0f6ca9a | ||
|
|
d1864597a0 | ||
|
|
8fadd8b840 |
5
.gitignore
vendored
5
.gitignore
vendored
@@ -36,12 +36,16 @@ src/Obj*/pathdef.c
|
||||
gvimext.dll
|
||||
gvimext.lib
|
||||
|
||||
# Mac OSX
|
||||
src/xxd/xxd.dSYM
|
||||
|
||||
# All platforms
|
||||
*.rej
|
||||
*.orig
|
||||
*.mo
|
||||
*.swp
|
||||
*~
|
||||
*.pyc
|
||||
src/po/vim.pot
|
||||
|
||||
# Generated by "make test"
|
||||
@@ -52,3 +56,4 @@ src/testdir/lua.vim
|
||||
src/testdir/small.vim
|
||||
src/testdir/tiny.vim
|
||||
src/testdir/test*.out
|
||||
src/testdir/test.log
|
||||
|
||||
8
Contents
8
Contents
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
|
||||
messages, shows current file name in window title, on-line
|
||||
help, rectangular cut/paste, etc., etc., etc...
|
||||
|
||||
Version 7.3. Also runs under UNIX, MSDOS and other systems.
|
||||
vim73rt.tgz contains the documentation and syntax files.
|
||||
vim73bin.tgz contains the binaries.
|
||||
vim73src.tgz contains the sources.
|
||||
Version 7.4b. Also runs under UNIX, MSDOS and other systems.
|
||||
vim74brt.tgz contains the documentation and syntax files.
|
||||
vim74bbin.tgz contains the binaries.
|
||||
vim74bsrc.tgz contains the sources.
|
||||
Author: Bram Moolenaar et al.
|
||||
|
||||
|
||||
|
||||
11
Filelist
11
Filelist
@@ -57,6 +57,7 @@ SRC_ALL = \
|
||||
src/popupmnu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp_nfa.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
@@ -83,6 +84,15 @@ SRC_ALL = \
|
||||
src/testdir/test49.vim \
|
||||
src/testdir/test60.vim \
|
||||
src/testdir/test83-tags? \
|
||||
src/testdir/python2/*.py \
|
||||
src/testdir/python3/*.py \
|
||||
src/testdir/pythonx/*.py \
|
||||
src/testdir/pythonx/topmodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py \
|
||||
src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py \
|
||||
src/testdir/python_after/*.py \
|
||||
src/testdir/python_before/*.py \
|
||||
src/proto.h \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
@@ -684,6 +694,7 @@ LANG_GEN = \
|
||||
runtime/doc/*-fr.UTF-8.1 \
|
||||
runtime/doc/*-it.1 \
|
||||
runtime/doc/*-it.UTF-8.1 \
|
||||
runtime/doc/*-ja.UTF-8.1 \
|
||||
runtime/doc/*-pl.1 \
|
||||
runtime/doc/*-pl.UTF-8.1 \
|
||||
runtime/doc/*-ru.1 \
|
||||
|
||||
98
Makefile
98
Makefile
@@ -74,14 +74,17 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
|
||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||
|
||||
MAJOR = 7
|
||||
MINOR = 3
|
||||
MINOR = 4b
|
||||
|
||||
# Uncomment this line if the Win32s version is to be included.
|
||||
DOSBIN_S = dosbin_s
|
||||
# DOSBIN_S = dosbin_s
|
||||
|
||||
# Uncomment this line if the 16 bit DOS version is to be included.
|
||||
# DOSBIN_D16 = dosbin_d16
|
||||
|
||||
# Uncomment this line if the 32 bit DOS version is to be included.
|
||||
# DOSBIN_D32 = dosbin_d32
|
||||
|
||||
# CHECKLIST for creating a new version:
|
||||
#
|
||||
# - Update Vim version number. For a test version in: src/version.h, Contents,
|
||||
@@ -128,36 +131,20 @@ DOSBIN_S = dosbin_s
|
||||
# PC:
|
||||
# - Run make on Unix to update the ".mo" files.
|
||||
# - "make dossrc" and "make dosrt". Unpack the archives on a PC.
|
||||
# 16 bit DOS version: (OBSOLETE, 16 bit version doesn't build)
|
||||
# - Set environment for compiling with Borland C++ 3.1.
|
||||
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
|
||||
# case set environment for compiling with Borland C++ 4.0 and do
|
||||
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
|
||||
# NOTE: this currently fails because Vim is too big.
|
||||
# - "make test" and check the output.
|
||||
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
|
||||
# "uninstald16.exe".
|
||||
# 32 bit DOS version:
|
||||
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
|
||||
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
|
||||
# "ALL DONE".
|
||||
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
|
||||
# "uninstald32.exe".
|
||||
# Win32 console version:
|
||||
# - Set environment for Visual C++ 2008, e.g.:
|
||||
# "E:\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat". Or, when using the
|
||||
# Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths when necessary).
|
||||
# For Windows 98/ME the 2003 version is required, but then it won't work on
|
||||
# Windows 7 and 64 bit.
|
||||
# - "nmake -f Make_mvc.mak"
|
||||
# - Set environment for Visual C++ 2008, e.g.: "msvc2008.bat" Or:
|
||||
# "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat".
|
||||
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
|
||||
# paths when necessary).
|
||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
||||
# won't work on Windows 7 and 64 bit systems.
|
||||
# - "nmake -f Make_mvc.mak" (use the same path as for vcvars32.bat)
|
||||
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
|
||||
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
|
||||
# - Rename vim.exe to vimw32.exe, xxd/xxd.exe to xxdw32.exe.
|
||||
# - Rename vim.pdb to vimw32.pdb.
|
||||
# - When building the Win32s version later, delete vimrun.exe, install.exe and
|
||||
# uninstal.exe. Otherwise rename executables to installw32.exe and
|
||||
# uninstalw32.exe.
|
||||
# - Rename install.exe to installw32.exe and uninstal.exe to uninstalw32.exe.
|
||||
# Win32 GUI version:
|
||||
# - "nmake -f Make_mvc.mak GUI=yes.
|
||||
# - "nmake -f Make_mvc.mak GUI=yes"
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||
@@ -167,23 +154,13 @@ DOSBIN_S = dosbin_s
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
# - Delete install.exe and uninstal.exe.
|
||||
# - If building the Win32s version delete vimrun.exe.
|
||||
# Win32s GUI version:
|
||||
# - Set environment for Visual C++ 4.1 (requires a new console window):
|
||||
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
|
||||
# - Rename "gvim.exe" to "gvim_w32s.exe".
|
||||
# - Rename "install.exe" to "installw32.exe"
|
||||
# - Rename "uninstal.exe" to "uninstalw32.exe"
|
||||
# - The produced uninstalw32.exe and vimrun.exe are used.
|
||||
# Create the archives:
|
||||
# - Copy all the "*.exe" files to where this Makefile is.
|
||||
# - Copy all the "*.pdb" files to where this Makefile is.
|
||||
# - "make dosbin".
|
||||
# NSIS self installing exe:
|
||||
# - To get NSIS see http://nsis.sourceforge.net
|
||||
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
|
||||
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
|
||||
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
|
||||
# - copy these files (get them from a binary archive or build them):
|
||||
# gvimext.dll in src/GvimExt
|
||||
@@ -196,7 +173,44 @@ DOSBIN_S = dosbin_s
|
||||
# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
#
|
||||
# OS/2: (OBSOLETE, OS/2 version is no longer distributed)
|
||||
# 64 bit builds (these are not in the normal distribution, the 32 bit build
|
||||
# works just fine on 64 bit systems).
|
||||
# Like the console and GUI version, but first run vcvars64.bat or
|
||||
# "..\VC\vcvarsall.bat x86_amd64".
|
||||
# - "nmake -f Make_mvc.mak"
|
||||
# - "nmake -f Make_mvc.mak GUI=yes"
|
||||
# Or run src/bigvim64.bat for an OLE version.
|
||||
#
|
||||
# OBSOLETE systems: You can build this if you have an appropriate system.
|
||||
#
|
||||
# 16 bit DOS version: (doesn't build anywhere)
|
||||
# - Set environment for compiling with Borland C++ 3.1.
|
||||
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
|
||||
# case set environment for compiling with Borland C++ 4.0 and do
|
||||
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
|
||||
# NOTE: this currently fails because Vim is too big.
|
||||
# - "make test" and check the output.
|
||||
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
|
||||
# "uninstald16.exe".
|
||||
#
|
||||
# 32 bit DOS version: (requires Windows XP or earlier)
|
||||
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
|
||||
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
|
||||
# "ALL DONE".
|
||||
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
|
||||
# "uninstald32.exe".
|
||||
#
|
||||
# Win32s GUI version: (requires very old compiler)
|
||||
# - Set environment for Visual C++ 4.1 (requires a new console window):
|
||||
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
|
||||
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
|
||||
# - Rename "gvim.exe" to "gvim_w32s.exe".
|
||||
# - Rename "install.exe" to "installw32.exe"
|
||||
# - Rename "uninstal.exe" to "uninstalw32.exe"
|
||||
# - The produced uninstalw32.exe and vimrun.exe are used.
|
||||
#
|
||||
# OS/2: (requires an OS/2 system)
|
||||
# - Unpack the Unix archive.
|
||||
# - "make -f Make_os2.mak".
|
||||
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
|
||||
@@ -295,6 +309,8 @@ unixall: dist prepare
|
||||
$(LANG_SRC) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
# Need to use a "distclean" config.mk file
|
||||
# Note: this file is not included in the repository to avoid problems, but it's
|
||||
# OK to put it in the archive.
|
||||
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
|
||||
# Create an empty config.h file, make dependencies require it
|
||||
touch dist/$(VIMRTDIR)/src/auto/config.h
|
||||
@@ -450,7 +466,7 @@ runtime_unix2dos: dosrt_unix2dos
|
||||
cd dist/vim/$(VIMRTDIR); tar cf - * \
|
||||
| (cd ../../../runtime/dos; tar xf -)
|
||||
|
||||
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
|
||||
dosbin: prepare dosbin_gvim dosbin_w32 $(DOSBIN_D32) dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
|
||||
|
||||
# make Win32 gvim
|
||||
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
|
||||
WHAT IS VIM
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_ami.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_ami.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Amiga systems.
|
||||
See README.txt for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_amibin.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_amibin.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_amisrc.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_amisrc.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_ami.txt" for installation instructions for the Amiga.
|
||||
|
||||
@@ -1,19 +1,16 @@
|
||||
README_bindos.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_bindos.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim73rt.zip).
|
||||
These files are in the runtime archive (vim74rt.zip).
|
||||
|
||||
|
||||
There are several binary distributions of Vim for the PC. You would normally
|
||||
pick only one of them, but it's also possible to install several.
|
||||
These ones are available (the version number may differ):
|
||||
vim73d16.zip 16 bit DOS version
|
||||
vim73d32.zip 32 bit DOS version
|
||||
vim73w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim73.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim73ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
gvim73_s.zip Windows 3.1 GUI version
|
||||
vim74w32.zip Windows 95/98/NT/etc. console version
|
||||
gvim74.zip Windows 95/98/NT/etc. GUI version
|
||||
gvim74ole.zip Windows 95/98/NT/etc. GUI version with OLE
|
||||
|
||||
You MUST also get the runtime archive (vim73rt.zip).
|
||||
The sources are also available (vim73src.zip).
|
||||
You MUST also get the runtime archive (vim74rt.zip).
|
||||
The sources are also available (vim74src.zip).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_dos.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_dos.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -47,13 +47,13 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
Binary and runtime Vim archives are normally unpacked in the same location,
|
||||
on top of each other.
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim73",
|
||||
2. Unpack the zip archives. This will create a new directory "vim\vim74",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d gvim73.zip
|
||||
unzip vim73w32.zip
|
||||
pkunzip -d gvim74.zip
|
||||
unzip vim74w32.zip
|
||||
|
||||
You need to unpack the runtime archive and at least one of the binary
|
||||
archives. When using more than one binary version, be careful not to
|
||||
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
archive and follow the instructions in the documentation.
|
||||
|
||||
3. Change to the new directory:
|
||||
cd vim\vim73
|
||||
cd vim\vim74
|
||||
Run the "install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
|
||||
console or in a shell. You can select one of the directories in your
|
||||
$PATH. If you skip this, you can add Vim to the search path manually:
|
||||
The simplest is to add a line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim73
|
||||
set path=%path%;D:\editors\vim\vim73
|
||||
set path=%path%;C:\vim\vim74
|
||||
set path=%path%;D:\editors\vim\vim74
|
||||
- Create entries for Vim on the desktop and in the Start menu.
|
||||
|
||||
That's it!
|
||||
@@ -93,8 +93,8 @@ Remarks:
|
||||
won't show a menubar. Then you need to set the $VIM environment variable to
|
||||
point to the top directory of your Vim files. Example:
|
||||
set VIM=C:\editors\vim
|
||||
Vim version 7.3 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim73. See ":help $VIM" for more information.
|
||||
Vim version 7.4 will look for your vimrc file in $VIM, and for the runtime
|
||||
files in $VIM/vim74. See ":help $VIM" for more information.
|
||||
|
||||
- To avoid confusion between distributed files of different versions and your
|
||||
own modified vim scripts, it is recommended to use this directory layout:
|
||||
@@ -105,14 +105,14 @@ Remarks:
|
||||
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
|
||||
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
|
||||
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
|
||||
C:\vim\vim73\... Other version 7.3 distributed files.
|
||||
C:\vim\vim74\vim.exe The Vim version 7.4 executable.
|
||||
C:\vim\vim74\doc\*.txt The version 7.4 documentation files.
|
||||
C:\vim\vim74\bugreport.vim A Vim version 7.4 script.
|
||||
C:\vim\vim74\... Other version 7.4 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim73". Don't add
|
||||
"vim73" to $VIM, that won't work.
|
||||
Then $VIMRUNTIME will automatically be set to "$VIM\vim74". Don't add
|
||||
"vim74" to $VIM, that won't work.
|
||||
|
||||
- You can put your Vim executable anywhere else. If the executable is not
|
||||
with the other Vim files, you should set $VIM. The simplest is to add a line
|
||||
@@ -136,8 +136,8 @@ Remarks:
|
||||
Select Properties.
|
||||
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
|
||||
Vim executable. Examples:
|
||||
C:\command.com /c C:\vim\vim73\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim73\vim.exe
|
||||
C:\command.com /c C:\vim\vim74\vim.exe
|
||||
C:\command.com /c D:\editors\vim\vim74\vim.exe
|
||||
6. Select the font, window size, etc. that you like. If this isn't
|
||||
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
|
||||
mode".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_extra.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_extra.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
These extra files of Vim are for special purposes. This README explains what
|
||||
the files are for. For general information about Vim, see the "README.txt"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_mac.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_mac.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Macintosh systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_ole.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_ole.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This archive contains gvim.exe with OLE interface and VisVim.
|
||||
This version of gvim.exe can also load a number of interface dynamically (you
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
README_os2.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_os2.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on OS/2 systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
|
||||
NOTE: You will need two archives:
|
||||
vim73rt.zip contains the runtime files (same as for the PC version)
|
||||
vim73os2.zip contains the OS/2 executables
|
||||
vim74rt.zip contains the runtime files (same as for the PC version)
|
||||
vim74os2.zip contains the OS/2 executables
|
||||
|
||||
1. Go to the directory where you want to put the Vim files. Examples:
|
||||
cd C:\
|
||||
cd D:\editors
|
||||
|
||||
2. Unpack the zip archives. This will create a new directory "vim/vim73",
|
||||
2. Unpack the zip archives. This will create a new directory "vim/vim74",
|
||||
in which all the distributed Vim files are placed. Since the directory
|
||||
name includes the version number, it is unlikely that you overwrite
|
||||
existing files.
|
||||
Examples:
|
||||
pkunzip -d vim73os2.zip
|
||||
unzip vim73os2.zip
|
||||
pkunzip -d vim74os2.zip
|
||||
unzip vim74os2.zip
|
||||
|
||||
After you unpacked the files, you can still move the whole directory tree
|
||||
to another location.
|
||||
|
||||
3. Add the directory where vim.exe is to your path. The simplest is to add a
|
||||
line to your autoexec.bat. Examples:
|
||||
set path=%path%;C:\vim\vim73
|
||||
set path=%path%;D:\editors\vim\vim73
|
||||
set path=%path%;C:\vim\vim74
|
||||
set path=%path%;D:\editors\vim\vim74
|
||||
|
||||
That's it!
|
||||
|
||||
@@ -41,10 +41,10 @@ Extra remarks:
|
||||
C:\vim\_viminfo Dynamic info for 'viminfo'.
|
||||
C:\vim\... Other files you made.
|
||||
Distributed files:
|
||||
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
|
||||
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
|
||||
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
|
||||
C:\vim\vim73\... Other version 7.3 distributed files.
|
||||
C:\vim\vim74\vim.exe The Vim version 7.4 executable.
|
||||
C:\vim\vim74\doc\*.txt The version 7.4 documentation files.
|
||||
C:\vim\vim74\bugreport.vim A Vim version 7.4 script.
|
||||
C:\vim\vim74\... Other version 7.4 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_zOS.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_zOS.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This readme explains how to build Vim on z/OS. Formerly called OS/390.
|
||||
See "README.txt" for general information about Vim.
|
||||
@@ -29,7 +29,7 @@ console version).
|
||||
Compiling:
|
||||
==========
|
||||
|
||||
Vim can be compiled with or without GUI support. For 7.3 only the compilation
|
||||
Vim can be compiled with or without GUI support. For 7.4 only the compilation
|
||||
without GUI was tested. Below is a section about compiling with X11 but this
|
||||
is from an earlier version of Vim.
|
||||
|
||||
@@ -78,7 +78,7 @@ Change to the vim directory and do:
|
||||
With X11:
|
||||
---------
|
||||
|
||||
WARNING: This instruction was not tested with Vim 7.3.
|
||||
WARNING: This instruction was not tested with Vim 7.4.
|
||||
|
||||
There are two ways for building VIM with X11 support. The first way is simple
|
||||
and results in a big executable (~13 Mb), the second needs a few additional
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
README_src.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_src.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
The source archive contains the files needed to compile Vim on Unix systems.
|
||||
It is packed for Unix systems (NL line separator). It is also used for other
|
||||
systems in combination with the extra archive (vim-7.3-extra.tar.gz, in the
|
||||
"extra" directory of ftp.vim.org).
|
||||
It is packed for Unix systems (NL line separator).
|
||||
|
||||
For more information, see the README.txt file that comes with the runtime
|
||||
archive (vim-7.3-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive (vim-7.4-rt.tar.gz). To be able to run Vim you MUST get the runtime
|
||||
archive too!
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
README_srcdos.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_srcdos.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
See "README.txt" for general information about Vim.
|
||||
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
|
||||
These files are in the runtime archive (vim73rt.zip).
|
||||
These files are in the runtime archive (vim74rt.zip).
|
||||
|
||||
|
||||
The DOS source archive contains the files needed to compile Vim on MS-DOS or
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_unix.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_unix.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on Unix systems.
|
||||
See "README.txt" for general information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_vms.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_vms.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This file explains the installation of Vim on VMS systems.
|
||||
See "README.txt" in the runtime archive for information about Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
README_w32s.txt for version 7.3 of Vim: Vi IMproved.
|
||||
README_w32s.txt for version 7.4b of Vim: Vi IMproved.
|
||||
|
||||
This archive contains the gvim.exe that was specifically compiled for use in
|
||||
the Win32s subsystem in MS-Windows 3.1 and 3.11.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# WARNING: if you make changes to this script, look out for $0 to be valid,
|
||||
# because uninstall deletes most files in $0.
|
||||
|
||||
# Location of gvim_ole.exe, vimd32.exe, GvimExt/*, etc.
|
||||
# Location of gvim_ole.exe, vimw32.exe, GvimExt/*, etc.
|
||||
!define VIMSRC "..\src"
|
||||
|
||||
# Location of runtime files
|
||||
@@ -22,7 +22,7 @@
|
||||
!define HAVE_NLS
|
||||
|
||||
!define VER_MAJOR 7
|
||||
!define VER_MINOR 3
|
||||
!define VER_MINOR 4b
|
||||
|
||||
# ----------- No configurable settings below this line -----------
|
||||
|
||||
@@ -40,7 +40,7 @@ RequestExecutionLevel highest
|
||||
ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
|
||||
DirText "Choose a directory to install Vim (must end in 'vim')"
|
||||
Icon icons\vim_16c.ico
|
||||
# NSIS2 uses a different strategy with six diferent images in a strip...
|
||||
# NSIS2 uses a different strategy with six different images in a strip...
|
||||
#EnabledBitmap icons\enabled.bmp
|
||||
#DisabledBitmap icons\disabled.bmp
|
||||
UninstallText "This will uninstall Vim ${VER_MAJOR}.${VER_MINOR} from your system."
|
||||
@@ -56,6 +56,9 @@ LicenseData ${VIMRT}\doc\uganda.nsis.txt
|
||||
!packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
|
||||
!endif
|
||||
|
||||
SetCompressor /SOLID lzma
|
||||
XPStyle on
|
||||
|
||||
# This adds '\vim' to the user choice automagically. The actual value is
|
||||
# obtained below with ReadINIStr.
|
||||
InstallDir "$PROGRAMFILES\Vim"
|
||||
@@ -247,11 +250,10 @@ Section "Vim console program (vim.exe)"
|
||||
ReadRegStr $R0 HKLM \
|
||||
"SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
||||
IfErrors 0 lbl_winnt
|
||||
# Windows 95/98/ME
|
||||
File /oname=vim.exe ${VIMSRC}\vimd32.exe
|
||||
# Windows 95/98/ME: not supported
|
||||
Goto lbl_done
|
||||
lbl_winnt:
|
||||
# Windows NT/2000/XT
|
||||
# Windows NT/2000/XP and later
|
||||
File /oname=vim.exe ${VIMSRC}\vimw32.exe
|
||||
lbl_done:
|
||||
StrCpy $2 "$2 vim view vimdiff"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrw.vim: Handles file transfer and remote directory listing across
|
||||
" AUTOLOAD SECTION
|
||||
" Date: Apr 16, 2013
|
||||
" Version: 148
|
||||
" Date: May 18, 2013
|
||||
" Version: 149
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
@@ -22,7 +22,7 @@
|
||||
if &cp || exists("g:loaded_netrw")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrw = "v148"
|
||||
let g:loaded_netrw = "v149"
|
||||
if v:version < 703 || (v:version == 703 && !has("patch465"))
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrw needs vim 7.3.465 or later"
|
||||
@@ -49,12 +49,12 @@ set cpo&vim
|
||||
" 0=note = s:NOTE
|
||||
" 1=warning = s:WARNING
|
||||
" 2=error = s:ERROR
|
||||
" Apr 02, 2013 : max errnum currently is 92
|
||||
" May 01, 2013 : max errnum currently is 93
|
||||
fun! netrw#ErrorMsg(level,msg,errnum)
|
||||
" call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
|
||||
|
||||
if a:level < g:netrw_errorlvl
|
||||
" call Dret("netrw#ErrorMsg : suppressing level=".a:level." since g;netrw_errorlvl=".g:netrw_errorlvl)
|
||||
" call Dret("netrw#ErrorMsg : suppressing level=".a:level." since g:netrw_errorlvl=".g:netrw_errorlvl)
|
||||
return
|
||||
endif
|
||||
|
||||
@@ -128,7 +128,7 @@ endfun
|
||||
" NetrwInit: initializes variables if they haven't been defined {{{2
|
||||
" Loosely, varname = value.
|
||||
fun s:NetrwInit(varname,value)
|
||||
" call Decho("varname<".a:varname."> value=".a:value)
|
||||
" call Decho("varname<".a:varname."> value=".a:value)
|
||||
if !exists(a:varname)
|
||||
if type(a:value) == 0
|
||||
exe "let ".a:varname."=".a:value
|
||||
@@ -202,7 +202,20 @@ if !exists("g:netrw_http_cmd")
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_rcp_cmd" , "rcp")
|
||||
call s:NetrwInit("g:netrw_rsync_cmd", "rsync")
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
if !exists("g:netrw_scp_cmd")
|
||||
if executable("scp")
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
elseif executable("pscp")
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable('c:\private.ppk')
|
||||
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -i c:\private.ppk')
|
||||
else
|
||||
call s:NetrwInit("g:netrw_scp_cmd", 'pscp -q')
|
||||
endif
|
||||
else
|
||||
call s:NetrwInit("g:netrw_scp_cmd" , "scp -q")
|
||||
endif
|
||||
endif
|
||||
|
||||
call s:NetrwInit("g:netrw_sftp_cmd" , "sftp")
|
||||
call s:NetrwInit("g:netrw_ssh_cmd" , "ssh")
|
||||
|
||||
@@ -278,19 +291,23 @@ if !exists("g:netrw_ignorenetrc")
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_keepdir",1)
|
||||
if !exists("g:netrw_list_cmd")
|
||||
|
||||
if g:netrw_scp_cmd =~ '^pscp' && executable("pscp")
|
||||
" provide a 'pscp' listing command
|
||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && filereadable("c:\\private.ppk")
|
||||
" provide a pscp-based listing command
|
||||
let g:netrw_scp_cmd ="pscp -i C:\\private.ppk"
|
||||
endif
|
||||
let g:netrw_list_cmd= g:netrw_scp_cmd." -ls USEPORT HOSTNAME:"
|
||||
|
||||
elseif executable(g:netrw_ssh_cmd)
|
||||
" provide a default listing command
|
||||
" provide a scp-based default listing command
|
||||
let g:netrw_list_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME ls -FLa"
|
||||
|
||||
else
|
||||
" call Decho(g:netrw_ssh_cmd." is not executable")
|
||||
let g:netrw_list_cmd= ""
|
||||
endif
|
||||
|
||||
endif
|
||||
call s:NetrwInit("g:netrw_list_hide","")
|
||||
" Default values - lh-lz ---------- {{{3
|
||||
@@ -474,7 +491,7 @@ endif
|
||||
" NetrwBrowse.
|
||||
" vt: normally its "w:" or "s:" (a variable type)
|
||||
fun! s:NetrwOptionSave(vt)
|
||||
" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$"))
|
||||
" call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">"." winnr($)=".winnr("$")." mod=".&mod." ma=".&ma)
|
||||
" call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist"))
|
||||
|
||||
if !exists("{a:vt}netrw_optionsave")
|
||||
@@ -730,10 +747,16 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." modifiable=".&modifiable." a:0=".a:0." win#".winnr()." buf#".bufnr("%"))
|
||||
if !exists("b:netrw_curdir")
|
||||
let b:netrw_curdir= getcwd()
|
||||
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let b:netrw_curdir= substitute(b:netrw_curdir,'\','/','g')
|
||||
endif
|
||||
" call Decho("(Explore) set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
|
||||
endif
|
||||
let curdir = simplify(b:netrw_curdir)
|
||||
let curfiledir = substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
|
||||
if !exists("g:netrw_cygwin") && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let curdir= substitute(curdir,'\','/','g')
|
||||
endif
|
||||
" call Decho("(Explore) curdir<".curdir."> curfiledir<".curfiledir.">")
|
||||
|
||||
" save registers
|
||||
@@ -793,7 +816,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
keepj norm! 0
|
||||
|
||||
if a:0 > 0
|
||||
" call Decho("(Explore) case [a:0=".a:0."] > 0")
|
||||
" call Decho("(Explore) case [a:0=".a:0."] > 0: a:1<".a:1.">")
|
||||
if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: starts with ~ and unix or cygwin")
|
||||
let dirname= simplify(substitute(a:1,'\~',expand("$HOME"),''))
|
||||
@@ -809,7 +832,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: matches ending $")
|
||||
let dirname= simplify(expand(a:1))
|
||||
" call Decho("(Explore) ..using user-specified dirname<".dirname."> with $env-var")
|
||||
elseif a:1 !~ '^\*\{1,2}/'
|
||||
elseif a:1 !~ '^\*\{1,2}/' && a:1 !~ '^\a\{3,}://'
|
||||
" call Decho("(Explore) ..case a:1<".a:1.">: other, not pattern or filepattern")
|
||||
let dirname= simplify(a:1)
|
||||
" call Decho("(Explore) ..using user-specified dirname<".dirname.">")
|
||||
@@ -835,7 +858,7 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
if dirname =~ '^\*//'
|
||||
" starpat=1: Explore *//pattern (current directory only search for files containing pattern)
|
||||
" call Decho("(Explore) case Explore *//pattern")
|
||||
" call Decho("(Explore) case starpat=1: Explore *//pattern")
|
||||
let pattern= substitute(dirname,'^\*//\(.*\)$','\1','')
|
||||
let starpat= 1
|
||||
" call Decho("(Explore) ..Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
|
||||
@@ -843,14 +866,14 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
|
||||
elseif dirname =~ '^\*\*//'
|
||||
" starpat=2: Explore **//pattern (recursive descent search for files containing pattern)
|
||||
" call Decho("(Explore) case Explore **//pattern")
|
||||
" call Decho("(Explore) case starpat=2: Explore **//pattern")
|
||||
let pattern= substitute(dirname,'^\*\*//','','')
|
||||
let starpat= 2
|
||||
" call Decho("(Explore) ..Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
|
||||
|
||||
elseif dirname =~ '/\*\*/'
|
||||
" handle .../**/.../filepat
|
||||
" call Decho("(Explore) case Explore .../**/.../filepat")
|
||||
" call Decho("(Explore) case starpat=4: Explore .../**/.../filepat")
|
||||
let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
|
||||
if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
|
||||
let b:netrw_curdir = prefixdir
|
||||
@@ -863,32 +886,40 @@ fun! netrw#Explore(indx,dosplit,style,...)
|
||||
" call Decho("(Explore) ..case Explore ../**/../filepat (starpat=".starpat.")")
|
||||
|
||||
elseif dirname =~ '^\*/'
|
||||
" starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
|
||||
" case starpat=3: Explore */filepat (search in current directory for filenames matching filepat)
|
||||
let starpat= 3
|
||||
" call Decho("(Explore) case Explore */filepat (starpat=".starpat.")")
|
||||
" call Decho("(Explore) case starpat=3: Explore */filepat (starpat=".starpat.")")
|
||||
|
||||
elseif dirname=~ '^\*\*/'
|
||||
" starpat=4: Explore **/filepat (recursive descent search for filenames matching filepat)
|
||||
let starpat= 4
|
||||
" call Decho("(Explore) case Explore **/filepat (starpat=".starpat.")")
|
||||
" call Decho("(Explore) case starpat=4: Explore **/filepat (starpat=".starpat.")")
|
||||
|
||||
else
|
||||
let starpat= 0
|
||||
" call Decho("(Explore) default case: starpat=".starpat)
|
||||
" call Decho("(Explore) case starpat=0: default")
|
||||
endif
|
||||
|
||||
if starpat == 0 && a:indx >= 0
|
||||
" [Explore Hexplore Vexplore Sexplore] [dirname]
|
||||
" call Decho("(Explore) case starpat==0 && a:indx=".a:indx.": dirname<".dirname."> Explore Hexplore Vexplore Sexplore")
|
||||
" call Decho("(Explore) case starpat==0 && a:indx=".a:indx.": dirname<".dirname.">, handles Explore Hexplore Vexplore Sexplore")
|
||||
if dirname == ""
|
||||
let dirname= curfiledir
|
||||
" call Decho("(Explore) ..empty dirname, using current file's directory<".dirname.">")
|
||||
endif
|
||||
if dirname =~ '^scp:' || dirname =~ '^ftp:'
|
||||
" call Decho("(Explore) ..calling NetrwBrowse(0,dirname<".dirname.">)")
|
||||
call s:NetrwBrowse(0,dirname)
|
||||
if dirname =~ '^scp://' || dirname =~ '^ftp://'
|
||||
call netrw#Nread(2,dirname)
|
||||
"call s:NetrwBrowse(0,dirname)
|
||||
else
|
||||
if dirname == ""|let dirname= getcwd()|endif
|
||||
if dirname == ""
|
||||
let dirname= getcwd()
|
||||
elseif (has("win32") || has("win95") || has("win64") || has("win16")) && !g:netrw_cygwin
|
||||
if dirname !~ '^[a-zA-Z]:'
|
||||
let dirname= b:netrw_curdir."/".dirname
|
||||
endif
|
||||
elseif dirname !~ '^/'
|
||||
let dirname= b:netrw_curdir."/".dirname
|
||||
endif
|
||||
" call Decho("(Explore) ..calling LocalBrowseCheck(dirname<".dirname.">)")
|
||||
call netrw#LocalBrowseCheck(dirname)
|
||||
" call Decho("(Explore) win#".winnr()." buf#".bufnr("%")." modified=".&modified." modifiable=".&modifiable." readonly=".&readonly)
|
||||
@@ -1508,7 +1539,7 @@ endfun
|
||||
" =2 replace with remote file
|
||||
" =3 obtain file, but leave in temporary format
|
||||
fun! netrw#NetRead(mode,...)
|
||||
" call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw)
|
||||
" call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw.((a:0 > 0)? " a:1<".a:1.">" : ""))
|
||||
|
||||
" NetRead: save options {{{3
|
||||
call s:NetrwOptionSave("w:")
|
||||
@@ -2404,7 +2435,6 @@ fun! s:NetrwGetFile(readcmd, tfile, method)
|
||||
" call Decho("detect filetype of local version of remote file")
|
||||
let iskkeep= &l:isk
|
||||
setl isk-=/
|
||||
" filetype detect " COMBAK - trying filetype detect in NetrwOptionRestore Jan 24, 2013
|
||||
let &l:isk= iskkeep
|
||||
" call Dredir("renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">","ls!")
|
||||
let line1 = 1
|
||||
@@ -2611,8 +2641,7 @@ fun! s:NetrwMethod(choice)
|
||||
" call Decho("has -s: : s:netrw_ftp_cmd<".s:netrw_ftp_cmd.">")
|
||||
" call Decho(" g:netrw_ftp_cmd<".g:netrw_ftp_cmd.">")
|
||||
if g:netrw_ftp_cmd =~ '-[sS]:\S*MACHINE\>'
|
||||
let machine = substitute(g:netrw_machine,'\([^.]\+\)\.\S*','\1','')
|
||||
let s:netrw_ftp_cmd= substitute(g:netrw_ftp_cmd,'\<MACHINE\>',machine.".ftp",'')
|
||||
let s:netrw_ftp_cmd= substitute(g:netrw_ftp_cmd,'\<MACHINE\>',g:netrw_machine,'')
|
||||
" call Decho("s:netrw_ftp_cmd<".s:netrw_ftp_cmd.">")
|
||||
endif
|
||||
let b:netrw_method= 2
|
||||
@@ -3477,7 +3506,6 @@ fun! s:NetrwBrowse(islocal,dirname)
|
||||
if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
|
||||
" call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%")."> win#".winnr())
|
||||
" call Decho("(NetrwBrowse) tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")." modified=".&modified." modifiable=".&modifiable." readonly=".&readonly)
|
||||
" call Dredir("ls!")
|
||||
" s:NetrwBrowse: initialize history {{{3
|
||||
if !exists("s:netrw_initbookhist")
|
||||
keepj call s:NetrwBookHistRead()
|
||||
@@ -3759,6 +3787,7 @@ endfun
|
||||
" 1=re-used buffer
|
||||
fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" call Dfunc("s:NetrwGetBuffer(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".g:netrw_liststyle)
|
||||
" call Decho("(NetrwGetBuffer) modiable=".&mod." modifiable=".&ma." readonly=".&ro)
|
||||
let dirname= a:dirname
|
||||
|
||||
" re-use buffer if possible {{{3
|
||||
@@ -3767,8 +3796,9 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
" find NetrwTreeList buffer if there is one
|
||||
" call Decho("(NetrwGetBuffer) case liststyle=treelist: find NetrwTreeList buffer if there is one")
|
||||
if exists("w:netrw_treebufnr") && w:netrw_treebufnr > 0
|
||||
" call Decho("(NetrwGetBuffer) re-use w:netrw_treebufnr=".w:netrw_treebufnr)
|
||||
sil keepj %d
|
||||
" call Decho("(NetrwGetBuffer) re-using w:netrw_treebufnr=".w:netrw_treebufnr)
|
||||
setl mod
|
||||
sil! keepj %d
|
||||
let eikeep= &ei
|
||||
set ei=all
|
||||
exe "sil! keepalt b ".w:netrw_treebufnr
|
||||
@@ -3782,7 +3812,6 @@ fun! s:NetrwGetBuffer(islocal,dirname)
|
||||
else
|
||||
" find buffer number of buffer named precisely the same as dirname {{{3
|
||||
" call Decho("(NetrwGetBuffer) case listtyle not treelist: find buffer numnber of buffer named precisely the same as dirname--")
|
||||
" call Dredir("ls!")
|
||||
|
||||
" get dirname and associated buffer number
|
||||
let bufnum = bufnr(escape(dirname,'\'))
|
||||
@@ -4079,7 +4108,6 @@ fun! s:NetrwListSettings(islocal)
|
||||
if g:netrw_use_noswf
|
||||
setl noswf
|
||||
endif
|
||||
" call Dredir("ls!")
|
||||
" call Decho("(NetrwListSettings) exe setl ts=".(g:netrw_maxfilenamelen+1))
|
||||
exe "setl ts=".(g:netrw_maxfilenamelen+1)
|
||||
setl isk+=.,~,-
|
||||
@@ -4211,14 +4239,14 @@ fun! s:NetrwBookmarkMenu()
|
||||
if exists("g:netrw_bookmarklist") && g:netrw_bookmarklist != [] && g:netrw_dirhistmax > 0
|
||||
let cnt= 1
|
||||
for bmd in g:netrw_bookmarklist
|
||||
" call Decho('sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmd.' :e '.bmd)
|
||||
let bmd= escape(bmd,g:netrw_menu_escape)
|
||||
let ebmd= escape(bmd,g:netrw_menu_escape)
|
||||
" call Decho('sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.ebmd.' :e '.bmd)
|
||||
|
||||
" show bookmarks for goto menu
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmd.' :e '.bmd."\<cr>"
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.ebmd.' :e '.bmd."\<cr>"
|
||||
|
||||
" show bookmarks for deletion menu
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.bmd.' '.cnt."mB"
|
||||
exe 'sil! menu '.g:NetrwMenuPriority.".8.2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete.'.ebmd.' '.cnt."mB"
|
||||
let cnt= cnt + 1
|
||||
endfor
|
||||
|
||||
@@ -4264,7 +4292,6 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
|
||||
let @@= ykeep
|
||||
" call Decho("(NetrwBrowseChgDir) b:netrw_curdir doesn't exist!")
|
||||
" call Decho("(NetrwBrowseChgDir) getcwd<".getcwd().">")
|
||||
" call Dredir("ls!")
|
||||
" call Dret("s:NetrwBrowseChgDir")
|
||||
return
|
||||
endif
|
||||
@@ -5467,8 +5494,13 @@ endfun
|
||||
" directories. Uses the local-buffer marked file list.
|
||||
" Returns 1=success (used by NetrwMarkFileMove())
|
||||
" 0=failure
|
||||
fun! s:NetrwMarkFileCopy(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileCopy(islocal=".a:islocal.") target<".(exists("s:netrwmftgt")? s:netrwmftgt : '---').">")
|
||||
fun! s:NetrwMarkFileCopy(islocal,...)
|
||||
" call Dfunc("s:NetrwMarkFileCopy(islocal=".a:islocal.") target<".(exists("s:netrwmftgt")? s:netrwmftgt : '---')."> a:0=".a:0)
|
||||
|
||||
if !exists("b:netrw_curdir")
|
||||
let b:netrw_curdir= getcwd()
|
||||
" call Decho("set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
|
||||
endif
|
||||
let curdir = b:netrw_curdir
|
||||
let curbufnr = bufnr("%")
|
||||
|
||||
@@ -5495,8 +5527,45 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
" call Dfunc("s:NetrwMarkFileMove : g:netrw_localcopycmd<".g:netrw_localcopycmd."> n/a!")
|
||||
return
|
||||
endif
|
||||
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)"))
|
||||
let tgt = shellescape(s:netrwmftgt)
|
||||
|
||||
" copy marked files while within the same directory (ie. allow renaming)
|
||||
if simplify(s:netrwmftgt) == simplify(b:netrw_curdir)
|
||||
if len(s:netrwmarkfilelist_{bufnr('%')}) == 1
|
||||
" only one marked file
|
||||
let args = shellescape(b:netrw_curdir."/".s:netrwmarkfilelist_{bufnr('%')}[0])
|
||||
let oldname = s:netrwmarkfilelist_{bufnr('%')}[0]
|
||||
elseif a:0 == 1
|
||||
" this happens when the next case was used to recursively call s:NetrwMarkFileCopy()
|
||||
let args = shellescape(b:netrw_curdir."/".a:1)
|
||||
let oldname = a:1
|
||||
else
|
||||
" copy multiple marked files inside the same directory
|
||||
let s:recursive= 1
|
||||
for oldname in s:netrwmarkfilelist_{bufnr("%")}
|
||||
let ret= s:NetrwMarkFileCopy(a:islocal,oldname)
|
||||
if ret == 0
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
unlet s:recursive
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
" call Dret("s:NetrwMarkFileCopy ".ret)
|
||||
return ret
|
||||
endif
|
||||
|
||||
call inputsave()
|
||||
let newname= input("Copy ".oldname." to : ",oldname,"file")
|
||||
call inputrestore()
|
||||
if newname == ""
|
||||
" call Dret("s:NetrwMarkFileCopy 0")
|
||||
return 0
|
||||
endif
|
||||
let args= shellescape(oldname)
|
||||
let tgt = shellescape(s:netrwmftgt.'/'.newname)
|
||||
else
|
||||
let args= join(map(deepcopy(s:netrwmarkfilelist_{bufnr('%')}),"shellescape(b:netrw_curdir.\"/\".v:val)"))
|
||||
let tgt = shellescape(s:netrwmftgt)
|
||||
endif
|
||||
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
let args= substitute(args,'/','\\','g')
|
||||
let tgt = substitute(tgt, '/','\\','g')
|
||||
@@ -5525,10 +5594,12 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
keepj call s:NetrwUpload(s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
|
||||
|
||||
elseif !a:islocal && s:netrwmftgt_islocal
|
||||
" Copy marked files, remote directory to local directory
|
||||
" call Decho("copy from remote to local")
|
||||
keepj call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
|
||||
|
||||
elseif !a:islocal && !s:netrwmftgt_islocal
|
||||
" Copy marked files, remote directory to remote directory
|
||||
" call Decho("copy from remote to remote")
|
||||
let curdir = getcwd()
|
||||
let tmpdir = s:GetTempfile("")
|
||||
@@ -5570,10 +5641,11 @@ fun! s:NetrwMarkFileCopy(islocal)
|
||||
" -------
|
||||
" cleanup
|
||||
" -------
|
||||
" call Decho("cleanup")
|
||||
|
||||
" remove markings from local buffer
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
" call Decho("cleanup")
|
||||
if !exists("s:recursive")
|
||||
" remove markings from local buffer
|
||||
call s:NetrwUnmarkList(curbufnr,curdir)
|
||||
endif
|
||||
|
||||
" refresh buffers
|
||||
if !s:netrwmftgt_islocal
|
||||
@@ -5861,7 +5933,6 @@ fun! s:NetrwMarkFileVimCmd(islocal)
|
||||
exe cmd
|
||||
exe "sil! keepalt wq!"
|
||||
else
|
||||
" COMBAK -- not supported yet
|
||||
" call Decho("remote<".fname.">: exe ".cmd." : NOT SUPPORTED YET")
|
||||
echo "sorry, \"mX\" not supported yet for remote files"
|
||||
endif
|
||||
@@ -7489,11 +7560,20 @@ fun! s:NetrwWideListing()
|
||||
sil! let @*= keepregstar
|
||||
exe "sil! keepj ".w:netrw_bannercnt.',$s/\s\+$//e'
|
||||
keepj call histdel("/",-1)
|
||||
exe "nmap <buffer> <silent> w /^\\\\|\\s\\s\\zs\\S/\<cr>"
|
||||
exe "nmap <buffer> <silent> b ?^\\\\|\\s\\s\\zs\\S?\<cr>"
|
||||
" call Decho("NetrwWideListing) setl noma nomod ro")
|
||||
setl noma nomod ro
|
||||
" call Decho("(NetrwWideListing) ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)")
|
||||
" call Dret("NetrwWideListing")
|
||||
return
|
||||
else
|
||||
if hasmapto("w","n")
|
||||
sil! nunmap <buffer> w
|
||||
endif
|
||||
if hasmapto("b","n")
|
||||
sil! nunmap <buffer> b
|
||||
endif
|
||||
endif
|
||||
|
||||
endfun
|
||||
@@ -7537,7 +7617,11 @@ fun! s:PerformListing(islocal)
|
||||
" call Decho("(PerformListing) set up banner")
|
||||
keepj call setline(1,'" ============================================================================')
|
||||
keepj call setline(2,'" Netrw Directory Listing (netrw '.g:loaded_netrw.')')
|
||||
keepj call setline(3,'" '.b:netrw_curdir)
|
||||
if exists("g:netrw_bannerbackslash") && g:netrw_bannerbackslash
|
||||
keepj call setline(3,'" '.substitute(b:netrw_curdir,'/','\\','g'))
|
||||
else
|
||||
keepj call setline(3,'" '.b:netrw_curdir)
|
||||
endif
|
||||
let w:netrw_bannercnt= 3
|
||||
keepj exe "sil! keepj ".w:netrw_bannercnt
|
||||
else
|
||||
@@ -7606,7 +7690,7 @@ fun! s:PerformListing(islocal)
|
||||
if g:netrw_banner
|
||||
let w:netrw_bannercnt= w:netrw_bannercnt + 1
|
||||
exe "sil! keepj ".w:netrw_bannercnt
|
||||
" call Decho("(PerformListing) bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
|
||||
" call Decho("(PerformListing) w:netrw_bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
|
||||
endif
|
||||
|
||||
" get list of files
|
||||
@@ -7616,12 +7700,13 @@ fun! s:PerformListing(islocal)
|
||||
else " remote
|
||||
keepj call s:NetrwRemoteListing()
|
||||
endif
|
||||
" call Decho("(PerformListing) g:netrw_banner=".g:netrw_banner." w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
|
||||
|
||||
" manipulate the directory listing (hide, sort) {{{3
|
||||
if !exists("w:netrw_bannercnt")
|
||||
let w:netrw_bannercnt= 0
|
||||
endif
|
||||
" call Decho("(PerformListing) g:netrw_banner=".g:netrw_banner." w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
|
||||
|
||||
if !g:netrw_banner || line("$") >= w:netrw_bannercnt
|
||||
" call Decho("(PerformListing) manipulate directory listing (hide)")
|
||||
" call Decho("(PerformListing) g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
|
||||
@@ -7763,10 +7848,18 @@ fun! s:NetrwRemoteListing()
|
||||
" call Dfunc("s:NetrwRemoteListing() b:netrw_curdir<".b:netrw_curdir.">)")
|
||||
|
||||
call s:RemotePathAnalysis(b:netrw_curdir)
|
||||
" call Decho("b:netrw_method#".(exists("b:netrw_method")? b:netrw_method : 'n/a'))
|
||||
" call Decho("g:netrw_list_cmd<".(exists("g:netrw_list_cmd")? g:netrw_list_cmd : 'n/a').">")
|
||||
" call Decho("ssh is ".(executable("ssh")? "" : "not ")."executable")
|
||||
" call Decho("ftp is ".(executable("ftp")? "" : "not ")."executable")
|
||||
" call Decho("sftp is ".(executable("sftp")? "" : "not ")."executable")
|
||||
|
||||
" sanity check:
|
||||
if exists("b:netrw_method") && b:netrw_method =~ '[235]'
|
||||
" call Decho("b:netrw_method=".b:netrw_method)
|
||||
" b:netrw_method = 2: ftp+.netrc
|
||||
" b:netrw_method = 3: ftp+machine,id,p/w,filename (ie. no .netrc)
|
||||
" b:netrw_method = 5: wget (http)
|
||||
" call Decho("b:netrw_method=".b:netrw_method." (for ".s:method.")")
|
||||
if !executable("ftp")
|
||||
if !exists("g:netrw_quiet")
|
||||
call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ftp",18)
|
||||
@@ -7776,10 +7869,11 @@ fun! s:NetrwRemoteListing()
|
||||
return
|
||||
endif
|
||||
|
||||
elseif !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ''
|
||||
elseif s:method == "scp" && (!exists("g:netrw_list_cmd") || g:netrw_list_cmd == '')
|
||||
" call Decho("g:netrw_list_cmd<".(exists("g:netrw_list_cmd")? g:netrw_list_cmd : 'n/a').">")
|
||||
if !exists("g:netrw_quiet")
|
||||
if g:netrw_list_cmd == ""
|
||||
keepj call netrw#ErrorMsg(s:ERROR,g:netrw_ssh_cmd." is not executable on your system",47)
|
||||
if !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ""
|
||||
keepj call netrw#ErrorMsg(s:ERROR,"neither ssh nor ftp"." is executable on your system",47)
|
||||
else
|
||||
keepj call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ".g:netrw_list_cmd,19)
|
||||
endif
|
||||
@@ -7791,15 +7885,15 @@ fun! s:NetrwRemoteListing()
|
||||
endif " (remote handling sanity check)
|
||||
|
||||
if exists("b:netrw_method")
|
||||
" call Decho("setting w:netrw_method<".b:netrw_method.">")
|
||||
" call Decho("setting w:netrw_method to b:netrw_method<".b:netrw_method.">")
|
||||
let w:netrw_method= b:netrw_method
|
||||
endif
|
||||
|
||||
if s:method == "ftp"
|
||||
" use ftp to get remote file listing {{{3
|
||||
" call Decho("use ftp to get remote file listing")
|
||||
let s:method = "ftp"
|
||||
let listcmd = g:netrw_ftp_list_cmd
|
||||
let s:method = "ftp"
|
||||
let listcmd = g:netrw_ftp_list_cmd
|
||||
if g:netrw_sort_by =~ '^t'
|
||||
let listcmd= g:netrw_ftp_timelist_cmd
|
||||
elseif g:netrw_sort_by =~ '^s'
|
||||
@@ -7822,15 +7916,14 @@ fun! s:NetrwRemoteListing()
|
||||
sil! keepj %s/\r$//e
|
||||
keepj call histdel("/",-1)
|
||||
|
||||
" if there's no ../ listed, then put ./ and ../ in
|
||||
" if there's no ../ listed, then put ../ in
|
||||
let line1= line(".")
|
||||
exe "sil! keepj ".w:netrw_bannercnt
|
||||
let line2= search('\.\.\/\%(\s\|$\)','cnW')
|
||||
" call Decho("search(".'\.\.\/\%(\s\|$\)'."','cnW')=".line2." w:netrw_bannercnt=".w:netrw_bannercnt)
|
||||
if line2 == 0
|
||||
" call Decho("netrw is putting ./ and ../ into listing")
|
||||
" call Decho("netrw is putting ../ into listing")
|
||||
sil! keepj put='../'
|
||||
sil! keepj put='./'
|
||||
endif
|
||||
exe "sil! keepj ".line1
|
||||
sil! keepj norm! 0
|
||||
@@ -7899,13 +7992,12 @@ fun! s:NetrwRemoteListing()
|
||||
while getline('.') =~ g:netrw_ftp_browse_reject
|
||||
sil! keepj d
|
||||
endwhile
|
||||
" if there's no ../ listed, then put ./ and ../ in
|
||||
" if there's no ../ listed, then put ../ in
|
||||
let line1= line(".")
|
||||
sil! keepj 1
|
||||
sil! keepj call search('^\.\.\/\%(\s\|$\)','W')
|
||||
let line2= line(".")
|
||||
if line2 == 0
|
||||
exe 'sil! keepj '.w:netrw_bannercnt."put='./'"
|
||||
if b:netrw_curdir != '/'
|
||||
exe 'sil! keepj '.w:netrw_bannercnt."put='../'"
|
||||
endif
|
||||
@@ -8103,8 +8195,17 @@ endfun
|
||||
" and reverse sorts will be requested of the server but not otherwise
|
||||
" enforced here.
|
||||
fun! s:NetrwRemoteFtpCmd(path,listcmd)
|
||||
" call Dfunc("NetrwRemoteFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
|
||||
" call Decho("line($)=".line("$")." bannercnt=".w:netrw_bannercnt)
|
||||
" call Dfunc("NetrwRemoteFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) w:netrw_method=".(exists("w:netrw_method")? w:netrw_method : (exists("b:netrw_method")? b:netrw_method : "???")))
|
||||
" call Decho("line($)=".line("$")." w:netrw_bannercnt=".w:netrw_bannercnt)
|
||||
if !exists("w:netrw_method")
|
||||
if exists("b:netrw_method")
|
||||
let w:netrw_method= b:netrw_method
|
||||
else
|
||||
call netrw#ErrorMsg(2,"(s:NetrwRemoteFtpCmd) internal netrw error",93)
|
||||
" call Dret("NetrwRemoteFtpCmd")
|
||||
return
|
||||
endif
|
||||
endif
|
||||
|
||||
" because WinXX ftp uses unix style input
|
||||
let ffkeep= &ff
|
||||
@@ -8359,7 +8460,7 @@ fun! netrw#LocalBrowseCheck(dirname)
|
||||
" call Dredir("LocalBrowseCheck","ls!")|redraw!|sleep 3
|
||||
let ykeep= @@
|
||||
if isdirectory(a:dirname)
|
||||
" call Decho("(LocalBrowseCheck) ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$")." ft<".&ft."> g:netrw_fastbrowse=".g:netrw_fastbrowse)
|
||||
" call Decho("(LocalBrowseCheck) is-directory ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$")." ft<".&ft."> g:netrw_fastbrowse=".g:netrw_fastbrowse)
|
||||
let svposn= netrw#NetrwSavePosn()
|
||||
if &ft != "netrw" || (exists("b:netrw_curdir") && b:netrw_curdir != a:dirname) || g:netrw_fastbrowse <= 1
|
||||
sil! keepj keepalt call s:NetrwBrowse(1,a:dirname)
|
||||
@@ -8407,9 +8508,11 @@ fun! s:LocalListing()
|
||||
let filelist = filelist + glob(s:ComposePath(dirname,".*"),0,1)
|
||||
" call Decho("(LocalListing) filelist=".filelist)
|
||||
|
||||
if index(filelist,'..') == -1 && b:netrw_curdir != '/'
|
||||
if g:netrw_cygwin == 0 && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" call Decho("(LocalListing) filelist=".string(filelist))
|
||||
elseif index(filelist,'..') == -1 && b:netrw_curdir !~ '/'
|
||||
" include ../ in the glob() entry if its missing
|
||||
" call Decho("(LocalListing) forcibly tacking on \"..\"")
|
||||
" call Decho("(LocalListing) forcibly including on \"..\"")
|
||||
let filelist= filelist+[s:ComposePath(b:netrw_curdir,"../")]
|
||||
" call Decho("(LocalListing) filelist=".string(filelist))
|
||||
endif
|
||||
@@ -8903,6 +9006,26 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" Support Functions: {{{1
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
|
||||
fun! netrw#WinPath(path)
|
||||
" call Dfunc("netrw#WinPath(path<".a:path.">)")
|
||||
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" remove cygdrive prefix, if present
|
||||
let path = substitute(a:path,'/cygdrive/\(.\)','\1:','')
|
||||
" remove trailing slash (Win95)
|
||||
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||
" remove escaped spaces
|
||||
let path = substitute(path, '\ ', ' ', 'g')
|
||||
" convert slashes to backslashes
|
||||
let path = substitute(path, '/', '\', 'g')
|
||||
else
|
||||
let path= a:path
|
||||
endif
|
||||
" call Dret("netrw#WinPath <".path.">")
|
||||
return path
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#NetrwRestorePosn: restores the cursor and file position as saved by NetrwSavePosn() {{{2
|
||||
fun! netrw#NetrwRestorePosn(...)
|
||||
@@ -8968,6 +9091,21 @@ fun! netrw#NetrwSavePosn()
|
||||
return ret
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#NetrwAccess: intended to provide access to variable values for netrw's test suite {{{2
|
||||
" 0: marked file list of current buffer
|
||||
" 1: marked file target
|
||||
fun! netrw#NetrwAccess(ilist)
|
||||
if a:ilist == 0
|
||||
if exists("s:netrwmarkfilelist_".bufnr('%'))
|
||||
return s:netrwmarkfilelist_{bufnr('%')}
|
||||
else
|
||||
return "no-list-buf#".bufnr('%')
|
||||
endif
|
||||
elseif a:ilist == 1
|
||||
return s:netrwmftgt
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" netrw#RFC2396: converts %xx into characters {{{2
|
||||
fun! netrw#RFC2396(fname)
|
||||
@@ -9223,7 +9361,7 @@ endfun
|
||||
" ---------------------------------------------------------------------
|
||||
" s:RestoreCursorline: restores cursorline/cursorcolumn to original user settings {{{2
|
||||
fun! s:RestoreCursorline()
|
||||
" call Dfunc("s:RestoreCursorline() currently, cul=".&l:cursorline." cuc=".&l:cursorcolumn." win#".winnr()." buf#".bufnr("%"))
|
||||
" call Dfunc("s:RestoreCursorline() currently, cul=".&l:cursorline." cuc=".&l:cursorcolumn." win#".winnr()." buf#".bufnr("%")." mod=".&mod)
|
||||
if exists("s:netrw_usercul")
|
||||
let &l:cursorline = s:netrw_usercul
|
||||
endif
|
||||
@@ -9292,11 +9430,7 @@ fun! s:NetrwEnew(...)
|
||||
keepj call s:NetrwOptionRestore("w:")
|
||||
" call Decho("generate a buffer with keepjumps keepalt enew!")
|
||||
let netrw_keepdiff= &l:diff
|
||||
" COMBAK: Benzinger: using tree mode, vim -o Foo/ file shows Foo/ Foo/ instead. Place return here, problem goes away (beeps result, but who knows)
|
||||
" call Dredir("Benzinger 1:","ls!")
|
||||
keepj keepalt enew!
|
||||
" call Dredir("Benzinger 2:","ls!")
|
||||
" COMBAK: Benzinger: using tree mode, vim -o Foo/ file shows Foo/ Foo/ instead. Place return here, problem remains.
|
||||
let &l:diff= netrw_keepdiff
|
||||
" call Decho("bufnr($)=".bufnr("$"))
|
||||
keepj call s:NetrwOptionSave("w:")
|
||||
@@ -9715,27 +9849,7 @@ fun! s:UseBufWinVars()
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrw#WinPath: tries to insure that the path is windows-acceptable, whether cygwin is used or not {{{2
|
||||
fun! netrw#WinPath(path)
|
||||
" call Dfunc("netrw#WinPath(path<".a:path.">)")
|
||||
if (!g:netrw_cygwin || &shell !~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$') && (has("win32") || has("win95") || has("win64") || has("win16"))
|
||||
" remove cygdrive prefix, if present
|
||||
let path = substitute(a:path,'/cygdrive/\(.\)','\1:','')
|
||||
" remove trailing slash (Win95)
|
||||
let path = substitute(path, '\(\\\|/\)$', '', 'g')
|
||||
" remove escaped spaces
|
||||
let path = substitute(path, '\ ', ' ', 'g')
|
||||
" convert slashes to backslashes
|
||||
let path = substitute(path, '/', '\', 'g')
|
||||
else
|
||||
let path= a:path
|
||||
endif
|
||||
" call Dret("netrw#WinPath <".path.">")
|
||||
return path
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Settings Restoration: {{{2
|
||||
" Settings Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell
|
||||
" Date: Mar 14, 2012
|
||||
" Version: 11a
|
||||
" Date: May 03, 2013
|
||||
" Version: 11b ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -20,7 +20,7 @@
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwFileHandlers= "v11a"
|
||||
let g:loaded_netrwFileHandlers= "v11b"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
|
||||
@@ -34,10 +34,10 @@ set cpo&vim
|
||||
" netrwFileHandlers#Invoke: {{{1
|
||||
fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
|
||||
let fname= a:fname
|
||||
let exten= a:exten
|
||||
" list of supported special characters. Consider rcs,v --- that can be
|
||||
" supported with a NFH_rcsCOMMAv() handler
|
||||
if a:fname =~ '[@:,$!=\-+%?;~]'
|
||||
if exten =~ '[@:,$!=\-+%?;~]'
|
||||
let specials= {
|
||||
\ '@' : 'AT',
|
||||
\ ':' : 'COLON',
|
||||
@@ -51,18 +51,18 @@ fun! netrwFileHandlers#Invoke(exten,fname)
|
||||
\ '?' : 'QUESTION',
|
||||
\ ';' : 'SEMICOLON',
|
||||
\ '~' : 'TILDE'}
|
||||
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
|
||||
" call Decho('fname<'.fname.'> done with dictionary')
|
||||
endif
|
||||
|
||||
if a:exten != "" && exists("*NFH_".a:exten)
|
||||
if a:exten != "" && exists("*NFH_".exten)
|
||||
" support user NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= NFH_".a:exten.'("'.fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".a:exten)
|
||||
exe "let ret= NFH_".exten.'("'.a:fname.'")'
|
||||
elseif a:exten != "" && exists("*s:NFH_".exten)
|
||||
" use builtin-NFH_*() functions
|
||||
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
|
||||
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
|
||||
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
|
||||
endif
|
||||
|
||||
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Sep 03, 2008
|
||||
" Date: May 03, 2013
|
||||
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 13
|
||||
" Version: 14a ASTRO-ONLY
|
||||
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -19,7 +19,7 @@
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v13"
|
||||
let g:loaded_netrwSettings = "v14a"
|
||||
if v:version < 700
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of netrwSettings needs vim 7.0"
|
||||
@@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
|
||||
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
|
||||
let s:netrw_xfer_stop= line(".")
|
||||
@@ -99,27 +100,50 @@ fun! netrwSettings#NetrwSettings()
|
||||
put ='+ Netrw Browser Control'
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_banner = '.g:netrw_banner
|
||||
if exists("g:netrw_bannerbackslash")
|
||||
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
|
||||
else
|
||||
put = '\" let g:netrw_bannerbackslash = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
|
||||
if exists("g:netrw_browsex_viewer")
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
|
||||
else
|
||||
put = 'let g:netrw_browsex_viewer = (not defined)'
|
||||
put = '\" let g:netrw_browsex_viewer = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_compress = '.g:netrw_compress
|
||||
if exists("g:Netrw_corehandler")
|
||||
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
|
||||
else
|
||||
put = '\" let g:Netrw_corehandler = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_ctags = '.g:netrw_ctags
|
||||
put = 'let g:netrw_cursor = '.g:netrw_cursor
|
||||
let decompressline= line("$")
|
||||
put ='let g:netrw_decompress...'
|
||||
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
|
||||
if exists("g:netrw_dynamic_maxfilenamelen")
|
||||
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
|
||||
else
|
||||
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
|
||||
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
|
||||
let fnameescline= line("$")
|
||||
put = 'let g:netrw_fname_escape...'
|
||||
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
|
||||
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
|
||||
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
|
||||
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
|
||||
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
|
||||
let globescline= line("$")
|
||||
put ='let g:netrw_glob_escape...'
|
||||
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
|
||||
put = 'let g:netrw_hide = '.g:netrw_hide
|
||||
if exists("g:netrw_home")
|
||||
put = 'let g:netrw_home = '.g:netrw_home
|
||||
else
|
||||
put = '\" let g:netrw_home = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
|
||||
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
|
||||
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
|
||||
@@ -127,23 +151,30 @@ fun! netrwSettings#NetrwSettings()
|
||||
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
|
||||
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
|
||||
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_menu = '.g:netrw_menu
|
||||
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
if exists("g:netrw_nobeval")
|
||||
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
|
||||
else
|
||||
put = '\" let g:netrw_nobeval = (not defined)'
|
||||
endif
|
||||
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
|
||||
put = 'let g:netrw_preview = '.g:netrw_preview
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
put = 'let g:netrw_retmap = '.g:netrw_retmap
|
||||
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
|
||||
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
|
||||
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
|
||||
put = 'let g:netrw_silent = '.g:netrw_silent
|
||||
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
|
||||
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
|
||||
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
|
||||
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
put = 'let g:netrw_scpport = '.g:netrw_scpport
|
||||
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
|
||||
put = 'let g:netrw_sshport = '.g:netrw_sshport
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" Last Change: 2009 Sep 28
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Maintainer Version: 0.8.1
|
||||
" ----------------------------------------------------------------------------
|
||||
@@ -12,16 +10,23 @@
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
" {{{ requirement checks
|
||||
|
||||
function! s:ErrMsg(msg)
|
||||
echohl ErrorMsg
|
||||
echo a:msg
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
if !has('ruby')
|
||||
s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
|
||||
s:ErrMsg( "Error: falling back to syntax completion" )
|
||||
call s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
|
||||
call s:ErrMsg( "Error: falling back to syntax completion" )
|
||||
" lets fall back to syntax completion
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
finish
|
||||
endif
|
||||
|
||||
if version < 700
|
||||
s:ErrMsg( "Error: Required vim >= 7.0" )
|
||||
call s:ErrMsg( "Error: Required vim >= 7.0" )
|
||||
finish
|
||||
endif
|
||||
" }}} requirement checks
|
||||
@@ -51,12 +56,6 @@ endif
|
||||
" {{{ vim-side support functions
|
||||
let s:rubycomplete_debug = 0
|
||||
|
||||
function! s:ErrMsg(msg)
|
||||
echohl ErrorMsg
|
||||
echo a:msg
|
||||
echohl None
|
||||
endfunction
|
||||
|
||||
function! s:dprint(msg)
|
||||
if s:rubycomplete_debug == 1
|
||||
echom a:msg
|
||||
@@ -133,7 +132,7 @@ function! s:GetRubyVarType(v)
|
||||
let stopline = 1
|
||||
let vtp = ''
|
||||
let pos = getpos('.')
|
||||
let sstr = '^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$'
|
||||
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
|
||||
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
|
||||
if lnum != 0 && lcol != 0
|
||||
call setpos('.',pos)
|
||||
@@ -275,7 +274,7 @@ class VimRubyCompletion
|
||||
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
|
||||
load_buffer_class( $2 ) if pare != nil && $2 != name # load parent class if needed
|
||||
|
||||
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
|
||||
mixre = /.*\n\s*(include|prepend)\s*(.*)\s*\n/.match( classdef )
|
||||
load_buffer_module( $2 ) if mixre != nil && $2 != name # load mixins if needed
|
||||
|
||||
begin
|
||||
@@ -364,6 +363,10 @@ class VimRubyCompletion
|
||||
print txt if @@debug
|
||||
end
|
||||
|
||||
def escape_vim_singlequote_string(str)
|
||||
str.to_s.gsub(/'/,"\\'")
|
||||
end
|
||||
|
||||
def get_buffer_entity_list( type )
|
||||
# this will be a little expensive.
|
||||
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
|
||||
@@ -526,9 +529,9 @@ class VimRubyCompletion
|
||||
end
|
||||
|
||||
def clean_sel(sel, msg)
|
||||
sel.delete_if { |x| x == nil }
|
||||
sel.uniq!
|
||||
sel.grep(/^#{Regexp.quote(msg)}/) if msg != nil
|
||||
ret = sel.reject{|x|x.nil?}.uniq
|
||||
ret = ret.grep(/^#{Regexp.quote(msg)}/) if msg != nil
|
||||
ret
|
||||
end
|
||||
|
||||
def get_rails_view_methods
|
||||
@@ -767,10 +770,10 @@ class VimRubyCompletion
|
||||
constants = clean_sel( constants, message )
|
||||
|
||||
valid = []
|
||||
valid += methods.collect { |m| { :name => m, :type => 'm' } }
|
||||
valid += variables.collect { |v| { :name => v, :type => 'v' } }
|
||||
valid += classes.collect { |c| { :name => c, :type => 't' } }
|
||||
valid += constants.collect { |d| { :name => d, :type => 'd' } }
|
||||
valid += methods.collect { |m| { :name => m.to_s, :type => 'm' } }
|
||||
valid += variables.collect { |v| { :name => v.to_s, :type => 'v' } }
|
||||
valid += classes.collect { |c| { :name => c.to_s, :type => 't' } }
|
||||
valid += constants.collect { |d| { :name => d.to_s, :type => 'd' } }
|
||||
valid.sort! { |x,y| x[:name] <=> y[:name] }
|
||||
|
||||
outp = ""
|
||||
@@ -779,7 +782,7 @@ class VimRubyCompletion
|
||||
rg.step(150) do |x|
|
||||
stpos = 0+x
|
||||
enpos = 150+x
|
||||
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ] }
|
||||
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ].map{|x|escape_vim_singlequote_string(x)} }
|
||||
outp.sub!(/,$/, '')
|
||||
|
||||
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim OMNI completion script for SQL
|
||||
" Language: SQL
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 14.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 15.0
|
||||
" Last Change: 2013 May 13
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
|
||||
" Usage: For detailed help
|
||||
" ":help sql.txt"
|
||||
@@ -11,6 +11,18 @@
|
||||
|
||||
" History
|
||||
"
|
||||
" TODO
|
||||
" - Jonas Enberg - if no table is found when using column completion
|
||||
" look backwards to a FROM clause and find the first table
|
||||
" and complete it.
|
||||
"
|
||||
" Version 15.0 (May 2013)
|
||||
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
|
||||
" to use regular expressions to pick up extended syntax group names.
|
||||
" This requires an updated SyntaxComplete plugin version 13.0.
|
||||
" If the required versions have not been installed, previous
|
||||
" behaviour will not be impacted.
|
||||
"
|
||||
" Version 14.0 (Dec 2012)
|
||||
" - BF: Added check for cpo
|
||||
"
|
||||
@@ -91,7 +103,7 @@ endif
|
||||
if exists('g:loaded_sql_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_sql_completion = 130
|
||||
let g:loaded_sql_completion = 150
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
@@ -110,12 +122,14 @@ let s:syn_value = []
|
||||
" Used in conjunction with the syntaxcomplete plugin
|
||||
let s:save_inc = ""
|
||||
let s:save_exc = ""
|
||||
if exists('g:omni_syntax_group_include_sql')
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
if !exists('g:omni_syntax_group_include_sql')
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
endif
|
||||
if exists('g:omni_syntax_group_exclude_sql')
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
if !exists('g:omni_syntax_group_exclude_sql')
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
endif
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
|
||||
" Used with the column list
|
||||
let s:save_prev_table = ""
|
||||
@@ -127,12 +141,12 @@ endif
|
||||
" Default syntax items to precache
|
||||
if !exists('g:omni_sql_precache_syntax_groups')
|
||||
let g:omni_sql_precache_syntax_groups = [
|
||||
\ 'syntax',
|
||||
\ 'sqlKeyword',
|
||||
\ 'sqlFunction',
|
||||
\ 'sqlOption',
|
||||
\ 'sqlType',
|
||||
\ 'sqlStatement'
|
||||
\ 'syntax\w*',
|
||||
\ 'sqlKeyword\w*',
|
||||
\ 'sqlFunction\w*',
|
||||
\ 'sqlOption\w*',
|
||||
\ 'sqlType\w*',
|
||||
\ 'sqlStatement\w*'
|
||||
\ ]
|
||||
endif
|
||||
" Set ignorecase to the ftplugin standard
|
||||
@@ -621,19 +635,23 @@ function! s:SQLCGetSyntaxList(syn_group)
|
||||
" Return previously cached value
|
||||
let compl_list = s:syn_value[list_idx]
|
||||
else
|
||||
let s:save_inc = g:omni_syntax_group_include_sql
|
||||
let s:save_exc = g:omni_syntax_group_exclude_sql
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
|
||||
" Request the syntax list items from the
|
||||
" syntax completion plugin
|
||||
if syn_group == 'syntax'
|
||||
" Handle this special case. This allows the user
|
||||
" to indicate they want all the syntax items available,
|
||||
" so do not specify a specific include list.
|
||||
let g:omni_syntax_group_include_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
else
|
||||
" The user has specified a specific syntax group
|
||||
let g:omni_syntax_group_include_sql = syn_group
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList(syn_group)
|
||||
endif
|
||||
let g:omni_syntax_group_exclude_sql = ''
|
||||
let syn_value = syntaxcomplete#OmniSyntaxList()
|
||||
let g:omni_syntax_group_include_sql = s:save_inc
|
||||
let g:omni_syntax_group_exclude_sql = s:save_exc
|
||||
" Cache these values for later use
|
||||
|
||||
@@ -1,18 +1,34 @@
|
||||
" Vim completion script
|
||||
" Language: All languages, uses existing syntax highlighting rules
|
||||
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
|
||||
" Version: 11.0
|
||||
" Last Change: 2012 Dec 04
|
||||
" Version: 13.0
|
||||
" Last Change: 2013 May 14
|
||||
" Usage: For detailed help, ":help ft-syntax-omni"
|
||||
|
||||
" History
|
||||
"
|
||||
" Version 13.0
|
||||
" - Extended the option omni_syntax_group_include_{filetype}
|
||||
" to accept a comma separated list of regex's rather than
|
||||
" string. For example, for the javascript filetype you could
|
||||
" use:
|
||||
" let g:omni_syntax_group_include_javascript = 'javascript\w\+,jquery\w\+'
|
||||
" - Some syntax files (perl.vim) use the match // syntax as a mechanism
|
||||
" to identify keywords. This update attempts to parse the
|
||||
" match syntax and pull out syntax items which are at least
|
||||
" 3 words or more.
|
||||
"
|
||||
" Version 12.0
|
||||
" - It is possible to have '-' as part of iskeyword, when
|
||||
" checking for character ranges, tighten up the regex.
|
||||
" E688: More targets than List items.
|
||||
"
|
||||
" Version 11.0
|
||||
" Corrected which characters required escaping during
|
||||
" - Corrected which characters required escaping during
|
||||
" substitution calls.
|
||||
"
|
||||
" Version 10.0
|
||||
" Cycle through all the character ranges specified in the
|
||||
" - Cycle through all the character ranges specified in the
|
||||
" iskeyword option and build a list of valid word separators.
|
||||
" Prior to this change, only actual characters were used,
|
||||
" where for example ASCII "45" == "-". If "45" were used
|
||||
@@ -20,30 +36,30 @@
|
||||
" This introduces a new option, since the character ranges
|
||||
" specified could be multibyte:
|
||||
" let g:omni_syntax_use_single_byte = 1
|
||||
" This by default will only allow single byte ASCII
|
||||
" - This by default will only allow single byte ASCII
|
||||
" characters to be added and an additional check to ensure
|
||||
" the charater is printable (see documentation for isprint).
|
||||
"
|
||||
" Version 9.0
|
||||
" Add the check for cpo.
|
||||
" - Add the check for cpo.
|
||||
"
|
||||
" Version 8.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - Some additional syntax items were also allowed
|
||||
" on nextgroup= lines which were ignored by default.
|
||||
" Now these lines are processed independently.
|
||||
"
|
||||
" Version 7.0
|
||||
" Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Updated syntaxcomplete#OmniSyntaxList()
|
||||
" - Looking up the syntax groups defined from a syntax file
|
||||
" looked for only 1 format of {filetype}GroupName, but some
|
||||
" syntax writers use this format as well:
|
||||
" {b:current_syntax}GroupName
|
||||
" OmniSyntaxList() will now check for both if the first
|
||||
" - OmniSyntaxList() will now check for both if the first
|
||||
" method does not find a match.
|
||||
"
|
||||
" Version 6.0
|
||||
" Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Added syntaxcomplete#OmniSyntaxList()
|
||||
" - Allows other plugins to use this for their own
|
||||
" purposes.
|
||||
" - It will return a List of all syntax items for the
|
||||
@@ -52,7 +68,7 @@
|
||||
" sqlcomplete plugin to populate a Choose box.
|
||||
"
|
||||
" Version 5.0
|
||||
" Updated SyntaxCSyntaxGroupItems()
|
||||
" - Updated SyntaxCSyntaxGroupItems()
|
||||
" - When processing a list of syntax groups, the final group
|
||||
" was missed in function SyntaxCSyntaxGroupItems.
|
||||
"
|
||||
@@ -70,7 +86,7 @@ endif
|
||||
if exists('g:loaded_syntax_completion')
|
||||
finish
|
||||
endif
|
||||
let g:loaded_syntax_completion = 110
|
||||
let g:loaded_syntax_completion = 130
|
||||
|
||||
" Turn on support for line continuations when creating the script
|
||||
let s:cpo_save = &cpo
|
||||
@@ -113,7 +129,8 @@ endif
|
||||
|
||||
" This script will build a completion list based on the syntax
|
||||
" elements defined by the files in $VIMRUNTIME/syntax.
|
||||
let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
" let s:syn_remove_words = 'match,matchgroup=,contains,'.
|
||||
let s:syn_remove_words = 'matchgroup=,contains,'.
|
||||
\ 'links to,start=,end='
|
||||
" \ 'links to,start=,end=,nextgroup='
|
||||
|
||||
@@ -275,9 +292,19 @@ function! OmniSyntaxList(...)
|
||||
" sqlType
|
||||
" sqlOperators
|
||||
" sqlKeyword ...
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
if !empty(list_parms) && empty(substitute(join(list_parms), '[a-zA-Z ]', '', 'g'))
|
||||
" If list_parms only includes word characters, use it to limit
|
||||
" the syntax elements.
|
||||
" If using regex syntax list will fail to find those items, so
|
||||
" simply grab the who syntax list.
|
||||
redir @l
|
||||
silent! exec 'syntax list '.join(list_parms)
|
||||
redir END
|
||||
else
|
||||
redir @l
|
||||
silent! exec 'syntax list'
|
||||
redir END
|
||||
endif
|
||||
|
||||
let syntax_full = "\n".@l
|
||||
let @l = saveL
|
||||
@@ -311,82 +338,167 @@ function! OmniSyntaxList(...)
|
||||
endif
|
||||
endif
|
||||
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
if empty(list_parms)
|
||||
let list_parms = [&filetype.'\w\+']
|
||||
endif
|
||||
|
||||
let syn_list = ''
|
||||
let ftindex = 0
|
||||
let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
let index = 0
|
||||
for group_regex in list_parms
|
||||
" Sometimes filetypes can be composite names, like c.doxygen
|
||||
" Loop through each individual part looking for the syntax
|
||||
" items specific to each individual filetype.
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(syntax_full, group_regex, ftindex)
|
||||
|
||||
while ftindex > -1
|
||||
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( syntax_full, '\w\+', ftindex )
|
||||
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
" Syntax rules can contain items for more than just the current
|
||||
" filetype. They can contain additional items added by the user
|
||||
" via autocmds or their vimrc.
|
||||
" Some syntax files can be combined (html, php, jsp).
|
||||
" We want only items that begin with the filetype we are interested in.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\zs'.group_regex.'\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" For the matched group name, strip off any of the regex special
|
||||
" characters and see if we get a match with the current syntax
|
||||
if index == -1 && exists('b:current_syntax') && substitute(group_regex, '[^a-zA-Z ]\+.*', '', 'g') !~ '^'.b:current_syntax
|
||||
" There appears to be two standards when writing syntax files.
|
||||
" Either items begin as:
|
||||
" syn keyword {filetype}Keyword values ...
|
||||
" let b:current_syntax = "sql"
|
||||
" let b:current_syntax = "sqlanywhere"
|
||||
" Or
|
||||
" syn keyword {syntax_filename}Keyword values ...
|
||||
" let b:current_syntax = "mysql"
|
||||
" So, we will make the format of finding the syntax group names
|
||||
" a bit more flexible and look for both if the first fails to
|
||||
" find a match.
|
||||
let next_group_regex = '\n' .
|
||||
\ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
\ '\s\+xxx\s\+'
|
||||
let index = 0
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
while index > -1
|
||||
let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
let ftindex = ftindex + len(ft_part_name)
|
||||
let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
endwhile
|
||||
let get_syn_list = 1
|
||||
for exclude_group_name in list_exclude_groups
|
||||
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
let get_syn_list = 0
|
||||
endif
|
||||
endfor
|
||||
|
||||
" This code is no longer needed in version 6.0 since we have
|
||||
" augmented the syntax list command to only retrieve the syntax
|
||||
" groups we are interested in.
|
||||
"
|
||||
" if get_syn_list == 1
|
||||
" if syntax_group_include_{filetype} != ''
|
||||
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endif
|
||||
" endif
|
||||
|
||||
if get_syn_list == 1
|
||||
" Pass in the full syntax listing, plus the group name we
|
||||
" are interested in.
|
||||
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
let syn_list = syn_list . extra_syn_list . "\n"
|
||||
endif
|
||||
|
||||
let index = index + strlen(group_name)
|
||||
let index = match(syntax_full, next_group_regex, index)
|
||||
endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( syntax_full, group_regex, ftindex )
|
||||
" endwhile
|
||||
endfor
|
||||
|
||||
" " Sometimes filetypes can be composite names, like c.doxygen
|
||||
" " Loop through each individual part looking for the syntax
|
||||
" " items specific to each individual filetype.
|
||||
" let syn_list = ''
|
||||
" let ftindex = 0
|
||||
" let ftindex = match(&filetype, '\w\+', ftindex)
|
||||
|
||||
" while ftindex > -1
|
||||
" let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
|
||||
|
||||
" " Syntax rules can contain items for more than just the current
|
||||
" " filetype. They can contain additional items added by the user
|
||||
" " via autocmds or their vimrc.
|
||||
" " Some syntax files can be combined (html, php, jsp).
|
||||
" " We want only items that begin with the filetype we are interested in.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.ft_part_name.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
|
||||
" if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
|
||||
" " There appears to be two standards when writing syntax files.
|
||||
" " Either items begin as:
|
||||
" " syn keyword {filetype}Keyword values ...
|
||||
" " let b:current_syntax = "sql"
|
||||
" " let b:current_syntax = "sqlanywhere"
|
||||
" " Or
|
||||
" " syn keyword {syntax_filename}Keyword values ...
|
||||
" " let b:current_syntax = "mysql"
|
||||
" " So, we will make the format of finding the syntax group names
|
||||
" " a bit more flexible and look for both if the first fails to
|
||||
" " find a match.
|
||||
" let next_group_regex = '\n' .
|
||||
" \ '\zs'.b:current_syntax.'\w\+\ze'.
|
||||
" \ '\s\+xxx\s\+'
|
||||
" let index = 0
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endif
|
||||
|
||||
" while index > -1
|
||||
" let group_name = matchstr( syntax_full, '\w\+', index )
|
||||
|
||||
" let get_syn_list = 1
|
||||
" for exclude_group_name in list_exclude_groups
|
||||
" if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
|
||||
" let get_syn_list = 0
|
||||
" endif
|
||||
" endfor
|
||||
|
||||
" " This code is no longer needed in version 6.0 since we have
|
||||
" " augmented the syntax list command to only retrieve the syntax
|
||||
" " groups we are interested in.
|
||||
" "
|
||||
" " if get_syn_list == 1
|
||||
" " if syntax_group_include_{filetype} != ''
|
||||
" " if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
|
||||
" " let get_syn_list = 0
|
||||
" " endif
|
||||
" " endif
|
||||
" " endif
|
||||
|
||||
" if get_syn_list == 1
|
||||
" " Pass in the full syntax listing, plus the group name we
|
||||
" " are interested in.
|
||||
" let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
|
||||
" let syn_list = syn_list . extra_syn_list . "\n"
|
||||
" endif
|
||||
|
||||
" let index = index + strlen(group_name)
|
||||
" let index = match(syntax_full, next_group_regex, index)
|
||||
" endwhile
|
||||
|
||||
" let ftindex = ftindex + len(ft_part_name)
|
||||
" let ftindex = match( &filetype, '\w\+', ftindex )
|
||||
" endwhile
|
||||
|
||||
" Convert the string to a List and sort it.
|
||||
let compl_list = sort(split(syn_list))
|
||||
@@ -454,10 +566,65 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
\ , "\n", 'g'
|
||||
\ )
|
||||
|
||||
" Attempt to deal with lines using the match syntax
|
||||
" javaScriptDocTags xxx match /@\(param\|argument\|requires\|file\)\>/
|
||||
" Though it can use any types of regex, so this plugin will attempt
|
||||
" to restrict it
|
||||
" 1. Only use \( or \%( constructs remove all else
|
||||
" 2 Remove and []s
|
||||
" 3. Account for match //constructs
|
||||
" \%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?
|
||||
" 4. Hope for the best
|
||||
"
|
||||
"
|
||||
let syn_list_old = syn_list
|
||||
while syn_list =~ '\<match\>\s\+\/'
|
||||
if syn_list =~ 'perlElseIfError'
|
||||
let syn_list = syn_list
|
||||
endif
|
||||
" Check if the match has words at least 3 characters long
|
||||
if syn_list =~ '\<match \/\zs.\{-}\<\w\{3,}\>.\{-}\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
" Remove everything after / and before the first \(
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs.\{-}\ze\\%\?(.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove everything after \) and up to the ending /
|
||||
let syn_list = substitute( syn_list, '\<match \/.\{-}\\)\zs.\{-}\ze\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
|
||||
" Remove any character classes
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\[[^]]*\].\{-}\ze\/ ', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\[[^]]*\]\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?', '', 'g' )
|
||||
" Remove any words < 3 characters
|
||||
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\<\w\{1,2}\>\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
" Remove all non-word characters
|
||||
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
|
||||
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
|
||||
" Do this by using the outer substitue() call to gather all
|
||||
" text between the match /.../ tags.
|
||||
" The inner substitute() call operates on the text selected
|
||||
" and replaces all non-word characters.
|
||||
let syn_list = substitute( syn_list, '\<match \/\zs\(.\{-}\)\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
|
||||
\ , '\=substitute(submatch(1), "\\W\\+", " ", "g")'
|
||||
\ , 'g' )
|
||||
" Remove the match / / syntax
|
||||
let syn_list = substitute( syn_list, '\<match \/\(.\{-}\)\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '\1', 'g' )
|
||||
else
|
||||
" No words long enough, remove the match
|
||||
" Remove the match syntax
|
||||
" let syn_list = substitute( syn_list, '\<match \/[^\/]*\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
let syn_list = substitute( syn_list, '\<match \/\%(.\{-}\)\?\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
|
||||
endif
|
||||
if syn_list =~ '\<match\>\s\+\/'
|
||||
" Problem removing the match / / tags
|
||||
let syn_list = ''
|
||||
endif
|
||||
endwhile
|
||||
|
||||
|
||||
" Now strip off the newline + blank space + contained.
|
||||
" Also include lines with nextgroup=@someName skip_key_words syntax_element
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
let syn_list = substitute(
|
||||
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
|
||||
\ syn_list, '\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
|
||||
\ , "", 'g'
|
||||
\ )
|
||||
|
||||
@@ -497,7 +664,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
|
||||
" If so, add it to the list.
|
||||
let accepted_chars = ''
|
||||
for item in split(&iskeyword, ',')
|
||||
if item =~ '-'
|
||||
if item =~ '\d-\d'
|
||||
" This is a character range (ie 47-58),
|
||||
" cycle through each character within the range
|
||||
let [b:start, b:end] = split(item, '-')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim autoload file for the tohtml plugin.
|
||||
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
|
||||
" Last Change: 2012 Jun 30
|
||||
" Last Change: 2013 Jun 19
|
||||
"
|
||||
" Additional contributors:
|
||||
"
|
||||
@@ -401,15 +401,15 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, '</head>')
|
||||
let body_line_num = len(html)
|
||||
if !empty(s:settings.prevent_copy)
|
||||
call add(html, "<body onload='FixCharWidth();'>")
|
||||
call add(html, "<body onload='FixCharWidth();".(s:settings.line_ids ? " JumpToLine();" : "")."'>")
|
||||
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
|
||||
call add(html, "<div id='oneCharWidth'>0</div>")
|
||||
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
|
||||
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
|
||||
else
|
||||
call add(html, '<body>')
|
||||
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
|
||||
endif
|
||||
call add(html, "<table border='1' width='100%' id='vimCodeElement'>")
|
||||
call add(html, "<table border='1' width='100%' id='vimCodeElement".s:settings.id_suffix."'>")
|
||||
|
||||
call add(html, '<tr>')
|
||||
for buf in a:win_list
|
||||
@@ -475,7 +475,7 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
let temp = getline(1,'$')
|
||||
" clean out id on the main content container because we already set it on
|
||||
" the table
|
||||
let temp[0] = substitute(temp[0], " id='vimCodeElement'", "", "")
|
||||
let temp[0] = substitute(temp[0], " id='vimCodeElement[^']*'", "", "")
|
||||
" undo deletion of start and end part
|
||||
" so we can later save the file as valid html
|
||||
" TODO: restore using grabbed lines if undolevel is 1?
|
||||
@@ -503,6 +503,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
call add(html, s:body_end_line)
|
||||
call add(html, '</html>')
|
||||
|
||||
" The generated HTML is admittedly ugly and takes a LONG time to fold.
|
||||
" Make sure the user doesn't do syntax folding when loading a generated file,
|
||||
" using a modeline.
|
||||
call add(html, '<!-- vim: set foldmethod=manual : -->')
|
||||
|
||||
let i = 1
|
||||
let name = "Diff" . (s:settings.use_xhtml ? ".xhtml" : ".html")
|
||||
" Find an unused file name if current file name is already in use
|
||||
@@ -539,14 +544,12 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
" add required javascript in reverse order so we can just call append again
|
||||
" and again without adjusting {{{
|
||||
|
||||
" insert script closing tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || !empty(s:settings.prevent_copy)
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
endif
|
||||
" insert script closing tag
|
||||
call append(style_start, [
|
||||
\ '',
|
||||
\ s:settings.use_xhtml ? '//]]>' : '-->',
|
||||
\ "</script>"
|
||||
\ ])
|
||||
|
||||
" insert script which corrects the size of small input elements in
|
||||
" prevent_copy mode. See 2html.vim for details on why this is needed and how
|
||||
@@ -565,13 +568,62 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ ' var emWidth = document.getElementById("oneEmWidth").clientWidth;',
|
||||
\ ' if (inputWidth > goodWidth) {',
|
||||
\ ' while (ratio < 100*goodWidth/emWidth && ratio < 100) {',
|
||||
\ ' ratio += 5;',
|
||||
\ ' }',
|
||||
\ ' document.getElementById("vimCodeElement").className = "em"+ratio;',
|
||||
\ ' ratio += 5;',
|
||||
\ ' }',
|
||||
\ ' document.getElementById("vimCodeElement'.s:settings.id_suffix.'").className = "em"+ratio;',
|
||||
\ ' }',
|
||||
\ '}'
|
||||
\ ])
|
||||
endif
|
||||
"
|
||||
" insert javascript to get IDs from line numbers, and to open a fold before
|
||||
" jumping to any lines contained therein
|
||||
call append(style_start, [
|
||||
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
|
||||
\ " * we corrected the raw number to a line ID.",
|
||||
\ " */",
|
||||
\ " if (lineElem) {",
|
||||
\ " lineElem.scrollIntoView(true);",
|
||||
\ " }",
|
||||
\ " return true;",
|
||||
\ "}",
|
||||
\ "if ('onhashchange' in window) {",
|
||||
\ " window.onhashchange = JumpToLine;",
|
||||
\ "}"
|
||||
\ ])
|
||||
if s:settings.dynamic_folds
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
|
||||
\ " var node = lineElem;",
|
||||
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
|
||||
\ " {",
|
||||
\ " if (node.className == 'closed-fold')",
|
||||
\ " {",
|
||||
\ " /* toggle open the fold ID (remove window ID) */",
|
||||
\ " toggleFold(node.id.substr(4));",
|
||||
\ " }",
|
||||
\ " node = node.parentNode;",
|
||||
\ " }",
|
||||
\ ])
|
||||
endif
|
||||
call append(style_start, [
|
||||
\ "",
|
||||
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
|
||||
\ "function JumpToLine()",
|
||||
\ "{",
|
||||
\ " var lineNum;",
|
||||
\ " lineNum = window.location.hash;",
|
||||
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
|
||||
\ "",
|
||||
\ " if (lineNum.indexOf('L') == -1) {",
|
||||
\ " lineNum = 'L'+lineNum;",
|
||||
\ " }",
|
||||
\ " if (lineNum.indexOf('W') == -1) {",
|
||||
\ " lineNum = 'W1'+lineNum;",
|
||||
\ " }",
|
||||
\ " lineElem = document.getElementById(lineNum);"
|
||||
\ ])
|
||||
|
||||
" Insert javascript to toggle matching folds open and closed in all windows,
|
||||
" if dynamic folding is active.
|
||||
@@ -596,12 +648,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
|
||||
\ ])
|
||||
endif
|
||||
|
||||
" insert script tag if any javascript is needed
|
||||
if s:settings.dynamic_folds || s:settings.prevent_copy != ""
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
endif "}}}
|
||||
" insert script tag; javascript is always needed for the line number
|
||||
" normalization for URL hashes
|
||||
call append(style_start, [
|
||||
\ "<script type='text/javascript'>",
|
||||
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
|
||||
|
||||
" Insert styles from all the generated html documents and additional styles
|
||||
" for the table-based layout of the side-by-side diff. The diff should take
|
||||
@@ -671,6 +722,7 @@ func! tohtml#GetUserSettings() "{{{
|
||||
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
|
||||
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
|
||||
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
|
||||
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
|
||||
" }}}
|
||||
|
||||
" override those settings that need it {{{
|
||||
@@ -804,6 +856,20 @@ func! tohtml#GetUserSettings() "{{{
|
||||
let user_settings.no_invalid = 0
|
||||
endif
|
||||
|
||||
if exists('g:html_id_expr')
|
||||
let user_settings.id_suffix = eval(g:html_id_expr)
|
||||
if user_settings.id_suffix !~ '^[-_:.A-Za-z0-9]*$'
|
||||
echohl WarningMsg
|
||||
echomsg '2html: g:html_id_expr evaluated to invalid string for HTML id attributes'
|
||||
echomsg '2html: Omitting user-specified suffix'
|
||||
echohl None
|
||||
sleep 3
|
||||
let user_settings.id_suffix=""
|
||||
endif
|
||||
else
|
||||
let user_settings.id_suffix=""
|
||||
endif
|
||||
|
||||
" TODO: font
|
||||
|
||||
return user_settings
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim completion script
|
||||
" Language: XML
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2006 Aug 15
|
||||
" Last Change: 2013 Jun 29
|
||||
" Version: 1.9
|
||||
"
|
||||
" Changelog:
|
||||
@@ -475,12 +475,12 @@ function! s:InCommentAt(line, col)
|
||||
endfunction
|
||||
|
||||
function! s:SetKeywords()
|
||||
let g:IsKeywordBak=&iskeyword
|
||||
let &iskeyword='33-255'
|
||||
let s:IsKeywordBak=&l:iskeyword
|
||||
let &l:iskeyword='33-255'
|
||||
endfunction
|
||||
|
||||
function! s:RestoreKeywords()
|
||||
let &iskeyword=g:IsKeywordBak
|
||||
let &l:iskeyword=s:IsKeywordBak
|
||||
endfunction
|
||||
|
||||
function! s:Push(el, sname)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Apr 17, 2013
|
||||
" Version: 26
|
||||
" Date: Jul 02, 2013
|
||||
" Version: 27
|
||||
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell {{{1
|
||||
" Copyright: Copyright (C) 2005-2013 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
" notice is copied with it. Like anything else that's free,
|
||||
@@ -13,13 +13,14 @@
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Load Once: {{{1
|
||||
if &cp || exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_zip= "v26"
|
||||
let g:loaded_zip= "v27"
|
||||
if v:version < 702
|
||||
echohl WarningMsg
|
||||
echo "***warning*** this version of zip needs vim 7.2"
|
||||
@@ -28,6 +29,7 @@ if v:version < 702
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
"DechoTabOn
|
||||
|
||||
let s:zipfile_escape = ' ?&;\'
|
||||
let s:ERROR = 2
|
||||
@@ -60,6 +62,16 @@ endif
|
||||
" zip#Browse: {{{2
|
||||
fun! zip#Browse(zipfile)
|
||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||
" sanity check: insure that the zipfile has "PK" as its first two letters
|
||||
" (zipped files have a leading PK as a "magic cookie")
|
||||
if !filereadable(a:zipfile) || readfile(a:zipfile, "", 1)[0] !~ '^PK'
|
||||
exe "noautocmd e ".fnameescape(a:zipfile)
|
||||
" call Dret("zip#Browse : not a zipfile<".a:zipfile.">")
|
||||
return
|
||||
" else " Decho
|
||||
" call Decho("zip#Browse: a:zipfile<".a:zipfile."> passed PK test - its a zip file")
|
||||
endif
|
||||
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
@@ -197,6 +209,7 @@ fun! zip#Read(fname,mode)
|
||||
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
|
||||
" but allows zipfile:... entries in quickfix lists
|
||||
let temp = tempname()
|
||||
" call Decho("using temp file<".temp.">")
|
||||
let fn = expand('%:p')
|
||||
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
|
||||
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
|
||||
@@ -208,7 +221,7 @@ fun! zip#Read(fname,mode)
|
||||
filetype detect
|
||||
|
||||
" cleanup
|
||||
keepj 0d
|
||||
" keepj 0d " used to be needed for the ...r! ... method
|
||||
set nomod
|
||||
|
||||
let &report= repkeep
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2006 Dec 10
|
||||
" Last Change: 2013 May 23
|
||||
|
||||
hi clear
|
||||
set background=dark
|
||||
@@ -43,6 +43,8 @@ hi MatchParen term=reverse ctermfg=blue guibg=Blue
|
||||
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
|
||||
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
|
||||
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
|
||||
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
|
||||
hi link IncSearch Visual
|
||||
hi link String Constant
|
||||
hi link Character Constant
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" vim: tw=0 ts=4 sw=4
|
||||
" Vim color file
|
||||
" Maintainer: Ron Aaron <ron@ronware.org>
|
||||
" Last Change: 2003 May 02
|
||||
" Last Change: 2013 May 24
|
||||
|
||||
set background=dark
|
||||
hi clear
|
||||
@@ -11,7 +11,7 @@ if exists("syntax_on")
|
||||
endif
|
||||
let g:colors_name = "ron"
|
||||
hi Normal guifg=cyan guibg=black
|
||||
hi NonText guifg=brown
|
||||
hi NonText guifg=yellow guibg=#303030
|
||||
hi comment guifg=green
|
||||
hi constant guifg=cyan gui=bold
|
||||
hi identifier guifg=cyan gui=NONE
|
||||
@@ -24,10 +24,11 @@ hi WarningMsg guifg=Black guibg=Green
|
||||
hi Error guibg=Red
|
||||
hi Todo guifg=Black guibg=orange
|
||||
hi Cursor guibg=#60a060 guifg=#00ff00
|
||||
hi Search guibg=lightslateblue
|
||||
hi Search guibg=darkgray guifg=black gui=bold
|
||||
hi IncSearch gui=NONE guibg=steelblue
|
||||
hi LineNr guifg=darkgrey
|
||||
hi title guifg=darkgrey
|
||||
hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
|
||||
hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
|
||||
hi StatusLine gui=bold guifg=cyan guibg=blue
|
||||
hi label guifg=gold2
|
||||
@@ -41,3 +42,4 @@ hi DiffDelete guibg=coral
|
||||
hi Folded guibg=gray30
|
||||
hi FoldColumn guibg=gray30 guifg=white
|
||||
hi cIf0 guifg=gray
|
||||
hi diffOnly guifg=red gui=bold
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Checkstyle
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/checkstyle.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 26
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -17,4 +16,4 @@ CompilerSet makeprg=java\ com.puppycrawl.tools.checkstyle.Main\ -f\ plain
|
||||
|
||||
" sample error: WebTable.java:282: '+=' is not preceeded with whitespace.
|
||||
" WebTable.java:201:1: '{' should be on the previous line.
|
||||
CompilerSet errorformat=%f:%l:\ %m,%f:%l:%v:\ %m,%-G%.%#
|
||||
CompilerSet errorformat=%f:%l:%v:\ %m,%f:%l:\ %m,%-G%.%#
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
|
||||
28
runtime/compiler/haml.vim
Normal file
28
runtime/compiler/haml.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Haml
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "haml"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=haml\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\Haml\ %trror\ on\ line\ %l:\ %m,
|
||||
\Syntax\ %trror\ on\ line\ %l:\ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: javac
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/javac.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Compiler: javac
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2004 Nov 27
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
||||
21
runtime/compiler/msbuild.vim
Normal file
21
runtime/compiler/msbuild.vim
Normal file
@@ -0,0 +1,21 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Microsoft Visual Studio C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "msbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=msbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
44
runtime/compiler/ocaml.vim
Normal file
44
runtime/compiler/ocaml.vim
Normal file
@@ -0,0 +1,44 @@
|
||||
" Vim Compiler File
|
||||
" Compiler: ocaml
|
||||
" Maintainer: See ftplugin/ocaml.vim (?)
|
||||
" Last Change: June 2013 by Marc Weber
|
||||
"
|
||||
" Marc Weber's comments:
|
||||
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
|
||||
" ocamake and whatnot. So which one to use?
|
||||
"
|
||||
" This error format was moved from ftplugin/ocaml.vim to this file,
|
||||
" because ftplugin is the wrong file to set an error format
|
||||
" and the error format itself is annoying because it joins many lines in this
|
||||
" error case:
|
||||
"
|
||||
" Error: The implementation foo.ml does not match the interface foo.cmi:
|
||||
" Modules do not match case.
|
||||
"
|
||||
" So having it here makes people opt-in
|
||||
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "ocaml"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
CompilerSet errorformat =
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
|
||||
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
|
||||
\%+EReference\ to\ unbound\ regexp\ name\ %m,
|
||||
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
|
||||
\%Wocamlyacc:\ w\ -\ %m,
|
||||
\%-Zmake%.%#,
|
||||
\%C%m,
|
||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
|
||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
||||
\%D%*\\a:\ Entering\ directory\ `%f',
|
||||
\%X%*\\a:\ Leaving\ directory\ `%f',
|
||||
\%DMaking\ %*\\a\ in\ %f
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: PHP
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/php.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Compiler: PHP CLI
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 25
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -17,12 +16,11 @@ let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=php\ -lq
|
||||
|
||||
CompilerSet errorformat=%E<b>Parse\ error</b>:\ %m\ in\ <b>%f</b>\ on\ line\ <b>%l</b><br\ />,
|
||||
\%W<b>Notice</b>:\ %m\ in\ <b>%f</b>\ on\ line\ <b>%l</b><br\ />,
|
||||
\%EParse\ error:\ %m\ in\ %f\ on\ line\ %l,
|
||||
\%WNotice:\ %m\ in\ %f</b>\ on\ line\ %l,
|
||||
\%-G%.%#
|
||||
CompilerSet errorformat=%E<b>%.%#Parse\ error</b>:\ %m\ in\ <b>%f</b>\ on\ line\ <b>%l</b><br\ />,
|
||||
\%W<b>%.%#Notice</b>:\ %m\ in\ <b>%f</b>\ on\ line\ <b>%l</b><br\ />,
|
||||
\%E%.%#Parse\ error:\ %m\ in\ %f\ on\ line\ %l,
|
||||
\%W%.%#Notice:\ %m\ in\ %f\ on\ line\ %l,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
35
runtime/compiler/rake.vim
Normal file
35
runtime/compiler/rake.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim compiler file
|
||||
" Language: Rake
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rake"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=rake
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%D(in\ %f),
|
||||
\%\\s%#from\ %f:%l:%m,
|
||||
\%\\s%#from\ %f:%l:,
|
||||
\%\\s%##\ %f:%l:%m,
|
||||
\%\\s%##\ %f:%l,
|
||||
\%\\s%#[%f:%l:\ %#%m,
|
||||
\%\\s%#%f:%l:\ %#%m,
|
||||
\%\\s%#%f:%l:,
|
||||
\%m\ [%f:%l]:
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: RSpec
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2009 Dec 22
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
@@ -18,21 +16,15 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=spec
|
||||
CompilerSet makeprg=rspec
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%+W'%.%#'\ FAILED,
|
||||
\%+I'%.%#'\ FIXED,
|
||||
\%-Cexpected:%.%#,
|
||||
\%-C\ \ \ \ \ got:%.%#,
|
||||
\%f:%l:\ %tarning:\ %m,
|
||||
\%E%.%#:in\ `load':\ %f:%l:%m,
|
||||
\%C%f:%l:,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:in\ %*[^:]:\ %m,
|
||||
\%E%f:%l:\ %m,
|
||||
\%-Z%\tfrom\ %f:%l,
|
||||
\%-Z%p^%.%#,
|
||||
\%-C%.%#,
|
||||
\%E%f:%l:in\ `%*[^']':\ %m,
|
||||
\%-Z\ \ \ \ \ \#\ %f:%l:%.%#,
|
||||
\%E\ \ %\\d%\\+)%.%#,
|
||||
\%C\ \ \ \ \ %m,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -1,33 +1,10 @@
|
||||
" Vim compiler file
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Changelog:
|
||||
" 0.2: script saves and restores 'cpoptions' value to prevent problems with
|
||||
" line continuations
|
||||
" 0.1: initial release
|
||||
"
|
||||
" Contributors:
|
||||
" Hugh Sasse <hgs@dmu.ac.uk>
|
||||
" Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
"
|
||||
" Todo:
|
||||
" match error type %m
|
||||
"
|
||||
" Comments:
|
||||
" I know this file isn't perfect. If you have any questions, suggestions,
|
||||
" patches, etc., please don't hesitate to let me know.
|
||||
"
|
||||
" This is my first experience with 'errorformat' and compiler plugins and
|
||||
" I welcome any input from more experienced (or clearer-thinking)
|
||||
" individuals.
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Language: Test::Unit - Ruby Unit Testing Framework
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2008 Aug 1
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
|
||||
if exists("current_compiler")
|
||||
|
||||
30
runtime/compiler/sass.vim
Normal file
30
runtime/compiler/sass.vim
Normal file
@@ -0,0 +1,30 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Sass
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" Last Change: 2013 May 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "sass"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=sass\ -c
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%f:%l:%m\ (Sass::Syntax%trror),
|
||||
\%ESyntax\ %trror:%m,
|
||||
\%C%\\s%\\+on\ line\ %l\ of\ %f,
|
||||
\%Z%.%#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: se (SmartEiffel Compiler)
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/se.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Compiler: se (Liberty Eiffel Compiler)
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jun 29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -16,12 +15,15 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=compile\ %
|
||||
CompilerSet makeprg=se\ c
|
||||
|
||||
CompilerSet errorformat=%W******\ Warning:\ %m,
|
||||
\%E******\ Fatal\ Error:\ %m,
|
||||
\%E******\ Error:\ %m,
|
||||
\%CLine\ %l\ column\ %c\ in\ %\\w%\\+\ (%f)\ :,
|
||||
\%ZLine\ %l\ column\ %c\ in\ %.%#\ (%f)\ %\\=:,
|
||||
\%ZLine\ %l\ columns\ %c\\,\ %\\d%\\+\ %.%#\ (%f)\ %\\=:,
|
||||
\%+C%*[^\ ]%.%#,
|
||||
\%-GThe\ source\ lines\ involved,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
" Vim compiler file
|
||||
" Compiler: tcl
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/tcl.vim
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2004 Nov 27
|
||||
|
||||
if exists("current_compiler")
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: HTML Tidy
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/tidy.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
|
||||
" NOTE: set 'tidy_compiler_040800' if you are using the 4th August 2000 release
|
||||
" of HTML Tidy.
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jul 7
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -16,13 +12,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" this is needed to work around a bug in the 04/08/00 release of tidy which
|
||||
" failed to set the filename if the -quiet option was used
|
||||
if exists("tidy_compiler_040800")
|
||||
CompilerSet makeprg=tidy\ -errors\ --gnu-emacs\ yes\ %
|
||||
else
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
|
||||
endif
|
||||
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
|
||||
|
||||
" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
|
||||
" sample error: foo.html:9:2: Error: <foobar> is not recognized!
|
||||
|
||||
22
runtime/compiler/xbuild.vim
Normal file
22
runtime/compiler/xbuild.vim
Normal file
@@ -0,0 +1,22 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Mono C#
|
||||
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
|
||||
" Last Change: 2013 May 13
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
|
||||
let current_compiler = "xbuild"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
|
||||
CompilerSet makeprg=xbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim compiler file
|
||||
" Compiler: xmllint
|
||||
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
|
||||
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/xmllint.vim
|
||||
" Last Change: 2004 Nov 27
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2013 Jul 8
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -16,12 +15,10 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
CompilerSet makeprg=xmllint\ --valid\ --noout\
|
||||
CompilerSet makeprg=xmllint\ --valid\ --noout
|
||||
|
||||
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:\ validity\ error:\ %m,
|
||||
\%W%f:%l:\ validity\ warning:\ %m,
|
||||
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
|
||||
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13
|
||||
*arabic.txt* For Vim version 7.4b. Last change: 2010 Nov 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
*autocmd.txt* For Vim version 7.4b. Last change: 2013 Jun 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -513,9 +513,9 @@ CursorHold When the user doesn't press a key for the time
|
||||
CursorHoldI Just like CursorHold, but in Insert mode.
|
||||
|
||||
*CursorMoved*
|
||||
CursorMoved After the cursor was moved in Normal mode.
|
||||
Also when the text of the cursor line has been
|
||||
changed, e.g., with "x", "rx" or "p".
|
||||
CursorMoved After the cursor was moved in Normal or Visual
|
||||
mode. Also when the text of the cursor line
|
||||
has been changed, e.g., with "x", "rx" or "p".
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
For an example see |match-parens|.
|
||||
@@ -691,8 +691,11 @@ InsertCharPre When a character is typed in Insert mode,
|
||||
InsertEnter Just before starting Insert mode. Also for
|
||||
Replace mode and Virtual Replace mode. The
|
||||
|v:insertmode| variable indicates the mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
Be careful not to do anything else that the
|
||||
user does not expect.
|
||||
The cursor is restored afterwards. If you do
|
||||
not want that set |v:char| to a non-empty
|
||||
string.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
*change.txt* For Vim version 7.4b. Last change: 2013 Jul 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -71,9 +71,21 @@ For inserting text see |insert.txt|.
|
||||
"D" deletes the highlighted text plus all text until
|
||||
the end of the line. {not in Vi}
|
||||
|
||||
*:d* *:de* *:del* *:delete* *:dl*
|
||||
*:d* *:de* *:del* *:delete* *:dl* *:dp*
|
||||
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
|
||||
register x].
|
||||
Note these weird abbreviations:
|
||||
:dl delete and list
|
||||
:dell idem
|
||||
:delel idem
|
||||
:deletl idem
|
||||
:deletel idem
|
||||
:dp delete and print
|
||||
:dep idem
|
||||
:delp idem
|
||||
:delep idem
|
||||
:deletp idem
|
||||
:deletep idem
|
||||
|
||||
:[range]d[elete] [x] {count}
|
||||
Delete {count} lines, starting with [range]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2013 Mar 16
|
||||
*cmdline.txt* For Vim version 7.4b. Last change: 2013 Mar 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debug.txt* For Vim version 7.3. Last change: 2012 Feb 11
|
||||
*debug.txt* For Vim version 7.4b. Last change: 2012 Feb 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debugger.txt* For Vim version 7.3. Last change: 2005 Mar 29
|
||||
*debugger.txt* For Vim version 7.4b. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.3. Last change: 2012 Jan 10
|
||||
*develop.txt* For Vim version 7.4b. Last change: 2013 Apr 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,6 +20,7 @@ code.
|
||||
Vim is open source software. Everybody is encouraged to contribute to help
|
||||
improving Vim. For sending patches a context diff "diff -c" is preferred.
|
||||
Also see http://www.vim.org/tips/tip.php?tip_id=618.
|
||||
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
|
||||
|
||||
==============================================================================
|
||||
1. Design goals *design-goals*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.3. Last change: 2012 Sep 05
|
||||
*diff.txt* For Vim version 7.4b. Last change: 2013 Jul 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -128,9 +128,9 @@ file for a moment and come back to the same file and be in diff mode again.
|
||||
:diffo[ff]! Switch off diff mode for the current window and in all windows
|
||||
in the current tab page where 'diff' is set.
|
||||
|
||||
The ":diffoff" command resets the relevant options to their default value.
|
||||
This may be different from what the values were before diff mode was started,
|
||||
the old values are not remembered.
|
||||
The ":diffoff" command resets the relevant options to the values they had when
|
||||
using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode.
|
||||
Otherwise they are set to their default value:
|
||||
|
||||
'diff' off
|
||||
'scrollbind' off
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 7.3. Last change: 2011 Jan 15
|
||||
*digraph.txt* For Vim version 7.4b. Last change: 2011 Jan 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.3. Last change: 2013 Feb 07
|
||||
*editing.txt* For Vim version 7.4b. Last change: 2013 Feb 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2013 Mar 19
|
||||
*eval.txt* For Vim version 7.4b. Last change: 2013 Jun 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1150,7 +1150,7 @@ delete all script-local variables: >
|
||||
: unlet s:[k]
|
||||
:endfor
|
||||
<
|
||||
*buffer-variable* *b:var*
|
||||
*buffer-variable* *b:var* *b:*
|
||||
A variable name that is preceded with "b:" is local to the current buffer.
|
||||
Thus you can have several "b:foo" variables, one for each buffer.
|
||||
This kind of variable is deleted when the buffer is wiped out or deleted with
|
||||
@@ -1167,21 +1167,21 @@ b:changedtick The total number of changes to the current buffer. It is
|
||||
: call My_Update()
|
||||
:endif
|
||||
<
|
||||
*window-variable* *w:var*
|
||||
*window-variable* *w:var* *w:*
|
||||
A variable name that is preceded with "w:" is local to the current window. It
|
||||
is deleted when the window is closed.
|
||||
|
||||
*tabpage-variable* *t:var*
|
||||
*tabpage-variable* *t:var* *t:*
|
||||
A variable name that is preceded with "t:" is local to the current tab page,
|
||||
It is deleted when the tab page is closed. {not available when compiled
|
||||
without the |+windows| feature}
|
||||
|
||||
*global-variable* *g:var*
|
||||
*global-variable* *g:var* *g:*
|
||||
Inside functions global variables are accessed with "g:". Omitting this will
|
||||
access a variable local to a function. But "g:" can also be used in any other
|
||||
place if you like.
|
||||
|
||||
*local-variable* *l:var*
|
||||
*local-variable* *l:var* *l:*
|
||||
Inside functions local variables are accessed without prepending anything.
|
||||
But you can also prepend "l:" if you like. However, without prepending "l:"
|
||||
you may run into reserved variable names. For example "count". By itself it
|
||||
@@ -1264,7 +1264,7 @@ Note that this means that filetype plugins don't get a different set of script
|
||||
variables for each buffer. Use local buffer variables instead |b:var|.
|
||||
|
||||
|
||||
Predefined Vim variables: *vim-variable* *v:var*
|
||||
Predefined Vim variables: *vim-variable* *v:var* *v:*
|
||||
|
||||
*v:beval_col* *beval_col-variable*
|
||||
v:beval_col The number of the column, over which the mouse pointer is.
|
||||
@@ -1297,7 +1297,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
||||
*v:char* *char-variable*
|
||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||
character when using <expr> in an abbreviation |:map-<expr>|.
|
||||
It is also used by the |InsertCharPre| event.
|
||||
It is also used by the |InsertCharPre| and |InsertEnter| events.
|
||||
|
||||
*v:charconvert_from* *charconvert_from-variable*
|
||||
v:charconvert_from
|
||||
@@ -1906,6 +1906,8 @@ repeat( {expr}, {count}) String repeat {expr} {count} times
|
||||
resolve( {filename}) String get filename a shortcut points to
|
||||
reverse( {list}) List reverse {list} in-place
|
||||
round( {expr}) Float round off {expr}
|
||||
screenattr( {row}, {col}) Number attribute at screen position
|
||||
screenchar( {row}, {col}) Number character at screen position
|
||||
screencol() Number current cursor column
|
||||
screenrow() Number current cursor row
|
||||
search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
|
||||
@@ -2773,7 +2775,8 @@ expand({expr} [, {nosuf} [, {list}]]) *expand()*
|
||||
file name contains a space]
|
||||
|
||||
If the expansion fails, the result is an empty string. A name
|
||||
for a non-existing file is not included.
|
||||
for a non-existing file is not included, unless {expr} does
|
||||
not start with '%', '#' or '<', see below.
|
||||
|
||||
When {expr} starts with '%', '#' or '<', the expansion is done
|
||||
like for the |cmdline-special| variables with their associated
|
||||
@@ -4639,7 +4642,7 @@ pumvisible() *pumvisible()*
|
||||
This can be used to avoid some things that would remove the
|
||||
popup menu.
|
||||
|
||||
*E860* *E861*
|
||||
*E860*
|
||||
py3eval({expr}) *py3eval()*
|
||||
Evaluate Python expression {expr} and return its result
|
||||
converted to Vim data structures.
|
||||
@@ -4890,6 +4893,21 @@ round({expr}) *round()*
|
||||
< -5.0
|
||||
{only available when compiled with the |+float| feature}
|
||||
|
||||
screenattr(row, col) *screenattr()*
|
||||
Like screenchar(), but return the attribute. This is a rather
|
||||
arbitrary number that can only be used to compare to the
|
||||
attribute at other positions.
|
||||
|
||||
screenchar(row, col) *screenchar()*
|
||||
The result is a Number, which is the character at position
|
||||
[row, col] on the screen. This works for every possible
|
||||
screen position, also status lines, window separators and the
|
||||
command line. The top left position is row one, column one
|
||||
The character excludes composing characters. For double-byte
|
||||
encodings it may only be the first byte.
|
||||
This is mainly to be used for testing.
|
||||
Returns -1 when row or col is out of range.
|
||||
|
||||
screencol() *screencol()*
|
||||
The result is a Number, which is the current screen column of
|
||||
the cursor. The leftmost column has number 1.
|
||||
@@ -5320,8 +5338,6 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
|
||||
|t:var|
|
||||
Note that the variable name without "t:" must be used.
|
||||
Tabs are numbered starting with one.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
This function is not available in the |sandbox|.
|
||||
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
@@ -5334,8 +5350,6 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
doesn't work for a global or local buffer variable.
|
||||
For a local buffer option the global value is unchanged.
|
||||
Note that the variable name without "w:" must be used.
|
||||
Vim briefly goes to the tab page {tabnr}, this may trigger
|
||||
TabLeave and TabEnter autocommands.
|
||||
Examples: >
|
||||
:call settabwinvar(1, 1, "&list", 0)
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 f<>vrier 2002 February 16"
|
||||
.TH EVIM 1 "16 f<>vrier 2002"
|
||||
.SH NAME
|
||||
evim \- <20> Easy Vim <20>, <20>dite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a <20>t<EFBFBD> traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise <20> jour 2012-05-06, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
Mise <20> jour 2013-05-10, Dominique Pell<6C> <dominique.pelle@gmail.com>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH EVIM 1 "16 février 2002 February 16"
|
||||
.TH EVIM 1 "16 février 2002"
|
||||
.SH NAME
|
||||
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
@@ -54,4 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>
|
||||
|
||||
51
runtime/doc/evim-ja.UTF-8.1
Normal file
51
runtime/doc/evim-ja.UTF-8.1
Normal file
@@ -0,0 +1,51 @@
|
||||
.TH EVIM 1 "2002 February 16"
|
||||
.SH 名前
|
||||
evim \- easy Vim, モードレスエディタ Vim
|
||||
.SH 書式
|
||||
.br
|
||||
.B evim
|
||||
[options] [file ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH 説明
|
||||
.B eVim
|
||||
は
|
||||
.B Vim
|
||||
を起動して、モードレスエディタとして動作するためのオプションを設定します。
|
||||
Vim の動作が point-and-click エディタのような動作になります。
|
||||
MS-Windows のメモ帳のような動作です。
|
||||
.B eVim
|
||||
は常に GUI で起動し、メニューとツールバーを表示します。
|
||||
.PP
|
||||
どうしても Vim の操作に馴染めない場合に使ってください。
|
||||
編集効率は下がります。
|
||||
.PP
|
||||
.B eview
|
||||
は同様に、読み込み専用モードで起動します。evim \-R と同じです。
|
||||
.PP
|
||||
引数や Vim についての詳細は vim(1) を参照してください。
|
||||
.PP
|
||||
オプション 'insertmode' が設定され、テキストを直接、入力できるようになりま
|
||||
す。
|
||||
.br
|
||||
コピーとペーストのキー操作が MS-Windows と同じになるように、マップが設定され
|
||||
ます。
|
||||
CTRL-X が切り取り、CTRL-C がコピー、CTRL-V がペーストです。
|
||||
標準の CTRL-V の操作は CTRL-Q に割り当てられます。
|
||||
.SH オプション
|
||||
vim(1) を参照してください。
|
||||
.SH ファイル
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
eVim の初期化スクリプト。
|
||||
.SH 別名
|
||||
evim は "gumbies のための Vim" とも呼ばれています。
|
||||
evim を使っているあなたはきっと、頭にハンカチをかぶっているのです。
|
||||
(訳注: gumbies は Monty Python に登場するおもしろ集団。ハンカチをかぶっ
|
||||
ている。)
|
||||
.SH 関連項目
|
||||
vim(1)
|
||||
.SH 著者
|
||||
.B Vim
|
||||
のほとんどの機能は Bram Moolenaar が開発し、多くの人が協力しました。
|
||||
メニューの Help/Credits を参照してください。
|
||||
@@ -1,4 +1,4 @@
|
||||
*farsi.txt* For Vim version 7.3. Last change: 2010 Aug 07
|
||||
*farsi.txt* For Vim version 7.4b. Last change: 2010 Aug 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
|
||||
*filetype.txt* For Vim version 7.4b. Last change: 2013 May 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -603,7 +603,7 @@ Since the text for this plugin is rather long it has been put in a separate
|
||||
file: |ft_sql.txt|.
|
||||
|
||||
|
||||
TEX *ft-tex-plugin*
|
||||
TEX *ft-tex-plugin* *g:tex_flavor*
|
||||
|
||||
If the first line of a *.tex file has the form >
|
||||
%&<format>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 7.3. Last change: 2010 May 13
|
||||
*fold.txt* For Vim version 7.4b. Last change: 2010 May 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_ada.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*ft_ada.txt* For Vim version 7.4b. Last change: 2010 Jul 20
|
||||
|
||||
|
||||
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
*ft_sql.txt* For Vim version 7.4b. Last change: 2013 May 15
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -349,6 +349,7 @@ may not work properly on all platforms: >
|
||||
The static maps (which are based on the syntax highlight groups) follow this
|
||||
format: >
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
|
||||
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
|
||||
|
||||
This command breaks down as: >
|
||||
imap - Create an insert map
|
||||
@@ -369,6 +370,9 @@ This command breaks down as: >
|
||||
command while editing a SQL file.
|
||||
'sqlKeyword' - Display the items for the sqlKeyword highlight
|
||||
group
|
||||
'sqlKeyword\w*' - A second option available with Vim 7.4 which
|
||||
uses a regular expression to determine which
|
||||
syntax groups to use
|
||||
)<CR> - Execute the :let command
|
||||
<C-X><C-O> - Trigger the standard omni completion key stroke.
|
||||
Passing in 'sqlKeyword' instructs the SQL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 7.3. Last change: 2011 Jul 22
|
||||
*gui.txt* For Vim version 7.4b. Last change: 2013 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -93,10 +93,16 @@ and initialize other things that you may want to set up differently from the
|
||||
terminal version.
|
||||
|
||||
Recommended place for your personal GUI initializations:
|
||||
Unix $HOME/.gvimrc
|
||||
OS/2 $HOME/.gvimrc or $VIM/.gvimrc
|
||||
MS-DOS and Win32 $HOME/_gvimrc or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc or $VIM/.gvimrc
|
||||
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
|
||||
OS/2 $HOME/.gvimrc, $HOME/vimfiles/gvimrc
|
||||
or $VIM/.gvimrc
|
||||
MS-DOS and Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
|
||||
or $VIM/_gvimrc
|
||||
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
|
||||
or $VIM/.gvimrc
|
||||
|
||||
The personal initialization files are searched in the order specified above
|
||||
and only the first one that is found is read.
|
||||
|
||||
There are a number of options which only have meaning in the GUI version of
|
||||
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w16.txt* For Vim version 7.3. Last change: 2005 Mar 29
|
||||
*gui_w16.txt* For Vim version 7.4b. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 7.3. Last change: 2012 Aug 04
|
||||
*gui_w32.txt* For Vim version 7.4b. Last change: 2012 Aug 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 7.3. Last change: 2011 Sep 14
|
||||
*gui_x11.txt* For Vim version 7.4b. Last change: 2011 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*hangulin.txt* For Vim version 7.3. Last change: 2009 Jun 24
|
||||
*hangulin.txt* For Vim version 7.4b. Last change: 2009 Jun 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*hebrew.txt* For Vim version 7.3. Last change: 2007 Jun 14
|
||||
*hebrew.txt* For Vim version 7.4b. Last change: 2007 Jun 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 7.3. Last change: 2012 Dec 06
|
||||
*help.txt* For Vim version 7.4b. Last change: 2012 Dec 06
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 7.3. Last change: 2012 Nov 28
|
||||
*helphelp.txt* For Vim version 7.4b. Last change: 2012 Nov 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*howto.txt* For Vim version 7.3. Last change: 2006 Apr 02
|
||||
*howto.txt* For Vim version 7.4b. Last change: 2006 Apr 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 7.3. Last change: 2011 Jun 12
|
||||
*if_cscop.txt* For Vim version 7.4b. Last change: 2011 Jun 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_lua.txt* For Vim version 7.3. Last change: 2012 Jun 29
|
||||
*if_lua.txt* For Vim version 7.4b. Last change: 2012 Jun 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Luis Carvalho
|
||||
@@ -10,9 +10,10 @@ The Lua Interface to Vim *lua* *Lua*
|
||||
2. The vim module |lua-vim|
|
||||
3. List userdata |lua-list|
|
||||
4. Dict userdata |lua-dict|
|
||||
5. Buffer userdata |lua-buffer|
|
||||
6. Window userdata |lua-window|
|
||||
7. The luaeval function |lua-luaeval|
|
||||
5. Funcref userdata |lua-funcref|
|
||||
6. Buffer userdata |lua-buffer|
|
||||
7. Window userdata |lua-window|
|
||||
8. The luaeval function |lua-luaeval|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -110,9 +111,31 @@ input range are stored in "vim.firstline" and "vim.lastline" respectively. The
|
||||
module also includes routines for buffer, window, and current line queries,
|
||||
Vim evaluation and command execution, and others.
|
||||
|
||||
vim.list() Returns an empty list (see |List|).
|
||||
|
||||
vim.dict() Returns an empty dictionary (see |Dictionary|).
|
||||
vim.list([arg]) Returns an empty list or, if "arg" is a Lua
|
||||
table with numeric keys 1, ..., n (a
|
||||
"sequence"), returns a list l such that l[i] =
|
||||
arg[i] for i = 1, ..., n (see |List|).
|
||||
Non-numeric keys are not used to initialize
|
||||
the list. See also |lua-eval| for conversion
|
||||
rules. Example: >
|
||||
:lua t = {math.pi, false, say = 'hi'}
|
||||
:echo luaeval('vim.list(t)')
|
||||
:" [3.141593, 0], 'say' is ignored
|
||||
<
|
||||
vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
|
||||
Lua table, returns a dict d such that d[k] =
|
||||
arg[k] for all string keys k in "arg" (see
|
||||
|Dictionary|). Number keys are converted to
|
||||
strings. Keys that are not strings are not
|
||||
used to initialize the dictionary. See also
|
||||
|lua-eval| for conversion rules. Example: >
|
||||
:lua t = {math.pi, false, say = 'hi'}
|
||||
:echo luaeval('vim.dict(t)')
|
||||
:" {'say': 'hi'}, numeric keys ignored
|
||||
<
|
||||
vim.funcref({name}) Returns a Funcref to function {name} (see
|
||||
|Funcref|). It is equivalent to Vim's
|
||||
"function".
|
||||
|
||||
vim.buffer([arg]) If "arg" is a number, returns buffer with
|
||||
number "arg" in the buffer list or, if "arg"
|
||||
@@ -131,9 +154,9 @@ Vim evaluation and command execution, and others.
|
||||
|
||||
vim.type({arg}) Returns the type of {arg}. It is equivalent to
|
||||
Lua's "type" function, but returns "list",
|
||||
"dict", "buffer", or "window" if {arg} is a
|
||||
list, dictionary, buffer, or window,
|
||||
respectively. Examples: >
|
||||
"dict", "funcref", "buffer", or "window" if
|
||||
{arg} is a list, dictionary, funcref, buffer,
|
||||
or window, respectively. Examples: >
|
||||
:lua l = vim.list()
|
||||
:lua print(type(l), vim.type(l))
|
||||
:" userdata list
|
||||
@@ -229,7 +252,40 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
5. Buffer userdata *lua-buffer*
|
||||
5. Funcref userdata *lua-funcref*
|
||||
|
||||
Funcref userdata represent funcref variables in Vim. Funcrefs that were
|
||||
defined with a "dict" attribute need to be obtained as a dictionary key
|
||||
in order to have "self" properly assigned to the dictionary (see examples
|
||||
below.) A funcref "f" has the following properties:
|
||||
|
||||
Properties
|
||||
----------
|
||||
o "#f" is the name of the function referenced by "f"
|
||||
o "f(...)" calls the function referenced by "f" (with arguments)
|
||||
|
||||
Examples:
|
||||
>
|
||||
:function I(x)
|
||||
: return a:x
|
||||
: endfunction
|
||||
:let R = function('I')
|
||||
:lua i1 = vim.funcref('I')
|
||||
:lua i2 = vim.eval('R')
|
||||
:lua print(#i1, #i2) -- both 'I'
|
||||
:lua print(i1, i2, #i2(i1) == #i1(i2))
|
||||
:function Mylen() dict
|
||||
: return len(self.data)
|
||||
: endfunction
|
||||
:let mydict = {'data': [0, 1, 2, 3]}
|
||||
:lua d = vim.eval('mydict'); d.len = vim.funcref('Mylen')
|
||||
:echo mydict.len()
|
||||
:lua l = d.len -- assign d as 'self'
|
||||
:lua print(l())
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Buffer userdata *lua-buffer*
|
||||
|
||||
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
|
||||
properties and methods:
|
||||
@@ -281,7 +337,7 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
6. Window userdata *lua-window*
|
||||
7. Window userdata *lua-window*
|
||||
|
||||
Window objects represent vim windows. A window userdata "w" has the following
|
||||
properties and methods:
|
||||
@@ -313,7 +369,7 @@ Examples:
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
7. The luaeval function *lua-luaeval* *lua-eval*
|
||||
8. The luaeval function *lua-luaeval* *lua-eval*
|
||||
|
||||
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
|
||||
"luaeval". "luaeval" takes an expression string and an optional argument and
|
||||
@@ -325,7 +381,13 @@ returns the result of the expression. It is semantically equivalent in Lua to:
|
||||
return chunk(arg) -- return typval
|
||||
end
|
||||
<
|
||||
Note that "_A" receives the argument to "luaeval". Examples: >
|
||||
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
|
||||
list, dict, and funcref userdata are converted to their Vim respective types,
|
||||
while Lua booleans are converted to numbers. An error is thrown if conversion
|
||||
of any of the remaining Lua types, including userdata other than lists, dicts,
|
||||
and funcrefs, is attempted.
|
||||
|
||||
Examples: >
|
||||
|
||||
:echo luaeval('math.pi')
|
||||
:lua a = vim.list():add('newlist')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
|
||||
*if_mzsch.txt* For Vim version 7.4b. Last change: 2012 Dec 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ole.txt* For Vim version 7.3. Last change: 2008 Aug 16
|
||||
*if_ole.txt* For Vim version 7.4b. Last change: 2008 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 7.3. Last change: 2012 Oct 25
|
||||
*if_perl.txt* For Vim version 7.4b. Last change: 2012 Oct 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Feb 03
|
||||
*if_pyth.txt* For Vim version 7.4b. Last change: 2013 Jul 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -11,9 +11,11 @@ The Python Interface to Vim *python* *Python*
|
||||
3. Buffer objects |python-buffer|
|
||||
4. Range objects |python-range|
|
||||
5. Window objects |python-window|
|
||||
6. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
7. Dynamic loading |python-dynamic|
|
||||
8. Python 3 |python3|
|
||||
6. Tab page objects |python-tabpage|
|
||||
7. vim.bindeval objects |python-bindeval-objects|
|
||||
8. pyeval(), py3eval() Vim functions |python-pyeval|
|
||||
9. Dynamic loading |python-dynamic|
|
||||
10. Python 3 |python3|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -21,6 +23,7 @@ The Python 2.x interface is available only when Vim was compiled with the
|
||||
|+python| feature.
|
||||
The Python 3 interface is available only when Vim was compiled with the
|
||||
|+python3| feature.
|
||||
Both can be available at the same time, but read |python-2-and-3|.
|
||||
|
||||
==============================================================================
|
||||
1. Commands *python-commands*
|
||||
@@ -57,6 +60,22 @@ Example: >
|
||||
Note: Python is very sensitive to the indenting. Make sure the "class" line
|
||||
and "EOF" do not have any indent.
|
||||
|
||||
*:pydo*
|
||||
:[range]pydo {body} Execute Python function "def _vim_pydo(line, linenr):
|
||||
{body}" for each line in the [range], with the
|
||||
function arguments being set to the text of each line
|
||||
in turn, without a trailing <EOL>, and the current
|
||||
line number. The function should return a string or
|
||||
None. If a string is returned, it becomes the text of
|
||||
the line in the current turn. The default for [range]
|
||||
is the whole file: "1,$".
|
||||
{not in Vi}
|
||||
|
||||
Examples:
|
||||
>
|
||||
:pydo return "%s\t%d" % (line[::-1], len(line))
|
||||
:pydo if line: return "%4d: %s" % (linenr, line)
|
||||
<
|
||||
*:pyfile* *:pyf*
|
||||
:[range]pyf[ile] {file}
|
||||
Execute the Python script in {file}. The whole
|
||||
@@ -154,42 +173,26 @@ vim.eval(str) *python-eval*
|
||||
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
|
||||
|
||||
vim.bindeval(str) *python-bindeval*
|
||||
Like |python-eval|, but
|
||||
1. if expression evaluates to |List| or |Dictionary| it is returned as
|
||||
vimlist or vimdictionary python type that are connected to original
|
||||
list or dictionary. Thus modifications to these objects imply
|
||||
modifications of the original.
|
||||
Like |python-eval|, but returns special objects described in
|
||||
|python-bindeval-objects|. These python objects let you modify (|List|
|
||||
or |Dictionary|) or call (|Funcref|) vim objects.
|
||||
|
||||
Additionally, vimlist and vimdictionary type have read-write
|
||||
`.locked` attribute that returns
|
||||
Value Meaning ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
integer constants. If variable is not fixed, you can do
|
||||
`var.locked=True` to lock it and `var.locked=False` to unlock.
|
||||
There is no recursive locking like |:lockvar|! does. There is also
|
||||
no way to lock a specific key or check whether it is locked (in any
|
||||
case these locks are ignored by anything except |:let|: |extend()|
|
||||
does not care, neither does python interface).
|
||||
|
||||
Vimdictionary type also supports `.scope` attribute which is one of
|
||||
Value Meaning ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE Function-local or global scope dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary
|
||||
|
||||
2. if expression evaluates to a function reference, then it returns
|
||||
callable vimfunction object. Use self keyword argument to assign
|
||||
|self| object for dictionary functions.
|
||||
|
||||
Note: this function has the same behavior as |lua-eval| (except that
|
||||
lua does not support running vim functions), |python-eval| is
|
||||
kept for backwards compatibility in order not to make scripts
|
||||
relying on outputs of vim.eval() being a copy of original or
|
||||
vim.eval("1") returning a string.
|
||||
vim.strwidth(str) *python-strwidth*
|
||||
Like |strwidth()|: returns number of display cells str occupies, tab
|
||||
is counted as one cell.
|
||||
|
||||
vim.foreach_rtp(callable) *python-foreach_rtp*
|
||||
Call the given callable for each path in 'runtimepath' until either
|
||||
callable returns something but None, the exception is raised or there
|
||||
are no longer paths. If stopped in case callable returned non-None,
|
||||
vim.foreach_rtp function returns the value returned by callable.
|
||||
|
||||
vim.chdir(*args, **kwargs) *python-chdir*
|
||||
vim.fchdir(*args, **kwargs) *python-fchdir*
|
||||
Run os.chdir or os.fchdir, then all appropriate vim stuff.
|
||||
Note: you should not use these functions directly, use os.chdir and
|
||||
os.fchdir instead. Behavior of vim.fchdir is undefined in case
|
||||
os.fchdir does not exist.
|
||||
|
||||
Error object of the "vim" module
|
||||
|
||||
@@ -209,12 +212,12 @@ Constants of the "vim" module
|
||||
to which the variables referred.
|
||||
|
||||
vim.buffers *python-buffers*
|
||||
A sequence object providing access to the list of vim buffers. The
|
||||
A mapping object providing access to the list of vim buffers. The
|
||||
object supports the following operations: >
|
||||
:py b = vim.buffers[i] # Indexing (read-only)
|
||||
:py b in vim.buffers # Membership test
|
||||
:py n = len(vim.buffers) # Number of elements
|
||||
:py for b in vim.buffers: # Sequential access
|
||||
:py for b in vim.buffers: # Iterating over buffer list
|
||||
<
|
||||
vim.windows *python-windows*
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
@@ -223,13 +226,28 @@ vim.windows *python-windows*
|
||||
:py w in vim.windows # Membership test
|
||||
:py n = len(vim.windows) # Number of elements
|
||||
:py for w in vim.windows: # Sequential access
|
||||
< Note: vim.windows object always accesses current tab page.
|
||||
|python-tabpage|.windows objects are bound to parent |python-tabpage|
|
||||
object and always use windows from that tab page (or throw vim.error
|
||||
in case tab page was deleted). You can keep a reference to both
|
||||
without keeping a reference to vim module object or |python-tabpage|,
|
||||
they will not lose their properties in this case.
|
||||
|
||||
vim.tabpages *python-tabpages*
|
||||
A sequence object providing access to the list of vim tab pages. The
|
||||
object supports the following operations: >
|
||||
:py t = vim.tabpages[i] # Indexing (read-only)
|
||||
:py t in vim.tabpages # Membership test
|
||||
:py n = len(vim.tabpages) # Number of elements
|
||||
:py for t in vim.tabpages: # Sequential access
|
||||
<
|
||||
vim.current *python-current*
|
||||
An object providing access (via specific attributes) to various
|
||||
"current" objects available in vim:
|
||||
vim.current.line The current line (RW) String
|
||||
vim.current.buffer The current buffer (RO) Buffer
|
||||
vim.current.window The current window (RO) Window
|
||||
vim.current.buffer The current buffer (RW) Buffer
|
||||
vim.current.window The current window (RW) Window
|
||||
vim.current.tabpage The current tab page (RW) TabPage
|
||||
vim.current.range The current line range (RO) Range
|
||||
|
||||
The last case deserves a little explanation. When the :python or
|
||||
@@ -237,12 +255,43 @@ vim.current *python-current*
|
||||
"current range". A range is a bit like a buffer, but with all access
|
||||
restricted to a subset of lines. See |python-range| for more details.
|
||||
|
||||
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
|
||||
valid |python-buffer|, |python-window| or |python-tabpage| objects
|
||||
respectively. Assigning triggers normal (with |autocommand|s)
|
||||
switching to given buffer, window or tab page. It is the only way to
|
||||
switch UI objects in python: you can't assign to
|
||||
|python-tabpage|.window attribute. To switch without triggering
|
||||
autocommands use >
|
||||
py << EOF
|
||||
saved_eventignore = vim.options['eventignore']
|
||||
vim.options['eventignore'] = 'all'
|
||||
try:
|
||||
vim.current.buffer = vim.buffers[2] # Switch to buffer 2
|
||||
finally:
|
||||
vim.options['eventignore'] = saved_eventignore
|
||||
EOF
|
||||
<
|
||||
vim.vars *python-vars*
|
||||
vim.vvars *python-vvars*
|
||||
Dictionary-like objects holding dictionaries with global (|g:|) and
|
||||
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
|
||||
but faster.
|
||||
|
||||
vim.options *python-options*
|
||||
Object partly supporting mapping protocol (supports setting and
|
||||
getting items) providing a read-write access to global options.
|
||||
Note: unlike |:set| this provides access only to global options. You
|
||||
cannot use this object to obtain or set local options' values or
|
||||
access local-only options in any fashion. Raises KeyError if no global
|
||||
option with such name exists (i.e. does not raise KeyError for
|
||||
|global-local| options and global only options, but does for window-
|
||||
and buffer-local ones). Use |python-buffer| objects to access to
|
||||
buffer-local options and |python-window| objects to access to
|
||||
window-local options.
|
||||
|
||||
Type of this object is available via "Options" attribute of vim
|
||||
module.
|
||||
|
||||
Output from Python *python-output*
|
||||
Vim displays all Python code output in the Vim message area. Normal
|
||||
output appears as information messages, and error output appears as
|
||||
@@ -258,6 +307,88 @@ Output from Python *python-output*
|
||||
supported, and may cause the program to crash. This should probably be
|
||||
fixed.
|
||||
|
||||
*python2-directory* *python3-directory* *pythonx-directory*
|
||||
Python 'runtimepath' handling *python-special-path*
|
||||
|
||||
In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
|
||||
the list of paths found in 'runtimepath': with this directory in sys.path and
|
||||
vim.path_hooks in sys.path_hooks python will try to load module from
|
||||
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
|
||||
each {rtp} found in 'runtimepath'.
|
||||
|
||||
Implementation is similar to the following, but written in C: >
|
||||
|
||||
from imp import find_module, load_module
|
||||
import vim
|
||||
import sys
|
||||
|
||||
class VimModuleLoader(object):
|
||||
def __init__(self, module):
|
||||
self.module = module
|
||||
|
||||
def load_module(self, fullname, path=None):
|
||||
return self.module
|
||||
|
||||
def _find_module(fullname, oldtail, path):
|
||||
idx = oldtail.find('.')
|
||||
if idx > 0:
|
||||
name = oldtail[:idx]
|
||||
tail = oldtail[idx+1:]
|
||||
fmr = find_module(name, path)
|
||||
module = load_module(fullname[:-len(oldtail)] + name, *fmr)
|
||||
return _find_module(fullname, tail, module.__path__)
|
||||
else:
|
||||
fmr = find_module(fullname, path)
|
||||
return load_module(fullname, *fmr)
|
||||
|
||||
# It uses vim module itself in place of VimPathFinder class: it does not
|
||||
# matter for python which object has find_module function attached to as
|
||||
# an attribute.
|
||||
class VimPathFinder(object):
|
||||
@classmethod
|
||||
def find_module(cls, fullname, path=None):
|
||||
try:
|
||||
return VimModuleLoader(_find_module(fullname, fullname, path or vim._get_paths()))
|
||||
except ImportError:
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def load_module(cls, fullname, path=None):
|
||||
return _find_module(fullname, fullname, path or vim._get_paths())
|
||||
|
||||
def hook(path):
|
||||
if path == vim.VIM_SPECIAL_PATH:
|
||||
return VimPathFinder
|
||||
else:
|
||||
raise ImportError
|
||||
|
||||
sys.path_hooks.append(hook)
|
||||
|
||||
vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
|
||||
String constant used in conjunction with vim path hook. If path hook
|
||||
installed by vim is requested to handle anything but path equal to
|
||||
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
|
||||
case it uses special loader.
|
||||
|
||||
Note: you must not use value of this constant directly, always use
|
||||
vim.VIM_SPECIAL_PATH object.
|
||||
|
||||
vim.find_module(...) *python-find_module*
|
||||
vim.path_hook(path) *python-path_hook*
|
||||
Methods or objects used to implement path loading as described above.
|
||||
You should not be using any of these directly except for vim.path_hook
|
||||
in case you need to do something with sys.meta_path. It is not
|
||||
guaranteed that any of the objects will exist in the future vim
|
||||
versions.
|
||||
|
||||
vim._get_paths *python-_get_paths*
|
||||
Methods returning a list of paths which will be searched for by path
|
||||
hook. You should not rely on this method being present in future
|
||||
versions, but can use it for debugging.
|
||||
|
||||
It returns a list of {rtp}/python2 (or {rtp}/python3) and
|
||||
{rtp}/pythonx directories for each {rtp} in 'runtimepath'.
|
||||
|
||||
==============================================================================
|
||||
3. Buffer objects *python-buffer*
|
||||
|
||||
@@ -283,6 +414,24 @@ Buffer indexes start at zero, as is normal in Python. This differs from vim
|
||||
line numbers, which start from 1. This is particularly relevant when dealing
|
||||
with marks (see below) which use vim line numbers.
|
||||
|
||||
The buffer object attributes are:
|
||||
b.vars Dictionary-like object used to access
|
||||
|buffer-variable|s.
|
||||
b.options Mapping object (supports item getting, setting and
|
||||
deleting) that provides access to buffer-local options
|
||||
and buffer-local values of |global-local| options. Use
|
||||
|python-window|.options if option is window-local,
|
||||
this object will raise KeyError. If option is
|
||||
|global-local| and local value is missing getting it
|
||||
will return None.
|
||||
b.name String, RW. Contains buffer name (full path).
|
||||
Note: when assigning to b.name |BufFilePre| and
|
||||
|BufFilePost| autocommands are launched.
|
||||
b.number Buffer number. Can be used as |python-buffers| key.
|
||||
Read-only.
|
||||
b.valid True or False. Buffer object becomes invalid when
|
||||
corresponding buffer is wiped out.
|
||||
|
||||
The buffer object methods are:
|
||||
b.append(str) Append a line to the buffer
|
||||
b.append(str, nr) Idem, below line "nr"
|
||||
@@ -301,6 +450,8 @@ Note that when adding a line it must not contain a line break character '\n'.
|
||||
A trailing '\n' is allowed and ignored, so that you can do: >
|
||||
:py b.append(f.readlines())
|
||||
|
||||
Buffer object type is available using "Buffer" attribute of vim module.
|
||||
|
||||
Examples (assume b is the current buffer) >
|
||||
:py print b.name # write the buffer file name
|
||||
:py b[0] = "hello!!!" # replace the top line
|
||||
@@ -313,6 +464,8 @@ Examples (assume b is the current buffer) >
|
||||
:py (row,col) = b.mark('a') # named mark
|
||||
:py r = b.range(1,5) # a sub-range of the buffer
|
||||
:py b.vars["foo"] = "bar" # assign b:foo variable
|
||||
:py b.options["ff"] = "dos" # set fileformat
|
||||
:py del b.options["ar"] # same as :set autoread<
|
||||
|
||||
==============================================================================
|
||||
4. Range objects *python-range*
|
||||
@@ -340,6 +493,8 @@ The range object methods are:
|
||||
for Python's built-in list objects.
|
||||
r.append(list, nr) Idem, after line "nr"
|
||||
|
||||
Range object type is available using "Range" attribute of vim module.
|
||||
|
||||
Example (assume r is the current range):
|
||||
# Send all lines in a range to the default printer
|
||||
vim.command("%d,%dhardcopy!" % (r.start+1,r.end+1))
|
||||
@@ -350,6 +505,8 @@ Example (assume r is the current range):
|
||||
Window objects represent vim windows. You can obtain them in a number of ways:
|
||||
- via vim.current.window (|python-current|)
|
||||
- from indexing vim.windows (|python-windows|)
|
||||
- from indexing "windows" attribute of a tab page (|python-tabpage|)
|
||||
- from the "window" attribute of a tab page (|python-tabpage|)
|
||||
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
methods, and no sequence or other interface.
|
||||
@@ -363,17 +520,164 @@ Window attributes are:
|
||||
vars (read-only) The window |w:| variables. Attribute is
|
||||
unassignable, but you can change window
|
||||
variables this way
|
||||
options (read-only) The window-local options. Attribute is
|
||||
unassignable, but you can change window
|
||||
options this way. Provides access only to
|
||||
window-local options, for buffer-local use
|
||||
|python-buffer| and for global ones use
|
||||
|python-options|. If option is |global-local|
|
||||
and local value is missing getting it will
|
||||
return None.
|
||||
number (read-only) Window number. The first window has number 1.
|
||||
This is zero in case it cannot be determined
|
||||
(e.g. when the window object belongs to other
|
||||
tab page).
|
||||
row, col (read-only) On-screen window position in display cells.
|
||||
First position is zero.
|
||||
tabpage (read-only) Window tab page.
|
||||
valid (read-write) True or False. Window object becomes invalid
|
||||
when corresponding window is closed.
|
||||
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
The width attribute is writable only if the screen is split vertically.
|
||||
|
||||
Window object type is available using "Window" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
6. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
6. Tab page objects *python-tabpage*
|
||||
|
||||
Tab page objects represent vim tab pages. You can obtain them in a number of
|
||||
ways:
|
||||
- via vim.current.tabpage (|python-current|)
|
||||
- from indexing vim.tabpages (|python-tabpages|)
|
||||
|
||||
You can use this object to access tab page windows. They have no methods and
|
||||
no sequence or other interfaces.
|
||||
|
||||
Tab page attributes are:
|
||||
number The tab page number like the one returned by
|
||||
|tabpagenr()|.
|
||||
windows Like |python-windows|, but for current tab page.
|
||||
vars The tab page |t:| variables.
|
||||
window Current tabpage window.
|
||||
valid True or False. Tab page object becomes invalid when
|
||||
corresponding tab page is closed.
|
||||
|
||||
TabPage object type is available using "TabPage" attribute of vim module.
|
||||
|
||||
==============================================================================
|
||||
7. vim.bindeval objects *python-bindeval-objects*
|
||||
|
||||
vim.Dictionary object *python-Dictionary*
|
||||
Dictionary-like object providing access to vim |Dictionary| type.
|
||||
Attributes:
|
||||
Attribute Description ~
|
||||
locked One of *python-.locked*
|
||||
Value Description ~
|
||||
zero Variable is not locked
|
||||
vim.VAR_LOCKED Variable is locked, but can be unlocked
|
||||
vim.VAR_FIXED Variable is locked and can't be unlocked
|
||||
Read-write. You can unlock locked variable by assigning
|
||||
`True` or `False` to this attribute. No recursive locking
|
||||
is supported.
|
||||
scope One of
|
||||
Value Description ~
|
||||
zero Dictionary is not a scope one
|
||||
vim.VAR_DEF_SCOPE |g:| or |l:| dictionary
|
||||
vim.VAR_SCOPE Other scope dictionary,
|
||||
see |internal-variables|
|
||||
Methods (note: methods do not support keyword arguments):
|
||||
Method Description ~
|
||||
keys() Returns a list with dictionary keys.
|
||||
values() Returns a list with dictionary values.
|
||||
items() Returns a list of 2-tuples with dictionary contents.
|
||||
update(iterable), update(dictionary), update(**kwargs)
|
||||
Adds keys to dictionary.
|
||||
get(key[, default=None])
|
||||
Obtain key from dictionary, returning the default if it is
|
||||
not present.
|
||||
pop(key[, default])
|
||||
Remove specified key from dictionary and return
|
||||
corresponding value. If key is not found and default is
|
||||
given returns the default, otherwise raises KeyError.
|
||||
popitem()
|
||||
Remove random key from dictionary and return (key, value)
|
||||
pair.
|
||||
has_key(key)
|
||||
Check whether dictionary contains specified key, similar
|
||||
to `key in dict`.
|
||||
|
||||
__new__(), __new__(iterable), __new__(dictionary), __new__(update)
|
||||
You can use `vim.Dictionary()` to create new vim
|
||||
dictionaries. `d=vim.Dictionary(arg)` is the same as
|
||||
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
|
||||
constructs empty dictionary.
|
||||
|
||||
Examples: >
|
||||
d = vim.Dictionary(food="bar") # Constructor
|
||||
d['a'] = 'b' # Item assignment
|
||||
print d['a'] # getting item
|
||||
d.update({'c': 'd'}) # .update(dictionary)
|
||||
d.update(e='f') # .update(**kwargs)
|
||||
d.update((('g', 'h'), ('i', 'j'))) # .update(iterable)
|
||||
for key in d.keys(): # .keys()
|
||||
for val in d.values(): # .values()
|
||||
for key, val in d.items(): # .items()
|
||||
print isinstance(d, vim.Dictionary) # True
|
||||
for key in d: # Iteration over keys
|
||||
class Dict(vim.Dictionary): # Subclassing
|
||||
<
|
||||
Note: when iterating over keys you should not modify dictionary.
|
||||
|
||||
vim.List object *python-List*
|
||||
Sequence-like object providing access to vim |List| type.
|
||||
Supports `.locked` attribute, see |python-.locked|. Also supports the
|
||||
following methods:
|
||||
Method Description ~
|
||||
extend(item) Add items to the list.
|
||||
|
||||
__new__(), __new__(iterable)
|
||||
You can use `vim.List()` to create new vim lists.
|
||||
`l=vim.List(iterable)` is the same as
|
||||
`l=vim.bindeval('[]');l.extend(iterable)`. Without
|
||||
arguments constructs empty list.
|
||||
Examples: >
|
||||
l = vim.List("abc") # Constructor, result: ['a', 'b', 'c']
|
||||
l.extend(['abc', 'def']) # .extend() method
|
||||
print l[1:] # slicing
|
||||
l[:0] = ['ghi', 'jkl'] # slice assignment
|
||||
print l[0] # getting item
|
||||
l[0] = 'mno' # assignment
|
||||
for i in l: # iteration
|
||||
print isinstance(l, vim.List) # True
|
||||
class List(vim.List): # Subclassing
|
||||
|
||||
vim.Function object *python-Function*
|
||||
Function-like object, acting like vim |Funcref| object. Supports `.name`
|
||||
attribute and is callable. Accepts special keyword argument `self`, see
|
||||
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
|
||||
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
|
||||
|
||||
Examples: >
|
||||
f = vim.Function('tr') # Constructor
|
||||
print f('abc', 'a', 'b') # Calls tr('abc', 'a', 'b')
|
||||
vim.command('''
|
||||
function DictFun() dict
|
||||
return self
|
||||
endfunction
|
||||
''')
|
||||
f = vim.bindeval('function("DictFun")')
|
||||
print f(self={}) # Like call('DictFun', [], {})
|
||||
print isinstance(f, vim.Function) # True
|
||||
|
||||
==============================================================================
|
||||
8. pyeval() and py3eval() Vim functions *python-pyeval*
|
||||
|
||||
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
|
||||
functions to evaluate Python expressions and pass their values to VimL.
|
||||
|
||||
==============================================================================
|
||||
7. Dynamic loading *python-dynamic*
|
||||
9. Dynamic loading *python-dynamic*
|
||||
|
||||
On MS-Windows the Python library can be loaded dynamically. The |:version|
|
||||
output then includes |+python/dyn|.
|
||||
@@ -390,14 +694,16 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
|
||||
sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
8. Python 3 *python3*
|
||||
10. Python 3 *python3*
|
||||
|
||||
*:py3* *:python3*
|
||||
The |:py3| and |:python3| commands work similar to |:python|. A simple check
|
||||
The `:py3` and `:python3` commands work similar to `:python`. A simple check
|
||||
if the `:py3` command is working: >
|
||||
:py3 print("Hello")
|
||||
< *:py3file*
|
||||
The |:py3file| command works similar to |:pyfile|.
|
||||
The `:py3file` command works similar to `:pyfile`.
|
||||
*:py3do* *E863*
|
||||
The `:py3do` command works similar to `:pydo`.
|
||||
|
||||
|
||||
Vim can be built in four ways (:version output):
|
||||
@@ -406,7 +712,7 @@ Vim can be built in four ways (:version output):
|
||||
3. Python 3 support only (-python, +python3 or +python3/dyn)
|
||||
4. Python 2 and 3 support (+python/dyn, +python3/dyn)
|
||||
|
||||
Some more details on the special case 4:
|
||||
Some more details on the special case 4: *python-2-and-3*
|
||||
|
||||
When Python 2 and Python 3 are both supported they must be loaded dynamically.
|
||||
|
||||
@@ -435,6 +741,11 @@ To work around such problems there are these options:
|
||||
3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This
|
||||
may crash Vim though.
|
||||
|
||||
*E880*
|
||||
Raising SystemExit exception in python isn't endorsed way to quit vim, use: >
|
||||
:py vim.command("qall!")
|
||||
<
|
||||
|
||||
*has-python*
|
||||
You can test what Python version is available with: >
|
||||
if has('python')
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 7.3. Last change: 2012 Aug 02
|
||||
*if_ruby.txt* For Vim version 7.4b. Last change: 2012 Aug 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_sniff.txt* For Vim version 7.3. Last change: 2005 Mar 29
|
||||
*if_sniff.txt* For Vim version 7.4b. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_tcl.txt* For Vim version 7.3. Last change: 2012 Aug 02
|
||||
*if_tcl.txt* For Vim version 7.4b. Last change: 2012 Aug 02
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ingo Wilken
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.3. Last change: 2012 Aug 30
|
||||
*indent.txt* For Vim version 7.4b. Last change: 2013 Jun 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -729,6 +729,50 @@ buffer-local variable as follows >
|
||||
let b:fortran_indent_less=1
|
||||
|
||||
|
||||
HTML *ft-html-indent* *html-indent* *html-indenting*
|
||||
|
||||
This is about variables you can set in your vimrc to customize HTML indenting.
|
||||
|
||||
You can set the indent for the first line after <script> and <style>
|
||||
"blocktags" (default "zero"): >
|
||||
|
||||
:let g:html_indent_script1 = "inc"
|
||||
:let g:html_indent_style1 = "inc"
|
||||
<
|
||||
VALUE MEANING ~
|
||||
"zero" zero indent
|
||||
"auto" auto indent (same indent as the blocktag)
|
||||
"inc" auto indent + one indent step
|
||||
|
||||
Many tags increase the indent for what follows per default (see "Add Indent
|
||||
Tags" in the script). You can add further tags with: >
|
||||
|
||||
:let g:html_indent_inctags = "html,body,head,tbody"
|
||||
|
||||
You can also remove such tags with: >
|
||||
|
||||
:let g:html_indent_autotags = "th,td,tr,tfoot,thead"
|
||||
|
||||
Default value is empty for both variables. Note: the initial "inctags" are
|
||||
only defined once per Vim session.
|
||||
|
||||
User variables are only read when the script is sourced. To enable your
|
||||
changes during a session, without reloading the HTML file, you can manually
|
||||
do: >
|
||||
|
||||
:call HtmlIndent_CheckUserSettings()
|
||||
|
||||
Detail:
|
||||
Calculation of indent inside "blocktags" with "alien" content:
|
||||
BLOCKTAG INDENT EXPR WHEN APPLICABLE ~
|
||||
<script> : {customizable} if first line of block
|
||||
: cindent(v:lnum) if attributes empty or contain "java"
|
||||
: -1 else (vbscript, tcl, ...)
|
||||
<style> : {customizable} if first line of block
|
||||
: GetCSSIndent() else
|
||||
<!-- --> : -1
|
||||
|
||||
|
||||
PHP *ft-php-indent* *php-indent* *php-indenting*
|
||||
|
||||
NOTE: PHP files will be indented correctly only if PHP |syntax| is active.
|
||||
@@ -740,12 +784,12 @@ those useless characters first with a command like: >
|
||||
:%s /\r$//g
|
||||
|
||||
Or, you can simply |:let| the variable PHP_removeCRwhenUnix to 1 and the
|
||||
script will silently remove them when Vim loads a PHP file (at each|BufRead|).
|
||||
script will silently remove them when Vim loads a PHP file (at each |BufRead|).
|
||||
|
||||
OPTIONS: ~
|
||||
|
||||
PHP indenting can be altered in several ways by modifying the values of some
|
||||
variables:
|
||||
global variables:
|
||||
|
||||
*php-comment*
|
||||
To not enable auto-formating of comments by default (if you want to use your
|
||||
@@ -753,10 +797,21 @@ own 'formatoptions'): >
|
||||
:let g:PHP_autoformatcomment = 0
|
||||
|
||||
Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
|
||||
added, see|fo-table|for more information.
|
||||
added, see |fo-table| for more information.
|
||||
-------------
|
||||
|
||||
To add an extra indent to every PHP lines with N being the number of
|
||||
To add extra indentation to single-line comments: >
|
||||
:let g:PHP_outdentSLComments = N
|
||||
|
||||
With N being the number of 'shiftwidth' to add.
|
||||
|
||||
Only single-line comments will be affected such as: >
|
||||
# Comment
|
||||
// Comment
|
||||
/* Comment */
|
||||
-------------
|
||||
|
||||
To add extra indentation to every PHP lines with N being the number of
|
||||
'shiftwidth' to add: >
|
||||
:let g:PHP_default_indenting = N
|
||||
|
||||
@@ -772,7 +827,7 @@ For example, with N = 1, this will give:
|
||||
|
||||
$command_hist = TRUE;
|
||||
?>
|
||||
(Notice the extra indent between the PHP container markers and the code)
|
||||
(Notice the extra indentation between the PHP container markers and the code)
|
||||
-------------
|
||||
|
||||
To indent PHP tags as the surrounding code: >
|
||||
@@ -804,8 +859,10 @@ NOTE: Indenting will be a bit slower if this option is used because some
|
||||
To indent 'case:' and 'default:' statements in switch() blocks: >
|
||||
:let g:PHP_vintage_case_default_indent = 1
|
||||
|
||||
(Since in PHP braces are not required inside 'case/default' blocks, by default they are indented at the same level than the 'switch()' to avoid
|
||||
unnecessary indentation)
|
||||
In PHP braces are not required inside 'case/default' blocks therefore 'case:'
|
||||
and 'default:' are indented at the same level than the 'switch()' to avoid
|
||||
meaningless indentation. You can use the above option to return to the
|
||||
traditional way.
|
||||
|
||||
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.3. Last change: 2013 Feb 28
|
||||
*index.txt* For Vim version 7.4b. Last change: 2013 Jul 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -725,6 +725,7 @@ tag char note action in Normal mode ~
|
||||
cursor N times, leave the cursor after it
|
||||
|gQ| gQ switch to "Ex" mode with Vim editing
|
||||
|gR| gR 2 enter Virtual Replace mode
|
||||
|gT| gT go to the previous tab page
|
||||
|gU| gU{motion} 2 make Nmove text uppercase
|
||||
|gV| gV don't reselect the previous Visual area
|
||||
when executing a mapping or menu in Select
|
||||
@@ -762,6 +763,7 @@ tag char note action in Normal mode ~
|
||||
|gq| gq{motion} 2 format Nmove text
|
||||
|gr| gr{char} 2 virtual replace N chars with {char}
|
||||
|gs| gs go to sleep for N seconds (default 1)
|
||||
|gt| gt go to the next tab page
|
||||
|gu| gu{motion} 2 make Nmove text lowercase
|
||||
|gv| gv reselect the previous Visual area
|
||||
|gw| gw{motion} 2 format Nmove text and keep cursor
|
||||
@@ -799,6 +801,10 @@ tag char note action in Normal mode ~
|
||||
|zE| zE eliminate all folds
|
||||
|zF| zF create a fold for N lines
|
||||
|zG| zG mark word as good spelled word
|
||||
|zH| zH when 'wrap' off scroll half a screenwidth
|
||||
to the right
|
||||
|zL| zL when 'wrap' off scroll half a screenwidth
|
||||
to the left
|
||||
|zM| zM set 'foldlevel' to zero
|
||||
|zN| zN set 'foldenable'
|
||||
|zO| zO open folds recursively
|
||||
@@ -1185,9 +1191,12 @@ tag command action ~
|
||||
|:digraphs| :dig[raphs] show or enter digraphs
|
||||
|:display| :di[splay] display registers
|
||||
|:djump| :dj[ump] jump to #define
|
||||
|:dlist| :dl[ist] list #defines
|
||||
|:dl| :dl short for |:delete|
|
||||
|:dl| :del[ete]l short for |:delete|
|
||||
|:dlist| :dli[st] list #defines
|
||||
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|
||||
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|
||||
|:dp| :d[elete]p short for |:delete|
|
||||
|:drop| :dr[op] jump to window editing file or edit file in
|
||||
current window
|
||||
|:dsearch| :ds[earch] list one #define
|
||||
@@ -1401,8 +1410,10 @@ tag command action ~
|
||||
|:pwd| :pw[d] print current directory
|
||||
|:py3| :py3 execute Python 3 command
|
||||
|:python3| :python3 same as :py3
|
||||
|:py3do| :py3d[o] execute Python 3 command for each line
|
||||
|:py3file| :py3f[ile] execute Python 3 script file
|
||||
|:python| :py[thon] execute Python command
|
||||
|:pydo| :pyd[o] execute Python command for each line
|
||||
|:pyfile| :pyf[ile] execute Python script file
|
||||
|:quit| :q[uit] quit current window (when one window quit Vim)
|
||||
|:quitall| :quita[ll] quit Vim
|
||||
@@ -1506,6 +1517,7 @@ tag command action ~
|
||||
|:sview| :sv[iew] split window and edit file read-only
|
||||
|:swapname| :sw[apname] show the name of the current swap file
|
||||
|:syntax| :sy[ntax] syntax highlighting
|
||||
|:syntime| :synti[me] measure syntax highlighting speed
|
||||
|:syncbind| :sync[bind] sync scroll binding
|
||||
|:t| :t same as ":copy"
|
||||
|:tNext| :tN[ext] jump to previous matching tag
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2013 Apr 12
|
||||
*insert.txt* For Vim version 7.4b. Last change: 2013 Jul 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -136,6 +136,8 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
|
||||
too.
|
||||
When the result is a Float it's automatically
|
||||
converted to a String.
|
||||
When append() or setline() is invoked the undo
|
||||
sequence will be broken.
|
||||
See |registers| about registers. {not in Vi}
|
||||
|
||||
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
|
||||
@@ -1357,7 +1359,7 @@ Complete:
|
||||
|
||||
Completion works in separate JavaScript files (&ft==javascript), inside of
|
||||
<script> tag of (X)HTML and in values of event attributes (including scanning
|
||||
of external files.
|
||||
of external files).
|
||||
|
||||
DOM compatibility
|
||||
|
||||
@@ -1468,9 +1470,9 @@ knows how to color highlight. It can be used for any filetype and provides a
|
||||
minimal language-sensitive completion.
|
||||
|
||||
To enable syntax code completion you can run: >
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
setlocal omnifunc=syntaxcomplete#Complete
|
||||
|
||||
You can automate this by placing the following in your vimrc (after any
|
||||
You can automate this by placing the following in your |.vimrc| (after any
|
||||
":filetype" command): >
|
||||
if has("autocmd") && exists("+omnifunc")
|
||||
autocmd Filetype *
|
||||
@@ -1487,7 +1489,7 @@ customize which syntax groups to include or exclude from the list. Let's have
|
||||
a look at the PHP filetype to see how this works.
|
||||
|
||||
If you edit a file called, index.php, run the following command: >
|
||||
:syntax list
|
||||
syntax list
|
||||
|
||||
The first thing you will notice is that there are many different syntax groups.
|
||||
The PHP language can include elements from different languages like HTML,
|
||||
@@ -1496,24 +1498,37 @@ that begin with the filetype, "php", in this case. For example these syntax
|
||||
groups are included by default with the PHP: phpEnvVar, phpIntVar,
|
||||
phpFunctions.
|
||||
|
||||
The PHP language has an enormous number of items which it knows how to syntax
|
||||
highlight. This means these items will be available within the omni
|
||||
completion list. Some people may find this list unwieldy or are only
|
||||
interested in certain items.
|
||||
If you wish non-filetype syntax items to also be included, you can use a
|
||||
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
|
||||
to add items. Looking at the output from ":syntax list" while editing a PHP file
|
||||
I can see some of these entries: >
|
||||
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
|
||||
|
||||
There are two ways to prune this list (if necessary). If you find certain
|
||||
syntax groups you do not wish displayed you can add the following to your
|
||||
vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
|
||||
file, you can use 3 different regexs, one for each language. Or you can
|
||||
simply restrict the include groups to a particular value, without using
|
||||
a regex string: >
|
||||
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
<
|
||||
The basic form of this variable is: >
|
||||
let g:omni_syntax_group_include_{filetype} = 'regex,comma,separated'
|
||||
|
||||
The PHP language has an enormous number of items which it knows how to syntax
|
||||
highlight. These items will be available within the omni completion list.
|
||||
|
||||
Some people may find this list unwieldy or are only interested in certain
|
||||
items. There are two ways to prune this list (if necessary). If you find
|
||||
certain syntax groups you do not wish displayed you can use two different
|
||||
methods to identify these groups. The first specifically lists the syntax
|
||||
groups by name. The second uses a regular expression to identify both
|
||||
syntax groups. Simply add one the following to your vimrc: >
|
||||
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
|
||||
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
|
||||
|
||||
Add as many syntax groups to this list by comma separating them. The basic
|
||||
form of this variable is: >
|
||||
let g:omni_syntax_group_exclude_{filetype} = 'comma,separated,list'
|
||||
|
||||
For completeness the opposite is also true. Creating this variable in your
|
||||
vimrc will only include the items in the phpFunctions and phpMethods syntax
|
||||
groups: >
|
||||
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
|
||||
let g:omni_syntax_group_exclude_{filetype} = 'regex,comma,separated'
|
||||
|
||||
You can create as many of these variables as you need, varying only the
|
||||
filetype at the end of the variable name.
|
||||
@@ -1554,6 +1569,9 @@ To retrieve only the syntax items for the sqlOperator syntax group: >
|
||||
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
|
||||
echo OmniSyntaxList( ['sqlOperator', 'sqlType'] )
|
||||
|
||||
A regular expression can also be used: >
|
||||
echo OmniSyntaxList( ['sql\w\+'] )
|
||||
|
||||
From within a plugin, you would typically assign the output to a List: >
|
||||
let myKeywords = []
|
||||
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.3. Last change: 2012 Sep 05
|
||||
*intro.txt* For Vim version 7.4b. Last change: 2013 Jun 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -261,6 +261,7 @@ Vim would never have become what it is now, without the help of these people!
|
||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||
list is too long to mention them all here. Vim would not be the same without
|
||||
the ideas from all these people: They keep Vim alive!
|
||||
*love* *peace* *friendship* *gross-national-happiness*
|
||||
|
||||
|
||||
In this documentation there are several references to other versions of Vi:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2012 Apr 13
|
||||
*map.txt* For Vim version 7.4b. Last change: 2013 Jul 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -49,7 +49,7 @@ modes.
|
||||
:nm[ap] {lhs} {rhs} |mapmode-n| *:nm* *:nmap*
|
||||
:vm[ap] {lhs} {rhs} |mapmode-v| *:vm* *:vmap*
|
||||
:xm[ap] {lhs} {rhs} |mapmode-x| *:xm* *:xmap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:smap {lhs} {rhs} |mapmode-s| *:smap*
|
||||
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
|
||||
:map! {lhs} {rhs} |mapmode-ic| *:map!*
|
||||
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
|
||||
@@ -159,9 +159,9 @@ type "a", then "bar" will get inserted.
|
||||
|
||||
1.2 SPECIAL ARGUMENTS *:map-arguments*
|
||||
|
||||
"<buffer>", "<silent>", "<special>", "<script>", "<expr>" and "<unique>" can
|
||||
be used in any order. They must appear right after the command, before any
|
||||
other arguments.
|
||||
"<buffer>", "<nowait>", "<silent>", "<special>", "<script>", "<expr>" and
|
||||
"<unique>" can be used in any order. They must appear right after the
|
||||
command, before any other arguments.
|
||||
|
||||
*:map-local* *:map-<buffer>* *E224* *E225*
|
||||
If the first argument to one of these commands is "<buffer>" the mapping will
|
||||
@@ -169,12 +169,23 @@ be effective in the current buffer only. Example: >
|
||||
:map <buffer> ,w /[.,;]<CR>
|
||||
Then you can map ",w" to something else in another buffer: >
|
||||
:map <buffer> ,w /[#&!]<CR>
|
||||
The local buffer mappings are used before the global ones.
|
||||
The local buffer mappings are used before the global ones. See <nowait> below
|
||||
to make a short local mapping not taking effect when a longer global one
|
||||
exists.
|
||||
The "<buffer>" argument can also be used to clear mappings: >
|
||||
:unmap <buffer> ,w
|
||||
:mapclear <buffer>
|
||||
Local mappings are also cleared when a buffer is deleted, but not when it is
|
||||
unloaded. Just like local option values.
|
||||
Also see |map-precedence|.
|
||||
|
||||
*:map-<nowait>* *:map-nowait*
|
||||
When defining a buffer-local mapping for "," there may be a global mapping
|
||||
that starts with ",". Then you need to type another character for Vim to know
|
||||
whether to use the "," mapping or the longer one. To avoid this add the
|
||||
<nowait> argument. Then the mapping will be used when it matches, Vim does
|
||||
not wait for more characters to be typed. However, if the characters were
|
||||
already type they are used.
|
||||
|
||||
*:map-<silent>* *:map-silent*
|
||||
To define a mapping which will not be echoed on the command line, add
|
||||
@@ -586,7 +597,7 @@ this (see |<>|). Example: >
|
||||
To avoid mapping of the characters you type in insert or Command-line mode,
|
||||
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
|
||||
option is on.
|
||||
|
||||
*map-error*
|
||||
Note that when an error is encountered (that causes an error message or beep)
|
||||
the rest of the mapping is not executed. This is Vi-compatible.
|
||||
|
||||
@@ -654,6 +665,17 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
|
||||
you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
||||
might want to set the 'ttimeout' option.
|
||||
|
||||
*map-precedence*
|
||||
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
|
||||
global mappings. When a buffer-local mapping is the same as a global mapping,
|
||||
Vim will use the buffer-local mapping. In addition, Vim will use a complete
|
||||
mapping immediately if it was defined with <nowait>, even if a longer mapping
|
||||
has the same prefix. For example, given the following two mappings: >
|
||||
:map <buffer> <nowait> \a :echo "Local \a"<CR>
|
||||
:map \abc :echo "Global \abc"<CR>
|
||||
When typing \a the buffer-local mapping will be used immediately. Vim will
|
||||
not wait for more characters to see if the user might be typing \abc.
|
||||
|
||||
*map-keys-fails*
|
||||
There are situations where key codes might not be recognized:
|
||||
- Vim can only read part of the key code. Mostly this is only the first
|
||||
@@ -1242,6 +1264,7 @@ completion can be enabled:
|
||||
-complete=shellcmd Shell command
|
||||
-complete=sign |:sign| suboptions
|
||||
-complete=syntax syntax file names |'syntax'|
|
||||
-complete=syntime |:syntime| suboptions
|
||||
-complete=tag tags
|
||||
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
|
||||
-complete=user user names
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.3. Last change: 2012 Oct 06
|
||||
*mbyte.txt* For Vim version 7.4b. Last change: 2013 May 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -48,9 +48,9 @@ COMPILING
|
||||
If you already have a compiled Vim program, check if the |+multi_byte| feature
|
||||
is included. The |:version| command can be used for this.
|
||||
|
||||
If +multi_byte is not included, you should compile Vim with "big" features.
|
||||
You can further tune what features are included. See the INSTALL files in the
|
||||
source directory.
|
||||
If +multi_byte is not included, you should compile Vim with "normal", "big" or
|
||||
"huge" features. You can further tune what features are included. See the
|
||||
INSTALL files in the source directory.
|
||||
|
||||
|
||||
LOCALE
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.3. Last change: 2013 Feb 23
|
||||
*message.txt* For Vim version 7.4b. Last change: 2013 Feb 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mlang.txt* For Vim version 7.3. Last change: 2012 Jan 15
|
||||
*mlang.txt* For Vim version 7.4b. Last change: 2012 Jan 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.3. Last change: 2013 Mar 07
|
||||
*motion.txt* For Vim version 7.4b. Last change: 2013 Jul 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -236,6 +236,8 @@ g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
||||
the line is not on the screen or when a count is used.
|
||||
Additionally, vertical movements keep the column,
|
||||
instead of going to the end of the line.
|
||||
When 'virtualedit' is enabled moves to the end of the
|
||||
screen line.
|
||||
{not in Vi}
|
||||
|
||||
*bar*
|
||||
@@ -1083,7 +1085,8 @@ only once.
|
||||
|
||||
When the |:keepjumps| command modifier is used, jumps are not stored in the
|
||||
jumplist. Jumps are also not stored in other cases, e.g., in a |:global|
|
||||
command. You can explicitly add a jump by setting the ' mark.
|
||||
command. You can explicitly add a jump by setting the ' mark with "m'". Note
|
||||
that calling setpos() does not do this.
|
||||
|
||||
After the CTRL-O command that got you into line 1154 you could give another
|
||||
jump command (e.g., "G"). The jump list would then become:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 7.3. Last change: 2012 Jan 26
|
||||
*netbeans.txt* For Vim version 7.4b. Last change: 2012 Jan 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2013 Apr 05
|
||||
*options.txt* For Vim version 7.4b. Last change: 2013 Jul 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -277,8 +277,10 @@ Now the 'list' option is not set, because ":set nolist" resets the global
|
||||
value, ":setlocal list" only changes the local value and ":e two" gets the
|
||||
global value. Note that if you do this next: >
|
||||
:e one
|
||||
You will not get back the 'list' value as it was the last time you edited
|
||||
"one". The options local to a window are not remembered for each buffer.
|
||||
You will get back the 'list' value as it was the last time you edited "one".
|
||||
The options local to a window are remembered for each buffer. This also
|
||||
happens when the buffer is not loaded, but they are lost when the buffer is
|
||||
wiped out |:bwipe|.
|
||||
|
||||
*:setl* *:setlocal*
|
||||
:setl[ocal] ... Like ":set" but set only the value local to the
|
||||
@@ -480,39 +482,42 @@ to set options automatically for one or more files:
|
||||
There are two forms of modelines. The first form:
|
||||
[text]{white}{vi:|vim:|ex:}[white]{options}
|
||||
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
|
||||
[white] optional white space
|
||||
{options} a list of option settings, separated with white space or ':',
|
||||
where each part between ':' is the argument for a ":set"
|
||||
command (can be empty)
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
|
||||
[white] optional white space
|
||||
{options} a list of option settings, separated with white space
|
||||
or ':', where each part between ':' is the argument
|
||||
for a ":set" command (can be empty)
|
||||
|
||||
Example:
|
||||
Examples:
|
||||
vi:noai:sw=3 ts=6 ~
|
||||
vim: tw=77 ~
|
||||
|
||||
The second form (this is compatible with some versions of Vi):
|
||||
|
||||
[text]{white}{vi:|vim:|ex:}[white]se[t] {options}:[text]
|
||||
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
|
||||
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
|
||||
[white] optional white space
|
||||
se[t] the string "set " or "se " (note the space)
|
||||
{options} a list of options, separated with white space, which is the
|
||||
argument for a ":set" command
|
||||
: a colon
|
||||
[text] any text or empty
|
||||
[text] any text or empty
|
||||
{white} at least one blank character (<Space> or <Tab>)
|
||||
{vi:|vim:|Vim:|ex:} the string "vi:", "vim:", "Vim:" or "ex:"
|
||||
[white] optional white space
|
||||
se[t] the string "set " or "se " (note the space); When
|
||||
"Vim" is used it must be "set".
|
||||
{options} a list of options, separated with white space, which
|
||||
is the argument for a ":set" command
|
||||
: a colon
|
||||
[text] any text or empty
|
||||
|
||||
Example:
|
||||
Examples:
|
||||
/* vim: set ai tw=75: */ ~
|
||||
/* Vim: set ai tw=75: */ ~
|
||||
|
||||
The white space before {vi:|vim:|ex:} is required. This minimizes the chance
|
||||
that a normal word like "lex:" is caught. There is one exception: "vi:" and
|
||||
"vim:" can also be at the start of the line (for compatibility with version
|
||||
3.0). Using "ex:" at the start of the line will be ignored (this could be
|
||||
short for "example:").
|
||||
The white space before {vi:|vim:|Vim:|ex:} is required. This minimizes the
|
||||
chance that a normal word like "lex:" is caught. There is one exception:
|
||||
"vi:" and "vim:" can also be at the start of the line (for compatibility with
|
||||
version 3.0). Using "ex:" at the start of the line will be ignored (this
|
||||
could be short for "example:").
|
||||
|
||||
*modeline-local*
|
||||
The options are set like with ":setlocal": The new value only applies to the
|
||||
@@ -528,7 +533,7 @@ in another window. But window-local options will be set.
|
||||
|
||||
*modeline-version*
|
||||
If the modeline is only to be used for some versions of Vim, the version
|
||||
number can be specified where "vim:" is used:
|
||||
number can be specified where "vim:" or "Vim:" is used:
|
||||
vim{vers}: version {vers} or later
|
||||
vim<{vers}: version before {vers}
|
||||
vim={vers}: version {vers}
|
||||
@@ -2241,7 +2246,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Specifies whether to use quickfix window to show cscope results.
|
||||
See |cscopequickfix|.
|
||||
|
||||
*'cscoperelative'* *'csre'*
|
||||
*'cscoperelative'* *'csre'* *'nocscoperelative'* *'nocsre'*
|
||||
'cscoperelative' 'csre' boolean (default off)
|
||||
global
|
||||
{not available when compiled without the |+cscope|
|
||||
@@ -3991,6 +3996,26 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Can be overruled by using "\c" or "\C" in the pattern, see
|
||||
|/ignorecase|.
|
||||
|
||||
*'imactivatefunc'* *'imaf'*
|
||||
'imactivatefunc' 'imaf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
This option specifies a function that will be called to
|
||||
activate/inactivate Input Method.
|
||||
|
||||
Example: >
|
||||
function ImActivateFunc(active)
|
||||
if a:active
|
||||
... do something
|
||||
else
|
||||
... do something
|
||||
endif
|
||||
" return value is not used
|
||||
endfunction
|
||||
set imactivatefunc=ImActivateFunc
|
||||
<
|
||||
*'imactivatekey'* *'imak'*
|
||||
'imactivatekey' 'imak' string (default "")
|
||||
global
|
||||
@@ -4087,6 +4112,24 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The value 0 may not work correctly with Athena and Motif with some XIM
|
||||
methods. Use 'imdisable' to disable XIM then.
|
||||
|
||||
*'imstatusfunc'* *'imsf'*
|
||||
'imstatusfunc' 'imsf' string (default "")
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with |+xim| and
|
||||
|+GUI_GTK|}
|
||||
This option specifies a function that is called to obtain the status
|
||||
of Input Method. It must return a positive number when IME is active.
|
||||
|
||||
Example: >
|
||||
function ImStatusFunc()
|
||||
let is_active = ...do something
|
||||
return is_active ? 1 : 0
|
||||
endfunction
|
||||
set imstatusfunc=ImStatusFunc
|
||||
<
|
||||
NOTE: This function is invoked very often. Keep it fast.
|
||||
|
||||
*'include'* *'inc'*
|
||||
'include' 'inc' string (default "^\s*#\s*include")
|
||||
global or local to buffer |global-local|
|
||||
@@ -4603,7 +4646,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The cursor is displayed at the start of the space a Tab character
|
||||
occupies, not at the end as usual in Normal mode. To get this cursor
|
||||
position while displaying Tabs with spaces, use: >
|
||||
:set list lcs=tab\ \
|
||||
:set list lcs=tab:\ \
|
||||
<
|
||||
Note that list mode will also affect formatting (set with 'textwidth'
|
||||
or 'wrapmargin') when 'cpoptions' includes 'L'. See 'listchars' for
|
||||
@@ -5130,7 +5173,18 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
When setting this option, 'relativenumber' is reset.
|
||||
*number_relativenumber*
|
||||
The 'relativenumber' option changes the displayed number to be
|
||||
relative to the cursor. Together with 'number' there are these
|
||||
four combinations (cursor in line 3):
|
||||
|
||||
'nonu' 'nu' 'nonu' 'nu'
|
||||
'nornu' 'nornu' 'rnu' 'rnu'
|
||||
|
||||
|apple | 1 apple | 2 apple | 2 apple
|
||||
|pear | 2 pear | 1 pear | 1 pear
|
||||
|nobody | 3 nobody | 0 nobody |3 nobody
|
||||
|there | 4 there | 1 there | 1 there
|
||||
|
||||
*'numberwidth'* *'nuw'*
|
||||
'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8)
|
||||
@@ -5514,6 +5568,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
matches will be highlighted. This is used to avoid that Vim hangs
|
||||
when using a very complicated pattern.
|
||||
|
||||
*'regexpengine'* *'re'*
|
||||
'regexpengine' 're' number (default 0)
|
||||
global
|
||||
{not in Vi}
|
||||
This selects the default regexp engine. |two-engines|
|
||||
The possible values are:
|
||||
0 automatic selection
|
||||
1 old engine
|
||||
2 NFA engine
|
||||
Note that when using the NFA engine and the pattern contains something
|
||||
that is not supported the pattern will not match. This is only useful
|
||||
for debugging the regexp engine.
|
||||
|
||||
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
|
||||
'relativenumber' 'rnu' boolean (default off)
|
||||
local to window
|
||||
@@ -5532,7 +5599,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
characters are put before the number.
|
||||
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
|
||||
the number.
|
||||
When setting this option, 'number' is reset.
|
||||
|
||||
The number in front of the cursor line also depends on the value of
|
||||
'number', see |number_relativenumber| for all combinations of the two
|
||||
options.
|
||||
|
||||
*'remap'* *'noremap'*
|
||||
'remap' boolean (default on)
|
||||
@@ -6684,7 +6754,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
|
||||
p N Percentage through file in lines as in |CTRL-G|.
|
||||
P S Percentage through file of displayed window. This is like the
|
||||
percentage described for 'ruler'. Always 3 in length.
|
||||
percentage described for 'ruler'. Always 3 in length, unless
|
||||
translated.
|
||||
a S Argument list status as in default title. ({current} of {max})
|
||||
Empty if the argument file count is zero or one.
|
||||
{ NF Evaluate expression between '%{' and '}' and substitute result.
|
||||
@@ -7506,7 +7577,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
given, no further entry is used.
|
||||
See |undo-persistence|.
|
||||
|
||||
*'undofile'* *'udf'*
|
||||
*'undofile'* *'noundofile'* *'udf'* *'noudf'*
|
||||
'undofile' 'udf' boolean (default off)
|
||||
local to buffer
|
||||
{not in Vi}
|
||||
@@ -7792,8 +7863,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
if the line was empty. But it is far from Vi compatible. It may also
|
||||
break some plugins or Vim scripts. For example because |l| can move
|
||||
the cursor after the last character. Use with care!
|
||||
Using the |$| command will move to the last character in the line, not
|
||||
Using the `$` command will move to the last character in the line, not
|
||||
past it. This may actually move the cursor to the left!
|
||||
The `g$` command will move to the end of the screen line.
|
||||
It doesn't make sense to combine "all" with "onemore", but you will
|
||||
not get a warning for it.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_390.txt* For Vim version 7.3. Last change: 2010 May 30
|
||||
*os_390.txt* For Vim version 7.4b. Last change: 2010 May 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ralf Schandl
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_amiga.txt* For Vim version 7.3. Last change: 2010 Aug 14
|
||||
*os_amiga.txt* For Vim version 7.4b. Last change: 2010 Aug 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_beos.txt* For Vim version 7.3. Last change: 2010 Aug 14
|
||||
*os_beos.txt* For Vim version 7.4b. Last change: 2010 Aug 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user