mirror of
https://github.com/zoriya/vim.git
synced 2025-12-27 17:38:18 +00:00
Compare commits
477 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
900b4d77f0 | ||
|
|
2c7a29c7fd | ||
|
|
5b962cf71c | ||
|
|
63a121b750 | ||
|
|
b348038631 | ||
|
|
292ad19e92 | ||
|
|
cdbac1ee33 | ||
|
|
cc016f5410 | ||
|
|
e5180526fd | ||
|
|
24552beda0 | ||
|
|
43abc52195 | ||
|
|
ba930509b0 | ||
|
|
18f9a79673 | ||
|
|
77197e44d6 | ||
|
|
d5bc83f576 | ||
|
|
4e330bbf21 | ||
|
|
b815dac061 | ||
|
|
be79f90adc | ||
|
|
e64ac77a28 | ||
|
|
241a8aaa48 | ||
|
|
9372a11ca6 | ||
|
|
cef9dcc37e | ||
|
|
943d2b5b80 | ||
|
|
f4d1145328 | ||
|
|
c6039d8fcb | ||
|
|
bba577a242 | ||
|
|
36c31f71ad | ||
|
|
9835862c81 | ||
|
|
a39571032c | ||
|
|
c64d13ad5b | ||
|
|
16d8f87b45 | ||
|
|
5fe38612c9 | ||
|
|
3d2381ec09 | ||
|
|
b4d392824a | ||
|
|
12625caaa3 | ||
|
|
1afcace307 | ||
|
|
c20658076d | ||
|
|
a5792f5890 | ||
|
|
af289d333a | ||
|
|
a5fac54aea | ||
|
|
61036991ab | ||
|
|
8349fd7c7e | ||
|
|
784c614cb1 | ||
|
|
95b28ecc4a | ||
|
|
202795bed4 | ||
|
|
a5fb28b609 | ||
|
|
d5cdbeb8dd | ||
|
|
196dfbcca1 | ||
|
|
ac30844d60 | ||
|
|
4b77947252 | ||
|
|
8d4f404a7b | ||
|
|
9b9714bee4 | ||
|
|
761b1131b8 | ||
|
|
07d4d7328a | ||
|
|
1c7715dfe4 | ||
|
|
bb15b65864 | ||
|
|
69e0ff94dc | ||
|
|
c54b8a78fa | ||
|
|
f25fd51b89 | ||
|
|
4effc80a8c | ||
|
|
482aaeb058 | ||
|
|
4463f296d0 | ||
|
|
1e01546026 | ||
|
|
bfd8fc0529 | ||
|
|
60a795aad6 | ||
|
|
6b730e111c | ||
|
|
58071af793 | ||
|
|
ab194816fe | ||
|
|
cd292719e0 | ||
|
|
4c903f9891 | ||
|
|
e6facf9490 | ||
|
|
f75a963eea | ||
|
|
5e0d6678ad | ||
|
|
6efa2b30f4 | ||
|
|
dcca87b394 | ||
|
|
578b49e4f7 | ||
|
|
32330d3c67 | ||
|
|
d43b6cf7de | ||
|
|
a4a0838802 | ||
|
|
e7eb9df59a | ||
|
|
a5373faa17 | ||
|
|
7ca3043e1e | ||
|
|
7bb4c6e3f6 | ||
|
|
caa0fcfa6b | ||
|
|
4615234489 | ||
|
|
ffb8ab0402 | ||
|
|
d1231f991a | ||
|
|
cafda4f893 | ||
|
|
4440382f3c | ||
|
|
dd2436f352 | ||
|
|
92d640fad1 | ||
|
|
8b96d64cb5 | ||
|
|
e344bead3e | ||
|
|
da2303d96b | ||
|
|
ac6e65f88d | ||
|
|
81f1ecbc4d | ||
|
|
955295684b | ||
|
|
6e7c7f3a19 | ||
|
|
5bcb2eba3d | ||
|
|
6de6853ce3 | ||
|
|
a2036d2b48 | ||
|
|
6f16eb817b | ||
|
|
7862282f2e | ||
|
|
a6c840d7d4 | ||
|
|
e52325c254 | ||
|
|
d52d9741ee | ||
|
|
90915b5d48 | ||
|
|
50c8195012 | ||
|
|
cee5560a4b | ||
|
|
d12a132603 | ||
|
|
8aff23a13e | ||
|
|
5195e45609 | ||
|
|
5b8d8fdb52 | ||
|
|
ae5bce1c12 | ||
|
|
90cfdbe040 | ||
|
|
e5b8e3d3c6 | ||
|
|
8c45cdf4cf | ||
|
|
488c6512d9 | ||
|
|
8b1e71fa25 | ||
|
|
8b59de9f2f | ||
|
|
0fa313a718 | ||
|
|
c388fbf9d9 | ||
|
|
670f9312cc | ||
|
|
aba2f487ff | ||
|
|
4f574c8ab1 | ||
|
|
329cc7e429 | ||
|
|
8af244281c | ||
|
|
f57907ec2c | ||
|
|
f6cf987574 | ||
|
|
648120b750 | ||
|
|
572cb561ac | ||
|
|
86eb7a2c03 | ||
|
|
0be6e647d1 | ||
|
|
1d94f9b30e | ||
|
|
04a09c1975 | ||
|
|
83bab71b3c | ||
|
|
d314b2519b | ||
|
|
ecf07c8910 | ||
|
|
78984f503c | ||
|
|
53805d1eaa | ||
|
|
34cf2f5f49 | ||
|
|
25ceb22747 | ||
|
|
5a8684e782 | ||
|
|
3a6c56e422 | ||
|
|
403bd9487a | ||
|
|
4be06f9e1b | ||
|
|
661b182095 | ||
|
|
cfc7d63267 | ||
|
|
87e25fdf80 | ||
|
|
231334e6ef | ||
|
|
027436338b | ||
|
|
c013cb66a6 | ||
|
|
81366db6d6 | ||
|
|
65de869c4f | ||
|
|
58d9823409 | ||
|
|
b01585904a | ||
|
|
d8c0087cce | ||
|
|
63b3ce8757 | ||
|
|
342337a1a0 | ||
|
|
4536002e30 | ||
|
|
a3ffd9c780 | ||
|
|
80fc04348a | ||
|
|
87b774daf2 | ||
|
|
84fb85aaf6 | ||
|
|
fd6e52886b | ||
|
|
7b30e18223 | ||
|
|
0e634daa95 | ||
|
|
84110acb60 | ||
|
|
6a9aa37a3e | ||
|
|
9fad308621 | ||
|
|
ff6f061a9d | ||
|
|
d6c04cd66a | ||
|
|
6c131c43ff | ||
|
|
e7c5a15631 | ||
|
|
f8c07b2712 | ||
|
|
ce0842a6ee | ||
|
|
bbebc85750 | ||
|
|
fe3ca8ddd9 | ||
|
|
b635633989 | ||
|
|
e759a7aa9a | ||
|
|
8d34330fe5 | ||
|
|
1f28b07867 | ||
|
|
5eba4c2daf | ||
|
|
a40058acc7 | ||
|
|
3b56eb3d31 | ||
|
|
9ff7011bcb | ||
|
|
d8e9bb2090 | ||
|
|
35fdbb540a | ||
|
|
a466c99842 | ||
|
|
ac76e4dd91 | ||
|
|
51bab74a87 | ||
|
|
8d7fc6c298 | ||
|
|
e8bb2552eb | ||
|
|
045e82deef | ||
|
|
63b80986ac | ||
|
|
ec8a10a4e4 | ||
|
|
97409f1261 | ||
|
|
8e735a17f8 | ||
|
|
42332f5856 | ||
|
|
dc27ac1c5e | ||
|
|
bfb2006fd5 | ||
|
|
551f84f4e8 | ||
|
|
1756879365 | ||
|
|
53180ce2e7 | ||
|
|
dfb9ac0021 | ||
|
|
0dc065ee7c | ||
|
|
7d1f5dbc0a | ||
|
|
51ac12f683 | ||
|
|
0d9c26dd83 | ||
|
|
f9184a1d31 | ||
|
|
0f7d31ad83 | ||
|
|
1f8a5f0eac | ||
|
|
ba4128faa3 | ||
|
|
7887d88a9f | ||
|
|
505e82870e | ||
|
|
7fae636fc8 | ||
|
|
d042c56e34 | ||
|
|
e6b165e0f4 | ||
|
|
9c96f592af | ||
|
|
42eeac3552 | ||
|
|
24bbcfe8fe | ||
|
|
d7b31706f7 | ||
|
|
a1ba811ac9 | ||
|
|
9a50b1bf21 | ||
|
|
39a58ca3d4 | ||
|
|
d4098f5f19 | ||
|
|
702517dd70 | ||
|
|
b61d40504e | ||
|
|
cf6bf39f68 | ||
|
|
238f4fa798 | ||
|
|
d9fba318b8 | ||
|
|
80b29f273d | ||
|
|
1e498f5e5d | ||
|
|
0017fc52cb | ||
|
|
4eec5ec8ce | ||
|
|
f461c8e7f8 | ||
|
|
ea408854a8 | ||
|
|
29a1c1d374 | ||
|
|
1ec484f58e | ||
|
|
0a5fe2140d | ||
|
|
c4def13f8b | ||
|
|
3b506942eb | ||
|
|
47cc752267 | ||
|
|
f417f2b6af | ||
|
|
f81b0fe011 | ||
|
|
6ad01d6077 | ||
|
|
30abd28f16 | ||
|
|
d114dbee50 | ||
|
|
0c40586a7b | ||
|
|
0dd492fdd5 | ||
|
|
d857f0e0f4 | ||
|
|
3f77047607 | ||
|
|
25414f2917 | ||
|
|
e13305e3be | ||
|
|
3c2def6bd2 | ||
|
|
1d73c88503 | ||
|
|
92124a33fd | ||
|
|
b2ec307fc6 | ||
|
|
e756604ff5 | ||
|
|
f7bbbc506e | ||
|
|
8db7318c2a | ||
|
|
520470a9d6 | ||
|
|
6bab4d1fd7 | ||
|
|
cf851ce930 | ||
|
|
ea424166e2 | ||
|
|
78599adb52 | ||
|
|
c998e3c16e | ||
|
|
f3bd51a172 | ||
|
|
a41461e061 | ||
|
|
8348ea624c | ||
|
|
9f30f50471 | ||
|
|
9ba0eb850c | ||
|
|
bac97eb8ae | ||
|
|
eaa48e7d41 | ||
|
|
3638c6876d | ||
|
|
f3681cc330 | ||
|
|
c669e66fb6 | ||
|
|
3eb98fbbd8 | ||
|
|
3982c54106 | ||
|
|
0e4d877ed8 | ||
|
|
82cf9b6851 | ||
|
|
c4a06d3447 | ||
|
|
78916d7c3b | ||
|
|
631d6f6847 | ||
|
|
b765d63491 | ||
|
|
86bc1fb004 | ||
|
|
45eeb13324 | ||
|
|
cfc6c43ce2 | ||
|
|
fb67026c27 | ||
|
|
aeb25e1f15 | ||
|
|
08e310e2a2 | ||
|
|
bc045ea87a | ||
|
|
50cde8273e | ||
|
|
75c50c46a6 | ||
|
|
51485f0624 | ||
|
|
4debb442bd | ||
|
|
6c0b44b5bf | ||
|
|
d6f676daaf | ||
|
|
2c29beed4c | ||
|
|
0cde940475 | ||
|
|
54ee775e9d | ||
|
|
5c06f8b043 | ||
|
|
a04f10b606 | ||
|
|
8b044b3264 | ||
|
|
d6ec8454b0 | ||
|
|
0e6830e009 | ||
|
|
21de6660e1 | ||
|
|
01a7b9dd06 | ||
|
|
389cb3eb25 | ||
|
|
ee0446cf60 | ||
|
|
67fe1a1336 | ||
|
|
de934d77b1 | ||
|
|
2389c3c640 | ||
|
|
0d40699d6d | ||
|
|
f95dc3b823 | ||
|
|
f4630b60f5 | ||
|
|
c930a3cc82 | ||
|
|
35c54e5651 | ||
|
|
c1087e64bc | ||
|
|
686f51ef8e | ||
|
|
555b280f28 | ||
|
|
051b782fa0 | ||
|
|
9c13b359b4 | ||
|
|
34cdc3e329 | ||
|
|
a7fc0101b2 | ||
|
|
142695f3c5 | ||
|
|
d9d305836e | ||
|
|
d8a4e563d0 | ||
|
|
c9a2d2e240 | ||
|
|
dba8a917ba | ||
|
|
46df82e4eb | ||
|
|
c91506a033 | ||
|
|
2a489f5fdd | ||
|
|
41bfd309b8 | ||
|
|
6f3058f6b4 | ||
|
|
86261f63f8 | ||
|
|
0cb032ecb8 | ||
|
|
8fcc0f71a1 | ||
|
|
091271e19f | ||
|
|
8fef2ad609 | ||
|
|
54ff3419c7 | ||
|
|
9d0ec2e49a | ||
|
|
1f74d98357 | ||
|
|
f3d8cff9d0 | ||
|
|
4ee034d26b | ||
|
|
2cf8b301df | ||
|
|
2c5bc17eb7 | ||
|
|
5c5474b386 | ||
|
|
fe5cafe9b4 | ||
|
|
b6b6dc8973 | ||
|
|
310f10370b | ||
|
|
63d5a1e57b | ||
|
|
0e21a3f623 | ||
|
|
99942f0b16 | ||
|
|
5482f33f78 | ||
|
|
075757c932 | ||
|
|
37799766b0 | ||
|
|
13fcaaf195 | ||
|
|
402d2fea70 | ||
|
|
4499d2ee58 | ||
|
|
b982ca5c88 | ||
|
|
582fd85b02 | ||
|
|
8b879e7fe8 | ||
|
|
2641f77fbc | ||
|
|
68b76a69aa | ||
|
|
a88d968da1 | ||
|
|
43b604cddc | ||
|
|
6bb683663a | ||
|
|
fc73515f7b | ||
|
|
dbc08a3459 | ||
|
|
2d3c0a9daa | ||
|
|
e19defe17a | ||
|
|
60c78929eb | ||
|
|
217ad920dd | ||
|
|
2e4096b077 | ||
|
|
a0dea674b8 | ||
|
|
c07611362a | ||
|
|
5409c051a5 | ||
|
|
4317d9b486 | ||
|
|
a5319aed9b | ||
|
|
a008465995 | ||
|
|
ef53c02238 | ||
|
|
916b7afcbb | ||
|
|
da5d740e92 | ||
|
|
58e7f2bb4c | ||
|
|
eafefe4fb0 | ||
|
|
5b743bfc4d | ||
|
|
f36d3693dd | ||
|
|
fb26980c31 | ||
|
|
e2cc9702a6 | ||
|
|
152c9dd52b | ||
|
|
3918c950c9 | ||
|
|
28a37ffcf7 | ||
|
|
11cbeb1326 | ||
|
|
4ad237ddc8 | ||
|
|
cd71fa3c1e | ||
|
|
df7b1ffe99 | ||
|
|
9062a9dfbf | ||
|
|
2f6b0b8fce | ||
|
|
111ff9f40e | ||
|
|
9be038da7d | ||
|
|
95fb60ac58 | ||
|
|
e2ac10d732 | ||
|
|
4d34b432db | ||
|
|
f1f8bc5b63 | ||
|
|
e4efc3b270 | ||
|
|
44ecf65f74 | ||
|
|
fd91ecbbe0 | ||
|
|
5ea7e8b730 | ||
|
|
408fb62450 | ||
|
|
52b4b557a2 | ||
|
|
d62bec86bf | ||
|
|
fdac490def | ||
|
|
8bf59b9507 | ||
|
|
bc7aa85d8a | ||
|
|
19a09a1893 | ||
|
|
7383034c0a | ||
|
|
8cd06cabf3 | ||
|
|
4d01d630a5 | ||
|
|
038eb0ed16 | ||
|
|
2be221fa5e | ||
|
|
a21b29a2fc | ||
|
|
78cb7d249e | ||
|
|
32e7b2d575 | ||
|
|
05159a0c6a | ||
|
|
5313dcb75a | ||
|
|
26a60b4524 | ||
|
|
df177f679e | ||
|
|
6bdcfc08cb | ||
|
|
81bf708341 | ||
|
|
4399ef4764 | ||
|
|
b11bd7e43f | ||
|
|
bee0c5b29f | ||
|
|
7c62692d43 | ||
|
|
f97ca8f066 | ||
|
|
2a8d1f877c | ||
|
|
3a7c85bc13 | ||
|
|
8089cae03b | ||
|
|
758711c5dc | ||
|
|
f583668da1 | ||
|
|
6ac5429d3b | ||
|
|
748bf0374b | ||
|
|
24c088a284 | ||
|
|
2e6aff38e0 | ||
|
|
485db9bbb2 | ||
|
|
d438e91c93 | ||
|
|
2ce06f6eb9 | ||
|
|
b23c33872a | ||
|
|
65c1b01669 | ||
|
|
0182465bc0 | ||
|
|
929224039f | ||
|
|
5b625c53a5 | ||
|
|
532c780ef0 | ||
|
|
b2956cd218 | ||
|
|
677ee6890d | ||
|
|
10de2da0f5 | ||
|
|
410d0286f4 | ||
|
|
33570924ba | ||
|
|
b71ec9fc70 | ||
|
|
7df2d6629f | ||
|
|
dad6b69c00 | ||
|
|
8f999f1999 | ||
|
|
df3267e4e1 | ||
|
|
495de9c1ae | ||
|
|
6ebb114c0c | ||
|
|
9d75c83f8f | ||
|
|
281bdcec60 | ||
|
|
aab21c3533 | ||
|
|
1fad5d49c9 | ||
|
|
623fd5e206 | ||
|
|
a7043832f3 | ||
|
|
dcaf10e19a | ||
|
|
ca4729948b | ||
|
|
ce5e58e601 | ||
|
|
6abd8e9735 | ||
|
|
383f9bc302 | ||
|
|
c92ad2e2c2 |
63
Filelist
63
Filelist
@@ -2,7 +2,7 @@
|
||||
# Used by Makefile and upload.aap.
|
||||
|
||||
# source files for all source archives
|
||||
SRC_ALL1 = \
|
||||
SRC_ALL = \
|
||||
src/README.txt \
|
||||
src/arabic.c \
|
||||
src/arabic.h \
|
||||
@@ -30,6 +30,8 @@ SRC_ALL1 = \
|
||||
src/gui.h \
|
||||
src/gui_beval.c \
|
||||
src/gui_beval.h \
|
||||
src/hardcopy.c \
|
||||
src/hashtable.c \
|
||||
src/keymap.h \
|
||||
src/macros.h \
|
||||
src/main.c \
|
||||
@@ -50,12 +52,14 @@ SRC_ALL1 = \
|
||||
src/ops.c \
|
||||
src/option.c \
|
||||
src/option.h \
|
||||
src/popupmenu.c \
|
||||
src/quickfix.c \
|
||||
src/regexp.c \
|
||||
src/regexp.h \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
src/structs.h \
|
||||
src/spell.c \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
@@ -68,12 +72,10 @@ SRC_ALL1 = \
|
||||
src/vim.h \
|
||||
src/window.c \
|
||||
src/xxd/xxd.c \
|
||||
|
||||
SRC_ALL2 = \
|
||||
src/main.aap \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/*.in \
|
||||
src/testdir/*.ok \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test49.vim \
|
||||
src/proto.h \
|
||||
src/proto/buffer.pro \
|
||||
@@ -92,6 +94,8 @@ SRC_ALL2 = \
|
||||
src/proto/getchar.pro \
|
||||
src/proto/gui.pro \
|
||||
src/proto/gui_beval.pro \
|
||||
src/proto/hardcopy.pro \
|
||||
src/proto/hashtable.pro \
|
||||
src/proto/main.pro \
|
||||
src/proto/mark.pro \
|
||||
src/proto/mbyte.pro \
|
||||
@@ -106,10 +110,12 @@ SRC_ALL2 = \
|
||||
src/proto/normal.pro \
|
||||
src/proto/ops.pro \
|
||||
src/proto/option.pro \
|
||||
src/proto/popupmenu.pro \
|
||||
src/proto/quickfix.pro \
|
||||
src/proto/regexp.pro \
|
||||
src/proto/screen.pro \
|
||||
src/proto/search.pro \
|
||||
src/proto/spell.pro \
|
||||
src/proto/syntax.pro \
|
||||
src/proto/tag.pro \
|
||||
src/proto/term.pro \
|
||||
@@ -130,7 +136,6 @@ SRC_UNIX = \
|
||||
pixmaps/gen-inline-pixbufs.sh \
|
||||
pixmaps/stock_icons.h \
|
||||
src/INSTALL \
|
||||
src/INSTALLkde.txt \
|
||||
src/Makefile \
|
||||
src/auto/configure \
|
||||
src/config.aap.in \
|
||||
@@ -147,11 +152,6 @@ SRC_UNIX = \
|
||||
src/gui_gtk_f.c \
|
||||
src/gui_gtk_f.h \
|
||||
src/gui_gtk_x11.c \
|
||||
src/gui_kde.cc \
|
||||
src/gui_kde_wid.cc \
|
||||
src/gui_kde_wid.h \
|
||||
src/gui_kde_x11.cc \
|
||||
src/kvim_iface.h \
|
||||
src/gui_motif.c \
|
||||
src/gui_xmdlg.c \
|
||||
src/gui_xmebw.c \
|
||||
@@ -177,8 +177,6 @@ SRC_UNIX = \
|
||||
src/proto/gui_athena.pro \
|
||||
src/proto/gui_gtk.pro \
|
||||
src/proto/gui_gtk_x11.pro \
|
||||
src/proto/gui_kde.pro \
|
||||
src/proto/gui_kde_x11.pro \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
@@ -211,6 +209,7 @@ SRC_DOS_UNIX = \
|
||||
src/if_perlsfio.c \
|
||||
src/if_python.c \
|
||||
src/if_ruby.c \
|
||||
src/if_sniff.h \
|
||||
src/if_tcl.c \
|
||||
src/proto/if_cscope.pro \
|
||||
src/proto/if_mzsch.pro \
|
||||
@@ -323,7 +322,7 @@ SRC_DOS = \
|
||||
|
||||
# source files for DOS without CR/LF translation (also in the extra archive)
|
||||
SRC_DOS_BIN = \
|
||||
src/VisVim/Res \
|
||||
src/VisVim/Res/*.bmp \
|
||||
src/tearoff.bmp \
|
||||
src/tools.bmp \
|
||||
src/tools16.bmp \
|
||||
@@ -356,21 +355,15 @@ SRC_AMI = \
|
||||
# source files for the Mac (also in the extra archive)
|
||||
SRC_MAC = \
|
||||
src/INSTALLmac.txt \
|
||||
src/Make_mpw.mak \
|
||||
src/dehqx.py \
|
||||
src/gui_mac.c \
|
||||
src/gui_mac.icns \
|
||||
src/gui_mac.r \
|
||||
src/os_mac.build \
|
||||
src/os_mac.c \
|
||||
src/os_mac.h \
|
||||
src/os_mac.rsr.hqx \
|
||||
src/os_mac.sit.hqx \
|
||||
src/os_mac_conv.c \
|
||||
src/os_macosx.c \
|
||||
src/os_mac.pbproj/project.pbxproj \
|
||||
src/proto/gui_mac.pro \
|
||||
src/proto/os_mac.pro \
|
||||
src/proto/os_mac_conv.pro \
|
||||
|
||||
# source files for VMS (in the extra archive)
|
||||
SRC_VMS = \
|
||||
@@ -420,7 +413,6 @@ SRC_EXTRA = \
|
||||
src/gui_riscos.c \
|
||||
src/gui_riscos.h \
|
||||
src/if_sniff.c \
|
||||
src/if_sniff.h \
|
||||
src/infplist.xml \
|
||||
src/link.390 \
|
||||
src/os_beos.c \
|
||||
@@ -452,6 +444,7 @@ RT_ALL = \
|
||||
runtime/gvimrc_example.vim \
|
||||
runtime/macros/README.txt \
|
||||
runtime/macros/dvorak \
|
||||
runtime/macros/editexisting.vim \
|
||||
runtime/macros/hanoi/click.me \
|
||||
runtime/macros/hanoi/hanoi.vim \
|
||||
runtime/macros/hanoi/poster \
|
||||
@@ -505,6 +498,8 @@ RT_SCRIPTS = \
|
||||
runtime/delmenu.vim \
|
||||
runtime/synmenu.vim \
|
||||
runtime/makemenu.vim \
|
||||
runtime/autoload/*.vim \
|
||||
runtime/autoload/README.txt \
|
||||
runtime/colors/*.vim \
|
||||
runtime/colors/README.txt \
|
||||
runtime/compiler/*.vim \
|
||||
@@ -524,10 +519,6 @@ RT_UNIX = \
|
||||
runtime/KVim.desktop \
|
||||
runtime/hi16-action-make.png \
|
||||
runtime/hi22-action-make.png \
|
||||
runtime/kde-tips \
|
||||
runtime/kvim32x32.png \
|
||||
runtime/kvim48x48.png \
|
||||
runtime/kvim64x64.png \
|
||||
runtime/vim16x16.png \
|
||||
runtime/vim16x16.xpm \
|
||||
runtime/vim32x32.png \
|
||||
@@ -658,7 +649,12 @@ EXTRA = \
|
||||
# generic language files
|
||||
LANG_GEN = \
|
||||
README_lang.txt \
|
||||
runtime/doc/*-fr.1 \
|
||||
runtime/doc/*-fr.UTF-8.1 \
|
||||
runtime/doc/*-it.1 \
|
||||
runtime/doc/*-it.UTF-8.1 \
|
||||
runtime/doc/*-ru.1 \
|
||||
runtime/doc/*-ru.UTF-8.1 \
|
||||
runtime/lang/README.txt \
|
||||
runtime/lang/menu_*.vim \
|
||||
runtime/keymap/README.txt \
|
||||
@@ -671,15 +667,32 @@ LANG_GEN = \
|
||||
runtime/tutor/tutor.ko.* \
|
||||
runtime/tutor/tutor.pl.* \
|
||||
runtime/tutor/tutor.ru.* \
|
||||
runtime/tutor/tutor.sk.* \
|
||||
runtime/tutor/tutor.zh.* \
|
||||
runtime/spell/README.txt \
|
||||
runtime/spell/??/*.diff \
|
||||
runtime/spell/??/main.aap \
|
||||
runtime/spell/yi/README.txt \
|
||||
runtime/spell/main.aap \
|
||||
runtime/spell/*.vim \
|
||||
runtime/spell/fixdup \
|
||||
|
||||
# generic language files, binary
|
||||
LANG_GEN_BIN = \
|
||||
runtime/spell/README_en.txt \
|
||||
runtime/spell/en.ascii.spl \
|
||||
runtime/spell/en.latin1.spl \
|
||||
runtime/spell/en.utf-8.spl \
|
||||
|
||||
# all files for lang archive
|
||||
LANG_SRC = \
|
||||
src/po/README.txt \
|
||||
src/po/README_mingw.txt \
|
||||
src/po/README_mvc.txt \
|
||||
src/po/check.vim \
|
||||
src/po/cleanup.vim \
|
||||
src/po/Makefile \
|
||||
src/po/Make_cyg.mak \
|
||||
src/po/Make_ming.mak \
|
||||
src/po/Make_mvc.mak \
|
||||
src/po/sjiscorr.c \
|
||||
|
||||
77
Makefile
77
Makefile
@@ -37,8 +37,6 @@ all install uninstall tools config configure proto depend lint tags types test t
|
||||
#
|
||||
# TARGET PRODUCES CONTAINS
|
||||
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
|
||||
# unixrt vim-#.#-rt[12].tar.gz Runtime files for Unix
|
||||
# unixsrc vim-#.#-src[12].tar.gz Sources for Unix
|
||||
#
|
||||
# extra vim-#.#-extra.tar.gz Extra source and runtime files
|
||||
# lang vim-#.#-lang.tar.gz multi-language files
|
||||
@@ -66,12 +64,12 @@ all install uninstall tools config configure proto depend lint tags types test t
|
||||
#
|
||||
# All output files are created in the "dist" directory. Existing files are
|
||||
# overwritten!
|
||||
# To do all this you need the unixrt, unixsrc, extra and lang archives, and
|
||||
# To do all this you need the unix, extra and lang archives, and
|
||||
# compiled binaries.
|
||||
# Before creating an archive first delete all backup files, *.orig, etc.
|
||||
|
||||
MAJOR = 6
|
||||
MINOR = 3
|
||||
MAJOR = 7
|
||||
MINOR = 0aa
|
||||
|
||||
# Uncomment this line if the Win32s version is to be included.
|
||||
#DOSBIN_S = dosbin_s
|
||||
@@ -80,10 +78,11 @@ MINOR = 3
|
||||
#
|
||||
# - Update Vim version number. For a test version in: src/version.h, Contents,
|
||||
# MAJOR/MINOR above, VIMRTDIR and VERSION in src/Makefile, README*.txt,
|
||||
# runtime/doc/*.txt and nsis/gvim.nsi. For a minor/major version:
|
||||
# src/GvimExt/GvimExt.reg, src/vim16.def.
|
||||
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
|
||||
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
|
||||
# - Correct included_patches[] in src/version.c.
|
||||
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, Cscope and "huge" features.
|
||||
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme, Cscope and "huge"
|
||||
# features. Exclude workshop and SNiFF.
|
||||
# - With these features: "make proto" (requires cproto and Motif installed;
|
||||
# ignore warnings for missing include files, fix problems for syntax errors).
|
||||
# - With these features: "make depend" (works best with gcc).
|
||||
@@ -125,7 +124,7 @@ MINOR = 3
|
||||
# "uninstald16.exe".
|
||||
# 32 bit DOS version:
|
||||
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
|
||||
# - "rm testdir/*.out", "make -f Make_djg.mak test" and check the output.
|
||||
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output.
|
||||
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
|
||||
# "uninstald32.exe".
|
||||
# Win32 console version:
|
||||
@@ -262,10 +261,8 @@ dist/$(COMMENT_FARSI): dist/comment
|
||||
dist/$(COMMENT_LANG): dist/comment
|
||||
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
|
||||
|
||||
unixrt: dist prepare
|
||||
-rm -f dist/$(VIMVER)-rt1.tar.gz
|
||||
-rm -f dist/$(VIMVER)-rt2.tar.gz
|
||||
# first runtime file
|
||||
unixall: dist prepare
|
||||
-rm -f dist/$(VIMVER).tar.bz2
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
@@ -273,35 +270,10 @@ unixrt: dist prepare
|
||||
$(RT_ALL_BIN) \
|
||||
$(RT_UNIX) \
|
||||
$(RT_UNIX_DOS_BIN) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
cd dist && tar cf $(VIMVER)-rt1.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-rt1.tar
|
||||
# second runtime file (script and language files)
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(RT_SCRIPTS) \
|
||||
$(LANG_GEN) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
cd dist && tar cf $(VIMVER)-rt2.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-rt2.tar
|
||||
|
||||
unixsrc: dist prepare
|
||||
-rm -f dist/$(VIMVER)-src1.tar.gz
|
||||
-rm -f dist/$(VIMVER)-src2.tar.gz
|
||||
# first source file
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(SRC_ALL1) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
cd dist && tar cf $(VIMVER)-src1.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-src1.tar
|
||||
# second source file
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(SRC_ALL2) \
|
||||
$(LANG_GEN_BIN) \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_UNIX) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
| (cd dist/$(VIMRTDIR); tar xf -)
|
||||
@@ -309,21 +281,6 @@ unixsrc: dist prepare
|
||||
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
|
||||
# Make sure configure is newer than config.mk to force it to be generated
|
||||
touch dist/$(VIMRTDIR)/src/configure
|
||||
cd dist && tar cf $(VIMVER)-src2.tar $(VIMRTDIR)
|
||||
gzip -9 dist/$(VIMVER)-src2.tar
|
||||
|
||||
unixall: dist unixsrc unixrt
|
||||
-rm -f dist/$(VIMVER).tar.bz2
|
||||
-rm -rf dist/$(VIMRTDIR)
|
||||
mkdir dist/$(VIMRTDIR)
|
||||
cd dist && tar xfz $(VIMVER)-src1.tar.gz
|
||||
cd dist && tar xfz $(VIMVER)-src2.tar.gz
|
||||
cd dist && tar xfz $(VIMVER)-rt1.tar.gz
|
||||
cd dist && tar xfz $(VIMVER)-rt2.tar.gz
|
||||
# Create an empty config.h file, make dependencies require it
|
||||
touch dist/$(VIMRTDIR)/src/auto/config.h
|
||||
# Make sure configure is newer than config.mk to force it to be generated
|
||||
touch dist/$(VIMRTDIR)/src/configure
|
||||
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
|
||||
@@ -404,8 +361,7 @@ amisrc: dist prepare
|
||||
mkdir dist/Vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(ROOT_AMI) \
|
||||
$(SRC_ALL1) \
|
||||
$(SRC_ALL2) \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_AMI) \
|
||||
$(SRC_AMI_DOS) \
|
||||
| (cd dist/Vim/$(VIMRTDIR); tar xf -)
|
||||
@@ -422,12 +378,15 @@ dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
|
||||
-rm -rf dist/vim$(VERSION)rt.zip
|
||||
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
|
||||
|
||||
# Split in two parts to avoid a "argument list too long" error.
|
||||
dosrt_unix2dos: dist prepare no_title.vim
|
||||
-rm -rf dist/vim
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(RT_ALL) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
tar cf - \
|
||||
$(RT_SCRIPTS) \
|
||||
$(RT_DOS) \
|
||||
$(RT_NO_UNIX) \
|
||||
@@ -439,6 +398,7 @@ dosrt_unix2dos: dist prepare no_title.vim
|
||||
$(RT_UNIX_DOS_BIN) \
|
||||
$(RT_ALL_BIN) \
|
||||
$(RT_DOS_BIN) \
|
||||
$(LANG_GEN_BIN) \
|
||||
| (cd dist/vim/$(VIMRTDIR); tar xf -)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
@@ -588,8 +548,7 @@ dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
|
||||
mkdir dist/vim
|
||||
mkdir dist/vim/$(VIMRTDIR)
|
||||
tar cf - \
|
||||
$(SRC_ALL1) \
|
||||
$(SRC_ALL2) \
|
||||
$(SRC_ALL) \
|
||||
$(SRC_DOS) \
|
||||
$(SRC_AMI_DOS) \
|
||||
$(SRC_DOS_UNIX) \
|
||||
|
||||
@@ -5,28 +5,28 @@ See "README.txt" for general information about Vim.
|
||||
|
||||
|
||||
NOTE: You will need two archives:
|
||||
vim62rt.zip contains the runtime files (same as for the PC version)
|
||||
vim62os2.zip contains the OS/2 executables
|
||||
vim70rt.zip contains the runtime files (same as for the PC version)
|
||||
vim70os2.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/vim62",
|
||||
2. Unpack the zip archives. This will create a new directory "vim/vim70",
|
||||
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 vim62os2.zip
|
||||
unzip vim62os2.zip
|
||||
pkunzip -d vim70os2.zip
|
||||
unzip vim70os2.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\vim62
|
||||
set path=%path%;D:\editors\vim\vim62
|
||||
set path=%path%;C:\vim\vim70
|
||||
set path=%path%;D:\editors\vim\vim70
|
||||
|
||||
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\vim62\vim.exe The Vim version 6.2 executable.
|
||||
C:\vim\vim62\doc\*.txt The version 6.2 documentation files.
|
||||
C:\vim\vim62\bugreport.vim A Vim version 6.2 script.
|
||||
C:\vim\vim62\... Other version 6.2 distributed files.
|
||||
C:\vim\vim70\vim.exe The Vim version 7.0 executable.
|
||||
C:\vim\vim70\doc\*.txt The version 7.0 documentation files.
|
||||
C:\vim\vim70\bugreport.vim A Vim version 7.0 script.
|
||||
C:\vim\vim70\... Other version 7.0 distributed files.
|
||||
In this case the $VIM environment variable would be set like this:
|
||||
set VIM=C:\vim
|
||||
|
||||
|
||||
@@ -14,27 +14,34 @@ To compile Vim yourself you need three archives:
|
||||
vim-X.X-extra.tar.gz extra source files
|
||||
|
||||
Compilation is recommended, in order to make sure that the correct
|
||||
libraries are used for your specific system. However, you might not be
|
||||
able to compile Vim, read more from src/INSTALLvms.txt.
|
||||
libraries are used for your specific system. Read about compiling in
|
||||
src/INSTALLvms.txt.
|
||||
|
||||
To use the binary version, you need one of these archives:
|
||||
|
||||
vim-XX-exe-alpha-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-alpha-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-alpha-term.zip Alpha console executables
|
||||
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
|
||||
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
|
||||
vim-XX-exe-ia64-term.zip IA64 console executables
|
||||
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-axp-term.zip Alpha console executables
|
||||
vim-XX-exe-vax-gui.zip VAX GUI executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
|
||||
and of course
|
||||
vim-XX-runtime.zip runtime files
|
||||
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe, mms_vim.exe files,
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
|
||||
but there are also prepared "deploy ready" archives:
|
||||
|
||||
vim-XX-alpha.zip GUI and console executables with runtime and
|
||||
help files for Alpha systems
|
||||
vim-XX-vax.zip GUI and console executables with runtime and
|
||||
help files for VAX systems
|
||||
vim-XX-ia64.zip GUI and console executables with runtime and
|
||||
help files for IA64 systems
|
||||
vim-XX-axp.zip GUI and console executables with runtime and
|
||||
help files for Alpha systems
|
||||
vim-XX-vax.zip GUI and console executables with runtime and
|
||||
help files for VAX systems
|
||||
|
||||
GTK builds need LIBGTK library installed.
|
||||
|
||||
These executables and up to date patches for OpenVMS system are downloadable
|
||||
from http://www.polarhome.com/vim/ or ftp://ftp.polarhome.com/pub/vim/
|
||||
|
||||
15
runtime/autoload/README.txt
Normal file
15
runtime/autoload/README.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
The autoload directory is for standard Vim autoload scripts.
|
||||
|
||||
These are functions used by plugins and for general use. They will be loaded
|
||||
automatically when the function is invoked. See ":help autoload".
|
||||
|
||||
gzip.vim for editing compressed files
|
||||
netrw.vim browsing (remote) directories and editing remote files
|
||||
tar.vim browsing tar files
|
||||
zip.vim browsing zip files
|
||||
|
||||
Occult completion files:
|
||||
ccomplete.vim C
|
||||
csscomplete.vim HTML / CSS
|
||||
htmlcomplete.vim HTML
|
||||
|
||||
257
runtime/autoload/ccomplete.vim
Normal file
257
runtime/autoload/ccomplete.vim
Normal file
@@ -0,0 +1,257 @@
|
||||
" Vim completion script
|
||||
" Language: C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2005 Oct 06
|
||||
|
||||
|
||||
" This function is used for the 'omnifunc' option.
|
||||
function! ccomplete#Complete(findstart, base)
|
||||
if a:findstart
|
||||
" Locate the start of the item, including "." and "->".
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let lastword = -1
|
||||
while start > 0
|
||||
if line[start - 1] =~ '\w'
|
||||
let start -= 1
|
||||
elseif line[start - 1] =~ '\.'
|
||||
if lastword == -1
|
||||
let lastword = start
|
||||
endif
|
||||
let start -= 1
|
||||
elseif start > 1 && line[start - 2] == '-' && line[start - 1] == '>'
|
||||
if lastword == -1
|
||||
let lastword = start
|
||||
endif
|
||||
let start -= 2
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
|
||||
" Return the column of the last word, which is going to be changed.
|
||||
" Remember the text that comes before it in s:prepended.
|
||||
if lastword == -1
|
||||
let s:prepended = ''
|
||||
return start
|
||||
endif
|
||||
let s:prepended = strpart(line, start, lastword - start)
|
||||
return lastword
|
||||
endif
|
||||
|
||||
" Return list of matches.
|
||||
|
||||
let base = s:prepended . a:base
|
||||
|
||||
" Split item in words, keep empty word after "." or "->".
|
||||
" "aa" -> ['aa'], "aa." -> ['aa', ''], "aa.bb" -> ['aa', 'bb'], etc.
|
||||
let items = split(base, '\.\|->', 1)
|
||||
if len(items) <= 1
|
||||
" Don't do anything for an empty base, would result in all the tags in the
|
||||
" tags file.
|
||||
if base == ''
|
||||
return []
|
||||
endif
|
||||
|
||||
" Only one part, no "." or "->": complete from tags file.
|
||||
" When local completion is wanted CTRL-N would have been used.
|
||||
return map(taglist('^' . base), 'v:val["name"]')
|
||||
endif
|
||||
|
||||
" Find the variable items[0].
|
||||
" 1. in current function (like with "gd")
|
||||
" 2. in tags file(s) (like with ":tag")
|
||||
" 3. in current file (like with "gD")
|
||||
let res = []
|
||||
if searchdecl(items[0], 0, 1) == 0
|
||||
" Found, now figure out the type.
|
||||
" TODO: join previous line if it makes sense
|
||||
let line = getline('.')
|
||||
let col = col('.')
|
||||
let res = s:Nextitem(strpart(line, 0, col), items[1:])
|
||||
endif
|
||||
|
||||
if len(res) == 0
|
||||
" Find the variable in the tags file(s)
|
||||
let diclist = taglist('^' . items[0] . '$')
|
||||
|
||||
let res = []
|
||||
for i in range(len(diclist))
|
||||
" New ctags has the "typename" field.
|
||||
if has_key(diclist[i], 'typename')
|
||||
call extend(res, s:StructMembers(diclist[i]['typename'], items[1:]))
|
||||
endif
|
||||
|
||||
" For a variable use the command, which must be a search pattern that
|
||||
" shows the declaration of the variable.
|
||||
if diclist[i]['kind'] == 'v'
|
||||
let line = diclist[i]['cmd']
|
||||
if line[0] == '/' && line[1] == '^'
|
||||
let col = match(line, items[0])
|
||||
call extend(res, s:Nextitem(strpart(line, 2, col - 2), items[1:]))
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
endif
|
||||
|
||||
if len(res) == 0 && searchdecl(items[0], 1) == 0
|
||||
" Found, now figure out the type.
|
||||
" TODO: join previous line if it makes sense
|
||||
let line = getline('.')
|
||||
let col = col('.')
|
||||
let res = s:Nextitem(strpart(line, 0, col), items[1:])
|
||||
endif
|
||||
|
||||
" If the one and only match was what's already there and it is a composite
|
||||
" type, add a "." or "->".
|
||||
if len(res) == 1 && res[0]['match'] == items[-1] && len(s:SearchMembers(res, [''])) > 0
|
||||
" If there is a '*' before the name use "->".
|
||||
if match(res[0]['tagline'], '\*\s*' . res[0]['match']) > 0
|
||||
let res[0]['match'] .= '->'
|
||||
else
|
||||
let res[0]['match'] .= '.'
|
||||
endif
|
||||
endif
|
||||
|
||||
return map(res, 'v:val["match"]')
|
||||
endfunc
|
||||
|
||||
" Find composing type in "lead" and match items[0] with it.
|
||||
" Repeat this recursively for items[1], if it's there.
|
||||
" Return the list of matches.
|
||||
function! s:Nextitem(lead, items)
|
||||
|
||||
" Use the text up to the variable name and split it in tokens.
|
||||
let tokens = split(a:lead, '\s\+\|\<')
|
||||
|
||||
" Try to recognize the type of the variable. This is rough guessing...
|
||||
let res = []
|
||||
for tidx in range(len(tokens))
|
||||
|
||||
" Recognize "struct foobar" and "union foobar".
|
||||
if (tokens[tidx] == 'struct' || tokens[tidx] == 'union') && tidx + 1 < len(tokens)
|
||||
let res = s:StructMembers(tokens[tidx] . ':' . tokens[tidx + 1], a:items)
|
||||
break
|
||||
endif
|
||||
|
||||
" TODO: add more reserved words
|
||||
if index(['int', 'float', 'static', 'unsigned', 'extern'], tokens[tidx]) >= 0
|
||||
continue
|
||||
endif
|
||||
|
||||
" Use the tags file to find out if this is a typedef.
|
||||
let diclist = taglist('^' . tokens[tidx] . '$')
|
||||
for tagidx in range(len(diclist))
|
||||
" New ctags has the "typename" field.
|
||||
if has_key(diclist[tagidx], 'typename')
|
||||
call extend(res, s:StructMembers(diclist[tagidx]['typename'], a:items))
|
||||
continue
|
||||
endif
|
||||
|
||||
" Only handle typedefs here.
|
||||
if diclist[tagidx]['kind'] != 't'
|
||||
continue
|
||||
endif
|
||||
|
||||
" For old ctags we recognize "typedef struct aaa" and
|
||||
" "typedef union bbb" in the tags file command.
|
||||
let cmd = diclist[tagidx]['cmd']
|
||||
let ei = matchend(cmd, 'typedef\s\+')
|
||||
if ei > 1
|
||||
let cmdtokens = split(strpart(cmd, ei), '\s\+\|\<')
|
||||
if len(cmdtokens) > 1
|
||||
if cmdtokens[0] == 'struct' || cmdtokens[0] == 'union'
|
||||
let name = ''
|
||||
" Use the first identifier after the "struct" or "union"
|
||||
for ti in range(len(cmdtokens) - 1)
|
||||
if cmdtokens[ti] =~ '^\w'
|
||||
let name = cmdtokens[ti]
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
if name != ''
|
||||
call extend(res, s:StructMembers(cmdtokens[0] . ':' . name, a:items))
|
||||
endif
|
||||
else
|
||||
" Could be "typedef other_T some_T".
|
||||
call extend(res, s:Nextitem(cmdtokens[0], a:items))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
if len(res) > 0
|
||||
break
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
endfunction
|
||||
|
||||
|
||||
" Return a list with resulting matches.
|
||||
" Each match is a dictionary with "match" and "tagline" entries.
|
||||
function! s:StructMembers(typename, items)
|
||||
" Todo: What about local structures?
|
||||
let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
|
||||
if fnames == ''
|
||||
return []
|
||||
endif
|
||||
|
||||
let typename = a:typename
|
||||
let qflist = []
|
||||
while 1
|
||||
exe 'silent! vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
|
||||
let qflist = getqflist()
|
||||
if len(qflist) > 0 || match(typename, "::") < 0
|
||||
break
|
||||
endif
|
||||
" No match for "struct:context::name", remove "context::" and try again.
|
||||
let typename = substitute(typename, ':[^:]*::', ':', '')
|
||||
endwhile
|
||||
|
||||
let matches = []
|
||||
for l in qflist
|
||||
let memb = matchstr(l['text'], '[^\t]*')
|
||||
if memb =~ '^' . a:items[0]
|
||||
call add(matches, {'match': memb, 'tagline': l['text']})
|
||||
endif
|
||||
endfor
|
||||
|
||||
if len(matches) > 0
|
||||
" No further items, return the result.
|
||||
if len(a:items) == 1
|
||||
return matches
|
||||
endif
|
||||
|
||||
" More items following. For each of the possible members find the
|
||||
" matching following members.
|
||||
return s:SearchMembers(matches, a:items[1:])
|
||||
endif
|
||||
|
||||
" Failed to find anything.
|
||||
return []
|
||||
endfunction
|
||||
|
||||
" For matching members, find matches for following items.
|
||||
function! s:SearchMembers(matches, items)
|
||||
let res = []
|
||||
for i in range(len(a:matches))
|
||||
let line = a:matches[i]['tagline']
|
||||
let e = matchend(line, '\ttypename:')
|
||||
if e > 0
|
||||
" Use typename field
|
||||
let name = matchstr(line, '[^\t]*', e)
|
||||
call extend(res, s:StructMembers(name, a:items))
|
||||
else
|
||||
" Use the search command (the declaration itself).
|
||||
let s = match(line, '\t\zs/^')
|
||||
if s > 0
|
||||
let e = match(line, a:matches[i]['match'], s)
|
||||
if e > 0
|
||||
call extend(res, s:Nextitem(strpart(line, s, e - s), a:items))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
return res
|
||||
endfunc
|
||||
430
runtime/autoload/csscomplete.vim
Normal file
430
runtime/autoload/csscomplete.vim
Normal file
@@ -0,0 +1,430 @@
|
||||
" Vim completion script
|
||||
" Language: CSS 2.1
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2005 Oct 12
|
||||
|
||||
function! csscomplete#CompleteCSS(findstart, base)
|
||||
if a:findstart
|
||||
" We need whole line to proper checking
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let compl_begin = col('.') - 2
|
||||
while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
let b:compl_context = getline('.')[0:compl_begin]
|
||||
return start
|
||||
else
|
||||
" There are few chars important for context:
|
||||
" ^ ; : { } /* */
|
||||
" Where ^ is start of line and /* */ are comment borders
|
||||
" Depending on their relative position to cursor we will now what should
|
||||
" be completed.
|
||||
" 1. if nearest are ^ or { or ; current word is property
|
||||
" 2. if : it is value (with exception of pseudo things)
|
||||
" 3. if } we are outside of css definitions
|
||||
" 4. for comments ignoring is be the easiest but assume they are the same
|
||||
" as 1.
|
||||
" 5. if @ complete at-rule
|
||||
" 6. if ! complete important
|
||||
if exists("b:compl_context")
|
||||
let line = b:compl_context
|
||||
unlet! b:compl_context
|
||||
else
|
||||
let line = a:base
|
||||
endif
|
||||
|
||||
let res = []
|
||||
let res2 = []
|
||||
let borders = {}
|
||||
|
||||
" We need the last occurrence of char so reverse line
|
||||
let revline = join(reverse(split(line, '.\zs')), '')
|
||||
|
||||
let openbrace = stridx(revline, '{')
|
||||
let closebrace = stridx(revline, '}')
|
||||
let colon = stridx(revline, ':')
|
||||
let semicolon = stridx(revline, ';')
|
||||
let opencomm = stridx(revline, '*/') " Line was reversed
|
||||
let closecomm = stridx(revline, '/*') " Line was reversed
|
||||
let style = stridx(revline, '=\s*elyts') " Line was reversed
|
||||
let atrule = stridx(revline, '@')
|
||||
let exclam = stridx(revline, '!')
|
||||
|
||||
if openbrace > -1
|
||||
let borders[openbrace] = "openbrace"
|
||||
endif
|
||||
if closebrace > -1
|
||||
let borders[closebrace] = "closebrace"
|
||||
endif
|
||||
if colon > -1
|
||||
let borders[colon] = "colon"
|
||||
endif
|
||||
if semicolon > -1
|
||||
let borders[semicolon] = "semicolon"
|
||||
endif
|
||||
if opencomm > -1
|
||||
let borders[opencomm] = "opencomm"
|
||||
endif
|
||||
if closecomm > -1
|
||||
let borders[closecomm] = "closecomm"
|
||||
endif
|
||||
if style > -1
|
||||
let borders[style] = "style"
|
||||
endif
|
||||
if atrule > -1
|
||||
let borders[atrule] = "atrule"
|
||||
endif
|
||||
if exclam > -1
|
||||
let borders[exclam] = "exclam"
|
||||
endif
|
||||
|
||||
|
||||
if len(borders) == 0 || borders[min(keys(borders))] =~ '^\(openbrace\|semicolon\|opencomm\|closecomm\|style\)$'
|
||||
" Complete properties
|
||||
|
||||
let values = split("azimuth background background-attachment background-color background-image background-position background-repeat border bottom border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width caption-side clear clip color content counter-increment counter-reset cue cue-after cue-before cursor display direction elevation empty-cells float font font-family font-size font-style font-variant font-weight height left letter-spacing line-height list-style list-style-image list-style-position list-style-type margin margin-right margin-left margin-top margin-bottom max-height max-width min-height min-width orphans outline outline-color outline-style outline-width overflow padding padding-top padding-right padding-bottom padding-left page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness speak speak-header speak-numeral speak-punctuation speech-rate stress table-layout text-align text-decoration text-indent text-transform top unicode-bidi vertical-align visibility voice-family volume white-space width widows word-spacing z-index")
|
||||
|
||||
let entered_property = matchstr(line, '.\{-}\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_property
|
||||
call add(res, m . ':')
|
||||
elseif m =~? entered_property
|
||||
call add(res2, m . ':')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[min(keys(borders))] == 'colon'
|
||||
" Get name of property
|
||||
let prop = tolower(matchstr(line, '\zs[a-zA-Z-]*\ze\s*:[^:]\{-}$'))
|
||||
|
||||
if prop == 'azimuth'
|
||||
let values = ["left-side", "far-left", "left", "center-left", "center", "center-right", "right", "far-right", "right-side", "behind", "leftwards", "rightwards"]
|
||||
elseif prop == 'background-attachment'
|
||||
let values = ["scroll", "fixed"]
|
||||
elseif prop == 'background-color'
|
||||
let values = ["transparent", "rgb(", "#"]
|
||||
elseif prop == 'background-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'background-position'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z]\+\)\?$'
|
||||
let values = ["top", "center", "bottom"]
|
||||
elseif vals =~ '^[a-zA-Z]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
let values = ["left", "center", "right"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'background-repeat'
|
||||
let values = ["repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'background'
|
||||
let values = ["url(", "scroll", "fixed", "transparent", "rgb(", "#", "none", "top", "center", "bottom" , "left", "right", "repeat", "repeat-x", "repeat-y", "no-repeat"]
|
||||
elseif prop == 'border-collapse'
|
||||
let values = ["collapse", "separate"]
|
||||
elseif prop == 'border-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop == 'border-spacing'
|
||||
return []
|
||||
elseif prop == 'border-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)$'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-color'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop =~ 'border-\(top\|right\|bottom\|left\)-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'border'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9.]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9.]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
||||
let values = ["rgb(", "#", "transparent"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'bottom'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'caption-side'
|
||||
let values = ["top", "bottom"]
|
||||
elseif prop == 'clear'
|
||||
let values = ["none", "left", "right", "both"]
|
||||
elseif prop == 'clip'
|
||||
let values = ["auto", "rect("]
|
||||
elseif prop == 'color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'content'
|
||||
let values = ["normal", "attr(", "open-quote", "close-quote", "no-open-quote", "no-close-quote"]
|
||||
elseif prop =~ 'counter-\(increment\|reset\)$'
|
||||
let values = ["none"]
|
||||
elseif prop =~ '^\(cue-after\|cue-before\|cue\)$'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'cursor'
|
||||
let values = ["url(", "auto", "crosshair", "default", "pointer", "move", "e-resize", "ne-resize", "nw-resize", "n-resize", "se-resize", "sw-resize", "s-resize", "w-resize", "text", "wait", "help", "progress"]
|
||||
elseif prop == 'direction'
|
||||
let values = ["ltr", "rtl"]
|
||||
elseif prop == 'display'
|
||||
let values = ["inline", "block", "list-item", "run-in", "inline-block", "table", "inline-table", "table-row-group", "table-header-group", "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption", "none"]
|
||||
elseif prop == 'elevation'
|
||||
let values = ["below", "level", "above", "higher", "lower"]
|
||||
elseif prop == 'empty-cells'
|
||||
let values = ["show", "hide"]
|
||||
elseif prop == 'float'
|
||||
let values = ["left", "right", "none"]
|
||||
elseif prop == 'font-family'
|
||||
let values = ["sans-serif", "serif", "monospace", "cursive", "fantasy"]
|
||||
elseif prop == 'font-size'
|
||||
let values = ["xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller"]
|
||||
elseif prop == 'font-style'
|
||||
let values = ["normal", "italic", "oblique"]
|
||||
elseif prop == 'font-variant'
|
||||
let values = ["normal", "small-caps"]
|
||||
elseif prop == 'font-weight'
|
||||
let values = ["normal", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900"]
|
||||
elseif prop == 'font'
|
||||
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
|
||||
elseif prop =~ '^\(height\|width\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ '^\(left\|rigth\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'letter-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'line-height'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'list-style-image'
|
||||
let values = ["url(", "none"]
|
||||
elseif prop == 'list-style-position'
|
||||
let values = ["inside", "outside"]
|
||||
elseif prop == 'list-style-type'
|
||||
let values = ["disc", "circle", "square", "decimal", "decimal-leading-zero", "lower-roman", "upper-roman", "lower-latin", "upper-latin", "none"]
|
||||
elseif prop == 'list-style'
|
||||
return []
|
||||
elseif prop == 'margin'
|
||||
let values = ["auto"]
|
||||
elseif prop =~ 'margin-\(right\|left\|top\|bottom\)$'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-height'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'max-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-height'
|
||||
let values = ["none"]
|
||||
elseif prop == 'min-width'
|
||||
let values = ["none"]
|
||||
elseif prop == 'orphans'
|
||||
return []
|
||||
elseif prop == 'outline-color'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif prop == 'outline-style'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif prop == 'outline-width'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
elseif prop == 'outline'
|
||||
let vals = matchstr(line, '.*:\s*\zs.*')
|
||||
if vals =~ '^\([a-zA-Z0-9,()#]\+\)\?$'
|
||||
let values = ["rgb(", "#"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+\([a-zA-Z]\+\)\?$'
|
||||
let values = ["none", "hidden", "dotted", "dashed", "solid", "double", "groove", "ridge", "inset", "outset"]
|
||||
elseif vals =~ '^[a-zA-Z0-9,()#]\+\s\+[a-zA-Z]\+\s\+\([a-zA-Z(]\+\)\?$'
|
||||
let values = ["thin", "thick", "medium"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
elseif prop == 'overflow'
|
||||
let values = ["visible", "hidden", "scroll", "auto"]
|
||||
elseif prop == 'padding'
|
||||
return []
|
||||
elseif prop =~ 'padding-\(top\|right\|bottom\|left\)$'
|
||||
return []
|
||||
elseif prop =~ 'page-break-\(after\|before\)$'
|
||||
let values = ["auto", "always", "avoid", "left", "right"]
|
||||
elseif prop == 'page-break-inside'
|
||||
let values = ["auto", "avoid"]
|
||||
elseif prop =~ 'pause-\(after\|before\)$'
|
||||
return []
|
||||
elseif prop == 'pause'
|
||||
return []
|
||||
elseif prop == 'pitch-range'
|
||||
return []
|
||||
elseif prop == 'pitch'
|
||||
let values = ["x-low", "low", "medium", "high", "x-high"]
|
||||
elseif prop == 'play-during'
|
||||
let values = ["url(", "mix", "repeat", "auto", "none"]
|
||||
elseif prop == 'position'
|
||||
let values = ["static", "relative", "absolute", "fixed"]
|
||||
elseif prop == 'quotes'
|
||||
let values = ["none"]
|
||||
elseif prop == 'richness'
|
||||
return []
|
||||
elseif prop == 'speak-header'
|
||||
let values = ["once", "always"]
|
||||
elseif prop == 'speak-numeral'
|
||||
let values = ["digits", "continuous"]
|
||||
elseif prop == 'speak-punctuation'
|
||||
let values = ["code", "none"]
|
||||
elseif prop == 'speak'
|
||||
let values = ["normal", "none", "spell-out"]
|
||||
elseif prop == 'speech-rate'
|
||||
let values = ["x-slow", "slow", "medium", "fast", "x-fast", "faster", "slower"]
|
||||
elseif prop == 'stress'
|
||||
return []
|
||||
elseif prop == 'table-layout'
|
||||
let values = ["auto", "fixed"]
|
||||
elseif prop == 'text-align'
|
||||
let values = ["left", "right", "center", "justify"]
|
||||
elseif prop == 'text-decoration'
|
||||
let values = ["none", "underline", "overline", "line-through", "blink"]
|
||||
elseif prop == 'text-indent'
|
||||
return []
|
||||
elseif prop == 'text-transform'
|
||||
let values = ["capitalize", "uppercase", "lowercase", "none"]
|
||||
elseif prop == 'top'
|
||||
let values = ["auto"]
|
||||
elseif prop == 'unicode-bidi'
|
||||
let values = ["normal", "embed", "bidi-override"]
|
||||
elseif prop == 'vertical-align'
|
||||
let values = ["baseline", "sub", "super", "top", "text-top", "middle", "bottom", "text-bottom"]
|
||||
elseif prop == 'visibility'
|
||||
let values = ["visible", "hidden", "collapse"]
|
||||
elseif prop == 'voice-family'
|
||||
return []
|
||||
elseif prop == 'volume'
|
||||
let values = ["silent", "x-soft", "soft", "medium", "loud", "x-loud"]
|
||||
elseif prop == 'white-space'
|
||||
let values = ["normal", "pre", "nowrap", "pre-wrap", "pre-line"]
|
||||
elseif prop == 'widows'
|
||||
return []
|
||||
elseif prop == 'word-spacing'
|
||||
let values = ["normal"]
|
||||
elseif prop == 'z-index'
|
||||
let values = ["auto"]
|
||||
else
|
||||
" If no property match it is possible we are outside of {} and
|
||||
" trying to complete pseudo-(class|element)
|
||||
let element = tolower(matchstr(line, '\zs[a-zA-Z1-6]*\ze:[^:[:space:]]\{-}$'))
|
||||
if ",a,abbr,acronym,address,area,b,base,bdo,big,blockquote,body,br,button,caption,cite,code,col,colgroup,dd,del,dfn,div,dl,dt,em,fieldset,form,head,h1,h2,h3,h4,h5,h6,hr,html,i,img,input,ins,kbd,label,legend,li,link,map,meta,noscript,object,ol,optgroup,option,p,param,pre,q,samp,script,select,small,span,strong,style,sub,sup,table,tbody,td,textarea,tfoot,th,thead,title,tr,tt,ul,var," =~ ','.element.','
|
||||
let values = ["first-child", "link", "visited", "hover", "active", "focus", "lang", "first-line", "first-letter", "before", "after"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
|
||||
" Complete values
|
||||
let entered_value = matchstr(line, '.\{-}\zs[a-zA-Z0-9#,.(_-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_value
|
||||
call add(res, m)
|
||||
elseif m =~? entered_value
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif borders[min(keys(borders))] == 'closebrace'
|
||||
|
||||
return []
|
||||
|
||||
elseif borders[min(keys(borders))] == 'exclam'
|
||||
|
||||
" Complete values
|
||||
let entered_imp = matchstr(line, '.\{-}!\s*\zs[a-zA-Z ]*$')
|
||||
|
||||
let values = ["important"]
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_imp
|
||||
call add(res, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
elseif borders[min(keys(borders))] == 'atrule'
|
||||
|
||||
let afterat = matchstr(line, '.*@\zs.*')
|
||||
|
||||
if afterat =~ '\s'
|
||||
|
||||
let atrulename = matchstr(line, '.*@\zs[a-zA-Z-]\+\ze')
|
||||
|
||||
if atrulename == 'media'
|
||||
let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
|
||||
|
||||
let atruleafterbase = matchstr(line, '.*@media\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@media\s\+\zs.*$')
|
||||
|
||||
elseif atrulename == 'import'
|
||||
let atruleafterbase = matchstr(line, '.*@import\s\+\ze.*$')
|
||||
let entered_atruleafter = matchstr(line, '.*@import\s\+\zs.*$')
|
||||
|
||||
if entered_atruleafter =~ "^[\"']"
|
||||
let filestart = matchstr(entered_atruleafter, '^.\zs.*')
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"\"".v:val')
|
||||
|
||||
elseif entered_atruleafter =~ "^url("
|
||||
let filestart = matchstr(entered_atruleafter, "^url([\"']\\?\\zs.*")
|
||||
let files = split(glob(filestart.'*'), '\n')
|
||||
let values = map(copy(files), '"url(".v:val')
|
||||
|
||||
else
|
||||
let values = ['"', 'url(']
|
||||
|
||||
endif
|
||||
|
||||
else
|
||||
return []
|
||||
|
||||
endif
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atruleafter
|
||||
call add(res, m)
|
||||
elseif m =~? entered_atruleafter
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
let values = ["charset", "page", "media", "import", "font-face"]
|
||||
|
||||
let entered_atrule = matchstr(line, '.*@\zs[a-zA-Z-]*$')
|
||||
|
||||
for m in values
|
||||
if m =~? '^'.entered_atrule
|
||||
call add(res, m .' ')
|
||||
elseif m =~? entered_atrule
|
||||
call add(res2, m .' ')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
return []
|
||||
|
||||
endif
|
||||
endfunction
|
||||
173
runtime/autoload/gzip.vim
Normal file
173
runtime/autoload/gzip.vim
Normal file
@@ -0,0 +1,173 @@
|
||||
" Vim autoload file for editing compressed files.
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2005 Jul 26
|
||||
|
||||
" These functions are used by the gzip plugin.
|
||||
|
||||
" Function to check that executing "cmd [-f]" works.
|
||||
" The result is cached in s:have_"cmd" for speed.
|
||||
fun s:check(cmd)
|
||||
let name = substitute(a:cmd, '\(\S*\).*', '\1', '')
|
||||
if !exists("s:have_" . name)
|
||||
let e = executable(name)
|
||||
if e < 0
|
||||
let r = system(name . " --version")
|
||||
let e = (r !~ "not found" && r != "")
|
||||
endif
|
||||
exe "let s:have_" . name . "=" . e
|
||||
endif
|
||||
exe "return s:have_" . name
|
||||
endfun
|
||||
|
||||
" Set b:gzip_comp_arg to the gzip argument to be used for compression, based on
|
||||
" the flags in the compressed file.
|
||||
" The only compression methods that can be detected are max speed (-1) and max
|
||||
" compression (-9).
|
||||
fun s:set_compression(line)
|
||||
" get the Compression Method
|
||||
let l:cm = char2nr(a:line[2])
|
||||
" if it's 8 (DEFLATE), we can check for the compression level
|
||||
if l:cm == 8
|
||||
" get the eXtra FLags
|
||||
let l:xfl = char2nr(a:line[8])
|
||||
" max compression
|
||||
if l:xfl == 2
|
||||
let b:gzip_comp_arg = "-9"
|
||||
" min compression
|
||||
elseif l:xfl == 4
|
||||
let b:gzip_comp_arg = "-1"
|
||||
endif
|
||||
endif
|
||||
endfun
|
||||
|
||||
|
||||
" After reading compressed file: Uncompress text in buffer with "cmd"
|
||||
fun gzip#read(cmd)
|
||||
" don't do anything if the cmd is not supported
|
||||
if !s:check(a:cmd)
|
||||
return
|
||||
endif
|
||||
|
||||
" for gzip check current compression level and set b:gzip_comp_arg.
|
||||
silent! unlet b:gzip_comp_arg
|
||||
if a:cmd[0] == 'g'
|
||||
call s:set_compression(getline(1))
|
||||
endif
|
||||
|
||||
" make 'patchmode' empty, we don't want a copy of the written file
|
||||
let pm_save = &pm
|
||||
set pm=
|
||||
" remove 'a' and 'A' from 'cpo' to avoid the alternate file changes
|
||||
let cpo_save = &cpo
|
||||
set cpo-=a cpo-=A
|
||||
" set 'modifiable'
|
||||
let ma_save = &ma
|
||||
setlocal ma
|
||||
" when filtering the whole buffer, it will become empty
|
||||
let empty = line("'[") == 1 && line("']") == line("$")
|
||||
let tmp = tempname()
|
||||
let tmpe = tmp . "." . expand("<afile>:e")
|
||||
" write the just read lines to a temp file "'[,']w tmp.gz"
|
||||
execute "silent '[,']w " . tmpe
|
||||
" uncompress the temp file: call system("gzip -dn tmp.gz")
|
||||
call system(a:cmd . " " . tmpe)
|
||||
if !filereadable(tmp)
|
||||
" uncompress didn't work! Keep the compressed file then.
|
||||
echoerr "Error: Could not read uncompressed file"
|
||||
return
|
||||
endif
|
||||
" delete the compressed lines; remember the line number
|
||||
let l = line("'[") - 1
|
||||
if exists(":lockmarks")
|
||||
lockmarks '[,']d _
|
||||
else
|
||||
'[,']d _
|
||||
endif
|
||||
" read in the uncompressed lines "'[-1r tmp"
|
||||
setlocal nobin
|
||||
if exists(":lockmarks")
|
||||
execute "silent lockmarks " . l . "r " . tmp
|
||||
else
|
||||
execute "silent " . l . "r " . tmp
|
||||
endif
|
||||
|
||||
" if buffer became empty, delete trailing blank line
|
||||
if empty
|
||||
silent $delete _
|
||||
1
|
||||
endif
|
||||
" delete the temp file and the used buffers
|
||||
call delete(tmp)
|
||||
silent! exe "bwipe " . tmp
|
||||
silent! exe "bwipe " . tmpe
|
||||
let &pm = pm_save
|
||||
let &cpo = cpo_save
|
||||
let &l:ma = ma_save
|
||||
" When uncompressed the whole buffer, do autocommands
|
||||
if empty
|
||||
if &verbose >= 8
|
||||
execute "doau BufReadPost " . expand("%:r")
|
||||
else
|
||||
execute "silent! doau BufReadPost " . expand("%:r")
|
||||
endif
|
||||
endif
|
||||
endfun
|
||||
|
||||
" After writing compressed file: Compress written file with "cmd"
|
||||
fun gzip#write(cmd)
|
||||
" don't do anything if the cmd is not supported
|
||||
if s:check(a:cmd)
|
||||
" Rename the file before compressing it.
|
||||
let nm = resolve(expand("<afile>"))
|
||||
let nmt = s:tempname(nm)
|
||||
if rename(nm, nmt) == 0
|
||||
if exists("b:gzip_comp_arg")
|
||||
call system(a:cmd . " " . b:gzip_comp_arg . " " . nmt)
|
||||
else
|
||||
call system(a:cmd . " " . nmt)
|
||||
endif
|
||||
call rename(nmt . "." . expand("<afile>:e"), nm)
|
||||
endif
|
||||
endif
|
||||
endfun
|
||||
|
||||
" Before appending to compressed file: Uncompress file with "cmd"
|
||||
fun gzip#appre(cmd)
|
||||
" don't do anything if the cmd is not supported
|
||||
if s:check(a:cmd)
|
||||
let nm = expand("<afile>")
|
||||
|
||||
" for gzip check current compression level and set b:gzip_comp_arg.
|
||||
silent! unlet b:gzip_comp_arg
|
||||
if a:cmd[0] == 'g'
|
||||
call s:set_compression(readfile(nm, "b", 1)[0])
|
||||
endif
|
||||
|
||||
" Rename to a weird name to avoid the risk of overwriting another file
|
||||
let nmt = expand("<afile>:p:h") . "/X~=@l9q5"
|
||||
let nmte = nmt . "." . expand("<afile>:e")
|
||||
if rename(nm, nmte) == 0
|
||||
if &patchmode != "" && getfsize(nm . &patchmode) == -1
|
||||
" Create patchmode file by creating the decompressed file new
|
||||
call system(a:cmd . " -c " . nmte . " > " . nmt)
|
||||
call rename(nmte, nm . &patchmode)
|
||||
else
|
||||
call system(a:cmd . " " . nmte)
|
||||
endif
|
||||
call rename(nmt, nm)
|
||||
endif
|
||||
endif
|
||||
endfun
|
||||
|
||||
" find a file name for the file to be compressed. Use "name" without an
|
||||
" extension if possible. Otherwise use a weird name to avoid overwriting an
|
||||
" existing file.
|
||||
fun s:tempname(name)
|
||||
let fn = fnamemodify(a:name, ":r")
|
||||
if !filereadable(fn) && !isdirectory(fn)
|
||||
return fn
|
||||
endif
|
||||
return fnamemodify(a:name, ":p:h") . "/X~=@l9q5"
|
||||
endfun
|
||||
|
||||
" vim: set sw=2 :
|
||||
477
runtime/autoload/htmlcomplete.vim
Normal file
477
runtime/autoload/htmlcomplete.vim
Normal file
@@ -0,0 +1,477 @@
|
||||
" Vim completion script
|
||||
" Language: XHTML 1.0 Strict
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2005 Now 20
|
||||
|
||||
function! htmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
" locate the start of the word
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let compl_begin = col('.') - 2
|
||||
while start >= 0 && line[start - 1] =~ '\(\k\|[:.-]\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
if start >= 0 && line[start - 1] =~ '&'
|
||||
let b:entitiescompl = 1
|
||||
let b:compl_context = ''
|
||||
return start
|
||||
endif
|
||||
let stylestart = searchpair('<style\>', '', '<\/style\>', "bnW")
|
||||
let styleend = searchpair('<style\>', '', '<\/style\>', "nW")
|
||||
if stylestart != 0 && styleend != 0
|
||||
let curpos = line('.')
|
||||
if stylestart <= curpos && styleend >= curpos
|
||||
let start = col('.') - 1
|
||||
let b:csscompl = 1
|
||||
while start >= 0 && line[start - 1] =~ '\(\k\|-\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
endif
|
||||
endif
|
||||
if !exists("b:csscompl")
|
||||
let b:compl_context = getline('.')[0:(compl_begin)]
|
||||
let b:compl_context = matchstr(b:compl_context, '.*<\zs.*')
|
||||
else
|
||||
let b:compl_context = getline('.')[0:compl_begin]
|
||||
endif
|
||||
return start
|
||||
else
|
||||
" Initialize base return lists
|
||||
let res = []
|
||||
let res2 = []
|
||||
" a:base is very short - we need context
|
||||
let context = b:compl_context
|
||||
unlet! b:compl_context
|
||||
" Check if we should do CSS completion inside of <style> tag
|
||||
if exists("b:csscompl")
|
||||
unlet! b:csscompl
|
||||
return csscomplete#CompleteCSS(0, context)
|
||||
endif
|
||||
" Make entities completion
|
||||
if exists("b:entitiescompl")
|
||||
unlet! b:entitiescompl
|
||||
|
||||
if !exists("g:xmldata_xhtml10s")
|
||||
runtime! autoload/xml/xhtml10s.vim
|
||||
endif
|
||||
|
||||
let entities = g:xmldata_xhtml10s['vimxmlentities']
|
||||
|
||||
for m in entities
|
||||
if m =~ '^'.a:base
|
||||
call add(res, m.';')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
endif
|
||||
if context =~ '>'
|
||||
" Generally if context contains > it means we are outside of tag and
|
||||
" should abandon action - with one exception: <style> span { bo
|
||||
if context =~ 'style[^>]\{-}>[^<]\{-}$'
|
||||
return csscomplete#CompleteCSS(0, context)
|
||||
else
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
|
||||
" Set attribute groups
|
||||
let coreattrs = ["id", "class", "style", "title"]
|
||||
let i18n = ["lang", "xml:lang", "dir=\"ltr\" ", "dir=\"rtl\" "]
|
||||
let events = ["onclick", "ondblclick", "onmousedown", "onmouseup", "onmousemove",
|
||||
\ "onmouseover", "onmouseout", "onkeypress", "onkeydown", "onkeyup"]
|
||||
let focus = ["accesskey", "tabindex", "onfocus", "onblur"]
|
||||
let coregroup = coreattrs + i18n + events
|
||||
" find tags matching with "context"
|
||||
" If context contains > it means we are already outside of tag and we
|
||||
" should abandon action
|
||||
" If context contains white space it is attribute.
|
||||
" It could be also value of attribute...
|
||||
" We have to get first word to offer
|
||||
" proper completions
|
||||
if context == ''
|
||||
let tag = ''
|
||||
else
|
||||
let tag = split(context)[0]
|
||||
endif
|
||||
" Get last word, it should be attr name
|
||||
let attr = matchstr(context, '.*\s\zs.*')
|
||||
" Possible situations where any prediction would be difficult:
|
||||
" 1. Events attributes
|
||||
if context =~ '\s'
|
||||
" Sort out style, class, and on* cases
|
||||
if context =~ "\\(on[a-z]*\\|id\\|style\\|class\\)\\s*=\\s*[\"']"
|
||||
if context =~ "\\(id\\|class\\)\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
|
||||
if context =~ "class\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
|
||||
let search_for = "class"
|
||||
elseif context =~ "id\\s*=\\s*[\"'][a-zA-Z0-9_ -]*$"
|
||||
let search_for = "id"
|
||||
endif
|
||||
" Handle class name completion
|
||||
" 1. Find lines of <link stylesheet>
|
||||
" 1a. Check file for @import
|
||||
" 2. Extract filename(s?) of stylesheet,
|
||||
call cursor(1,1)
|
||||
let head = getline(search('<head\>'), search('<\/head>'))
|
||||
let headjoined = join(copy(head), ' ')
|
||||
if headjoined =~ '<style'
|
||||
" Remove possibly confusing CSS operators
|
||||
let stylehead = substitute(headjoined, '+>\*[,', ' ', 'g')
|
||||
if search_for == 'class'
|
||||
let styleheadlines = split(stylehead)
|
||||
let headclasslines = filter(copy(styleheadlines), "v:val =~ '\\([a-zA-Z0-9:]\\+\\)\\?\\.[a-zA-Z0-9_-]\\+'")
|
||||
else
|
||||
let stylesheet = split(headjoined, '[{}]')
|
||||
" Get all lines which fit id syntax
|
||||
let classlines = filter(copy(stylesheet), "v:val =~ '#[a-zA-Z0-9_-]\\+'")
|
||||
" Filter out possible color definitions
|
||||
call filter(classlines, "v:val !~ ':\\s*#[a-zA-Z0-9_-]\\+'")
|
||||
" Filter out complex border definitions
|
||||
call filter(classlines, "v:val !~ '\\(none\\|hidden\\|dotted\\|dashed\\|solid\\|double\\|groove\\|ridge\\|inset\\|outset\\)\\s*#[a-zA-Z0-9_-]\\+'")
|
||||
let templines = join(classlines, ' ')
|
||||
let headclasslines = split(templines)
|
||||
call filter(headclasslines, "v:val =~ '#[a-zA-Z0-9_-]\\+'")
|
||||
endif
|
||||
let internal = 1
|
||||
else
|
||||
let internal = 0
|
||||
endif
|
||||
let styletable = []
|
||||
let secimportfiles = []
|
||||
let filestable = filter(copy(head), "v:val =~ '\\(@import\\|link.*stylesheet\\)'")
|
||||
for line in filestable
|
||||
if line =~ "@import"
|
||||
let styletable += [matchstr(line, "import\\s\\+\\(url(\\)\\?[\"']\\?\\zs\\f\\+\\ze")]
|
||||
elseif line =~ "<link"
|
||||
let styletable += [matchstr(line, "href\\s*=\\s*[\"']\\zs\\f\\+\\ze")]
|
||||
endif
|
||||
endfor
|
||||
for file in styletable
|
||||
if filereadable(file)
|
||||
let stylesheet = readfile(file)
|
||||
let secimport = filter(copy(stylesheet), "v:val =~ '@import'")
|
||||
if len(secimport) > 0
|
||||
for line in secimport
|
||||
let secfile = matchstr(line, "import\\s\\+\\(url(\\)\\?[\"']\\?\\zs\\f\\+\\ze")
|
||||
let secfile = fnamemodify(file, ":p:h").'/'.secfile
|
||||
let secimportfiles += [secfile]
|
||||
endfor
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
let cssfiles = styletable + secimportfiles
|
||||
let classes = []
|
||||
for file in cssfiles
|
||||
if filereadable(file)
|
||||
let stylesheet = readfile(file)
|
||||
let stylefile = join(stylesheet, ' ')
|
||||
let stylefile = substitute(stylefile, '+>\*[,', ' ', 'g')
|
||||
if search_for == 'class'
|
||||
let stylesheet = split(stylefile)
|
||||
let classlines = filter(copy(stylesheet), "v:val =~ '\\([a-zA-Z0-9:]\\+\\)\\?\\.[a-zA-Z0-9_-]\\+'")
|
||||
else
|
||||
let stylesheet = split(stylefile, '[{}]')
|
||||
" Get all lines which fit id syntax
|
||||
let classlines = filter(copy(stylesheet), "v:val =~ '#[a-zA-Z0-9_-]\\+'")
|
||||
" Filter out possible color definitions
|
||||
call filter(classlines, "v:val !~ ':\\s*#[a-zA-Z0-9_-]\\+'")
|
||||
" Filter out complex border definitions
|
||||
call filter(classlines, "v:val !~ '\\(none\\|hidden\\|dotted\\|dashed\\|solid\\|double\\|groove\\|ridge\\|inset\\|outset\\)\\s*#[a-zA-Z0-9_-]\\+'")
|
||||
let templines = join(classlines, ' ')
|
||||
let stylelines = split(templines)
|
||||
let classlines = filter(stylelines, "v:val =~ '#[a-zA-Z0-9_-]\\+'")
|
||||
|
||||
endif
|
||||
endif
|
||||
" We gathered classes definitions from all external files
|
||||
let classes += classlines
|
||||
endfor
|
||||
if internal == 1
|
||||
let classes += headclasslines
|
||||
endif
|
||||
|
||||
if search_for == 'class'
|
||||
let elements = {}
|
||||
for element in classes
|
||||
if element =~ '^\.'
|
||||
let class = matchstr(element, '^\.\zs[a-zA-Z][a-zA-Z0-9_-]*\ze')
|
||||
let class = substitute(class, ':.*', '', '')
|
||||
if has_key(elements, 'common')
|
||||
let elements['common'] .= ' '.class
|
||||
else
|
||||
let elements['common'] = class
|
||||
endif
|
||||
else
|
||||
let class = matchstr(element, '[a-zA-Z1-6]*\.\zs[a-zA-Z][a-zA-Z0-9_-]*\ze')
|
||||
let tagname = tolower(matchstr(element, '[a-zA-Z1-6]*\ze.'))
|
||||
if tagname != ''
|
||||
if has_key(elements, tagname)
|
||||
let elements[tagname] .= ' '.class
|
||||
else
|
||||
let elements[tagname] = class
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
if has_key(elements, tag) && has_key(elements, 'common')
|
||||
let values = split(elements[tag]." ".elements['common'])
|
||||
elseif has_key(elements, tag) && !has_key(elements, 'common')
|
||||
let values = split(elements[tag])
|
||||
elseif !has_key(elements, tag) && has_key(elements, 'common')
|
||||
let values = split(elements['common'])
|
||||
else
|
||||
return []
|
||||
endif
|
||||
|
||||
elseif search_for == 'id'
|
||||
" Find used IDs
|
||||
" 1. Catch whole file
|
||||
let filelines = getline(1, line('$'))
|
||||
" 2. Find lines with possible id
|
||||
let used_id_lines = filter(filelines, 'v:val =~ "id\\s*=\\s*[\"''][a-zA-Z0-9_-]\\+"')
|
||||
" 3a. Join all filtered lines
|
||||
let id_string = join(used_id_lines, ' ')
|
||||
" 3b. And split them to be sure each id is in separate item
|
||||
let id_list = split(id_string, 'id\s*=\s*')
|
||||
" 4. Extract id values
|
||||
let used_id = map(id_list, 'matchstr(v:val, "[\"'']\\zs[a-zA-Z0-9_-]\\+\\ze")')
|
||||
let joined_used_id = ','.join(used_id, ',').','
|
||||
|
||||
let allvalues = map(classes, 'matchstr(v:val, ".*#\\zs[a-zA-Z0-9_-]\\+")')
|
||||
|
||||
let values = []
|
||||
|
||||
for element in classes
|
||||
if joined_used_id !~ ','.element.','
|
||||
let values += [element]
|
||||
endif
|
||||
|
||||
endfor
|
||||
|
||||
endif
|
||||
|
||||
" We need special version of sbase
|
||||
let classbase = matchstr(context, ".*[\"']")
|
||||
let classquote = matchstr(classbase, '.$')
|
||||
|
||||
let entered_class = matchstr(attr, ".*=\\s*[\"']\\zs.*")
|
||||
|
||||
for m in sort(values)
|
||||
if m =~? '^'.entered_class
|
||||
call add(res, m . classquote)
|
||||
elseif m =~? entered_class
|
||||
call add(res2, m . classquote)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
elseif context =~ "style\\s*=\\s*[\"'][^\"']*$"
|
||||
return csscomplete#CompleteCSS(0, context)
|
||||
|
||||
endif
|
||||
let stripbase = matchstr(context, ".*\\(on[a-z]*\\|style\\|class\\)\\s*=\\s*[\"']\\zs.*")
|
||||
" Now we have context stripped from all chars up to style/class.
|
||||
" It may fail with some strange style value combinations.
|
||||
if stripbase !~ "[\"']"
|
||||
return []
|
||||
endif
|
||||
endif
|
||||
" If attr contains =\s*[\"'] we catched value of attribute
|
||||
if attr =~ "=\s*[\"']"
|
||||
" Let do attribute specific completion
|
||||
let attrname = matchstr(attr, '.*\ze\s*=')
|
||||
let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*")
|
||||
let values = []
|
||||
if attrname == 'media'
|
||||
let values = ["screen", "tty", "tv", "projection", "handheld", "print", "braille", "aural", "all"]
|
||||
elseif attrname == 'xml:space'
|
||||
let values = ["preserve"]
|
||||
elseif attrname == 'shape'
|
||||
let values = ["rect", "circle", "poly", "default"]
|
||||
elseif attrname == 'valuetype'
|
||||
let values = ["data", "ref", "object"]
|
||||
elseif attrname == 'method'
|
||||
let values = ["get", "post"]
|
||||
elseif attrname == 'dir'
|
||||
let values = ["ltr", "rtl"]
|
||||
elseif attrname == 'frame'
|
||||
let values = ["void", "above", "below", "hsides", "lhs", "rhs", "vsides", "box", "border"]
|
||||
elseif attrname == 'rules'
|
||||
let values = ["none", "groups", "rows", "all"]
|
||||
elseif attrname == 'align'
|
||||
let values = ["left", "center", "right", "justify", "char"]
|
||||
elseif attrname == 'valign'
|
||||
let values = ["top", "middle", "bottom", "baseline"]
|
||||
elseif attrname == 'scope'
|
||||
let values = ["row", "col", "rowgroup", "colgroup"]
|
||||
elseif attrname == 'href'
|
||||
" Now we are looking for local anchors defined by name or id
|
||||
if entered_value =~ '^#'
|
||||
let file = join(getline(1, line('$')), ' ')
|
||||
" Split it be sure there will be one id/name element in
|
||||
" item, it will be also first word [a-zA-Z0-9_-] in element
|
||||
let oneelement = split(file, "\\(meta \\)\\@<!\\(name\\|id\\)\\s*=\\s*[\"']")
|
||||
for i in oneelement
|
||||
let values += ['#'.matchstr(i, "^[a-zA-Z][a-zA-Z0-9%_-]*")]
|
||||
endfor
|
||||
endif
|
||||
elseif attrname == 'type'
|
||||
if context =~ '^input'
|
||||
let values = ["text", "password", "checkbox", "radio", "submit", "reset", "file", "hidden", "image", "button"]
|
||||
elseif context =~ '^button'
|
||||
let values = ["button", "submit", "reset"]
|
||||
elseif context =~ '^style'
|
||||
let values = ["text/css"]
|
||||
elseif context =~ '^script'
|
||||
let values = ["text/javascript"]
|
||||
endif
|
||||
else
|
||||
return []
|
||||
endif
|
||||
|
||||
if len(values) == 0
|
||||
return []
|
||||
endif
|
||||
|
||||
" We need special version of sbase
|
||||
let attrbase = matchstr(context, ".*[\"']")
|
||||
let attrquote = matchstr(attrbase, '.$')
|
||||
|
||||
for m in values
|
||||
" This if is needed to not offer all completions as-is
|
||||
" alphabetically but sort them. Those beginning with entered
|
||||
" part will be as first choices
|
||||
if m =~ '^'.entered_value
|
||||
call add(res, m . attrquote.' ')
|
||||
elseif m =~ entered_value
|
||||
call add(res2, m . attrquote.' ')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
" Shorten context to not include last word
|
||||
let sbase = matchstr(context, '.*\ze\s.*')
|
||||
if tag =~ '^\(abbr\|acronym\|address\|b\|bdo\|big\|caption\|cite\|code\|dd\|dfn\|div\|dl\|dt\|em\|fieldset\|h\d\|hr\|i\|kbd\|li\|noscript\|ol\|p\|samp\|small\|span\|strong\|sub\|sup\|tt\|ul\|var\)$'
|
||||
let attrs = coregroup
|
||||
elseif tag == 'a'
|
||||
let attrs = coregroup + focus + ["charset", "type", "name", "href", "hreflang", "rel", "rev", "shape", "coords"]
|
||||
elseif tag == 'area'
|
||||
let attrs = coregroup + focus + ["shape", "coords", "href", "nohref", "alt"]
|
||||
elseif tag == 'base'
|
||||
let attrs = ["href", "id"]
|
||||
elseif tag == 'blockquote'
|
||||
let attrs = coregroup + ["cite"]
|
||||
elseif tag == 'body'
|
||||
let attrs = coregroup + ["onload", "onunload"]
|
||||
elseif tag == 'br'
|
||||
let attrs = coreattrs
|
||||
elseif tag == 'button'
|
||||
let attrs = coregroup + focus + ["name", "value", "type"]
|
||||
elseif tag == '^\(col\|colgroup\)$'
|
||||
let attrs = coregroup + ["span", "width", "align", "char", "charoff", "valign"]
|
||||
elseif tag =~ '^\(del\|ins\)$'
|
||||
let attrs = coregroup + ["cite", "datetime"]
|
||||
elseif tag == 'form'
|
||||
let attrs = coregroup + ["action", "method=\"get\" ", "method=\"post\" ", "enctype", "onsubmit", "onreset", "accept", "accept-charset"]
|
||||
elseif tag == 'head'
|
||||
let attrs = i18n + ["id", "profile"]
|
||||
elseif tag == 'html'
|
||||
let attrs = i18n + ["id", "xmlns"]
|
||||
elseif tag == 'img'
|
||||
let attrs = coregroup + ["src", "alt", "longdesc", "height", "width", "usemap", "ismap"]
|
||||
elseif tag == 'input'
|
||||
let attrs = coregroup + ["type", "name", "value", "checked", "disabled", "readonly", "size", "maxlength", "src", "alt", "usemap", "onselect", "onchange", "accept"]
|
||||
elseif tag == 'label'
|
||||
let attrs = coregroup + ["for", "accesskey", "onfocus", "onblur"]
|
||||
elseif tag == 'legend'
|
||||
let attrs = coregroup + ["accesskey"]
|
||||
elseif tag == 'link'
|
||||
let attrs = coregroup + ["charset", "href", "hreflang", "type", "rel", "rev", "media"]
|
||||
elseif tag == 'map'
|
||||
let attrs = i18n + events + ["id", "class", "style", "title", "name"]
|
||||
elseif tag == 'meta'
|
||||
let attrs = i18n + ["id", "http-equiv", "content", "scheme", "name"]
|
||||
elseif tag == 'title'
|
||||
let attrs = i18n + ["id"]
|
||||
elseif tag == 'object'
|
||||
let attrs = coregroup + ["declare", "classid", "codebase", "data", "type", "codetype", "archive", "standby", "height", "width", "usemap", "name", "tabindex"]
|
||||
elseif tag == 'optgroup'
|
||||
let attrs = coregroup + ["disbled", "label"]
|
||||
elseif tag == 'option'
|
||||
let attrs = coregroup + ["disbled", "selected", "value", "label"]
|
||||
elseif tag == 'param'
|
||||
let attrs = ["id", "name", "value", "valuetype", "type"]
|
||||
elseif tag == 'pre'
|
||||
let attrs = coregroup + ["xml:space"]
|
||||
elseif tag == 'q'
|
||||
let attrs = coregroup + ["cite"]
|
||||
elseif tag == 'script'
|
||||
let attrs = ["id", "charset", "type=\"text/javascript\"", "type", "src", "defer", "xml:space"]
|
||||
elseif tag == 'select'
|
||||
let attrs = coregroup + ["name", "size", "multiple", "disabled", "tabindex", "onfocus", "onblur", "onchange"]
|
||||
elseif tag == 'style'
|
||||
let attrs = coreattrs + ["id", "type=\"text/css\"", "type", "media", "title", "xml:space"]
|
||||
elseif tag == 'table'
|
||||
let attrs = coregroup + ["summary", "width", "border", "frame", "rules", "cellspacing", "cellpadding"]
|
||||
elseif tag =~ '^\(thead\|tfoot\|tbody\|tr\)$'
|
||||
let attrs = coregroup + ["align", "char", "charoff", "valign"]
|
||||
elseif tag == 'textarea'
|
||||
let attrs = coregroup + ["name", "rows", "cols", "disabled", "readonly", "onselect", "onchange"]
|
||||
elseif tag =~ '^\(th\|td\)$'
|
||||
let attrs = coregroup + ["abbr", "headers", "scope", "rowspan", "colspan", "align", "char", "charoff", "valign"]
|
||||
else
|
||||
return []
|
||||
endif
|
||||
|
||||
for m in sort(attrs)
|
||||
if m =~ '^'.attr
|
||||
if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '='
|
||||
call add(res, m)
|
||||
else
|
||||
call add(res, m.'="')
|
||||
endif
|
||||
elseif m =~ attr
|
||||
if m =~ '^\(ismap\|defer\|declare\|nohref\|checked\|disabled\|selected\|readonly\)$' || m =~ '='
|
||||
call add(res2, m)
|
||||
else
|
||||
call add(res2, m.'="')
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
" Close tag
|
||||
let b:unaryTagsStack = "base meta link hr br param img area input col"
|
||||
if context =~ '^\/'
|
||||
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||
return [opentag.">"]
|
||||
endif
|
||||
" Deal with tag completion.
|
||||
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||
|
||||
if !exists("g:xmldata_xhtml10s")
|
||||
runtime! autoload/xml/xhtml10s.vim
|
||||
endif
|
||||
|
||||
let tags = g:xmldata_xhtml10s[opentag][0]
|
||||
|
||||
for m in sort(tags)
|
||||
if m =~ '^'.context
|
||||
call add(res, m)
|
||||
elseif m =~ context
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
endfunction
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,21 +1,43 @@
|
||||
" NetrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrwFileHandlers: contains various extension-based file handlers for
|
||||
" netrw's browsers' x command ("eXecute launcher")
|
||||
" Author: Charles E. Campbell, Jr.
|
||||
" Date: Aug 31, 2004
|
||||
" Version: 3
|
||||
" Date: Oct 12, 2005
|
||||
" Version: 7
|
||||
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{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,
|
||||
" netrwFileHandlers.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. In no
|
||||
" event will the copyright holder be liable for any damages
|
||||
" resulting from the use of this software.
|
||||
"
|
||||
" Rom 6:23 (WEB) For the wages of sin is death, but the free gift of God {{{1
|
||||
" is eternal life in Christ Jesus our Lord.
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Prevent Reloading: {{{1
|
||||
if exists("g:loaded_netrwfilehandlers") || &cp
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_netrwFileHandlers") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwfilehandlers= "v3"
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
let g:loaded_netrwFileHandlers= "v7"
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_html: handles html when the user hits "x" when the {{{1
|
||||
" netrwFileHandlers#Init: {{{1
|
||||
" This functions is here to allow a call to this function to autoload
|
||||
" the netrwFileHandlers.vim file
|
||||
fun! netrwFileHandlers#Init()
|
||||
" call Dfunc("netrwFileHandlers#Init()")
|
||||
" call Dret("netrwFileHandlers#Init")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" netrwFileHandlers#NFH_html: handles html when the user hits "x" when the {{{1
|
||||
" cursor is atop a *.html file
|
||||
fun! NetrwFileHandler_html(pagefile)
|
||||
" call Dfunc("NetrwFileHandler_html(".a:pagefile.")")
|
||||
fun! netrwFileHandlers#NFH_html(pagefile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_html(".a:pagefile.")")
|
||||
|
||||
let page= substitute(a:pagefile,'^','file://','')
|
||||
|
||||
@@ -26,19 +48,19 @@ fun! NetrwFileHandler_html(pagefile)
|
||||
" call Decho("executing !netscape ".page)
|
||||
exe "!netscape \"".page.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_html 0")
|
||||
" call Dret("netrwFileHandlers#NFH_html 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_html 1")
|
||||
" call Dret("netrwFileHandlers#NFH_html 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_htm: handles html when the user hits "x" when the {{{1
|
||||
" netrwFileHandlers#NFH_htm: handles html when the user hits "x" when the {{{1
|
||||
" cursor is atop a *.htm file
|
||||
fun! NetrwFileHandler_htm(pagefile)
|
||||
" call Dfunc("NetrwFileHandler_htm(".a:pagefile.")")
|
||||
fun! netrwFileHandlers#NFH_htm(pagefile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_htm(".a:pagefile.")")
|
||||
|
||||
let page= substitute(a:pagefile,'^','file://','')
|
||||
|
||||
@@ -49,18 +71,18 @@ fun! NetrwFileHandler_htm(pagefile)
|
||||
" call Decho("executing !netscape ".page)
|
||||
exe "!netscape \"".page.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_htm 0")
|
||||
" call Dret("netrwFileHandlers#NFH_htm 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_htm 1")
|
||||
" call Dret("netrwFileHandlers#NFH_htm 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_jpg: {{{1
|
||||
fun! NetrwFileHandler_jpg(jpgfile)
|
||||
" call Dfunc("NetrwFileHandler_jpg(jpgfile<".a:jpgfile.">)")
|
||||
" netrwFileHandlers#NFH_jpg: {{{1
|
||||
fun! netrwFileHandlers#NFH_jpg(jpgfile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_jpg(jpgfile<".a:jpgfile.">)")
|
||||
|
||||
if executable("gimp")
|
||||
exe "silent! !gimp -s ".a:jpgfile
|
||||
@@ -68,171 +90,156 @@ fun! NetrwFileHandler_jpg(jpgfile)
|
||||
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
|
||||
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:jpgfile.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_jpg 0")
|
||||
" call Dret("netrwFileHandlers#NFH_jpg 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_jpg 1")
|
||||
" call Dret("netrwFileHandlers#NFH_jpg 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_gif: {{{1
|
||||
fun! NetrwFileHandler_gif(giffile)
|
||||
" call Dfunc("NetrwFileHandler_gif(giffile<".a:giffile.">)")
|
||||
" netrwFileHandlers#NFH_gif: {{{1
|
||||
fun! netrwFileHandlers#NFH_gif(giffile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_gif(giffile<".a:giffile.">)")
|
||||
|
||||
if executable("gimp")
|
||||
exe "silent! !gimp -s ".a:giffile
|
||||
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
||||
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:giffile.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_gif 0")
|
||||
" call Dret("netrwFileHandlers#NFH_gif 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_gif 1")
|
||||
" call Dret("netrwFileHandlers#NFH_gif 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_png: {{{1
|
||||
fun! NetrwFileHandler_png(pngfile)
|
||||
" call Dfunc("NetrwFileHandler_png(pngfile<".a:pngfile.">)")
|
||||
" netrwFileHandlers#NFH_png: {{{1
|
||||
fun! netrwFileHandlers#NFH_png(pngfile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_png(pngfile<".a:pngfile.">)")
|
||||
|
||||
if executable("gimp")
|
||||
exe "silent! !gimp -s ".a:pngfile
|
||||
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
||||
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pngfile.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_png 0")
|
||||
" call Dret("netrwFileHandlers#NFH_png 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_png 1")
|
||||
" call Dret("netrwFileHandlers#NFH_png 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_pnm: {{{1
|
||||
fun! NetrwFileHandler_pnm(pnmfile)
|
||||
" call Dfunc("NetrwFileHandler_pnm(pnmfile<".a:pnmfile.">)")
|
||||
" netrwFileHandlers#NFH_pnm: {{{1
|
||||
fun! netrwFileHandlers#NFH_pnm(pnmfile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_pnm(pnmfile<".a:pnmfile.">)")
|
||||
|
||||
if executable("gimp")
|
||||
exe "silent! !gimp -s ".a:pnmfile
|
||||
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
||||
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:pnmfile.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_pnm 0")
|
||||
" call Dret("netrwFileHandlers#NFH_pnm 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_pnm 1")
|
||||
" call Dret("netrwFileHandlers#NFH_pnm 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_bmp: visualize bmp files {{{1
|
||||
fun! NetrwFileHandler_bmp(bmpfile)
|
||||
" call Dfunc("NetrwFileHandler_bmp(bmpfile<".a:bmpfile.">)")
|
||||
" netrwFileHandlers#NFH_bmp: visualize bmp files {{{1
|
||||
fun! netrwFileHandlers#NFH_bmp(bmpfile)
|
||||
" call Dfunc("netrwFileHandlers#NFH_bmp(bmpfile<".a:bmpfile.">)")
|
||||
|
||||
if executable("gimp")
|
||||
exe "silent! !gimp -s ".a:bmpfile
|
||||
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
|
||||
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT \"".a:bmpfile.'"'
|
||||
else
|
||||
" call Dret("NetrwFileHandler_bmp 0")
|
||||
" call Dret("netrwFileHandlers#NFH_bmp 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_bmp 1")
|
||||
" call Dret("netrwFileHandlers#NFH_bmp 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_pdf: visualize pdf files {{{1
|
||||
fun! NetrwFileHandler_pdf(pdf)
|
||||
" " call Dfunc("NetrwFileHandler_pdf(pdf<".a:pdf.">)")
|
||||
" netrwFileHandlers#NFH_pdf: visualize pdf files {{{1
|
||||
fun! netrwFileHandlers#NFH_pdf(pdf)
|
||||
" " call Dfunc("netrwFileHandlers#NFH_pdf(pdf<".a:pdf.">)")
|
||||
if executable("gs")
|
||||
exe 'silent! !gs "'.a:pdf.'"'
|
||||
else
|
||||
" " call Dret("NetrwFileHandler_pdf 0")
|
||||
" " call Dret("netrwFileHandlers#NFH_pdf 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" " call Dret("NetrwFileHandler_pdf 1")
|
||||
" " call Dret("netrwFileHandlers#NFH_pdf 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_sxw: visualize sxw files {{{1
|
||||
fun! NetrwFileHandler_sxw(sxw)
|
||||
" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
|
||||
if executable("gs")
|
||||
exe 'silent! !gs "'.a:sxw.'"'
|
||||
else
|
||||
" " call Dret("NetrwFileHandler_sxw 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" " call Dret("NetrwFileHandler_sxw 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_doc: visualize doc files {{{1
|
||||
fun! NetrwFileHandler_doc(doc)
|
||||
" " call Dfunc("NetrwFileHandler_doc(doc<".a:doc.">)")
|
||||
" netrwFileHandlers#NFH_doc: visualize doc files {{{1
|
||||
fun! netrwFileHandlers#NFH_doc(doc)
|
||||
" " call Dfunc("netrwFileHandlers#NFH_doc(doc<".a:doc.">)")
|
||||
|
||||
if executable("oowriter")
|
||||
exe 'silent! !oowriter "'.a:doc.'"'
|
||||
redraw!
|
||||
else
|
||||
" " call Dret("NetrwFileHandler_doc 0")
|
||||
" " call Dret("netrwFileHandlers#NFH_doc 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" " call Dret("NetrwFileHandler_doc 1")
|
||||
" " call Dret("netrwFileHandlers#NFH_doc 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_sxw: visualize sxw files {{{1
|
||||
fun! NetrwFileHandler_sxw(sxw)
|
||||
" " call Dfunc("NetrwFileHandler_sxw(sxw<".a:sxw.">)")
|
||||
" netrwFileHandlers#NFH_sxw: visualize sxw files {{{1
|
||||
fun! netrwFileHandlers#NFH_sxw(sxw)
|
||||
" " call Dfunc("netrwFileHandlers#NFH_sxw(sxw<".a:sxw.">)")
|
||||
|
||||
if executable("oowriter")
|
||||
exe 'silent! !oowriter "'.a:sxw.'"'
|
||||
redraw!
|
||||
else
|
||||
" " call Dret("NetrwFileHandler_sxw 0")
|
||||
" " call Dret("netrwFileHandlers#NFH_sxw 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" " call Dret("NetrwFileHandler_sxw 1")
|
||||
" " call Dret("netrwFileHandlers#NFH_sxw 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_xls: visualize xls files {{{1
|
||||
fun! NetrwFileHandler_xls(xls)
|
||||
" " call Dfunc("NetrwFileHandler_xls(xls<".a:xls.">)")
|
||||
" netrwFileHandlers#NFH_xls: visualize xls files {{{1
|
||||
fun! netrwFileHandlers#NFH_xls(xls)
|
||||
" " call Dfunc("netrwFileHandlers#NFH_xls(xls<".a:xls.">)")
|
||||
|
||||
if executable("oocalc")
|
||||
exe 'silent! !oocalc "'.a:xls.'"'
|
||||
redraw!
|
||||
else
|
||||
" " call Dret("NetrwFileHandler_xls 0")
|
||||
" " call Dret("netrwFileHandlers#NFH_xls 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" " call Dret("NetrwFileHandler_xls 1")
|
||||
" " call Dret("netrwFileHandlers#NFH_xls 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_ps: handles PostScript files {{{1
|
||||
fun! NetrwFileHandler_ps(ps)
|
||||
" call Dfunc("NetrwFileHandler_ps()")
|
||||
" netrwFileHandlers#NFH_ps: handles PostScript files {{{1
|
||||
fun! netrwFileHandlers#NFH_ps(ps)
|
||||
" call Dfunc("netrwFileHandlers#NFH_ps()")
|
||||
if executable("gs")
|
||||
exe "silent! !gs ".a:ps
|
||||
redraw!
|
||||
@@ -246,18 +253,18 @@ fun! NetrwFileHandler_ps(ps)
|
||||
exe "silent! !gswin32 \"".a:ps.'"'
|
||||
redraw!
|
||||
else
|
||||
" call Dret("NetrwFileHandler_ps 0")
|
||||
" call Dret("netrwFileHandlers#NFH_ps 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_ps 1")
|
||||
" call Dret("netrwFileHandlers#NFH_ps 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_eps: handles encapsulated PostScript files {{{1
|
||||
fun! NetrwFileHandler_eps(eps)
|
||||
" call Dfunc("NetrwFileHandler_ps()")
|
||||
" netrwFileHandlers#NFH_eps: handles encapsulated PostScript files {{{1
|
||||
fun! netrwFileHandlers#NFH_eps(eps)
|
||||
" call Dfunc("netrwFileHandlers#NFH_ps()")
|
||||
if executable("gs")
|
||||
exe "silent! !gs ".a:eps
|
||||
redraw!
|
||||
@@ -271,43 +278,44 @@ fun! NetrwFileHandler_eps(eps)
|
||||
exe "silent! !gswin32 \"".a:eps.'"'
|
||||
redraw!
|
||||
else
|
||||
" call Dret("NetrwFileHandler_ps 0")
|
||||
" call Dret("netrwFileHandlers#NFH_ps 0")
|
||||
return 0
|
||||
endif
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_fig: handles xfig files {{{1
|
||||
fun! NetrwFileHandler_fig(fig)
|
||||
" call Dfunc("NetrwFileHandler_fig()")
|
||||
" netrwFileHandlers#NFH_fig: handles xfig files {{{1
|
||||
fun! netrwFileHandlers#NFH_fig(fig)
|
||||
" call Dfunc("netrwFileHandlers#NFH_fig()")
|
||||
if executable("xfig")
|
||||
exe "silent! !xfig ".a:fig
|
||||
redraw!
|
||||
else
|
||||
" call Dret("NetrwFileHandler_fig 0")
|
||||
" call Dret("netrwFileHandlers#NFH_fig 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_fig 1")
|
||||
" call Dret("netrwFileHandlers#NFH_fig 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwFileHandler_obj: handles tgif's obj files {{{1
|
||||
fun! NetrwFileHandler_obj(obj)
|
||||
" call Dfunc("NetrwFileHandler_obj()")
|
||||
" netrwFileHandlers#NFH_obj: handles tgif's obj files {{{1
|
||||
fun! netrwFileHandlers#NFH_obj(obj)
|
||||
" call Dfunc("netrwFileHandlers#NFH_obj()")
|
||||
if has("unix") && executable("tgif")
|
||||
exe "silent! !tgif ".a:obj
|
||||
redraw!
|
||||
else
|
||||
" call Dret("NetrwFileHandler_obj 0")
|
||||
" call Dret("netrwFileHandlers#NFH_obj 0")
|
||||
return 0
|
||||
endif
|
||||
|
||||
" call Dret("NetrwFileHandler_obj 1")
|
||||
" call Dret("netrwFileHandlers#NFH_obj 1")
|
||||
return 1
|
||||
endfun
|
||||
|
||||
|
||||
let &cpo= s:keepcpo
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim: ts=4 fdm=marker
|
||||
161
runtime/autoload/netrwSettings.vim
Normal file
161
runtime/autoload/netrwSettings.vim
Normal file
@@ -0,0 +1,161 @@
|
||||
" netrwSettings.vim: makes netrw settings simpler
|
||||
" Date: Oct 12, 2005
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" Version: 4
|
||||
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{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,
|
||||
" netrwSettings.vim is provided *as is* and comes with no
|
||||
" warranty of any kind, either expressed or implied. By using
|
||||
" this plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
"
|
||||
" Mat 4:23 (WEB) Jesus went about in all Galilee, teaching in their {{{1
|
||||
" synagogues, preaching the gospel of the kingdom, and healing
|
||||
" every disease and every sickness among the people.
|
||||
" Load Once: {{{1
|
||||
if exists("g:loaded_netrwSettings") || &cp
|
||||
finish
|
||||
endif
|
||||
let g:loaded_netrwSettings = "v4"
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettings: {{{1
|
||||
fun! netrwSettings#NetrwSettings()
|
||||
" this call is here largely just to insure that netrw has been loaded
|
||||
call netrw#NetSavePosn()
|
||||
if !exists("g:loaded_netrw")
|
||||
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
|
||||
return
|
||||
endif
|
||||
|
||||
above wincmd s
|
||||
enew
|
||||
setlocal noswapfile bh=wipe
|
||||
set ft=vim
|
||||
file Netrw\ Settings
|
||||
|
||||
" these variables have the following default effects when they don't
|
||||
" exist (ie. have not been set by the user in his/her .vimrc)
|
||||
if !exists("g:netrw_longlist")
|
||||
let g:netrw_longlist= 0
|
||||
let g:netrw_list_cmd= "ssh HOSTNAME ls -FLa"
|
||||
endif
|
||||
if !exists("g:netrw_silent")
|
||||
let g:netrw_silent= 0
|
||||
endif
|
||||
if !exists("g:netrw_use_nt_rcp")
|
||||
let g:netrw_use_nt_rcp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ftp")
|
||||
let g:netrw_ftp= 0
|
||||
endif
|
||||
if !exists("g:netrw_ignorenetrc")
|
||||
let g:netrw_ignorenetrc= 0
|
||||
endif
|
||||
|
||||
put ='+ ---------------------------------------------'
|
||||
put ='+ NetrwSettings: (by Charles E. Campbell, Jr.)'
|
||||
put ='+ Press ? with cursor atop any line for help '
|
||||
put ='+ ---------------------------------------------'
|
||||
let s:netrw_settings_stop= line(".")
|
||||
|
||||
put =''
|
||||
put ='+ Netrw Protocol Commands'
|
||||
put = 'let g:netrw_dav_cmd = '.g:netrw_dav_cmd
|
||||
put = 'let g:netrw_fetch_cmd = '.g:netrw_fetch_cmd
|
||||
put = 'let g:netrw_ftp_cmd = '.g:netrw_ftp_cmd
|
||||
put = 'let g:netrw_http_cmd = '.g:netrw_http_cmd
|
||||
put = 'let g:netrw_rcp_cmd = '.g:netrw_rcp_cmd
|
||||
put = 'let g:netrw_rsync_cmd = '.g:netrw_rsync_cmd
|
||||
put = 'let g:netrw_scp_cmd = '.g:netrw_scp_cmd
|
||||
put = 'let g:netrw_sftp_cmd = '.g:netrw_sftp_cmd
|
||||
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
|
||||
let s:netrw_protocol_stop= line(".")
|
||||
put = ''
|
||||
|
||||
put ='+Netrw Transfer Control'
|
||||
put = 'let g:netrw_cygwin = '.g:netrw_cygwin
|
||||
put = 'let g:netrw_ftp = '.g:netrw_ftp
|
||||
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
|
||||
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
|
||||
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(".")
|
||||
|
||||
put = ''
|
||||
put ='+ Netrw Browser Control'
|
||||
put = 'let g:netrw_alto = '.g:netrw_alto
|
||||
put = 'let g:netrw_altv = '.g:netrw_altv
|
||||
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
|
||||
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_hide = '.g:netrw_hide
|
||||
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
|
||||
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
|
||||
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
|
||||
put = 'let g:netrw_longlist = '.g:netrw_longlist
|
||||
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
|
||||
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
|
||||
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
|
||||
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_sequence = '.g:netrw_sort_sequence
|
||||
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
|
||||
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
|
||||
put = 'let g:netrw_winsize = '.g:netrw_winsize
|
||||
|
||||
put =''
|
||||
put ='+ For help, place cursor on line and press ?'
|
||||
|
||||
1d
|
||||
silent %s/^+/"/e
|
||||
res 99
|
||||
silent %s/= \([^0-9].*\)$/= '\1'/e
|
||||
silent %s/= $/= ''/e
|
||||
1
|
||||
|
||||
set nomod
|
||||
|
||||
map <buffer> <silent> ? :call NetrwSettingHelp()<cr>
|
||||
let tmpfile= tempname()
|
||||
exe 'au BufWriteCmd Netrw\ Settings silent w! '.tmpfile.'|so '.tmpfile.'|call delete("'.tmpfile.'")|set nomod'
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" NetrwSettingHelp: {{{2
|
||||
fun! NetrwSettingHelp()
|
||||
" call Dfunc("NetrwSettingHelp()")
|
||||
let curline = getline(".")
|
||||
if curline =~ '='
|
||||
let varhelp = substitute(curline,'^\s*let ','','e')
|
||||
let varhelp = substitute(varhelp,'\s*=.*$','','e')
|
||||
" call Decho("trying help ".varhelp)
|
||||
try
|
||||
exe "he ".varhelp
|
||||
catch /^Vim\%((\a\+)\)\=:E149/
|
||||
echo "***sorry*** no help available for <".varhelp.">"
|
||||
endtry
|
||||
elseif line(".") < s:netrw_settings_stop
|
||||
he netrw-settings
|
||||
elseif line(".") < s:netrw_protocol_stop
|
||||
he netrw-externapp
|
||||
elseif line(".") < s:netrw_xfer_stop
|
||||
he netrw-variables
|
||||
else
|
||||
he netrw-browse-var
|
||||
endif
|
||||
" call Dret("NetrwSettingHelp")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Modelines: {{{1
|
||||
" vim:ts=8 fdm=marker
|
||||
329
runtime/autoload/tar.vim
Normal file
329
runtime/autoload/tar.vim
Normal file
@@ -0,0 +1,329 @@
|
||||
" tar.vim: Handles browsing tarfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Nov 28, 2005
|
||||
" Version: 5
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" License: Vim License (see vim's :help license)
|
||||
"
|
||||
" Contains many ideas from Michael Toren's <tar.vim>
|
||||
"
|
||||
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{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,
|
||||
" tarPlugin.vim is provided *as is* and comes with no warranty
|
||||
" of any kind, either expressed or implied. By using this
|
||||
" plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
if exists("g:loaded_tar")
|
||||
finish
|
||||
endif
|
||||
let g:loaded_tar= "v5"
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Default Settings: {{{1
|
||||
if !exists("g:tar_browseoptions")
|
||||
let g:tar_browseoptions= "Ptf"
|
||||
endif
|
||||
if !exists("g:tar_readoptions")
|
||||
let g:tar_readoptions= "OPxf"
|
||||
endif
|
||||
if !exists("g:tar_writeoptions")
|
||||
let g:tar_writeoptions= "uf"
|
||||
endif
|
||||
|
||||
" ----------------
|
||||
" Functions: {{{1
|
||||
" ----------------
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Browse: {{{2
|
||||
fun! tar#Browse(tarfile)
|
||||
" call Dfunc("tar#Browse(tarfile<".a:tarfile.">)")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable("tar")
|
||||
echohl Error | echo '***error*** (tar#Browse) "tar" not available on your system'
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse")
|
||||
return
|
||||
endif
|
||||
if !filereadable(a:tarfile)
|
||||
if a:tarfile !~# '^\a\+://'
|
||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
||||
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
endif
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
|
||||
return
|
||||
endif
|
||||
if &ma != 1
|
||||
set ma
|
||||
endif
|
||||
let w:tarfile= a:tarfile
|
||||
|
||||
setlocal noswapfile
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=hide
|
||||
setlocal nobuflisted
|
||||
setlocal nowrap
|
||||
set ft=tar
|
||||
|
||||
" give header
|
||||
exe "$put ='".'\"'." tar.vim version ".g:loaded_tar."'"
|
||||
exe "$put ='".'\"'." Browsing tarfile ".a:tarfile."'"
|
||||
exe "$put ='".'\"'." Select a file with cursor and press ENTER"."'"
|
||||
0d
|
||||
$
|
||||
|
||||
if a:tarfile =~# '\.\(gz\|tgz\)$'
|
||||
exe "silent r! gzip -d -c '".a:tarfile."'| tar -".g:tar_browseoptions." - "
|
||||
elseif a:tarfile =~# '\.bz2$'
|
||||
exe "silent r! bzip2 -d -c '".a:tarfile."'| tar -".g:tar_browseoptions." - "
|
||||
else
|
||||
exe "silent r! tar -".g:tar_browseoptions." '".a:tarfile."'"
|
||||
endif
|
||||
%g@/$@d
|
||||
|
||||
setlocal noma nomod ro
|
||||
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" TarBrowseSelect: {{{2
|
||||
fun! s:TarBrowseSelect()
|
||||
" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let fname= getline(".")
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
" sanity check
|
||||
if fname =~ '^"'
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect")
|
||||
return
|
||||
endif
|
||||
|
||||
" about to make a new window, need to use w:tarfile
|
||||
let tarfile= w:tarfile
|
||||
let curfile= expand("%")
|
||||
|
||||
new
|
||||
wincmd _
|
||||
let s:tblfile_{winnr()}= curfile
|
||||
" call Decho("exe e tarfile:".tarfile.':'.fname)
|
||||
exe "e tarfile:".tarfile.':'.fname
|
||||
filetype detect
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Read: {{{2
|
||||
fun! tar#Read(fname,mode)
|
||||
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\):.*$','\1','')
|
||||
let fname = substitute(a:fname,'tarfile:.\{-}:\(.*\)$','\1','')
|
||||
" call Decho("tarfile<".tarfile."> fname<".fname.">")
|
||||
|
||||
if tarfile =~# '\.\(gz\|tgz\)$'
|
||||
" call Decho("exe silent r! gzip -d -c '".tarfile."'| tar -OPxf - '".fname."'")
|
||||
exe "silent r! gzip -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
|
||||
elseif a:fname =~# '\.bz2$'
|
||||
" call Decho("exe silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'")
|
||||
exe "silent r! bzip2 -d -c '".tarfile."'| tar -".g:tar_readoptions." - '".fname."'"
|
||||
else
|
||||
" call Decho("exe silent r! tar -".g:tar_readoptions." '".tarfile."' '".fname."'")
|
||||
exe "silent r! tar -".g:tar_readoptions." '".tarfile."' '".fname."'"
|
||||
endif
|
||||
let w:tarfile= a:fname
|
||||
exe "file tarfile:".fname
|
||||
|
||||
" cleanup
|
||||
0d
|
||||
set nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Read : w:tarfile<".w:tarfile.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" tar#Write: {{{2
|
||||
fun! tar#Write(fname)
|
||||
" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable("tar")
|
||||
echohl Error | echo '***error*** (tar#Browse) "tar" not available on your system'
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
if !exists("*mkdir")
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endif
|
||||
|
||||
let curdir= getcwd()
|
||||
let tmpdir= tempname()
|
||||
" call Decho("orig tempname<".tmpdir.">")
|
||||
if tmpdir =~ '\.'
|
||||
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
|
||||
endif
|
||||
" call Decho("tmpdir<".tmpdir.">")
|
||||
call mkdir(tmpdir,"p")
|
||||
|
||||
" attempt to change to the indicated directory
|
||||
try
|
||||
exe "cd ".escape(tmpdir,' \')
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
return
|
||||
endtry
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
" place temporary files under .../_ZIPVIM_/
|
||||
if isdirectory("_ZIPVIM_")
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
endif
|
||||
call mkdir("_ZIPVIM_")
|
||||
cd _ZIPVIM_
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\):.*$','\1','')
|
||||
let fname = substitute(w:tarfile,'tarfile:.\{-}:\(.*\)$','\1','')
|
||||
|
||||
" handle compressed archives
|
||||
if tarfile =~# '\.gz'
|
||||
call system("gzip -d ".tarfile)
|
||||
let tarfile = substitute(tarfile,'\.gz','','e')
|
||||
let compress= "gzip '".tarfile."'"
|
||||
elseif tarfile =~# '\.tgz'
|
||||
call system("gzip -d ".tarfile)
|
||||
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
|
||||
let compress= "gzip '".tarfile."'"
|
||||
let tgz = 1
|
||||
elseif tarfile =~# '\.bz2'
|
||||
call system("bzip2 -d ".tarfile)
|
||||
let tarfile = substitute(tarfile,'\.bz2','','e')
|
||||
let compress= "bzip2 '".tarfile."'"
|
||||
endif
|
||||
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
else
|
||||
|
||||
" call Decho("tarfile<".tarfile."> fname<".fname.">")
|
||||
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if tarfile !~ '/'
|
||||
let tarfile= curdir.'/'.tarfile
|
||||
endif
|
||||
" call Decho("tarfile<".tarfile."> fname<".fname.">")
|
||||
|
||||
call mkdir(dirpath,"p")
|
||||
exe "w! ".fname
|
||||
if executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
|
||||
let tarfile = substitute(system("cygpath ".tarfile),'\n','','e')
|
||||
endif
|
||||
|
||||
" delete old file from tarfile
|
||||
" call Decho("tar --delete -f '".tarfile."' '".fname."'")
|
||||
call system("tar --delete -f '".tarfile."' '".fname."'")
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
else
|
||||
|
||||
" update tarfile with new file
|
||||
" call Decho("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
|
||||
call system("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
elseif exists("compress")
|
||||
" call Decho("call system(".compress.")")
|
||||
call system(compress)
|
||||
if exists("tgz")
|
||||
" call Decho("rename(".tarfile.".gz,".substitute(tarfile,'\.tar$','.tgz','e').")")
|
||||
call rename(tarfile.".gz",substitute(tarfile,'\.tar$','.tgz','e'))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" support writing tarfiles across a network
|
||||
if s:tblfile_{winnr()} =~ '^\a\+://'
|
||||
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
|
||||
let tblfile= s:tblfile_{winnr()}
|
||||
1split|enew
|
||||
let binkeep= &binary
|
||||
let eikeep = &ei
|
||||
set binary ei=all
|
||||
exe "e! ".tarfile
|
||||
call netrw#NetWrite(tblfile)
|
||||
let &ei = eikeep
|
||||
let &binary = binkeep
|
||||
q!
|
||||
unlet s:tblfile_{winnr()}
|
||||
endif
|
||||
endif
|
||||
|
||||
" cleanup and restore current directory
|
||||
cd ..
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
exe "cd ".escape(curdir,' \')
|
||||
setlocal nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("tar#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
||||
if has("unix")
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if &shell =~? "sh$"
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
else
|
||||
call system("del /S ".a:fname)
|
||||
endif
|
||||
endif
|
||||
" call Dret("Rmdir")
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim:ts=8 fdm=marker
|
||||
428
runtime/autoload/xmlcomplete.vim
Normal file
428
runtime/autoload/xmlcomplete.vim
Normal file
@@ -0,0 +1,428 @@
|
||||
" Vim completion script
|
||||
" Language: XHTML 1.0 Strict
|
||||
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
|
||||
" Last Change: 2005 Nov 22
|
||||
|
||||
" This function will create Dictionary with users namespace strings and values
|
||||
" canonical (system) names of data files. Names should be lowercase,
|
||||
" descriptive to avoid any future conflicts. For example 'xhtml10s' should be
|
||||
" name for data of XHTML 1.0 Strict and 'xhtml10t' for XHTML 1.0 Transitional
|
||||
" User interface will be provided by XMLns command defined ...
|
||||
" Currently supported canonicals are:
|
||||
" xhtml10s - XHTML 1.0 Strict
|
||||
" xsl - XSL
|
||||
function! xmlcomplete#CreateConnection(canonical, ...)
|
||||
|
||||
" When only one argument provided treat name as default namespace (without
|
||||
" 'prefix:').
|
||||
if exists("a:1")
|
||||
let users = a:1
|
||||
else
|
||||
let users = 'DEFAULT'
|
||||
endif
|
||||
|
||||
" Source data file. Due to suspected errors in autoload do it with
|
||||
" :runtime.
|
||||
" TODO: make it properly (using autoload, that is) later
|
||||
exe "runtime autoload/xml/".a:canonical.".vim"
|
||||
|
||||
" Remove all traces of unexisting files to return [] when trying
|
||||
" omnicomplete something
|
||||
" TODO: give warning about non-existing canonicals - should it be?
|
||||
if !exists("g:xmldata_".a:canonical)
|
||||
unlet! g:xmldata_connection
|
||||
return 0
|
||||
endif
|
||||
|
||||
" We need to initialize Dictionary to add key-value pair
|
||||
if !exists("g:xmldata_connection")
|
||||
let g:xmldata_connection = {}
|
||||
endif
|
||||
|
||||
let g:xmldata_connection[users] = a:canonical
|
||||
|
||||
endfunction
|
||||
|
||||
function! xmlcomplete#CreateEntConnection(...)
|
||||
if a:0 > 0
|
||||
let g:xmldata_entconnect = a:1
|
||||
else
|
||||
let g:xmldata_entconnect = 'DEFAULT'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! xmlcomplete#CompleteTags(findstart, base)
|
||||
if a:findstart
|
||||
" locate the start of the word
|
||||
let line = getline('.')
|
||||
let start = col('.') - 1
|
||||
let compl_begin = col('.') - 2
|
||||
|
||||
while start >= 0 && line[start - 1] =~ '\(\k\|[:.-]\)'
|
||||
let start -= 1
|
||||
endwhile
|
||||
|
||||
if start >= 0 && line[start - 1] =~ '&'
|
||||
let b:entitiescompl = 1
|
||||
let b:compl_context = ''
|
||||
return start
|
||||
endif
|
||||
|
||||
let b:compl_context = getline('.')[0:(compl_begin)]
|
||||
let b:compl_context = matchstr(b:compl_context, '.*<\zs.*')
|
||||
|
||||
" Make sure we will have only current namespace
|
||||
unlet! b:xml_namespace
|
||||
let b:xml_namespace = matchstr(b:compl_context, '^\k*\ze:')
|
||||
if b:xml_namespace == ''
|
||||
let b:xml_namespace = 'DEFAULT'
|
||||
endif
|
||||
|
||||
return start
|
||||
|
||||
else
|
||||
" There is no connction of namespace and data file. Abandon action
|
||||
if !exists("g:xmldata_connection") || g:xmldata_connection == {}
|
||||
return []
|
||||
endif
|
||||
" Initialize base return lists
|
||||
let res = []
|
||||
let res2 = []
|
||||
" a:base is very short - we need context
|
||||
let context = b:compl_context
|
||||
unlet! b:compl_context
|
||||
|
||||
" Make entities completion
|
||||
if exists("b:entitiescompl")
|
||||
unlet! b:entitiescompl
|
||||
|
||||
if !exists("g:xmldata_entconnect") || g:xmldata_entconnect == 'DEFAULT'
|
||||
let values = g:xmldata{'_'.g:xmldata_connection['DEFAULT']}['vimxmlentities']
|
||||
else
|
||||
let values = g:xmldata{'_'.g:xmldata_entconnect}['vimxmlentities']
|
||||
endif
|
||||
|
||||
" Get only lines with entity declarations but throw out
|
||||
" parameter-entities - they may be completed in future
|
||||
let entdecl = filter(getline(1, "$"), 'v:val =~ "<!ENTITY\\s\\+[^%]"')
|
||||
|
||||
if len(entdecl) > 0
|
||||
let intent = map(copy(entdecl), 'matchstr(v:val, "<!ENTITY\\s\\+\\zs\\(\\k\\|[.-:]\\)\\+\\ze")')
|
||||
let values = intent + values
|
||||
endif
|
||||
|
||||
for m in values
|
||||
if m =~ '^'.a:base
|
||||
call add(res, m.';')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res
|
||||
|
||||
endif
|
||||
if context =~ '>'
|
||||
" Generally if context contains > it means we are outside of tag and
|
||||
" should abandon action
|
||||
return []
|
||||
endif
|
||||
|
||||
" find tags matching with "a:base"
|
||||
" If a:base contains white space it is attribute.
|
||||
" It could be also value of attribute...
|
||||
" We have to get first word to offer
|
||||
" proper completions
|
||||
if context == ''
|
||||
let tag = ''
|
||||
else
|
||||
let tag = split(context)[0]
|
||||
endif
|
||||
" Get rid of namespace
|
||||
let tag = substitute(tag, '^'.b:xml_namespace.':', '', '')
|
||||
|
||||
|
||||
" Get last word, it should be attr name
|
||||
let attr = matchstr(context, '.*\s\zs.*')
|
||||
" Possible situations where any prediction would be difficult:
|
||||
" 1. Events attributes
|
||||
if context =~ '\s'
|
||||
|
||||
" If attr contains =\s*[\"'] we catched value of attribute
|
||||
if attr =~ "=\s*[\"']"
|
||||
" Let do attribute specific completion
|
||||
let attrname = matchstr(attr, '.*\ze\s*=')
|
||||
let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*")
|
||||
|
||||
if tag =~ '^[?!]'
|
||||
" Return nothing if we are inside of ! or ? tag
|
||||
return []
|
||||
else
|
||||
let values = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][attrname]
|
||||
endif
|
||||
|
||||
if len(values) == 0
|
||||
return []
|
||||
endif
|
||||
|
||||
" We need special version of sbase
|
||||
let attrbase = matchstr(context, ".*[\"']")
|
||||
let attrquote = matchstr(attrbase, '.$')
|
||||
|
||||
for m in values
|
||||
" This if is needed to not offer all completions as-is
|
||||
" alphabetically but sort them. Those beginning with entered
|
||||
" part will be as first choices
|
||||
if m =~ '^'.entered_value
|
||||
call add(res, m . attrquote.' ')
|
||||
elseif m =~ entered_value
|
||||
call add(res2, m . attrquote.' ')
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
if tag =~ '?xml'
|
||||
" Two possible arguments for <?xml> plus variation
|
||||
let attrs = ['encoding', 'version="1.0"', 'version']
|
||||
elseif tag =~ '^!'
|
||||
" Don't make completion at all
|
||||
return []
|
||||
else
|
||||
let attrs = keys(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1])
|
||||
endif
|
||||
|
||||
for m in sort(attrs)
|
||||
if m =~ '^'.attr
|
||||
if tag !~ '^[?!]' && len(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][m]) > 0 && g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][m][0] =~ '^BOOL$'
|
||||
call add(res, m)
|
||||
elseif m =~ '='
|
||||
call add(res, m)
|
||||
else
|
||||
call add(res, m.'="')
|
||||
endif
|
||||
elseif m =~ attr
|
||||
if tag !~ '^[?!]' && len(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][m]) > 0 && g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][m][0] =~ '^BOOL$'
|
||||
call add(res, m)
|
||||
elseif m =~ '='
|
||||
call add(res, m)
|
||||
else
|
||||
call add(res2, m.'="')
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
" Close tag
|
||||
let b:unaryTagsStack = "base meta link hr br param img area input col"
|
||||
if context =~ '^\/'
|
||||
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||
return [opentag.">"]
|
||||
endif
|
||||
|
||||
" Complete elements of XML structure
|
||||
" TODO: #REQUIRED, #IMPLIED, #FIXED, #PCDATA - but these should be detected like
|
||||
" entities - in first run
|
||||
" keywords: CDATA, ID, IDREF, IDREFS, ENTITY, ENTITIES, NMTOKEN, NMTOKENS
|
||||
" are hardly recognizable but keep it in reserve
|
||||
" also: EMPTY ANY SYSTEM PUBLIC DATA
|
||||
if context =~ '^!'
|
||||
let tags = ['!ELEMENT', '!DOCTYPE', '!ATTLIST', '!ENTITY', '!NOTATION', '![CDATA[', '![INCLUDE[', '![IGNORE[']
|
||||
|
||||
for m in tags
|
||||
if m =~ '^'.context
|
||||
let m = substitute(m, '^!\[\?', '', '')
|
||||
call add(res, m)
|
||||
elseif m =~ context
|
||||
let m = substitute(m, '^!\[\?', '', '')
|
||||
call add(res2, m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
" Complete text declaration
|
||||
let g:co = context
|
||||
if context =~ '^?'
|
||||
let tags = ['?xml']
|
||||
|
||||
for m in tags
|
||||
if m =~ '^'.context
|
||||
call add(res, substitute(m, '^?', '', ''))
|
||||
elseif m =~ context
|
||||
call add(res, substitute(m, '^?', '', ''))
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
|
||||
" Deal with tag completion.
|
||||
let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||
let opentag = substitute(opentag, '^\k*:', '', '')
|
||||
|
||||
let tags = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[opentag][0]
|
||||
let context = substitute(context, '^\k*:', '', '')
|
||||
|
||||
if b:xml_namespace == 'DEFAULT'
|
||||
let b:xml_namespace = ''
|
||||
else
|
||||
let b:xml_namespace .= ':'
|
||||
endif
|
||||
|
||||
for m in tags
|
||||
if m =~ '^'.context
|
||||
call add(res, b:xml_namespace.m)
|
||||
elseif m =~ context
|
||||
call add(res2, b:xml_namespace.m)
|
||||
endif
|
||||
endfor
|
||||
|
||||
return res + res2
|
||||
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" MM: This is greatly reduced closetag.vim used with kind permission of Steven
|
||||
" Mueller
|
||||
" Changes: strip all comments; delete error messages; add checking for
|
||||
" namespace
|
||||
" Author: Steven Mueller <diffusor@ugcs.caltech.edu>
|
||||
" Last Modified: Tue May 24 13:29:48 PDT 2005
|
||||
" Version: 0.9.1
|
||||
|
||||
function! xmlcomplete#GetLastOpenTag(unaryTagsStack)
|
||||
let linenum=line('.')
|
||||
let lineend=col('.') - 1 " start: cursor position
|
||||
let first=1 " flag for first line searched
|
||||
let b:TagStack='' " main stack of tags
|
||||
let startInComment=s:InComment()
|
||||
|
||||
if exists("b:xml_namespace")
|
||||
if b:xml_namespace == 'DEFAULT'
|
||||
let tagpat='</\=\(\k\|[.-]\)\+\|/>'
|
||||
else
|
||||
let tagpat='</\='.b:xml_namespace.':\(\k\|[.-]\)\+\|/>'
|
||||
endif
|
||||
else
|
||||
let tagpat='</\=\(\k\|[.-]\)\+\|/>'
|
||||
endif
|
||||
while (linenum>0)
|
||||
let line=getline(linenum)
|
||||
if first
|
||||
let line=strpart(line,0,lineend)
|
||||
else
|
||||
let lineend=strlen(line)
|
||||
endif
|
||||
let b:lineTagStack=''
|
||||
let mpos=0
|
||||
let b:TagCol=0
|
||||
while (mpos > -1)
|
||||
let mpos=matchend(line,tagpat)
|
||||
if mpos > -1
|
||||
let b:TagCol=b:TagCol+mpos
|
||||
let tag=matchstr(line,tagpat)
|
||||
|
||||
if exists('b:closetag_disable_synID') || startInComment==s:InCommentAt(linenum, b:TagCol)
|
||||
let b:TagLine=linenum
|
||||
call s:Push(matchstr(tag,'[^<>]\+'),'b:lineTagStack')
|
||||
endif
|
||||
let lineend=lineend-mpos
|
||||
let line=strpart(line,mpos,lineend)
|
||||
endif
|
||||
endwhile
|
||||
while (!s:EmptystackP('b:lineTagStack'))
|
||||
let tag=s:Pop('b:lineTagStack')
|
||||
if match(tag, '^/') == 0 "found end tag
|
||||
call s:Push(tag,'b:TagStack')
|
||||
elseif s:EmptystackP('b:TagStack') && !s:Instack(tag, a:unaryTagsStack) "found unclosed tag
|
||||
return tag
|
||||
else
|
||||
let endtag=s:Peekstack('b:TagStack')
|
||||
if endtag == '/'.tag || endtag == '/'
|
||||
call s:Pop('b:TagStack') "found a open/close tag pair
|
||||
elseif !s:Instack(tag, a:unaryTagsStack) "we have a mismatch error
|
||||
return ''
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
let linenum=linenum-1 | let first=0
|
||||
endwhile
|
||||
return ''
|
||||
endfunction
|
||||
|
||||
function! s:InComment()
|
||||
return synIDattr(synID(line('.'), col('.'), 0), 'name') =~ 'Comment'
|
||||
endfunction
|
||||
|
||||
function! s:InCommentAt(line, col)
|
||||
return synIDattr(synID(a:line, a:col, 0), 'name') =~ 'Comment'
|
||||
endfunction
|
||||
|
||||
function! s:SetKeywords()
|
||||
let g:IsKeywordBak=&iskeyword
|
||||
let &iskeyword='33-255'
|
||||
endfunction
|
||||
|
||||
function! s:RestoreKeywords()
|
||||
let &iskeyword=g:IsKeywordBak
|
||||
endfunction
|
||||
|
||||
function! s:Push(el, sname)
|
||||
if !s:EmptystackP(a:sname)
|
||||
exe 'let '.a:sname."=a:el.' '.".a:sname
|
||||
else
|
||||
exe 'let '.a:sname.'=a:el'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:EmptystackP(sname)
|
||||
exe 'let stack='.a:sname
|
||||
if match(stack,'^ *$') == 0
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:Instack(el, sname)
|
||||
exe 'let stack='.a:sname
|
||||
call s:SetKeywords()
|
||||
let m=match(stack, '\<'.a:el.'\>')
|
||||
call s:RestoreKeywords()
|
||||
if m < 0
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function! s:Peekstack(sname)
|
||||
call s:SetKeywords()
|
||||
exe 'let stack='.a:sname
|
||||
let top=matchstr(stack, '\<.\{-1,}\>')
|
||||
call s:RestoreKeywords()
|
||||
return top
|
||||
endfunction
|
||||
|
||||
function! s:Pop(sname)
|
||||
if s:EmptystackP(a:sname)
|
||||
return ''
|
||||
endif
|
||||
exe 'let stack='.a:sname
|
||||
call s:SetKeywords()
|
||||
let loc=matchend(stack,'\<.\{-1,}\>')
|
||||
exe 'let '.a:sname.'=strpart(stack, loc+1, strlen(stack))'
|
||||
let top=strpart(stack, match(stack, '\<'), loc)
|
||||
call s:RestoreKeywords()
|
||||
return top
|
||||
endfunction
|
||||
|
||||
function! s:Clearstack(sname)
|
||||
exe 'let '.a:sname."=''"
|
||||
endfunction
|
||||
266
runtime/autoload/zip.vim
Normal file
266
runtime/autoload/zip.vim
Normal file
@@ -0,0 +1,266 @@
|
||||
" zip.vim: Handles browsing zipfiles
|
||||
" AUTOLOAD PORTION
|
||||
" Date: Nov 28, 2005
|
||||
" Version: 5
|
||||
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
|
||||
" License: Vim License (see vim's :help license)
|
||||
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{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,
|
||||
" zipPlugin.vim is provided *as is* and comes with no warranty
|
||||
" of any kind, either expressed or implied. By using this
|
||||
" plugin, you agree that in no event will the copyright
|
||||
" holder be liable for any damages resulting from the use
|
||||
" of this software.
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Initialization: {{{1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
if exists("g:loaded_zip")
|
||||
finish
|
||||
endif
|
||||
|
||||
let g:loaded_zip= "v5"
|
||||
|
||||
" ----------------
|
||||
" Functions: {{{1
|
||||
" ----------------
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" zip#Browse: {{{2
|
||||
fun! zip#Browse(zipfile)
|
||||
" call Dfunc("zip#Browse(zipfile<".a:zipfile.">)")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable("unzip")
|
||||
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse")
|
||||
return
|
||||
endif
|
||||
if !filereadable(a:zipfile)
|
||||
if a:zipfile !~# '^\a\+://'
|
||||
" if its an url, don't complain, let url-handlers such as vim do its thing
|
||||
echohl Error | echo "***error*** (zip#Browse) File not readable<".a:zipfile.">" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
endif
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse : file<".a:zipfile."> not readable")
|
||||
return
|
||||
endif
|
||||
if &ma != 1
|
||||
set ma
|
||||
endif
|
||||
let w:zipfile= a:zipfile
|
||||
|
||||
setlocal noswapfile
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=hide
|
||||
setlocal nobuflisted
|
||||
setlocal nowrap
|
||||
set ft=tar
|
||||
|
||||
" give header
|
||||
exe "$put ='".'\"'." zip.vim version ".g:loaded_zip."'"
|
||||
exe "$put ='".'\"'." Browsing zipfile ".a:zipfile."'"
|
||||
exe "$put ='".'\"'." Select a file with cursor and press ENTER"."'"
|
||||
$put =''
|
||||
0d
|
||||
$
|
||||
|
||||
exe "silent r! unzip -l ".a:zipfile
|
||||
$d
|
||||
silent 4,$v/^\s\+\d\+\s\{0,5}\d/d
|
||||
silent 4,$s/^\%(.*\)\s\+\(\S\)/\1/
|
||||
|
||||
setlocal noma nomod ro
|
||||
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Browse")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" ZipBrowseSelect: {{{2
|
||||
fun! s:ZipBrowseSelect()
|
||||
" call Dfunc("ZipBrowseSelect() zipfile<".w:zipfile."> curfile<".expand("%").">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
let fname= getline(".")
|
||||
|
||||
" sanity check
|
||||
if fname =~ '^"'
|
||||
let &report= repkeep
|
||||
" call Dret("ZipBrowseSelect")
|
||||
return
|
||||
endif
|
||||
if fname =~ '/$'
|
||||
echohl Error | echo "***error*** (zip#Browse) Please specify a file, not a directory" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("ZipBrowseSelect")
|
||||
return
|
||||
endif
|
||||
|
||||
" call Decho("fname<".fname.">")
|
||||
|
||||
" get zipfile to the new-window
|
||||
let zipfile= substitute(w:zipfile,'.zip$','','e')
|
||||
let curfile= expand("%")
|
||||
|
||||
new
|
||||
wincmd _
|
||||
let s:zipfile_{winnr()}= curfile
|
||||
exe "e zipfile:".zipfile.':'.fname
|
||||
filetype detect
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("ZipBrowseSelect : s:zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" zip#Read: {{{2
|
||||
fun! zip#Read(fname,mode)
|
||||
" call Dfunc("zip#Read(fname<".a:fname.">,mode=".a:mode.")")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','')
|
||||
" call Decho("zipfile<".zipfile."> fname<".fname.">")
|
||||
|
||||
exe "r! unzip -p ".zipfile." ".fname
|
||||
|
||||
" cleanup
|
||||
0d
|
||||
set nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Read")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" zip#Write: {{{2
|
||||
fun! zip#Write(fname)
|
||||
" call Dfunc("zip#Write(fname<".a:fname.") zipfile_".winnr()."<".s:zipfile_{winnr()}.">")
|
||||
let repkeep= &report
|
||||
set report=10
|
||||
|
||||
" sanity checks
|
||||
if !executable("zip")
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, your system doesn't appear to have the zip pgm" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endif
|
||||
if !exists("*mkdir")
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, mkdir() doesn't work on your system" | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endif
|
||||
|
||||
let curdir= getcwd()
|
||||
let tmpdir= tempname()
|
||||
" call Decho("orig tempname<".tmpdir.">")
|
||||
if tmpdir =~ '\.'
|
||||
let tmpdir= substitute(tmpdir,'\.[^.]*$','','e')
|
||||
endif
|
||||
" call Decho("tmpdir<".tmpdir.">")
|
||||
call mkdir(tmpdir,"p")
|
||||
|
||||
" attempt to change to the indicated directory
|
||||
try
|
||||
exe "cd ".escape(tmpdir,' \')
|
||||
catch /^Vim\%((\a\+)\)\=:E344/
|
||||
echohl Error | echo "***error*** (zip#Write) cannot cd to temporary directory" | Echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
return
|
||||
endtry
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
" place temporary files under .../_ZIPVIM_/
|
||||
if isdirectory("_ZIPVIM_")
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
endif
|
||||
call mkdir("_ZIPVIM_")
|
||||
cd _ZIPVIM_
|
||||
" call Decho("current directory now: ".getcwd())
|
||||
|
||||
let zipfile = substitute(a:fname,'zipfile:\(.\{-}\):.*$','\1','')
|
||||
let fname = substitute(a:fname,'zipfile:.\{-}:\(.*\)$','\1','')
|
||||
let dirpath = substitute(fname,'/[^/]\+$','','e')
|
||||
if zipfile !~ '/'
|
||||
let zipfile= curdir.'/'.zipfile
|
||||
endif
|
||||
" call Decho("zipfile<".zipfile."> fname<".fname.">")
|
||||
|
||||
call mkdir(dirpath,"p")
|
||||
exe "w! ".fname
|
||||
if executable("cygpath")
|
||||
let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
|
||||
let zipfile = substitute(system("cygpath ".zipfile),'\n','','e')
|
||||
endif
|
||||
|
||||
" call Decho("zip -u ".zipfile.".zip ".fname)
|
||||
call system("zip -u ".zipfile.".zip ".fname)
|
||||
if v:shell_error != 0
|
||||
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
|
||||
call inputsave()|call input("Press <cr> to continue")|call inputrestore()
|
||||
|
||||
elseif s:zipfile_{winnr()} =~ '^\a\+://'
|
||||
" support writing zipfiles across a network
|
||||
let netzipfile= s:zipfile_{winnr()}
|
||||
" call Decho("handle writing <".zipfile.".zip> across network as <".netzipfile.">")
|
||||
1split|enew
|
||||
let binkeep= &binary
|
||||
let eikeep = &ei
|
||||
set binary ei=all
|
||||
exe "e! ".zipfile.".zip"
|
||||
call netrw#NetWrite(netzipfile)
|
||||
let &ei = eikeep
|
||||
let &binary = binkeep
|
||||
q!
|
||||
unlet s:zipfile_{winnr()}
|
||||
endif
|
||||
|
||||
" cleanup and restore current directory
|
||||
cd ..
|
||||
call s:Rmdir("_ZIPVIM_")
|
||||
exe "cd ".escape(curdir,' \')
|
||||
setlocal nomod
|
||||
|
||||
let &report= repkeep
|
||||
" call Dret("zip#Write")
|
||||
endfun
|
||||
|
||||
" ---------------------------------------------------------------------
|
||||
" Rmdir: {{{2
|
||||
fun! s:Rmdir(fname)
|
||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
||||
if has("unix")
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
elseif has("win32") || has("win95") || has("win64") || has("win16")
|
||||
if &shell =~? "sh$"
|
||||
call system("/bin/rm -rf ".a:fname)
|
||||
else
|
||||
call system("del /S ".a:fname)
|
||||
endif
|
||||
endif
|
||||
" call Dret("Rmdir")
|
||||
endfun
|
||||
|
||||
" ------------------------------------------------------------------------
|
||||
" Modelines And Restoration: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
" vim:ts=8 fdm=marker
|
||||
@@ -2,7 +2,7 @@
|
||||
:" information about the environment of a possible bug in Vim.
|
||||
:"
|
||||
:" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
:" Last change: 2001 Feb 02
|
||||
:" Last change: 2005 Jun 12
|
||||
:"
|
||||
:" To use inside Vim:
|
||||
:" :so $VIMRUNTIME/bugreport.vim
|
||||
@@ -49,6 +49,8 @@
|
||||
: call <SID>CheckFile($VIMRUNTIME . "/syntax/synload.vim")
|
||||
: delfun <SID>CheckDir
|
||||
: delfun <SID>CheckFile
|
||||
: echo "--- Scripts sourced ---"
|
||||
: scriptnames
|
||||
:endif
|
||||
:set all
|
||||
:set termcap
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim color file
|
||||
" Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua>
|
||||
" Last Change: 2002 Mar 09
|
||||
" Last Change: 2005 Mar 28
|
||||
|
||||
" darkblue -- for those who prefer dark background
|
||||
" [note: looks bit uglier with come terminal palettes,
|
||||
@@ -32,31 +32,31 @@ hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
|
||||
hi Question guifg=green gui=none ctermfg=green cterm=none
|
||||
hi NonText guifg=#0030ff ctermfg=darkblue
|
||||
|
||||
hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
|
||||
hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
|
||||
hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
|
||||
hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
|
||||
hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
|
||||
hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
|
||||
|
||||
hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
|
||||
hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
|
||||
hi LineNr guifg=#90f020 ctermfg=green cterm=none
|
||||
hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
|
||||
hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
|
||||
hi LineNr guifg=#90f020 ctermfg=green cterm=none
|
||||
|
||||
hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
|
||||
hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
|
||||
hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
|
||||
hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
|
||||
hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
|
||||
hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
|
||||
hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
|
||||
hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
|
||||
|
||||
hi Cursor guifg=#000020 guibg=#ffaf38 ctermfg=bg ctermbg=brown
|
||||
hi lCursor guifg=#ffffff guibg=#000000 ctermfg=bg ctermbg=darkgreen
|
||||
hi Cursor guifg=black guibg=yellow ctermfg=black ctermbg=yellow
|
||||
hi lCursor guifg=black guibg=white ctermfg=black ctermbg=white
|
||||
|
||||
|
||||
hi Comment guifg=#80a0ff ctermfg=darkred
|
||||
hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
|
||||
hi Special ctermfg=brown guifg=Orange cterm=none gui=none
|
||||
hi Identifier ctermfg=cyan guifg=#40ffff cterm=none
|
||||
hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
|
||||
hi PreProc ctermfg=magenta guifg=#ff80ff gui=none cterm=none
|
||||
hi type ctermfg=green guifg=#60ff60 gui=none cterm=none
|
||||
hi Underlined cterm=underline term=underline
|
||||
hi Ignore guifg=bg ctermfg=bg
|
||||
hi Comment guifg=#80a0ff ctermfg=darkred
|
||||
hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
|
||||
hi Special ctermfg=brown guifg=Orange cterm=none gui=none
|
||||
hi Identifier ctermfg=cyan guifg=#40ffff cterm=none
|
||||
hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
|
||||
hi PreProc ctermfg=magenta guifg=#ff80ff gui=none cterm=none
|
||||
hi type ctermfg=green guifg=#60ff60 gui=none cterm=none
|
||||
hi Underlined cterm=underline term=underline
|
||||
hi Ignore guifg=bg ctermfg=bg
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim Compiler File
|
||||
" Compiler: ant
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Change: Tue, 27 Apr 2004 15:01:45 CEST
|
||||
" Last Change: Mi, 13 Apr 2005 22:50:07 CEST
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -21,15 +21,15 @@ CompilerSet makeprg=ant
|
||||
" ant with jikes +E, which assumes the following
|
||||
" two property lines in your 'build.xml':
|
||||
"
|
||||
" <property name = "build.compiler" value = "jikes"/>
|
||||
" <property name = "build.compiler.emacs" value = "true"/>
|
||||
" <property name = "build.compiler" value = "jikes"/>
|
||||
" <property name = "build.compiler.emacs" value = "true"/>
|
||||
"
|
||||
" second line:
|
||||
" ant with javac
|
||||
"
|
||||
" note that this will work also for tasks like [wtkbuild]
|
||||
"
|
||||
setlocal errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m,
|
||||
CompilerSet errorformat=\ %#[%.%#]\ %#%f:%l:%v:%*\\d:%*\\d:\ %t%[%^:]%#:%m,
|
||||
\%A\ %#[%.%#]\ %f:%l:\ %m,%-Z\ %#[%.%#]\ %p^,%C\ %#[%.%#]\ %#%m
|
||||
|
||||
" ,%-C%.%#
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
" Vim compiler file
|
||||
" Compiler: BDF to PCF Conversion
|
||||
" Maintainer: Nikolai Weibull <sourc@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/compiler/pcp/bdf/
|
||||
" Latest Revision: 2004-05-22
|
||||
" arch-tag: 2e2f3a55-199b-468c-aa2e-d6b1a7b87806
|
||||
" Compiler: BDF to PCF Conversion
|
||||
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
|
||||
" Latest Revision: 2005-06-29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "bdf"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
@@ -26,5 +20,3 @@ CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sts=2 sw=2:
|
||||
|
||||
41
runtime/compiler/eruby.vim
Normal file
41
runtime/compiler/eruby.vim
Normal file
@@ -0,0 +1,41 @@
|
||||
" Vim compiler file
|
||||
" Language: eRuby
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "eruby"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
if exists("eruby_compiler") && eruby_compiler == "eruby"
|
||||
CompilerSet makeprg=eruby
|
||||
else
|
||||
CompilerSet makeprg=erb
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=
|
||||
\eruby:\ %f:%l:%m,
|
||||
\%+E%f:%l:\ parse\ error,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:in\ %*[^:]:\ %m,
|
||||
\%E%f:%l:\ %m,
|
||||
\%-C%\tfrom\ %f:%l:in\ %.%#,
|
||||
\%-Z%\tfrom\ %f:%l,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
|
||||
17
runtime/compiler/fpc.vim
Normal file
17
runtime/compiler/fpc.vim
Normal file
@@ -0,0 +1,17 @@
|
||||
" Vim compiler file
|
||||
" Compiler: FPC 2.1
|
||||
" Maintainer: Jaroslaw Blasiok <jaro3000@o2.pl>
|
||||
" Last Change: 2005 October 07
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "fpc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" NOTE: compiler must be runned with -vb to write whole source path, not only file
|
||||
" name.
|
||||
CompilerSet errorformat=%f(%l\\,%c)\ %m
|
||||
26
runtime/compiler/gcc.vim
Normal file
26
runtime/compiler/gcc.vim
Normal file
@@ -0,0 +1,26 @@
|
||||
" Vim compiler file
|
||||
" Compiler: GNU C Compiler
|
||||
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
|
||||
" Latest Revision: 2005-06-29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "gcc"
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
setlocal errorformat=
|
||||
\%*[^\"]\"%f\"%*\\D%l:\ %m,
|
||||
\\"%f\"%*\\D%l:\ %m,
|
||||
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
|
||||
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
|
||||
\%f:%l:\ %m,
|
||||
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
|
||||
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
|
||||
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
|
||||
\%DMaking\ %*\\a\ in\ %f
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
@@ -1,8 +1,8 @@
|
||||
" Vim compiler file
|
||||
" Compiler: HP aCC
|
||||
" Maintainer: Matthias Ulrich <matthias-ulrich@web.de>
|
||||
" URL: http://www.subhome.de/vim/hp_acc.vim
|
||||
" Last Change: 2004 Mar 27
|
||||
" URL: http://www.subhome.de/vim/hp_acc.vim
|
||||
" Last Change: 2005 Nov 19
|
||||
"
|
||||
" aCC --version says: "HP ANSI C++ B3910B A.03.13"
|
||||
" This compiler has been tested on:
|
||||
@@ -10,6 +10,10 @@
|
||||
"
|
||||
" Tim Brown's aCC is: "HP ANSI C++ B3910B A.03.33"
|
||||
" and it also works fine...
|
||||
"
|
||||
" Now suggestions by aCC are supported (compile flag aCC +w).
|
||||
" Thanks to Tim Brown again!!
|
||||
"
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@@ -21,6 +25,7 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
endif
|
||||
|
||||
CompilerSet errorformat=%A%trror\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m,
|
||||
\%A%tarning\ (suggestion)\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m\ %#,
|
||||
\%A%tarning\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m\ %#,
|
||||
\%Z\ \ \ \ %p^%.%#,
|
||||
\%-C%.%#
|
||||
|
||||
@@ -1,17 +1,13 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Miscrosoft Visual C
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2004 Mar 19
|
||||
" Last Change: 2005 Nov 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "msvc"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" The errorformat for MSVC is the default.
|
||||
CompilerSet errorformat&
|
||||
CompilerSet makeprg=nmake
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
" Vim compiler file
|
||||
" Compiler: reStructuredText Documentation Format
|
||||
" Maintainer: Nikolai Weibull <source@pcppopper.org>
|
||||
" URL: http://www.pcppopper.org/vim/compiler/pcp/rst/
|
||||
" Latest Revision: 2004-05-22
|
||||
" arch-tag: ac64a95a-5d45-493d-a9f9-f96fc8568657
|
||||
" Compiler: reStructuredText Documentation Format
|
||||
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
|
||||
" Latest Revision: 2005-06-29
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rst"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
@@ -29,5 +23,3 @@ CompilerSet errorformat=
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: set sts=2 sw=2:
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
" Vim compiler file
|
||||
" Compiler: Ruby syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timmy@cpan.org>
|
||||
" Last Change: Tue Jul 16 00:38:00 PDT 2002
|
||||
" Language: Ruby
|
||||
" Function: Syntax check and/or error reporting
|
||||
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Changelog:
|
||||
" 0.2: script saves and restores 'cpoptions' value to prevent problems with
|
||||
" line continuations
|
||||
" 0.1: initial release
|
||||
" 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>
|
||||
@@ -22,6 +26,7 @@
|
||||
" 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
|
||||
@@ -59,4 +64,4 @@ CompilerSet errorformat=
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: ft=vim
|
||||
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
|
||||
|
||||
35
runtime/compiler/rubyunit.vim
Normal file
35
runtime/compiler/rubyunit.vim
Normal file
@@ -0,0 +1,35 @@
|
||||
" Vim compiler file
|
||||
" Language: Test::Unit - Ruby Unit Testing Framework
|
||||
" Maintainer: Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
|
||||
" Info: $Id$
|
||||
" URL: http://vim-ruby.rubyforge.org
|
||||
" Anon CVS: See above site
|
||||
" ----------------------------------------------------------------------------
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "rubyunit"
|
||||
|
||||
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=testrb
|
||||
|
||||
CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:,
|
||||
\%C%m\ [%f:%l]:,
|
||||
\%E\ %\\+%\\d%\\+)\ Error:,
|
||||
\%C%m:,
|
||||
\%C\ \ \ \ %f:%l:%.%#,
|
||||
\%C%m,
|
||||
\%Z\ %#,
|
||||
\%-G%.%#
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
|
||||
@@ -2,7 +2,7 @@
|
||||
" Compiler: splint/lclint (C source code checker)
|
||||
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
" Splint Home: http://www.splint.org/
|
||||
" Last Change: 2004 Oct 02
|
||||
" Last Change: 2005 Apr 21
|
||||
" $Revision$
|
||||
|
||||
if exists("current_compiler")
|
||||
@@ -53,6 +53,7 @@ CompilerSet makeprg=splint\ %
|
||||
|
||||
CompilerSet errorformat=%OLCLint*m,
|
||||
\%OSplint*m,
|
||||
\%f(%l\\,%c):\ %m,
|
||||
\%*[\ ]%f:%l:%c:\ %m,
|
||||
\%*[\ ]%f:%l:\ %m,
|
||||
\%*[^\"]\"%f\"%*\\D%l:\ %m,
|
||||
|
||||
@@ -19,6 +19,7 @@ DOCS = \
|
||||
change.txt \
|
||||
cmdline.txt \
|
||||
debugger.txt \
|
||||
debug.txt \
|
||||
develop.txt \
|
||||
diff.txt \
|
||||
digraph.txt \
|
||||
@@ -68,10 +69,11 @@ DOCS = \
|
||||
os_vms.txt \
|
||||
os_win32.txt \
|
||||
pattern.txt \
|
||||
pi_expl.txt \
|
||||
pi_gzip.txt \
|
||||
pi_netrw.txt \
|
||||
pi_spec.txt \
|
||||
pi_tar.txt \
|
||||
pi_zip.txt \
|
||||
print.txt \
|
||||
quickfix.txt \
|
||||
quickref.txt \
|
||||
@@ -85,6 +87,7 @@ DOCS = \
|
||||
sign.txt \
|
||||
sponsor.txt \
|
||||
starting.txt \
|
||||
spell.txt \
|
||||
syntax.txt \
|
||||
tagsrch.txt \
|
||||
term.txt \
|
||||
@@ -139,6 +142,7 @@ HTMLS = \
|
||||
autocmd.html \
|
||||
change.html \
|
||||
cmdline.html \
|
||||
debug.html \
|
||||
debugger.html \
|
||||
develop.html \
|
||||
diff.html \
|
||||
@@ -189,7 +193,6 @@ HTMLS = \
|
||||
os_vms.html \
|
||||
os_win32.html \
|
||||
pattern.html \
|
||||
pi_expl.html \
|
||||
pi_gzip.html \
|
||||
pi_netrw.html \
|
||||
pi_spec.html \
|
||||
@@ -206,6 +209,7 @@ HTMLS = \
|
||||
sign.html \
|
||||
sponsor.html \
|
||||
starting.html \
|
||||
spell.html \
|
||||
syntax.html \
|
||||
tagsrch.html \
|
||||
tags.html \
|
||||
@@ -256,10 +260,27 @@ HTMLS = \
|
||||
windows.html \
|
||||
workshop.html
|
||||
|
||||
CONVERTED = \
|
||||
vim-fr.UTF-8.1 \
|
||||
evim-fr.UTF-8.1 \
|
||||
vimdiff-fr.UTF-8.1 \
|
||||
vimtutor-fr.UTF-8.1 \
|
||||
xxd-fr.UTF-8.1 \
|
||||
vim-it.UTF-8.1 \
|
||||
evim-it.UTF-8.1 \
|
||||
vimdiff-it.UTF-8.1 \
|
||||
vimtutor-it.UTF-8.1 \
|
||||
xxd-it.UTF-8.1 \
|
||||
vim-ru.UTF-8.1 \
|
||||
evim-ru.UTF-8.1 \
|
||||
vimdiff-ru.UTF-8.1 \
|
||||
vimtutor-ru.UTF-8.1 \
|
||||
xxd-ru.UTF-8.1 \
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .o .txt .html
|
||||
|
||||
all: tags vim.man vimdiff.man vimtutor.man xxd.man
|
||||
all: tags vim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
|
||||
|
||||
# Use Vim to generate the tags file. Can only be used when Vim has been
|
||||
# compiled and installed. Supports multiple languages.
|
||||
@@ -367,3 +388,48 @@ os_risc.txt:
|
||||
|
||||
os_win32.txt:
|
||||
touch os_win32.txt
|
||||
|
||||
vim-fr.UTF-8.1: vim-fr.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
evim-fr.UTF-8.1: evim-fr.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vimdiff-fr.UTF-8.1: vimdiff-fr.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vimtutor-fr.UTF-8.1: vimtutor-fr.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
xxd-fr.UTF-8.1: xxd-fr.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vim-it.UTF-8.1: vim-it.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
evim-it.UTF-8.1: evim-it.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vimdiff-it.UTF-8.1: vimdiff-it.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vimtutor-it.UTF-8.1: vimtutor-it.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
xxd-it.UTF-8.1: xxd-it.1
|
||||
iconv -f latin1 -t utf-8 $< >$@
|
||||
|
||||
vim-ru.UTF-8.1: vim-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
evim-ru.UTF-8.1: evim-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
vimdiff-ru.UTF-8.1: vimdiff-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
vimtutor-ru.UTF-8.1: vimtutor-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
xxd-ru.UTF-8.1: xxd-ru.1
|
||||
iconv -f KOI8-R -t utf-8 $< >$@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*arabic.txt* For Vim version 7.0aa. Last change: 2004 Jun 09
|
||||
*arabic.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Nadim Shaikli
|
||||
@@ -24,7 +24,7 @@ Introduction
|
||||
------------
|
||||
Arabic is a rather demanding language in which a number of special
|
||||
features are required. Characters are right-to-left oriented and
|
||||
ought to appear as such on the screen (ie. from right to left).
|
||||
ought to appear as such on the screen (i.e. from right to left).
|
||||
Arabic also requires shaping of its characters, meaning the same
|
||||
character has a different visual form based on its relative location
|
||||
within a word (initial, medial, final or stand-alone). Arabic also
|
||||
@@ -60,7 +60,7 @@ o Changing keyboard mapping and reverse insert modes using a single
|
||||
|
||||
o Toggling complete Arabic support via a single command.
|
||||
|
||||
o While in Arabic mode, numbers are entered from left to right. Upon
|
||||
o While in Arabic mode, numbers are entered from left to right. Upon
|
||||
entering a none number character, that character will be inserted
|
||||
just into the left of the last number.
|
||||
|
||||
@@ -101,14 +101,14 @@ need to be accounted for and invoked.
|
||||
|
||||
o Setting the Arabic fonts
|
||||
|
||||
+ For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done
|
||||
+ For VIM GUI set the 'guifont' to your_ARABIC_FONT. This is done
|
||||
by entering the following command in the VIM window.
|
||||
>
|
||||
:set guifont=your_ARABIC_FONT
|
||||
<
|
||||
NOTE: the string 'your_ARABIC_FONT' is used to denote a complete
|
||||
font name akin to that used in linux/unix system.
|
||||
(eg. -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1)
|
||||
font name akin to that used in Linux/Unix systems.
|
||||
(e.g. -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1)
|
||||
|
||||
You can append the 'guifont' set command to your .vimrc file
|
||||
in order to get the same above noted results. In other words,
|
||||
@@ -179,11 +179,11 @@ o Enable Arabic settings [short-cut]
|
||||
|
||||
If, on the other hand, you'd like to be verbose and explicit and
|
||||
are opting not to use the 'arabic' short-cut command, here's what
|
||||
is needed (ie. if you use ':set arabic' you can skip this section) -
|
||||
is needed (i.e. if you use ':set arabic' you can skip this section) -
|
||||
|
||||
+ Arabic Keymapping Activation
|
||||
|
||||
To activate the Arabic keymap (ie. to remap your English/Latin
|
||||
To activate the Arabic keymap (i.e. to remap your English/Latin
|
||||
keyboard to look-n-feel like a standard Arabic one), set the
|
||||
'keymap' command to "arabic". This is done by entering
|
||||
>
|
||||
@@ -197,14 +197,14 @@ o Enable Arabic settings [short-cut]
|
||||
default mapping (English), it is advised that users use the 'CTRL-^'
|
||||
key press while in insert (or add/replace) mode. The command-line
|
||||
will display your current mapping by displaying an "Arabic" string
|
||||
next to your insertion mode (eg. -- INSERT Arabic --) indicating
|
||||
next to your insertion mode (e.g. -- INSERT Arabic --) indicating
|
||||
your current keymap.
|
||||
|
||||
+ Arabic deletion of a combined pair character
|
||||
|
||||
By default VIM has the 'delcombine' option disabled. This option
|
||||
allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
|
||||
and still retain the LAM (ie. it reverts to treating the combined
|
||||
and still retain the LAM (i.e. it reverts to treating the combined
|
||||
character as its natural two characters form -- this also pertains
|
||||
to harakat and their combined forms). You can enable this option
|
||||
by entering
|
||||
@@ -227,7 +227,7 @@ o Enable Arabic settings [short-cut]
|
||||
- While in Left-to-right mode, enter ':set rl' in the command line
|
||||
('rl' is the abbreviation for rightleft).
|
||||
|
||||
- Put the ':set rl' line in your '.vimrc' file to start the VIM in
|
||||
- Put the ':set rl' line in your '.vimrc' file to start Vim in
|
||||
right-to-left mode permanently.
|
||||
|
||||
+ Arabic right-to-left command-line Mode
|
||||
@@ -295,7 +295,7 @@ Restrictions
|
||||
------------
|
||||
|
||||
o VIM in its GUI form does not currently support Bi-directionality
|
||||
(ie. the ability to see both Arabic and Latin intermixed within
|
||||
(i.e. the ability to see both Arabic and Latin intermixed within
|
||||
the same line).
|
||||
|
||||
|
||||
@@ -304,7 +304,7 @@ Known Bugs
|
||||
|
||||
There is one known minor bug,
|
||||
|
||||
1. If you insert a haraka (eg. Fatha (U+064E)) after a LAM (U+0644)
|
||||
1. If you insert a haraka (e.g. Fatha (U+064E)) after a LAM (U+0644)
|
||||
and then insert an ALEF (U+0627), the appropriate combining will
|
||||
not happen due to the sandwiched haraka resulting in something
|
||||
that will NOT be displayed correctly.
|
||||
@@ -320,4 +320,3 @@ There is one known minor bug,
|
||||
No other bugs are known to exist.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.0aa. Last change: 2004 Dec 24
|
||||
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Dec 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -18,6 +18,7 @@ For a basic explanation, see section |40.3| in the user manual.
|
||||
8. Groups |autocmd-groups|
|
||||
9. Executing autocommands |autocmd-execute|
|
||||
10. Using autocommands |autocmd-use|
|
||||
11. Disabling autocommands |autocmd-disable|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
{only when the |+autocmd| feature has not been disabled at compile time}
|
||||
@@ -155,378 +156,20 @@ argument behavior differs from that for defining and removing autocommands.
|
||||
In order to list buffer-local autocommands, use a pattern in the form <buffer>
|
||||
or <buffer=N>. See |autocmd-buflocal|.
|
||||
|
||||
*:autocmd-verbose*
|
||||
When 'verbose' is non-zero, listing an autocommand will also display where it
|
||||
was last defined. Example: >
|
||||
|
||||
:verbose autocmd BufEnter
|
||||
FileExplorer BufEnter
|
||||
* call s:LocalBrowse(expand("<amatch>"))
|
||||
Last set from /usr/share/vim/vim-7.0/plugin/NetrwPlugin.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
==============================================================================
|
||||
5. Events *autocmd-events* *E215* *E216*
|
||||
|
||||
*autocommand-events* *{event}*
|
||||
Vim recognizes the following events. Vim ignores the case of event names
|
||||
(e.g., you can use "BUFread" or "bufread" instead of "BufRead").
|
||||
|
||||
*BufNewFile*
|
||||
BufNewFile When starting to edit a file that doesn't
|
||||
exist. Can be used to read in a skeleton
|
||||
file.
|
||||
*BufReadPre* *E200* *E201*
|
||||
BufReadPre When starting to edit a new buffer, before
|
||||
reading the file into the buffer. Not used
|
||||
if the file doesn't exist.
|
||||
*BufRead* *BufReadPost*
|
||||
BufRead or BufReadPost When starting to edit a new buffer, after
|
||||
reading the file into the buffer, before
|
||||
executing the modelines. See |BufWinEnter|
|
||||
for when you need to do something after
|
||||
processing the modelines.
|
||||
This does NOT work for ":r file". Not used
|
||||
when the file doesn't exist. Also used after
|
||||
successfully recovering a file.
|
||||
*BufReadCmd*
|
||||
BufReadCmd Before starting to edit a new buffer. Should
|
||||
read the file into the buffer. |Cmd-event|
|
||||
*BufFilePre*
|
||||
BufFilePre Before changing the name of the current buffer
|
||||
with the ":file" or ":saveas" command.
|
||||
*BufFilePost*
|
||||
BufFilePost After changing the name of the current buffer
|
||||
with the ":file" or ":saveas" command.
|
||||
*FileReadPre*
|
||||
FileReadPre Before reading a file with a ":read" command.
|
||||
*FileReadPost*
|
||||
FileReadPost After reading a file with a ":read" command.
|
||||
Note that Vim sets the '[ and '] marks to the
|
||||
first and last line of the read. This can be
|
||||
used to operate on the lines just read.
|
||||
*FileReadCmd*
|
||||
FileReadCmd Before reading a file with a ":read" command.
|
||||
Should do the reading of the file. |Cmd-event|
|
||||
*FilterReadPre* *E135*
|
||||
FilterReadPre Before reading a file from a filter command.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer, not the name of the
|
||||
temporary file that is the output of the
|
||||
filter command.
|
||||
*FilterReadPost*
|
||||
FilterReadPost After reading a file from a filter command.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterReadPre.
|
||||
*FileType*
|
||||
FileType When the 'filetype' option has been set.
|
||||
<afile> can be used for the name of the file
|
||||
where this option was set, and <amatch> for
|
||||
the new value of 'filetype'.
|
||||
See |filetypes|.
|
||||
*Syntax*
|
||||
Syntax When the 'syntax' option has been set.
|
||||
<afile> can be used for the name of the file
|
||||
where this option was set, and <amatch> for
|
||||
the new value of 'syntax'.
|
||||
See |:syn-on|.
|
||||
*StdinReadPre*
|
||||
StdinReadPre Before reading from stdin into the buffer.
|
||||
Only used when the "-" argument was used when
|
||||
Vim was started |--|.
|
||||
*StdinReadPost*
|
||||
StdinReadPost After reading from the stdin into the buffer,
|
||||
before executing the modelines. Only used
|
||||
when the "-" argument was used when Vim was
|
||||
started |--|.
|
||||
*BufWrite* *BufWritePre*
|
||||
BufWrite or BufWritePre Before writing the whole buffer to a file.
|
||||
*BufWritePost*
|
||||
BufWritePost After writing the whole buffer to a file
|
||||
(should undo the commands for BufWritePre).
|
||||
*BufWriteCmd*
|
||||
BufWriteCmd Before writing the whole buffer to a file.
|
||||
Should do the writing of the file and reset
|
||||
'modified' if successful, unless '+' is in
|
||||
'cpo' and writing to another file |cpo-+|.
|
||||
The buffer contents should not be changed.
|
||||
|Cmd-event|
|
||||
*FileWritePre*
|
||||
FileWritePre Before writing to a file, when not writing the
|
||||
whole buffer. Use the '[ and '] marks for the
|
||||
range of lines.
|
||||
*FileWritePost*
|
||||
FileWritePost After writing to a file, when not writing the
|
||||
whole buffer.
|
||||
*FileWriteCmd*
|
||||
FileWriteCmd Before writing to a file, when not writing the
|
||||
whole buffer. Should do the writing to the
|
||||
file. Should not change the buffer. Use the
|
||||
'[ and '] marks for the range of lines.
|
||||
|Cmd-event|
|
||||
*FileAppendPre*
|
||||
FileAppendPre Before appending to a file. Use the '[ and ']
|
||||
marks for the range of lines.
|
||||
*FileAppendPost*
|
||||
FileAppendPost After appending to a file.
|
||||
*FileAppendCmd*
|
||||
FileAppendCmd Before appending to a file. Should do the
|
||||
appending to the file. Use the '[ and ']
|
||||
marks for the range of lines.|Cmd-event|
|
||||
*FilterWritePre*
|
||||
FilterWritePre Before writing a file for a filter command or
|
||||
making a diff.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer, not the name of the
|
||||
temporary file that is the output of the
|
||||
filter command.
|
||||
*FilterWritePost*
|
||||
FilterWritePost After writing a file for a filter command or
|
||||
making a diff.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterWritePre.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
Also when the file attributes of the file
|
||||
change. |timestamp|
|
||||
Mostly triggered after executing a shell
|
||||
command, but also with a |:checktime| command
|
||||
or when Vim regains input focus.
|
||||
This autocommand is triggered for each changed
|
||||
file. It is not used when 'autoread' is set
|
||||
and the buffer was not changed. If a
|
||||
FileChangedShell autocommand is present the
|
||||
warning message and prompt is not given.
|
||||
This is useful for reloading related buffers
|
||||
which are affected by a single command.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer that was changed "<afile>".
|
||||
NOTE: The commands must not change the current
|
||||
buffer, jump to another buffer or delete a
|
||||
buffer. *E246*
|
||||
NOTE: This event never nests, to avoid an
|
||||
endless loop. This means that while executing
|
||||
commands for the FileChangedShell event no
|
||||
other FileChangedShell event will be
|
||||
triggered.
|
||||
*FileChangedRO*
|
||||
FileChangedRO Before making the first change to a read-only
|
||||
file. Can be used to check-out the file from
|
||||
a source control system. Not triggered when
|
||||
the change was caused by an autocommand.
|
||||
WARNING: This event is triggered when making a
|
||||
change, just before the change is applied to
|
||||
the text. If the autocommand moves the cursor
|
||||
the effect of the change is undefined.
|
||||
*FocusGained*
|
||||
FocusGained When Vim got input focus. Only for the GUI
|
||||
version and a few console versions where this
|
||||
can be detected.
|
||||
*FocusLost*
|
||||
FocusLost When Vim lost input focus. Only for the GUI
|
||||
version and a few console versions where this
|
||||
can be detected. May also happen when a
|
||||
dialog pops up.
|
||||
*FuncUndefined*
|
||||
FuncUndefined When a user function is used but it isn't
|
||||
defined. Useful for defining a function only
|
||||
when it's used. Both <amatch> and <afile> are
|
||||
set to the name of the function.
|
||||
*CursorHold*
|
||||
CursorHold When the user doesn't press a key for the time
|
||||
specified with 'updatetime'. Not re-triggered
|
||||
until the user has pressed a key (i.e. doesn't
|
||||
fire every 'updatetime' ms if you leave Vim to
|
||||
make some coffee. :) See |CursorHold-example|
|
||||
for previewing tags.
|
||||
This event is only triggered in Normal mode.
|
||||
Note: Interactive commands cannot be used for
|
||||
this event. There is no hit-enter prompt,
|
||||
the screen is updated directly (when needed).
|
||||
Note: In the future there will probably be
|
||||
another option to set the time.
|
||||
Hint: to force an update of the status lines
|
||||
use: >
|
||||
:let &ro = &ro
|
||||
< {only on Amiga, Unix, Win32, MSDOS and all GUI
|
||||
versions}
|
||||
*BufEnter*
|
||||
BufEnter After entering a buffer. Useful for setting
|
||||
options for a file type. Also executed when
|
||||
starting to edit a buffer, after the
|
||||
BufReadPost autocommands.
|
||||
*BufLeave*
|
||||
BufLeave Before leaving to another buffer. Also when
|
||||
leaving or closing the current window and the
|
||||
new current window is not for the same buffer.
|
||||
Not used for ":qa" or ":q" when exiting Vim.
|
||||
*BufWinEnter*
|
||||
BufWinEnter After a buffer is displayed in a window. This
|
||||
can be when the buffer is loaded (after
|
||||
processing the modelines), when a hidden
|
||||
buffer is displayed in a window (and is no
|
||||
longer hidden) or a buffer already visible in
|
||||
a window is also displayed in another window.
|
||||
*BufWinLeave*
|
||||
BufWinLeave Before a buffer is removed from a window.
|
||||
Not when it's still visible in another window.
|
||||
Also triggered when exiting. It's triggered
|
||||
before BufUnload or BufHidden.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufUnload*
|
||||
BufUnload Before unloading a buffer. This is when the
|
||||
text in the buffer is going to be freed. This
|
||||
may be after a BufWritePost and before a
|
||||
BufDelete. Also used for all buffers that are
|
||||
loaded when Vim is going to exit.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufHidden*
|
||||
BufHidden Just after a buffer has become hidden. That
|
||||
is, when there are no longer windows that show
|
||||
the buffer, but the buffer is not unloaded or
|
||||
deleted. Not used for ":qa" or ":q" when
|
||||
exiting Vim.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufNew*
|
||||
BufNew Just after creating a new buffer. Also used
|
||||
just after a buffer has been renamed. When
|
||||
the buffer is added to the buffer list BufAdd
|
||||
will be triggered too.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being created "<afile>".
|
||||
*BufCreate* *BufAdd*
|
||||
BufAdd or BufCreate Just after creating a new buffer which is
|
||||
added to the buffer list, or adding a buffer
|
||||
to the buffer list.
|
||||
Also used just after a buffer in the buffer
|
||||
list has been renamed.
|
||||
The BufCreate event is for historic reasons.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being created "<afile>".
|
||||
*BufDelete*
|
||||
BufDelete Before deleting a buffer from the buffer list.
|
||||
The BufUnload may be called first (if the
|
||||
buffer was loaded).
|
||||
Also used just before a buffer in the buffer
|
||||
list is renamed.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being deleted "<afile>".
|
||||
*BufWipeout*
|
||||
BufWipeout Before completely deleting a buffer. The
|
||||
BufUnload and BufDelete events may be called
|
||||
first (if the buffer was loaded and was in the
|
||||
buffer list). Also used just before a buffer
|
||||
is renamed (also when it's not in the buffer
|
||||
list).
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being deleted "<afile>".
|
||||
*WinEnter*
|
||||
WinEnter After entering another window. Not done for
|
||||
the first window, when Vim has just started.
|
||||
Useful for setting the window height.
|
||||
If the window is for another buffer, Vim
|
||||
executes the BufEnter autocommands after the
|
||||
WinEnter autocommands.
|
||||
Note: When using ":split fname" the WinEnter
|
||||
event is triggered after the split but before
|
||||
the file "fname" is loaded.
|
||||
*WinLeave*
|
||||
WinLeave Before leaving a window. If the window to be
|
||||
entered next is for a different buffer, Vim
|
||||
executes the BufLeave autocommands before the
|
||||
WinLeave autocommands (but not for ":new").
|
||||
Not used for ":qa" or ":q" when exiting Vim.
|
||||
*CmdwinEnter*
|
||||
CmdwinEnter After entering the command-line window.
|
||||
Useful for setting options specifically for
|
||||
this special type of window. This is
|
||||
triggered _instead_ of BufEnter and WinEnter.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdwinLeave*
|
||||
CmdwinLeave Before leaving the command-line window.
|
||||
Useful to clean up any global setting done
|
||||
with CmdwinEnter. This is triggered _instead_
|
||||
of BufLeave and WinLeave.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*GUIEnter*
|
||||
GUIEnter After starting the GUI successfully, and after
|
||||
opening the window. It is triggered before
|
||||
VimEnter when using gvim. Can be used to
|
||||
position the window from a .gvimrc file: >
|
||||
:autocmd GUIEnter * winpos 100 50
|
||||
< *VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
arguments, creating all windows and loading
|
||||
the buffers in them.
|
||||
*VimLeavePre*
|
||||
VimLeavePre Before exiting Vim, just before writing the
|
||||
.viminfo file. This is executed only once,
|
||||
if there is a match with the name of what
|
||||
happens to be the current buffer when exiting.
|
||||
Mostly useful with a "*" pattern. >
|
||||
:autocmd VimLeavePre * call CleanupStuff()
|
||||
< To detect an abnormal exit use |v:dying|.
|
||||
*VimLeave*
|
||||
VimLeave Before exiting Vim, just after writing the
|
||||
.viminfo file. Executed only once, like
|
||||
VimLeavePre.
|
||||
To detect an abnormal exit use |v:dying|.
|
||||
*EncodingChanged*
|
||||
EncodingChanged Fires off when the 'encoding' option is
|
||||
changed. Useful to set up fonts, for example.
|
||||
*InsertEnter*
|
||||
InsertEnter When 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.
|
||||
*InsertChange*
|
||||
InsertChange When typing <Insert> while in Insert or
|
||||
Replace mode. The |v:insertmode| variable
|
||||
indicates the new mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|.
|
||||
*FileEncoding*
|
||||
FileEncoding Obsolete. It still works and is equivalent
|
||||
to |EncodingChanged|.
|
||||
*ColorScheme*
|
||||
ColorScheme After loading a color scheme. |:colorscheme|
|
||||
*RemoteReply*
|
||||
RemoteReply When a reply from a Vim that functions as
|
||||
server was received |server2client()|.
|
||||
<amatch> is equal to the {serverid} from which
|
||||
the reply was sent, and <afile> is the actual
|
||||
reply string.
|
||||
Note that even if an autocommand is defined,
|
||||
the reply should be read with |remote_read()|
|
||||
to consume it.
|
||||
*TermChanged*
|
||||
TermChanged After the value of 'term' has changed. Useful
|
||||
for re-loading the syntax file to update the
|
||||
colors, fonts and other terminal-dependent
|
||||
settings. Executed for all loaded buffers.
|
||||
*TermResponse*
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
can be used to do things depending on the
|
||||
terminal version.
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
|
||||
You can specify a comma-separated list of event names. No white space can be
|
||||
used in this list. The command applies to all the events in the list.
|
||||
|
||||
@@ -548,6 +191,543 @@ autocommands, this doesn't happen.
|
||||
|
||||
You can use the 'eventignore' option to ignore a number of events or all
|
||||
events.
|
||||
*autocommand-events* *{event}*
|
||||
Vim recognizes the following events. Vim ignores the case of event names
|
||||
(e.g., you can use "BUFread" or "bufread" instead of "BufRead").
|
||||
|
||||
First an overview by function with a short explanation. Then the list
|
||||
alpabetically with full explanations |autocmd-events-abc|.
|
||||
|
||||
Name triggered by ~
|
||||
|
||||
Reading
|
||||
|BufNewFile| starting to edit a file that doesn't exist
|
||||
|BufReadPre| starting to edit a new buffer, before reading the file
|
||||
|BufRead| starting to edit a new buffer, after reading the file
|
||||
|BufReadPost| starting to edit a new buffer, after reading the file
|
||||
|BufReadCmd| before starting to edit a new buffer |Cmd-event|
|
||||
|
||||
|FileReadPre| before reading a file with a ":read" command
|
||||
|FileReadPost| after reading a file with a ":read" command
|
||||
|FileReadCmd| before reading a file with a ":read" comman |Cmd-event|
|
||||
|
||||
|FilterReadPre| before reading a file from a filter command
|
||||
|FilterReadPost| after reading a file from a filter command
|
||||
|
||||
|StdinReadPre| before reading from stdin into the buffer
|
||||
|StdinReadPost| After reading from the stdin into the buffer
|
||||
|
||||
Writing
|
||||
|BufWrite| starting to write the whole buffer to a file
|
||||
|BufWritePre| starting to write the whole buffer to a file
|
||||
|BufWritePost| after writing the whole buffer to a file
|
||||
|BufWriteCmd| before writing the whole buffer to a file |Cmd-event|
|
||||
|
||||
|FileWritePre| starting to write part of a buffer to a file
|
||||
|FileWritePost| after writing part of a buffer to a file
|
||||
|FileWriteCmd| before writing part of a buffer to a file |Cmd-event|
|
||||
|
||||
|FileAppendPre| starting to append to a file
|
||||
|FileAppendPost| after appending to a file
|
||||
|FileAppendCmd| before appending to a file |Cmd-event|
|
||||
|
||||
|FilterWritePre| starting to write a file for a filter command or diff
|
||||
|FilterWritePost| after writing a file for a filter command or diff
|
||||
|
||||
Buffers
|
||||
|BufAdd| just after adding a buffer to the buffer list
|
||||
|BufCreate| just after adding a buffer to the buffer list
|
||||
|BufDelete| before deleting a buffer from the buffer list
|
||||
|BufWipeout| before completely deleting a buffer
|
||||
|
||||
|BufFilePre| before changing the name of the current buffer
|
||||
|BufFilePost| after changing the name of the current buffer
|
||||
|
||||
|BufEnter| after entering a buffer
|
||||
|BufLeave| before leaving to another buffer
|
||||
|BufWinEnter| after a buffer is displayed in a window
|
||||
|BufWinLeave| before a buffer is removed from a window
|
||||
|
||||
|BufUnload| before unloading a buffer
|
||||
|BufHidden| just after a buffer has become hidden
|
||||
|BufNew| just after creating a new buffer
|
||||
|
||||
|SwapExists| detected an existing swap file
|
||||
|
||||
Options
|
||||
|FileType| when the 'filetype' option has been set
|
||||
|Syntax| when the 'syntax' option has been set
|
||||
|EncodingChanged| after the 'encoding' option has been changed
|
||||
|TermChanged| after the value of 'term' has changed
|
||||
|
||||
Startup and exit
|
||||
|VimEnter| after doing all the startup stuff
|
||||
|GUIEnter| after starting the GUI successfully
|
||||
|TermResponse| after the termainal response to |t_RV| is received
|
||||
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
Various
|
||||
|FileChangedShell| Vim notices that a file changed since editing started
|
||||
|FileChangedRO| before making the first change to a read-only file
|
||||
|
||||
|FuncUndefined| a user function is used but it isn't defined
|
||||
|
||||
|FocusGained| Vim got input focus
|
||||
|FocusLost| Vim lost input focus
|
||||
|CursorHold| the user doesn't press a key for a while
|
||||
|
||||
|WinEnter| after entering another window
|
||||
|WinLeave| before leaving a window
|
||||
|CmdwinEnter| after entering the command-line window
|
||||
|CmdwinLeave| before leaving the command-line window
|
||||
|
||||
|InsertEnter| starting Insert mode
|
||||
|InsertChange| when typing <Insert> while in Insert or Replace mode
|
||||
|InsertLeave| when leaving Insert mode
|
||||
|
||||
|ColorScheme| after loading a color scheme
|
||||
|
||||
|RemoteReply| a reply from a server Vim was received
|
||||
|
||||
|QuickFixCmdPre| before a quickfix command is run
|
||||
|QuickFixCmdPost| after a quickfix command is run
|
||||
|
||||
|SessionLoadPost| after loading a session file
|
||||
|
||||
|MenuPopup| just before showing the popup menu
|
||||
|
||||
|User| to be used in combination with ":doautocmd"
|
||||
|
||||
|
||||
The alphabetical list of autocommand events: *autocmd-events-abc*
|
||||
|
||||
*BufCreate* *BufAdd*
|
||||
BufAdd or BufCreate Just after creating a new buffer which is
|
||||
added to the buffer list, or adding a buffer
|
||||
to the buffer list.
|
||||
Also used just after a buffer in the buffer
|
||||
list has been renamed.
|
||||
The BufCreate event is for historic reasons.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being created "<afile>".
|
||||
*BufDelete*
|
||||
BufDelete Before deleting a buffer from the buffer list.
|
||||
The BufUnload may be called first (if the
|
||||
buffer was loaded).
|
||||
Also used just before a buffer in the buffer
|
||||
list is renamed.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being deleted "<afile>".
|
||||
*BufEnter*
|
||||
BufEnter After entering a buffer. Useful for setting
|
||||
options for a file type. Also executed when
|
||||
starting to edit a buffer, after the
|
||||
BufReadPost autocommands.
|
||||
*BufFilePost*
|
||||
BufFilePost After changing the name of the current buffer
|
||||
with the ":file" or ":saveas" command.
|
||||
*BufReadCmd*
|
||||
BufFilePre Before changing the name of the current buffer
|
||||
with the ":file" or ":saveas" command.
|
||||
*BufHidden*
|
||||
BufHidden Just after a buffer has become hidden. That
|
||||
is, when there are no longer windows that show
|
||||
the buffer, but the buffer is not unloaded or
|
||||
deleted. Not used for ":qa" or ":q" when
|
||||
exiting Vim.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufLeave*
|
||||
BufLeave Before leaving to another buffer. Also when
|
||||
leaving or closing the current window and the
|
||||
new current window is not for the same buffer.
|
||||
Not used for ":qa" or ":q" when exiting Vim.
|
||||
*BufNew*
|
||||
BufNew Just after creating a new buffer. Also used
|
||||
just after a buffer has been renamed. When
|
||||
the buffer is added to the buffer list BufAdd
|
||||
will be triggered too.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being created "<afile>".
|
||||
*BufNewFile*
|
||||
BufNewFile When starting to edit a file that doesn't
|
||||
exist. Can be used to read in a skeleton
|
||||
file.
|
||||
*BufRead* *BufReadPost*
|
||||
BufRead or BufReadPost When starting to edit a new buffer, after
|
||||
reading the file into the buffer, before
|
||||
executing the modelines. See |BufWinEnter|
|
||||
for when you need to do something after
|
||||
processing the modelines.
|
||||
This does NOT work for ":r file". Not used
|
||||
when the file doesn't exist. Also used after
|
||||
successfully recovering a file.
|
||||
*BufReadPre* *E200* *E201*
|
||||
BufReadCmd Before starting to edit a new buffer. Should
|
||||
read the file into the buffer. |Cmd-event|
|
||||
*BufFilePre*
|
||||
BufReadPre When starting to edit a new buffer, before
|
||||
reading the file into the buffer. Not used
|
||||
if the file doesn't exist.
|
||||
*BufUnload*
|
||||
BufUnload Before unloading a buffer. This is when the
|
||||
text in the buffer is going to be freed. This
|
||||
may be after a BufWritePost and before a
|
||||
BufDelete. Also used for all buffers that are
|
||||
loaded when Vim is going to exit.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufWinEnter*
|
||||
BufWinEnter After a buffer is displayed in a window. This
|
||||
can be when the buffer is loaded (after
|
||||
processing the modelines), when a hidden
|
||||
buffer is displayed in a window (and is no
|
||||
longer hidden) or a buffer already visible in
|
||||
a window is also displayed in another window.
|
||||
*BufWinLeave*
|
||||
BufWinLeave Before a buffer is removed from a window.
|
||||
Not when it's still visible in another window.
|
||||
Also triggered when exiting. It's triggered
|
||||
before BufUnload or BufHidden.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being unloaded "<afile>".
|
||||
*BufWipeout*
|
||||
BufWipeout Before completely deleting a buffer. The
|
||||
BufUnload and BufDelete events may be called
|
||||
first (if the buffer was loaded and was in the
|
||||
buffer list). Also used just before a buffer
|
||||
is renamed (also when it's not in the buffer
|
||||
list).
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer being deleted "<afile>".
|
||||
*BufWrite* *BufWritePre*
|
||||
BufWrite or BufWritePre Before writing the whole buffer to a file.
|
||||
*BufWriteCmd*
|
||||
BufWriteCmd Before writing the whole buffer to a file.
|
||||
Should do the writing of the file and reset
|
||||
'modified' if successful, unless '+' is in
|
||||
'cpo' and writing to another file |cpo-+|.
|
||||
The buffer contents should not be changed.
|
||||
|Cmd-event|
|
||||
*BufWritePost*
|
||||
BufWritePost After writing the whole buffer to a file
|
||||
(should undo the commands for BufWritePre).
|
||||
*CmdwinEnter*
|
||||
CmdwinEnter After entering the command-line window.
|
||||
Useful for setting options specifically for
|
||||
this special type of window. This is
|
||||
triggered _instead_ of BufEnter and WinEnter.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdwinLeave*
|
||||
CmdwinLeave Before leaving the command-line window.
|
||||
Useful to clean up any global setting done
|
||||
with CmdwinEnter. This is triggered _instead_
|
||||
of BufLeave and WinLeave.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*ColorScheme*
|
||||
ColorScheme After loading a color scheme. |:colorscheme|
|
||||
*CursorHold*
|
||||
CursorHold When the user doesn't press a key for the time
|
||||
specified with 'updatetime'. Not re-triggered
|
||||
until the user has pressed a key (i.e. doesn't
|
||||
fire every 'updatetime' ms if you leave Vim to
|
||||
make some coffee. :) See |CursorHold-example|
|
||||
for previewing tags.
|
||||
This event is only triggered in Normal mode.
|
||||
Note: Interactive commands cannot be used for
|
||||
this event. There is no hit-enter prompt,
|
||||
the screen is updated directly (when needed).
|
||||
Note: In the future there will probably be
|
||||
another option to set the time.
|
||||
Hint: to force an update of the status lines
|
||||
use: >
|
||||
:let &ro = &ro
|
||||
< {only on Amiga, Unix, Win32, MSDOS and all GUI
|
||||
versions}
|
||||
*EncodingChanged*
|
||||
EncodingChanged Fires off after the 'encoding' option has been
|
||||
changed. Useful to set up fonts, for example.
|
||||
*FileAppendCmd*
|
||||
FileAppendCmd Before appending to a file. Should do the
|
||||
appending to the file. Use the '[ and ']
|
||||
marks for the range of lines.|Cmd-event|
|
||||
*FileAppendPost*
|
||||
FileAppendPost After appending to a file.
|
||||
*FileAppendPre*
|
||||
FileAppendPre Before appending to a file. Use the '[ and ']
|
||||
marks for the range of lines.
|
||||
*FileChangedRO*
|
||||
FileChangedRO Before making the first change to a read-only
|
||||
file. Can be used to check-out the file from
|
||||
a source control system. Not triggered when
|
||||
the change was caused by an autocommand.
|
||||
This event is triggered when making the first
|
||||
change in a buffer or the first change after
|
||||
'readonly' was set,
|
||||
just before the change is applied to the text.
|
||||
WARNING: If the autocommand moves the cursor
|
||||
the effect of the change is undefined.
|
||||
*FileChangedShell*
|
||||
FileChangedShell When Vim notices that the modification time of
|
||||
a file has changed since editing started.
|
||||
Also when the file attributes of the file
|
||||
change. |timestamp|
|
||||
Mostly triggered after executing a shell
|
||||
command, but also with a |:checktime| command
|
||||
or when Gvim regains input focus.
|
||||
This autocommand is triggered for each changed
|
||||
file. It is not used when 'autoread' is set
|
||||
and the buffer was not changed. If a
|
||||
FileChangedShell autocommand is present the
|
||||
warning message and prompt is not given.
|
||||
This is useful for reloading related buffers
|
||||
which are affected by a single command.
|
||||
The |v:fcs_reason| variable is set to indicate
|
||||
what happened and |v:fcs_choice| can be used
|
||||
to tell Vim what to do next.
|
||||
NOTE: When this autocommand is executed, the
|
||||
current buffer "%" may be different from the
|
||||
buffer that was changed "<afile>".
|
||||
NOTE: The commands must not change the current
|
||||
buffer, jump to another buffer or delete a
|
||||
buffer. *E246*
|
||||
NOTE: This event never nests, to avoid an
|
||||
endless loop. This means that while executing
|
||||
commands for the FileChangedShell event no
|
||||
other FileChangedShell event will be
|
||||
triggered.
|
||||
*FileEncoding*
|
||||
FileEncoding Obsolete. It still works and is equivalent
|
||||
to |EncodingChanged|.
|
||||
*FileReadCmd*
|
||||
FileReadCmd Before reading a file with a ":read" command.
|
||||
Should do the reading of the file. |Cmd-event|
|
||||
*FileReadPost*
|
||||
FileReadPost After reading a file with a ":read" command.
|
||||
Note that Vim sets the '[ and '] marks to the
|
||||
first and last line of the read. This can be
|
||||
used to operate on the lines just read.
|
||||
*FileReadPre*
|
||||
FileReadPre Before reading a file with a ":read" command.
|
||||
*FileType*
|
||||
FileType When the 'filetype' option has been set.
|
||||
<afile> can be used for the name of the file
|
||||
where this option was set, and <amatch> for
|
||||
the new value of 'filetype'.
|
||||
See |filetypes|.
|
||||
*FileWriteCmd*
|
||||
FileWriteCmd Before writing to a file, when not writing the
|
||||
whole buffer. Should do the writing to the
|
||||
file. Should not change the buffer. Use the
|
||||
'[ and '] marks for the range of lines.
|
||||
|Cmd-event|
|
||||
*FileWritePost*
|
||||
FileWritePost After writing to a file, when not writing the
|
||||
whole buffer.
|
||||
*FileWritePre*
|
||||
FileWritePre Before writing to a file, when not writing the
|
||||
whole buffer. Use the '[ and '] marks for the
|
||||
range of lines.
|
||||
*FilterReadPost*
|
||||
FilterReadPost After reading a file from a filter command.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterReadPre.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FilterReadPre* *E135*
|
||||
FilterReadPre Before reading a file from a filter command.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer, not the name of the
|
||||
temporary file that is the output of the
|
||||
filter command.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FilterWritePost*
|
||||
FilterWritePost After writing a file for a filter command or
|
||||
making a diff.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterWritePre.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FilterWritePre*
|
||||
FilterWritePre Before writing a file for a filter command or
|
||||
making a diff.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer, not the name of the
|
||||
temporary file that is the output of the
|
||||
filter command.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FocusGained*
|
||||
FocusGained When Vim got input focus. Only for the GUI
|
||||
version and a few console versions where this
|
||||
can be detected.
|
||||
*FocusLost*
|
||||
FocusLost When Vim lost input focus. Only for the GUI
|
||||
version and a few console versions where this
|
||||
can be detected. May also happen when a
|
||||
dialog pops up.
|
||||
*FuncUndefined*
|
||||
FuncUndefined When a user function is used but it isn't
|
||||
defined. Useful for defining a function only
|
||||
when it's used. Both <amatch> and <afile> are
|
||||
set to the name of the function.
|
||||
See |autoload-functions|.
|
||||
*GUIEnter*
|
||||
GUIEnter After starting the GUI successfully, and after
|
||||
opening the window. It is triggered before
|
||||
VimEnter when using gvim. Can be used to
|
||||
position the window from a .gvimrc file: >
|
||||
:autocmd GUIEnter * winpos 100 50
|
||||
< *InsertChange*
|
||||
InsertChange When typing <Insert> while in Insert or
|
||||
Replace mode. The |v:insertmode| variable
|
||||
indicates the new mode.
|
||||
Be careful not to move the cursor or do
|
||||
anything else that the user does not expect.
|
||||
*InsertEnter*
|
||||
InsertEnter When 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.
|
||||
*InsertLeave*
|
||||
InsertLeave When leaving Insert mode. Also when using
|
||||
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
|
||||
*MenuPopup*
|
||||
MenuPopup Just before showing the popup menu (under the
|
||||
right mouse button). Useful for adjusting the
|
||||
menu for what is under the cursor or mouse
|
||||
pointer.
|
||||
The pattern is matched against a single
|
||||
character representing the mode:
|
||||
n Normal
|
||||
v Visual
|
||||
o Operator-pending
|
||||
i Insert
|
||||
c Commmand line
|
||||
*QuickFixCmdPre*
|
||||
QuickFixCmdPre Before a quickfix command is run (|:make|,
|
||||
|:grep|, |:grepadd|, |:vimgrep|,
|
||||
|:vimgrepadd|). The pattern is matched against
|
||||
the command being run. When |:grep| is used
|
||||
but 'grepprg' is set to "internal" it still
|
||||
matches "grep".
|
||||
This command cannot be used to set the
|
||||
'makeprg' and 'grepprg' variables.
|
||||
If this command causes an error, the quickfix
|
||||
command is not executed.
|
||||
*QuickFixCmdPost*
|
||||
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
|
||||
command is run.
|
||||
*RemoteReply*
|
||||
RemoteReply When a reply from a Vim that functions as
|
||||
server was received |server2client()|.
|
||||
<amatch> is equal to the {serverid} from which
|
||||
the reply was sent, and <afile> is the actual
|
||||
reply string.
|
||||
Note that even if an autocommand is defined,
|
||||
the reply should be read with |remote_read()|
|
||||
to consume it.
|
||||
*SessionLoadPost*
|
||||
SessionLoadPost After loading the session file created using
|
||||
the |:mksession| command.
|
||||
*StdinReadPost*
|
||||
StdinReadPost After reading from the stdin into the buffer,
|
||||
before executing the modelines. Only used
|
||||
when the "-" argument was used when Vim was
|
||||
started |--|.
|
||||
*StdinReadPre*
|
||||
StdinReadPre Before reading from stdin into the buffer.
|
||||
Only used when the "-" argument was used when
|
||||
Vim was started |--|.
|
||||
*SwapExists*
|
||||
SwapExists Detected an existing swap file when starting
|
||||
to edit a file. Only when it is possible to
|
||||
select a way to handle the situation, when Vim
|
||||
would ask the user what to do.
|
||||
The |v:swapname| variable holds the name of
|
||||
the swap file found, <afile> the file being
|
||||
edited. |v:swapcommand| may contain a command
|
||||
to be executed in the opened file.
|
||||
The commands should set the |v:swapchoice|
|
||||
variable to a string with one character to
|
||||
tell Vim what should be done next:
|
||||
'o' open read-only
|
||||
'e' edit the file anyway
|
||||
'r' recover
|
||||
'd' delete the swap file
|
||||
'q' quit, don't edit the file
|
||||
'a' abort, like hitting CTRL-C
|
||||
When set to an empty string the user will be
|
||||
asked, as if there was no SwapExists autocmd.
|
||||
Note: Do not try to change the buffer, the
|
||||
results are unpredictable.
|
||||
*Syntax*
|
||||
Syntax When the 'syntax' option has been set.
|
||||
<afile> can be used for the name of the file
|
||||
where this option was set, and <amatch> for
|
||||
the new value of 'syntax'.
|
||||
See |:syn-on|.
|
||||
*TermChanged*
|
||||
TermChanged After the value of 'term' has changed. Useful
|
||||
for re-loading the syntax file to update the
|
||||
colors, fonts and other terminal-dependent
|
||||
settings. Executed for all loaded buffers.
|
||||
*TermResponse*
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
can be used to do things depending on the
|
||||
terminal version.
|
||||
*User*
|
||||
User Never executed automatically. To be used for
|
||||
autocommands that are only executed with
|
||||
":doautocmd".
|
||||
*UserGettingBored*
|
||||
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
|
||||
*VimEnter*
|
||||
VimEnter After doing all the startup stuff, including
|
||||
loading .vimrc files, executing the "-c cmd"
|
||||
arguments, creating all windows and loading
|
||||
the buffers in them.
|
||||
*VimLeave*
|
||||
VimLeave Before exiting Vim, just after writing the
|
||||
.viminfo file. Executed only once, like
|
||||
VimLeavePre.
|
||||
To detect an abnormal exit use |v:dying|.
|
||||
*VimLeavePre*
|
||||
VimLeavePre Before exiting Vim, just before writing the
|
||||
.viminfo file. This is executed only once,
|
||||
if there is a match with the name of what
|
||||
happens to be the current buffer when exiting.
|
||||
Mostly useful with a "*" pattern. >
|
||||
:autocmd VimLeavePre * call CleanupStuff()
|
||||
< To detect an abnormal exit use |v:dying|.
|
||||
*WinEnter*
|
||||
WinEnter After entering another window. Not done for
|
||||
the first window, when Vim has just started.
|
||||
Useful for setting the window height.
|
||||
If the window is for another buffer, Vim
|
||||
executes the BufEnter autocommands after the
|
||||
WinEnter autocommands.
|
||||
Note: When using ":split fname" the WinEnter
|
||||
event is triggered after the split but before
|
||||
the file "fname" is loaded.
|
||||
*WinLeave*
|
||||
WinLeave Before leaving a window. If the window to be
|
||||
entered next is for a different buffer, Vim
|
||||
executes the BufLeave autocommands before the
|
||||
WinLeave autocommands (but not for ":new").
|
||||
Not used for ":qa" or ":q" when exiting Vim.
|
||||
|
||||
==============================================================================
|
||||
6. Patterns *autocmd-patterns* *{pat}*
|
||||
@@ -765,6 +945,10 @@ option will not cause any commands to be executed.
|
||||
autocommands for that group. Note: if you use an
|
||||
undefined group name, Vim gives you an error message.
|
||||
|
||||
After applying the autocommands the modelines are
|
||||
processed, so that their overrule the settings from
|
||||
autocommands, like what happens when editing a file.
|
||||
|
||||
*:doautoa* *:doautoall*
|
||||
:doautoa[ll] [group] {event} [fname]
|
||||
Like ":doautocmd", but apply the autocommands to each
|
||||
@@ -871,10 +1055,8 @@ It's possible to use the ":au" command in an autocommand. This can be a
|
||||
self-modifying command! This can be useful for an autocommand that should
|
||||
execute only once.
|
||||
|
||||
There is currently no way to disable the autocommands. If you want to write a
|
||||
file without executing the autocommands for that type of file, write it under
|
||||
another name and rename it with a shell command. In some situations you can
|
||||
use the 'eventignore' option.
|
||||
If you want to skip autocommands for one command, use the |:noautocmd| command
|
||||
modifier or the 'eventignore' option.
|
||||
|
||||
Note: When reading a file (with ":read file" or with a filter command) and the
|
||||
last line in the file does not have an <EOL>, Vim remembers this. At the next
|
||||
@@ -991,5 +1173,22 @@ The |v:cmdbang| variable is one when "!" was used, zero otherwise.
|
||||
|
||||
See the $VIMRUNTIME/plugin/netrw.vim for examples.
|
||||
|
||||
==============================================================================
|
||||
11. Disabling autocommands *autocmd-disable*
|
||||
|
||||
To disable autocommands for some time use the 'eventignore' option. Note that
|
||||
this may cause unexpected behavior, make sure you restore 'eventignore'
|
||||
afterwards, using a |:try| block with |:finally|.
|
||||
|
||||
*:noautocmd* *:noa*
|
||||
To disable autocommands for just one command use the ":noautocmd" command
|
||||
modifier. This will set 'eventignore' to "all" for the duration of the
|
||||
following command. Example: >
|
||||
|
||||
:noautocmd w fname.gz
|
||||
|
||||
This will write the file without triggering the autocommands defined by the
|
||||
gzip plugin.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 7.0aa. Last change: 2005 Jan 14
|
||||
*change.txt* For Vim version 7.0aa. Last change: 2005 Dec 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -19,6 +19,7 @@ commands with the "." command.
|
||||
4.4 Changing tabs |change-tabs|
|
||||
5. Copying and moving text |copy-move|
|
||||
6. Formatting text |formatting|
|
||||
7. Sorting text |sorting|
|
||||
|
||||
For inserting text see |insert.txt|.
|
||||
|
||||
@@ -52,6 +53,8 @@ For inserting text see |insert.txt|.
|
||||
of the line and [count]-1 more lines [into register
|
||||
x]; synonym for "d$".
|
||||
(not |linewise|)
|
||||
When the '#' flag is in 'cpoptions' the count is
|
||||
ignored.
|
||||
|
||||
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
|
||||
{Visual}["x]d or
|
||||
@@ -110,19 +113,22 @@ gJ Join [count] lines, with a minimum of two lines.
|
||||
Vi}
|
||||
|
||||
*:j* *:join*
|
||||
:[range]j[oin][!] Join [range] lines. Same as "J", except with [!]
|
||||
:[range]j[oin][!] [flags]
|
||||
Join [range] lines. Same as "J", except with [!]
|
||||
the join does not insert or delete any spaces.
|
||||
If a [range] has equal start and end values, this
|
||||
command does nothing. The default behavior is to
|
||||
join the current line with the line below it.
|
||||
{not in Vi: !}
|
||||
See |ex-flags| for [flags].
|
||||
|
||||
:[range]j[oin][!] {count}
|
||||
:[range]j[oin][!] {count} [flags]
|
||||
Join {count} lines, starting with [range] (default:
|
||||
current line |cmdline-ranges|). Same as "J", except
|
||||
with [!] the join does not insert or delete any
|
||||
spaces.
|
||||
{not in Vi: !}
|
||||
See |ex-flags| for [flags].
|
||||
|
||||
These commands delete the <EOL> between lines. This has the effect of joining
|
||||
multiple lines into one line. You can repeat these commands (except ":j") and
|
||||
@@ -234,10 +240,12 @@ If you prefer "cw" to include the space after a word, use this mapping: >
|
||||
:map cw dwi
|
||||
<
|
||||
*:c* *:ch* *:change*
|
||||
:{range}c[hange] Replace lines of text with some different text.
|
||||
:{range}c[hange][!] Replace lines of text with some different text.
|
||||
Type a line containing only "." to stop replacing.
|
||||
Without {range}, this command changes only the current
|
||||
line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
|
||||
==============================================================================
|
||||
3. Simple changes *simple-change*
|
||||
@@ -422,12 +430,15 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
|
||||
lines to [indent] (default 0). {not in Vi}
|
||||
|
||||
*:>*
|
||||
:[range]> Shift {count} [range] lines one 'shiftwidth' right.
|
||||
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
|
||||
Repeat '>' for shifting multiple 'shiftwidth's.
|
||||
See |ex-flags| for [flags].
|
||||
|
||||
:[range]> {count} Shift {count} lines one 'shiftwidth' right, starting
|
||||
:[range]> {count} [flags]
|
||||
Shift {count} lines one 'shiftwidth' right, starting
|
||||
with [range] (default current line |cmdline-ranges|).
|
||||
Repeat '>' for shifting multiple 'shiftwidth's.
|
||||
See |ex-flags| for [flags].
|
||||
|
||||
The ">" and "<" commands are handy for changing the indentation within
|
||||
programs. Use the 'shiftwidth' option to set the size of the white space
|
||||
@@ -517,7 +528,7 @@ comment (starting with '"') after the ":!" command.
|
||||
|
||||
4.2 Substitute *:substitute*
|
||||
*:s* *:su*
|
||||
:[range]s[ubstitute]/{pattern}/{string}/[&][c][e][g][p][r][i][I] [count]
|
||||
:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
|
||||
For each line in [range] replace a match of {pattern}
|
||||
with {string}.
|
||||
For the {pattern} see |pattern|.
|
||||
@@ -529,31 +540,31 @@ comment (starting with '"') after the ":!" command.
|
||||
starting with the last line in [range]. When [range]
|
||||
is omitted start in the current line.
|
||||
Also see |cmdline-ranges|.
|
||||
See |:s_flags| for the flags.
|
||||
See |:s_flags| for [flags].
|
||||
|
||||
:[range]s[ubstitute] [c][e][g][p][r][i][I] [count]
|
||||
:[range]&[&][c][e][g][p][r][i][I] [count] *:&*
|
||||
:[range]s[ubstitute] [flags] [count]
|
||||
:[range]&[&][flags] [count] *:&*
|
||||
Repeat last :substitute with same search pattern and
|
||||
substitute string, but without the same flags. You
|
||||
may add extra flags (see |:s_flags|).
|
||||
may add [flags], see |:s_flags|.
|
||||
Note that after ":substitute" the '&' flag can't be
|
||||
used, it's recognized as a pattern separator.
|
||||
The space between ":substitute" and the 'c', 'g' and
|
||||
'r' flags isn't required, but in scripts it's a good
|
||||
idea to keep it to avoid confusion.
|
||||
|
||||
:[range]~[&][c][e][g][p][r][i][I] [count] *:~*
|
||||
:[range]~[&][flags] [count] *:~*
|
||||
Repeat last substitute with same substitute string
|
||||
but with last used search pattern. This is like
|
||||
":&r". See |:s_flags| for the flags.
|
||||
":&r". See |:s_flags| for [flags].
|
||||
|
||||
*&*
|
||||
*&*
|
||||
& Synonym for ":s//~/" (repeat last substitute). Note
|
||||
that the flags are not remembered, thus it might
|
||||
actually work differently. You can use ":&&" to keep
|
||||
the flags.
|
||||
|
||||
*g&*
|
||||
*g&*
|
||||
g& Synonym for ":%s//~/&" (repeat last substitute on all
|
||||
lines with the same flags).
|
||||
Mnemonic: global substitute. {not in Vi}
|
||||
@@ -619,8 +630,15 @@ The flags that you can use for the substitute commands:
|
||||
options are not used.
|
||||
{not in Vi}
|
||||
|
||||
[n] Report the number of matches, do not actually substitute. The [c]
|
||||
flag is ignored. The matches are reported as if 'report' is zero.
|
||||
Useful to |count-items|.
|
||||
|
||||
[p] Print the line containing the last substitute.
|
||||
{not in Vi}
|
||||
|
||||
[#] Like [p] and prepend the line number.
|
||||
|
||||
[l] Like [l] but print the text like |:list|.
|
||||
|
||||
[r] Only useful in combination with ":&" or ":s" without arguments. ":&r"
|
||||
works the same way as ":~": When the search pattern is empty, use the
|
||||
@@ -664,8 +682,11 @@ For the definition of a pattern, see |pattern|.
|
||||
|
||||
*sub-replace-special* *:s\=*
|
||||
When the {string} starts with "\=" it is evaluated as an expression, see
|
||||
|sub-replace-expression|. Otherwise these characters in {string} have a
|
||||
special meaning:
|
||||
|sub-replace-expression|. You can use that for any special characters.
|
||||
Otherwise these characters in {string} have a special meaning:
|
||||
*:s%*
|
||||
When {string} is equal to "%" and '/' is included with the 'cpotions' option,
|
||||
then the {string} of the previous substitute command is used. |cpo-/|
|
||||
|
||||
magic nomagic action ~
|
||||
& \& replaced with the whole matched pattern *s/\&*
|
||||
@@ -728,8 +749,8 @@ either the first or second pattern in parentheses did not match, so either
|
||||
<
|
||||
|
||||
Substitute with an expression *sub-replace-expression*
|
||||
|
||||
When the substitute string starts with "\=" the remainer is interpreted as an
|
||||
*sub-replace-\=*
|
||||
When the substitute string starts with "\=" the remainder is interpreted as an
|
||||
expression. This does not work recursively: a substitute() function inside
|
||||
the expression cannot use "\=" for the substitute string.
|
||||
|
||||
@@ -750,9 +771,12 @@ Be careful: The separation character must not appear in the expression!
|
||||
Consider using a character like "@" or ":". There is no problem if the result
|
||||
of the expression contains the separation character.
|
||||
|
||||
Example: >
|
||||
Examples: >
|
||||
:s@\n@\="\r" . expand("$HOME") . "\r"@
|
||||
This replaces an end-of-line with a new line containing the value of $HOME.
|
||||
This replaces an end-of-line with a new line containing the value of $HOME. >
|
||||
|
||||
s/E/\="\<Char-0x20ac>"/g
|
||||
This replaces 'E' characters with an euro sign. Read more in |<Char->|.
|
||||
|
||||
|
||||
4.3 Search and replace *search-replace*
|
||||
@@ -895,6 +919,8 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
current line). This always works |linewise|, thus
|
||||
this command can be used to put a yanked block as new
|
||||
lines.
|
||||
The cursor is left on the first non-blank in the last
|
||||
new line.
|
||||
The register can also be '=' followed by an optional
|
||||
expression. The expression continues until the end of
|
||||
the command. You need to escape the '|' and '"'
|
||||
@@ -944,9 +970,9 @@ When using a put command like |p| or |P| in Visual mode, Vim will try to
|
||||
replace the selected text with the contents of the register. Whether this
|
||||
works well depends on the type of selection and the type of the text in the
|
||||
register. With blockwise selection it also depends on the size of the block
|
||||
and whether the corners are on an existing character. (implementation detail:
|
||||
and whether the corners are on an existing character. (Implementation detail:
|
||||
it actually works by first putting the register after the selection and then
|
||||
deleting the selection).
|
||||
deleting the selection.)
|
||||
|
||||
*blockwise-register*
|
||||
If you use a blockwise Visual mode command to get the text into the register,
|
||||
@@ -1017,7 +1043,8 @@ except when the command specifies a register with ["x].
|
||||
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
|
||||
Vim fills these registers only when you say so. Specify them as lowercase
|
||||
letters to replace their previous contents or as uppercase letters to append
|
||||
to their previous contents.
|
||||
to their previous contents. When the '>' flag is present in 'cpoptions' then
|
||||
a line break is inserted before the appended text.
|
||||
|
||||
5. Read-only registers ":, "., "% and "#
|
||||
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
|
||||
@@ -1050,14 +1077,18 @@ normal command-line editing commands are available, including a special
|
||||
history for expressions. When you end the command-line by typing <CR>, Vim
|
||||
computes the result of the expression. If you end it with <Esc>, Vim abandons
|
||||
the expression. If you do not enter an expression, Vim uses the previous
|
||||
expression (like with the "/" command). If the "= register is used for the
|
||||
"p" command, the string is split up at <NL> characters. If the string ends in
|
||||
a <NL>, it is regarded as a linewise register. {not in Vi}
|
||||
expression (like with the "/" command). The expression must evaluate to a
|
||||
string. If the result is a number it's turned into a string. A List,
|
||||
Dictionary or FuncRef results in an error message (use string() to convert).
|
||||
If the "= register is used for the "p" command, the string is split up at <NL>
|
||||
characters. If the string ends in a <NL>, it is regarded as a linewise
|
||||
register. {not in Vi}
|
||||
|
||||
7. Selection and drop registers "*, "+ and "~
|
||||
Use these register for storing and retrieving the selected text for the GUI.
|
||||
See |quotestar| and |quoteplus|. When the clipboard is not available or not
|
||||
working, the unnamed register is used instead. {not in Vi}
|
||||
working, the unnamed register is used instead. For Unix systems the clipboard
|
||||
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
|
||||
|
||||
Note that there is only a distinction between "* and "+ for X11 systems. For
|
||||
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
|
||||
@@ -1134,13 +1165,17 @@ The next three commands always work on whole lines.
|
||||
compile time.
|
||||
|
||||
*gq*
|
||||
gq{motion} Format the lines that {motion} moves over. The
|
||||
'textwidth' option controls the length of each
|
||||
formatted line (see below). If the 'textwidth' option
|
||||
is 0, the formatted line length is the screen width
|
||||
(with a maximum width of 79). {not in Vi}
|
||||
gq{motion} Format the lines that {motion} moves over.
|
||||
If 'formatprg' is empty formatting is done internally
|
||||
and the 'textwidth' option controls the length of each
|
||||
formatted line (see below).
|
||||
If the 'textwidth' option is 0, the formatted line
|
||||
length is the screen width (with a maximum width of
|
||||
79). {not in Vi}
|
||||
The 'formatoptions' option controls the type of
|
||||
formatting |fo-table|.
|
||||
The cursor is left on the first non-blank of the last
|
||||
formatted line.
|
||||
NOTE: The "Q" command formerly performed this
|
||||
function. If you still want to use "Q" for
|
||||
formatting, use this mapping: >
|
||||
@@ -1392,7 +1427,7 @@ If the 'comments' option includes "/*", "*" and/or "*/", then Vim has some
|
||||
built in stuff to treat these types of comments a bit more cleverly.
|
||||
Opening a new line before or after "/*" or "*/" (with 'r' or 'o' present in
|
||||
'formatoptions') gives the correct start of the line automatically. The same
|
||||
happens with formatting and auto-wrapping. Opening a line after a line
|
||||
happens with formatting and auto-wrapping. Opening a line after a line
|
||||
starting with "/*" or "*" and containing "*/", will cause no comment leader to
|
||||
be inserted, and the indent of the new line is taken from the line containing
|
||||
the start of the comment.
|
||||
@@ -1452,5 +1487,57 @@ And a few warnings:
|
||||
|
||||
- Formatting a long paragraph and/or with complicated indenting may be slow.
|
||||
|
||||
==============================================================================
|
||||
7. Sorting text *sorting*
|
||||
|
||||
Vim has a sorting function and a sorting command. The sorting function can be
|
||||
found here: |sort()|.
|
||||
|
||||
*:sor* *:sort*
|
||||
:[range]sor[t][!] [i][u][n][x][o] [/{pattern}/]
|
||||
Sort lines in [range]. When no range is given all
|
||||
lines are sorted.
|
||||
|
||||
With [!] the order is reversed.
|
||||
|
||||
With [i] case is ignored.
|
||||
|
||||
With [n] sorting is done on the first decimal number
|
||||
in the line (after a {pattern} match).
|
||||
|
||||
With [x] sorting is done on the first hexadecimal
|
||||
number in the line (after a {pattern} match). A
|
||||
leading "0x" or "0X" is ignored.
|
||||
|
||||
With [o] sorting is done on the first octal number in
|
||||
the line (after a {pattern} match).
|
||||
|
||||
With [u] only keep the first of a sequence of
|
||||
identical lines (ignoring case when [i] is used).
|
||||
Note that leading and trailing white space may cause
|
||||
lines to be different.
|
||||
|
||||
When /{pattern}/ is specified the text matched with
|
||||
{pattern} is skipped, so that you sort on what comes
|
||||
after the match. For lines without a match sorting
|
||||
starts in the first column (e.g., for empty lines).
|
||||
Instead of the slash any non-letter can be used.
|
||||
For example, to sort on the second comma-separated
|
||||
field: >
|
||||
:sort /[^,]*,/
|
||||
< To sort on the text at virtual column 10 (thus
|
||||
ignoring the difference between tabs and spaces): >
|
||||
:sort /.*\%10v/
|
||||
<
|
||||
Note that using ":sort" with ":global" doesn't sort the matching lines, it's
|
||||
quite useless.
|
||||
|
||||
The details about sorting depend on the library function used. There is no
|
||||
guarantee that sorting is "stable" or obeys the current locale. You will have
|
||||
to try it out.
|
||||
|
||||
The sorting itself cannot be interrupted, because of using a system library
|
||||
function. You can interrupt the preparation (for undo) and putting the sorted
|
||||
lines into the buffer. In the last case you may end up with duplicated lines.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Jan 13
|
||||
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Nov 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -17,8 +17,9 @@ Basic command line editing is explained in chapter 20 of the user manual
|
||||
2. Command-line completion |cmdline-completion|
|
||||
3. Ex command-lines |cmdline-lines|
|
||||
4. Ex command-line ranges |cmdline-ranges|
|
||||
5. Ex special characters |cmdline-special|
|
||||
6. Command-line window |cmdline-window|
|
||||
5. Ex command-line flags |ex-flags|
|
||||
6. Ex special characters |cmdline-special|
|
||||
7. Command-line window |cmdline-window|
|
||||
|
||||
==============================================================================
|
||||
1. Command-line editing *cmdline-editing*
|
||||
@@ -152,6 +153,7 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
|
||||
*c_CTRL-R_=*
|
||||
'=' the expression register: you are prompted to
|
||||
enter an expression (see |expression|)
|
||||
(doesn't work at the expression prompt)
|
||||
See |registers| about registers. {not in Vi}
|
||||
Implementation detail: When using the |expression| register
|
||||
and invoking setcmdpos(), this sets the position before
|
||||
@@ -190,7 +192,8 @@ CTRL-\ e {expr} *c_CTRL-\_e*
|
||||
to finish it. It's most useful in mappings though. See
|
||||
|expression|.
|
||||
See |c_CTRL-R_=| for inserting the result of an expression.
|
||||
Useful functions are |getcmdline()| and |getcmdpos()|.
|
||||
Useful functions are |getcmdtype()|, |getcmdline()| and
|
||||
|getcmdpos()|.
|
||||
The cursor position is unchanged, except when the cursor was
|
||||
at the end of the line, then it stays at the end.
|
||||
|setcmdpos()| can be used to set the cursor position.
|
||||
@@ -202,7 +205,9 @@ CTRL-\ e {expr} *c_CTRL-\_e*
|
||||
:call setcmdpos(strlen(cmd))
|
||||
:return cmd
|
||||
:endfunc
|
||||
<
|
||||
< This doesn't work recursively, thus not when already editing
|
||||
an expression.
|
||||
|
||||
*c_CTRL-Y*
|
||||
CTRL-Y When there is a modeless selection, copy the selection into
|
||||
the clipboard. |modeless-selection|
|
||||
@@ -557,7 +562,7 @@ argument for the command, which has a different meaning. For example:
|
||||
"name"
|
||||
|
||||
==============================================================================
|
||||
4. Ex command-line ranges *cmdline-ranges* *[range]* *E16* *E493*
|
||||
4. Ex command-line ranges *cmdline-ranges* *[range]* *E16*
|
||||
|
||||
Some Ex commands accept a line range in front of them. This is noted as
|
||||
[range]. It consists of one or more line specifiers, separated with ',' or
|
||||
@@ -643,11 +648,15 @@ When folds are active the line numbers are rounded off to include the whole
|
||||
closed fold. See |fold-behavior|.
|
||||
|
||||
|
||||
Reverse Range
|
||||
Reverse Range *E493*
|
||||
|
||||
A range should have the lower line number first. If this is not the case, Vim
|
||||
will ask you if it should swap the line numbers. This is not done within the
|
||||
global command ":g".
|
||||
will ask you if it should swap the line numbers.
|
||||
Backwards range given, OK to swap ~
|
||||
This is not done within the global command ":g".
|
||||
|
||||
You can use ":silent" before a command to avoid the question, the range will
|
||||
always be swapped then.
|
||||
|
||||
|
||||
Count and Range *N:*
|
||||
@@ -668,7 +677,20 @@ Visual Mode and Range *v_:*
|
||||
lines.
|
||||
|
||||
==============================================================================
|
||||
5. Ex special characters *cmdline-special*
|
||||
5. Ex command-line flags *ex-flags*
|
||||
|
||||
These flags are supported by a selection of Ex commands. They print the line
|
||||
that the cursor ends up after executing the command:
|
||||
|
||||
l output like for |:list|
|
||||
# add line number
|
||||
p output like for |:print|
|
||||
|
||||
The flags can be combined, thus "l#" uses both a line number and |:list| style
|
||||
output.
|
||||
|
||||
==============================================================================
|
||||
6. Ex special characters *cmdline-special*
|
||||
|
||||
In Ex commands, at places where a file name can be used, the following
|
||||
characters have a special meaning. These can also be used in the expression
|
||||
@@ -712,7 +734,7 @@ Note: these are typed literally, they are not special keys!
|
||||
effective buffer number (for ":r file" it is the current
|
||||
buffer, the file being read is not in a buffer).
|
||||
<amatch> when executing autocommands, is replaced with the match for
|
||||
which this autocommand was executed. It differs form
|
||||
which this autocommand was executed. It differs from
|
||||
<afile> only when the file name isn't used to match with
|
||||
(for FileType and Syntax events).
|
||||
<sfile> when executing a ":source" command, is replaced with the
|
||||
|
||||
69
runtime/doc/debug.txt
Normal file
69
runtime/doc/debug.txt
Normal file
@@ -0,0 +1,69 @@
|
||||
*debug.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
|
||||
Debugging Vim *debug-vim*
|
||||
|
||||
This is for debugging Vim itself, when it doesn't work properly.
|
||||
|
||||
1. Location of a crash, using gcc and gdb |debug-gcc|
|
||||
2. Windows Bug Reporting |debug-win32|
|
||||
|
||||
==============================================================================
|
||||
|
||||
1. Location of a crash, using gcc and gdb *debug-gcc*
|
||||
|
||||
When Vim crashes in one of the test files, and you are using gcc for
|
||||
compilation, here is what you can do to find out exactly where Vim crashes.
|
||||
This also applies when using the MingW tools.
|
||||
|
||||
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
|
||||
which you can uncomment).
|
||||
|
||||
2. Execute these commands (replace "11" with the test that fails): >
|
||||
cd testdir
|
||||
gdb ../vim
|
||||
run -u unix.vim -U NONE -s dotest.in test11.in
|
||||
|
||||
3. Check where Vim crashes, gdb should give a message for this.
|
||||
|
||||
4. Get a stack trace from gdb with this command: >
|
||||
where
|
||||
< You can check out different places in the stack trace with: >
|
||||
frame 3
|
||||
< Replace "3" with one of the numbers in the stack trace.
|
||||
|
||||
==============================================================================
|
||||
|
||||
2. Windows Bug Reporting *debug-win32*
|
||||
|
||||
If the Windows version of Vim crashes in a reproducible manner,
|
||||
you can take some steps to provide a useful bug report.
|
||||
|
||||
First, you must obtain the debugger symbols (PDB) file for your executable:
|
||||
gvim.pdb for gvim.exe, or vim.pdb for vim.exe. It should be available
|
||||
from the same place that you obtained the executable. Be sure to use
|
||||
the PDB that matches the EXE.
|
||||
|
||||
If you built the executable yourself with the Microsoft Visual C++ compiler,
|
||||
then the PDB was built with the EXE.
|
||||
|
||||
You can download the Microsoft Visual C++ Toolkit from
|
||||
http://msdn.microsoft.com/visualc/vctoolkit2003/
|
||||
This contains the command-line tools, but not the Visual Studio IDE.
|
||||
|
||||
The Debugging Tools for Windows can be downloaded from
|
||||
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
|
||||
This includes the WinDbg debugger.
|
||||
|
||||
If you have Visual Studio, use that instead of the VC Toolkit
|
||||
and WinDbg.
|
||||
|
||||
|
||||
(No idea what to do if your binary was built with the Borland or Cygwin
|
||||
compilers. Sorry.)
|
||||
|
||||
=========================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
@@ -1,4 +1,4 @@
|
||||
*debugger.txt* For Vim version 7.0aa. Last change: 2001 Dec 22
|
||||
*debugger.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -27,19 +27,19 @@ Environment (IDE):
|
||||
|
||||
These features were added specifically for use in the Motif version of gvim.
|
||||
However, the |alt-input| and |debug-highlight| were written to be usable in
|
||||
both vim and gvim. Some of the other features could be used in the non-GUI
|
||||
vim with slight modifications. However, I did not do this nor did I test the
|
||||
both vim and gvim. Some of the other features could be used in the non-GUI
|
||||
vim with slight modifications. However, I did not do this nor did I test the
|
||||
reliability of building for vim or non Motif GUI versions.
|
||||
|
||||
|
||||
1.1 Alternate Command Input *alt-input*
|
||||
|
||||
For Vim to work with a debugger there must be at least an input connection
|
||||
with a debugger or external tool. In many cases there will also be an output
|
||||
with a debugger or external tool. In many cases there will also be an output
|
||||
connection but this isn't absolutely necessary.
|
||||
|
||||
The purpose of the input connection is to let the external debugger send
|
||||
commands to Vim. The commands sent by the debugger should give the debugger
|
||||
commands to Vim. The commands sent by the debugger should give the debugger
|
||||
enough control to display the current debug environment and state.
|
||||
|
||||
The current implementation is based on the X Toolkit dispatch loop and the
|
||||
@@ -49,15 +49,15 @@ XtAddInput() function call.
|
||||
1.2 Debug Signs *debug-signs*
|
||||
|
||||
Many debuggers mark specific lines by placing a small sign or color highlight
|
||||
on the line. The |:sign| command lets the debugger set this graphic mark. Some
|
||||
on the line. The |:sign| command lets the debugger set this graphic mark. Some
|
||||
examples where this feature would be used would be a debugger showing an arrow
|
||||
representing the Program Counter (PC) of the program being debugged. Another
|
||||
example would be a small stop sign for a line with a breakpoint. These visible
|
||||
representing the Program Counter (PC) of the program being debugged. Another
|
||||
example would be a small stop sign for a line with a breakpoint. These visible
|
||||
highlights let the user keep track of certain parts of the state of the
|
||||
debugger.
|
||||
|
||||
This feature can be used with more than debuggers, too. An IPE can use a sign
|
||||
to highlight build errors, searched text, or other things. The sign feature
|
||||
This feature can be used with more than debuggers, too. An IPE can use a sign
|
||||
to highlight build errors, searched text, or other things. The sign feature
|
||||
can also work together with the |debug-highlight| to ensure the mark is
|
||||
highly visible.
|
||||
|
||||
@@ -66,17 +66,17 @@ Debug signs are defined and placed using the |:sign| command.
|
||||
|
||||
1.3 Debug Source Highlight *debug-highlight*
|
||||
|
||||
This feature allows a line to have a predominant highlight. The highlight is
|
||||
intended to make a specific line stand out. The highlight could be made to
|
||||
This feature allows a line to have a predominant highlight. The highlight is
|
||||
intended to make a specific line stand out. The highlight could be made to
|
||||
work for both vim and gvim, whereas the debug sign is, in most cases, limited
|
||||
to gvim. The one exception to this is Sun Microsystem's dtterm. The dtterm
|
||||
to gvim. The one exception to this is Sun Microsystem's dtterm. The dtterm
|
||||
from Sun has a "sign gutter" for showing signs.
|
||||
|
||||
|
||||
1.4 Message Footer *gui-footer*
|
||||
|
||||
The message footer can be used to display messages from a debugger or IPE. It
|
||||
can also be used to display menu and toolbar tips. The footer area is at the
|
||||
The message footer can be used to display messages from a debugger or IPE. It
|
||||
can also be used to display menu and toolbar tips. The footer area is at the
|
||||
bottom of the GUI window, below the line used to display colon commands.
|
||||
|
||||
The display of the footer is controlled by the 'guioptions' letter 'F'.
|
||||
@@ -85,30 +85,33 @@ The display of the footer is controlled by the 'guioptions' letter 'F'.
|
||||
1.5 Balloon Evaluation *balloon-eval*
|
||||
|
||||
This feature allows a debugger, or other external tool, to display dynamic
|
||||
information based on where the mouse is pointing. The purpose of this feature
|
||||
information based on where the mouse is pointing. The purpose of this feature
|
||||
was to allow Sun's Visual WorkShop debugger to display expression evaluations.
|
||||
However, the feature was implemented in as general a manner as possible and
|
||||
could be used for displaying other information as well.
|
||||
|
||||
The Balloon Evaluation has some settable parameters too. The font list and
|
||||
colors can be set via X resources (XmNballoonEvalFontList,
|
||||
The Balloon Evaluation has some settable parameters too. For Motif the font
|
||||
list and colors can be set via X resources (XmNballoonEvalFontList,
|
||||
XmNballoonEvalBackground, and XmNballoonEvalForeground).
|
||||
The 'balloondelay' option sets the delay before an attempt is made to show a
|
||||
balloon.
|
||||
The 'ballooneval' option needs to be set to switch it on.
|
||||
|
||||
Balloon evaluation is only available when compiled with the |+balloon_eval|
|
||||
and |+sun_workshop| features.
|
||||
feature.
|
||||
|
||||
The Balloon evaluation functions are also used to show a tooltip for the
|
||||
toolbar. The 'ballooneval' option does not need to be set for this. But the
|
||||
other settings apply.
|
||||
|
||||
Another way to use the balloon is with the 'balloonexpr' option. This is
|
||||
completely user definable.
|
||||
|
||||
==============================================================================
|
||||
2. Vim Compile Options *debugger-compilation*
|
||||
|
||||
The debugger features were added explicitly for use with Sun's Visual
|
||||
WorkShop Integrated Programming Environment (ipe). However, they were done
|
||||
WorkShop Integrated Programming Environment (ipe). However, they were done
|
||||
in as generic a manner as possible so that integration with other debuggers
|
||||
could also use some or all of the tools used with Sun's ipe.
|
||||
|
||||
@@ -120,7 +123,7 @@ The following compile time preprocessor variables control the features:
|
||||
Message Footer FEAT_FOOTER
|
||||
Balloon Evaluation FEAT_BEVAL
|
||||
|
||||
The first integration with a full IPE/IDE was with Sun Visual WorkShop. To
|
||||
The first integration with a full IPE/IDE was with Sun Visual WorkShop. To
|
||||
compile a gvim which interfaces with VWS set the following flag, which sets
|
||||
all the above flags:
|
||||
|
||||
@@ -129,7 +132,9 @@ all the above flags:
|
||||
==============================================================================
|
||||
3. Integrated Debuggers *debugger-integration*
|
||||
|
||||
Currently the only fully integrated debugger/IPE/IDE is Sun's Visual WorkShop
|
||||
Integrated Programming Environment.
|
||||
One fully integrated debugger/IPE/IDE is Sun's Visual WorkShop Integrated
|
||||
Programming Environment.
|
||||
|
||||
For Sun NetBeans support see |netbeans|.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 7.0aa. Last change: 2004 Jan 17
|
||||
*develop.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -123,7 +123,8 @@ VIM IS... MAINTAINABLE *design-maintain*
|
||||
|
||||
- The source code should not become a mess. It should be reliable code.
|
||||
- Use the same layout in all files to make it easy to read |coding-style|.
|
||||
- Use comments in a useful way!
|
||||
- Use comments in a useful way! Quoting the function name and argument names
|
||||
is NOT useful. Do explain what they are for.
|
||||
- Porting to another platform should be made easy, without having to change
|
||||
too much platform-independent code.
|
||||
- Use the object-oriented spirit: Put data and code together. Minimize the
|
||||
@@ -237,8 +238,8 @@ get_env_value() Linux system function
|
||||
|
||||
VARIOUS *style-various*
|
||||
|
||||
Typedef'ed names should end in "_t": >
|
||||
typedef int some_t;
|
||||
Typedef'ed names should end in "_T": >
|
||||
typedef int some_T;
|
||||
Define'ed names should be uppercase: >
|
||||
#define SOME_THING
|
||||
Features always start with "FEAT_": >
|
||||
@@ -366,7 +367,37 @@ window View on a buffer. There can be several windows in Vim,
|
||||
fit in the shell.
|
||||
|
||||
|
||||
To be continued...
|
||||
Spell checking *develop-spell*
|
||||
|
||||
When spell checking was going to be added to Vim a survey was done over the
|
||||
available spell checking libraries and programs. Unfortunately, the result
|
||||
was that none of them provided sufficient capabilities to be used as the spell
|
||||
checking engine in Vim, for various reasons:
|
||||
|
||||
- Missing support for multi-byte encodings. At least UTF-8 must be supported,
|
||||
so that more than one language can be used in the same file.
|
||||
Doing on-the-fly conversion is not always possible (would require iconv
|
||||
support).
|
||||
- For the programs and libraries: Using them as-is would require installing
|
||||
them separately from Vim. That's mostly not impossible, but a drawback.
|
||||
- Performance: A few tests showed that it's possible to check spelling on the
|
||||
fly (while redrawing), just like syntax highlighting. But the mechanisms
|
||||
used by other code are much slower. Myspell uses a simplistic hashtable,
|
||||
for example.
|
||||
- For using an external program like aspell a communication mechanism would
|
||||
have to be setup. That's complicated to do in a portable way (Unix-only
|
||||
would be relatively simple, but that's not good enough). And performance
|
||||
will become a problem (lots of process switching involved).
|
||||
- Missing support for words with non-word characters, such as "Etten-Leur" and
|
||||
"et al.", would require marking the pieces of them OK, lowering the
|
||||
reliability.
|
||||
- Missing support for regions or dialects. Makes it difficult to accept
|
||||
all English words and highlight non-Canadian words differently.
|
||||
- Missing support for rare words. Many words are correct but hardly ever used
|
||||
and could be a misspelled often-used word.
|
||||
- For making suggestions the speed is less important and requiring to install
|
||||
another program or library would be acceptable. But the word lists probably
|
||||
differ, the suggestions may be wrong words.
|
||||
|
||||
==============================================================================
|
||||
4. Assumptions *design-assumptions*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.0aa. Last change: 2004 Jul 20
|
||||
*diff.txt* For Vim version 7.0aa. Last change: 2005 Sep 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -157,10 +157,12 @@ original file and diff with that. For example: >
|
||||
|
||||
A buffer that is unloaded cannot be used for the diff. But it does work for
|
||||
hidden buffers. You can use ":hide" to close a window without unloading the
|
||||
buffer.
|
||||
|
||||
buffer. If you don't want a buffer to remain used for the diff do ":set
|
||||
nodiff" before hiding it.
|
||||
|
||||
*:diffu* *:diffupdate*
|
||||
:diffu[pdate] Update the diff highlighting and folds.
|
||||
|
||||
Vim attempts to keep the differences updated when you make changes to the
|
||||
text. This mostly takes care of inserted and deleted lines. Changes within a
|
||||
line and more complicated changes do not cause the differences to be updated.
|
||||
@@ -216,7 +218,7 @@ It is an error if there is no change for the cursor to move to.
|
||||
|
||||
==============================================================================
|
||||
4. Diff copying *copy-diffs* *E99* *E100* *E101* *E102* *E103*
|
||||
|
||||
*merge*
|
||||
There are two commands to copy text from one buffer to another. The result is
|
||||
that the buffers will be equal within the specified range.
|
||||
|
||||
@@ -233,6 +235,8 @@ that the buffers will be equal within the specified range.
|
||||
Modify another buffer to undo difference with the current
|
||||
buffer. Just like ":diffget" but the other buffer is modified
|
||||
instead of the current one.
|
||||
When [bufspec] is omitted and there is more than one other
|
||||
buffer in diff mode where 'modifiable' is set this fails.
|
||||
See below for [range].
|
||||
|
||||
*do*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 7.0aa. Last change: 2004 Oct 07
|
||||
*digraph.txt* For Vim version 7.0aa. Last change: 2005 Sep 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -161,8 +161,14 @@ These are the RFC1345 digraphs for the one-byte characters. See the output of
|
||||
":digraphs" for the others. The characters above 255 are only available when
|
||||
Vim was compiled with the |+multi_byte| feature.
|
||||
|
||||
EURO
|
||||
|
||||
Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was
|
||||
added for this.
|
||||
added for this. Note the difference between latin1, where the digraph Cu is
|
||||
used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
|
||||
used for the euro sign, while both of them are the character 164, 0xa4. For
|
||||
compatibility with zsh Eu can also be used for the euro sign.
|
||||
|
||||
*digraph-table*
|
||||
char digraph hex dec official name ~
|
||||
^@ NU 0x00 0 NULL (NUL)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
*editing.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -46,7 +46,7 @@ However, the alternate file name is not changed when |:keepalt| is used.
|
||||
name. {not in Vi}
|
||||
|
||||
All file names are remembered in the buffer list. When you enter a file name,
|
||||
for editing (e.g., with ":e filename") or writing (e.g., with ":w file name"),
|
||||
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
|
||||
the file name is added to the list. You can use the buffer list to remember
|
||||
which files you edited and to quickly switch from one file to another (e.g.,
|
||||
to copy text) with the |CTRL-^| command. First type the number of the file
|
||||
@@ -54,12 +54,12 @@ and then hit CTRL-^. {Vi: only one alternate file name is remembered}
|
||||
|
||||
|
||||
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
|
||||
:f[ile] Prints the current file name (as typed), the
|
||||
cursor position (unless the 'ruler' option is set),
|
||||
and the file status (readonly, modified, read errors,
|
||||
new file). See the 'shortmess' option about how tho
|
||||
make this message shorter. {Vi does not include
|
||||
column number}
|
||||
:f[ile] Prints the current file name (as typed, unless ":cd"
|
||||
was used), the cursor position (unless the 'ruler'
|
||||
option is set), and the file status (readonly,
|
||||
modified, read errors, new file). See the 'shortmess'
|
||||
option about how to make this message shorter.
|
||||
{Vi does not include column number}
|
||||
|
||||
:f[ile]! like |:file|, but don't truncate the name even when
|
||||
'shortmess' indicates this.
|
||||
@@ -69,18 +69,21 @@ CTRL-G or *CTRL-G* *:f* *:fi* *:file*
|
||||
buffer number is also given. {not in Vi}
|
||||
|
||||
*g_CTRL-G* *word-count* *byte-count*
|
||||
g CTRL-G Prints the current position of the cursor in four
|
||||
ways: Column, Line, Word and Byte. If there are
|
||||
characters in the line that take more than one
|
||||
position on the screen (<Tab> or special character),
|
||||
both the "real" column and the screen column are
|
||||
shown, separated with a dash. See also 'ruler'
|
||||
option. {not in Vi}
|
||||
g CTRL-G Prints the current position of the cursor in five
|
||||
ways: Column, Line, Word, Character and Byte. If the
|
||||
number of Characters and Bytes is the same then the
|
||||
Character position is omitted.
|
||||
If there are characters in the line that take more
|
||||
than one position on the screen (<Tab> or special
|
||||
character), both the "real" column and the screen
|
||||
column are shown, separated with a dash.
|
||||
See also 'ruler' option. {not in Vi}
|
||||
|
||||
*v_g_CTRL-G*
|
||||
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Line, and Byte counts
|
||||
for the visually selected region are displayed. In
|
||||
Blockwise mode, Column count is also shown. (For
|
||||
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
|
||||
Byte counts for the visually selected region are
|
||||
displayed.
|
||||
In Blockwise mode, Column count is also shown. (For
|
||||
{Visual} see |Visual-mode|.)
|
||||
{not in VI}
|
||||
|
||||
@@ -90,7 +93,7 @@ g CTRL-G Prints the current position of the cursor in four
|
||||
If the buffer did have a name, that name becomes the
|
||||
|alternate-file| name. An unlisted buffer is created
|
||||
to hold the old name.
|
||||
|
||||
*:0file*
|
||||
:0f[ile][!] Remove the name of the current buffer. The optional !
|
||||
avoids truncating the message, as with |:file|. {not
|
||||
in Vi}
|
||||
@@ -351,14 +354,32 @@ file1 file2") embedded spaces must be escaped with a backslash.
|
||||
*wildcard*
|
||||
Wildcards in {file} are expanded. Which wildcards are supported depends on
|
||||
the system. These are the common ones:
|
||||
* matches anything, including nothing
|
||||
? matches one character
|
||||
* matches anything, including nothing
|
||||
** matches anything, including nothing, recurses into directories
|
||||
[abc] match 'a', 'b' or 'c'
|
||||
|
||||
To avoid the special meaning of the wildcards prepend a backslash. However,
|
||||
on MS-Windows the backslash is a path separator and "path\[abc]" is still seen
|
||||
as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
|
||||
is to use "path\[[]abc]". Then the file "path[abc]" literally.
|
||||
|
||||
*starstar-wildcard*
|
||||
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
|
||||
This allows searching a directory tree. This goes up to 100 directories deep.
|
||||
Example: >
|
||||
:n **/*.txt
|
||||
Finds files:
|
||||
ttt.txt
|
||||
subdir/ttt.txt
|
||||
a/b/c/d/ttt.txt
|
||||
When non-wildcard characters are used these are only matched in the first
|
||||
directory. Example: >
|
||||
:n /usr/inc**/*.h
|
||||
Finds files:
|
||||
/usr/include/types.h
|
||||
/usr/include/sys/types.h
|
||||
/usr/inc_old/types.h
|
||||
*backtick-expansion* *`-expansion*
|
||||
On Unix and a few other systems you can also use backticks in the file name,
|
||||
for example: >
|
||||
@@ -560,7 +581,9 @@ list of the current window.
|
||||
current entry.
|
||||
This command keeps the currently edited file, also
|
||||
when it's deleted from the argument list.
|
||||
{not in Vi} {not available when compiled without the
|
||||
Example: >
|
||||
:argdel *.obj
|
||||
< {not in Vi} {not available when compiled without the
|
||||
|+listcmds| feature}
|
||||
|
||||
:{range}argd[elete] Delete the {range} files from the argument list.
|
||||
@@ -907,8 +930,8 @@ if the system allows it (the directory must be writable).
|
||||
*write-fail*
|
||||
If the writing of the new file fails, you have to be careful not to lose
|
||||
your changes AND the original file. If there is no backup file and writing
|
||||
the new file failed, you have already lost the original file! DON'T EXIT VIM
|
||||
UNTIL YOU WRITE OUT THE FILE! If a backup was made, it is put back in place
|
||||
the new file failed, you have already lost the original file! DON'T EXIT VIM
|
||||
UNTIL YOU WRITE OUT THE FILE! If a backup was made, it is put back in place
|
||||
of the original file (if possible). If you exit Vim, and lose the changes
|
||||
you made, the original file will mostly still be there. If putting back the
|
||||
original file fails, there will be an error message telling you that you
|
||||
@@ -1140,13 +1163,16 @@ You may use the |:cd| and |:lcd| commands to change to another directory, so
|
||||
you will not have to type that directory name in front of the file names. It
|
||||
also makes a difference for executing external commands, e.g. ":!ls".
|
||||
|
||||
Changing directory fails when the current buffer is modified, the '.' flag is
|
||||
present in 'cpoptions' and "!" is not used in the command.
|
||||
|
||||
*:cd* *E472*
|
||||
:cd On non-Unix systems: Print the current directory
|
||||
:cd[!] On non-Unix systems: Print the current directory
|
||||
name. On Unix systems: Change the current directory
|
||||
to the home directory. Use |:pwd| to print the
|
||||
current directory on all systems.
|
||||
|
||||
:cd {path} Change the current directory to {path}.
|
||||
:cd[!] {path} Change the current directory to {path}.
|
||||
If {path} is relative, it is searched for in the
|
||||
directories listed in |'cdpath'|.
|
||||
Does not change the meaning of an already opened file,
|
||||
@@ -1157,19 +1183,19 @@ also makes a difference for executing external commands, e.g. ":!ls".
|
||||
:cd %:h
|
||||
<
|
||||
*:cd-* *E186*
|
||||
:cd - Change to the previous current directory (before the
|
||||
:cd[!] - Change to the previous current directory (before the
|
||||
previous ":cd {path}" command). {not in Vi}
|
||||
|
||||
*:chd* *:chdir*
|
||||
:chd[ir] [path] Same as |:cd|.
|
||||
:chd[ir][!] [path] Same as |:cd|.
|
||||
|
||||
*:lc* *:lcd*
|
||||
:lc[d] {path} Like |:cd|, but only set the current directory for the
|
||||
:lc[d][!] {path} Like |:cd|, but only set the current directory for the
|
||||
current window. The current directory for other
|
||||
windows is not changed. {not in Vi}
|
||||
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir] Same as |:lcd|. {not in Vi}
|
||||
:lch[dir][!] Same as |:lcd|. {not in Vi}
|
||||
|
||||
*:pw* *:pwd* *E187*
|
||||
:pw[d] Print the current directory name. {Vi: no pwd}
|
||||
@@ -1328,9 +1354,9 @@ file though, only when the file wasn't changed inside of Vim.
|
||||
Note that if a FileChangedShell autocommand is defined you will not get a
|
||||
warning message or prompt. The autocommand is expected to handle this.
|
||||
|
||||
There is no warning for a directory (e.g., in the |file-explorer|). But you
|
||||
do get warned if you started editing a new file and it was created as a
|
||||
directory later.
|
||||
There is no warning for a directory (e.g., with |netrw-browse|). But you do
|
||||
get warned if you started editing a new file and it was created as a directory
|
||||
later.
|
||||
|
||||
When Vim notices the timestamp of a file has changed, and the file is being
|
||||
edited in a buffer but has not changed, Vim checks if the contents of the file
|
||||
@@ -1385,6 +1411,11 @@ It is also possible that you modified the file yourself, from another edit
|
||||
session or with another command (e.g., a filter command). Then you will know
|
||||
which version of the file you want to keep.
|
||||
|
||||
There is one situation where you get the message while there is nothing wrong:
|
||||
On a Win32 system on the day daylight saving time starts. There is something
|
||||
in the Win32 libraries that confuses Vim about the hour time difference. The
|
||||
problem goes away the next day.
|
||||
|
||||
==============================================================================
|
||||
11. File Searching *file-searching*
|
||||
|
||||
@@ -1393,9 +1424,9 @@ which version of the file you want to keep.
|
||||
The file searching is currently used for the 'path', 'cdpath' and 'tags'
|
||||
options. There are three different types of searching:
|
||||
|
||||
1) Downward search:
|
||||
1) Downward search: *starstar*
|
||||
Downward search uses the wildcards '*', '**' and possibly others
|
||||
supported by your operating system. '*' and '**' are handled inside Vim, so
|
||||
supported by your operating system. '*' and '**' are handled inside Vim, so
|
||||
they work on all operating systems.
|
||||
|
||||
The usage of '*' is quite simple: It matches 0 or more characters.
|
||||
@@ -1429,10 +1460,10 @@ options. There are three different types of searching:
|
||||
|
||||
2) Upward search:
|
||||
Here you can give a directory and then search the directory tree upward for
|
||||
a file. You could give stop-directories to limit the upward search. The
|
||||
a file. You could give stop-directories to limit the upward search. The
|
||||
stop-directories are appended to the path (for the 'path' option) or to
|
||||
the filename (for the 'tags' option) with a ';'. If you want several
|
||||
stop-directories separate them with ';'. If you want no stop-directory
|
||||
the filename (for the 'tags' option) with a ';'. If you want several
|
||||
stop-directories separate them with ';'. If you want no stop-directory
|
||||
("search upward till the root directory) just use ';'. >
|
||||
/usr/include/sys;/usr
|
||||
< will search in: >
|
||||
@@ -1451,7 +1482,7 @@ options. There are three different types of searching:
|
||||
/u/user_x/work/include
|
||||
/u/user_x/include
|
||||
|
||||
3) Combined up/downward search
|
||||
3) Combined up/downward search:
|
||||
If Vim's current path is /u/user_x/work/release and you do >
|
||||
set path=**;/u/user_x
|
||||
< and then search for a file with |gf| the file is searched in: >
|
||||
@@ -1459,10 +1490,10 @@ options. There are three different types of searching:
|
||||
/u/user_x/work/**
|
||||
/u/user_x/**
|
||||
<
|
||||
BE CAREFUL! This might consume a lot of time, as the search of
|
||||
BE CAREFUL! This might consume a lot of time, as the search of
|
||||
'/u/user_x/**' includes '/u/user_x/work/**' and
|
||||
'/u/user_x/work/release/**'. So '/u/user_x/work/release/**' is searched
|
||||
three and '/u/user_x/work/**' is searched two times.
|
||||
three times and '/u/user_x/work/**' is searched twice.
|
||||
|
||||
In the above example you might want to set path to: >
|
||||
:set path=**,/u/user_x/**
|
||||
|
||||
1254
runtime/doc/eval.txt
1254
runtime/doc/eval.txt
File diff suppressed because it is too large
Load Diff
56
runtime/doc/evim-fr.1
Normal file
56
runtime/doc/evim-fr.1
Normal file
@@ -0,0 +1,56 @@
|
||||
.TH EVIM 1 "16 f<>vrier 2002 February 16"
|
||||
.SH NAME
|
||||
evim \- <20> Easy Vim <20>, <20>dite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.B evim
|
||||
[options] [fichier ...]
|
||||
.br
|
||||
.B eview
|
||||
.SH DESCRIPTION
|
||||
.B eVim
|
||||
lance
|
||||
.B Vim
|
||||
et configure ses options afin qu'il se comporte comme un <20>diteur sans mode.
|
||||
Cela reste Vim, mais vous pouvez l'utiliser comme un <20>diteur <20> cliquer-taper <20>.
|
||||
Cela ressemble beaucoup <20> l'<27>dition avec Notepad sur MS-Windows.
|
||||
.B eVim
|
||||
ne fonctionne qu'avec l'interface graphique, qui est n<>cessaire pour permettre
|
||||
l'utilisation des menus et de la barre d'outils.
|
||||
.PP
|
||||
Il n'est utile qu'aux personnes qui ne parviennent vraiment pas <20> utiliser Vim
|
||||
de fa<66>on traditionnelle. L'<27>dition est alors bien moins efficace.
|
||||
.PP
|
||||
.B eview
|
||||
fait la m<>me chose, mais d<>marre Vim en mode Lecture-seule.
|
||||
Cela revient <20> lancer evim \-R.
|
||||
.PP
|
||||
Voir vim(1) pour davantage d'informations sur Vim, les options, etc.
|
||||
.PP
|
||||
L'option 'insertmode' est activ<69>e pour permettre de taper directement du texte.
|
||||
.br
|
||||
Les mappages sont configur<75>s pour que Copier et Coller fonctionnent avec les
|
||||
raccourcis habituels de MS-Windows. CTRL-X coupe le texte, CTRL-C copie le
|
||||
texte et CTRL-V colle le texte.
|
||||
Vous pouvez utiliser CTRL-Q pour obtenir la fonction originale de CTRL-V.
|
||||
.SH OPTIONS
|
||||
Voir vim(1).
|
||||
.SH FICHIERS
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
Le script charg<72> pour initialiser eVim.
|
||||
.SH AUSSI CONNU SOUS
|
||||
<EFBFBD>galement connu sous le nom <20> Vim pour gumbies <20> [N.D.T. : Flying Circus...].
|
||||
Quand vous utilisez eVim, vous <20>tes cens<6E> prendre un mouchoir de poche,
|
||||
faire un noeud <20> chaque coin et le porter sur votre t<>te.
|
||||
.SH VOIR AUSSI
|
||||
vim(1)
|
||||
.SH AUTEUR
|
||||
La majeure partie de
|
||||
.B Vim
|
||||
a <20>t<EFBFBD> <20>crite par Bram Moolenaar, avec l'aide de nombreux autres contributeurs.
|
||||
Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.B Vim.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a <20>t<EFBFBD> traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
56
runtime/doc/evim-fr.UTF-8.1
Normal file
56
runtime/doc/evim-fr.UTF-8.1
Normal file
@@ -0,0 +1,56 @@
|
||||
.TH EVIM 1 "16 février 2002 February 16"
|
||||
.SH NAME
|
||||
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
|
||||
.SH SYNOPSIS
|
||||
.br
|
||||
.B evim
|
||||
[options] [fichier ...]
|
||||
.br
|
||||
.B eview
|
||||
.SH DESCRIPTION
|
||||
.B eVim
|
||||
lance
|
||||
.B Vim
|
||||
et configure ses options afin qu'il se comporte comme un éditeur sans mode.
|
||||
Cela reste Vim, mais vous pouvez l'utiliser comme un éditeur « cliquer-taper ».
|
||||
Cela ressemble beaucoup à l'édition avec Notepad sur MS-Windows.
|
||||
.B eVim
|
||||
ne fonctionne qu'avec l'interface graphique, qui est nécessaire pour permettre
|
||||
l'utilisation des menus et de la barre d'outils.
|
||||
.PP
|
||||
Il n'est utile qu'aux personnes qui ne parviennent vraiment pas à utiliser Vim
|
||||
de façon traditionnelle. L'édition est alors bien moins efficace.
|
||||
.PP
|
||||
.B eview
|
||||
fait la même chose, mais démarre Vim en mode Lecture-seule.
|
||||
Cela revient à lancer evim \-R.
|
||||
.PP
|
||||
Voir vim(1) pour davantage d'informations sur Vim, les options, etc.
|
||||
.PP
|
||||
L'option 'insertmode' est activée pour permettre de taper directement du texte.
|
||||
.br
|
||||
Les mappages sont configurés pour que Copier et Coller fonctionnent avec les
|
||||
raccourcis habituels de MS-Windows. CTRL-X coupe le texte, CTRL-C copie le
|
||||
texte et CTRL-V colle le texte.
|
||||
Vous pouvez utiliser CTRL-Q pour obtenir la fonction originale de CTRL-V.
|
||||
.SH OPTIONS
|
||||
Voir vim(1).
|
||||
.SH FICHIERS
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
Le script chargé pour initialiser eVim.
|
||||
.SH AUSSI CONNU SOUS
|
||||
Également connu sous le nom « Vim pour gumbies » [N.D.T. : Flying Circus...].
|
||||
Quand vous utilisez eVim, vous êtes censé prendre un mouchoir de poche,
|
||||
faire un noeud à chaque coin et le porter sur votre tête.
|
||||
.SH VOIR AUSSI
|
||||
vim(1)
|
||||
.SH AUTEUR
|
||||
La majeure partie de
|
||||
.B Vim
|
||||
a été écrite par Bram Moolenaar, avec l'aide de nombreux autres contributeurs.
|
||||
Voir le menu Aide/Remerciements ou ":help credits" dans
|
||||
.B Vim.
|
||||
.SH TRADUCTION
|
||||
Cette page de manuel a été traduite David Blanchet.
|
||||
<david.blanchet@free.fr> 2005-03-26.
|
||||
@@ -25,7 +25,7 @@ maniera usuale.
|
||||
La modifica file sar<61> molto meno efficiente.
|
||||
.PP
|
||||
.B eview
|
||||
come sopra, ma parte in modalit<69> "Sola Lettura". Funziona come evim -R.
|
||||
come sopra, ma parte in modalit<69> "Sola Lettura". Funziona come evim \-R.
|
||||
.PP
|
||||
Vedere vim(1) per dettagli riguardo a Vim, opzioni, etc.
|
||||
.PP
|
||||
|
||||
54
runtime/doc/evim-it.UTF-8.1
Normal file
54
runtime/doc/evim-it.UTF-8.1
Normal file
@@ -0,0 +1,54 @@
|
||||
.TH EVIM 1 "16 febbraio 2002 "
|
||||
.SH NOME
|
||||
evim \- Vim "facile", Vim impostato in modo da poter essere usato
|
||||
facilmente per modificare file, anche da chi non abbia familiarità
|
||||
con i comandi.
|
||||
.SH SINTASSI
|
||||
.br
|
||||
.B evim
|
||||
[opzioni] [file ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH DESCRIZIONE
|
||||
.B evim
|
||||
Inizia
|
||||
.B Vim
|
||||
e imposta le opzioni per farlo comportare come un editore "modeless".
|
||||
State sempre usando Vim, ma come un editore "posizionati-e-clicca".
|
||||
Simile all'uso di Notepad in MS-Windows.
|
||||
.B evim
|
||||
richiede la presenza della GUI, per avere a disposizione menu e barra
|
||||
strumenti.
|
||||
.PP
|
||||
Da usarsi solo da parte di chi non è in grado di lavorare con Vim nella
|
||||
maniera usuale.
|
||||
La modifica file sarà molto meno efficiente.
|
||||
.PP
|
||||
.B eview
|
||||
come sopra, ma parte in modalità "Sola Lettura". Funziona come evim \-R.
|
||||
.PP
|
||||
Vedere vim(1) per dettagli riguardo a Vim, opzioni, etc.
|
||||
.PP
|
||||
L'opzione 'insertmode' è impostata per poter immettere del testo direttamente.
|
||||
.br
|
||||
Sono definite delle mappature che consentono di usare COPIA e INCOLLA con i
|
||||
familiari tasti usati sotto MS-Windows.
|
||||
CTRL-X taglia testo, CTRL-C copia testo e CTRL-V incolla testo.
|
||||
Usate CTRL-Q per ottenere quello chs si ottierrebbe con CTRL-V in Vim nativo.
|
||||
.SH OPZIONI
|
||||
Vedere vim(1).
|
||||
.SH FILE
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
Lo script caricato per inizializzare eVim.
|
||||
.SH NAC [NOTO ANCHE COME]
|
||||
Noto Anche Come "Vim per semplici".
|
||||
Quando usate evim si suppone che prendiate un fazzoletto,
|
||||
facciate un nodo ad ogni angolo e ve lo mettiate in testa.
|
||||
.SH VEDERE ANCHE
|
||||
vim(1)
|
||||
.SH AUTORE
|
||||
Buona parte di
|
||||
.B Vim
|
||||
è stato scritto da Bram Moolenaar, con molto aiuto da altri.
|
||||
Vedere il Menu "Aiuto/Crediti".
|
||||
59
runtime/doc/evim-ru.1
Normal file
59
runtime/doc/evim-ru.1
Normal file
@@ -0,0 +1,59 @@
|
||||
.TH EVIM 1 "2002 February 16"
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD>
|
||||
evim \- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.br
|
||||
.B evim
|
||||
[<5B><><EFBFBD><EFBFBD><EFBFBD>] [<5B><><EFBFBD><EFBFBD> ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.B evim
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.B Vim
|
||||
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
Notepad <20><> MS-Windows.
|
||||
.B eVim
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
.PP
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Vim <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim.
|
||||
.PP
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.B eview
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>". <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
evim \-R.
|
||||
.PP
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Vim, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>.<2E>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
vim(1).
|
||||
.PP
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.B evim
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 'insertmode', <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
.br
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MS-Windows
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. CTRL-X <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, CTRL-C <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> CTRL-V <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CTRL-V, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CTRL-Q.
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD>. vim(1).
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
.TP 15
|
||||
/usr/local/lib/vim/evim.vim
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> eVim.
|
||||
.SH AKA
|
||||
eVim <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> "Vim <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>".
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
vim(1)
|
||||
.SH <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
.B Vim
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (Bram Moolenaar), <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
59
runtime/doc/evim-ru.UTF-8.1
Normal file
59
runtime/doc/evim-ru.UTF-8.1
Normal file
@@ -0,0 +1,59 @@
|
||||
.TH EVIM 1 "2002 February 16"
|
||||
.SH ИМЯ
|
||||
evim \- простой Vim, позволяет редактировать файл с помощью Vim в безрежимном режиме
|
||||
.SH КОМАНДНАЯ СТРОКА
|
||||
.br
|
||||
.B evim
|
||||
[ключи] [файл ..]
|
||||
.br
|
||||
.B eview
|
||||
.SH ОПИСАНИЕ
|
||||
Команда
|
||||
.B evim
|
||||
запускает
|
||||
.B Vim
|
||||
и настраивает ряд опций таким образом, что он начинает вести себя
|
||||
как обычный безрежимный редактор. В этом режиме Vim напоминает
|
||||
Notepad из MS-Windows.
|
||||
.B eVim
|
||||
всегда запускается с поддержкой графического интерфейса, чтобы обеспечить
|
||||
использование меню и инструментальной панели.
|
||||
.PP
|
||||
Эта команда создана для тех, кто по каким-то причинам не в состоянии
|
||||
работать с Vim в обычном режиме. Редактирование файлов при этом происходит
|
||||
гораздо менее эффективно, чем при использовании обычного Vim.
|
||||
.PP
|
||||
Команда
|
||||
.B eview
|
||||
выполняет почти ту же самую задачу, но файл открывается в режиме "только
|
||||
для чтения". Использование этой команды полностью идентично использованию
|
||||
evim \-R.
|
||||
.PP
|
||||
Подробнее о Vim, ключах запуска и т.п. смотрите на странице справочника
|
||||
vim(1).
|
||||
.PP
|
||||
При использовании
|
||||
.B evim
|
||||
включается опция '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 AKA
|
||||
eVim также известен как "Vim для чайников".
|
||||
Для наилучшего эффекта рекомендуется во время использования повязать
|
||||
на голове платок, предварительно завязав на каждом конце по узелку.
|
||||
.SH СМОТРИ ТАКЖЕ
|
||||
vim(1)
|
||||
.SH АВТОРЫ
|
||||
Большая часть
|
||||
.B Vim
|
||||
создана Брамом Мооленааром (Bram Moolenaar), которому помогает огромное
|
||||
количество людей. См. меню Справка/Благодарности.
|
||||
@@ -21,7 +21,7 @@ Only to be used for people who really can't work with Vim in the normal way.
|
||||
Editing will be much less efficient.
|
||||
.PP
|
||||
.B eview
|
||||
is the same, but starts in read-only mode. It works just like evim -R.
|
||||
is the same, but starts in read-only mode. It works just like evim \-R.
|
||||
.PP
|
||||
See vim(1) for details about Vim, options, etc.
|
||||
.PP
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*farsi.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
|
||||
*farsi.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
|
||||
@@ -42,7 +42,7 @@ o Changing keyboard mapping and reverse insert modes using a single
|
||||
o Backing from reverse insert mode to the correct place in the file
|
||||
(if possible).
|
||||
|
||||
o While in Farsi mode, numbers are entered from left to right. Upon entering
|
||||
o While in Farsi mode, numbers are entered from left to right. Upon entering
|
||||
a none number character, that character will be inserted just into the
|
||||
left of the last number.
|
||||
|
||||
@@ -54,8 +54,8 @@ o Farsi keymapping on the command line in reverse insert mode.
|
||||
|
||||
o Toggling between left-to-right and right-to-left via F8 function key.
|
||||
|
||||
o Toggling between Farsi ISIR-3342 standard encoding and VIM Farsi via F9
|
||||
function key. Since this makes sense only for the text written in
|
||||
o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
|
||||
function key. Since this makes sense only for the text written in
|
||||
right-to-left mode, this function is also supported only in right-to-left
|
||||
mode.
|
||||
|
||||
@@ -77,8 +77,8 @@ Font Installation
|
||||
|
||||
o Installation of fonts for MS Window systems (NT/95/98)
|
||||
|
||||
From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
|
||||
menu item select 'Install New Fonts ...'. Browse and select the
|
||||
From 'Control Panel' folder, start the 'Fonts' program. Then from 'file'
|
||||
menu item select 'Install New Fonts ...'. Browse and select the
|
||||
'far-a01.fon', then follow the installation guide.
|
||||
NOTE: several people have reported that this does not work. The solution
|
||||
is unknown.
|
||||
@@ -104,19 +104,19 @@ o Installation of fonts for X Window systems (SunOS)
|
||||
o Installation of ASCII screen fonts (Unix/Linux)
|
||||
|
||||
For Linux system, copy the far-a01.f16 fonts into /usr/lib/kbd/consolefonts
|
||||
directory and execute the setfont program as "setfont far-a01.f16". For
|
||||
directory and execute the setfont program as "setfont far-a01.f16". For
|
||||
other systems (e.g. SCO Unix), please refer to the fonts installation
|
||||
section of your system administration manuals.
|
||||
|
||||
o Installation of ASCII screen fonts (DOS)
|
||||
|
||||
After system power on, prior to the first use of VIM, upload the Farsi
|
||||
After system power on, prior to the first use of Vim, upload the Farsi
|
||||
fonts by executing the far-a01.com font uploading program.
|
||||
|
||||
|
||||
Usage
|
||||
-----
|
||||
Prior to starting VIM, the environment in which VIM can run in Farsi mode,
|
||||
Prior to starting Vim, the environment in which Vim can run in Farsi mode,
|
||||
must be set. In addition to installation of Farsi fonts, following points
|
||||
refer to some of the system environments, which you may need to set:
|
||||
Key code mapping, loading graphic card in ASCII screen mode, setting the IO
|
||||
@@ -124,26 +124,26 @@ driver in 8 bit clean mode ... .
|
||||
|
||||
o Setting the Farsi fonts
|
||||
|
||||
+ For VIM GUI set the 'guifont' to far-a01. This is done by entering
|
||||
':set guifont=far-a01' in the VIM window.
|
||||
+ For Vim GUI set the 'guifont' to far-a01. This is done by entering
|
||||
':set guifont=far-a01' in the Vim window.
|
||||
|
||||
You can have 'guifont' set to far-a01 by VIM during the VIM startup
|
||||
You can have 'guifont' set to far-a01 by Vim during the Vim startup
|
||||
by appending the ':set guifont=far-a01' into your .vimrc file
|
||||
(in case of NT/95/98 platforms _vimrc).
|
||||
|
||||
Under the X Window environment, you can also start the VIM with
|
||||
Under the X Window environment, you can also start Vim with the
|
||||
'-fn far-a01' option.
|
||||
|
||||
+ For the VIM within a xterm, start a xterm with the Farsi fonts (e.g.
|
||||
kterm -fn far-a01). Then start the VIM inside the kterm.
|
||||
+ For Vim within a xterm, start a xterm with the Farsi fonts (e.g.
|
||||
kterm -fn far-a01). Then start Vim inside the kterm.
|
||||
|
||||
+ For VIM under DOS, prior to the first usage of VIM, upload the Farsi
|
||||
+ For Vim under DOS, prior to the first usage of Vim, upload the Farsi
|
||||
fonts by executing the far-a01.com fonts uploading program.
|
||||
|
||||
o Farsi Keymapping Activation
|
||||
|
||||
To activate the Farsi keymapping, set either 'altkeymap' or 'fkmap'.
|
||||
This is done by entering ':set akm' or ':set fk' in the VIM window.
|
||||
This is done by entering ':set akm' or ':set fk' in the Vim window.
|
||||
You can have 'altkeymap' or 'fkmap' set as default by appending ':set akm'
|
||||
or ':set fk' in your .vimrc file or _vimrc in case of NT/95/98 platforms.
|
||||
|
||||
@@ -152,24 +152,24 @@ o Farsi Keymapping Activation
|
||||
|
||||
o right-to-left Farsi Mode
|
||||
|
||||
By default VIM starts in Left-to-right mode. Following are ways to change
|
||||
By default Vim starts in Left-to-right mode. Following are ways to change
|
||||
the window orientation:
|
||||
|
||||
+ Start the VIM with -F option (e.g. vim -F ... ).
|
||||
+ Start Vim with the -F option (e.g. vim -F ...).
|
||||
|
||||
+ Use F8 function key to toggle between left-to-right and right-to-left.
|
||||
+ Use the F8 function key to toggle between left-to-right and right-to-left.
|
||||
|
||||
+ While in Left-to-right mode, enter 'set rl' in the command line ('rl' is
|
||||
the abbreviation for rightleft).
|
||||
|
||||
+ Put the 'set rl' line in your '.vimrc' file to start the VIM in
|
||||
+ Put the 'set rl' line in your '.vimrc' file to start Vim in
|
||||
right-to-left mode permanently.
|
||||
|
||||
Encoding
|
||||
--------
|
||||
|
||||
The letter encoding used is the VIM extended ISIR-3342 standard with a built
|
||||
in function to convert between VIM extended ISIR-3342 and ISIR-3342 standard.
|
||||
The letter encoding used is the Vim extended ISIR-3342 standard with a built
|
||||
in function to convert between Vim extended ISIR-3342 and ISIR-3342 standard.
|
||||
|
||||
For document portability reasons, the letter encoding is kept the same across
|
||||
different platforms (i.e. UNIX's, NT/95/98, MS DOS, ...).
|
||||
@@ -183,11 +183,11 @@ o Keyboard
|
||||
+ CTRL-_ moves the cursor to the end of the typed text in edit mode.
|
||||
|
||||
+ CTRL-_ in command mode only toggles keyboard mapping between Farsi(akm)/
|
||||
Latin. The Farsi text is then entered in reverse insert mode.
|
||||
Latin. The Farsi text is then entered in reverse insert mode.
|
||||
|
||||
+ F8 - Toggles between left-to-right and right-to-left.
|
||||
|
||||
+ F9 - Toggles the encoding between ISIR-3342 standard and VIM extended
|
||||
+ F9 - Toggles the encoding between ISIR-3342 standard and Vim extended
|
||||
ISIR-3342 (supported only in right-to-left mode).
|
||||
|
||||
+ Keyboard mapping is based on the Iranian ISIRI-2901 standard.
|
||||
@@ -231,28 +231,28 @@ o In insert/replace mode and fkmap (Farsi mode) set, CTRL-B is not
|
||||
supported.
|
||||
|
||||
o If you change the character mapping between Latin/Farsi, the redo buffer
|
||||
will be reset (emptied). That is, redo is valid and will function (using
|
||||
will be reset (emptied). That is, redo is valid and will function (using
|
||||
'.') only within the mode you are in.
|
||||
|
||||
o While numbers are entered in Farsi mode, the redo buffer will be reset
|
||||
(emptied). That is, you can not redo the last changes (using '.') after
|
||||
(emptied). That is, you cannot redo the last changes (using '.') after
|
||||
entering numbers.
|
||||
|
||||
o While in left-to-right and Farsi mode set, CTRL-R is not supported.
|
||||
o While in left-to-right mode and Farsi mode set, CTRL-R is not supported.
|
||||
|
||||
o While in right-to-left mode, the search on 'Latin' pattern does not work,
|
||||
except if you enter the Latin search pattern in reverse.
|
||||
|
||||
o In the command mode, there is no support for entering the numbers from left
|
||||
to right and also for the sake of the flexibility the keymapping logic is
|
||||
o In command mode there is no support for entering numbers from left
|
||||
to right and also for the sake of flexibility the keymapping logic is
|
||||
restricted.
|
||||
|
||||
o Under X Window environment, if you want to run the VIM within a xterm
|
||||
o Under the X Window environment, if you want to run Vim within a xterm
|
||||
terminal emulator and Farsi mode set, you need to have an ANSI compatible
|
||||
xterm terminal emulator. This is because the letter codes above 128 decimal
|
||||
xterm terminal emulator. This is because the letter codes above 128 decimal
|
||||
have certain meanings in the standard xterm terminal emulator.
|
||||
|
||||
Note: Under X Window environment, VIM GUI works fine in Farsi mode.
|
||||
Note: Under X Window environment, Vim GUI works fine in Farsi mode.
|
||||
This eliminates the need of any xterm terminal emulator.
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ Bugs
|
||||
While in insert/replace and Farsi mode set, if you repeatedly change the
|
||||
cursor position (via cursor movement) and enter new text and then try to undo
|
||||
the last change, the undo will lag one change behind. But as you continue to
|
||||
undo, you will reach the original line of text. You can also use U to undo all
|
||||
undo, you will reach the original line of text. You can also use U to undo all
|
||||
changes made in the current line.
|
||||
|
||||
For more information about the bugs refer to rileft.txt.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.0aa. Last change: 2004 Aug 31
|
||||
*filetype.txt* For Vim version 7.0aa. Last change: 2005 Sep 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -44,15 +44,21 @@ Detail: The ":filetype on" command will load one of these files:
|
||||
name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
|
||||
contents of the file.
|
||||
|
||||
To add your own file types, see |new-filetype| below.
|
||||
To add your own file types, see |new-filetype| below. To search for help on a
|
||||
filetype prepend "ft-" and optionally append "-syntax", "-indent" or
|
||||
"-plugin". For example: >
|
||||
:help ft-vim-indent
|
||||
:help ft-vim-syntax
|
||||
:help ft-man-plugin
|
||||
|
||||
If the file type is not detected automatically, or it finds the wrong type,
|
||||
you can either set the 'filetype' option manually, or add a modeline to your
|
||||
file. Example, for in an IDL file use the command: >
|
||||
:set filetype=idl
|
||||
or add this |modeline| to the file: >
|
||||
/* vim: set filetype=idl : */
|
||||
<
|
||||
|
||||
or add this |modeline| to the file:
|
||||
/* vim: set filetype=idl : */ ~
|
||||
|
||||
*:filetype-plugin-on*
|
||||
You can enable loading the plugin files for specific file types with: >
|
||||
:filetype plugin on
|
||||
@@ -132,16 +138,16 @@ kind of file it is. This doesn't always work. A number of global variables
|
||||
can be used to overrule the filetype used for certain extensions:
|
||||
|
||||
file name variable ~
|
||||
*.asa g:filetype_asa |aspvbs-syntax| |aspperl-syntax|
|
||||
*.asp g:filetype_asp |aspvbs-syntax| |aspperl-syntax|
|
||||
*.asm g:asmsyntax |asm-syntax|
|
||||
*.asa g:filetype_asa |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
|
||||
*.asm g:asmsyntax |ft-asm-syntax|
|
||||
*.prg g:filetype_prg
|
||||
*.pl g:filetype_pl
|
||||
*.inc g:filetype_inc
|
||||
*.w g:filetype_w |cweb-syntax|
|
||||
*.i g:filetype_i |progress-syntax|
|
||||
*.p g:filetype_p |pascal-syntax|
|
||||
*.sh g:bash_is_sh |sh-syntax|
|
||||
*.w g:filetype_w |ft-cweb-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
*.p g:filetype_p |ft-pascal-syntax|
|
||||
*.sh g:bash_is_sh |ft-sh-syntax|
|
||||
|
||||
*filetype-ignore*
|
||||
To avoid that certain files are being inspected, the g:ft_ignore_pat variable
|
||||
@@ -178,7 +184,8 @@ A. If you want to overrule all default file type checks.
|
||||
< 3. To use the new filetype detection you must restart Vim.
|
||||
|
||||
The files in the "ftdetect" directory are used after all the default
|
||||
checks, thus they can overrule a previously detected file type.
|
||||
checks, thus they can overrule a previously detected file type. But you
|
||||
can also use |:setfiletype| to keep a previously detected filetype.
|
||||
|
||||
B. If you want to detect your file after the default file type checks.
|
||||
|
||||
@@ -380,9 +387,9 @@ ways to change this:
|
||||
3. Docs for the default filetype plugins. *ftplugin-docs*
|
||||
|
||||
|
||||
CHANGELOG *changelog-plugin*
|
||||
CHANGELOG *ft-changelog-plugin*
|
||||
|
||||
Allows for easy entrance of Changelog entries in Changelog files. There are
|
||||
Allows for easy entrance of Changelog entries in Changelog files. There are
|
||||
some commands, mappings, and variables worth exploring:
|
||||
|
||||
Options:
|
||||
@@ -401,7 +408,7 @@ Local mappings:
|
||||
Global mappings:
|
||||
NOTE: The global mappings are accessed by sourcing the
|
||||
ftplugin/changelog.vim file first, e.g. with >
|
||||
runtime ftplugin/man.vim
|
||||
runtime ftplugin/changelog.vim
|
||||
< in your |.vimrc|.
|
||||
<Leader>o Switches to the ChangeLog buffer opened for the
|
||||
current directory, or opens it in a new buffer if it
|
||||
@@ -462,11 +469,11 @@ g:changelog_date_entry_search
|
||||
The Changelog entries are inserted where they add the least amount of text.
|
||||
After figuring out the current date and user, the file is searched for an
|
||||
entry beginning with the current date and user and if found adds another item
|
||||
under it. If not found, a new entry and item is prepended to the beginning of
|
||||
under it. If not found, a new entry and item is prepended to the beginning of
|
||||
the Changelog.
|
||||
|
||||
|
||||
FORTRAN *fortran-plugin*
|
||||
FORTRAN *ft-fortran-plugin*
|
||||
|
||||
Options:
|
||||
'expandtab' is switched on to avoid tabs as required by the Fortran
|
||||
@@ -474,12 +481,12 @@ Options:
|
||||
'textwidth' is set to 72 for fixed source format as required by the
|
||||
Fortran standards and to 80 for free source format.
|
||||
'formatoptions' is set to break code and comment lines and to preserve long
|
||||
lines. You can format comments with |gq|.
|
||||
lines. You can format comments with |gq|.
|
||||
For further discussion of fortran_have_tabs and the method used for the
|
||||
detection of source format see |fortran-syntax|.
|
||||
detection of source format see |ft-fortran-syntax|.
|
||||
|
||||
|
||||
MAIL *mail-plugin*
|
||||
MAIL *ft-mail-plugin*
|
||||
|
||||
Options:
|
||||
'modeline' is switched off to avoid the danger of trojan horses, and to
|
||||
@@ -496,7 +503,7 @@ Local mappings:
|
||||
to the end of the file in Normal mode. This means "> " is inserted in
|
||||
each line.
|
||||
|
||||
MAN *man-plugin* *:Man*
|
||||
MAN *ft-man-plugin* *:Man*
|
||||
|
||||
Displays a manual page in a nice way. Also see the user manual
|
||||
|find-manpage|.
|
||||
@@ -523,7 +530,7 @@ CTRL-] Jump to the manual page for the word under the cursor.
|
||||
CTRL-T Jump back to the previous manual page.
|
||||
|
||||
|
||||
RPM SPEC *spec-plugin*
|
||||
RPM SPEC *ft-spec-plugin*
|
||||
|
||||
Since the text for this plugin is rather long it has been put in a separate
|
||||
file: |pi_spec.txt|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
*fold.txt* For Vim version 7.0aa. Last change: 2005 Sep 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -330,7 +330,7 @@ zC Close all folds under the cursor recursively. Folds that
|
||||
'foldenable' will be set.
|
||||
|
||||
*za*
|
||||
za When on a closed fold: open it. When folds are nested, you
|
||||
za When on a closed fold: open it. When folds are nested, you
|
||||
may have to use "za" several times. When a count is given,
|
||||
that many closed folds are opened.
|
||||
When on an open fold: close it and set 'foldenable'. This
|
||||
@@ -512,7 +512,8 @@ FOLDCOLUMN *fold-foldcolumn*
|
||||
|
||||
'foldcolumn' is a number, which sets the width for a column on the side of the
|
||||
window to indicate folds. When it is zero, there is no foldcolumn. A normal
|
||||
value is 4 or 5. The minimal useful value is 2. The maximum is 12.
|
||||
value is 4 or 5. The minimal useful value is 2, although 1 still provides
|
||||
some information. The maximum is 12.
|
||||
|
||||
An open fold is indicated with a column that has a '-' at the top and '|'
|
||||
characters below it. This column stops where the open fold stops. When folds
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 7.0aa. Last change: 2005 Jan 14
|
||||
*gui.txt* For Vim version 7.0aa. Last change: 2005 Aug 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -25,8 +25,8 @@ Other GUI documentation:
|
||||
|
||||
First you must make sure you actually have a version of Vim with the GUI code
|
||||
included. You can check this with the ":version" command, it should include
|
||||
"+GUI_Athena", "+GUI_BeOS", "+GUI_GTK", "+GUI_KDE", "+GUI_Motif" or
|
||||
"MS-Windows ... bit GUI version".
|
||||
"+GUI_Athena", "+GUI_GTK", "+GUI_KDE", "+GUI_Motif" or "MS-Windows ... bit
|
||||
GUI version".
|
||||
|
||||
How to start the GUI depends on the system used. Mostly you can run the
|
||||
GUI version of Vim with:
|
||||
@@ -79,7 +79,7 @@ All this happens AFTER the normal Vim initializations, like reading your
|
||||
But the GUI window is only opened after all the initializations have been
|
||||
carried out. If you want some commands to be executed just after opening the
|
||||
GUI window, use the |GUIEnter| autocommand event. Example: >
|
||||
:autocommand GUIEnter * winpos 100 50
|
||||
:autocmd GUIEnter * winpos 100 50
|
||||
|
||||
You can use the gvimrc files to set up your own customized menus (see |:menu|)
|
||||
and initialize other things that you may want to set up differently from the
|
||||
@@ -184,7 +184,7 @@ When the scrollbar is dragged all the way down, the last line of the file
|
||||
will appear in the top of the window.
|
||||
|
||||
If a window is shrunk to zero height (by the growth of another window) its
|
||||
scrollbar disappears. It reappears when the window is restored.
|
||||
scrollbar disappears. It reappears when the window is restored.
|
||||
|
||||
If a window is vertically split, it will get a scrollbar when it is the
|
||||
current window and when, taking the middle of the current window and drawing a
|
||||
@@ -408,7 +408,7 @@ used - you should read whichever of these is appropriate now).
|
||||
*clipboard*
|
||||
There is a special register for storing this selection, it is the "*
|
||||
register. Nothing is put in here unless the information about what text is
|
||||
selected is about to change (eg with a left mouse click somewhere), or when
|
||||
selected is about to change (e.g. with a left mouse click somewhere), or when
|
||||
another application wants to paste the selected text. Then the text is put
|
||||
in the "* register. For example, to cut a line and make it the current
|
||||
selection/put it on the clipboard: >
|
||||
@@ -504,7 +504,7 @@ floating menus that do not appear on the main menu bar.
|
||||
*E328* *E329* *E337*
|
||||
To create a new menu item, use the ":menu" commands. They are mostly like
|
||||
the ":map" set of commands but the first argument is a menu item name, given
|
||||
as a path of menus and submenus with a '.' between them. eg: >
|
||||
as a path of menus and submenus with a '.' between them, e.g.: >
|
||||
|
||||
:menu File.Save :w<CR>
|
||||
:inoremenu File.Save <C-O>:w<CR>
|
||||
@@ -648,9 +648,9 @@ simple.
|
||||
|
||||
*gui-toolbar*
|
||||
The toolbar is currently available in the Win32, Athena, Motif, GTK+ (X11),
|
||||
KDE and Photon GUI. It should turn up in other GUIs in due course. The default
|
||||
toolbar is setup in menu.vim.
|
||||
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
|
||||
KDE and Photon GUI. It should turn up in other GUIs in due course. The
|
||||
default toolbar is setup in menu.vim.
|
||||
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
|
||||
can thus have menu & toolbar together, or either on its own, or neither.
|
||||
The appearance is controlled by the 'toolbar' option. You can chose between
|
||||
an image, text or both.
|
||||
@@ -661,7 +661,7 @@ level. Vim interprets the items in this menu as follows:
|
||||
1) If an "icon=" argument was specified, the file with this name is used.
|
||||
The file can either be specified with the full path or with the base name.
|
||||
In the last case it is searched for in the "bitmaps" directory in
|
||||
'runtimepath', like in point 3). Examples: >
|
||||
'runtimepath', like in point 3. Examples: >
|
||||
:amenu icon=/usr/local/pixmaps/foo_icon.xpm ToolBar.Foo :echo "Foo"<CR>
|
||||
:amenu icon=FooIcon ToolBar.Foo :echo "Foo"<CR>
|
||||
< Note that in the first case the extension is included, while in the second
|
||||
@@ -671,7 +671,7 @@ level. Vim interprets the items in this menu as follows:
|
||||
A menu priority must come _after_ the icon argument: >
|
||||
:amenu icon=foo 1.42 ToolBar.Foo :echo "42!"<CR>
|
||||
2) An item called 'BuiltIn##', where ## is a number, is taken as number ## of
|
||||
the built-in bitmaps available in Vim. Currently there are 31 numbered
|
||||
the built-in bitmaps available in Vim. Currently there are 31 numbered
|
||||
from 0 to 30 which cover most common editing operations |builtin-tools|. >
|
||||
:amenu ToolBar.BuiltIn22 :call SearchNext("back")<CR>
|
||||
3) An item with another name is first searched for in the directory
|
||||
@@ -736,9 +736,9 @@ from the main menu bar. You must then use the |:popup| or |:tearoff| command
|
||||
to display it.
|
||||
|
||||
*popup-menu*
|
||||
In the Win32, KDE, GTK+, Motif, Athena and Photon GUI, you can define the special
|
||||
menu "PopUp". This is the menu that is displayed when the right mouse button
|
||||
is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
||||
In the Win32, KDE, GTK+, Motif, Athena and Photon GUI, you can define the
|
||||
special menu "PopUp". This is the menu that is displayed when the right mouse
|
||||
button is pressed, if 'mousemodel' is set to popup or popup_setpos.
|
||||
|
||||
|
||||
5.3 Showing What Menus Are Mapped To *showing-menus*
|
||||
@@ -747,7 +747,7 @@ To see what an existing menu is mapped to, use just one argument after the
|
||||
menu commands (just like you would with the ":map" commands). If the menu
|
||||
specified is a submenu, then all menus under that hierarchy will be shown.
|
||||
If no argument is given after :menu at all, then ALL menu items are shown
|
||||
for the appropriate mode (eg, Command-line mode for :cmenu).
|
||||
for the appropriate mode (e.g., Command-line mode for :cmenu).
|
||||
|
||||
Special characters in the list, just before the rhs:
|
||||
* The menu was defined with "nore" to disallow remapping.
|
||||
@@ -856,7 +856,7 @@ See section |42.4| in the user manual.
|
||||
|
||||
When a tip is defined for a menu item, it appears in the command-line area
|
||||
when the mouse is over that item, much like a standard Windows menu hint in
|
||||
the status bar. (Except when Vim is in Command-line mode, when of course
|
||||
the status bar. (Except when Vim is in Command-line mode, when of course
|
||||
nothing is displayed.)
|
||||
When a tip is defined for a ToolBar item, it appears as a tooltip when the
|
||||
mouse pauses over that button, in the usual fashion. Use the |hl-Tooltip|
|
||||
@@ -870,7 +870,7 @@ The tip is defined like this: >
|
||||
And delete it with: >
|
||||
:tunmenu MyMenu.Hello
|
||||
|
||||
Tooltips are currently only supported for the X11 and Win32 GUI. However, they
|
||||
Tooltips are currently only supported for the X11 and Win32 GUI. However, they
|
||||
should appear for the other gui platforms in the not too distant future.
|
||||
|
||||
The ":tmenu" command works just like other menu commands, it uses the same
|
||||
@@ -897,9 +897,13 @@ it behaves in a strange way.
|
||||
appear on the menu-bar (see |hidden-menus|).
|
||||
{only available for Win32 and GTK GUI}
|
||||
|
||||
:popu[p]! {name} Like above, but use the position of the mouse
|
||||
pointer instead of the cursor.
|
||||
|
||||
Example: >
|
||||
:popup File
|
||||
will make the "File" menu (if there is one) appear at the text cursor. >
|
||||
will make the "File" menu (if there is one) appear at the text cursor (mouse
|
||||
pointer if ! was used). >
|
||||
|
||||
:amenu ]Toolbar.Make :make<CR>
|
||||
:popup ]Toolbar
|
||||
@@ -920,7 +924,7 @@ This section describes other features which are related to the GUI.
|
||||
get "<Modifiers-Key>".
|
||||
|
||||
- In the GUI, the modifiers SHIFT, CTRL, and ALT (or META) may be used within
|
||||
mappings of special keys and mouse events. eg: :map <M-LeftDrag> <LeftDrag>
|
||||
mappings of special keys and mouse events. E.g.: :map <M-LeftDrag> <LeftDrag>
|
||||
|
||||
- In the GUI, several normal keys may have modifiers in mappings etc, these
|
||||
are <Space>, <Tab>, <NL>, <CR>, <Esc>.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w16.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
|
||||
*gui_w16.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,32 +21,32 @@ Other relevant documentation:
|
||||
|
||||
{Vi does not have a Windows GUI}
|
||||
|
||||
The Win16 version of Vim will run on Windows 3.1 or later. It has not been
|
||||
The Win16 version of Vim will run on Windows 3.1 or later. It has not been
|
||||
tested on 3.0, it probably won't work without being recompiled and
|
||||
modified. (but you really should upgrade to 3.11 anyway. :)
|
||||
modified. (But you really should upgrade to 3.11 anyway. :)
|
||||
|
||||
In most respects it behaves identically to the Win32 GUI version, including
|
||||
having a flat-style toolbar(!). The chief differences:
|
||||
having a flat-style toolbar(!). The chief differences:
|
||||
|
||||
1) Bold/Italic text is not available, to speed up repaint/reduce resource
|
||||
usage. (You can re-instate this by undefining MSWIN16_FASTTEXT.)
|
||||
usage. (You can re-instate this by undefining MSWIN16_FASTTEXT.)
|
||||
2) No tearoff menu emulation.
|
||||
3) No OLE interface.
|
||||
4) No long filename support (of course)
|
||||
4) No long filename support (of course).
|
||||
5) No tooltips on toolbar buttons - instead they produce command-line tips
|
||||
like menu items do.
|
||||
6) Line length limited to 32767 characters (like 16-bit DOS version)
|
||||
6) Line length limited to 32767 characters (like 16-bit DOS version).
|
||||
|
||||
|
||||
==============================================================================
|
||||
1. Starting the GUI *win16-start*
|
||||
|
||||
The Win16 GUI version of Vim will always start the GUI, no matter how you
|
||||
start it or what it's called. There is no 'console' version as such, but you
|
||||
start it or what it's called. There is no 'console' version as such, but you
|
||||
can use one of the DOS versions in a DOS box.
|
||||
|
||||
The Win16 GUI has an extra menu item: "Window/Select Font". It brings up the
|
||||
standard Windows font selector. Note that bold and italic fonts are not
|
||||
standard Windows font selector. Note that bold and italic fonts are not
|
||||
supported in an attempt to maximize GDI drawing speed.
|
||||
|
||||
Setting the menu height doesn't work for the Win16 GUI.
|
||||
@@ -82,7 +82,7 @@ The clipboard works in the same way as the Win32 version: see |gui-clipboard|.
|
||||
4. Shell Commands *win16-shell*
|
||||
|
||||
Vim spawns a DOS window for external commands, to make it possible to run any
|
||||
DOS command. The window uses the _default.pif settings.
|
||||
DOS command. The window uses the _default.pif settings.
|
||||
|
||||
*win16-!start*
|
||||
Normally, Vim waits for a command to complete before continuing (this makes
|
||||
@@ -135,7 +135,7 @@ as the traditional interface shared with the console version.
|
||||
6.1 Dialogs
|
||||
|
||||
The dialogs displayed by the "confirm" family (i.e. the 'confirm' option,
|
||||
|:confirm| command and |confirm()| function are GUI-based rather than the
|
||||
|:confirm| command and |confirm()| function) are GUI-based rather than the
|
||||
console-based ones used by other versions. There is no option to change this.
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ PrintFile. See $VIMRUNTIME/menu.vim for how it works by default.
|
||||
Using this should also work: >
|
||||
:w >>prn
|
||||
|
||||
Vim supports a number of standard MS Windows features. Some of these are
|
||||
Vim supports a number of standard MS Windows features. Some of these are
|
||||
detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
|
||||
Also see |:simalt|
|
||||
|
||||
@@ -176,11 +176,11 @@ names with any Ex command.
|
||||
|
||||
*win16-truetype*
|
||||
It is recommended that you use a raster font and not a TrueType
|
||||
fixed-pitch font. e.g. Use Courier, not Courier New. This is not just
|
||||
fixed-pitch font. E.g. use Courier, not Courier New. This is not just
|
||||
to use less resources but because there are subtle bugs in the
|
||||
handling of fixed-pitch TrueType in Win3.1x. In particular, when you move
|
||||
handling of fixed-pitch TrueType in Win3.1x. In particular, when you move
|
||||
a block cursor over a pipe character '|', the cursor is drawn in the wrong
|
||||
size and bits get left behind. This is a bug in the Win3.1x GDI, it doesn't
|
||||
size and bits get left behind. This is a bug in the Win3.1x GDI, it doesn't
|
||||
happen if you run the exe under 95/NT.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_w32.txt* For Vim version 7.0aa. Last change: 2005 Jan 07
|
||||
*gui_w32.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -58,7 +58,7 @@ of Windows 3.1 or 3.11. See |win32s|.
|
||||
|
||||
To set Vim as the default editor for a file type:
|
||||
1. Start a Windows Explorer
|
||||
2. Chose View/Options -> File Types
|
||||
2. Choose View/Options -> File Types
|
||||
3. Select the path to gvim for every file type that you want to use it for.
|
||||
(you can also use three spaces in the file type field, for files without an
|
||||
extension).
|
||||
@@ -235,7 +235,7 @@ cancel an operation. Use CTRL-Break for that.
|
||||
|
||||
CTRL-Z is used for undo. This means you can't suspend Vim.
|
||||
|
||||
*CTRL-V-alternative*
|
||||
*CTRL-V-alternative* *CTRL-Q*
|
||||
Since CTRL-V is used to paste, you can't use it to start a blockwise Visual
|
||||
selection. You can use CTRL-Q instead. You can also use CTRL-Q in Insert
|
||||
mode and Command-line mode to get the old meaning of CTRL-V. But CTRL-Q
|
||||
@@ -262,8 +262,8 @@ question if you really want to kill the application, Vim may be killed too!
|
||||
|
||||
In Windows 95, the window in which the commands are executed is always 25x80
|
||||
characters, to be as DOS compatible as possible (this matters!). The default
|
||||
system font is used. On NT, the window will be the default you have set up for
|
||||
"Console" in Control Panel. On Win32s, the properties of the DOS box are
|
||||
system font is used. On NT, the window will be the default you have set up for
|
||||
"Console" in Control Panel. On Win32s, the properties of the DOS box are
|
||||
determined by _default.pif in the windows directory.
|
||||
|
||||
*msdos-mode*
|
||||
@@ -283,7 +283,7 @@ sense for most shell commands which produce output for Vim to use). If you
|
||||
want Vim to start a program and return immediately, you can use the following
|
||||
syntax on W95 & NT: >
|
||||
:!start {command}
|
||||
On Win32s, you will have to go to another window instead. Don't forget that
|
||||
On Win32s, you will have to go to another window instead. Don't forget that
|
||||
you must tell Windows 3.1x to keep executing a DOS command in the background
|
||||
while you switch back to Vim.
|
||||
|
||||
@@ -295,7 +295,7 @@ On Win32, the normal DOS colors can be used. See |dos-colors|.
|
||||
Additionally the system configured colors can also be used. These are known
|
||||
by the names Sys_XXX, where XXX is the appropriate system color name, from the
|
||||
following list (see the Win32 documentation for full descriptions). Case is
|
||||
ignored. note: On Win32s not all of these colors are supported.
|
||||
ignored. Note: On Win32s not all of these colors are supported.
|
||||
|
||||
Sys_3DDKShadow Sys_3DFace Sys_BTNFace
|
||||
Sys_3DHilight Sys_3DHighlight Sys_BTNHilight
|
||||
@@ -366,7 +366,7 @@ without having to go to the menu bar each time.
|
||||
This is most useful if you find yourself using a command buried in a sub-menu
|
||||
over and over again.
|
||||
The tearoff menus can be positioned where you like, and always stay just above
|
||||
the Main Vim window. You can get rid of them by closing them as usual; they
|
||||
the Main Vim window. You can get rid of them by closing them as usual; they
|
||||
also of course close when you exit Vim.
|
||||
|
||||
*:tearoff* *:te*
|
||||
@@ -400,7 +400,7 @@ The rules are:
|
||||
b) Parameters are separated by white space.
|
||||
c) A parameter can be enclosed in double quotes to include white space.
|
||||
d) A sequence of zero or more backslashes (\) and a double quote (")
|
||||
is special. The effective number of backslashes is halved, rounded
|
||||
is special. The effective number of backslashes is halved, rounded
|
||||
down. An even number of backslashes reverses the acceptability of
|
||||
spaces and tabs, an odd number of backslashes produces a literal
|
||||
double quote.
|
||||
@@ -429,7 +429,7 @@ The "File/Print" menu prints the text with syntax highlighting, see
|
||||
printer installed this should also work: >
|
||||
:w >>prn
|
||||
|
||||
Vim supports a number of standard MS Windows features. Some of these are
|
||||
Vim supports a number of standard MS Windows features. Some of these are
|
||||
detailed elsewhere: see |'mouse'|, |win32-hidden-menus|.
|
||||
|
||||
*drag-n-drop-win32*
|
||||
@@ -441,7 +441,7 @@ be opened as normal. See |drag-n-drop|.
|
||||
{not in Vi} {only for Win32 versions}
|
||||
|
||||
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
|
||||
number of possible mappings. This clashes with the standard use of Alt as the
|
||||
number of possible mappings. This clashes with the standard use of Alt as the
|
||||
key for accessing menus.
|
||||
The quick way of getting standard behavior is to set the 'winaltkeys' option
|
||||
to "yes". This however prevents you from mapping Alt keys at all.
|
||||
@@ -449,18 +449,18 @@ Another way is to set 'winaltkeys' to "menu". Menu shortcut keys are then
|
||||
handled by windows, other ALT keys can be mapped. This doesn't allow a
|
||||
dependency on the current state though.
|
||||
To get round this, the :simalt command allows Vim (when 'winaltkeys' is not
|
||||
"yes") to fake a Windows-style Alt keypress. You can use this to map Alt key
|
||||
"yes") to fake a Windows-style Alt keypress. You can use this to map Alt key
|
||||
combinations (or anything else for that matter) to produce standard Windows
|
||||
actions. Here are some examples: >
|
||||
actions. Here are some examples: >
|
||||
|
||||
:map <M-f> :simalt f<CR>
|
||||
This makes Alt-F pop down the 'File' menu (with the stock Menu.vim) by
|
||||
simulating the keystrokes Alt, F. >
|
||||
:map <M-Space> :simalt ~<CR>
|
||||
This maps Alt-Space to pop down the system menu for the Vim window. Note that
|
||||
This maps Alt-Space to pop down the system menu for the Vim window. Note that
|
||||
~ is used by simalt to represent the <Space> character. >
|
||||
:map <C-n> :simalt ~n<CR>
|
||||
Maps Control-N to produce the keys Alt-Space followed by N. This minimizes the
|
||||
Maps Control-N to produce the keys Alt-Space followed by N. This minimizes the
|
||||
Vim window via the system menu.
|
||||
|
||||
*intellimouse-wheel-problems*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
*gui_x11.txt* For Vim version 7.0aa. Last change: 2005 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -113,7 +113,7 @@ same. Note that some fonts that have the same point size don't have the same
|
||||
pixel size! Additionally, the positioning of the fonts must be the same
|
||||
(ascent and descent). You can check this with "xlsfonts -l {fontname}".
|
||||
|
||||
If any of these things are also set with Vim commands, eg with
|
||||
If any of these things are also set with Vim commands, e.g. with
|
||||
":set guifont=Screen15", then this will override the X resources (currently
|
||||
'guifont' is the only option that is supported).
|
||||
|
||||
@@ -437,59 +437,9 @@ command line argument).
|
||||
==============================================================================
|
||||
7. KDE version *gui-kde* *kde* *KDE* *KVim*
|
||||
|
||||
NOTE: The KDE version is still under development. It is not recommended for
|
||||
daily work.
|
||||
|
||||
The KDE version of Vim works with KDE 2.x and KDE 3.x.
|
||||
KVim (name code for gui-kde) does not use traditional X settings for its
|
||||
configuration.
|
||||
Most important difference is the font handling, KVim uses QFont to display the
|
||||
text. To set your font use the following syntax :
|
||||
>
|
||||
:set guifont=Fixed\ [Misc]/10/-1/5/50/0/0/0/1/0
|
||||
<
|
||||
the '10' value is the font size, other settings concerns more specific Qt
|
||||
options which you should not need to care with.
|
||||
The suggested way to choose your font is through the font selection dialog
|
||||
available with the command :
|
||||
:set guifont=*
|
||||
|
||||
Note: X Font names are not supported any more, so if you use GVim too, you'll
|
||||
have to set something like this in your ~/.gvimrc : >
|
||||
|
||||
if has("gui_kde")
|
||||
:set guifont=Fixed\ [Misc]/10/-1/5/50/0/0/0/1/0
|
||||
else if has("gui_gtk")
|
||||
:set guifont=-misc-fixed-medium-r-normal-*-*-100-*-*-c-*-iso10646-1
|
||||
endif
|
||||
<
|
||||
*antialias*
|
||||
KVim uses antialias for its font, so that the text looks better, to disable
|
||||
this you have to refer to Qt's documentation (export QT_XFT=0 for QT 2.x).
|
||||
|
||||
KDE provides some other features, like being able to move the menubar and the
|
||||
toolbar wherever you want around the text area.
|
||||
|
||||
*kde-toolbar*
|
||||
KVim can be used with a KDE-look toolbar instead of Vim's default toolbar. To
|
||||
enable this feature you have to run the configure script with the
|
||||
--enable-kde-toolbar switch. It may be moved to a runtime option in the
|
||||
future.
|
||||
|
||||
*DCOP*
|
||||
Since Vim 6.0, the new ClientServer feature has been added, it works fine in
|
||||
KVim too. KVim also provides its own communication scheme based on DCOP. This
|
||||
is mainly used by the |vimpart| but can freely be used by other applications
|
||||
or manually through KDE's DCOP tools. The DCOP servername is synchronized with
|
||||
the X11 servername so that it's easier to identify the same KVim through the
|
||||
two communication systems.
|
||||
|
||||
*vimpart* *vim-kpart*
|
||||
KVim developers are also working on a component to allow embedding of Vim into
|
||||
KDE's applications. As of this writing, the component is working and can be
|
||||
used in different KDE applications. New KDE applications should support it
|
||||
soon. To get more information about this component, refer to
|
||||
http://freehackers.org/kvim or to the KDE project.
|
||||
There is no KDE version of Vim. There has been some work on a port using the
|
||||
Qt toolkit, but it never worked properly and it has been abandoned. Work
|
||||
continues on Yzis: www.yzis.org.
|
||||
|
||||
==============================================================================
|
||||
8. Compiling *gui-x11-compiling*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*hangulin.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
|
||||
*hangulin.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||
@@ -7,17 +7,17 @@ Introduction *hangul*
|
||||
------------
|
||||
It is to input hangul, the Korean language, with VIM GUI version.
|
||||
If you have a XIM program, you can use another |+xim| feature.
|
||||
Basically, it is for whom has no XIM program.
|
||||
Basically, it is for anybody who has no XIM program.
|
||||
|
||||
Compile
|
||||
-------
|
||||
Next is a basic option. You can add any other configure option. >
|
||||
Next is a basic option. You can add any other configure option. >
|
||||
|
||||
./configure --with-x --enable-multibyte --enable-fontset --enable-hangulinput
|
||||
|
||||
And you should check the feature.h. If |+hangul_input| feature is enabled
|
||||
And you should check feature.h. If |+hangul_input| feature is enabled
|
||||
by configure, you can select more options such as keyboard type, 2 bulsik
|
||||
or 3 bulsik. You can find keywords like next in there. >
|
||||
or 3 bulsik. You can find keywords like next in there. >
|
||||
|
||||
#define HANGUL_DEFAULT_KEYBOARD 2
|
||||
#define ESC_CHG_TO_ENG_MODE
|
||||
@@ -38,7 +38,7 @@ You should add nexts to your global vimrc ($HOME/.vimrc). >
|
||||
Keyboard
|
||||
--------
|
||||
You can change keyboard type (2 bulsik or 3 bulsik) using VIM_KEYBOARD
|
||||
or HANGUL_KEYBOARD_TYPE environment variables. For sh, just do (2 bulsik): >
|
||||
or HANGUL_KEYBOARD_TYPE environment variables. For sh, just do (2 bulsik): >
|
||||
|
||||
export VIM_KEYBOARD="2"
|
||||
or >
|
||||
@@ -67,9 +67,9 @@ $HOME/.gvimrc: >
|
||||
|
||||
attention! the , (comma) or ; (semicolon)
|
||||
|
||||
And there should be no ':set guifont'. If it exists, then Gvim ignores
|
||||
':set guifontset'. It means VIM runs without fontset supporting.
|
||||
So, you can see only English. Hangul does not be correctly displayed.
|
||||
And there should be no ':set guifont'. If it exists, then Gvim ignores
|
||||
':set guifontset'. It means VIM runs without fontset supporting.
|
||||
So, you can see only English. Hangul does not be correctly displayed.
|
||||
|
||||
After 'fontset' feature is enabled, VIM does not allow using 'font'.
|
||||
For example, if you use >
|
||||
@@ -78,17 +78,17 @@ in your .gvimrc, then you should do for syntax >
|
||||
:hi Comment guifg=Cyan font=another_eng_font,another_your_font
|
||||
If you just do >
|
||||
:hi Comment font=another_eng_font
|
||||
then you can see a GOOD error message. Be careful!
|
||||
then you can see a GOOD error message. Be careful!
|
||||
|
||||
hangul_font width should be twice than english_font width.
|
||||
|
||||
Unsupported Feature
|
||||
-------------------
|
||||
Johab font not yet supported. And I don't have any plan.
|
||||
Johab font not yet supported. And I don't have any plan.
|
||||
If you really want to use johab font, you can use the
|
||||
hanguldraw.c in gau package.
|
||||
|
||||
Hanja input not yet supported. And I don't have any plan.
|
||||
Hanja input not yet supported. And I don't have any plan.
|
||||
If you really want to input hanja, just use VIM with hanterm.
|
||||
|
||||
Bug or Comment
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 7.0aa. Last change: 2004 Dec 30
|
||||
*help.txt* For Vim version 7.0aa. Last change: 2005 Nov 30
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@@ -17,13 +17,13 @@ Get specific help: It is possible to go directly to whatever you want help
|
||||
It is possible to further specify the context:
|
||||
*help-context*
|
||||
WHAT PREPEND EXAMPLE ~
|
||||
Normal mode commands (nothing) :help x
|
||||
Visual mode commands v_ :help v_u
|
||||
Insert mode commands i_ :help i_<Esc>
|
||||
Command-line commands : :help :quit
|
||||
Normal mode command (nothing) :help x
|
||||
Visual mode command v_ :help v_u
|
||||
Insert mode command i_ :help i_<Esc>
|
||||
Command-line command : :help :quit
|
||||
Command-line editing c_ :help c_<Del>
|
||||
Vim command arguments - :help -r
|
||||
Options ' :help 'textwidth'
|
||||
Vim command argument - :help -r
|
||||
Option ' :help 'textwidth'
|
||||
Search for help: Type ":help word", then hit CTRL-D to see matching
|
||||
help entries for "word".
|
||||
|
||||
@@ -97,6 +97,7 @@ General subjects ~
|
||||
|quotes.txt| remarks from users of Vim
|
||||
|todo.txt| known problems and desired extensions
|
||||
|develop.txt| development of Vim
|
||||
|debug.txt| debugging Vim itself
|
||||
|uganda.txt| Vim distribution conditions and what to do with your money
|
||||
|
||||
Basic editing ~
|
||||
@@ -122,6 +123,7 @@ Advanced editing ~
|
||||
|quickfix.txt| commands for a quick edit-compile-fix cycle
|
||||
|windows.txt| commands for using multiple windows and buffers
|
||||
|syntax.txt| syntax highlighting
|
||||
|spell.txt| spell checking
|
||||
|diff.txt| working with two or three versions of the same file
|
||||
|autocmd.txt| automatically executing commands on an event
|
||||
|filetype.txt| settings done specifically for a type of file
|
||||
@@ -189,6 +191,13 @@ Standard plugins ~
|
||||
|pi_expl.txt| File explorer
|
||||
|
||||
LOCAL ADDITIONS: *local-additions*
|
||||
|cecutil.txt| DrChip's Utilities Jun 11, 2004
|
||||
|engspchk.txt| English Spelling Checker (v61) Mar 14, 2005
|
||||
|example.txt| Example for a locally added help file
|
||||
|matchit.txt| Extended "%" matching
|
||||
|test.txt| Testing the h<>lp c<>mm<6D>nd n<>w
|
||||
|typecorr.txt| Plugin for correcting typing mistakes
|
||||
|helpp.txt| Dummy line to avoid an error message
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*bars* Bars example
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 7.0aa. Last change: 2004 Oct 21
|
||||
*if_cscop.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -239,12 +239,12 @@ started will have no effect!
|
||||
*cscopequickfix* *csqf* *E469*
|
||||
{not available when compiled without the |+quickfix| feature}
|
||||
'cscopequickfix' specifies whether to use quickfix window to show cscope
|
||||
results. This is a list of comma-separated values. Each item consists of
|
||||
results. This is a list of comma-separated values. Each item consists of
|
||||
|cscope-find| command (s, g, d, c, t, e, f or i) and flag (+, - or 0).
|
||||
'+' indicates that results must be appended to quickfix window,
|
||||
'-' implies previous results clearance, '0' or command absence - don't use
|
||||
quickfix. Search is performed from start until first command occurrence.
|
||||
The default value is "" (don't use quickfix anyway). The following value
|
||||
quickfix. Search is performed from start until first command occurrence.
|
||||
The default value is "" (don't use quickfix anyway). The following value
|
||||
seems to be useful: >
|
||||
:set cscopequickfix=s-,c-,d-,i-,t-,e-
|
||||
<
|
||||
@@ -472,7 +472,7 @@ cscope within Vim to him.
|
||||
*cscope-win32*
|
||||
For a cscope version for Win32 see: http://iamphet.nm.ru/cscope/index.html
|
||||
|
||||
Win32 support was added by Sergey Khorev <khorev@softlab.ru>. Contact him
|
||||
if you have Win32-specific issues.
|
||||
Win32 support was added by Sergey Khorev <sergey.khorev@gmail.com>. Contact
|
||||
him if you have Win32-specific issues.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 7.0aa. Last change: 2004 Jul 05
|
||||
*if_mzsch.txt* For Vim version 7.0aa. Last change: 2005 May 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sergey Khorev
|
||||
@@ -17,6 +17,7 @@ The MzScheme interface is available only if Vim was compiled with the
|
||||
|+mzscheme| feature.
|
||||
|
||||
Based on the work of Brent Fulgham.
|
||||
Dynamic loading added by Sergey Khorev
|
||||
|
||||
For downloading MzScheme and other info:
|
||||
http://www.plt-scheme.org/software/mzscheme/
|
||||
@@ -109,6 +110,9 @@ something like this in your .vimrc (EOFs should not have indentation): >
|
||||
<
|
||||
|
||||
The global namespace just instantiated this module with the prefix "vimext:".
|
||||
*mzscheme-sandbox*
|
||||
When executed in the |sandbox|, access to some filesystem and Vim interface
|
||||
procedures is restricted.
|
||||
|
||||
==============================================================================
|
||||
2. Examples *mzscheme-examples*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ole.txt* For Vim version 7.0aa. Last change: 2004 Dec 09
|
||||
*if_ole.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -22,7 +22,7 @@ An alternative is using the client-server communication |clientserver|.
|
||||
1. Activation *ole-activation*
|
||||
|
||||
Vim acts as an OLE automation server, accessible from any automation client,
|
||||
for example, Visual Basic, Python, or Perl. The Vim application "name" (its
|
||||
for example, Visual Basic, Python, or Perl. The Vim application "name" (its
|
||||
"ProgID", in OLE terminology) is "Vim.Application".
|
||||
|
||||
Hence, in order to start a Vim instance (or connect to an already running
|
||||
@@ -41,8 +41,8 @@ instance), code similar to the following should be used:
|
||||
$vim = new Win32::OLE 'Vim.Application';
|
||||
|
||||
Vim does not support acting as a "hidden" OLE server, like some other OLE
|
||||
Automation servers. When a client starts up an instance of Vim, that instance
|
||||
is immediately visible. Simply closing the OLE connection to the Vim instance
|
||||
Automation servers. When a client starts up an instance of Vim, that instance
|
||||
is immediately visible. Simply closing the OLE connection to the Vim instance
|
||||
is not enough to shut down the Vim instance - it is necessary to explicitly
|
||||
execute a quit command (for example, :qa!, :wqa).
|
||||
|
||||
@@ -54,17 +54,17 @@ Vim exposes four methods for use by clients.
|
||||
*ole-sendkeys*
|
||||
SendKeys(keys) Execute a series of keys.
|
||||
|
||||
This method takes a single parameter, which is a string of keystrokes. These
|
||||
This method takes a single parameter, which is a string of keystrokes. These
|
||||
keystrokes are executed exactly as if they had been types in at the keyboard.
|
||||
Special keys can be given using their <..> names, as for the right hand side
|
||||
of a mapping. Note: Execution of the Ex "normal" command is not supported -
|
||||
of a mapping. Note: Execution of the Ex "normal" command is not supported -
|
||||
see below |ole-normal|.
|
||||
|
||||
Examples (Visual Basic syntax) >
|
||||
Vim.SendKeys "ihello<Esc>"
|
||||
Vim.SendKeys "ma1GV4jy`a"
|
||||
|
||||
These examples assume that Vim starts in Normal mode. To force Normal mode,
|
||||
These examples assume that Vim starts in Normal mode. To force Normal mode,
|
||||
start the key sequence with CTRL-\ CTRL-N as in >
|
||||
|
||||
Vim.SendKeys "<C-\><C-N>ihello<Esc>"
|
||||
@@ -109,7 +109,7 @@ Example (Visual Basic syntax) >
|
||||
|
||||
Due to the way Vim processes OLE Automation commands, combined with the method
|
||||
of implementation of the ex command :normal, it is not possible to execute the
|
||||
:normal command via OLE automation. Any attempt to do so will fail, probably
|
||||
:normal command via OLE automation. Any attempt to do so will fail, probably
|
||||
harmlessly, although possibly in unpredictable ways.
|
||||
|
||||
There is currently no practical way to trap this situation, and users must
|
||||
@@ -118,7 +118,7 @@ simply be aware of the limitation.
|
||||
4. Registration *ole-registration* *E243*
|
||||
|
||||
Before Vim will act as an OLE server, it must be registered in the system
|
||||
registry. In order to do this, Vim should be run with a single parameter of
|
||||
registry. In order to do this, Vim should be run with a single parameter of
|
||||
"-register".
|
||||
*-register* >
|
||||
gvim -register
|
||||
@@ -131,9 +131,9 @@ In some situations registering is not possible. This happens when the
|
||||
registry is not writable. If you run into this problem you need to run gvim
|
||||
as "Administrator".
|
||||
|
||||
Once vim is registered, the application path is stored in the registry. Before
|
||||
moving, deleting, or upgrading Vim, the registry entries should be removed
|
||||
using the "-unregister" switch.
|
||||
Once vim is registered, the application path is stored in the registry.
|
||||
Before moving, deleting, or upgrading Vim, the registry entries should be
|
||||
removed using the "-unregister" switch.
|
||||
*-unregister* >
|
||||
gvim -unregister
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_perl.txt* For Vim version 7.0aa. Last change: 2004 Aug 30
|
||||
*if_perl.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Sven Verdoolaege
|
||||
@@ -9,6 +9,7 @@ Perl and Vim *perl* *Perl*
|
||||
1. Editing Perl files |perl-editing|
|
||||
2. Compiling VIM with Perl interface |perl-compiling|
|
||||
3. Using the Perl interface |perl-using|
|
||||
4. Dynamic loading |perl-dynamic|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -18,7 +19,7 @@ The Perl interface only works when Vim was compiled with the |+perl| feature.
|
||||
1. Editing Perl files *perl-editing*
|
||||
|
||||
Vim syntax highlighting supports Perl and POD files. Vim assumes a file is
|
||||
Perl code if the filename has a .pl or .pm suffix. Vim also examines the first
|
||||
Perl code if the filename has a .pl or .pm suffix. Vim also examines the first
|
||||
line of a file, regardless of the filename suffix, to check if a file is a
|
||||
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
|
||||
is POD text if the filename has a .POD suffix.
|
||||
@@ -50,7 +51,7 @@ http://www.perl.com/CPAN/ports/nt/Standard/x86/
|
||||
3. Using the Perl interface *perl-using*
|
||||
|
||||
*:perl* *:pe*
|
||||
:pe[rl] {cmd} Execute Perl command {cmd}. The current package
|
||||
:pe[rl] {cmd} Execute Perl command {cmd}. The current package
|
||||
is "main".
|
||||
|
||||
:pe[rl] << {endpattern}
|
||||
@@ -84,7 +85,7 @@ Example vim script: >
|
||||
*:perldo* *:perld*
|
||||
:[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the
|
||||
[range], with $_ being set to the text of each line in
|
||||
turn, without a trailing <EOL>. Setting $_ will change
|
||||
turn, without a trailing <EOL>. Setting $_ will change
|
||||
the text, but note that it is not possible to add or
|
||||
delete lines using this command.
|
||||
The default for [range] is the whole file: "1,$".
|
||||
@@ -211,7 +212,7 @@ Buffer->Count() Returns the number of lines in the Buffer.
|
||||
*perl-Get*
|
||||
Buffer->Get({lnum}, {lnum}?, ...)
|
||||
Returns a text string of line {lnum} in the Buffer
|
||||
for each {lnum} specified. An array can be passed
|
||||
for each {lnum} specified. An array can be passed
|
||||
with a list of {lnum}'s specified.
|
||||
|
||||
*perl-Delete*
|
||||
@@ -259,4 +260,22 @@ function: >
|
||||
endif
|
||||
Note that "EOF" must be at the start of the line.
|
||||
|
||||
==============================================================================
|
||||
4. Dynamic loading *perl-dynamic*
|
||||
|
||||
On MS-Windows the Perl library can be loaded dynamically. The |:version|
|
||||
output then includes |+perl/dyn|.
|
||||
|
||||
This means that Vim will search for the Perl DLL file only when needed. When
|
||||
you don't use the Perl interface you don't need it, thus you can use Vim
|
||||
without this DLL file.
|
||||
|
||||
To use the Perl interface the Perl DLL must be in your search path. In a
|
||||
console window type "path" to see what directories are used.
|
||||
|
||||
The name of the DLL must match the Perl version Vim was compiled with.
|
||||
Currently the name is "perl58.dll". That is for Perl 5.8. To know for
|
||||
sure edit "gvim.exe" and search for "perl\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.0aa. Last change: 2004 Jul 25
|
||||
*if_pyth.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -11,6 +11,7 @@ The Python Interface to Vim *python* *Python*
|
||||
3. Buffer objects |python-buffer|
|
||||
4. Range objects |python-range|
|
||||
5. Window objects |python-window|
|
||||
6. Dynamic loading |python-dynamic|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
|
||||
@@ -85,7 +86,7 @@ just like in the Python interpreter.)
|
||||
2. The vim module *python-vim*
|
||||
|
||||
Python code gets all of its access to vim (with one exception - see
|
||||
|python-output| below) via the "vim" module. The vim module implements two
|
||||
|python-output| below) via the "vim" module. The vim module implements two
|
||||
methods, three constants, and one error object. You need to import the vim
|
||||
module before using it: >
|
||||
:python import vim
|
||||
@@ -113,7 +114,7 @@ Overview >
|
||||
Methods of the "vim" module
|
||||
|
||||
vim.command(str) *python-command*
|
||||
Executes the vim (ex-mode) command str. Returns None.
|
||||
Executes the vim (ex-mode) command str. Returns None.
|
||||
Examples: >
|
||||
:py vim.command("set tw=72")
|
||||
:py vim.command("%s/aaa/bbb/g")
|
||||
@@ -130,7 +131,7 @@ vim.command(str) *python-command*
|
||||
|
||||
vim.eval(str) *python-eval*
|
||||
Evaluates the expression str using the vim internal expression
|
||||
evaluator (see |expression|). Returns the expression result as a
|
||||
evaluator (see |expression|). Returns the expression result as a
|
||||
string.
|
||||
Examples: >
|
||||
:py text_width = vim.eval("&tw")
|
||||
@@ -156,7 +157,7 @@ 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 sequence 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
|
||||
@@ -164,7 +165,7 @@ vim.buffers *python-buffers*
|
||||
:py for b in vim.buffers: # Sequential access
|
||||
<
|
||||
vim.windows *python-windows*
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
A sequence object providing access to the list of vim windows. The
|
||||
object supports the following operations: >
|
||||
:py w = vim.windows[i] # Indexing (read-only)
|
||||
:py w in vim.windows # Membership test
|
||||
@@ -179,10 +180,10 @@ vim.current *python-current*
|
||||
vim.current.window The current window (RO) Window
|
||||
vim.current.range The current line range (RO) Range
|
||||
|
||||
The last case deserves a little explanation. When the :python or
|
||||
The last case deserves a little explanation. When the :python or
|
||||
:pyfile command specifies a range, this range of lines becomes the
|
||||
"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.
|
||||
"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.
|
||||
|
||||
|
||||
Output from Python *python-output*
|
||||
@@ -197,31 +198,31 @@ Output from Python *python-output*
|
||||
|
||||
*python-input*
|
||||
Input (via sys.stdin, including input() and raw_input()) is not
|
||||
supported, and may cause the program to crash. This should probably be
|
||||
supported, and may cause the program to crash. This should probably be
|
||||
fixed.
|
||||
|
||||
==============================================================================
|
||||
3. Buffer objects *python-buffer*
|
||||
|
||||
Buffer objects represent vim buffers. You can obtain them in a number of ways:
|
||||
Buffer objects represent vim buffers. You can obtain them in a number of ways:
|
||||
- via vim.current.buffer (|python-current|)
|
||||
- from indexing vim.buffers (|python-buffers|)
|
||||
- from the "buffer" attribute of a window (|python-window|)
|
||||
|
||||
Buffer objects have one read-only attribute - name - the full file name for
|
||||
the buffer. They also have three methods (append, mark, and range; see below).
|
||||
the buffer. They also have three methods (append, mark, and range; see below).
|
||||
|
||||
You can also treat buffer objects as sequence objects. In this context, they
|
||||
You can also treat buffer objects as sequence objects. In this context, they
|
||||
act as if they were lists (yes, they are mutable) of strings, with each
|
||||
element being a line of the buffer. All of the usual sequence operations,
|
||||
element being a line of the buffer. All of the usual sequence operations,
|
||||
including indexing, index assignment, slicing and slice assignment, work as
|
||||
you would expect. Note that the result of indexing (slicing) a buffer is a
|
||||
string (list of strings). This has one unusual consequence - b[:] is different
|
||||
from b. In particular, "b[:] = None" deletes the whole of the buffer, whereas
|
||||
you would expect. Note that the result of indexing (slicing) a buffer is a
|
||||
string (list of strings). This has one unusual consequence - b[:] is different
|
||||
from b. In particular, "b[:] = None" deletes the whole of the buffer, whereas
|
||||
"b = None" merely updates the variable b, with no effect on the buffer.
|
||||
|
||||
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
|
||||
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 methods are:
|
||||
@@ -255,12 +256,12 @@ Examples (assume b is the current buffer) >
|
||||
==============================================================================
|
||||
4. Range objects *python-range*
|
||||
|
||||
Range objects represent a part of a vim buffer. You can obtain them in a
|
||||
Range objects represent a part of a vim buffer. You can obtain them in a
|
||||
number of ways:
|
||||
- via vim.current.range (|python-current|)
|
||||
- from a buffer's range() method (|python-buffer|)
|
||||
|
||||
A range object is almost identical in operation to a buffer object. However,
|
||||
A range object is almost identical in operation to a buffer object. However,
|
||||
all operations are restricted to the lines within the range (this line range
|
||||
can, of course, change as a result of slice assignments, line deletions, or
|
||||
the range.append() method).
|
||||
@@ -283,11 +284,11 @@ Example (assume r is the current range):
|
||||
==============================================================================
|
||||
5. Window objects *python-window*
|
||||
|
||||
Window objects represent vim windows. You can obtain them in a number of ways:
|
||||
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|)
|
||||
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
You can manipulate window objects only through their attributes. They have no
|
||||
methods, and no sequence or other interface.
|
||||
|
||||
Window attributes are:
|
||||
@@ -299,5 +300,22 @@ Window attributes are:
|
||||
The height attribute is writable only if the screen is split horizontally.
|
||||
The width attribute is writable only if the screen is split vertically.
|
||||
|
||||
==============================================================================
|
||||
6. Dynamic loading *python-dynamic*
|
||||
|
||||
On MS-Windows the Python library can be loaded dynamically. The |:version|
|
||||
output then includes |+python/dyn|.
|
||||
|
||||
This means that Vim will search for the Python DLL file only when needed.
|
||||
When you don't use the Python interface you don't need it, thus you can use
|
||||
Vim without this DLL file.
|
||||
|
||||
To use the Python interface the Python DLL must be in your search path. In a
|
||||
console window type "path" to see what directories are used.
|
||||
|
||||
The name of the DLL must match the Python version Vim was compiled with.
|
||||
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".
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 7.0aa. Last change: 2004 Mar 14
|
||||
*if_ruby.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -11,6 +11,7 @@ The Ruby Interface to Vim *ruby* *Ruby*
|
||||
3. VIM::Buffer objects |ruby-buffer|
|
||||
4. VIM::Window objects |ruby-window|
|
||||
5. Global variables |ruby-globals|
|
||||
6. Dynamic loading |ruby-dynamic|
|
||||
|
||||
{Vi does not have any of these commands}
|
||||
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
|
||||
@@ -32,7 +33,7 @@ downloading Ruby there.
|
||||
Execute Ruby script {script}.
|
||||
{endpattern} must NOT be preceded by any white space.
|
||||
If {endpattern} is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands. This
|
||||
like for the |:append| and |:insert| commands. This
|
||||
form of the |:ruby| command is mainly useful for
|
||||
including ruby code in vim scripts.
|
||||
Note: This command doesn't work when the Ruby feature
|
||||
@@ -60,7 +61,7 @@ Example Vim script: >
|
||||
*:rubydo* *:rubyd* *E265*
|
||||
:[range]rubyd[o] {cmd} Evaluate Ruby command {cmd} for each line in the
|
||||
[range], with $_ being set to the text of each line in
|
||||
turn, without a trailing <EOL>. Setting $_ will change
|
||||
turn, without a trailing <EOL>. Setting $_ will change
|
||||
the text, but note that it is not possible to add or
|
||||
delete lines using this command.
|
||||
The default for [range] is the whole file: "1,$".
|
||||
@@ -115,7 +116,7 @@ VIM::command({cmd})
|
||||
*ruby-evaluate*
|
||||
VIM::evaluate({expr})
|
||||
Evaluates {expr} using the vim internal expression evaluator (see
|
||||
|expression|). Returns the expression result as a string.
|
||||
|expression|). Returns the expression result as a string.
|
||||
|
||||
==============================================================================
|
||||
3. VIM::Buffer objects *ruby-buffer*
|
||||
@@ -126,7 +127,7 @@ Class Methods:
|
||||
|
||||
current Returns the current buffer object.
|
||||
count Returns the number of buffers.
|
||||
self[{n}] Returns the buffer object for the number {n}. The first number
|
||||
self[{n}] Returns the buffer object for the number {n}. The first number
|
||||
is 0.
|
||||
|
||||
Methods:
|
||||
@@ -151,7 +152,7 @@ Class Methods:
|
||||
|
||||
current Returns the current window object.
|
||||
count Returns the number of windows.
|
||||
self[{n}] Returns the window object for the number {n}. The first number
|
||||
self[{n}] Returns the window object for the number {n}. The first number
|
||||
is 0.
|
||||
|
||||
Methods:
|
||||
@@ -159,17 +160,36 @@ Methods:
|
||||
buffer Returns the buffer displayed in the window.
|
||||
height Returns the height of the window.
|
||||
height = {n} Sets the window height to {n}.
|
||||
width Returns the width of the window.
|
||||
width = {n} Sets the window width to {n}.
|
||||
cursor Returns a [row, col] array for the cursor position.
|
||||
cursor = [{row}, {col}]
|
||||
Sets the cursor position to {row} and {col}.
|
||||
|
||||
==============================================================================
|
||||
4. Global variables *ruby-globals*
|
||||
5. Global variables *ruby-globals*
|
||||
|
||||
There are two global variables.
|
||||
|
||||
$curwin The current window object.
|
||||
$curbuf The current buffer object.
|
||||
|
||||
==============================================================================
|
||||
6. Dynamic loading *ruby-dynamic*
|
||||
|
||||
On MS-Windows the Ruby library can be loaded dynamically. The |:version|
|
||||
output then includes |+ruby/dyn|.
|
||||
|
||||
This means that Vim will search for the Ruby DLL file only when needed. When
|
||||
you don't use the Ruby interface you don't need it, thus you can use Vim
|
||||
without this DLL file.
|
||||
|
||||
To use the Ruby interface the Ruby DLL must be in your search path. In a
|
||||
console window type "path" to see what directories are used.
|
||||
|
||||
The name of the DLL must match the Ruby version Vim was compiled with.
|
||||
Currently the name is "ruby18.dll". That is for Ruby 1.8. To know for sure
|
||||
edit "gvim.exe" and search for "ruby\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_sniff.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
|
||||
*if_sniff.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -45,7 +45,7 @@ edit source code. On the other hand, you can send queries to SNiFF+ with the
|
||||
:sni[ff] Display all possible requests and the connection
|
||||
status
|
||||
|
||||
Most requests require a symbol (identifier) as parameter. If it is omitted,
|
||||
Most requests require a symbol (identifier) as parameter. If it is omitted,
|
||||
Vim will use the current word under the cursor.
|
||||
The available requests are listed below:
|
||||
|
||||
@@ -54,7 +54,7 @@ request mapping description
|
||||
connect sc Establish connection with SNiFF+.
|
||||
Make sure SNiFF+ is prepared for this in the
|
||||
Preferences
|
||||
disconnect sq Disconnect from SNiFF+. You can reconnect any
|
||||
disconnect sq Disconnect from SNiFF+. You can reconnect any
|
||||
time with :sniff connect (or 'sc')
|
||||
toggle st Toggle between implementation
|
||||
and definition file
|
||||
@@ -80,7 +80,7 @@ show-docu sd Show documentation of symbol
|
||||
gen-docu sD Generate documentation of symbol
|
||||
|
||||
The mappings are defined in a file 'sniff.vim', which is part of every SNiFF+
|
||||
product ($SNIFF_DIR/config/sniff.vim). This file is sourced whenever Vim
|
||||
product ($SNIFF_DIR/config/sniff.vim). This file is sourced whenever Vim
|
||||
connects to SNiFF+.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_tcl.txt* For Vim version 7.0aa. Last change: 2004 Jan 17
|
||||
*if_tcl.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ingo Wilken
|
||||
@@ -14,6 +14,7 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
|
||||
6. Miscellaneous; Output from Tcl |tcl-misc| |tcl-output|
|
||||
7. Known bugs & problems |tcl-bugs|
|
||||
8. Examples |tcl-examples|
|
||||
9. Dynamic loading |tcl-dynamic|
|
||||
|
||||
{Vi does not have any of these commands} *E280* *E281*
|
||||
|
||||
@@ -36,7 +37,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
|
||||
wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
{endmarker} must NOT be preceded by any white space. If {endmarker} is
|
||||
{endmarker} must NOT be preceded by any white space. If {endmarker} is
|
||||
omitted from after the "<<", a dot '.' must be used after {script}, like for
|
||||
the |:append| and |:insert| commands.
|
||||
This form of the |:tcl| command is mainly useful for including tcl code in Vim
|
||||
@@ -152,7 +153,7 @@ Commands:
|
||||
|
||||
::vim::window {option} *tcl-window*
|
||||
Provides access to vim windows. Currently only the "list" option is
|
||||
implemented. This creates a window command (see |tcl-window-cmds|) for
|
||||
implemented. This creates a window command (see |tcl-window-cmds|) for
|
||||
each window, and returns a list of the command names as the result.
|
||||
Example: >
|
||||
set wins [::vim::window list]
|
||||
@@ -227,7 +228,7 @@ The ::vim::current(window) variable contains the name of the window command
|
||||
for the current window. A window command is automatically deleted when the
|
||||
corresponding vim window is closed.
|
||||
|
||||
Lets assume the name of the window command is stored in the Tcl variable "win",
|
||||
Let's assume the name of the window command is stored in the Tcl variable "win",
|
||||
i.e. "$win" calls the command. The following options are available: >
|
||||
|
||||
$win buffer # Create Tcl command for window's buffer.
|
||||
@@ -306,7 +307,7 @@ changed, all marks in the buffer are automatically adjusted. Any changes to
|
||||
the buffer's contents made by Tcl commands can be undone with the "undo" vim
|
||||
command (see |undo|).
|
||||
|
||||
Lets assume the name of the buffer command is stored in the Tcl variable "buf",
|
||||
Let's assume the name of the buffer command is stored in the Tcl variable "buf",
|
||||
i.e. "$buf" calls the command. The following options are available: >
|
||||
|
||||
$buf append {n} {str} # Append a line to buffer, after line {n}.
|
||||
@@ -497,7 +498,7 @@ This procedure runs an ex command on each buffer (idea stolen from Ron Aaron):
|
||||
}
|
||||
Use it like this:
|
||||
:tcl eachbuf %s/foo/bar/g
|
||||
Be careful with Tcl's string and backslash substitution, tough. If in doubt,
|
||||
Be careful with Tcl's string and backslash substitution, tough. If in doubt,
|
||||
surround the ex command with curly braces.
|
||||
|
||||
|
||||
@@ -508,5 +509,22 @@ startup file (usually "~/.vimrc" on Unix):
|
||||
tclfile ~/.vimrc.tcl
|
||||
endif
|
||||
|
||||
==============================================================================
|
||||
9. Dynamic loading *tcl-dynamic*
|
||||
|
||||
On MS-Windows the Tcl library can be loaded dynamically. The |:version|
|
||||
output then includes |+tcl/dyn|.
|
||||
|
||||
This means that Vim will search for the Tcl DLL file only when needed. When
|
||||
you don't use the Tcl interface you don't need it, thus you can use Vim
|
||||
without this DLL file.
|
||||
|
||||
To use the Tcl interface the Tcl DLL must be in your search path. In a
|
||||
console window type "path" to see what directories are used.
|
||||
|
||||
The name of the DLL must match the Tcl version Vim was compiled with.
|
||||
Currently the name is "tcl83.dll". That is for Tcl 8.3. To know for sure
|
||||
edit "gvim.exe" and search for "tcl\d*.dll\c".
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*indent.txt* For Vim version 7.0aa. Last change: 2004 Sep 02
|
||||
*indent.txt* For Vim version 7.0aa. Last change: 2005 Aug 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -237,7 +237,7 @@ assume a 'shiftwidth' of 4.
|
||||
} }
|
||||
<
|
||||
bN If N != 0 Vim will align a final "break" with the case label,
|
||||
so that case..break looks like a sort of block. (default: 0).
|
||||
so that case..break looks like a sort of block. (default: 0).
|
||||
|
||||
cino= cino=b1 >
|
||||
switch (x) switch(x)
|
||||
@@ -325,7 +325,7 @@ assume a 'shiftwidth' of 4.
|
||||
********/ ********/
|
||||
< (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
|
||||
|
||||
/N Indent comment lines N characters extra. (default 0).
|
||||
/N Indent comment lines N characters extra. (default 0).
|
||||
cino= cino=/4 >
|
||||
a = b; a = b;
|
||||
/* comment */ /* comment */
|
||||
@@ -381,7 +381,7 @@ assume a 'shiftwidth' of 4.
|
||||
the last non-white character in its line and it is not the
|
||||
closing parentheses, indent the following line N characters
|
||||
relative to the outer context (i.e. start of the line or the
|
||||
next unclosed parentheses). (default: 0).
|
||||
next unclosed parentheses). (default: 0).
|
||||
|
||||
cino=(0 cino=(0,W4 >
|
||||
a_long_line( a_long_line(
|
||||
@@ -406,7 +406,7 @@ assume a 'shiftwidth' of 4.
|
||||
<
|
||||
*java-cinoptions* *java-indenting*
|
||||
jN Indent java anonymous classes correctly. The value 'N' is
|
||||
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
|
||||
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
|
||||
indent for example the following code snippet correctly: >
|
||||
|
||||
object.add(new ChangeListener() {
|
||||
@@ -449,33 +449,33 @@ $VIMRUNTIME/indent directory for examples.
|
||||
REMARKS ABOUT SPECIFIC INDENT FILES ~
|
||||
|
||||
|
||||
FORTRAN *fortran-indent*
|
||||
FORTRAN *ft-fortran-indent*
|
||||
|
||||
Block if, select case, and where constructs are indented. Comments, labelled
|
||||
Block if, select case, and where constructs are indented. Comments, labelled
|
||||
statements and continuation lines are indented if the Fortran is in free
|
||||
source form, whereas they are not indented if the Fortran is in fixed source
|
||||
form because of the left margin requirements. Hence manual indent corrections
|
||||
form because of the left margin requirements. Hence manual indent corrections
|
||||
will be necessary for labelled statements and continuation lines when fixed
|
||||
source form is being used. For further discussion of the method used for the
|
||||
detection of source format see |fortran-syntax|.
|
||||
source form is being used. For further discussion of the method used for the
|
||||
detection of source format see |ft-fortran-syntax|.
|
||||
|
||||
Do loops ~
|
||||
All do loops are left unindented by default. Do loops can be unstructured in
|
||||
All do loops are left unindented by default. Do loops can be unstructured in
|
||||
Fortran with (possibly multiple) loops ending on a labelled executable
|
||||
statement of almost arbitrary type. Correct indentation requires
|
||||
compiler-quality parsing. Old code with do loops ending on labelled statements
|
||||
statement of almost arbitrary type. Correct indentation requires
|
||||
compiler-quality parsing. Old code with do loops ending on labelled statements
|
||||
of arbitrary type can be indented with elaborate programs such as Tidy
|
||||
(http://www.unb.ca/chem/ajit/f_tidy.htm). Structured do/continue loops are
|
||||
(http://www.unb.ca/chem/ajit/f_tidy.htm). Structured do/continue loops are
|
||||
also left unindented because continue statements are also used for purposes
|
||||
other than ending a do loop. Programs such as Tidy can convert structured
|
||||
do/continue loops to the do/enddo form. Do loops of the do/enddo variety can
|
||||
be indented. If you use only structured loops of the do/enddo form, you should
|
||||
other than ending a do loop. Programs such as Tidy can convert structured
|
||||
do/continue loops to the do/enddo form. Do loops of the do/enddo variety can
|
||||
be indented. If you use only structured loops of the do/enddo form, you should
|
||||
declare this by setting the fortran_do_enddo variable in your .vimrc as
|
||||
follows >
|
||||
|
||||
let fortran_do_enddo=1
|
||||
|
||||
in which case do loops will be indented. If all your loops are of do/enddo
|
||||
in which case do loops will be indented. If all your loops are of do/enddo
|
||||
type only in, say, .f90 files, then you should set a buffer flag with an
|
||||
autocommand such as >
|
||||
|
||||
@@ -485,7 +485,21 @@ to get do loops indented in .f90 files and left alone in Fortran files with
|
||||
other extensions such as .for.
|
||||
|
||||
|
||||
VERILOG *verilog-indent*
|
||||
PYTHON *ft-python-indent*
|
||||
|
||||
The amount of indent can be set for the following situations. The examples
|
||||
given are de the defaults. Note that the variables are set to an expression,
|
||||
so that you can change the value of 'shiftwidth' later.
|
||||
|
||||
Indent after an open paren: >
|
||||
let g:pyindent_open_paren = '&sw * 2'
|
||||
Indent after a nested paren: >
|
||||
let g:pyindent_nested_paren = '&sw'
|
||||
Indent for a continuation line: >
|
||||
let g:pyindent_continue = '&sw * 2'
|
||||
|
||||
|
||||
VERILOG *ft-verilog-indent*
|
||||
|
||||
General block statements such as if, for, case, always, initial, function,
|
||||
specify and begin, etc., are indented. The module block statements (first
|
||||
@@ -520,7 +534,7 @@ In addition, you can turn the verbose mode for debug issue: >
|
||||
Make sure to do ":set cmdheight=2" first to allow the display of the message.
|
||||
|
||||
|
||||
VIM *vim-indent*
|
||||
VIM *ft-vim-indent*
|
||||
|
||||
For indenting Vim scripts there is one variable that specifies the amount of
|
||||
indent for a continuation line, a line that starts with a backslash: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
*index.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -150,12 +150,15 @@ commands in CTRL-X submode *i_CTRL-X_index*
|
||||
|i_CTRL-X_CTRL-K| CTRL-X CTRL-K complete identifiers from dictionary
|
||||
|i_CTRL-X_CTRL-L| CTRL-X CTRL-L complete whole lines
|
||||
|i_CTRL-X_CTRL-N| CTRL-X CTRL-N next completion
|
||||
|i_CTRL-X_CTRL-O| CTRL-X CTRL-O omni completion
|
||||
|i_CTRL-X_CTRL-P| CTRL-X CTRL-P previous completion
|
||||
|i_CTRL-X_CTRL-S| CTRL-X CTRL-S spelling suggestions
|
||||
|i_CTRL-X_CTRL-T| CTRL-X CTRL-T complete identifiers from thesaurus
|
||||
|i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y scroll down
|
||||
|i_CTRL-X_CTRL-U| CTRL-X CTRL-U complete with 'completefunc'
|
||||
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|
||||
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|
||||
|i_CTRL-X_s| CTRL-X s spelling suggestions
|
||||
{not available when compiled without the +insert_expand feature}
|
||||
|
||||
==============================================================================
|
||||
@@ -340,9 +343,9 @@ tag char note action in Normal mode ~
|
||||
"yy"
|
||||
|ZZ| ZZ store current file if modified, and exit
|
||||
|ZQ| ZQ exit current file always
|
||||
|[| [{char} square bracket command (see below)
|
||||
|[| [{char} square bracket command (see |[| below)
|
||||
\ not used
|
||||
|]| ]{char} square bracket command (see below)
|
||||
|]| ]{char} square bracket command (see |]| below)
|
||||
|^| ^ 1 cursor to the first CHAR of the line
|
||||
|_| _ 1 cursor to the first CHAR N - 1 lines lower
|
||||
|`| `{a-zA-Z0-9} 1 cursor to the mark {a-zA-Z0-9}
|
||||
@@ -370,7 +373,7 @@ tag char note action in Normal mode ~
|
||||
|e| e 1 cursor forward to the end of word N
|
||||
|f| f{char} 1 cursor to Nth occurrence of {char} to the
|
||||
right
|
||||
|g| g{char} extended commands, see below
|
||||
|g| g{char} extended commands, see |g| below
|
||||
|h| h 1 cursor N chars to the left
|
||||
|i| i 2 insert text before the cursor N times
|
||||
|j| j 1 cursor N lines downward
|
||||
@@ -400,7 +403,7 @@ tag char note action in Normal mode ~
|
||||
cursor [into buffer x]
|
||||
|y| ["x]y{motion} yank Nmove text [into buffer x]
|
||||
|yy| ["x]yy yank N lines [into buffer x]
|
||||
|z| z{char} commands starting with 'z', see below
|
||||
|z| z{char} commands starting with 'z', see |z| below
|
||||
|{| { 1 cursor N paragraphs backward
|
||||
|bar| | 1 cursor to column N
|
||||
|}| } 1 cursor N paragraphs forward
|
||||
@@ -684,6 +687,7 @@ tag char note action in Normal mode ~
|
||||
of the current screen line
|
||||
|g8| g8 print hex value of bytes used in UTF-8
|
||||
character under the cursor
|
||||
|g<| g< display previous command output
|
||||
|g?| g? 2 Rot13 encoding operator
|
||||
|g?g?| g?? 2 Rot13 encode current line
|
||||
|g?g?| g?g? 2 Rot13 encode current line
|
||||
@@ -732,6 +736,7 @@ tag char note action in Normal mode ~
|
||||
|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
|
||||
|g@| g@{motion} call 'operatorfunc'
|
||||
|g~| g~{motion} 2 swap case for Nmove text
|
||||
|g<Down>| g<Down> 1 same as "gj"
|
||||
|g<End>| g<End> 1 same as "g$"
|
||||
@@ -755,16 +760,19 @@ tag char note action in Normal mode ~
|
||||
cursor on first non-blank
|
||||
|z.| z. redraw, cursor line to center of window,
|
||||
cursor on first non-blank
|
||||
|z=| z= make spelling suggestions
|
||||
|zA| zA open a closed fold or close an open fold
|
||||
recursively
|
||||
|zC| zC close folds recursively
|
||||
|zD| zD delete folds recursively
|
||||
|zE| zE eliminate all folds
|
||||
|zF| zF create a fold for N lines
|
||||
|zG| zG mark word as good spelled word
|
||||
|zM| zM set 'foldlevel' to zero
|
||||
|zN| zN set 'foldenable'
|
||||
|zO| zO open folds recursively
|
||||
|zR| zR set 'foldlevel' to the deepest fold
|
||||
|zW| zW mark word as wrong (bad) spelled word
|
||||
|zX| zX re-apply 'foldlevel'
|
||||
|z^| z^ cursor on line N (default line above
|
||||
window), otherwise like "z-"
|
||||
@@ -776,6 +784,7 @@ tag char note action in Normal mode ~
|
||||
position the cursor at the end (right side)
|
||||
of the screen
|
||||
|zf| zf{motion} create a fold for Nmove text
|
||||
|zg| zg mark word as good spelled word
|
||||
|zh| zh when 'wrap' off scroll screen N characters
|
||||
to the right
|
||||
|zi| zi toggle 'foldenable'
|
||||
@@ -792,6 +801,7 @@ tag char note action in Normal mode ~
|
||||
side) of the screen
|
||||
|zt| zt redraw, cursor line at top of window
|
||||
|zv| zv open enough folds to view the cursor line
|
||||
|zw| zw mark word as wrong (bad) spelled word
|
||||
|zx| zx re-apply 'foldlevel' and do "zv"
|
||||
|zz| zz redraw, cursor line at center of window
|
||||
|z<Left>| z<Left> same as "zh"
|
||||
@@ -800,7 +810,7 @@ tag char note action in Normal mode ~
|
||||
==============================================================================
|
||||
3. Visual mode *visual-index*
|
||||
|
||||
Most commands in Visual mode are the same as in Normal mode. The ones listed
|
||||
Most commands in Visual mode are the same as in Normal mode. The ones listed
|
||||
here are those that are different.
|
||||
|
||||
tag command note action in Visual mode ~
|
||||
@@ -1059,6 +1069,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:cNfile| :cNf[ile] go to last error in previous file
|
||||
|:cabbrev| :ca[bbrev] like ":abbreviate" but for Command-line mode
|
||||
|:cabclear| :cabc[lear] clear all abbreviations for Command-line mode
|
||||
|:caddfile| :cad[dfile] add error message to current quickfix list
|
||||
|:call| :cal[l] call a function
|
||||
|:catch| :cat[ch] part of a :try command
|
||||
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|
||||
@@ -1066,6 +1077,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:cclose| :ccl[ose] close quickfix window
|
||||
|:cd| :cd change directory
|
||||
|:center| :ce[nter] format lines at the center
|
||||
|:cexpr| :cex[pr] read errors from expr and jump to first
|
||||
|:cfile| :cf[ile] read file with error messages and jump to first
|
||||
|:cfirst| :cfir[st] go to the specified error, default first one
|
||||
|:cgetfile| :cg[etfile] read file with error messages
|
||||
@@ -1137,6 +1149,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:elseif| :elsei[f] part of an :if command
|
||||
|:emenu| :em[enu] execute a menu by name
|
||||
|:endif| :en[dif] end previous :if
|
||||
|:endfor| :endfo[r] end previous :for
|
||||
|:endfunction| :endf[unction] end of a user function
|
||||
|:endtry| :endt[ry] end previous :try
|
||||
|:endwhile| :endw[hile] end previous :while
|
||||
@@ -1158,11 +1171,12 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:folddoopen| :foldd[oopen] execute command on lines not in a closed fold
|
||||
|:folddoclosed| :folddoc[losed] execute command on lines in a closed fold
|
||||
|:foldopen| :foldo[pen] open folds
|
||||
|:for| :for for loop
|
||||
|:function| :fu[nction] define a user function
|
||||
|:global| :g[lobal] execute commands for matching lines
|
||||
|:goto| :go[to] go to byte in the buffer
|
||||
|:grep| :gr[ep] run 'grepprg' and jump to first match
|
||||
|:grepadd| :grepa[dd] like grep, but append to current list
|
||||
|:grepadd| :grepa[dd] like :grep, but append to current list
|
||||
|:gui| :gu[i] start the GUI
|
||||
|:gvim| :gv[im] start the GUI
|
||||
|:hardcopy| :ha[rdcopy] send text to the printer
|
||||
@@ -1195,6 +1209,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:join| :j[oin] join lines
|
||||
|:jumps| :ju[mps] print the jump list
|
||||
|:k| :k set a mark
|
||||
|:keepalt| :keepa[lt] following command keeps the alternate file
|
||||
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|
||||
|:keepjumps| :keepj[jumps] following command keeps jumplist and marks
|
||||
|:list| :l[ist] print lines
|
||||
@@ -1211,6 +1226,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:loadkeymap| :loadk[eymap] load the following keymaps until EOF
|
||||
|:loadview| :lo[adview] load view for current window from a file
|
||||
|:lockmarks| :loc[kmarks] following command keeps marks where they are
|
||||
|:lockvar| :lockv[ar] lock variables
|
||||
|:ls| :ls list all buffers
|
||||
|:lunmap| :lu[nmap] like ":unmap!" but includes Lang-Arg mode
|
||||
|:move| :m[ove] move lines
|
||||
@@ -1226,11 +1242,13 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:messages| :mes[sages] view previously displayed messages
|
||||
|:mkexrc| :mk[exrc] write current mappings and settings to a file
|
||||
|:mksession| :mks[ession] write session info to a file
|
||||
|:mkspell| :mksp[ell] produce .spl spell file
|
||||
|:mkvimrc| :mkv[imrc] write current mappings and settings to a file
|
||||
|:mkview| :mkvie[w] write view of current window to a file
|
||||
|:mode| :mod[e] show or change the screen mode
|
||||
|:mzscheme| :mz[scheme] execute MzScheme command
|
||||
|:mzfile| :mzf[ile] execute MzScheme script file
|
||||
|:nbkey| :nb[key] pass a key to Netbeans
|
||||
|:next| :n[ext] go to next file in the argument list
|
||||
|:new| :new create a new empty window
|
||||
|:nmap| :nm[ap] like ":map" but for Normal mode
|
||||
@@ -1238,6 +1256,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:nmenu| :nme[nu] add menu for Normal mode
|
||||
|:nnoremap| :nn[oremap] like ":noremap" but for Normal mode
|
||||
|:nnoremenu| :nnoreme[nu] like ":noremenu" but for Normal mode
|
||||
|:noautocmd| :noa[utocmd] following command don't trigger autocommands
|
||||
|:noremap| :no[remap] enter a mapping that will not be remapped
|
||||
|:nohlsearch| :noh[lsearch] suspend 'hlsearch' highlighting
|
||||
|:noreabbrev| :norea[bbrev] enter an abbreviation that will not be
|
||||
@@ -1257,10 +1276,14 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:options| :opt[ions] open the options-window
|
||||
|:ounmap| :ou[nmap] like ":unmap" but for Operator-pending mode
|
||||
|:ounmenu| :ounme[nu] remove menu for Operator-pending mode
|
||||
|:print| :p[rint] print lines
|
||||
|:pclose| :pc[lose] close preview window
|
||||
|:pedit| :ped[it] edit file in the preview window
|
||||
|:perl| :pe[rl] execute Perl command
|
||||
|:print| :p[rint] print lines
|
||||
|:profdel| :profd[el] stop profiling a function or script
|
||||
|:profile| :prof[ile] profiling functions and scripts
|
||||
|:promptfind| :pro[mtfind] open GUI dialog for searching
|
||||
|:promptrepl| :promtr[epl] open GUI dialog for search/replace
|
||||
|:perldo| :perld[o] execute Perl command for each line
|
||||
|:pop| :po[p] jump to older entry in tag stack
|
||||
|:popup| :pop[up] popup a menu by name
|
||||
@@ -1307,6 +1330,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:substitute| :s[ubstitute] find and replace text
|
||||
|:sNext| :sN[ext] split window and go to previous file in
|
||||
argument list
|
||||
|:sandbox| :san[dbox] execute a command in the sandbox
|
||||
|:sargument| :sa[rgument] split window and go to specific file in
|
||||
argument list
|
||||
|:sall| :sal[l] open a window for each file in argument list
|
||||
@@ -1350,7 +1374,12 @@ The commands are sorted on the non-optional part of their name.
|
||||
argument list
|
||||
|:sniff| :sni[ff] send request to sniff
|
||||
|:snomagic| :sno[magic] :substitute with 'nomagic'
|
||||
|:sort| :sor[t] sort lines
|
||||
|:source| :so[urce] read Vim or Ex commands from a file
|
||||
|:spelldump| :spelld[ump] split window and fill with all correct words
|
||||
|:spellgood| :spe[llgood] add good word for spelling
|
||||
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|
||||
|:spellwrong| :spellw[rong] add spelling mistake
|
||||
|:split| :sp[lit] split current window
|
||||
|:sprevious| :spr[evious] split window and go to previous file in the
|
||||
argument list
|
||||
@@ -1395,6 +1424,7 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:unhide| :unh[ide] open a window for each loaded file in the
|
||||
buffer list
|
||||
|:unlet| :unl[et] delete variable
|
||||
|:unlockvar| :unlo[ckvar] unlock variables
|
||||
|:unmap| :unm[ap] remove mapping
|
||||
|:unmenu| :unme[nu] remove menu
|
||||
|:update| :up[date] write buffer if modified
|
||||
@@ -1402,6 +1432,8 @@ The commands are sorted on the non-optional part of their name.
|
||||
|:version| :ve[rsion] print version number and other info
|
||||
|:verbose| :verb[ose] execute command with 'verbose' set
|
||||
|:vertical| :vert[ical] make following command split vertically
|
||||
|:vimgrep| :vim[grep] search for pattern in files
|
||||
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|
||||
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
|
||||
|:viusage| :viu[sage] overview of Normal mode commands
|
||||
|:view| :vie[w] edit a file read-only
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.0aa. Last change: 2005 Jan 05
|
||||
*insert.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -53,7 +53,8 @@ char action ~
|
||||
yourself to use CTRL-[.
|
||||
*i_CTRL-C*
|
||||
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
|
||||
abbreviations.
|
||||
abbreviations. Does not trigger the |InsertLeave| autocommand
|
||||
event.
|
||||
|
||||
*i_CTRL-@*
|
||||
CTRL-@ Insert previously inserted text and stop insert. {Vi: only
|
||||
@@ -189,7 +190,7 @@ CTRL-Q Same as CTRL-V.
|
||||
work then. It does work in the GUI.
|
||||
|
||||
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
|
||||
be given to complete words or scroll the window. See
|
||||
be given to complete words or scroll the window. See
|
||||
|i_CTRL-X| and |ins-completion|. {not in Vi}
|
||||
|
||||
*i_CTRL-E*
|
||||
@@ -270,7 +271,7 @@ entered directly. This way you can enter any character, except a line break
|
||||
|
||||
first char mode max nr of chars max value ~
|
||||
(none) decimal 3 255
|
||||
o or O octal 3 255
|
||||
o or O octal 3 377 (255)
|
||||
x or X hexadecimal 2 ff (255)
|
||||
u hexadecimal 4 ffff (65535)
|
||||
U hexadecimal 8 7fffffff (2147483647)
|
||||
@@ -353,6 +354,8 @@ CTRL-G CTRL-J cursor one line down, insert start column *i_CTRL-G_CTRL-J*
|
||||
<MouseUp> scroll three lines up *i_<MouseUp>*
|
||||
<S-MouseUp> scroll a full page up *i_<S-MouseUp>*
|
||||
CTRL-O execute one command, return to Insert mode *i_CTRL-O*
|
||||
CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
|
||||
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
|
||||
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
@@ -362,7 +365,8 @@ option.
|
||||
The CTRL-O command sometimes has a side effect: If the cursor was beyond the
|
||||
end of the line, it will be put on the last character in the line. In
|
||||
mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
|
||||
will then always put the cursor on it).
|
||||
will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
|
||||
beware of the cursor possibly being beyond the end of the line.
|
||||
|
||||
The shifted cursor keys are not available on all terminals.
|
||||
|
||||
@@ -391,7 +395,7 @@ The CTRL-G j and CTRL-G k commands can be used to insert text in front of a
|
||||
column. Example: >
|
||||
int i;
|
||||
int j;
|
||||
Position the cursor on the first "int", type "istatic<C-G>j ". The
|
||||
Position the cursor on the first "int", type "istatic <C-G>j ". The
|
||||
result is: >
|
||||
static int i;
|
||||
int j;
|
||||
@@ -546,7 +550,7 @@ entering new data while keeping all the columns aligned.
|
||||
==============================================================================
|
||||
7. Insert mode completion *ins-completion*
|
||||
|
||||
In Insert and Replace modes, there are several commands to complete part of a
|
||||
In Insert and Replace mode, there are several commands to complete part of a
|
||||
keyword or line that has been typed. This is useful if you are using
|
||||
complicated keywords (e.g., function names with capitals and underscores).
|
||||
|
||||
@@ -564,7 +568,10 @@ Completion can be done for:
|
||||
7. file names |i_CTRL-X_CTRL-F|
|
||||
8. definitions or macros |i_CTRL-X_CTRL-D|
|
||||
9. Vim command-line |i_CTRL-X_CTRL-V|
|
||||
10. keywords in 'complete' |i_CTRL-N|
|
||||
10. User defined completion |i_CTRL-X_CTRL-U|
|
||||
11. omni completion |i_CTRL-X_CTRL-O|
|
||||
12. Spelling suggestions |i_CTRL-X_s|
|
||||
13. keywords in 'complete' |i_CTRL-N|
|
||||
|
||||
All these (except 2) are done in CTRL-X mode. This is a sub-mode of Insert
|
||||
and Replace modes. You enter CTRL-X mode by typing CTRL-X and one of the
|
||||
@@ -611,12 +618,12 @@ Completing whole lines *compl-whole-line*
|
||||
|
||||
*i_CTRL-X_CTRL-L*
|
||||
CTRL-X CTRL-L Search backwards for a line that starts with the
|
||||
same characters as in the current line before the
|
||||
cursor. Indent is ignored. The found line is
|
||||
same characters as those in the current line before
|
||||
the cursor. Indent is ignored. The matching line is
|
||||
inserted in front of the cursor.
|
||||
The 'complete' option is used to decide in which
|
||||
buffers a match is searched for. But only loaded
|
||||
buffers are used.
|
||||
The 'complete' option is used to decide which buffers
|
||||
are searched for a match. Only loaded buffers are
|
||||
used.
|
||||
CTRL-L or
|
||||
CTRL-P Search backwards for next matching line. This line
|
||||
replaces the previous matching line.
|
||||
@@ -667,6 +674,9 @@ at least two characters is matched.
|
||||
just type:
|
||||
printf("(%g, %g, %g)", vector[0], ^P[1], ^P[2]);
|
||||
|
||||
The search wraps around the end of the file, the value of 'wrapscan' is not
|
||||
used here.
|
||||
|
||||
Multiple repeats of the same completion are skipped; thus a different match
|
||||
will be inserted at each CTRL-N and CTRL-P (unless there is only one
|
||||
matching keyword).
|
||||
@@ -725,7 +735,7 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
|
||||
keyword replaces the previous matching keyword.
|
||||
|
||||
*i_CTRL-X_CTRL-T*
|
||||
CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
|
||||
the 'thesaurus' option instead of 'dictionary'. If a
|
||||
match is found in the thesaurus file, all the
|
||||
remaining words on the same line are included as
|
||||
@@ -838,7 +848,8 @@ CTRL-X CTRL-D Search in the current and included files for the
|
||||
Completing Vim commands *compl-vim*
|
||||
|
||||
Completion is context-sensitive. It works like on the Command-line. It
|
||||
completes an Ex command as well as its arguments.
|
||||
completes an Ex command as well as its arguments. This is useful when writing
|
||||
a Vim script.
|
||||
|
||||
*i_CTRL-X_CTRL-V*
|
||||
CTRL-X CTRL-V Guess what kind of item is in front of the cursor and
|
||||
@@ -857,11 +868,11 @@ CTRL-X CTRL-V Guess what kind of item is in front of the cursor and
|
||||
completion, for example: >
|
||||
:imap <Tab> <C-X><C-V>
|
||||
|
||||
User defined completing *compl-function*
|
||||
User defined completion *compl-function*
|
||||
|
||||
Completion is done by a function that can be defined by the user with the
|
||||
'completefunc' option. See the option for how the function is called and an
|
||||
example.
|
||||
'completefunc' option. See the 'completefunc' help for how the function
|
||||
is called and an example.
|
||||
|
||||
*i_CTRL-X_CTRL-U*
|
||||
CTRL-X CTRL-U Guess what kind of item is in front of the cursor and
|
||||
@@ -874,6 +885,47 @@ CTRL-X CTRL-U Guess what kind of item is in front of the cursor and
|
||||
previous one.
|
||||
|
||||
|
||||
Omni completion *compl-omni*
|
||||
|
||||
Completion is done by a function that can be defined by the user with the
|
||||
'omnifunc' option. This is to be used for filetype-specific completion.
|
||||
|
||||
See the 'completefunc' help for how the function is called and an example.
|
||||
For remarks about specific filetypes see |compl-omni-filetypes|.
|
||||
|
||||
*i_CTRL-X_CTRL-O*
|
||||
CTRL-X CTRL-O Guess what kind of item is in front of the cursor and
|
||||
find the first match for it.
|
||||
CTRL-O or
|
||||
CTRL-N Use the next match. This match replaces the previous
|
||||
one.
|
||||
|
||||
CTRL-P Use the previous match. This match replaces the
|
||||
previous one.
|
||||
|
||||
|
||||
Spelling suggestions *compl-spelling*
|
||||
|
||||
A word before or at the cursor is located and correctly spelled words are
|
||||
suggested to replace it. If there is a badly spelled word in the line, before
|
||||
or under the cursor, the cursor is moved to after it. Otherwise the word just
|
||||
before the cursor is used for suggestions, even though it isn't badly spelled.
|
||||
|
||||
NOTE: CTRL-S suspends display in many Unix terminals. Use 's' instead. Type
|
||||
CTRL-Q to resume displaying.
|
||||
|
||||
*i_CTRL-X_CTRL-S* *i_CTRL-X_s*
|
||||
CTRL-X CTRL-S or
|
||||
CTRL-X s Locate the word in front of the cursor and find the
|
||||
first spell suggestion for it.
|
||||
CTRL-S or
|
||||
CTRL-N Use the next suggestion. This replaces the previous
|
||||
one. Note that you can't use 's' here.
|
||||
|
||||
CTRL-P Use the previous suggestion. This replaces the
|
||||
previous one.
|
||||
|
||||
|
||||
Completing keywords from different sources *compl-generic*
|
||||
|
||||
*i_CTRL-N*
|
||||
@@ -899,6 +951,202 @@ CTRL-P Find previous match for words that start with the
|
||||
copy the words following the previous expansion in
|
||||
other contexts unless a double CTRL-X is used.
|
||||
|
||||
|
||||
INSERT COMPLETION POPUP MENU *ins-completion-menu*
|
||||
|
||||
Vim can display the matches in a simplistic popup menu.
|
||||
|
||||
The menu is used when:
|
||||
- The 'completeopt' option contains "menu".
|
||||
- The terminal supports at least 8 colors.
|
||||
- There are at least two matches.
|
||||
|
||||
While the menu is displayed these keys have a special meaning:
|
||||
<CR> and <Enter>: Accept the currently selected match
|
||||
<Up>: Select the previous match, as if CTRL-P was used
|
||||
<Down>: Select the next match, as if CTRL-N was used
|
||||
|
||||
The colors of the menu can be changed with these highlight groups:
|
||||
Pmenu normal item |hl-Pmenu|
|
||||
PmenuSel selected item |hl-PmenuSel|
|
||||
PmenuSbar scrollbar |hl-PmenuSbar|
|
||||
PmenuThumb thumb of the scrollbar |hl-PmenuThumb|
|
||||
|
||||
|
||||
Filetype-specific remarks for omni completion *compl-omni-filetypes*
|
||||
|
||||
|
||||
C *ft-c-omni*
|
||||
|
||||
Completion of C code requires a tags file. You should use Exuberant ctags,
|
||||
because it adds extra information that is needed for completion. You can find
|
||||
it here: http://ctags.sourceforge.net/
|
||||
For version 5.5.4 you should add a patch that adds the "typename:" field:
|
||||
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
|
||||
|
||||
If you want to complete system functions you can do something like this. Use
|
||||
ctags to generate a tags file for all the system header files: >
|
||||
% ctags -R -f ~/.vim/systags /usr/include /usr/local/include
|
||||
In your vimrc file add this tags file to the 'tags' option: >
|
||||
set tags+=~/.vim/systags
|
||||
|
||||
When using CTRL-X CTRL-O after a name without any "." or "->" it is completed
|
||||
from the tags file directly. This works for any identifier, also function
|
||||
names. If you want to complete a local variable name, which does not appear
|
||||
in the tags file, use CTRL-P instead.
|
||||
|
||||
When using CTRL-X CTRL-O after something that has "." or "->" Vim will attempt
|
||||
to recognize the type of the variable and figure out what members it has.
|
||||
This means only members valid for the variable will be listed.
|
||||
|
||||
When a member name already was complete, CTRL-X CTRL-O will add a "." or
|
||||
"->" for composite types.
|
||||
|
||||
Vim doesn't include a C compiler, only the most obviously formatted
|
||||
declarations are recognized. Preprocessor stuff may cause confusion.
|
||||
When the same structure name appears in multiple places all possible members
|
||||
are included.
|
||||
|
||||
|
||||
CSS *ft-css-omni*
|
||||
|
||||
Complete properties and their appropriate values according to CSS 2.1
|
||||
specification.
|
||||
|
||||
|
||||
(X)HTML *ft-html-omni*
|
||||
*ft-xhtml-omni*
|
||||
|
||||
CTRL-X CTRL-O provides completion of various elements of (X)HTML files.
|
||||
It is designed to support writing of XHTML 1.0 Strict files but will
|
||||
also works for other versions of HTML. Features:
|
||||
|
||||
- after "<" complete tag name depending on context (no div suggest
|
||||
inside of an a tag)
|
||||
- inside of tag complete proper attributes (no width attribute for an
|
||||
a tag)
|
||||
- when attribute has limited number of possible values help to complete
|
||||
them
|
||||
- complete names of entities
|
||||
- complete values of "class" and "id" attributes with data obtained from
|
||||
style tag and included CSS files
|
||||
- when completing "style" attribute or working inside of "style" tag
|
||||
switch to |ft-css-omni| completion
|
||||
- when used after "</" CTRL-X CTRL-O will close the last opened tag
|
||||
|
||||
Note: When used first time completion menu will be shown with little delay
|
||||
- this is time needed for loading of data file.
|
||||
|
||||
|
||||
XML *ft-xml-omni*
|
||||
|
||||
Vim 7 provides mechanism to context aware completion of XML files. It depends
|
||||
on special |xml-omni-datafile| and two commands: |:XMLns| and |:XMLent|.
|
||||
Features are:
|
||||
|
||||
- after "<" complete tag name depending on context (no div suggest
|
||||
inside of an a tag)
|
||||
- inside of tag complete proper attributes (no width attribute for an
|
||||
a tag)
|
||||
- when attribute has limited number of possible values help to complete
|
||||
them
|
||||
- complete names of entities (defined in |xml-omni-datafile| and in current file
|
||||
with "<!ENTITY" declarations
|
||||
- when used after "</" CTRL-X CTRL-O will close the last opened tag
|
||||
|
||||
Format of XML data file *xml-omni-datafile*
|
||||
|
||||
Vim distribution provides two data files as examples (xhtml10s.vim, xsl.vim)
|
||||
|
||||
XML data files are stored in "autoload/xml" directory in 'runtimepath'. They
|
||||
have meaningful name which will be used in commands. It should be unique name
|
||||
which will not create conflicts in future. For example name xhtml10s.vim means
|
||||
it is data file for XHTML 1.0 Strict.
|
||||
|
||||
File contains one variable with fixed name: g:xmldata_xhtml10s . It is
|
||||
compound from two parts:
|
||||
|
||||
1. "g:xmldata_" general prefix
|
||||
2. "xhtml10s" name of file and name of described XML dialect
|
||||
|
||||
Part two must be exactly the same as name of file.
|
||||
|
||||
Variable is data structure in form of |Dictionary|. Keys are tag names and
|
||||
values are two element |List|. First element of List is also List with
|
||||
names of possible children, second element is |Dictionary| with names of
|
||||
attributes as keys and possible values of attributes as values. Example: >
|
||||
|
||||
let g:xmldata_crippledhtml = {
|
||||
\ "html":
|
||||
\ [ ["body", "head"], {"id": [], "xmlns": ["http://www.w3.org/1999/xhtml"],
|
||||
\ "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}],
|
||||
\ "script":
|
||||
\ [ [], {"id": [], "charset": [], "type": ["text/javascript"], "src": [],
|
||||
\ "defer": ["BOOL"], "xml:space": ["preserve"]}],
|
||||
\ "meta":
|
||||
\ [ [], {"id": [], "http-equiv": [], "name": [], "content": [], "scheme":
|
||||
\ [], "lang": [], "xml:lang": [], "dir": ["ltr", "rtl"]}]
|
||||
\ "vimxmlentities": ["amp", "lt", "gt", "apos", "quot"]}
|
||||
|
||||
This example should be put in "autoload/xml/crippledhtml.vim" file.
|
||||
|
||||
In example are visible two special elements:
|
||||
|
||||
1. "vimxmlentities" - special key with List containing entities of this XML
|
||||
dialect.
|
||||
2. "BOOL" - value of attribute key showing if attribute should be inserted
|
||||
bare ("defer" vs. 'defer="'). It can be the only element of List of
|
||||
attribute values.
|
||||
|
||||
Note: Tag names in data file MUST not contain namespace description. Check
|
||||
xsl.vim for example.
|
||||
|
||||
Commands
|
||||
|
||||
:XMLns {name} [{namespace}] *:XMLns*
|
||||
|
||||
Vim has to know which data file should be used and with which namespace. For
|
||||
loading of data file and connecting data with prope namespace use |:XMLns|
|
||||
command. First (obligatory) argument is name of data (xhtml10s, xsl). Second
|
||||
argument is code of namespace (h, xsl). When used without second argument
|
||||
dialect will be used as default - without namespace declaration. For example
|
||||
to use XML completion in .xsl files: >
|
||||
|
||||
:XMLns xhtml10s
|
||||
:XMLns xsl xsl
|
||||
|
||||
|
||||
:XMLent {name} *:XMLent*
|
||||
|
||||
By default entities will be completed from data file of default
|
||||
namespace. XMLent command should be used in case when there is no
|
||||
default namespace: >
|
||||
|
||||
:XMLent xhtml10s
|
||||
|
||||
Usage
|
||||
|
||||
While used in situation (after declarations from previous part, | is
|
||||
cursor position): >
|
||||
|
||||
<|
|
||||
|
||||
Will complete to appropriate XHTML tag, and in this situation: >
|
||||
|
||||
<xsl:|
|
||||
|
||||
Will complete to appropriate XSL tag.
|
||||
|
||||
File xmlcomplete.vim provides through |autoload| mechanism
|
||||
GetLastOpenTag function which can be used in XML files to get name of
|
||||
last open tag with (b:unaryTagsStack has to be defined): >
|
||||
|
||||
:echo xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
8. Insert mode commands *inserting*
|
||||
|
||||
@@ -921,6 +1169,9 @@ i Insert text before the cursor [count] times.
|
||||
*I*
|
||||
I Insert text before the first non-blank in the line
|
||||
[count] times.
|
||||
When the 'H' flag is present in 'cpoptions' and the
|
||||
line only contains blanks, insert start just before
|
||||
the last blank.
|
||||
|
||||
*gI*
|
||||
gI Insert text in column 1 [count] times. {not in Vi}
|
||||
@@ -940,11 +1191,15 @@ gi Insert text in the same position as where Insert mode
|
||||
o Begin a new line below the cursor and insert text,
|
||||
repeat [count] times. {Vi: blank [count] screen
|
||||
lines}
|
||||
When the '#' flag is in 'cpoptions' the count is
|
||||
ignored.
|
||||
|
||||
*O*
|
||||
O Begin a new line above the cursor and insert text,
|
||||
repeat [count] times. {Vi: blank [count] screen
|
||||
lines}
|
||||
When the '#' flag is in 'cpoptions' the count is
|
||||
ignored.
|
||||
|
||||
These commands are used to start inserting text. You can end insert mode with
|
||||
<Esc>. See |mode-ins-repl| for the other special characters in Insert mode.
|
||||
@@ -962,18 +1217,29 @@ too long when appending characters a line break is automatically inserted.
|
||||
9. Ex insert commands *inserting-ex*
|
||||
|
||||
*:a* *:append*
|
||||
:{range}a[ppend] Insert several lines of text below the specified
|
||||
:{range}a[ppend][!] Insert several lines of text below the specified
|
||||
line. If the {range} is missing, the text will be
|
||||
inserted after the current line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
|
||||
*:i* *:in* *:insert*
|
||||
:{range}i[nsert] Insert several lines of text above the specified
|
||||
:{range}i[nsert][!] Insert several lines of text above the specified
|
||||
line. If the {range} is missing, the text will be
|
||||
inserted before the current line.
|
||||
Adding [!] toggles 'autoindent' for the time this
|
||||
command is executed.
|
||||
|
||||
These two commands will keep on asking for lines, until you type a line
|
||||
containing only a ".". Watch out for lines starting with a backslash, see
|
||||
|line-continuation|.
|
||||
When these commands are used with |:global| or |:vglobal| then the lines are
|
||||
obtained from the text following the command. Separate lines with a NL
|
||||
escaped with a backslash: >
|
||||
:global/abc/insert\
|
||||
one line\
|
||||
another line
|
||||
The final "." is not needed then.
|
||||
NOTE: ":append" and ":insert" don't work properly in between ":if" and
|
||||
":endif", ":for" and ":endfor", ":while" and ":endwhile".
|
||||
|
||||
@@ -985,6 +1251,7 @@ NOTE: ":append" and ":insert" don't work properly in between ":if" and
|
||||
Note that when using this command in a function or
|
||||
script, the insertion only starts after the function
|
||||
or script is finished.
|
||||
This command does not work from |:normal|.
|
||||
{not in Vi}
|
||||
{not available when compiled without the +ex_extra
|
||||
feature}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.0aa. Last change: 2004 Dec 16
|
||||
*intro.txt* For Vim version 7.0aa. Last change: 2005 Sep 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -151,31 +151,19 @@ example and try to find out which settings or other things influence the
|
||||
appearance of the bug. Try different machines, if possible. Send me patches
|
||||
if you can!
|
||||
|
||||
In case of doubt, use: >
|
||||
It will help to include information about the version of Vim you are using and
|
||||
your setup. You can get the information with this command: >
|
||||
:so $VIMRUNTIME/bugreport.vim
|
||||
This will create a file "bugreport.txt" in the current directory, with a lot
|
||||
of information of your environment. Before sending this out, check if it
|
||||
doesn't contain any confidential information!
|
||||
|
||||
*debug-vim*
|
||||
When Vim crashes in one of the test files, and you are using gcc for
|
||||
compilation, here is what you can do to find out exactly where Vim crashes:
|
||||
If Vim crashes, please try to find out where. You can find help on this here:
|
||||
|debug.txt|.
|
||||
|
||||
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
|
||||
which you can uncomment).
|
||||
|
||||
2. Execute these commands (replace "11" with the test that fails): >
|
||||
cd testdir
|
||||
gdb ../vim
|
||||
run -u unix.vim -U NONE -s dotest.in test11.in
|
||||
|
||||
3. Check where Vim crashes, gdb should give a message for this.
|
||||
|
||||
4. Get a stack trace from gdb with this command: >
|
||||
where
|
||||
< You can check out different places in the stack trace with: >
|
||||
frame 3
|
||||
< Replace "3" with one of the numbers in the stack trace.
|
||||
In case of doubt or when you wonder if the problem has already been fixed but
|
||||
you can't find a fix for it, become a member of the vim-dev maillist and ask
|
||||
your question there. |maillist|
|
||||
|
||||
*year-2000* *Y2K*
|
||||
Since Vim internally doesn't use dates for editing, there is no year 2000
|
||||
@@ -198,7 +186,7 @@ The user may create scripts for Vim that use external commands. These might
|
||||
introduce Y2K problems, but those are not really part of Vim itself.
|
||||
|
||||
==============================================================================
|
||||
3. Credits *credits* *author*
|
||||
3. Credits *credits* *author* *Bram* *Moolenaar*
|
||||
|
||||
Most of Vim was written by Bram Moolenaar <Bram@vim.org>.
|
||||
|
||||
@@ -289,8 +277,7 @@ Vi "the original". Without further remarks this is the version
|
||||
Posix From the IEEE standard 1003.2, Part 2: Shell and utilities.
|
||||
Generally known as "Posix". This is a textual description of
|
||||
how Vi is supposed to work.
|
||||
The version used is a draft from beginning 1996, so all remarks are
|
||||
"expected to comply to" this. Anything can change though...
|
||||
See |posix-compliance|.
|
||||
*Nvi*
|
||||
Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD.
|
||||
Very good compatibility with the original Vi, with a few extensions.
|
||||
@@ -331,11 +318,11 @@ and <> are part of what you type, the context should make this clear.
|
||||
["x] An optional register designation where text can be stored.
|
||||
See |registers|. The x is a single character between 'a' and
|
||||
'z' or 'A' and 'Z' or '"', and in some cases (with the put
|
||||
command) between '0' and '9', '%', '#', or others. The
|
||||
command) between '0' and '9', '%', '#', or others. The
|
||||
uppercase and lowercase letter designate the same register,
|
||||
but the lowercase letter is used to overwrite the previous
|
||||
register contents, while the uppercase letter is used to
|
||||
append to the previous register contents. Without the ""x" or
|
||||
append to the previous register contents. Without the ""x" or
|
||||
with """" the stored text is put into the unnamed register.
|
||||
|
||||
*{}*
|
||||
@@ -691,9 +678,9 @@ Q Switch to "Ex" mode. This is a bit like typing ":"
|
||||
|vimrc_example.vim| script "Q" works like "gq".
|
||||
|
||||
*gQ*
|
||||
gQ Switch to "Ex" mode, but really behave like typing ":"
|
||||
commands after another. All command line editing,
|
||||
completion etc. is available.
|
||||
gQ Switch to "Ex" mode like with "Q", but really behave
|
||||
like typing ":" commands after another. All command
|
||||
line editing, completion etc. is available.
|
||||
Use the ":vi" command |:visual| to exit "Ex" mode.
|
||||
{not in Vi}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
*map.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -10,6 +10,17 @@ This subject is introduced in sections |05.3|, |24.7| and |40.1| of the user
|
||||
manual.
|
||||
|
||||
1. Key mapping |key-mapping|
|
||||
1.1 MAP COMMANDS |:map-commands|
|
||||
1.2 Special arguments |:map-arguments|
|
||||
1.3 Mapping and modes |:map-modes|
|
||||
1.4 Listing mappings |map-listing|
|
||||
1.5 Mapping special keys |:map-special-keys|
|
||||
1.6 Special characters |:map-special-chars|
|
||||
1.7 What keys to map |map-which-keys|
|
||||
1.8 Examples |map-examples|
|
||||
1.9 Using mappings |map-typing|
|
||||
1.10 Mapping alt-keys |:map-alt-keys|
|
||||
1.11 Mapping an operator |:map-operator|
|
||||
2. Abbreviations |abbreviations|
|
||||
3. Local mappings and functions |script-local|
|
||||
4. User-defined commands |user-commands|
|
||||
@@ -22,7 +33,10 @@ is to define a sequence commands for a function key. Example: >
|
||||
|
||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||
|
||||
This appends the current date and time after the cursor. (in <> notation |<>|)
|
||||
This appends the current date and time after the cursor (in <> notation |<>|).
|
||||
|
||||
|
||||
1.1 MAP COMMANDS *:map-commands*
|
||||
|
||||
There are commands to enter new mappings, remove mappings and list mappings.
|
||||
See |map-overview| for the various forms of "map" and their relationships with
|
||||
@@ -116,6 +130,21 @@ characters. You can use this to put command sequences under function keys,
|
||||
translate one key into another, etc. See |:mkexrc| for how to save and
|
||||
restore the current mappings.
|
||||
|
||||
*map-ambiguous*
|
||||
When two mappings start with the same sequence of characters, they are
|
||||
ambiguous. Example: >
|
||||
:imap aa foo
|
||||
:imap aaa bar
|
||||
When Vim has read "aa", it will need to get another character to be able to
|
||||
decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
|
||||
that mapping won't get expanded yet, Vim is waiting for another character.
|
||||
If you type a space, then "foo" will get inserted, plus the space. If you
|
||||
type "a", then "bar" will get inserted.
|
||||
{Vi does not allow ambiguous mappings}
|
||||
|
||||
|
||||
1.2 SPECIAL ARGUMENTS *:map-arguments*
|
||||
|
||||
*:map-local* *:map-<buffer>* *E224* *E225*
|
||||
If the first argument to one of these commands is "<buffer>" it will apply to
|
||||
mappings locally to the current buffer only. Example: >
|
||||
@@ -167,14 +196,14 @@ Example of what will fail: >
|
||||
They must appear right after the command, before any other arguments.
|
||||
|
||||
|
||||
MAPPING AND MODES
|
||||
1.3 MAPPING AND MODES *:map-modes*
|
||||
|
||||
There are five sets of mappings
|
||||
- For Normal mode: When typing commands.
|
||||
- For Visual mode: When typing commands while the Visual area is highlighted.
|
||||
- For Operator-pending mode: When an operator is pending (after "d", "y", "c",
|
||||
etc.). Example: ":omap { w" makes "y{" work like "yw" and "d{" like "dw".
|
||||
- For Insert mode. These are also used in Replace mode.
|
||||
- For Insert mode. These are also used in Replace mode.
|
||||
- For Command-line mode: When entering a ":" or "/" command.
|
||||
|
||||
There are no separate mappings for Select mode. The same as for Visual mode
|
||||
@@ -236,19 +265,9 @@ character as an argument to command like "f" or "t".
|
||||
are only used for typed characters. This assumes that the language mapping
|
||||
was already done when typing the mapping.
|
||||
|
||||
*map-multibyte*
|
||||
It is possible to map multibyte characters, but only the whole character. You
|
||||
cannot map the first byte only. This was done to prevent problems in this
|
||||
scenario: >
|
||||
:set encoding=latin1
|
||||
:imap <M-C> foo
|
||||
:set encoding=utf-8
|
||||
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
|
||||
byte. If you type the character <20> (0xea <M-a>) in UTF-8 encoding this is the
|
||||
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
|
||||
otherwise it would be impossible to type the <20> character.
|
||||
|
||||
*map-listing*
|
||||
1.4 LISTING MAPPINGS *map-listing*
|
||||
|
||||
When listing mappings the characters in the first two columns are:
|
||||
|
||||
CHAR MODE ~
|
||||
@@ -273,6 +292,58 @@ with a space.
|
||||
Note: When using mappings for Visual mode, you can use the "'<" mark, which
|
||||
is the start of the last selected Visual area in the current buffer |'<|.
|
||||
|
||||
*:map-verbose*
|
||||
When 'verbose' is non-zero, listing a key map will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose map <C-W>*
|
||||
n <C-W>* * <C-W><C-S>*
|
||||
Last set from /home/abcd/.vimrc
|
||||
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
|
||||
1.5 MAPPING SPECIAL KEYS *:map-special-keys*
|
||||
|
||||
There are three ways to map a special key:
|
||||
1. The Vi-compatible method: Map the key code. Often this is a sequence that
|
||||
starts with <Esc>. To enter a mapping like this you type ":map " and then
|
||||
you have to type CTRL-V before hitting the function key. Note that when
|
||||
the key code for the key is in the termcap (the t_ options), it will
|
||||
automatically be translated into the internal code and become the second
|
||||
way of mapping (unless the 'k' flag is included in 'cpoptions').
|
||||
2. The second method is to use the internal code for the function key. To
|
||||
enter such a mapping type CTRL-K and then hit the function key, or use
|
||||
the form "#1", "#2", .. "#9", "#0", "<Up>", "<S-Down>", "<S-F7>", etc.
|
||||
(see table of keys |key-notation|, all keys from <Up> can be used). The
|
||||
first ten function keys can be defined in two ways: Just the number, like
|
||||
"#2", and with "<F>", like "<F2>". Both stand for function key 2. "#0"
|
||||
refers to function key 10, defined with option 't_f10', which may be
|
||||
function key zero on some keyboards. The <> form cannot be used when
|
||||
'cpoptions' includes the '<' flag.
|
||||
3. Use the termcap entry, with the form <t_xx>, where "xx" is the name of the
|
||||
termcap entry. Any string entry can be used. For example: >
|
||||
:map <t_F3> G
|
||||
< Maps function key 13 to "G". This does not work if 'cpoptions' includes
|
||||
the '<' flag.
|
||||
|
||||
The advantage of the second and third method is that the mapping will work on
|
||||
different terminals without modification (the function key will be
|
||||
translated into the same internal code or the actual key code, no matter what
|
||||
terminal you are using. The termcap must be correct for this to work, and you
|
||||
must use the same mappings).
|
||||
|
||||
DETAIL: Vim first checks if a sequence from the keyboard is mapped. If it
|
||||
isn't the terminal key codes are tried (see |terminal-options|). If a
|
||||
terminal code is found it is replaced with the internal code. Then the check
|
||||
for a mapping is done again (so you can map an internal code to something
|
||||
else). What is written into the script file depends on what is recognized.
|
||||
If the terminal key code was recognized as a mapping the key code itself is
|
||||
written to the script file. If it was recognized as a terminal code the
|
||||
internal code is written to the script file.
|
||||
|
||||
|
||||
1.6 SPECIAL CHARACTERS *:map-special-chars*
|
||||
*map_backslash*
|
||||
Note that only CTRL-V is mentioned here as a special character for mappings
|
||||
and abbreviations. When 'cpoptions' does not contain 'B', a backslash can
|
||||
@@ -284,23 +355,12 @@ To map a backslash, or use a backslash literally in the {rhs}, the special
|
||||
sequence "<Bslash>" can be used. This avoids the need to double backslashes
|
||||
when using nested mappings.
|
||||
|
||||
*map-ambiguous*
|
||||
When two mappings start with the same sequence of characters, they are
|
||||
ambiguous. Example: >
|
||||
:imap aa foo
|
||||
:imap aaa bar
|
||||
When Vim has read "aa", it will need to get another character to be able to
|
||||
decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
|
||||
that mapping won't get expanded yet, Vim is waiting for another character.
|
||||
If you type a space, then "foo" will get inserted, plus the space. If you
|
||||
type "a", then "bar" will get inserted.
|
||||
{Vi does not allow ambiguous mappings}
|
||||
|
||||
*map_CTRL_C*
|
||||
It's not possible to use a CTRL-C in the {lhs}. You just can't map CTRL-C.
|
||||
The reason is that CTRL-C must always be available to break a running command.
|
||||
Exception: When using the GUI version on MS-Windows CTRL-C can be mapped to
|
||||
allow a Copy command to the clipboard. Use CTRL-Break to interrupt Vim.
|
||||
*map_CTRL-C*
|
||||
Using CTRL-C in the {lhs} is possible, but it will only work when Vim is
|
||||
waiting for a key, not when Vim is busy with something. When Vim is busy
|
||||
CTRL-C interrupts/breaks the command.
|
||||
When using the GUI version on MS-Windows CTRL-C can be mapped to allow a Copy
|
||||
command to the clipboard. Use CTRL-Break to interrupt Vim.
|
||||
|
||||
*map_space_in_lhs*
|
||||
To include a space in {lhs} precede it with a CTRL-V (type two CTRL-Vs for
|
||||
@@ -320,6 +380,18 @@ example, to make sure that function key 8 does nothing at all: >
|
||||
:map <F8> <Nop>
|
||||
:map! <F8> <Nop>
|
||||
<
|
||||
*map-multibyte*
|
||||
It is possible to map multibyte characters, but only the whole character. You
|
||||
cannot map the first byte only. This was done to prevent problems in this
|
||||
scenario: >
|
||||
:set encoding=latin1
|
||||
:imap <M-C> foo
|
||||
:set encoding=utf-8
|
||||
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
|
||||
byte. If you type the character <20> (0xea <M-a>) in UTF-8 encoding this is the
|
||||
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
|
||||
otherwise it would be impossible to type the <20> character.
|
||||
|
||||
*<Leader>* *mapleader*
|
||||
To define a mapping which uses the "mapleader" variable, the special string
|
||||
"<Leader>" can be used. It is replaced with the string value of "mapleader".
|
||||
@@ -407,14 +479,16 @@ and CTRL-X is not mapped. This was done to be able to use all the named
|
||||
registers and marks, even when the command with the same name has been
|
||||
mapped.
|
||||
|
||||
*map-which-keys*
|
||||
|
||||
1.7 WHAT KEYS TO MAP *map-which-keys*
|
||||
|
||||
If you are going to map something, you will need to choose which key(s) to use
|
||||
for the {lhs}. You will have to avoid keys that are used for Vim commands,
|
||||
otherwise you would not be able to use those commands anymore. Here are a few
|
||||
suggestions:
|
||||
- Function keys <F2>, <F3>, etc.. Also the shifted function keys <S-F1>,
|
||||
<S-F2>, etc. Note that <F1> is already used for the help command.
|
||||
- Meta-keys (with the ALT key pressed).
|
||||
- Meta-keys (with the ALT key pressed). |:map-alt-keys|
|
||||
- Use the '_' or ',' character and then any other character. The "_" and ","
|
||||
commands do exist in Vim (see |_| and |,|), but you probably never use them.
|
||||
- Use a key that is a synonym for another command. For example: CTRL-P and
|
||||
@@ -425,7 +499,9 @@ losing any builtin function. You can also use ":help {key}^D" to find out if
|
||||
a key is used for some command. ({key} is the specific key you want to find
|
||||
out about, ^D is CTRL-D).
|
||||
|
||||
*map-examples*
|
||||
|
||||
1.8 EXAMPLES *map-examples*
|
||||
|
||||
A few examples (given as you type them, for "<CR>" you type four characters;
|
||||
the '<' flag must not be present in 'cpoptions' for this to work). >
|
||||
|
||||
@@ -434,7 +510,9 @@ the '<' flag must not be present in 'cpoptions' for this to work). >
|
||||
:map _x d/END/e<CR>
|
||||
:map! qq quadrillion questions
|
||||
<
|
||||
*map-typing*
|
||||
|
||||
1.9 USING MAPPINGS *map-typing*
|
||||
|
||||
Vim will compare what you type with the start of a mapped sequence. If there
|
||||
is an incomplete match, it will get more characters until there either is a
|
||||
complete match or until there is no match at all. Example: If you map! "qq",
|
||||
@@ -447,14 +525,15 @@ you type slowly, or your system is slow, reset the 'timeout' option. Then you
|
||||
might want to set the 'ttimeout' option.
|
||||
|
||||
*map-keys-fails*
|
||||
There is one situation where key codes might not be recognized:
|
||||
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
|
||||
character. This happens on some Unix versions in an xterm.
|
||||
- The key code is after character(s) that are mapped. E.g., "<F1><F1>" or
|
||||
"g<F1>".
|
||||
|
||||
The result is that the key code is not recognized in this situation, and the
|
||||
mapping fails.
|
||||
There are two actions needed to avoid this problem:
|
||||
mapping fails. There are two actions needed to avoid this problem:
|
||||
|
||||
- Remove the 'K' flag from 'cpoptions'. This will make Vim wait for the rest
|
||||
of the characters of the function key.
|
||||
- When using <F1> to <F4> the actual key code generated may correspond to
|
||||
@@ -470,6 +549,9 @@ special key: >
|
||||
Don't type a real <Esc>, Vim will recognize the key code and replace it with
|
||||
<F1> anyway.
|
||||
|
||||
Another problem may be that when keeping ALT or Meta pressed the terminal
|
||||
prepends ESC instead of setting the 8th bit. See |:map-alt-keys|.
|
||||
|
||||
*recursive_mapping*
|
||||
If you include the {lhs} in the {rhs} you have a recursive mapping. When
|
||||
{lhs} is typed, it will be replaced with {rhs}. When the {lhs} which is
|
||||
@@ -506,43 +588,103 @@ the original Vi, as long as there is only one undo command in the mapped
|
||||
sequence (having two undo commands in a mapped sequence did not make sense
|
||||
in the original Vi, you would get back the text before the first undo).
|
||||
|
||||
*:map-special-keys*
|
||||
There are three ways to map a special key:
|
||||
1. The Vi-compatible method: Map the key code. Often this is a sequence that
|
||||
starts with <Esc>. To enter a mapping like this you type ":map " and then
|
||||
you have to type CTRL-V before hitting the function key. Note that when
|
||||
the key code for the key is in the termcap (the t_ options), it will
|
||||
automatically be translated into the internal code and become the second
|
||||
way of mapping (unless the 'k' flag is included in 'cpoptions').
|
||||
2. The second method is to use the internal code for the function key. To
|
||||
enter such a mapping type CTRL-K and then hit the function key, or use
|
||||
the form "#1", "#2", .. "#9", "#0", "<Up>", "<S-Down>", "<S-F7>", etc.
|
||||
(see table of keys |key-notation|, all keys from <Up> can be used). The
|
||||
first ten function keys can be defined in two ways: Just the number, like
|
||||
"#2", and with "<F>", like "<F2>". Both stand for function key 2. "#0"
|
||||
refers to function key 10, defined with option 't_f10', which may be
|
||||
function key zero on some keyboards. The <> form cannot be used when
|
||||
'cpoptions' includes the '<' flag.
|
||||
3. Use the termcap entry, with the form <t_xx>, where "xx" is the name of the
|
||||
termcap entry. Any string entry can be used. For example: >
|
||||
:map <t_F3> G
|
||||
< Maps function key 13 to "G". This does not work if 'cpoptions' includes
|
||||
the '<' flag.
|
||||
|
||||
The advantage of the second and third method is that the mapping will work on
|
||||
different terminals without modification (the function key will be
|
||||
translated into the same internal code or the actual key code, no matter what
|
||||
terminal you are using. The termcap must be correct for this to work, and you
|
||||
must use the same mappings).
|
||||
1.10 MAPPING ALT-KEYS *:map-alt-keys*
|
||||
|
||||
DETAIL: Vim first checks if a sequence from the keyboard is mapped. If it
|
||||
isn't the terminal key codes are tried (see |terminal-options|). If a
|
||||
terminal code is found it is replaced with the internal code. Then the check
|
||||
for a mapping is done again (so you can map an internal code to something
|
||||
else). What is written into the script file depends on what is recognized.
|
||||
If the terminal key code was recognized as a mapping the key code itself is
|
||||
written to the script file. If it was recognized as a terminal code the
|
||||
internal code is written to the script file.
|
||||
In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
|
||||
always work. But in a terminal Vim gets a sequence of bytes and has to figure
|
||||
out whether ALT was pressed or not.
|
||||
|
||||
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
|
||||
character. Most decent terminals work that way, such as xterm, aterm and
|
||||
rxvt. If your <A-k> mappings don't work it might be that the terminal is
|
||||
prefixing the character with an ESC character. But you can just as well type
|
||||
ESC before a character, thus Vim doesn't know what happened (except for
|
||||
checking the delay between characters, which is not reliable).
|
||||
|
||||
As of this writing, some mainstream terminals like gnome-terminal and konsole
|
||||
use the ESC prefix. There doesn't appear a way to have them use the 8th bit
|
||||
instead. Xterm, aterm and rxvt should work well by default, unless you tweak
|
||||
resources like "metaSendsEscape", "eightBitInput" and "eightBitOutput".
|
||||
|
||||
On the Linux console, this behavior can be toggled with the "setmetamode"
|
||||
command. Bear in mind that not using an ESC prefix could get you in trouble
|
||||
with other programs. You should make sure that bash has the "convert-meta"
|
||||
option set to "on" in order for your Meta keybindings to still work on it
|
||||
(it's the default readline behavior, unless changed by specific system
|
||||
configuration). For that, you can add the line: >
|
||||
|
||||
set convert-meta on
|
||||
|
||||
to your ~/.inputrc file. If you're creating the file, you might want to use: >
|
||||
|
||||
$include /etc/inputrc
|
||||
|
||||
as the first line, if that file exists on your system, to keep global options.
|
||||
This may cause a problem for entering special characters, such as the umlaut.
|
||||
Then you should use CTRL-V before that character.
|
||||
|
||||
Bear in mind that convert-meta has been reported to have troubles when used in
|
||||
UTF-8 locales. On terminals like xterm, the "metaSendsEscape" resource can be
|
||||
toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
|
||||
on the terminal; that's a good last resource in case you want to send ESC when
|
||||
using other applications but not when inside VIM.
|
||||
|
||||
|
||||
1.11 MAPPING AN OPERATOR *:map-operator*
|
||||
|
||||
An operator is used before a {motion} command. To define your own operator
|
||||
you must create mapping that first sets the 'operatorfunc' option and then
|
||||
invoke the |g@| operator. After the user types the {motion} command the
|
||||
specified function will be called.
|
||||
|
||||
*g@*
|
||||
g@{motion} Call the function set by the 'operatorfunc' option.
|
||||
The '[ mark is positioned at the start of the text
|
||||
moved over by {motion}, the '] mark on the last
|
||||
character of the text.
|
||||
The function is called with one String argument:
|
||||
"line" {motion} was |linewise|
|
||||
"char" {motion} was |characterwise|
|
||||
"block" {motion} was |blockwise-visual||
|
||||
Although "block" would rarely appear, since it can
|
||||
only result from Visual mode where "g@" is not useful.
|
||||
{not available when compiled without the +eval
|
||||
feature}
|
||||
|
||||
Here is an example that counts the number of spaces with <F4>: >
|
||||
|
||||
nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
|
||||
vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
|
||||
|
||||
function! CountSpaces(type, ...)
|
||||
let sel_save = &selection
|
||||
let &selection = "inclusive"
|
||||
let reg_save = @@
|
||||
|
||||
if a:0 " Invoked from Visual mode, use '< and '> marks.
|
||||
silent exe "normal! `<" . a:type . "`>y"
|
||||
elseif a:type == 'line'
|
||||
silent exe "normal! '[V']y"
|
||||
elseif a:type == 'block'
|
||||
silent exe "normal! `[\<C-V>`]y"
|
||||
else
|
||||
silent exe "normal! `[v`]y"
|
||||
endif
|
||||
|
||||
echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
|
||||
|
||||
let &selection = sel_save
|
||||
let @@ = reg_save
|
||||
endfunction
|
||||
|
||||
Note that the 'selection' option is temporarily set to "inclusive" to be able
|
||||
to yank exactly the right text by using Visual mode from the '[ to the ']
|
||||
mark.
|
||||
|
||||
Also note that there is a separate mapping for Visual mode. It removes the
|
||||
"'<,'>" range that ":" inserts in Visual mode and invokes the function with
|
||||
visualmode() and an extra argument.
|
||||
|
||||
==============================================================================
|
||||
2. Abbreviations *abbreviations* *Abbreviations*
|
||||
@@ -656,6 +798,16 @@ used in a |filetype-plugin| file. Example for a C plugin file: >
|
||||
mode, '!' for both. These are the same as for
|
||||
mappings, see |map-listing|.
|
||||
|
||||
*:abbreviate-verbose*
|
||||
When 'verbose' is non-zero, listing an abbreviation will also display where it
|
||||
was last defined. Example: >
|
||||
|
||||
:verbose abbreviate
|
||||
! teh the
|
||||
Last set from /home/abcd/vim/abbr.vim
|
||||
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
:ab[breviate] {lhs} list the abbreviations that start with {lhs}
|
||||
You may need to insert a CTRL-V (type it twice) to
|
||||
avoid that a typed {lhs} is expanded, since
|
||||
@@ -811,7 +963,7 @@ feature}.
|
||||
==============================================================================
|
||||
4. User-defined commands *user-commands*
|
||||
|
||||
It is possible to define your own Ex commands. A user-defined command can act
|
||||
It is possible to define your own Ex commands. A user-defined command can act
|
||||
just like a built-in command (it can have a range or arguments, arguments can
|
||||
be completed as filenames or buffer names, etc), except that when the command
|
||||
is executed, it is transformed into a normal ex command and then executed.
|
||||
@@ -820,7 +972,7 @@ For starters: See section |40.2| in the user manual.
|
||||
|
||||
*E183* *user-cmd-ambiguous*
|
||||
All user defined commands must start with an uppercase letter, to avoid
|
||||
confusion with builtin commands. (There are a few builtin commands, notably
|
||||
confusion with builtin commands. (There are a few builtin commands, notably
|
||||
:Next, :Print and :X, which do start with an uppercase letter. The builtin
|
||||
will always take precedence in these cases). The other characters of the user
|
||||
command can be uppercase letters, lowercase letters or digits. When using
|
||||
@@ -829,8 +981,8 @@ ambiguous. For example, the command ":Cc2" could be the user command ":Cc2"
|
||||
without an argument, or the command ":Cc" with argument "2". It is advised to
|
||||
put a space between the command name and the argument to avoid these problems.
|
||||
|
||||
When using a user-defined command, the command can be abbreviated. However, if
|
||||
an abbreviation is not unique, an error will be issued. Furthermore, a
|
||||
When using a user-defined command, the command can be abbreviated. However, if
|
||||
an abbreviation is not unique, an error will be issued. Furthermore, a
|
||||
built-in command will always take precedence.
|
||||
|
||||
Example: >
|
||||
@@ -846,7 +998,7 @@ It is recommended that full names for user-defined commands are used in
|
||||
scripts.
|
||||
|
||||
:com[mand] *:com* *:command*
|
||||
List all user-defined commands. When listing commands,
|
||||
List all user-defined commands. When listing commands,
|
||||
the characters in the first two columns are
|
||||
! Command has the -bang attribute
|
||||
" Command has the -register attribute
|
||||
@@ -855,11 +1007,22 @@ scripts.
|
||||
|
||||
:com[mand] {cmd} List the user-defined commands that start with {cmd}
|
||||
|
||||
*:command-verbose*
|
||||
When 'verbose' is non-zero, listing a command will also display where it was
|
||||
last defined. Example: >
|
||||
|
||||
:verbose command TOhtml
|
||||
Name Args Range Complete Definition
|
||||
TOhtml 0 % :call Convert2HTML(<line1>, <line2>)
|
||||
Last set from /usr/share/vim/vim-7.0/plugin/tohtml.vim
|
||||
<
|
||||
See |:verbose-cmd| for more information.
|
||||
|
||||
*E174* *E182*
|
||||
:com[mand][!] [{attr}...] {cmd} {rep}
|
||||
Define a user command. The name of the command is
|
||||
{cmd} and its replacement text is {rep}. The command's
|
||||
attributes (see below) are {attr}. If the command
|
||||
{cmd} and its replacement text is {rep}. The command's
|
||||
attributes (see below) are {attr}. If the command
|
||||
already exists, an error is reported, unless a ! is
|
||||
specified, in which case the command is redefined.
|
||||
|
||||
@@ -871,20 +1034,20 @@ scripts.
|
||||
|
||||
Command attributes
|
||||
|
||||
User-defined commands are treated by Vim just like any other ex commands. They
|
||||
can have arguments, or have a range specified. Arguments are subject to
|
||||
completion as filenames, buffers, etc. Exactly how this works depends upon the
|
||||
User-defined commands are treated by Vim just like any other ex commands. They
|
||||
can have arguments, or have a range specified. Arguments are subject to
|
||||
completion as filenames, buffers, etc. Exactly how this works depends upon the
|
||||
command's attributes, which are specified when the command is defined.
|
||||
|
||||
There are a number of attributes, split into four categories: argument
|
||||
handling, completion behavior, range handling, and special cases. The
|
||||
handling, completion behavior, range handling, and special cases. The
|
||||
attributes are described below, by category.
|
||||
|
||||
Argument handling *E175* *E176*
|
||||
|
||||
By default, a user defined command will take no arguments (and an error is
|
||||
reported if any are supplied). However, it is possible to specify that the
|
||||
command can take arguments, using the -nargs attribute. Valid cases are:
|
||||
reported if any are supplied). However, it is possible to specify that the
|
||||
command can take arguments, using the -nargs attribute. Valid cases are:
|
||||
|
||||
-nargs=0 No arguments are allowed (the default)
|
||||
-nargs=1 Exactly one argument is required
|
||||
@@ -932,26 +1095,38 @@ completion can be enabled:
|
||||
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
|
||||
-complete=var user variables
|
||||
-complete=custom,{func} custom completion, defined via {func}
|
||||
-complete=customlist,{func} custom completion, defined via {func}
|
||||
|
||||
Custom completion *:command-completion-custom*
|
||||
*E467* *E468*
|
||||
|
||||
Custom completion *:command-completion-custom*
|
||||
*:command-completion-customlist*
|
||||
*E467* *E468*
|
||||
It is possible to define customized completion schemes via the "custom,{func}"
|
||||
completion argument. The {func} part should be a function with the following
|
||||
prototype >
|
||||
or the "customlist,{func}" completion argument. The {func} part should be a
|
||||
function with the following prototype >
|
||||
|
||||
:function {func}(ArgLead, CmdLine, CursorPos)
|
||||
|
||||
The function need not use all these arguments, but it should provide the
|
||||
completion candidates as the return value, one per line in a newline separated
|
||||
string. The function arguments are:
|
||||
The function need not use all these arguments. The function should provide the
|
||||
completion candidates as the return value.
|
||||
|
||||
For the "custom" argument, the function should return the completion
|
||||
candidates one per line in a newline separated string.
|
||||
|
||||
For the "customlist" argument, the function should return the completion
|
||||
candidates as a Vim List. Non-string items in the list are ignored.
|
||||
|
||||
The function arguments are:
|
||||
ArgLead the leading portion of the argument currently being
|
||||
completed on
|
||||
CmdLine the entire command line
|
||||
CursorPos the cursor position in it
|
||||
The function may use these for determining context. It is not necessary to
|
||||
filter candidates against the (implicit pattern in) ArgLead. Vim will do
|
||||
filter the candidates with its regexp engine after function return, and this
|
||||
is probably more efficient in most cases.
|
||||
CursorPos the cursor position in it (byte index)
|
||||
The function may use these for determining context. For the "custom"
|
||||
argument, it is not necessary to filter candidates against the (implicit
|
||||
pattern in) ArgLead. Vim will do filter the candidates with its regexp engine
|
||||
after function return, and this is probably more efficient in most cases. For
|
||||
the "customlist" argument, Vim will not filter the returned completion
|
||||
candidates and the user supplied function should filter the candidates.
|
||||
|
||||
The following example lists user names to a Finger command >
|
||||
:com -complete=custom,ListUsers -nargs=1 Finger !finger <args>
|
||||
@@ -959,20 +1134,29 @@ The following example lists user names to a Finger command >
|
||||
: return system("cut -d: -f1 /etc/passwd")
|
||||
:endfun
|
||||
|
||||
The following example completes filenames from the directories specified in
|
||||
the 'path' option: >
|
||||
:com -nargs=1 -bang -complete=customlist,EditFileComplete
|
||||
\ EditFile edit<bang> <args>
|
||||
:fun EditFileComplete(A,L,P)
|
||||
: return split(globpath(&path, a:ArgLead), "\n")
|
||||
:endfun
|
||||
<
|
||||
|
||||
Range handling *E177* *E178*
|
||||
|
||||
By default, user-defined commands do not accept a line number range. However,
|
||||
By default, user-defined commands do not accept a line number range. However,
|
||||
it is possible to specify that the command does take a range (the -range
|
||||
attribute), or that it takes an arbitrary count value, either in the line
|
||||
number position (-range=N, like the |:split| command) or as a "count"
|
||||
argument (-count=N, like the |:Next| command). Possible attributes are:
|
||||
argument (-count=N, like the |:Next| command). Possible attributes are:
|
||||
|
||||
-range Range allowed, default is current line
|
||||
-range=% Range allowed, default is whole file (1,$)
|
||||
-range=N A count (default N) which is specified in the line
|
||||
number position (like |:split|)
|
||||
-count=N A count (default N) which is specified either in the line
|
||||
number position, or as an initial argument (like |:Next|)
|
||||
number position, or as an initial argument (like |:Next|).
|
||||
Specifying -count (without a default) acts like -count=0
|
||||
|
||||
Note that -range=N and -count=N are mutually exclusive - only one should be
|
||||
@@ -997,9 +1181,9 @@ replacement text separately.
|
||||
Replacement text
|
||||
|
||||
The replacement text for a user defined command is scanned for special escape
|
||||
sequences, using <...> notation. Escape sequences are replaced with values
|
||||
from the entered command line, and all other text is copied unchanged. The
|
||||
resulting string is executed as an Ex command. If the initial < of an escape
|
||||
sequences, using <...> notation. Escape sequences are replaced with values
|
||||
from the entered command line, and all other text is copied unchanged. The
|
||||
resulting string is executed as an Ex command. If the initial < of an escape
|
||||
sequence is preceded by a backslash, the sequence is copied unchanged.
|
||||
|
||||
The valid escape sequences are
|
||||
@@ -1017,7 +1201,7 @@ The valid escape sequences are
|
||||
expands to nothing.
|
||||
*<reg>* *<register>*
|
||||
<reg> (See the '-register' attribute) The optional register,
|
||||
if specified. Otherwise, expands to nothing. <register>
|
||||
if specified. Otherwise, expands to nothing. <register>
|
||||
is a synonym for this.
|
||||
*<args>*
|
||||
<args> The command arguments, exactly as supplied (but as
|
||||
@@ -1032,13 +1216,13 @@ The valid escape sequences are
|
||||
If the first two characters of an escape sequence are "q-" (for example,
|
||||
<q-args>) then the value is quoted in such a way as to make it a valid value
|
||||
for use in an expression. This uses the argument as one single value.
|
||||
When there is no argument <q-args> is an empty string.
|
||||
|
||||
To allow commands to pass their arguments on to a user-defined function, there
|
||||
is a special form <f-args> ("function args"). This splits the command
|
||||
is a special form <f-args> ("function args"). This splits the command
|
||||
arguments at spaces and Tabs, quotes each argument individually, and the
|
||||
<f-args> sequence is replaced by the comma-separated list of quoted arguments.
|
||||
See the Mycmd example below. When there is no argument, <f-args> also has no
|
||||
argument.
|
||||
See the Mycmd example below. If no arguments are given <f-args> is removed.
|
||||
|
||||
Examples >
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 7.0aa. Last change: 2004 Dec 19
|
||||
*mbyte.txt* For Vim version 7.0aa. Last change: 2005 Oct 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -286,6 +286,29 @@ Supported 'encoding' values are: *encoding-values*
|
||||
1 koi8-u Ukrainian
|
||||
1 macroman MacRoman (Macintosh encoding)
|
||||
1 8bit-{name} any 8-bit encoding (Vim specific name)
|
||||
1 cp437 similar to iso-8859-1
|
||||
1 cp737 similar to iso-8859-7
|
||||
1 cp775 Baltic
|
||||
1 cp850 similar to iso-8859-4
|
||||
1 cp852 similar to iso-8859-1
|
||||
1 cp855 similar to iso-8859-2
|
||||
1 cp857 similar to iso-8859-5
|
||||
1 cp860 similar to iso-8859-9
|
||||
1 cp861 similar to iso-8859-1
|
||||
1 cp862 similar to iso-8859-1
|
||||
1 cp863 similar to iso-8859-8
|
||||
1 cp865 similar to iso-8859-1
|
||||
1 cp866 similar to iso-8859-5
|
||||
1 cp869 similar to iso-8859-7
|
||||
1 cp874 Thai
|
||||
1 cp1250 Czech, Polish, etc.
|
||||
1 cp1251 Cyrillic
|
||||
1 cp1253 Greek
|
||||
1 cp1254 Turkish
|
||||
1 cp1255 Hebrew
|
||||
1 cp1256 Arabic
|
||||
1 cp1257 Baltic
|
||||
1 cp1258 Vietnamese
|
||||
1 cp{number} MS-Windows: any installed single-byte codepage
|
||||
2 cp932 Japanese (Windows only)
|
||||
2 euc-jp Japanese (Unix only)
|
||||
@@ -436,7 +459,7 @@ Useful utilities for converting the charset:
|
||||
ftp://ftp.cuhk.hk/pub/chinese/ifcss/software/unix/convert/hc-30.tar.gz
|
||||
|
||||
Korean: hmconv
|
||||
Hmconv is Korean code conversion utility especially for E-mail. It can
|
||||
Hmconv is Korean code conversion utility especially for E-mail. It can
|
||||
convert between EUC-KR and ISO-2022-KR. Hmconv can be found at:
|
||||
ftp://ftp.kaist.ac.kr/pub/hangul/code/hmconv/
|
||||
|
||||
@@ -444,7 +467,7 @@ Useful utilities for converting the charset:
|
||||
Lv is a Powerful Multilingual File Viewer. And it can be worked as
|
||||
|charset| converter. Supported |charset|: ISO-2022-CN, ISO-2022-JP,
|
||||
ISO-2022-KR, EUC-CN, EUC-JP, EUC-KR, EUC-TW, UTF-7, UTF-8, ISO-8859
|
||||
series, Shift_JIS, Big5 and HZ. Lv can be found at:
|
||||
series, Shift_JIS, Big5 and HZ. Lv can be found at:
|
||||
http://www.ff.iij4u.or.jp/~nrt/freeware/lv4495.tar.gz
|
||||
|
||||
|
||||
@@ -461,6 +484,12 @@ conversion needs to be done. These conversions are supported:
|
||||
request a very large buffer, more than Vim is willing to provide).
|
||||
Try getting another iconv() implementation.
|
||||
|
||||
*iconv-dynamic*
|
||||
On MS-Windows Vim can be compiled with the |+iconv/dyn| feature. This means
|
||||
Vim will search for the "iconv.dll" and "libiconv.dll" libraries. When
|
||||
neither of them can be found Vim will still work but some conversions won't be
|
||||
possible.
|
||||
|
||||
==============================================================================
|
||||
4. Using a terminal *mbyte-terminal*
|
||||
|
||||
@@ -506,7 +535,7 @@ Now start xterm with >
|
||||
or, for bigger character: >
|
||||
xterm -u8 -fn -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1
|
||||
|
||||
and you will have a working UTF-8 terminal emulator. Try both >
|
||||
and you will have a working UTF-8 terminal emulator. Try both >
|
||||
|
||||
cat utf-8-demo.txt
|
||||
vim utf-8-demo.txt
|
||||
@@ -761,7 +790,7 @@ is suitable for complex input, such as CJK.
|
||||
number of Hira-gana characters are 76. So, first, we pre-input text as
|
||||
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
|
||||
if needed. There are some Kana-Kanji conversion server: jserver
|
||||
(distributed with Wnn, see below) and canna. Canna could be found at:
|
||||
(distributed with Wnn, see below) and canna. Canna could be found at:
|
||||
ftp://ftp.nec.co.jp/pub/Canna/ (no longer works).
|
||||
|
||||
There is a good input system: Wnn4.2. Wnn 4.2 contains,
|
||||
@@ -801,7 +830,7 @@ Use the RPM or port for your system.
|
||||
Preedit Area and Status Area are performed by the client application in
|
||||
the area of application. The client application is directed by the
|
||||
|IM-server| to display all pre-edit data at the location of text
|
||||
insertion. The client registers callbacks invoked by the input method
|
||||
insertion. The client registers callbacks invoked by the input method
|
||||
during pre-editing.
|
||||
*. over-the-spot *OverTheSpot*
|
||||
Status Area is created in a fixed position within the area of application,
|
||||
@@ -1231,7 +1260,7 @@ is no longer relevant in the GTK+ 2 GUI.
|
||||
Up to two combining characters can be used. The combining character is drawn
|
||||
on top of the preceding character. When editing text a composing character is
|
||||
mostly considered part of the preceding character. For example "x" will
|
||||
delete a character and its following composing characters by default. If the
|
||||
delete a character and its following composing characters by default. If the
|
||||
'delcombine' option is on, then pressing 'x' will delete the combining
|
||||
characters, one at a time, then the base character. But when inserting, you
|
||||
type the first character and the following composing characters separately,
|
||||
@@ -1253,7 +1282,7 @@ characters present in the selected font.
|
||||
|
||||
Useful commands:
|
||||
- "ga" shows the decimal, hexadecimal and octal value of the character under
|
||||
the cursor. If there are composing characters these are shown too. (if the
|
||||
the cursor. If there are composing characters these are shown too. (If the
|
||||
message is truncated, use ":messages").
|
||||
- "g8" shows the bytes used in a UTF-8 character, also the composing
|
||||
characters, as hex numbers.
|
||||
@@ -1319,7 +1348,7 @@ a zero if necessary.
|
||||
COMMAND ARGUMENTS *utf-8-char-arg*
|
||||
|
||||
Commands like |f|, |F|, |t| and |r| take an argument of one character. For
|
||||
UTF-8 this argument may include one or two composing characters. These needs
|
||||
UTF-8 this argument may include one or two composing characters. These need
|
||||
to be produced together with the base character, Vim doesn't wait for the next
|
||||
character to be typed to find out if it is a composing character or not.
|
||||
Using 'keymap' or |:lmap| is a nice way to type these characters.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.0aa. Last change: 2005 Jan 08
|
||||
*message.txt* For Vim version 7.0aa. Last change: 2005 Oct 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -21,6 +21,14 @@ depends on the 'shortmess' option.
|
||||
|
||||
The number of remembered messages is fixed at 20.
|
||||
|
||||
*g<*
|
||||
The "g<" command can be used to see the last page of previous command output.
|
||||
This is especially useful if you accidentally typed <Space> at the hit-enter
|
||||
prompt.
|
||||
Note: when you stopped the output with "q" at the more prompt only up to that
|
||||
point will be displayed.
|
||||
The previous command output is cleared when another command produces output.
|
||||
|
||||
If you are using translated messages, the first printed line tells who
|
||||
maintains the messages or the translations. You can use this to contact the
|
||||
maintainer when you spot a mistake.
|
||||
@@ -279,6 +287,19 @@ Example: >
|
||||
changes to: >
|
||||
:w! /tmp/test
|
||||
<
|
||||
*E768* >
|
||||
Swap file exists: {filename} (:silent! overrides)
|
||||
|
||||
You are protected from overwriting a file that is being edited by Vim. This
|
||||
happens when you use ":w! filename" and a swapfile is found.
|
||||
- If the swapfile was left over from an old crashed edit session you may want
|
||||
to delete the swapfile. Edit {filename} to find out information about the
|
||||
swapfile.
|
||||
- If you want to write anyway prepend ":silent!" to the command. For example: >
|
||||
:silent! w! /tmp/test
|
||||
< The special command is needed, since you already added the ! for overwriting
|
||||
an existing file.
|
||||
|
||||
*E139* >
|
||||
File is loaded in another buffer
|
||||
|
||||
@@ -364,7 +385,8 @@ cannot be written. You need to give the buffer a file name: >
|
||||
|
||||
When using the '~' character in a pattern, it is replaced with the previously
|
||||
used pattern in a ":substitute" command. This fails when no such command has
|
||||
been used yet. See |/~|.
|
||||
been used yet. See |/~|. This also happens when using ":s/pat/%/", where the
|
||||
"%" stands for the previous substitute string.
|
||||
|
||||
*E35* >
|
||||
No previous regular expression
|
||||
@@ -567,6 +589,7 @@ The file is read-only and you are making a change to it anyway. You can use
|
||||
the |FileChangedRO| autocommand event to avoid this message (the autocommand
|
||||
must reset the 'readonly' option). See 'modifiable' to completely disallow
|
||||
making changes to a file.
|
||||
This message is only given for the first change after 'readonly' has been set.
|
||||
|
||||
*W13* >
|
||||
Warning: File "{filename}" has been created after editing started
|
||||
@@ -713,9 +736,10 @@ a user-defined command.
|
||||
|
||||
This is an (incomplete) overview of various messages that Vim gives:
|
||||
|
||||
*hit-enter* *press-enter* *hit-return* *press-return* >
|
||||
*hit-enter* *press-enter* *hit-return*
|
||||
*press-return* *hit-enter-prompt*
|
||||
|
||||
Hit ENTER or type command to continue
|
||||
Press ENTER or type command to continue
|
||||
|
||||
This message is given when there is something on the screen for you to read,
|
||||
and the screen is about to be redrawn:
|
||||
@@ -723,10 +747,13 @@ and the screen is about to be redrawn:
|
||||
- Something is displayed on the status line that is longer than the width of
|
||||
the window, or runs into the 'showcmd' or 'ruler' output.
|
||||
|
||||
-> Hit <Enter> or <Space> to redraw the screen and continue, without that key
|
||||
being used otherwise.
|
||||
-> Hit ":" or any other Normal mode command character to start that command.
|
||||
-> Hit <C-Y> to copy (yank) a modeless selection to the clipboard register.
|
||||
-> Press <Enter> or <Space> to redraw the screen and continue, without that
|
||||
key being used otherwise.
|
||||
-> Press ':' or any other Normal mode command character to start that command.
|
||||
-> Press 'k', 'u', 'b' or 'g' to scroll back in the messages. This works the
|
||||
same way as at the |more-prompt|. Only works when 'compatible' is off and
|
||||
'more' is on.
|
||||
-> Press <C-Y> to copy (yank) a modeless selection to the clipboard register.
|
||||
-> Use a menu. The characters defined for Cmdline-mode are used.
|
||||
-> When 'mouse' contains the 'r' flag, clicking the left mouse button works
|
||||
like pressing <Space>. This makes it impossible to select text though.
|
||||
@@ -734,19 +761,24 @@ and the screen is about to be redrawn:
|
||||
pressing <Space>.
|
||||
{Vi: only ":" commands are interpreted}
|
||||
|
||||
If you accidentally hit <Enter> or <Space> and you want to see the displayed
|
||||
text then use |g<|. This only works when 'more' is set.
|
||||
|
||||
To reduce the number of hit-enter prompts:
|
||||
- Set 'cmdheight' to 2 or higher.
|
||||
- Add flags to 'shortmess'.
|
||||
- Reset 'showcmd' and/or 'ruler'.
|
||||
|
||||
If your script causes the hit-enter prompt and you don't know why, you may
|
||||
find the |v:scrollstart| variable useful.
|
||||
|
||||
Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question|
|
||||
group.
|
||||
|
||||
|
||||
*more-prompt* *pager* >
|
||||
-- More --
|
||||
-- More -- (RET: line, SPACE: page, d: half page, q: quit)
|
||||
-- More -- (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)
|
||||
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
|
||||
|
||||
This message is given when the screen is filled with messages. It is only
|
||||
given when the 'more' option is on. It is highlighted with the |hl-MoreMsg|
|
||||
@@ -754,11 +786,16 @@ group.
|
||||
|
||||
Type effect ~
|
||||
<CR> or <NL> or j or <Down> one more line
|
||||
d down a page (half a screen)
|
||||
<Space> or <PageDown> down a screen
|
||||
G down all the way, until the hit-enter
|
||||
prompt
|
||||
|
||||
<BS> or k or <Up> one line back (*)
|
||||
<Space> or <PageDown> next page
|
||||
b or <PageUp> previous page (*)
|
||||
d down half a page
|
||||
u up half a page (*)
|
||||
u up a page (half a screen) (*)
|
||||
b or <PageUp> back a screen (*)
|
||||
g back to the start (*)
|
||||
|
||||
q, <Esc> or CTRL-C stop the listing
|
||||
: stop the listing and enter a
|
||||
command-line
|
||||
@@ -770,8 +807,8 @@ Type effect ~
|
||||
|
||||
Any other key causes the meaning of the keys to be displayed.
|
||||
|
||||
(*) backwards scrolling is only supported for these commands: >
|
||||
:clist
|
||||
(*) backwards scrolling is {not in Vi}. Only scrolls back to where messages
|
||||
started to scroll.
|
||||
(**) Clicking the left mouse button only works:
|
||||
- For the GUI: in the last line of the screen.
|
||||
- When 'r' is included in 'mouse' (but then selecting text won't work).
|
||||
@@ -780,4 +817,8 @@ Any other key causes the meaning of the keys to be displayed.
|
||||
Note: The typed key is directly obtained from the terminal, it is not mapped
|
||||
and typeahead is ignored.
|
||||
|
||||
The |g<| command can be used to see the last page of previous command output.
|
||||
This is especially useful if you accidentally typed <Space> at the hit-enter
|
||||
prompt.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 7.0aa. Last change: 2005 Jan 08
|
||||
*motion.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -57,6 +57,7 @@ or change text. The following operators are available:
|
||||
|>| > shift right
|
||||
|<| < shift left
|
||||
|zf| zf define a fold
|
||||
|g@| g@ call function set with the 'operatorfunc' option
|
||||
|
||||
If the motion includes a count and the operator also had a count before it,
|
||||
the two counts are multiplied. For example: "2d3w" deletes six words.
|
||||
@@ -72,13 +73,13 @@ and end position. Generally, motions that move between lines affect lines
|
||||
characterwise). However, there are some exceptions.
|
||||
|
||||
*exclusive* *inclusive*
|
||||
A character motion is either inclusive or exclusive. When inclusive, the start
|
||||
and end position of the motion are included in the operation. When exclusive,
|
||||
the last character towards the end of the buffer is not included. Linewise
|
||||
motions always include the start and end position.
|
||||
A character motion is either inclusive or exclusive. When inclusive, the
|
||||
start and end position of the motion are included in the operation. When
|
||||
exclusive, the last character towards the end of the buffer is not included.
|
||||
Linewise motions always include the start and end position.
|
||||
|
||||
Which motions are linewise, inclusive or exclusive is mentioned below. There
|
||||
are however, two general exceptions:
|
||||
Which motions are linewise, inclusive or exclusive is mentioned with the
|
||||
command. There are however, two general exceptions:
|
||||
1. If the motion is exclusive and the end of the motion is in column 1, the
|
||||
end of the motion is moved to the end of the previous line and the motion
|
||||
becomes inclusive. Example: "}" moves to the first line after a paragraph,
|
||||
@@ -247,7 +248,7 @@ f{char} To [count]'th occurrence of {char} to the right. The
|
||||
|
||||
*F*
|
||||
F{char} To the [count]'th occurrence of {char} to the left.
|
||||
The cursor is placed on {char} |inclusive|.
|
||||
The cursor is placed on {char} |exclusive|.
|
||||
{char} can be entered like with the |f| command.
|
||||
|
||||
*t*
|
||||
@@ -259,7 +260,7 @@ t{char} Till before [count]'th occurrence of {char} to the
|
||||
*T*
|
||||
T{char} Till after [count]'th occurrence of {char} to the
|
||||
left. The cursor is placed on the character right of
|
||||
{char} |inclusive|.
|
||||
{char} |exclusive|.
|
||||
{char} can be entered like with the |f| command.
|
||||
|
||||
*;*
|
||||
@@ -350,6 +351,10 @@ or the last line. The first two commands put the cursor in the same column
|
||||
except after the "$" command, then the cursor will be put on the last
|
||||
character of the line.
|
||||
|
||||
If "k", "-" or CTRL-P is used with a [count] and there are less than [count]
|
||||
lines above the cursor and the 'cpo' option includes the "-" flag it is an
|
||||
error. |cpo--|.
|
||||
|
||||
==============================================================================
|
||||
4. Word motions *word-motions*
|
||||
|
||||
@@ -461,9 +466,12 @@ A paragraph begins after each empty line, and also at each of a set of
|
||||
paragraph macros, specified by the pairs of characters in the 'paragraphs'
|
||||
option. The default is "IPLPPPQPP LIpplpipbp", which corresponds to the
|
||||
macros ".IP", ".LP", etc. (These are nroff macros, so the dot must be in the
|
||||
first column). A section boundary is also a paragraph boundary. Note that
|
||||
this does not include a '{' or '}' in the first column. Also note that a
|
||||
blank line (only containing white space) is NOT a paragraph boundary.
|
||||
first column). A section boundary is also a paragraph boundary.
|
||||
Note that a blank line (only containing white space) is NOT a paragraph
|
||||
boundary.
|
||||
Also note that this does not include a '{' or '}' in the first column. When
|
||||
the '{' flag is in 'cpoptions' then '{' in the first column is used as a
|
||||
paragraph boundary |posix|.
|
||||
|
||||
*section*
|
||||
A section begins after a form-feed (<C-L>) in the first column and at each of
|
||||
@@ -588,6 +596,20 @@ i< "inner <> block", select [count] <> blocks, from
|
||||
'>', excluding the '<' and '>'.
|
||||
When used in Visual mode it is made characterwise.
|
||||
|
||||
*v_at* *at*
|
||||
at "a tag block", select [count] tag blocks, from the
|
||||
[count]'th unmatched "<aaa>" backwards to the matching
|
||||
"</aaa>", including the "<aaa>" and "</aaa>".
|
||||
See |tag-blocks| about the details.
|
||||
When used in Visual mode it is made characterwise.
|
||||
|
||||
*v_it* *it*
|
||||
it "inner tag block", select [count] tag blocks, from the
|
||||
[count]'th unmatched "<aaa>" backwards to the matching
|
||||
"</aaa>", excluding the "<aaa>" and "</aaa>".
|
||||
See |tag-blocks| about the details.
|
||||
When used in Visual mode it is made characterwise.
|
||||
|
||||
a} *v_a}* *a}* *a{*
|
||||
a{ *v_aB* *v_a{* *aB*
|
||||
aB "a Block", select [count] Blocks, from "[count] [{" to
|
||||
@@ -621,6 +643,8 @@ i' *v_i'* *i'*
|
||||
i` *v_i`* *i`*
|
||||
Like a", a' and a`, but exclude the quotes and
|
||||
repeating won't extend the Visual selection.
|
||||
Special case: With a count of 2 the quotes are
|
||||
included, but no extra white space as with a"/a'/a`.
|
||||
|
||||
When used after an operator:
|
||||
For non-block objects:
|
||||
@@ -672,6 +696,25 @@ where on the object the cursor is. For example, compare "dw" and "daw": "dw"
|
||||
deletes from the cursor position to the start of the next word, "daw" deletes
|
||||
the word under the cursor and the space after or before it.
|
||||
|
||||
|
||||
Tag blocks *tag-blocks*
|
||||
|
||||
For the "it" and "at" text objects an attempt is done to select blocks between
|
||||
matching tags for HTML and XML. But since these are not completely compatible
|
||||
there are a few restrictions.
|
||||
|
||||
The normal method is to select a <tag> until the matching </tag>. For "at"
|
||||
the tags are included, for "it" they are excluded. But when "it" is repeated
|
||||
the tags will be included (otherwise nothing would change).
|
||||
|
||||
"<aaa/>" items are skipped. Case is ignored, also for XML where case does
|
||||
matter.
|
||||
|
||||
In HTML it is possible to have a tag like <br> or <meta ...> without a
|
||||
matching end tag. These are ignored.
|
||||
|
||||
The text objects are tolerant about mistakes. Stray end tags are ignored.
|
||||
|
||||
==============================================================================
|
||||
7. Marks *mark-motions* *E20* *E78*
|
||||
|
||||
@@ -931,7 +974,7 @@ These commands are not marks themselves, but jump to a mark:
|
||||
position. E.g., when updating a "Last change"
|
||||
timestamp in the first line: >
|
||||
|
||||
:let lnum = getline(".")
|
||||
:let lnum = line(".")
|
||||
:keepjumps normal gg
|
||||
:call SetLastChange()
|
||||
:keepjumps exe "normal " . lnum . "G"
|
||||
@@ -1054,7 +1097,7 @@ g; Go to [count] older position in change list.
|
||||
|
||||
*g,* *E663*
|
||||
g, Go to [count] newer cursor position in change list.
|
||||
Just like "g;| but in the opposite direction.
|
||||
Just like |g;| but in the opposite direction.
|
||||
(not a motion command)
|
||||
{not in Vi}
|
||||
{not available without the +jumplist feature}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
|
||||
*netbeans.txt* For Vim version 7.0aa. Last change: 2005 Apr 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@@ -16,7 +16,8 @@ NetBeans ExternalEditor Integration Features *netbeans*
|
||||
8. Messages |netbeans-messages|
|
||||
9. Running Vim from NetBeans |netbeans-run|
|
||||
10. NetBeans protocol |netbeans-protocol|
|
||||
11. Known problems |netbeans-problems|
|
||||
11. NetBeans commands |netbeans-commands|
|
||||
12. Known problems |netbeans-problems|
|
||||
|
||||
{Vi does not have any of these features}
|
||||
{only available when compiled with the |+netbeans_intg| feature}
|
||||
@@ -37,7 +38,7 @@ Visit http://www.sun.com for more information regarding the Sun ONE Studio
|
||||
product line.
|
||||
|
||||
Current releases of NetBeans provide full support for Java and limited support
|
||||
for C, C++, and Fortran. Current releases of Sun ONE Studio provide full
|
||||
for C, C++, and Fortran. Current releases of Sun ONE Studio provide full
|
||||
support for Java, C, C++, and Fortran.
|
||||
|
||||
The interface to NetBeans is also supported by Agide, the A-A-P GUI IDE.
|
||||
@@ -49,12 +50,12 @@ See the A-A-P website for information: http://www.A-A-P.org.
|
||||
==============================================================================
|
||||
2. NetBeans Key Bindings *netbeans-keybindings*
|
||||
|
||||
Vim understands a number of key bindings that execute NetBeans commands. These
|
||||
are typically all the Function key combinations. To execute a NetBeans command,
|
||||
the user must press the Pause key followed by a NetBeans key binding. For
|
||||
example, in order to compile a Java file, the NetBeans key binding is "F9". So,
|
||||
while in vim, press "Pause F9" to compile a java file. To toggle a breakpoint
|
||||
at the current line, press "Pause Shift F8".
|
||||
Vim understands a number of key bindings that execute NetBeans commands.
|
||||
These are typically all the Function key combinations. To execute a NetBeans
|
||||
command, the user must press the Pause key followed by a NetBeans key binding.
|
||||
For example, in order to compile a Java file, the NetBeans key binding is
|
||||
"F9". So, while in vim, press "Pause F9" to compile a java file. To toggle a
|
||||
breakpoint at the current line, press "Pause Shift F8".
|
||||
|
||||
The Pause key is Function key 21. If you don't have a working Pause key and
|
||||
want to use F8 instead, use: >
|
||||
@@ -80,10 +81,10 @@ In case you do not want the NetBeans interface you can disable it by
|
||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||
|
||||
Currently, only gvim is supported in this integration as NetBeans does not
|
||||
have means to supply a terminal emulator for the vim command. Furthermore,
|
||||
have means to supply a terminal emulator for the vim command. Furthermore,
|
||||
there is only GUI support for GTK, GNOME, and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
|
||||
|
||||
@@ -98,45 +99,45 @@ XPM by yourself or use precompiled libraries from http://iamphet.nm.ru/misc/
|
||||
==============================================================================
|
||||
4. Downloading NetBeans *netbeans-download*
|
||||
|
||||
The NetBeans IDE is available for download from netbeans.org. You can download
|
||||
The NetBeans IDE is available for download from netbeans.org. You can download
|
||||
a released version, download sources, or use CVS to download the current
|
||||
source tree. If you choose to download sources, follow directions from
|
||||
source tree. If you choose to download sources, follow directions from
|
||||
netbeans.org on building NetBeans.
|
||||
|
||||
Depending on the version of NetBeans you download, you may need to do further
|
||||
work to get the required External Editor module. This is the module which lets
|
||||
NetBeans work with gvim (or xemacs :-). See http://externaleditor.netbeans.org
|
||||
work to get the required External Editor module. This is the module which lets
|
||||
NetBeans work with gvim (or xemacs :-). See http://externaleditor.netbeans.org
|
||||
for details on downloading this module if your NetBeans release does not have
|
||||
it.
|
||||
|
||||
For C, C++, and Fortran support you will also need the cpp module. See
|
||||
For C, C++, and Fortran support you will also need the cpp module. See
|
||||
http://cpp.netbeans.org for information regarding this module.
|
||||
|
||||
You can also download Sun ONE Studio from Sun Microsystems, Inc for a 30 day
|
||||
free trial. See http://www.sun.com for further details.
|
||||
free trial. See http://www.sun.com for further details.
|
||||
|
||||
==============================================================================
|
||||
5. Preparing NetBeans for Vim *netbeans-preparation*
|
||||
|
||||
In order for NetBeans to work with vim, the NetBeans External Editor module
|
||||
must be loaded and enabled. If you have a Sun ONE Studio Enterprise Edition
|
||||
then this module should be loaded and enabled. If you have a NetBeans release
|
||||
must be loaded and enabled. If you have a Sun ONE Studio Enterprise Edition
|
||||
then this module should be loaded and enabled. If you have a NetBeans release
|
||||
you may need to find another way of obtaining this open source module.
|
||||
|
||||
You can check if you have this module by opening the Tools->Options dialog
|
||||
and drilling down to the "Modules" list (IDE Configuration->System->Modules).
|
||||
If your Modules list has an entry for "External Editor" you must make sure
|
||||
it is enabled (the "Enabled" property should have the value "True"). If your
|
||||
it is enabled (the "Enabled" property should have the value "True"). If your
|
||||
Modules list has no External Editor see the next section on |obtaining-exted|.
|
||||
|
||||
==============================================================================
|
||||
6. Obtaining the External Editor Module *obtaining-exted*
|
||||
|
||||
There are 2 ways of obtaining the External Editor module. The easiest way
|
||||
There are 2 ways of obtaining the External Editor module. The easiest way
|
||||
is to use the NetBeans Update Center to download and install the module.
|
||||
Unfortunately, some versions do not have this module in their update
|
||||
center. If you cannot download via the update center you will need to
|
||||
download sources and build the module. I will try and get the module
|
||||
center. If you cannot download via the update center you will need to
|
||||
download sources and build the module. I will try and get the module
|
||||
available from the NetBeans Update Center so building will be unnecessary.
|
||||
Also check http://externaleditor.netbeans.org for other availability options.
|
||||
|
||||
@@ -151,22 +152,22 @@ Assuming you have loaded and enabled the NetBeans External Editor module
|
||||
as described in |netbeans-preparation| all you need to do is verify that
|
||||
the gvim command line is properly configured for your environment.
|
||||
|
||||
Open the Tools->Options dialog and open the Editing category. Select the
|
||||
External Editor. The right hand pane should contain a Properties tab and
|
||||
an Expert tab. In the Properties tab make sure the "Editor Type" is set
|
||||
to "Vim". In the Expert tab make sure the "Vim Command" is correct.
|
||||
Open the Tools->Options dialog and open the Editing category. Select the
|
||||
External Editor. The right hand pane should contain a Properties tab and
|
||||
an Expert tab. In the Properties tab make sure the "Editor Type" is set
|
||||
to "Vim". In the Expert tab make sure the "Vim Command" is correct.
|
||||
|
||||
You should be careful if you change the "Vim Command". There are command
|
||||
You should be careful if you change the "Vim Command". There are command
|
||||
line options there which must be there for the connection to be properly
|
||||
set up. You can change the command name but thats about it. If your gvim
|
||||
can be found by your $PATH then the VIM Command can start with "gvim". If
|
||||
set up. You can change the command name but that's about it. If your gvim
|
||||
can be found by your $PATH then the VIM Command can start with "gvim". If
|
||||
you don't want gvim searched from your $PATH then hard code in the full
|
||||
Unix path name. At this point you should get a gvim for any source file
|
||||
Unix path name. At this point you should get a gvim for any source file
|
||||
you open in NetBeans.
|
||||
|
||||
If some files come up in gvim and others (with different file suffixes) come
|
||||
up in the default NetBeans editor you should verify the MIME type in the
|
||||
Expert tab MIME Type property. NetBeans is MIME oriented and the External
|
||||
Expert tab MIME Type property. NetBeans is MIME oriented and the External
|
||||
Editor will only open MIME types specified in this property.
|
||||
|
||||
==============================================================================
|
||||
@@ -193,10 +194,18 @@ Partial writes disallowed for NetBeans buffers
|
||||
NetBeans connection lost for this buffer
|
||||
NetBeans has become confused about the state of this file.
|
||||
Rather than risc data corruption, NetBeans has severed the
|
||||
connection for this file. Vim will take over responsibility
|
||||
connection for this file. Vim will take over responsibility
|
||||
for saving changes to this file and NetBeans will no longer
|
||||
know of these changes.
|
||||
|
||||
*E744*
|
||||
NetBeans does not allow changes in read-only files
|
||||
Vim normally allows changes to a read-only file and only
|
||||
enforces the read-only rule if you try to write the file.
|
||||
However, NetBeans does not let you make changes to a file
|
||||
which is read-only and becomes confused if vim does this.
|
||||
So vim does not allow modifications to files when run with
|
||||
NetBeans.
|
||||
==============================================================================
|
||||
9. Running Vim from NetBeans *netbeans-run*
|
||||
|
||||
@@ -239,13 +248,13 @@ NetBeans (see http://externaleditor.netbeans.org). Later it was extended to
|
||||
work with Agide (A-A-P GUI IDE, see http://www.a-a-p.org). The extensions are
|
||||
marked with "version 2.1".
|
||||
|
||||
Version 2.2 of the protocol has several minor changes which should only
|
||||
affect NetBeans users (ie, not Agide users). However, a bug was fixed which
|
||||
could cause confusion. The netbeans_saved() function sent a "save" protocol
|
||||
command. In protocol version 2.1 and earlier this was incorrectly interpreted
|
||||
as a notification that a write had taken place. In reality, it told NetBeans
|
||||
to save the file so multiple writes were being done. This caused various
|
||||
problems and has been fixed in 2.2. To decrease the likelihood of this
|
||||
Version 2.2 of the protocol has several minor changes which should only affect
|
||||
NetBeans users (ie, not Agide users). However, a bug was fixed which could
|
||||
cause confusion. The netbeans_saved() function sent a "save" protocol
|
||||
command. In protocol version 2.1 and earlier this was incorrectly interpreted
|
||||
as a notification that a write had taken place. In reality, it told NetBeans
|
||||
to save the file so multiple writes were being done. This caused various
|
||||
problems and has been fixed in 2.2. To decrease the likelihood of this
|
||||
confusion happening again, netbeans_saved() has been renamed to
|
||||
netbeans_save_buffer().
|
||||
|
||||
@@ -419,7 +428,7 @@ initDone Mark the buffer as ready for use. Implicitly makes the buffer
|
||||
|
||||
insertDone
|
||||
Sent by NetBeans to tell vim an initial file insert is done.
|
||||
This triggers a read message being printed. Prior to version
|
||||
This triggers a read message being printed. Prior to version
|
||||
2.3, no read messages were displayed after opening a file.
|
||||
New in version 2.3.
|
||||
|
||||
@@ -457,8 +466,8 @@ save Save the buffer when it was modified. The other side of the
|
||||
New in version 2.2.
|
||||
|
||||
saveDone
|
||||
Sent by NetBeans to tell vim a save is done. This triggers
|
||||
a save message being printed. Prior to version 2.3, no save
|
||||
Sent by NetBeans to tell vim a save is done. This triggers
|
||||
a save message being printed. Prior to version 2.3, no save
|
||||
messages were displayed after a save.
|
||||
New in version 2.3.
|
||||
|
||||
@@ -530,7 +539,7 @@ showBalloon text
|
||||
|
||||
specialKeys
|
||||
Map a set of keys (mostly function keys) to be passed back
|
||||
to NetBeans for processing. This lets NetBeans hotkeys be
|
||||
to NetBeans for processing. This lets NetBeans hotkeys be
|
||||
used from vim.
|
||||
Implemented in version 2.3.
|
||||
|
||||
@@ -551,6 +560,9 @@ stopCaretListen
|
||||
stopDocumentListen
|
||||
Mark the buffer to stop reporting changes to the IDE.
|
||||
Opposite of startDocumentListen.
|
||||
NOTE: if "netbeansBuffer" was used to mark this buffer as a
|
||||
NetBeans buffer, then the buffer is deleted in Vim. This is
|
||||
for compatibility with Sun Studio 10.
|
||||
|
||||
unguard off len
|
||||
Opposite of "guard", remove guarding for a text area.
|
||||
@@ -640,7 +652,7 @@ buttonRelease button lnum col
|
||||
at the time of the release. Only for buffers that are owned
|
||||
by NetBeans. This event is not sent if the button was
|
||||
released while the mouse was in the status line or in a
|
||||
separator line. If col is less than 1 the button release was
|
||||
separator line. If col is less than 1 the button release was
|
||||
in the sign area.
|
||||
New in version 2.2.
|
||||
|
||||
@@ -755,7 +767,18 @@ DETACH IDE -> editor: break the connection without exiting the
|
||||
REJECT Not used.
|
||||
|
||||
==============================================================================
|
||||
11. Known problems *netbeans-problems*
|
||||
11. NetBeans Commands *netbeans-commands*
|
||||
|
||||
*:nbkey*
|
||||
:nbkey key Pass the key to NetBeans for processing
|
||||
|
||||
Pass the key to NetBeans for hot-key processing. You should not need to use
|
||||
this command directly. However, NetBeans passes a list of hot-keys to Vim at
|
||||
startup and when one of these keys is pressed, this command is generated to
|
||||
send the key press back to NetBeans.
|
||||
|
||||
==============================================================================
|
||||
12. Known problems *netbeans-problems*
|
||||
|
||||
NUL bytes are not possible. For editor -> IDE they will appear as NL
|
||||
characters. For IDE -> editor they cannot be inserted.
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
*os_390.txt* For Vim version 7.0aa. Last change: 2003 Jun 03
|
||||
*os_390.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Ralf Schandl
|
||||
@@ -12,17 +12,17 @@ This file contains the particulars for the z/OS UNIX version of Vim.
|
||||
4. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
|
||||
5. XTerm Problems |zOS-xterm|
|
||||
6. Motif Problems |zOS-Motif|
|
||||
7 Bugs |zOS-Bugs|
|
||||
7. Bugs |zOS-Bugs|
|
||||
8. Known weaknesses |zOS-weaknesses|
|
||||
9. Changes |zOS-changes|
|
||||
|
||||
DISCLAIMER: ~
|
||||
We are IBM employees, but IBM is not responsible for this port. This is our
|
||||
We are IBM employees, but IBM is not responsible for this port. This is our
|
||||
private fun, and is provided in the hopes that it may be useful to others.
|
||||
|
||||
Please note that this software has NOT been submitted to any formal IBM
|
||||
testing and is published AS IS. Please do not contact IBM for support for this
|
||||
software, as it is not an official component of any IBM product. IT IS NOT
|
||||
testing and is published AS IS. Please do not contact IBM for support for this
|
||||
software, as it is not an official component of any IBM product. IT IS NOT
|
||||
SUPPORTED, GUARANTEED, OR RELATED WHATSOEVER TO IBM.
|
||||
|
||||
Contributors: ~
|
||||
@@ -60,22 +60,22 @@ Vim should compile, link, and run right out of the box on a standard IBM z/OS
|
||||
UNIX mainframe. I've personally run it on z/OS V1R2 and V1R3 machines without
|
||||
problems.
|
||||
|
||||
Many changes had to be done to the code to port Vim to z/OS UNIX. As like
|
||||
most UNIX programs, Vim contained heavy ASCII dependencies. I might have
|
||||
Many changes had to be done to the code to port Vim to z/OS UNIX. As like
|
||||
most UNIX programs, Vim contained heavy ASCII dependencies. I might have
|
||||
missed an ASCII dependency, or it is possible that a new one has been added
|
||||
with a feature or bug fix. Most programmers are simply not aware of possible
|
||||
ASCII/EBCDIC conversion issues. If you hit a problem that seems related to
|
||||
with a feature or bug fix. Most programmers are simply not aware of possible
|
||||
ASCII/EBCDIC conversion issues. If you hit a problem that seems related to
|
||||
this, feel free to contact us at the email addresses above.
|
||||
|
||||
One indication of ASCII/EBCDIC conversion problems is screen corruption with
|
||||
"unprintable" characters. For example, at one point the errorbell was broken
|
||||
in Vim. Any time Vim tried to ring the terminal bell an ASCII character 0x07
|
||||
would be printed. This works fine on most terminals, but is broken on an
|
||||
EBCDIC one. The correct solution was to define a different value for the bell
|
||||
in Vim. Any time Vim tried to ring the terminal bell an ASCII character 0x07
|
||||
would be printed. This works fine on most terminals, but is broken on an
|
||||
EBCDIC one. The correct solution was to define a different value for the bell
|
||||
character on EBCDIC systems.
|
||||
|
||||
Remember, it's only possible to fix a bug if the community knows about it.
|
||||
Don't rely on someone else to report it! See the section |bug-reports|.
|
||||
Don't rely on someone else to report it! See the section |bug-reports|.
|
||||
|
||||
==============================================================================
|
||||
3. Building VIM for z/OS UNIX *OS390-building* *zOS-building*
|
||||
@@ -83,12 +83,12 @@ Don't rely on someone else to report it! See the section |bug-reports|.
|
||||
A word on debugging code first: ~
|
||||
|
||||
The normal run of configure adds the flag '-g' to the compiler options,
|
||||
to include debugging information into the executable. This information
|
||||
to include debugging information into the executable. This information
|
||||
are normally removed from the executable with the strip command during
|
||||
installation. On z/OS UNIX, it is not possible to remove this from
|
||||
the executable. The strip command exists on z/OS UNIX and is called
|
||||
installation. On z/OS UNIX, it is not possible to remove this from
|
||||
the executable. The strip command exists on z/OS UNIX and is called
|
||||
during the installation, but it does nothing. It is equivalent to the
|
||||
'touch' command. This is due to the way debug symbols are stored in the
|
||||
'touch' command. This is due to the way debug symbols are stored in the
|
||||
objects generated by the compiler.
|
||||
|
||||
If you want to build Vim without debugging code, export the environment
|
||||
@@ -99,11 +99,11 @@ variable CFLAGS set to an empty string before you call the configure script.
|
||||
|
||||
Building without X11: ~
|
||||
|
||||
Note: Use cc to build Vim. The c89 compiler has stricter syntax checking
|
||||
Note: Use cc to build Vim. The c89 compiler has stricter syntax checking
|
||||
and will not compile Vim cleanly.
|
||||
|
||||
If you build VIM without X11 support, compiling and building is
|
||||
straightforward. Don't forget to export _CC_CCMODE=1 before calling
|
||||
straightforward. Don't forget to export _CC_CCMODE=1 before calling
|
||||
configure and make.
|
||||
>
|
||||
$ export _CC_CCMODE=1
|
||||
@@ -114,7 +114,7 @@ configure and make.
|
||||
Test notes:
|
||||
Test 11 will fail if you do not have gzip installed.
|
||||
Test 42 will fail, as VIM on z/OS UNIX doesn't support the multibyte
|
||||
feature. (David Moore: "Doesn't work _yet_! :-) I'll see what I
|
||||
feature. (David Moore: "Doesn't work _yet_! :-) I'll see what I
|
||||
can do.")
|
||||
>
|
||||
|
||||
@@ -123,8 +123,8 @@ configure and make.
|
||||
|
||||
Building with X11: ~
|
||||
|
||||
There are two ways for building Vim with X11 support. You can link it
|
||||
statically with the X11 libraries or can bind it with the X11 DLLs. The
|
||||
There are two ways for building Vim with X11 support. You can link it
|
||||
statically with the X11 libraries or can bind it with the X11 DLLs. The
|
||||
statically linked version results in a huge executable (~13MB), while the
|
||||
dynamically linked executable is much smaller (~4.5MB).
|
||||
|
||||
@@ -137,7 +137,7 @@ Here is what you do, if you want Motif:
|
||||
VIM is now linked statically with the X11 libraries.
|
||||
|
||||
b) Dynamic link:
|
||||
Make VIM as described for the static link. Then change the contents of
|
||||
Make VIM as described for the static link. Then change the contents of
|
||||
the 'auto/link.sed' file by appending: >
|
||||
s%-lXm *%/usr/lib/Xm.x %g
|
||||
s%-lX11 *%/usr/lib/X11.x %g
|
||||
@@ -155,7 +155,7 @@ See the Makefile and the file link.sh on how link.sed is used.
|
||||
==============================================================================
|
||||
4. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
|
||||
|
||||
For the internal script language the feature "ebcdic" was added. With this
|
||||
For the internal script language the feature "ebcdic" was added. With this
|
||||
you can fix ASCII dependent scripts like this:
|
||||
>
|
||||
if has("ebcdic")
|
||||
@@ -178,7 +178,7 @@ the screen with <C-L> or if you can't move to the left with the cursor key on
|
||||
the command line, try adding >
|
||||
:set t_le=^H
|
||||
<
|
||||
to your .vimrc. Note: '^H' is one character, hit <C-V><C-H> to get it.
|
||||
to your .vimrc. Note: '^H' is one character, hit <C-V><C-H> to get it.
|
||||
|
||||
==============================================================================
|
||||
6. Motif Problems *OS390-Motif* *zOS-Motif*
|
||||
@@ -203,9 +203,9 @@ There is no solution for this as of yet.
|
||||
8. Known weaknesses *OS390-weaknesses* *zOS-weaknesses*
|
||||
|
||||
- No binary search in tag files.
|
||||
The program /bin/sort sorts by ASCII value by default. This program is
|
||||
normally used by ctags to sort the tags. There might be a version of
|
||||
ctags out there, that does it right, but we can't be sure. So this seems to
|
||||
The program /bin/sort sorts by ASCII value by default. This program is
|
||||
normally used by ctags to sort the tags. There might be a version of
|
||||
ctags out there, that does it right, but we can't be sure. So this seems to
|
||||
be a permanent restriction.
|
||||
|
||||
- Multibyte support (utf-8) doesn't work, it's disabled at compile time.
|
||||
@@ -246,10 +246,10 @@ not an exhaustive summary of all the modifications made to the code base.
|
||||
screen corruption problems in gVim reported by Anthony Giorgio.
|
||||
|
||||
Anthony Giorgio updated this document:
|
||||
- Changed OS/390 to z/OS where appropriate. IBM decided to rename
|
||||
- Changed OS/390 to z/OS where appropriate. IBM decided to rename
|
||||
all of its servers and operating systems. z/OS and OS/390
|
||||
are the same product, but the version numbering system was
|
||||
reset for the name change. (e.g. OS/390 V2R11 == z/OS V1R1)
|
||||
reset for the name change (e.g. OS/390 V2R11 == z/OS V1R1).
|
||||
- Added information about second edition of the Open Source Redbook.
|
||||
- Moved Redbook information to a separate section.
|
||||
- Various tweaks and changes.
|
||||
@@ -265,16 +265,16 @@ not an exhaustive summary of all the modifications made to the code base.
|
||||
|
||||
6.0q (alpha):
|
||||
Minor changes for nrformats=alpha (see |'nrformats'|).
|
||||
Problem with hard-coded keycode for the English pound sign. Added a define in
|
||||
Problem with hard-coded keycode for the English pound sign. Added a define in
|
||||
ascii.h
|
||||
Disabled multibyte for EBCDIC in feature.h
|
||||
|
||||
6.0f (alpha):
|
||||
First compile of Vim 6 on z/OS UNIX. Some minor changes were needed.
|
||||
First compile of Vim 6 on z/OS UNIX. Some minor changes were needed.
|
||||
|
||||
Finally found the reason why make from the top level didn't work (I must have
|
||||
been blind before!). The Makefile contained a list of targets in one target
|
||||
line. On all other UNIX's the macro $@ evaluates to the first target in this
|
||||
been blind before!). The Makefile contained a list of targets in one target
|
||||
line. On all other UNIX's the macro $@ evaluates to the first target in this
|
||||
list, only on z/OS UNIX it evaluates to the last one :-(.
|
||||
|
||||
5.6-390d:
|
||||
@@ -282,7 +282,7 @@ not an exhaustive summary of all the modifications made to the code base.
|
||||
|
||||
5.6-390c:
|
||||
I grepped through the source and examined every spot with a character
|
||||
involved in a operation (+-). I hope I now found all EBCDIC/ASCII
|
||||
involved in a operation (+-). I hope I now found all EBCDIC/ASCII
|
||||
stuff, but ....
|
||||
|
||||
Fixed:
|
||||
@@ -295,7 +295,7 @@ not an exhaustive summary of all the modifications made to the code base.
|
||||
- fixed quick-access table in findoptions()
|
||||
- fixed 'g^H' select mode
|
||||
- fixed tgetstr() 'get terminal capability string', ESC and
|
||||
Ctrl chars where wrong. (Not used on OS/390 UNIX)
|
||||
Ctrl chars where wrong. (Not used on OS/390 UNIX)
|
||||
|
||||
|
||||
ctags:
|
||||
@@ -311,13 +311,13 @@ not an exhaustive summary of all the modifications made to the code base.
|
||||
- added special compiler and linker options if building with X11
|
||||
- configure:
|
||||
- after created via autoconf hand-edited it to make the test for
|
||||
ICEConnectionNumber work. This is a autoconf problem. OS/390 UNIX
|
||||
ICEConnectionNumber work. This is a autoconf problem. OS/390 UNIX
|
||||
needs -lX11 for this.
|
||||
- Makefile
|
||||
- Don't include the lib directories ('-L...') into the variable
|
||||
ALL_LIBS. Use own variable ALL_LIB_DIRS instead. A fully POSIX
|
||||
ALL_LIBS. Use own variable ALL_LIB_DIRS instead. A fully POSIX
|
||||
compliant compiler must not accept objects/libraries and options
|
||||
mixed. Now we can call the linker like this:
|
||||
mixed. Now we can call the linker like this:
|
||||
|
||||
$(CC) $(LDFLAGS) $(ALL_LIB_DIRS) $(OBJ) $(ALL_LIBS)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_amiga.txt* For Vim version 7.0aa. Last change: 2004 Jun 28
|
||||
*os_amiga.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -13,7 +13,7 @@ Installation on the Amiga:
|
||||
look for the file "VIM:doc/help.txt" (for the help command).
|
||||
Setting the environment variable $VIM also works. And the other way around:
|
||||
when $VIM used and it is not defined, "VIM:" is used.
|
||||
- With DOS 1.3 or earlier: Put "arp.library" in "libs:". Vim must have been
|
||||
- With DOS 1.3 or earlier: Put "arp.library" in "libs:". Vim must have been
|
||||
compiled with the |+ARP| feature enabled. Make sure that newcli and run are
|
||||
in "C:" (for executing external commands).
|
||||
- Put a shell that accepts a command with "-c" (e.g. "Csh" from Fish disk
|
||||
@@ -21,13 +21,13 @@ Installation on the Amiga:
|
||||
executing external commands).
|
||||
|
||||
If you have sufficient memory you can avoid startup delays by making Vim and
|
||||
csh resident with the command "rez csh vim". You will have to put
|
||||
"rezlib.library" in your "libs:" directory. Under 2.0 you will need rez
|
||||
csh resident with the command "rez csh vim". You will have to put
|
||||
"rezlib.library" in your "libs:" directory. Under 2.0 you will need rez
|
||||
version 0.5.
|
||||
|
||||
If you do not use digraphs, you can save some memory by recompiling without
|
||||
the |+digraphs| feature. If you want to use Vim with other terminals you can
|
||||
recompile with the TERMCAP option. Vim compiles with Manx 5.x and SAS 6.x.
|
||||
the |+digraphs| feature. If you want to use Vim with other terminals you can
|
||||
recompile with the TERMCAP option. Vim compiles with Manx 5.x and SAS 6.x.
|
||||
See the makefiles and feature.h.
|
||||
|
||||
If you notice Vim crashes on some files when syntax highlighting is on, or
|
||||
@@ -47,7 +47,7 @@ If you want to use different colors set the termcap codes:
|
||||
t_ZH (for italic text)
|
||||
t_ZR (for normal text after t_ZH)
|
||||
|
||||
Standard ANSI escape sequences are used. The codes are:
|
||||
Standard ANSI escape sequences are used. The codes are:
|
||||
30 grey char 40 grey cell >0 grey background 0 all attributes off
|
||||
31 black char 41 black cell >1 black background 1 boldface
|
||||
32 white char 42 white cell >2 white background 2 faint
|
||||
@@ -57,8 +57,8 @@ Standard ANSI escape sequences are used. The codes are:
|
||||
36 white char 46 white cell >6 white background 8 invisible
|
||||
37 blue char 47 blue cell >7 blue background
|
||||
|
||||
The codes with '>' must be the last. The cell and background color should be
|
||||
the same. The codes can be combined by separating them with a semicolon. For
|
||||
The codes with '>' must be the last. The cell and background color should be
|
||||
the same. The codes can be combined by separating them with a semicolon. For
|
||||
example to get white text on a blue background: >
|
||||
:set t_me=^V<Esc>[0;32;43;>3m
|
||||
:set t_se=^V<Esc>[0;32;43;>3m
|
||||
@@ -72,14 +72,14 @@ example to get white text on a blue background: >
|
||||
|
||||
When using multiple commands with a filter command, e.g. >
|
||||
:r! echo this; echo that
|
||||
Only the output of the last command is used. To fix this you have to group the
|
||||
commands. This depends on the shell you use (that is why it is not done
|
||||
automatically in Vim). Examples: >
|
||||
Only the output of the last command is used. To fix this you have to group the
|
||||
commands. This depends on the shell you use (that is why it is not done
|
||||
automatically in Vim). Examples: >
|
||||
:r! (echo this; echo that)
|
||||
:r! {echo this; echo that}
|
||||
|
||||
Commands that accept a single file name allow for embedded spaces in the file
|
||||
name. However, when using commands that accept several file names, embedded
|
||||
name. However, when using commands that accept several file names, embedded
|
||||
spaces need to be escaped with a backslash.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
@@ -94,8 +94,8 @@ For the latest info about the MorphOS version:
|
||||
Problems ~
|
||||
|
||||
There are a couple of problems which are not MorphOS related but more Vim and
|
||||
UN*X related. When starting up Vim in ram: it complains with a nag requester
|
||||
from MorphOS please simply ignore it. Another problem is when running Vim as
|
||||
UN*X related. When starting up Vim in ram: it complains with a nag requester
|
||||
from MorphOS please simply ignore it. Another problem is when running Vim as
|
||||
is some plugins will cause a few problems which you can ignore as well.
|
||||
Hopefully someone will be fixing it over the time.
|
||||
|
||||
@@ -116,7 +116,7 @@ Installation ~
|
||||
|
||||
ftp://ftp.vim.org/pub/vim/amiga/vim62rt.tgz
|
||||
|
||||
and unpack it in your 'Apps' directory of the MorphOS installation. For me
|
||||
and unpack it in your 'Apps' directory of the MorphOS installation. For me
|
||||
this would create following directory hierarchy:
|
||||
|
||||
MorphOS:Apps/Vim/Vim62/...
|
||||
@@ -130,8 +130,8 @@ Installation ~
|
||||
|
||||
4) Copy the '.vimrc' file to s:
|
||||
|
||||
5) There is also a file named 'color-sequence' included in this archive. This
|
||||
will set the MorphOS Shell to show ANSI colors. Please copy the file to s:
|
||||
5) There is also a file named 'color-sequence' included in this archive. This
|
||||
will set the MorphOS Shell to show ANSI colors. Please copy the file to s:
|
||||
and change the s:shell-startup to:
|
||||
|
||||
;Begin VIM
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_beos.txt* For Vim version 7.0aa. Last change: 2004 May 01
|
||||
*os_beos.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -31,11 +31,11 @@ matters not discussed in this file, Vim behaves very much like the Unix
|
||||
1. General *beos-general*
|
||||
|
||||
The default syntax highlighting mostly works with different foreground colors
|
||||
to highlight items. This works best if you set your Terminal window to a
|
||||
darkish background and light letters. Some middle-grey background (for
|
||||
to highlight items. This works best if you set your Terminal window to a
|
||||
darkish background and light letters. Some middle-grey background (for
|
||||
instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you
|
||||
use the default light background and dark letters, it may look better to
|
||||
simply reverse the notion of foreground and background color settings. To do
|
||||
simply reverse the notion of foreground and background color settings. To do
|
||||
this, add this to your .vimrc file (where <Esc> may need to be replaced with
|
||||
the escape character): >
|
||||
|
||||
@@ -48,7 +48,7 @@ the escape character): >
|
||||
2. Compiling Vim *beos-compiling*
|
||||
|
||||
From the Advanced Access Preview Release (AAPR) on, Vim can be configured with
|
||||
the standard configure script. To get the compiler and its flags right, use
|
||||
the standard configure script. To get the compiler and its flags right, use
|
||||
the following command-line in the shell (you can cut and paste it in one go):
|
||||
|
||||
CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
|
||||
@@ -60,9 +60,9 @@ When configure has run, and you wish to enable GUI support, you must edit the
|
||||
config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead
|
||||
of $(NONE_xxx).
|
||||
Alternatively you can make this change in the Makefile; it will have a
|
||||
more permanent effect. Search for "NONE_".
|
||||
more permanent effect. Search for "NONE_".
|
||||
|
||||
After compilation you need to add the resources to the binary. Add the
|
||||
After compilation you need to add the resources to the binary. Add the
|
||||
following few lines near the end (before the line with "exit $exit_value") of
|
||||
the link.sh script to do this automatically.
|
||||
|
||||
@@ -81,12 +81,12 @@ You will need it when using "make install" to install Vim.
|
||||
Now type "make" to compile Vim, then "make install" to install it.
|
||||
|
||||
If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and
|
||||
create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
|
||||
copy Vims configuration files to $HOME/config/share/vim:
|
||||
create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
|
||||
copy Vim's configuration files to $HOME/config/share/vim:
|
||||
vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff
|
||||
manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
|
||||
manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
|
||||
|
||||
Obviously, you need the unlimited linker to actually link Vim. See
|
||||
Obviously, you need the unlimited linker to actually link Vim. See
|
||||
http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS.
|
||||
There are currently no other linkers that can do the job.
|
||||
|
||||
@@ -97,7 +97,7 @@ you have the appropriate files installed. |beos-perl|
|
||||
3. Timeout in the Terminal *beos-timeout*
|
||||
|
||||
Because some POSIX/UNIX features are still missing[1], there is no direct OS
|
||||
support for read-with-timeout in the Terminal. This would meat that you cannot
|
||||
support for read-with-timeout in the Terminal. This would mean that you cannot
|
||||
use :mappings of more than one character, unless you also :set notimeout.
|
||||
|'timeout'|
|
||||
|
||||
@@ -112,16 +112,16 @@ indistinctive character sequences.
|
||||
These problems do not exist in the GUI.
|
||||
|
||||
[1]: there is no select() on file descriptors; also the termios VMIN and VTIME
|
||||
settings do not seem to work properly. This has been the case since DR7 at
|
||||
settings do not seem to work properly. This has been the case since DR7 at
|
||||
least and still has not been fixed as of PR2.
|
||||
|
||||
*beos-unicode*
|
||||
4. Unicode vs. Latin1 *beos-utf8*
|
||||
|
||||
BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to
|
||||
8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
|
||||
This does not produce the desired results for non-ASCII characters. Try the
|
||||
command :digraphs to see. If they look messed up, use :set isprint=@ to
|
||||
8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
|
||||
This does not produce the desired results for non-ASCII characters. Try the
|
||||
command :digraphs to see. If they look messed up, use :set isprint=@ to
|
||||
(slightly) improve the display of ISO-Latin1 characters 128-255. This works
|
||||
better in the GUI, depending on which font you use (below).
|
||||
|
||||
@@ -133,46 +133,46 @@ You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
|
||||
|
||||
Normally Vim starts with the GUI if you start it as gvim or vim -g. The BeOS
|
||||
version tries to determine if it was started from the Tracker instead of the
|
||||
Terminal, and if so, use the GUI anyway. However, the current detection scheme
|
||||
is fooled if you use the command "vim - </dev/null" or "vim filename &". The
|
||||
Terminal, and if so, use the GUI anyway. However, the current detection scheme
|
||||
is fooled if you use the command "vim - </dev/null" or "vim filename &". The
|
||||
latter can be called a feature but probably only works because there is no
|
||||
BSD-style job control.
|
||||
|
||||
Stuff that does not work yet:
|
||||
|
||||
- Running external commands from the GUI does not work 100% (again due to lack
|
||||
of support for select()). There was a choice between seeing the command's
|
||||
output, or being able to interrupt it. I chose for seeing the output. Even
|
||||
of support for select()). There was a choice between seeing the command's
|
||||
output, or being able to interrupt it. I chose for seeing the output. Even
|
||||
now the command sometimes crashes mysteriously, apparently in Be's
|
||||
malloc_internal() called from the putenv() function, after fork()ing. (data
|
||||
access exception occurred, ec01b0ec: 90e80000 *stw r7, 0x0000 (r8))(:!ls
|
||||
works usually, :r !ls usually doesn't). This has been reported as bug
|
||||
malloc_internal() called from the putenv() function, after fork()ing. (data
|
||||
access exception occurred, ec01b0ec: 90e80000 *stw r7, 0x0000 (r8)). (:!ls
|
||||
works usually, :r !ls usually doesn't). This has been reported as bug
|
||||
# 971215-083826.
|
||||
- The window title.
|
||||
- Starting the GUI from the Terminal version with :gui always acts as if
|
||||
:gui -f were used. There is no way to fix this that I can see.
|
||||
:gui -f were used. There is no way to fix this that I can see.
|
||||
- There are some small display glitches here and there that I hope to clean up
|
||||
later. Most of them occur when the window is partially obscured. Some of
|
||||
later. Most of them occur when the window is partially obscured. Some of
|
||||
them seem to be bugs in BeOS, because the Terminal has similar glitches.
|
||||
- Mouse up events are not generated when outside the window. This is a bug in
|
||||
BeOS. You can notice this when selecting text and moving the cursor outside
|
||||
- Mouse up events are not generated when outside the window. This is a bug in
|
||||
BeOS. You can notice this when selecting text and moving the cursor outside
|
||||
the window, then letting go of the mouse button. Another way is when you
|
||||
drag the scrollbar and do the same thing. Because Vim still thinks you are
|
||||
still playing with the scrollbar it won't change it itself. I provided a
|
||||
still playing with the scrollbar it won't change it itself. I provided a
|
||||
workaround which kicks in when the window is activated or deactivated (so it
|
||||
works best with focus- follows-mouse (/boot/bin/ffm) turned on).
|
||||
- The cursor does not flash (very low priority; I'm not sure I even like it
|
||||
when it flashes)
|
||||
|
||||
|
||||
The $VIM directory *beos-vimdir*
|
||||
6. The $VIM directory *beos-vimdir*
|
||||
|
||||
$VIM is the symbolic name for the place where Vims support files are stored.
|
||||
The default value for $VIM is set at compile time and can be determined with >
|
||||
|
||||
:version
|
||||
|
||||
The normal value is /boot/home/config/share/vim. If you don't like it you can
|
||||
The normal value is /boot/home/config/share/vim. If you don't like it you can
|
||||
set the VIM environment variable to override this, or set 'helpfile' in your
|
||||
.vimrc: >
|
||||
|
||||
@@ -189,7 +189,7 @@ session, unless you use the File Types application to set Vim to be "Single
|
||||
Launch") or on the Vim window (starts editing the files). Dropping a folder
|
||||
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
|
||||
folders with either SHIFT key pressed, Vim changes directory to the folder
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
that contains the first item dropped. When starting Vim, there is no need to
|
||||
press shift: Vim behaves as if you do.
|
||||
|
||||
Files dropped set the current argument list. |argument-list|
|
||||
@@ -198,10 +198,10 @@ Files dropped set the current argument list. |argument-list|
|
||||
8. Single Launch vs. Multiple Launch *beos-launch*
|
||||
|
||||
As distributed Vim's Application Flags (as seen in the FileTypes preference)
|
||||
are set to Multiple Launch. If you prefer, you can set them to Single Launch
|
||||
are set to Multiple Launch. If you prefer, you can set them to Single Launch
|
||||
instead. Attempts to start a second copy of Vim will cause the first Vim to
|
||||
open the files instead. This works from the Tracker but also from the command
|
||||
line. In the latter case, non-file (option) arguments are not supported.
|
||||
open the files instead. This works from the Tracker but also from the command
|
||||
line. In the latter case, non-file (option) arguments are not supported.
|
||||
|
||||
NB: Only the GUI version has a BApplication (and hence Application Flags).
|
||||
This section does not apply to the GUI-less version, should you compile one.
|
||||
@@ -214,16 +214,16 @@ Set fonts with >
|
||||
:set guifont=Courier10_BT/Roman/10
|
||||
|
||||
where the first part is the font family, the second part the style, and the
|
||||
third part the size. You can use underscores instead of spaces in family and
|
||||
third part the size. You can use underscores instead of spaces in family and
|
||||
style.
|
||||
|
||||
Best results are obtained with monospaced fonts (such as Courier). Vim
|
||||
Best results are obtained with monospaced fonts (such as Courier). Vim
|
||||
attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not
|
||||
work for proportional fonts (despite what the BeBook says).
|
||||
|
||||
Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1.
|
||||
This also does not work for all fonts. It does work for Courier, but not for
|
||||
ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
|
||||
This also does not work for all fonts. It does work for Courier, but not for
|
||||
ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
|
||||
|
||||
:digraphs
|
||||
|
||||
@@ -270,30 +270,30 @@ because the ALT (aka COMMAND) keys are not passed to applications.
|
||||
|
||||
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
|
||||
you use the default Mouse preference settings these names indeed correspond to
|
||||
reality. Vim uses this mapping:
|
||||
reality. Vim uses this mapping:
|
||||
|
||||
Button 1 -> LeftMouse,
|
||||
Button 2 -> RightMouse,
|
||||
Button 3 -> MiddleMouse.
|
||||
|
||||
If your mouse has fewer than 3 buttons you can provide your own mapping from
|
||||
mouse clicks with modifier(s) to other mouse buttons. See the file
|
||||
mouse clicks with modifier(s) to other mouse buttons. See the file
|
||||
vim-5.x/macros/swapmous.vim for an example. |gui-mouse-mapping|
|
||||
|
||||
|
||||
12. Color names *beos-colors*
|
||||
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
Vim has a number of color names built-in. Additional names are read from the
|
||||
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
|
||||
database from X. Names used from this file are cached for efficiency.
|
||||
|
||||
|
||||
13. Compiling with Perl *beos-perl*
|
||||
|
||||
Compiling with Perl support enabled is slightly tricky. The Metrowerks
|
||||
compiler has some strange ideas where to search for include files. Since
|
||||
Compiling with Perl support enabled is slightly tricky. The Metrowerks
|
||||
compiler has some strange ideas where to search for include files. Since
|
||||
several include files with Perl have the same names as some Vim header
|
||||
files, the wrong ones get included. To fix this, run the following Perl
|
||||
files, the wrong ones get included. To fix this, run the following Perl
|
||||
script while in the vim-5.0/src directory: >
|
||||
|
||||
preproc.pl > perl.h
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mac.txt* For Vim version 7.0aa. Last change: 2004 Dec 13
|
||||
*os_mac.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -33,7 +33,7 @@ Indianapolis IN 46220 USA
|
||||
==============================================================================
|
||||
1. Filename Convention *mac-filename*
|
||||
|
||||
You can use either the unix or mac path separator or a mix of both. In order
|
||||
You can use either the unix or mac path separator or a mix of both. In order
|
||||
to determine if the specified filename is relative to the current folder or
|
||||
absolute (i.e. relative to the "Desktop"), the following algorithm is used:
|
||||
|
||||
@@ -59,7 +59,7 @@ You can use the |$VIM| and |$VIMRUNTIME| variable. >
|
||||
2. .vimrc and .vim files *mac-vimfile*
|
||||
|
||||
On the Mac files starting with a dot "." are discouraged, thus the rc files
|
||||
are named "vimrc" or "_vimrc" and "gvimrc" or "_gvimrc". These files can be in
|
||||
are named "vimrc" or "_vimrc" and "gvimrc" or "_gvimrc". These files can be in
|
||||
any format (mac, dos or unix). Vim can handle any file format when the
|
||||
|'nocompatible'| option is set, otherwise it will only handle mac format
|
||||
files.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mint.txt* For Vim version 7.0aa. Last change: 2001 Sep 03
|
||||
*os_mint.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Jens M. Felderhoff
|
||||
@@ -15,12 +15,12 @@ The Unix behavior described in the documentation also refers to the
|
||||
MiNT version of Vim unless explicitly stated otherwise.
|
||||
|
||||
For wildcard expansion of <~> (home directory) you need a shell that
|
||||
expands the tilde. The vanilla Bourne shell doesn't recognize it.
|
||||
expands the tilde. The vanilla Bourne shell doesn't recognize it.
|
||||
With csh and ksh it should work OK.
|
||||
|
||||
The MiNT version of vim needs the termcap file /etc/termcap with the
|
||||
terminal capabilities of your terminal. Builtin termcaps are
|
||||
supported for the vt52 terminal. Termcap entries for the TOSWIN window
|
||||
terminal capabilities of your terminal. Builtin termcaps are
|
||||
supported for the vt52 terminal. Termcap entries for the TOSWIN window
|
||||
manager and the virtual console terminals have been appended to the
|
||||
termcap file that comes with the Vim distribution.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_msdos.txt* For Vim version 7.0aa. Last change: 2004 Aug 31
|
||||
*os_msdos.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -97,7 +97,7 @@ write a file, and for filter commands. Or Vim runs out of memory, and random
|
||||
problems may result.
|
||||
|
||||
The Dos32 version cannot have an unlimited number of files open at any one
|
||||
time. The limit depends on the setting of FILES in your CONFIG.SYS. This
|
||||
time. The limit depends on the setting of FILES in your CONFIG.SYS. This
|
||||
defaults to 15; if you need to edit a lot of files, you should increase this.
|
||||
If you do not set FILES high enough, you can get strange errors, and shell
|
||||
commands may cause a crash!
|
||||
@@ -241,7 +241,7 @@ In other versions, the following can be used.
|
||||
|
||||
How to copy/paste text from/to vim in a dos box:
|
||||
|
||||
1) to get VIM to run in a window, instead of full screen, press alt+enter.
|
||||
1) To get VIM to run in a window, instead of full screen, press alt+enter.
|
||||
This toggles back and forth between full screen and a dos window.
|
||||
NOTE: In Windows 95 you must have the property "Fast Pasting" unchecked!
|
||||
In the properties dialog box for the MS-DOS window, go to "MS-DOS
|
||||
@@ -251,25 +251,25 @@ How to copy/paste text from/to vim in a dos box:
|
||||
|
||||
2) To paste something _into_ Vim, put Vim in insert mode.
|
||||
|
||||
3) put the text you want to paste on the windows clipboard.
|
||||
3) Put the text you want to paste on the windows clipboard.
|
||||
|
||||
4) Click the control box in the upper left of the Vim window. (This looks
|
||||
like a big minus sign). If you don't want to use the mouse, you can get
|
||||
4) Click the control box in the upper left of the Vim window. (This looks
|
||||
like a big minus sign.) If you don't want to use the mouse, you can get
|
||||
this with alt+spacebar.
|
||||
5) on the resulting dropdown menu choose "Edit"
|
||||
6) on the child dropdown menu choose "Paste"
|
||||
5) On the resulting dropdown menu choose "Edit".
|
||||
6) On the child dropdown menu choose "Paste".
|
||||
|
||||
To copy something from the Vim window to the clipboard,
|
||||
|
||||
1) select the control box to get the control drop down menu.
|
||||
2) select "Edit".
|
||||
3) select "Mark"
|
||||
4) using either the keys or the mouse, select the part of the Vim window that
|
||||
you want to copy. To use the keys, use the arrow keys, and hold down shift
|
||||
1) Select the control box to get the control drop down menu.
|
||||
2) Select "Edit".
|
||||
3) Select "Mark".
|
||||
4) Using either the keys or the mouse, select the part of the Vim window that
|
||||
you want to copy. To use the keys, use the arrow keys, and hold down shift
|
||||
to extend the selection.
|
||||
5) when you've completed your selection, press 'enter.' The selection
|
||||
is now in the windows clipboard. By the way, this can be any
|
||||
rectangular selection, for example columns 4-25 in rows 7-10. It can
|
||||
5) When you've completed your selection, press 'enter'. The selection
|
||||
is now in the windows clipboard. By the way, this can be any
|
||||
rectangular selection, for example columns 4-25 in rows 7-10. It can
|
||||
include anything in the VIM window: the output of a :!dir, for
|
||||
example.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_os2.txt* For Vim version 7.0aa. Last change: 2004 Jan 09
|
||||
*os_os2.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Slootman
|
||||
@@ -28,19 +28,19 @@ that are started via a shell escape from within Vim. This specifically means
|
||||
that Vim won't be able to remove the swap file(s) associated with buffers open
|
||||
at the time the other program was started, until the other program is stopped.
|
||||
At that time, the swap file may be removed, but if Vim could not do that the
|
||||
first time, it won't be removed at all. You'll get warnings that some other
|
||||
first time, it won't be removed at all. You'll get warnings that some other
|
||||
Vim session may be editing the file when you start Vim up again on that file.
|
||||
This can be reproduced with ":!start epm". Now quit Vim, and start Vim again
|
||||
This can be reproduced with ":!start epm". Now quit Vim, and start Vim again
|
||||
with the file that was in the buffer at the time epm was started. I'm working
|
||||
on this!
|
||||
|
||||
A second problem is that Vim doesn't understand the situation when using it
|
||||
when accessing the OS/2 system via the network, e.g. using telnet from a Unix
|
||||
system, and then starting Vim. The problem seems to be that OS/2 =sometimes=
|
||||
system, and then starting Vim. The problem seems to be that OS/2 =sometimes=
|
||||
recognizes function / cursor keys, and tries to convert those to the
|
||||
corresponding OS/2 codes generated by the "normal" PC keyboard. I've been
|
||||
corresponding OS/2 codes generated by the "normal" PC keyboard. I've been
|
||||
testing a workaround (mapping the OS/2 codes to the correct functions), but so
|
||||
far I can't say anything conclusive (this is on Warp 3, by the way). In the
|
||||
far I can't say anything conclusive (this is on Warp 3, by the way). In the
|
||||
meantime any help will be appreciated.
|
||||
|
||||
|
||||
@@ -52,12 +52,12 @@ is generally available as (ask Archie about it):
|
||||
emxrt.zip emx runtime package
|
||||
|
||||
I've included a copy of emx.dll, which should be copied to one of the
|
||||
directories listed in your LIBPATH. Emx is GPL'ed, but the emx.dll library is
|
||||
directories listed in your LIBPATH. Emx is GPL'ed, but the emx.dll library is
|
||||
not (read COPYING.EMX to find out what that means to you).
|
||||
|
||||
This emx.dll is from the emxfix04.zip package, which unfortunately has a bug,
|
||||
eh, I mean a POSIX feature, in select(). Versions of Vim before 3.27 will
|
||||
appear to hang when starting (actually, while processing vimrc). Hit <Enter> a
|
||||
appear to hang when starting (actually, while processing vimrc). Hit <Enter> a
|
||||
couple of times until Vim starts working if this happens. Next, get an up to
|
||||
date version of Vim!
|
||||
|
||||
@@ -84,14 +84,14 @@ you get a tree of Vim files like this:
|
||||
etc.
|
||||
|
||||
Note: .vimrc may also be called _vimrc to accommodate those who have chosen to
|
||||
install OS/2 on a FAT file system. Vim first tries to find .vimrc and if that
|
||||
install OS/2 on a FAT file system. Vim first tries to find .vimrc and if that
|
||||
fails, looks for _vimrc in the same place. The existence of a .vimrc or
|
||||
_vimrc file influences the 'compatible' options, which can have unexpected side
|
||||
effects. See |'compatible'|.
|
||||
|
||||
If you're using network drives with OS/2, then you can install Vim on a
|
||||
network drive (including .vimrc; this is then called the "system" vimrc file),
|
||||
and then use a personal copy of .vimrc (the "user" vimrc file). This should be
|
||||
and then use a personal copy of .vimrc (the "user" vimrc file). This should be
|
||||
located in a directory indicated by the HOME environment variable.
|
||||
|
||||
|
||||
@@ -135,14 +135,14 @@ TERMINAL SETTING
|
||||
|
||||
*os2ansi*
|
||||
Use "os2ansi" as the TERM environment variable (or don't set it at all, as the
|
||||
default is the correct value). You can set term to os2ansi in the .vimrc, in
|
||||
default is the correct value). You can set term to os2ansi in the .vimrc, in
|
||||
case you need TERM to be a different value for other applications. The
|
||||
problem is that OS/2 ANSI emulation is quite limited (it doesn't have insert /
|
||||
delete line, for example).
|
||||
|
||||
If you want to use a different value for TERM (because of other programs, for
|
||||
example), make sure that the termcap entry for that TERM value has the
|
||||
appropriate key mappings. The termcap.dat distributed with emx does not always
|
||||
appropriate key mappings. The termcap.dat distributed with emx does not always
|
||||
have them. Here are some suitable values to add to the termcap entry of your
|
||||
choice; these allow the cursor keys and the named function keys (such as
|
||||
pagedown) to work.
|
||||
@@ -214,7 +214,7 @@ clipboard you would use: >
|
||||
endif
|
||||
|
||||
This will ensure that only on OS/2 clipbrd is called whereas on other
|
||||
platforms vims build in mechanism is used. (To enable this functions on every
|
||||
platforms vims build in mechanism is used. (To enable this functions on every
|
||||
load of Vim place the above lines in your .vimrc.)
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_qnx.txt* For Vim version 7.0aa. Last change: 2004 Apr 23
|
||||
*os_qnx.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Julian Kinraid
|
||||
@@ -22,7 +22,7 @@ Vim on QNX behaves much like other unix versions. |os_unix.txt|
|
||||
|
||||
2. Compiling Vim *qnx-compiling*
|
||||
|
||||
Vim can be compiled using the standard configure/make approach. If you want to
|
||||
Vim can be compiled using the standard configure/make approach. If you want to
|
||||
compile for X11, pass the --with-x option to configure. Otherwise, running
|
||||
./configure without any arguments or passing --enable-gui=photon, will compile
|
||||
vim with the Photon gui support. Run ./configure --help , to find out other
|
||||
@@ -118,12 +118,12 @@ Known problems:
|
||||
set noguipty
|
||||
|
||||
Bugs:
|
||||
- Still a slight problem with menu highlighting
|
||||
- Still a slight problem with menu highlighting.
|
||||
- When using phditto/phinows/etc., if you are using a font that
|
||||
doesn't support the bold attribute, when vim attempts to draw
|
||||
bold text it will be all messed up.
|
||||
- The cursor can sometimes be hard to see.
|
||||
- A number of minor problems that can fixed :)
|
||||
- A number of minor problems that can fixed. :)
|
||||
|
||||
Todo:
|
||||
- Improve multi-language support.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_risc.txt* For Vim version 7.0aa. Last change: 2004 May 01
|
||||
*os_risc.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Thomas Leonard
|
||||
@@ -47,9 +47,9 @@ distribution, but modified slightly to work within the limits of ADFS, plus
|
||||
some extra files such as the window templates.
|
||||
|
||||
User choices are read from `Choices:*' and are saved to `<Choices$Write>.*'.
|
||||
If you have the new !Boot structure then these should be set up already. If
|
||||
If you have the new !Boot structure then these should be set up already. If
|
||||
not, set Choices$Path to a list of directories to search when looking for
|
||||
user configuration files. Set Choices$Write to the directory you want files
|
||||
user configuration files. Set Choices$Write to the directory you want files
|
||||
to be saved into (so your search patterns and marks can be remembered between
|
||||
sessions).
|
||||
|
||||
@@ -58,7 +58,7 @@ sessions).
|
||||
2. Filename munging
|
||||
|
||||
All pathname munging is disabled by default, so Vim should behave like a
|
||||
normal RISC OS application now. So, if you want to edit `doc/html' then you
|
||||
normal RISC OS application now. So, if you want to edit `doc/html' then you
|
||||
actually type `*vi doc/html'.
|
||||
|
||||
The only times munging is done is when:
|
||||
@@ -66,7 +66,7 @@ The only times munging is done is when:
|
||||
- Searching included files from C programs, since these are always munged.
|
||||
See |[I|.
|
||||
Note: make sure you are in the right directory when you use this
|
||||
command (ie the one with subdirectories 'c' and 'h').
|
||||
command (i.e. the one with subdirectories 'c' and 'h').
|
||||
|
||||
- Sourcing files using |:so|.
|
||||
Paths starting `$VIM/' are munged like this:
|
||||
@@ -88,7 +88,7 @@ To use Vim from the command-line use the `*vi' command (or '*ex' for
|
||||
Type `*vi -h' for a list of options.
|
||||
|
||||
Running the command-line version of Vim in a large high-color mode may cause
|
||||
the scrolling to be very slow. Either change to a mode with fewer colors or
|
||||
the scrolling to be very slow. Either change to a mode with fewer colors or
|
||||
use the GUI version.
|
||||
|
||||
Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
|
||||
@@ -115,7 +115,7 @@ The global clipboard is supported, so you can select some text and then
|
||||
paste it directly into another application (provided it supports the
|
||||
clipboard too).
|
||||
|
||||
Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
|
||||
Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
|
||||
when clicking Menu to paste (from the global clipboard).
|
||||
|
||||
Dragging a file to the window replaces the CURRENT buffer (the one with the
|
||||
@@ -134,27 +134,27 @@ For fonts, you have the choice of the system font, an outline font, the system
|
||||
font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
|
||||
|
||||
:set guifont=
|
||||
< To use the system font via the VDU drivers. Supports
|
||||
< To use the system font via the VDU drivers. Supports
|
||||
bold and underline.
|
||||
>
|
||||
:set guifont=Corpus.Medium
|
||||
< Use the named outline font. You can use any font, but
|
||||
< Use the named outline font. You can use any font, but
|
||||
only monospaced ones like Corpus look right.
|
||||
>
|
||||
:set guifont=Corpus.Medium:w8:h12:b:i
|
||||
< As before, but with size of 8 point by 12 point, and
|
||||
in bold italic.
|
||||
If only one of width and height is given then that
|
||||
value is used for both. If neither is given then 10
|
||||
value is used for both. If neither is given then 10
|
||||
point is used.
|
||||
|
||||
Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
|
||||
Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
|
||||
with '!' (or '!!' for double height), like this: >
|
||||
|
||||
:set guifont=!!
|
||||
< Use the system font, but via ZapRedraw. This gives a
|
||||
faster redraw on StrongARM processors, but you can't
|
||||
get bold or italic text. Double height.
|
||||
get bold or italic text. Double height.
|
||||
>
|
||||
:set guifont=!script
|
||||
< Uses the named Zap font (a directory in VimFont$Path).
|
||||
@@ -164,12 +164,12 @@ with '!' (or '!!' for double height), like this: >
|
||||
currently, but you can use any of the Zap fonts if
|
||||
they are in VimFont$Path.
|
||||
Vim will try to load font files '0', 'B', 'I' and 'IB'
|
||||
from the named directory. Only '0' (normal style) MUST
|
||||
be present. Link files are not currently supported.
|
||||
from the named directory. Only '0' (normal style) MUST
|
||||
be present. Link files are not currently supported.
|
||||
|
||||
Note that when using ZapRedraw the edit bar is drawn in front of the character
|
||||
you are on rather than behind it. Also redraw is incorrect for screen modes
|
||||
with eigen values of 0. If the font includes control characters then you can
|
||||
you are on rather than behind it. Also redraw is incorrect for screen modes
|
||||
with eigen values of 0. If the font includes control characters then you can
|
||||
get Vim to display them by changing the 'isprint' option.
|
||||
|
||||
If you find the scrolling is too slow on your machine, try experimenting
|
||||
@@ -199,8 +199,8 @@ It seems to work pretty well now, using '*vi -T ansi'.
|
||||
|
||||
If Vim crashes then the swap and backup files (if any) will be in the
|
||||
directories set with the 'directory' and 'bdir' options. By default the swap
|
||||
files are in <Wimp$ScrapDir> (ie inside !Scrap) and backups are in the
|
||||
directory you were saving to. Vim will allow you to try and recover the file
|
||||
files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
|
||||
directory you were saving to. Vim will allow you to try and recover the file
|
||||
when you next try to edit it.
|
||||
|
||||
To see a list of swap files, press <F12> and type `*vi -r'.
|
||||
@@ -223,13 +223,13 @@ command-line version, or press CTRL-C in the GUI version.
|
||||
*riscos-memory*
|
||||
8. Memory usage
|
||||
|
||||
Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
|
||||
older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
|
||||
Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
|
||||
older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
|
||||
does by default on these machines so I'm playing safe.
|
||||
|
||||
It doesn't work at all well without dynamic areas, since it can't change its
|
||||
memory allocation once running. Hence you should edit `!Vim.GVim' and
|
||||
`!Vim.!RunTxt' to choose the best size for you. You probably need at least
|
||||
memory allocation once running. Hence you should edit `!Vim.GVim' and
|
||||
`!Vim.!RunTxt' to choose the best size for you. You probably need at least
|
||||
about 1400K.
|
||||
|
||||
==============================================================================
|
||||
@@ -237,11 +237,11 @@ about 1400K.
|
||||
9. Filetypes
|
||||
|
||||
You can now specify that autocommands are only executed for files of certain
|
||||
types. The filetype is given in the form &xxx, when xxx is the filetype.
|
||||
types. The filetype is given in the form &xxx, when xxx is the filetype.
|
||||
|
||||
Filetypes must be specified by number (eg &fff for Text).
|
||||
Filetypes must be specified by number (e.g. &fff for Text).
|
||||
|
||||
The system has changed from version 5.3. The new sequence of events is:
|
||||
The system has changed from version 5.3. The new sequence of events is:
|
||||
|
||||
- A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
|
||||
- Based on the filetype and pathname, Vim will try to set |'filetype'| to the
|
||||
@@ -264,7 +264,7 @@ Some examples may make this clearer:
|
||||
since many pathnames contain them.
|
||||
|
||||
- You can prefix the command with '~', which stops any output from being
|
||||
displayed. This also means that you don't have to press <Enter> afterwards,
|
||||
displayed. This also means that you don't have to press <Enter> afterwards,
|
||||
and stops the screen from being redrawn. {only in the GUI version}
|
||||
|
||||
==============================================================================
|
||||
@@ -274,14 +274,14 @@ Some examples may make this clearer:
|
||||
Downloading everything you need:
|
||||
|
||||
- Get the latest source distribution (see www.vim.org)
|
||||
- Get the runtime environment files (eg these help files)
|
||||
- Get the runtime environment files (e.g. these help files)
|
||||
- Get the `extra' archive (contains the RISC OS specific bits)
|
||||
- Get the RISC OS binary distribution (if possible)
|
||||
|
||||
|
||||
Unarchiving:
|
||||
|
||||
- Create a raFS disk and put the archives on it.
|
||||
- Create a raFS disk and put the archives on it
|
||||
- Un-gzip them
|
||||
- Un-tar them (*tar xELf 50 archive/tar)
|
||||
|
||||
@@ -289,9 +289,9 @@ Unarchiving:
|
||||
Recompiling the sources:
|
||||
|
||||
- Create c, s, and h directories.
|
||||
- Put all the header files in 'h' \
|
||||
- Put all the C files in `c' | And lose the extensions
|
||||
- Put the assembler file (`swis/s') in 's' /
|
||||
- Put all the header files in 'h'. \
|
||||
- Put all the C files in `c'. | And lose the extensions
|
||||
- Put the assembler file (`swis/s') in 's'. /
|
||||
- Rename all the files in `proto' to `h', like this:
|
||||
raFS::VimSrc.source.proto.file/pro
|
||||
becomes
|
||||
@@ -300,9 +300,9 @@ Recompiling the sources:
|
||||
.pro"
|
||||
with
|
||||
_pro.h"
|
||||
- Create a simple Makefile if desired and do '*make -k'
|
||||
Use 'CC = gcc -DRISCOS -DUSE_GUI -O2 -x c' in the Makefile
|
||||
- Save the binary as !Vim.Vim in the binary distribution
|
||||
- Create a simple Makefile if desired and do '*make -k'.
|
||||
Use 'CC = gcc -DRISCOS -DUSE_GUI -O2 -x c' in the Makefile.
|
||||
- Save the binary as !Vim.Vim in the binary distribution.
|
||||
|
||||
|
||||
Updating the run-time environment:
|
||||
@@ -311,9 +311,9 @@ Updating the run-time environment:
|
||||
new files.
|
||||
- Remove files in `doc' not ending in `/txt', except for `tags'.
|
||||
- Lose the extensions from the files in `doc'.
|
||||
- Edit the `doc.tags' file. Remove extensions from the second column: >
|
||||
- Edit the `doc.tags' file. Remove extensions from the second column: >
|
||||
:%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
|
||||
- Remove extensions from the syntax files. Split them into two directories
|
||||
- Remove extensions from the syntax files. Split them into two directories
|
||||
to avoid the 77 entry limit on old ADFS filesystems.
|
||||
- Edit `Vim:FileType' to match `*.c.*' as well as `*/c' and so on.
|
||||
Add filetype checking too.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_unix.txt* For Vim version 7.0aa. Last change: 2003 Mar 15
|
||||
*os_unix.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -11,7 +11,7 @@ For compiling Vim on Unix see "INSTALL" and "Makefile" in the src directory.
|
||||
|
||||
The default help file name is "/usr/local/lib/vim/help.txt"
|
||||
The files "$HOME/.vimrc" and "$HOME/.exrc" are used instead of "s:.vimrc" and
|
||||
"s:.exrc". Additionally "/usr/local/etc/vimrc" is used first.
|
||||
"s:.exrc". Additionally "/usr/local/etc/vimrc" is used first.
|
||||
If "/usr/local/share" exists it is used instead of "/usr/local/lib".
|
||||
|
||||
Temporary files (for filtering) are put in "/tmp". If you want to place them
|
||||
@@ -26,15 +26,15 @@ For executing external commands fork()/exec() is used when possible, otherwise
|
||||
system() is used, which is a bit slower. The output of ":version" includes
|
||||
|+fork| when fork()/exec() is used, |+system()| when system() is used. This
|
||||
can be changed at compile time.
|
||||
(For forking of the GUI version see |gui-fork|).
|
||||
(For forking of the GUI version see |gui-fork|.)
|
||||
|
||||
Because terminal updating under Unix is often slow (e.g. serial line
|
||||
terminal, shell window in suntools), the 'showcmd' and 'ruler' options
|
||||
are default off. If you have a fast terminal, try setting them on. You might
|
||||
are default off. If you have a fast terminal, try setting them on. You might
|
||||
also want to set 'ttyfast'.
|
||||
|
||||
When using Vim in an xterm the mouse clicks can be used by Vim by setting
|
||||
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
||||
'mouse' to "a". If there is access to an X-server gui style copy/paste will
|
||||
be used and visual feedback will be provided while dragging with the mouse.
|
||||
If you then still want the xterm copy/paste with the mouse, press the shift
|
||||
key when using the mouse. See |mouse-using|. Visual feedback while dragging
|
||||
@@ -54,7 +54,7 @@ supports colors, but "T_Co" is empty or zero): >
|
||||
|
||||
For real color terminals the ":highlight" command can be used.
|
||||
|
||||
The file "tools/Vim132" is a shell script that can be used to put Vim in 132
|
||||
The file "tools/vim132" is a shell script that can be used to put Vim in 132
|
||||
column mode on a vt100 and lookalikes.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
|
||||
*os_vms.txt* For Vim version 7.0aa. Last change: 2005 Jul 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -47,16 +47,19 @@ You can download precompiled executables from:
|
||||
|
||||
To use the precompiled binary version, you need one of these archives:
|
||||
|
||||
vim-XX-exe-alpha-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-alpha-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-alpha-term.zip Alpha console executables
|
||||
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
|
||||
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
|
||||
vim-XX-exe-ia64-term.zip IA64 console executables
|
||||
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
|
||||
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
|
||||
vim-XX-exe-axp-term.zip Alpha console executables
|
||||
vim-XX-exe-vax-gui.zip VAX GUI executables
|
||||
vim-XX-exe-vax-term.zip VAX console executables
|
||||
|
||||
and of course
|
||||
vim-XX-runtime.zip runtime files
|
||||
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe, mms_vim.exe files.
|
||||
The binary archives contain: vim.exe, ctags.exe, xxd.exe files.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -68,33 +71,35 @@ See the file [.SRC]INSTALLVMS.TXT.
|
||||
|
||||
4. Problems *vms-problems*
|
||||
|
||||
The code has been tested under Open VMS 6.2 - 7.3 on Alpha and VAX platforms
|
||||
with the DECC compiler. It should work without bigger problems.
|
||||
If it happened that your system does not have some include libraries you can
|
||||
tune up in OS_VMS_CONF.H file.
|
||||
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
|
||||
platforms with the DEC C compiler. It should work without bigger problems.
|
||||
If your system does not have some include libraries you can tune up in
|
||||
OS_VMS_CONF.H file.
|
||||
|
||||
If you decided to build Vim with +perl, +python, etc. options, first you need
|
||||
to download OpenVMS distributions of Perl and Python. Build and deploy the
|
||||
libraries and change adequate lines in MAKE_VMS.MMS file. There should not be
|
||||
problem from Vim side.
|
||||
to download OpenVMS distributions of Perl and Python. Build and deploy the
|
||||
libraries and change adequate lines in MAKE_VMS.MMS file. There should not be
|
||||
a problem from Vim side.
|
||||
|
||||
Note: Under VAX it should work with DEC C compiler without problem. VAXC
|
||||
compiler is not fully ANSI C compatible in pre-processor directives
|
||||
semantics, therefore you have to use a converter program what will do the
|
||||
lion part of the job. For detailed instruction read file INSTALLvms.txt
|
||||
Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
|
||||
|
||||
MMS_VIM.EXE is building together with VIM.EXE, but for XD.EXE you should
|
||||
Note: Under VAX it should work with the DEC C compiler without problems. The
|
||||
VAX C compiler is not fully ANSI C compatible in pre-processor directives
|
||||
semantics, therefore you have to use a converter program what will do the lion
|
||||
part of the job. For detailed instructions read file INSTALLvms.txt
|
||||
|
||||
MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should
|
||||
change to subdirectory and build it separately.
|
||||
|
||||
CTAGS is not part of Vim source distribution any more, however the OpenVMS
|
||||
specific source might contain CTAGS source files as it is described above.
|
||||
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
|
||||
specific source might contain CTAGS source files as described above.
|
||||
You can find more information about CTAGS on VMS at
|
||||
http://www.polarhome.com/ctags/
|
||||
|
||||
Advanced users may try some acrobatics in FEATURE.H file also.
|
||||
|
||||
It is possible to compile with +xfontset +xim options too, but then you have
|
||||
to set up GUI fonts etc. correctly. See. :help xim from Vim command prompt.
|
||||
to set up GUI fonts etc. correctly. See :help xim from Vim command prompt.
|
||||
|
||||
You may want to use GUI with GTK icons, then you have to download and install
|
||||
GTK for OpenVMS or at least runtime shareable images - LIBGTK from
|
||||
@@ -132,18 +137,18 @@ Use: >
|
||||
define/nolog TMP device:[path.tmp]
|
||||
|
||||
to get vim.exe to find its document, filetype, and syntax files, and to
|
||||
specify a directory where temporary files will be located. Copy the "runtime"
|
||||
specify a directory where temporary files will be located. Copy the "runtime"
|
||||
subdirectory of the vim distribution to vimruntime.
|
||||
|
||||
Logicals $VIMRUNTIME and $TMP are optional.
|
||||
|
||||
If $VIMRUNTIME is not set, Vim will guess and try to set up automatically.
|
||||
Read more about at :help runtime
|
||||
Read more about it at :help runtime
|
||||
|
||||
If $TMP is not set, you will not be able to use some functions as CTAGS,
|
||||
XXD, printing etc. that use temporary directory for normal operation.
|
||||
$TMP directory should be readable and writable by the user(s).
|
||||
The easiest way to set up $TMP is to define logical: >
|
||||
The $TMP directory should be readable and writable by the user(s).
|
||||
The easiest way to set up $TMP is to define a logical: >
|
||||
|
||||
define/nolog TMP SYS$SCRATCH
|
||||
or as: >
|
||||
@@ -155,9 +160,9 @@ or as: >
|
||||
|
||||
Usually, you want to run just one version of Vim on your system, therefore
|
||||
it is enough to dedicate one directory for Vim.
|
||||
Copy all Vim runtime directory structure to the deployment position.
|
||||
Copy the whole Vim runtime directory structure to the deployment position.
|
||||
Add the following lines to your LOGIN.COM (in SYS$LOGIN directory).
|
||||
Set up logical $VIM as: >
|
||||
Set up the logical $VIM as: >
|
||||
|
||||
$ define VIM device:<path>
|
||||
|
||||
@@ -174,20 +179,20 @@ Please, check the notes for customization and configuration of symbols.
|
||||
You may want to create .vimrc and .gvimrc files in your home directory
|
||||
(SYS$LOGIN) to overwrite default settings.
|
||||
|
||||
The easiest way is just rename example files. You may leave the menu file
|
||||
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
|
||||
be default setup for all users, and for users is enough just to have their
|
||||
own additions or resetting in home directory in files .vimrc and .gvimrc.
|
||||
The easiest way is just rename example files. You may leave the menu file
|
||||
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
|
||||
be default setup for all users, and for users it is enough just to have their
|
||||
own additions or resetting in their home directory in files .vimrc and .gvimrc.
|
||||
It should work without problems.
|
||||
|
||||
Note: Remember, system rc files (default for all users) does not have leading
|
||||
"." So, system rc files are: >
|
||||
Note: Remember, system rc files (default for all users) don't have a leading
|
||||
".". So, system rc files are: >
|
||||
|
||||
$VIM:vimrc
|
||||
$VIM:gvimrc
|
||||
$VIM:menu.vim
|
||||
|
||||
and user's customized rc files are: >
|
||||
and user customized rc files are: >
|
||||
|
||||
sys$login:.vimrc
|
||||
sys$login:.gvimrc
|
||||
@@ -203,7 +208,7 @@ Example LOGIN.COM: >
|
||||
|
||||
Note: This set-up should be enough, if you are working on standalone server or
|
||||
clustered environment, but if you want to use Vim as internode editor in
|
||||
DECNET environment, it will satisfy you as well.
|
||||
DECNET environment, it will satisfy as well.
|
||||
You just have to define the "whole" path: >
|
||||
|
||||
$ define VIM "<server_name>[""user password""]::device:<path>"
|
||||
@@ -214,10 +219,11 @@ as for example: >
|
||||
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
|
||||
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
|
||||
|
||||
You can also use $VIMRUNTIME logical to point to proper version of Vim if you
|
||||
have installed more versions in the same time. If $VIMRUNTIME is not defined
|
||||
Vim will borrow value from $VIM logical. You can find more information about
|
||||
$VIMRUNTIME logical by typing :help runtime as a Vim command.
|
||||
You can also use the $VIMRUNTIME logical to point to the proper version of Vim
|
||||
if you have installed more versions at the same time. If $VIMRUNTIME is not
|
||||
defined Vim will borrow its value from the $VIM logical. You can find more
|
||||
information about the $VIMRUNTIME logical by typing :help runtime as a Vim
|
||||
command.
|
||||
|
||||
System administrators might want to set up a system wide Vim installation,
|
||||
then add to the SYS$STARTUP:SYLOGICALS.COM >
|
||||
@@ -231,38 +237,40 @@ and to the SYS$STARTUP:SYLOGIN.COM >
|
||||
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
|
||||
|
||||
|
||||
It will set up normal Vim work environment for every user on the system.
|
||||
It will set up a normal Vim work environment for every user on the system.
|
||||
|
||||
==============================================================================
|
||||
|
||||
7. GUI mode questions *vms-gui*
|
||||
|
||||
OpenVMS in a real mainframe OS, therefore even if it has a GUI console, most of
|
||||
the users does not use a native X/Window environment during normal operation.
|
||||
It is not possible to start Vim in GUI mode "just like that". But anyhow it is
|
||||
not too complicate either.
|
||||
OpenVMS is a real mainframe OS, therefore even if it has a GUI console, most
|
||||
of the users do not use a native X/Window environment during normal operation.
|
||||
It is not possible to start Vim in GUI mode "just like that". But anyhow it
|
||||
is not too complicated either.
|
||||
|
||||
First of all: you will need an executable that is built with enabled GUI.
|
||||
First of all: you will need an executable that is built with the GUI enabled.
|
||||
|
||||
Second: you need to have installed DECW/Motif on your VMS server, otherwise
|
||||
you will get errors that some shareable libraries are missing.
|
||||
|
||||
Third: If you choose to run Vim with extra feature as GUI/GTK then you need
|
||||
GTK installation too or at least GTK runtime environment (LIBGTK etc.)
|
||||
Third: If you choose to run Vim with extra features such as GUI/GTK then you
|
||||
need a GTK installation too or at least a GTK runtime environment (LIBGTK
|
||||
can be downloaded from http://www.polarhome.com/vim/).
|
||||
|
||||
1) If you are working on the VMS X/Motif console:
|
||||
Start Vim with the command: >
|
||||
|
||||
$ mc device:<path>VIM.EXE -g
|
||||
<
|
||||
or type :gui as a command to the Vim command prompt. For more info :help gui
|
||||
or type :gui as a command to the Vim command prompt. For more info :help
|
||||
gui
|
||||
|
||||
2) If you are working on other X/Window environment as Unix or some remote X
|
||||
VMS console. Set up display to your host with: >
|
||||
2) If you are working on some other X/Window environment like Unix or a remote
|
||||
X VMS console. Set up display to your host with: >
|
||||
|
||||
$ set disp/create/node=<your IP address>/trans=<transport-name>
|
||||
<
|
||||
and start Vim as in point 1. You can find more help in VMS documentation or
|
||||
and start Vim as in point 1. You can find more help in VMS documentation or
|
||||
type: help set disp in VMS prompt.
|
||||
Examples: >
|
||||
|
||||
@@ -276,11 +284,11 @@ For more information type $help set disp in VMS prompt.
|
||||
3) Another elegant solution is XDM if you have installed on OpenVMS box.
|
||||
It is possible to work from XDM client as from GUI console.
|
||||
|
||||
4) If you are working on MS Windows or other non X/Window environment
|
||||
You need to set up one X server and run Vim as in point 2.
|
||||
For MS Windows there are available free X servers as MIX , Omni X etc.
|
||||
4) If you are working on MS-Windows or some other non X/Window environment
|
||||
you need to set up one X server and run Vim as in point 2.
|
||||
For MS-Windows there are available free X servers as MIX , Omni X etc.,
|
||||
as well as excellent commercial products as eXcursion or ReflectionX with
|
||||
built in DEC support.
|
||||
built-in DEC support.
|
||||
|
||||
Please note, that executables without GUI are slightly faster during startup
|
||||
then with enabled GUI in character mode. Therefore, if you do not use GUI
|
||||
@@ -319,7 +327,7 @@ Read more in ch: 8.6 (Terminal problems).
|
||||
|
||||
8.2 Filters
|
||||
|
||||
Vim supports filters; ie. if you have a sort program that can handle
|
||||
Vim supports filters, i.e., if you have a sort program that can handle
|
||||
input/output redirection like Unix (<infile >outfile), you could use >
|
||||
|
||||
:map \s 0!'aqsort<CR>
|
||||
@@ -333,19 +341,20 @@ Vim is saving files into a new file with the next higher file version
|
||||
number, try these settings. >
|
||||
|
||||
:set nobackup " does not create *.*_ backup files
|
||||
:set nowritebackup " does not have any purpose on VMS. It's default.
|
||||
:set nowritebackup " does not have any purpose on VMS. It's the
|
||||
" default.
|
||||
|
||||
Recovery is working perfect as well from the default swap file.
|
||||
Read more with :help swapfile
|
||||
|
||||
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
|
||||
Vim 5.6 )
|
||||
Vim 5.6)
|
||||
|
||||
|
||||
8.4 Directory conversion
|
||||
|
||||
Vim will internally convert any unix-style paths and even mixed unix/VMS
|
||||
paths into VMS style paths. Some typical conversions resemble:
|
||||
paths into VMS style paths. Some typical conversions resemble:
|
||||
|
||||
/abc/def/ghi -> abc:[def]ghi.
|
||||
/abc/def/ghi.j -> abc:[def]ghi.j
|
||||
@@ -377,9 +386,9 @@ example: >
|
||||
Note: syntax is very important, otherwise VMS will recognize more parameters
|
||||
instead of one (resulting with: file not found)
|
||||
|
||||
2. Set up Vim as your internode editor. If Vim is not installed on your host,
|
||||
just set up your IP address, full Vim path including the server name and run
|
||||
the command procedure below: >
|
||||
2. Set up Vim as your internode editor. If Vim is not installed on your
|
||||
host, just set up your IP address, the full Vim path including the server name
|
||||
and run the command procedure below: >
|
||||
|
||||
$ if (p1 .eqs. "") .OR. (p2 .eqs. "") then goto usage
|
||||
$ set disp/create/node=<your_IP_here>/trans=tcpip
|
||||
@@ -392,8 +401,8 @@ the command procedure below: >
|
||||
$ write sys$output " Example: @SETVIM.COM username passwd"
|
||||
$ end:
|
||||
|
||||
Note: Never use it in clustered environment (you do not need it), and load could
|
||||
be very-very slow, but even faster then a local Emacs. :-)
|
||||
Note: Never use it in a clustered environment (you do not need it), loading
|
||||
could be very-very slow, but even faster then a local Emacs. :-)
|
||||
|
||||
(Zoltan Arpadffy, Vim 5.6)
|
||||
|
||||
@@ -404,7 +413,7 @@ If your terminal name is not known to Vim and it is trying to find the default
|
||||
one you will get the following message during start-up:
|
||||
---
|
||||
Terminal entry not found in termcap
|
||||
'unknown-terminal' not known. Available built-in terminals are:
|
||||
'unknown-terminal' not known. Available built-in terminals are:
|
||||
builtin_gui
|
||||
builtin_riscos
|
||||
builtin_amiga
|
||||
@@ -422,13 +431,13 @@ defaulting to 'vt320'
|
||||
---
|
||||
The solution is to define default terminal name: >
|
||||
|
||||
$ ! unknown terminal name. let us use vt320 or ansi instead.
|
||||
$ ! unknown terminal name. Let us use vt320 or ansi instead.
|
||||
$ ! Note: it's case sensitive
|
||||
$ define term "vt320"
|
||||
|
||||
Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra
|
||||
keyboard mappings. They should work perfect as they are, including arrows,
|
||||
Ins, Del buttons etc. Except Backspace in GUI mode. To solve it, add to
|
||||
keyboard mappings. They should work perfect as they are, including arrows,
|
||||
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
|
||||
.gvimrc: >
|
||||
|
||||
inoremap <Del> <BS>
|
||||
@@ -457,9 +466,9 @@ special commands to execute executables: >
|
||||
MCR <path>filename <parameters>
|
||||
|
||||
OpenVMS users always have to be aware that the Vim command :! "just" drop them
|
||||
to DCL prompt. This feature is possible to use without any problem with all
|
||||
to DCL prompt. This feature is possible to use without any problem with all
|
||||
DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc.
|
||||
we're running into trouble if we following the Vim documentation (see: help
|
||||
we're running into trouble if we follow the Vim documentation (see: help
|
||||
xxd).
|
||||
|
||||
Solution: Execute with the MC command and add the full path to the executable.
|
||||
@@ -470,9 +479,9 @@ Example: Instead of :%!xxd command use: >
|
||||
... or in general: >
|
||||
:!mc <path>filename <parameters>
|
||||
|
||||
Note: You can use XXD, and CTAGS from GUI menu.
|
||||
Note: You can use XXD and CTAGS from GUI menu.
|
||||
|
||||
To customize ctags it is possible to define logical $CTAGS with standard
|
||||
To customize ctags it is possible to define the logical $CTAGS with standard
|
||||
parameters as: >
|
||||
|
||||
define/nolog CTAGS "--totals -o sys$login:tags"
|
||||
@@ -488,7 +497,7 @@ documentation at http://ctags.sourceforge.net/ctags.html.
|
||||
If you want to use your .vimrc and .gvimrc from other platforms (e.g. Windows)
|
||||
you can get in trouble if you ftp that file(s): VMS has different end-of-line
|
||||
indication.
|
||||
The symptom is that ViM is not sourcing your .vimrc/.gvimrc, even if you say:
|
||||
The symptom is that Vim is not sourcing your .vimrc/.gvimrc, even if you say:
|
||||
>
|
||||
:so sys$login:.vimrc
|
||||
|
||||
@@ -535,8 +544,8 @@ will be confused after a window-resize.
|
||||
|
||||
From 6.0 diff functionality has been implemented, but OpenVMS does not use
|
||||
GNU/Unix like diff therefore built in diff does not work.
|
||||
There is a simple solution to solve this anomaly. Install an Unix like diff
|
||||
and Vim will work perfect in diff mode too. You just have to redefine your
|
||||
There is a simple solution to solve this anomaly. Install a Unix like diff
|
||||
and Vim will work perfect in diff mode too. You just have to redefine your
|
||||
diff program as: >
|
||||
|
||||
define /nolog diff <GNU_PATH>diff.exe
|
||||
@@ -551,16 +560,16 @@ boxes that is meant to solve GNU problems on OpenVMS.
|
||||
8.12 diff-mode
|
||||
|
||||
Vim 6.0 and higher supports vim diff-mode (See |new-diff-mode|, |diff-mode|
|
||||
and |08.7|). This uses the external program 'diff' and expects a Unix-like
|
||||
output format from diff. The standard VMS diff has a different output
|
||||
format. To use vim on VMS in diff-mode, you need to:
|
||||
and |08.7|). This uses the external program 'diff' and expects a Unix-like
|
||||
output format from diff. The standard VMS diff has a different output
|
||||
format. To use vim on VMS in diff-mode, you need to:
|
||||
1 Install a Unix-like diff program, e.g. GNU diff
|
||||
2 Tell vim to use the Unix-like diff for diff-mode.
|
||||
|
||||
You can download GNU diff from the VIM-VMS website, it is one of the GNU
|
||||
tools in http://www.polarhome.com/vim/files/gnu_tools.zip. I suggest to
|
||||
tools in http://www.polarhome.com/vim/files/gnu_tools.zip. I suggest to
|
||||
unpack it in a separate directory "GNU" and create a logical GNU: that
|
||||
points to that directory. e.g: >
|
||||
points to that directory, e.g: >
|
||||
|
||||
DEFINE GNU <DISK>:[<DIRECTORY>.BIN.GNU]
|
||||
|
||||
@@ -569,9 +578,9 @@ prompt: >
|
||||
|
||||
GDIFF :== $GNU:DIFF.EXE
|
||||
|
||||
Now you need to tell vim to use the new diff program. Take the example
|
||||
Now you need to tell vim to use the new diff program. Take the example
|
||||
settings from |diff-diffexpr| and change the call to the external diff
|
||||
program to the new diff on VMS. Add this to your .vimrc file: >
|
||||
program to the new diff on VMS. Add this to your .vimrc file: >
|
||||
|
||||
" Set up vimdiff options
|
||||
if v:version >= 600
|
||||
@@ -612,8 +621,8 @@ You can now compare files in 4 ways: >
|
||||
|
||||
8.13 Allow '$' in C keywords
|
||||
|
||||
DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
|
||||
and vim recognises the '$' as the end of the identifier. You can change this
|
||||
DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
|
||||
and vim recognises the '$' as the end of the identifier. You can change this
|
||||
with the |iskeyword|command.
|
||||
Add this command to your .vimrc file: >
|
||||
|
||||
@@ -625,7 +634,7 @@ CS.VIM) and add this command: >
|
||||
set iskeyword+=$
|
||||
|
||||
Now word-based commands, e.g. the '*'-search-command and the CTRL-]
|
||||
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
|
||||
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
|
||||
C keywords since ctags version 5.1.)
|
||||
|
||||
( Coen Engelbarts, Vim 6.1)
|
||||
@@ -633,8 +642,8 @@ C keywords since ctags version 5.1.)
|
||||
8.14 VIMTUTOR for beginners
|
||||
|
||||
It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make
|
||||
first steps with Vim on OpenVMS. Depending of binary distribution you may start
|
||||
it with: >
|
||||
first steps with Vim on OpenVMS. Depending of binary distribution you may
|
||||
start it with: >
|
||||
|
||||
@vim:vimtutor
|
||||
|
||||
@@ -644,6 +653,17 @@ it with: >
|
||||
|
||||
9. VMS related changes *vms-changes*
|
||||
|
||||
Version 7.0
|
||||
- GTKLIB and Vim build on IA64
|
||||
- colors in terminal mode
|
||||
- syntax highlighting in terminal mode
|
||||
- write problem fixed (extra CR)
|
||||
- ESC and ESC sequence recognition in terminal mode
|
||||
- make file changed to support new MMS version
|
||||
- env variable expansion in path corrected
|
||||
- printing problems corrected
|
||||
- help text added for case insensitive arguments
|
||||
|
||||
Version 6.3 (2004 May 10)
|
||||
- Improved vms_read function
|
||||
- CTAGS v5.5.4 included
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 7.0aa. Last change: 2004 Aug 31
|
||||
*os_win32.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -192,7 +192,7 @@ A. In the GUI version, you can use the 'guifont' option. Example: >
|
||||
Q. When I change the size of the console window with ':set lines=xx' or
|
||||
similar, the font changes! (Win95)
|
||||
A. You have the console font set to 'Auto' in Vim's (or your MS-DOS prompt's)
|
||||
properties. This makes W95 guess (badly!) what font is best. Set an explicit
|
||||
properties. This makes W95 guess (badly!) what font is best. Set an explicit
|
||||
font instead.
|
||||
|
||||
Q. Why can't I paste into Vim when running Windows 95?
|
||||
@@ -282,7 +282,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
|
||||
dir > file.bat
|
||||
<
|
||||
The result is that the "dir" command updates the "file.bat~" file, instead
|
||||
of creating a new "file.bat" file. This same behavior is exhibited in Vim
|
||||
of creating a new "file.bat" file. This same behavior is exhibited in Vim
|
||||
when editing an existing file named "foo.bat" because the default behavior
|
||||
of Vim is to create a temporary file with a '~' character appended to the
|
||||
name. When the file is written, it winds up being deleted.
|
||||
@@ -306,13 +306,13 @@ A. When using :! to run an external command, you can run it with "start": >
|
||||
To avoid this special treatment, use ":! start".
|
||||
|
||||
Q. I'm using Win32s, and when I try to run an external command like "make",
|
||||
Vim doesn't wait for it to finish! Help!
|
||||
Vim doesn't wait for it to finish! Help!
|
||||
A. The problem is that a 32-bit application (Vim) can't get notification from
|
||||
Windows that a 16-bit application (your DOS session) has finished. Vim
|
||||
Windows that a 16-bit application (your DOS session) has finished. Vim
|
||||
includes a work-around for this, but you must set up your DOS commands to
|
||||
run in a window, not full-screen. Unfortunately the default when you
|
||||
install Windows is full-screen. To change this:
|
||||
1) Start PIF editor (in the Main program group)
|
||||
run in a window, not full-screen. Unfortunately the default when you
|
||||
install Windows is full-screen. To change this:
|
||||
1) Start PIF editor (in the Main program group).
|
||||
2) Open the file "_DEFAULT.PIF" in your Windows directory.
|
||||
3) Changes the display option from "Full Screen" to "Windowed".
|
||||
4) Save and exit.
|
||||
@@ -321,10 +321,10 @@ A. The problem is that a 32-bit application (Vim) can't get notification from
|
||||
:!dir C:\<CR>".
|
||||
< You should see a DOS box window appear briefly with the directory listing.
|
||||
|
||||
Q. I use Vim under Win32s and NT. In NT, I can define the console to default to
|
||||
50 lines, so that I get a 80x50 shell when I ':sh'. Can I do the same in
|
||||
Q. I use Vim under Win32s and NT. In NT, I can define the console to default to
|
||||
50 lines, so that I get a 80x50 shell when I ':sh'. Can I do the same in
|
||||
W3.1x, or am I stuck with 80x25?
|
||||
A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS
|
||||
A. Edit SYSTEM.INI and add 'ScreenLines=50' to the [NonWindowsApp] section. DOS
|
||||
prompts and external DOS commands will now run in a 50-line window.
|
||||
|
||||
vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.0aa. Last change: 2004 Dec 18
|
||||
*pattern.txt* For Vim version 7.0aa. Last change: 2005 Sep 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -117,6 +117,14 @@ gD Goto global Declaration. When the cursor is on a
|
||||
like "gd", except that the search for the keyword
|
||||
always starts in line 1. {not in Vi}
|
||||
|
||||
*1gd*
|
||||
1gd Like "gd", but ignore matches inside a {} block that
|
||||
ends before the cursor position. {not in Vi}
|
||||
|
||||
*1gD*
|
||||
1gD Like "gD", but ignore matches inside a {} block that
|
||||
ends before the cursor position. {not in Vi}
|
||||
|
||||
*CTRL-C*
|
||||
CTRL-C Interrupt current (search) command. Use CTRL-Break on
|
||||
MS-DOS |dos-CTRL-Break|.
|
||||
@@ -217,7 +225,7 @@ To clear the last used search pattern: >
|
||||
This will not set the pattern to an empty string, because that would match
|
||||
everywhere. The pattern is really cleared, like when starting Vim.
|
||||
|
||||
The search usual skips matches that don't move the cursor. Whether the next
|
||||
The search usually skips matches that don't move the cursor. Whether the next
|
||||
match is found at the next character or after the skipped match depends on the
|
||||
'c' flag in 'cpoptions'. See |cpo-c|.
|
||||
with 'c' flag: "/..." advances 1 to 3 characters
|
||||
@@ -225,6 +233,10 @@ match is found at the next character or after the skipped match depends on the
|
||||
The unpredictability with the 'c' flag is caused by starting the search in the
|
||||
first column, skipping matches until one is found past the cursor position.
|
||||
|
||||
When searching backwards, searching starts at the start of the line, using the
|
||||
'c' flag in 'cpoptions' as described above. Then the last match before the
|
||||
cursor position is used.
|
||||
|
||||
In Vi the ":tag" command sets the last search pattern when the tag is searched
|
||||
for. In Vim this is not done, the previous search pattern is still remembered,
|
||||
unless the 't' flag is present in 'cpoptions'. The search pattern is always
|
||||
@@ -268,7 +280,7 @@ the "*" is under your right hand middle finger (search to the right and down).
|
||||
==============================================================================
|
||||
2. The definition of a pattern *search-pattern* *pattern* *[pattern]*
|
||||
*regular-expression* *regexp* *Pattern*
|
||||
*E76* *E361* *E363* *E383* *E476*
|
||||
*E76* *E383* *E476*
|
||||
|
||||
For starters, read chapter 27 of the user manual |usr_27.txt|.
|
||||
|
||||
@@ -518,11 +530,6 @@ An atom can be followed by an indication of how many times the atom can be
|
||||
matched and in what way. This is called a multi. See |/multi| for an
|
||||
overview.
|
||||
|
||||
It is not possible to use a multi that can match more than one time after an
|
||||
atom that can match an empty string. That's because this could result in an
|
||||
endless loop. If you try it, you will get this error message: >
|
||||
*, \+ or \{ operand could be empty
|
||||
<
|
||||
*/star* */\star* *E56*
|
||||
* (use \* when 'magic' is not set)
|
||||
Matches 0 or more of the preceding atom, as many as possible.
|
||||
@@ -573,7 +580,7 @@ endless loop. If you try it, you will get this error message: >
|
||||
\{-} matches 0 or more of the preceding atom, as few as possible
|
||||
{Vi does not have any of these}
|
||||
|
||||
n and m are positive decimal numbers
|
||||
n and m are positive decimal numbers or zero
|
||||
|
||||
If a "-" appears immediately after the "{", then a shortest match
|
||||
first algorithm is used (see example below). In particular, "\{-}" is
|
||||
@@ -632,7 +639,7 @@ endless loop. If you try it, you will get this error message: >
|
||||
position: "\(foo\)\@!bar" will match "bar" in "foobar", because at the
|
||||
position where "bar" matches, "foo" does not match. To avoid matching
|
||||
"foobar" you could use "\(foo\)\@!...bar", but that doesn't match a
|
||||
bar at the start of a line. Use "\(foo\)\@<!bar".
|
||||
bar at the start of a line. Use "\(foo\)\@<!bar".
|
||||
|
||||
*/\@<=*
|
||||
\@<= Matches with zero width if the preceding atom matches just before what
|
||||
@@ -736,7 +743,7 @@ $ At end of pattern or in front of "\|" or "\)" ("|" or ")" after "\v"):
|
||||
|
||||
*/\>*
|
||||
\> Matches the end of a word: The previous char is the last char of a
|
||||
word. The 'iskeyword' option specifies what is a word character.
|
||||
word. The 'iskeyword' option specifies what is a word character.
|
||||
|/zero-width|
|
||||
|
||||
*/\zs*
|
||||
@@ -746,7 +753,7 @@ $ At end of pattern or in front of "\|" or "\)" ("|" or ")" after "\v"):
|
||||
/^\s*\zsif
|
||||
< matches an "if" at the start of a line, ignoring white space.
|
||||
Can be used multiple times, the last one encountered in a matching
|
||||
branch is used. Example: >
|
||||
branch is used. Example: >
|
||||
/\(.\{-}\zsFab\)\{3}
|
||||
< Finds the third occurrence of "Fab".
|
||||
{not in Vi} {not available when compiled without the +syntax feature}
|
||||
@@ -836,8 +843,8 @@ $ At end of pattern or in front of "\|" or "\)" ("|" or ")" after "\v"):
|
||||
are halfway a Tab or other character that occupies more than one
|
||||
screen character. {not in Vi}
|
||||
WARNING: When inserting or deleting text Vim does not automatically
|
||||
update the matches. This means Syntax highlighting quickly becomes
|
||||
wrong.
|
||||
update highlighted matches. This means Syntax highlighting quickly
|
||||
becomes wrong.
|
||||
Example, to highlight the all characters after virtual column 72: >
|
||||
/\%>72v.*
|
||||
< When 'hlsearch' is set and you move the cursor around and make changes
|
||||
@@ -931,7 +938,7 @@ x A single character, with no special meaning, matches itself
|
||||
|
||||
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
|
||||
\_[]
|
||||
A collection. This is a sequence of characters enclosed in brackets.
|
||||
A collection. This is a sequence of characters enclosed in brackets.
|
||||
It matches any single character in the collection.
|
||||
Example matches ~
|
||||
[xyz] any 'x', 'y' or 'z'
|
||||
@@ -944,6 +951,10 @@ x A single character, with no special meaning, matches itself
|
||||
"\_[^ab]" matches the end-of-line and any character but "a" and "b".
|
||||
This makes it Vi compatible: Without the "\_" or "\n" the collection
|
||||
does not match an end-of-line.
|
||||
*E769*
|
||||
When the ']' is not there Vim will not give an error message but
|
||||
assume no collection is used. Useful to search for '['. However, you
|
||||
do get E769 for internal searching.
|
||||
|
||||
If the sequence begins with "^", it matches any single character NOT
|
||||
in the collection: "[^xyz]" matches anything but 'x', 'y' and 'z'.
|
||||
@@ -978,6 +989,17 @@ x A single character, with no special meaning, matches itself
|
||||
a list of at least one character, each of which is either '-', '.',
|
||||
'/', alphabetic, numeric, '_' or '~'.
|
||||
These items only work for 8-bit characters.
|
||||
*/[[=* *[==]*
|
||||
- An equivalence class. This means that characters are matched that
|
||||
have almost the same meaning, e.g., when ignoring accents. The form
|
||||
is:
|
||||
[=a=]
|
||||
Currrently this is only implemented for latin1. Also works for the
|
||||
latin1 characters in utf-8 and latin9.
|
||||
*/[[.* *[..]*
|
||||
- A collation element. This currently simply accepts a single
|
||||
character in the form:
|
||||
[.a.]
|
||||
*/\]*
|
||||
- To include a literal ']', '^', '-' or '\' in the collection, put a
|
||||
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
|
||||
@@ -1023,7 +1045,7 @@ x A single character, with no special meaning, matches itself
|
||||
< Matches the words "r", "re", "ro", "rea", "roa", "read" and "road".
|
||||
{not available when compiled without the +syntax feature}
|
||||
|
||||
*/\%d* */\%x* */\%o* */\%u* */\%U/* *E678*
|
||||
*/\%d* */\%x* */\%o* */\%u* */\%U* *E678*
|
||||
|
||||
\%d123 Matches the character specified with a decimal number. Must be
|
||||
followed by a non-digit.
|
||||
|
||||
@@ -1,215 +0,0 @@
|
||||
*pi_expl.txt* For Vim version 7.0aa. Last change: 2004 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by M A Aziz Ahmed
|
||||
updated by Mark Waggoner
|
||||
|
||||
|
||||
*file-explorer* *file-browser*
|
||||
Plugin for exploring (or browsing) directories and files
|
||||
|
||||
1. Starting the file explorer |expl-starting|
|
||||
|
||||
The functionality mentioned here is a |standard-plugin|.
|
||||
This plugin is only available if 'compatible' is not set.
|
||||
You can avoid loading this plugin by setting the "loaded_explorer" variable: >
|
||||
:let loaded_explorer = 1
|
||||
|
||||
{Vi does not have any of this}
|
||||
|
||||
==============================================================================
|
||||
1. Starting the file explorer *expl-starting*
|
||||
|
||||
This plugin is used to explore directories inside Vim. The file explorer is
|
||||
launched whenever the user tries to edit a directory.
|
||||
*:Explore* *:Sexplore*
|
||||
To launch the explorer in the directory of the file currently edited: >
|
||||
:Explore
|
||||
If the file has changes the window is split. To always split the window: >
|
||||
:Sexplore
|
||||
To launch the explorer in a specific directory: >
|
||||
:Explore dirname
|
||||
:Sexplore dirname
|
||||
|
||||
From inside the explorer move your cursor to a line containing a file or
|
||||
directory name. The following command keys are available:
|
||||
|
||||
<enter> will open the file in the window the explorer is currently
|
||||
occupying.
|
||||
'o' will split a new window and open the file in the new window.
|
||||
'O' will open the file chosen using the window that the cursor was in just
|
||||
before you started or entered the explorer window. If the explorer is
|
||||
the only window, it will first split a new window to use for the file to
|
||||
be opened.
|
||||
'p' will open (or use) the preview window showing the file
|
||||
'x' will execute the file with the system tools. Only when supported
|
||||
(currently MS-Windows and KDE).
|
||||
|
||||
When splitting off a new window, you can control where the split window will
|
||||
go relative to the explorer window using the variables g:explVertical,
|
||||
g:explSplitBelow and g:explSplitRight.
|
||||
|
||||
*g:explVertical*
|
||||
*g:explSplitBelow*
|
||||
*g:explSplitRight*
|
||||
*g:explStartBelow*
|
||||
*g:explStartRight*
|
||||
To control whether the split is made horizontally or vertically, use: >
|
||||
let g:explVertical=1 " Split vertically
|
||||
let g:explVertical=0 " Split horizontally (default)
|
||||
|
||||
To control where the window goes relative to the explorer window when
|
||||
splitting horizontally, use the variable: >
|
||||
let g:explSplitBelow=1 " Put new window below explorer window
|
||||
let g:explSplitBelow=0 " Put new window above explorer window
|
||||
The default for this is the setting of splitbelow at the time the plugin is
|
||||
loaded.
|
||||
|
||||
To control where the window goes relative to the explorer window when
|
||||
splitting vertically, use the variable: >
|
||||
let g:explSplitRight=1 " Put new window to the right of the explorer
|
||||
let g:explSplitRight=0 " Put new window to the left of the explorer
|
||||
The default for this is the setting of splitright at the time the plugin is
|
||||
loaded.
|
||||
|
||||
To use a different split method for the explorer window, use: >
|
||||
let g:explStartRight=1 " Put new explorer window to the right of the
|
||||
" current window
|
||||
let g:explStartRight=0 " Put new explorer window to the left of the
|
||||
" current window
|
||||
The default is the value of g:explSplitRight at the time the plugin is loaded.
|
||||
|
||||
To use a different split method for the explorer window, use: >
|
||||
let g:explStartBelow=1 " Put new explorer window below the
|
||||
" current window
|
||||
let g:explStartBelow=0 " Put new explorer window above the
|
||||
" current window
|
||||
The default is the value of g:explSplitBelow at the time the plugin is loaded.
|
||||
|
||||
The start splits allow for the explorer window to be placed in a file browser
|
||||
type arrangement, where the directories are shown on the left and the contents
|
||||
opened on the right. The start split settings are only used when issuing
|
||||
the Sexplore command.
|
||||
|
||||
Note that the window split is done a little bit differently than window splits
|
||||
are usually done. Ordinarily, when splitting a window, the space occupied by
|
||||
the current window will be split to give space for the new window. The
|
||||
explorer attempts to instead split from a window adjacent to the explorer
|
||||
window so that the explorer window will not change sizes. If there is not an
|
||||
adjacent window in the direction you are splitting, the explorer window is
|
||||
split.
|
||||
|
||||
*g:explWinSize*
|
||||
After opening a file with the 'o' command, you might want to resize the
|
||||
explorer window. This can be done by setting the variable >
|
||||
let g:explWinSize=N
|
||||
N is the number of rows (when the window is split horizontally) or the number
|
||||
of columns (when the window is split vertically). If g:explWinSize is set to
|
||||
an empty string (""), resizing will not be done. g:explWinSize defaults to
|
||||
15.
|
||||
|
||||
*g:explDetailedList*
|
||||
The file size (in bytes) and modification time can be displayed inside the
|
||||
file explorer window. By pressing 'i', you can toggle between the name only
|
||||
display and the more lengthy display. If you want the size and date to show
|
||||
by default, use >
|
||||
let g:explDetailedList=1
|
||||
Doing this may slightly slow down explorer. The difference may or may not be
|
||||
noticeable depending on your system and whether the directory is local or on
|
||||
the network and on the size of the directory.
|
||||
|
||||
*g:explDateFormat*
|
||||
The format of date displayed is configurable using the variable
|
||||
g:explDateFormat. explorer uses this variable to pass to strftime() to fetch
|
||||
the date information. |strftime()| The default is >
|
||||
let g:explDateFormat="%d %b %Y %H:%M"
|
||||
|
||||
Note that for sorting purposes, the date is always placed at the end of the
|
||||
line in its 'raw' form. If you have syntax highlighting turned on, this raw
|
||||
date should be invisible.
|
||||
|
||||
*g:explHideFiles*
|
||||
You can hide some files by filling the variable g:explHidFiles with regular
|
||||
expressions. A filename that matches any of these regular expressions will not
|
||||
be shown. For example, >
|
||||
|
||||
let g:explHideFiles='^\.,\.gz$,\.exe$,\.zip$'
|
||||
|
||||
will not show files that begin with "." and those that end in .gz, .exe or
|
||||
.zip. However, all directory names will always be shown. If while exploring,
|
||||
you'd like to see the hidden files as well, use the command "a".
|
||||
The explorer header will indicate if filtering is being done.
|
||||
|
||||
*g:explDetailedHelp*
|
||||
The help information spanning a few lines can be turned off (and just a single
|
||||
help message enabled) using the option >
|
||||
let g:explDetailedHelp=0
|
||||
You can anytime switch to the detailed help format by pressing ?.
|
||||
|
||||
*explorer-delete*
|
||||
Pressing 'D' inside explorer deletes the file under the cursor. You can delete
|
||||
many files by visually selecting them and using 'D'. The deletion is
|
||||
interactive in the form y/n/a/q. Directory deletion is not supported (mainly
|
||||
because there is no way to delete a directory using a vim built-in function).
|
||||
|
||||
*explorer-rename*
|
||||
Pressing 'R' inside explorer will allow you to rename the file under the
|
||||
cursor.
|
||||
|
||||
*g:explSortBy*
|
||||
The display in the file explorer can be sorted in forward or reverse order by
|
||||
name, size, or modification date. You can set the default sorting direction
|
||||
with the option >
|
||||
let g:explSortBy='name' " alphabetically
|
||||
let g:explSortBy='reverse name' " reverse alphabetically
|
||||
let g:explSortBy='date' " newest first
|
||||
let g:explSortBy='reverse date' " oldest first
|
||||
let g:explSortBy='size' " largest first
|
||||
let g:explSortBy='reverse size' " smallest first
|
||||
While in the explorer, you can rotate through the sort fields by pressing the
|
||||
's' key and you can reverse the current sort order by pressing the 'r' key.
|
||||
Sorting on fields other than the name will be faster if the size and date are
|
||||
displayed (using 'i' or g:explDetailedList).
|
||||
The explorer heading will indicate the current sort order.
|
||||
|
||||
*g:explDirsFirst*
|
||||
To control the segregation of directories and files, you can set this option >
|
||||
let g:explDirsFirst=1 " Directories at the top of the list (default)
|
||||
let g:explDirsFirst=0 " Directories mixed in with files
|
||||
let g:explDirsFirst=-1 " Directories at the bottom of the list
|
||||
|
||||
*g:explSuffixesLast*
|
||||
To control the segregation of files matching the suffixes option, you can set
|
||||
this option >
|
||||
let g:explSuffixesLast=1 " Files matching suffixes sorted at the bottom
|
||||
" of the list (default)
|
||||
let g:explSuffixesLast=0 " Files matching suffixes sorted normally
|
||||
let g:explSuffixesLast=-1 " Files matching suffixes sorted at the top of
|
||||
" the list
|
||||
The heading will indicate if suffixes have been moved to the end (or start) of
|
||||
the list.
|
||||
|
||||
*g:explUseSeparators*
|
||||
Directories and files matching the suffixes list will be highlighted. If you
|
||||
have the directories, files, and suffixes separated, and you would like a
|
||||
separator line between the groups, you can set the option >
|
||||
let g:explUseSeparators=1 " Use separator lines
|
||||
let g:explUseSeparators=0 " Don't use separator lines
|
||||
<
|
||||
*g:explFileHandler*
|
||||
If you set the "g:explFileHandler" variable to the name of a function, typing
|
||||
'x' will call this function. The file or directory under the cursor will be
|
||||
passed as an argument to the function. Suppose you have KDE, you could use
|
||||
this: >
|
||||
|
||||
function MyFileHandler(fn)
|
||||
exec "silent! !kfmclient exec " . escape(a:fn,' \%#')
|
||||
endfunction
|
||||
let g:explFileHandler = 'MyFileHandler'
|
||||
|
||||
For Win32 the variable is set by default to invoke the execute action. If you
|
||||
type 'x' on a HTML file, Microsoft Internet Explorer will start (or whatever
|
||||
application you have associated with HTML files).
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:noet:ts=8:ft=help:norl:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,13 @@
|
||||
*pi_spec.txt* For Vim version 7.0aa. Last change: 2002 Oct 29
|
||||
*pi_spec.txt* For Vim version 7.0aa. Last change: 2005 Oct 03
|
||||
|
||||
by Gustavo Niemeyer ~
|
||||
|
||||
This is a filetype plugin to work with rpm spec files.
|
||||
|
||||
Currently, this Vim plugin allows you to easily update the %changelog
|
||||
section in RPM spec files. It will even create a section for you if it
|
||||
doesn't exist yet. If you've already inserted an entry today, it will
|
||||
give you the opportunity to just add a new item in today's entry. If you
|
||||
section in RPM spec files. It will even create a section for you if it
|
||||
doesn't exist yet. If you've already inserted an entry today, it will
|
||||
give you the opportunity to just add a new item in today's entry. If you
|
||||
don't provide a format string (|spec_chglog_format|), it'll ask you an
|
||||
email address and build a format string by itself.
|
||||
|
||||
@@ -22,24 +22,24 @@ The spec_chglog plugin provides a map like the following:
|
||||
:map <buffer> <LocalLeader>c <Plug>SpecChangelog
|
||||
|
||||
It means that you may run the plugin inside a spec file by pressing
|
||||
your maplocalleader key (default is '\') plus 'c'. If you do not have
|
||||
your maplocalleader key (default is '\') plus 'c'. If you do not have
|
||||
|spec_chglog_format| set, the plugin will ask you for an email address
|
||||
to use in this edit session.
|
||||
|
||||
Everytime you run the plugin, it will check to see if the last entry
|
||||
in the changelog has been written today and by you. If it's the entry
|
||||
mathes, it will just insert a new changelog item, otherwise it will
|
||||
create a new changelog entry. If you are running with
|
||||
|spec_chglog_release_info| enabled, it will also check if the name, version
|
||||
and release matches. The plugin is smart enough to ask you if it should
|
||||
update the package release, if you have not done so.
|
||||
Every time you run the plugin, it will check to see if the last entry in the
|
||||
changelog has been written today and by you. If the entry matches, it will
|
||||
just insert a new changelog item, otherwise it will create a new changelog
|
||||
entry. If you are running with |spec_chglog_release_info| enabled, it will
|
||||
also check if the name, version and release matches. The plugin is smart
|
||||
enough to ask you if it should update the package release, if you have not
|
||||
done so.
|
||||
|
||||
Setting a map *spec-setting-a-map*
|
||||
-------------
|
||||
|
||||
As you should know, you can easily set a map to access any Vim command (or
|
||||
anything, for that matter). If you don't like the default map of
|
||||
<LocalLeader>c, you may just set up your own key. The following line
|
||||
anything, for that matter). If you don't like the default map of
|
||||
<LocalLeader>c, you may just set up your own key. The following line
|
||||
shows you how you could do this in your .vimrc file, mapping the plugin to
|
||||
the <F5> key:
|
||||
|
||||
@@ -57,16 +57,16 @@ This command will add a map only in the spec file buffers.
|
||||
The format string *spec_chglog_format*
|
||||
-----------------
|
||||
|
||||
You can easily customize how your spec file entry will look like. To do
|
||||
You can easily customize how your spec file entry will look like. To do
|
||||
this just set the variable "spec_chglog_format" in your .vimrc file like
|
||||
this: >
|
||||
|
||||
let spec_chglog_format = "%a %b %d %Y My Name <my@email.com>"
|
||||
|
||||
Note that "%a %b %d %Y" is the most used time format. If you don't provide
|
||||
Note that "%a %b %d %Y" is the most used time format. If you don't provide
|
||||
a format string, when you run the SpecChangelog command for the first
|
||||
time, it will ask you an email address and build the |spec_chglog_format|
|
||||
variable for you. This way, you will only need to provide your email
|
||||
variable for you. This way, you will only need to provide your email
|
||||
address once.
|
||||
|
||||
To discover which format options you can use, take a look at the strftime()
|
||||
@@ -76,7 +76,7 @@ Where to insert new items *spec_chglog_prepend*
|
||||
-------------------------
|
||||
|
||||
The plugin will usually insert new %changelog entry items (note that it's
|
||||
not the entry itself) after the existing ones. If you set the
|
||||
not the entry itself) after the existing ones. If you set the
|
||||
spec_chglog_prepend variable >
|
||||
|
||||
let spec_chglog_prepend = 1
|
||||
@@ -87,11 +87,11 @@ Inserting release info *spec_chglog_release_info*
|
||||
----------------------
|
||||
|
||||
If you want, the plugin may automatically insert release information
|
||||
on each changelog entry. One advantage of turning this feature on is
|
||||
on each changelog entry. One advantage of turning this feature on is
|
||||
that it may control if the release has been updated after the last
|
||||
change in the package or not. If you have not updated the package
|
||||
change in the package or not. If you have not updated the package
|
||||
version or release, it will ask you if it should update the package
|
||||
release for you. To turn this feature on, just insert the following
|
||||
release for you. To turn this feature on, just insert the following
|
||||
code in your .vimrc: >
|
||||
|
||||
let spec_chglog_release_info = 1
|
||||
|
||||
38
runtime/doc/pi_tar.txt
Normal file
38
runtime/doc/pi_tar.txt
Normal file
@@ -0,0 +1,38 @@
|
||||
*tar.txt* Tar File Interface Nov 22, 2005
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: The GPL (gnu public license) applies to *tar-copyright*
|
||||
tarPlugin.vim, and tar.txt.
|
||||
No warranty, express or implied. Use At-Your-Own-Risk.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *tar* *tar-contents*
|
||||
1. Contents..................................................|tar-contents|
|
||||
2. Usage.....................................................|tar-usage|
|
||||
3. History...................................................|tar-history|
|
||||
|
||||
==============================================================================
|
||||
2. Usage *tar-usage* *tar-manual*
|
||||
|
||||
When one edits a *.tar file, this plugin will handle displaying a
|
||||
contents page. Select a file to edit by moving the cursor atop
|
||||
the desired file, then hit the <return> key. After editing, one may
|
||||
also write to the file. Currently, one may not make a new file in
|
||||
tar archives via the plugin.
|
||||
|
||||
==============================================================================
|
||||
3. History *tar-history*
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Sep 16, 2005 * handles writing files in an archive back to the
|
||||
archive
|
||||
Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
Oct 18, 2005 * handles writing to compressed archives
|
||||
Nov 03, 2005 * handles writing tarfiles across a network using
|
||||
netrw#NetWrite()
|
||||
v2 * converted to use Vim7's new autoload feature by
|
||||
Bram Moolenaar
|
||||
v1 (original) * Michael Toren (see http://michael.toren.net/code/)
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help
|
||||
41
runtime/doc/pi_zip.txt
Normal file
41
runtime/doc/pi_zip.txt
Normal file
@@ -0,0 +1,41 @@
|
||||
*zip.txt* Zip File Interface Nov 22, 2005
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1 *zip-copyright*
|
||||
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,
|
||||
zip.vim and zipPlugin.vim are provided *as is* and comes with no
|
||||
warranty of any kind, either expressed or implied. By using this
|
||||
plugin, you agree that in no event will the copyright holder be
|
||||
liable for any damages resulting from the use of this software.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *zip* *zip-contents*
|
||||
1. Contents..................................................|zip-contents|
|
||||
2. Usage.....................................................|zip-usage|
|
||||
3. History...................................................|zip-history|
|
||||
|
||||
==============================================================================
|
||||
2. Usage *zip-usage* *zip-manual*
|
||||
|
||||
When one edits a *.zip file, this plugin will handle displaying a
|
||||
contents page. Select a file to edit by moving the cursor atop
|
||||
the desired file, then hit the <return> key. After editing, one may
|
||||
also write to the file. Currently, one may not make a new file in
|
||||
zip archives via the plugin.
|
||||
|
||||
==============================================================================
|
||||
3. History *zip-history*
|
||||
v5 Nov 22, 2005 * report option workaround installed
|
||||
v3 Oct 18, 2005 * <amatch> used instead of <afile> in autocmds
|
||||
v2 Sep 16, 2005 * silenced some commands (avoiding hit-enter prompt)
|
||||
* began testing under Windows; works thus far
|
||||
* filetype detection fixed
|
||||
Nov 03, 2005 * handles writing zipfiles across a network using
|
||||
netrw#NetWrite()
|
||||
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 7.0aa. Last change: 2004 Jul 05
|
||||
*print.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -32,7 +32,7 @@ used.
|
||||
printer.
|
||||
|
||||
On MS-Windows a dialog is displayed to allow selection
|
||||
of printer, paper size etc. To skip the dialog, use
|
||||
of printer, paper size etc. To skip the dialog, use
|
||||
the [!]. In this case the printer defined by
|
||||
'printdevice' is used, or, if 'printdevice' is empty,
|
||||
the system default printer.
|
||||
@@ -65,7 +65,7 @@ the current window's 'wrap' or 'linebreak' settings. The "wrap" item in
|
||||
'printoptions' can be used to switch wrapping off.
|
||||
The current highlighting colors are used in the printout, with the following
|
||||
considerations:
|
||||
1) The normal background is always rendered as white (i.e. blank paper.)
|
||||
1) The normal background is always rendered as white (i.e. blank paper).
|
||||
2) White text or the default foreground is rendered as black, so that it shows
|
||||
up!
|
||||
3) If 'background' is "dark", then the colours are darkened to compensate for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Jan 10
|
||||
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Sep 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -30,6 +30,11 @@ The idea is to save the error messages from the compiler in a file and use Vim
|
||||
to jump to the errors one by one. You can examine each problem and fix it,
|
||||
without having to remember all the error messages.
|
||||
|
||||
In Vim the quickfix commands are used more generally to find a list of
|
||||
positions in files. For example, |:vimgrep| finds pattern matches. You can
|
||||
use the positions in a script with the |getqflist()| function. Thus you can
|
||||
do a lot more than the edit/compile/fix cycle!
|
||||
|
||||
If you are using Manx's Aztec C compiler on the Amiga look here for how to use
|
||||
it with Vim: |quickfix-manx|. If you are using another compiler you should
|
||||
save the error messages in a file and start Vim with "vim -q filename". An
|
||||
@@ -105,6 +110,11 @@ The following quickfix commands can be used:
|
||||
Read the error file. Just like ":cfile" but don't
|
||||
jump to the first error.
|
||||
|
||||
*:cad* *:caddfile*
|
||||
:cad[dfile] [errorfile] Read the error file and add the errors from the
|
||||
errorfile to the current quickfix list. If a quickfix
|
||||
list is not present, then a new list is created.
|
||||
|
||||
*:cb* *:cbuffer* *E681*
|
||||
:cb[uffer] [bufnr] Read the error list from the current buffer.
|
||||
When [bufnr] is given it must be the number of a
|
||||
@@ -113,11 +123,24 @@ The following quickfix commands can be used:
|
||||
A range can be specified for the lines to be used.
|
||||
Otherwise all lines in the buffer are used.
|
||||
|
||||
*:cex* *:cexpr*
|
||||
:cex[pr][!] {expr} Create a quickfix list using the result of {expr}.
|
||||
If {expr} is a String, then each new-line terminated
|
||||
line in the String is processed using 'errorformat'
|
||||
and the result is added to the quickfix list.
|
||||
If {expr} is a List, then each String item in the list
|
||||
is processed and added to the quickfix list.
|
||||
Non String items in the List are ignored. See |:cc|
|
||||
for [!].
|
||||
Examples: >
|
||||
:cexpr system('grep -n xyz *')
|
||||
:cexpr getline(1, '$')
|
||||
<
|
||||
*:cl* *:clist*
|
||||
:cl[ist] [from] [, [to]]
|
||||
List all errors that are valid |quickfix-valid|.
|
||||
If numbers [from] and/or [to] are given, the respective
|
||||
range of errors is listed. A negative number counts
|
||||
range of errors is listed. A negative number counts
|
||||
from the last error backwards, -1 being the last error.
|
||||
The 'switchbuf' settings are respected when jumping
|
||||
to a buffer.
|
||||
@@ -131,6 +154,10 @@ deleted for some reason, the message "line changed" is shown to warn you that
|
||||
the error location may not be correct. If you quit Vim and start again the
|
||||
marks are lost and the error locations may not be correct anymore.
|
||||
|
||||
If vim is built with |+autocmd| support, two autocommands are available for
|
||||
running commands before and after a quickfix command (':make', ':grep' and so
|
||||
on) is executed. See |QuickFixCmdPre| and |QuickFixCmdPost| for details.
|
||||
|
||||
=============================================================================
|
||||
2. The error window *quickfix-window*
|
||||
|
||||
@@ -166,12 +193,14 @@ height manually (e.g., by dragging the status line above it with the mouse).
|
||||
|
||||
In the quickfix window, each line is one error. The line number is equal to
|
||||
the error number. You can use ":.cc" to jump to the error under the cursor.
|
||||
Hitting the <CR> key or double-clicking the mouse on a line has the same
|
||||
Hitting the <Enter> key or double-clicking the mouse on a line has the same
|
||||
effect. The file containing the error is opened in the window above the
|
||||
quickfix window. If there already is a window for that file, it is used
|
||||
instead. If the buffer in the used window has changed, and the error is in
|
||||
another file, jumping to the error will fail. You will first have to make
|
||||
sure the window contains a buffer which can be abandoned.
|
||||
*CTRL-W_<Enter>* *CTRL-W_<CR>*
|
||||
You can use CTRL-W <Enter> to open a new window and jump to the error there.
|
||||
|
||||
When the quickfix window has been filled, two autocommand events are
|
||||
triggered. First the 'filetype' option is set to "qf", which triggers the
|
||||
@@ -220,20 +249,24 @@ lists, use ":cnewer 99" first.
|
||||
4. Using :make *:make_makeprg*
|
||||
|
||||
*:mak* *:make*
|
||||
:mak[e][!] [arguments] 1. If the 'autowrite' option is on, write any changed
|
||||
:mak[e][!] [arguments] 1. If vim was built with |+autocmd|, all relevant
|
||||
|QuickFixCmdPre| autocommands are executed.
|
||||
2. If the 'autowrite' option is on, write any changed
|
||||
buffers
|
||||
2. An errorfile name is made from 'makeef'. If
|
||||
3. An errorfile name is made from 'makeef'. If
|
||||
'makeef' doesn't contain "##", and a file with this
|
||||
name already exists, it is deleted.
|
||||
3. The program given with the 'makeprg' option is
|
||||
4. The program given with the 'makeprg' option is
|
||||
started (default "make") with the optional
|
||||
[arguments] and the output is saved in the
|
||||
errorfile (for Unix it is also echoed on the
|
||||
screen).
|
||||
4. The errorfile is read using 'errorformat'.
|
||||
5. If [!] is not given the first error is jumped to.
|
||||
6. The errorfile is deleted.
|
||||
7. You can now move through the errors with commands
|
||||
5. The errorfile is read using 'errorformat'.
|
||||
6. If [!] is not given the first error is jumped to.
|
||||
7. The errorfile is deleted.
|
||||
8. If vim was built with |+autocmd|, all relevant
|
||||
|QuickFixCmdPost| autocommands are executed.
|
||||
9. You can now move through the errors with commands
|
||||
like |:cnext| and |:cprevious|, see above.
|
||||
This command does not accept a comment, any "
|
||||
characters are considered part of the arguments.
|
||||
@@ -288,24 +321,39 @@ advantages are:
|
||||
- Uses Vim search patterns. Multi-line patterns can be used.
|
||||
- When plugins are enabled: compressed and remote files can be searched.
|
||||
|gzip| |netrw|
|
||||
- When 'hidden' is set the files are kept loaded, thus repeating a search is
|
||||
much faster. Uses a lot of memory though!
|
||||
|
||||
|
||||
5.1 using Vim's internal grep
|
||||
|
||||
*:vim* *:vimgrep* *E682* *E683*
|
||||
:vim[grep][!] /{pattern}/ {file} ...
|
||||
:vim[grep][!] /{pattern}/[g][j] {file} ...
|
||||
Search for {pattern} in the files {file} ... and set
|
||||
the error list to the matches.
|
||||
{pattern} if a Vim search pattern. Instead of
|
||||
enclosing it in / any non-ID character |'isident'|
|
||||
can be used, so long as it does not appear in
|
||||
{pattern}.
|
||||
'ignorecase' applies. To overrule it use |/\c| to
|
||||
ignore case or |/\C| to match case. 'smartcase' is
|
||||
not used.
|
||||
Without the 'g' flag each line is added only once.
|
||||
With 'g' every match is added.
|
||||
|
||||
{pattern} is a Vim search pattern. Instead of
|
||||
enclosing it in / any non-ID character (see
|
||||
|'isident'|) can be used, so long as it does not
|
||||
appear in {pattern}.
|
||||
'ignorecase' applies. To overrule it put |/\c| in the
|
||||
pattern to ignore case or |/\C| to match case.
|
||||
'smartcase' is not used.
|
||||
|
||||
Without the 'j' flag Vim jumps to the first match.
|
||||
With 'j' only the quickfix list is updated.
|
||||
With the [!] any changes in the current buffer are
|
||||
abandoned.
|
||||
|
||||
Every second or so the searched file name is displayed
|
||||
to give you an idea of the progress made.
|
||||
Examples: >
|
||||
:vimgrep /an error/ *.c
|
||||
:vimgrep /\<FileName\>/ *.h include/*
|
||||
:vimgrep /myfunc/ **/*.c
|
||||
< For the use of "**" see |starstar-wildcard|.
|
||||
|
||||
:vim[grep][!] {pattern} {file} ...
|
||||
Like above, but instead of enclosing the pattern in a
|
||||
@@ -315,7 +363,8 @@ advantages are:
|
||||
:vimgrep Error *.c
|
||||
<
|
||||
*:vimgrepa* *:vimgrepadd*
|
||||
:vimgrepa[dd][!] [/]{pattern}[/] {file} ...
|
||||
:vimgrepa[dd][!] /{pattern}/[g][j] {file} ...
|
||||
:vimgrepa[dd][!] {pattern} {file} ...
|
||||
Just like ":vimgrep", but instead of making a new list
|
||||
of errors the matches are appended to the current
|
||||
list.
|
||||
@@ -351,16 +400,16 @@ id-utils) in a similar way to its compiler integration (see |:make| above).
|
||||
5.3 Setting up external grep
|
||||
|
||||
If you have a standard "grep" program installed, the :grep command may work
|
||||
well with the defaults. The syntax is very similar to the standard command: >
|
||||
well with the defaults. The syntax is very similar to the standard command: >
|
||||
|
||||
:grep foo *.c
|
||||
|
||||
Will search all files with the .c extension for the substring "foo". The
|
||||
Will search all files with the .c extension for the substring "foo". The
|
||||
arguments to :grep are passed straight to the "grep" program, so you can use
|
||||
whatever options your "grep" supports.
|
||||
|
||||
By default, :grep invokes grep with the -n option (show file and line
|
||||
numbers). You can change this with the 'grepprg' option. You will need to set
|
||||
numbers). You can change this with the 'grepprg' option. You will need to set
|
||||
'grepprg' if:
|
||||
|
||||
a) You are using a program that isn't called "grep"
|
||||
@@ -450,7 +499,7 @@ not "b:current_compiler". What the command actually does is the following:
|
||||
- Execute ":runtime! compiler/{name}.vim". The plugins are expected to set
|
||||
options with "CompilerSet" and set the "current_compiler" variable to the
|
||||
name of the compiler.
|
||||
- Delete the "CompilerSet user command.
|
||||
- Delete the "CompilerSet" user command.
|
||||
- Set "b:current_compiler" to the value of "current_compiler".
|
||||
- Without "!" the old value of "current_compiler" is restored.
|
||||
|
||||
@@ -486,8 +535,8 @@ stdin (standard input) will not be interactive.
|
||||
PYUNIT COMPILER *compiler-pyunit*
|
||||
|
||||
This is not actually a compiler, but a unit testing framework for the
|
||||
Python language. It is included into standard Python distribution
|
||||
starting from version 2.0. For older versions, you can get it from
|
||||
Python language. It is included into standard Python distribution
|
||||
starting from version 2.0. For older versions, you can get it from
|
||||
http://pyunit.sourceforge.net.
|
||||
|
||||
When you run your tests with the help of the framework, possible errors
|
||||
@@ -505,20 +554,20 @@ Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
|
||||
TEX COMPILER *compiler-tex*
|
||||
|
||||
Included in the distribution compiler for TeX ($VIMRUNTIME/compiler/tex.vim)
|
||||
uses make command if possible. If the compiler finds a file named "Makefile"
|
||||
uses make command if possible. If the compiler finds a file named "Makefile"
|
||||
or "makefile" in the current directory, it supposes that you want to process
|
||||
your *TeX files with make, and the makefile does the right work. In this case
|
||||
compiler sets 'errorformat' for *TeX output and leaves 'makeprg' untouched. If
|
||||
your *TeX files with make, and the makefile does the right work. In this case
|
||||
compiler sets 'errorformat' for *TeX output and leaves 'makeprg' untouched. If
|
||||
neither "Makefile" nor "makefile" is found, the compiler will not use make.
|
||||
You can force the compiler to ignore makefiles by defining
|
||||
b:tex_ignore_makefile or g:tex_ignore_makefile variable (they are checked for
|
||||
existence only).
|
||||
|
||||
If the compiler chose not to use make, it need to choose a right program for
|
||||
processing your input. If b:tex_flavor or g:tex_flavor (in this precedence)
|
||||
processing your input. If b:tex_flavor or g:tex_flavor (in this precedence)
|
||||
variable exists, it defines TeX flavor for :make (actually, this is the name
|
||||
of executed command), and if both variables do not exist, it defaults to
|
||||
"latex". For example, while editing chapter2.tex \input-ed from mypaper.tex
|
||||
"latex". For example, while editing chapter2.tex \input-ed from mypaper.tex
|
||||
written in AMS-TeX: >
|
||||
|
||||
:let b:tex_flavor = 'amstex'
|
||||
@@ -528,16 +577,16 @@ written in AMS-TeX: >
|
||||
|
||||
Note that you must specify a name of the file to process as an argument (to
|
||||
process the right file when editing \input-ed or \include-ed file; portable
|
||||
solution for substituting % for no arguments is welcome). This is not in the
|
||||
solution for substituting % for no arguments is welcome). This is not in the
|
||||
semantics of make, where you specify a target, not source, but you may specify
|
||||
filename without extension ".tex" and mean this as "make filename.dvi or
|
||||
filename.pdf or filename.some_result_extension according to compiler".
|
||||
|
||||
Note: tex command line syntax is set to usable both for MikTeX (suggestion
|
||||
by Srinath Avadhanula) and teTeX (checked by Artem Chuprina). Suggestion
|
||||
by Srinath Avadhanula) and teTeX (checked by Artem Chuprina). Suggestion
|
||||
from |errorformat-LaTeX| is too complex to keep it working for different
|
||||
shells and OSes and also does not allow to use other available TeX options,
|
||||
if any. If your TeX doesn't support "-interaction=nonstopmode", please
|
||||
if any. If your TeX doesn't support "-interaction=nonstopmode", please
|
||||
report it with different means to express \nonstopmode from the command line.
|
||||
|
||||
=============================================================================
|
||||
@@ -571,7 +620,7 @@ Basic items
|
||||
column of the error, (1 <tab> == 1 character column))
|
||||
%v virtual column number (finds a number representing
|
||||
screen column of the error (1 <tab> == 8 screen
|
||||
columns)
|
||||
columns))
|
||||
%t error type (finds a single character)
|
||||
%n error number (finds a number)
|
||||
%m error message (finds a string)
|
||||
@@ -580,15 +629,15 @@ Basic items
|
||||
uses the length for the column number)
|
||||
%*{conv} any scanf non-assignable conversion
|
||||
%% the single '%' character
|
||||
%s search text (finds a string)
|
||||
|
||||
The "%f" conversion depends on the current 'isfname' setting.
|
||||
The "%f" conversion may depend on the current 'isfname' setting. "~/" is
|
||||
expanded to the home directory and environment variables are expanded.
|
||||
|
||||
The "%f" and "%m" conversions have to detect the end of the string. They
|
||||
should be followed by a character that cannot be in the string. Everything
|
||||
up to that character is included in the string. But when the next character
|
||||
is a '%' or a backslash, "%f" will look for any 'isfname' character and "%m"
|
||||
finds anything. If the "%f" or "%m" is at the end, everything up to the end
|
||||
of the line is included.
|
||||
The "%f" and "%m" conversions have to detect the end of the string. This
|
||||
normally happens by matching following characters and items. When nothing is
|
||||
following the rest of the line is matched. If "%f" is followed by a '%' or a
|
||||
backslash, it will look for a sequence of 'isfname' characters.
|
||||
|
||||
On MS-DOS, MS-Windows and OS/2 a leading "C:" will be included in "%f", even
|
||||
when using "%f:". This means that a file name which is a single alphabetical
|
||||
@@ -602,6 +651,13 @@ or >
|
||||
to indicate the column of the error. This is to be used in a multi-line error
|
||||
message. See |errorformat-javac| for a useful example.
|
||||
|
||||
The "%s" conversion specifies the text to search for to locate the error line.
|
||||
The text is used as a literal string. The anchors "^" and "$" are added to
|
||||
the text to locate the error line exactly matching the search text and the
|
||||
text is prefixed with the "\V" atom to make it "very nomagic". The "%s"
|
||||
conversion can be used to locate lines without a line number in the error
|
||||
output. Like the output of the "grep" shell command.
|
||||
When the pattern is present the line number will not be used.
|
||||
|
||||
Changing directory
|
||||
|
||||
@@ -609,7 +665,7 @@ The following uppercase conversion characters specify the type of special
|
||||
format strings. At most one of them may be given as a prefix at the begin
|
||||
of a single comma-separated format pattern.
|
||||
Some compilers produce messages that consist of directory names that have to
|
||||
be prepended to each file name read by %f (example: GNU make). The following
|
||||
be prepended to each file name read by %f (example: GNU make). The following
|
||||
codes can be used to scan these directory names; they will be stored in an
|
||||
internal directory stack. *E379*
|
||||
%D "enter directory" format string; expects a following
|
||||
@@ -617,7 +673,7 @@ internal directory stack. *E379*
|
||||
%X "leave directory" format string; expects following %f
|
||||
|
||||
When defining an "enter directory" or "leave directory" format, the "%D" or
|
||||
"%X" has to be given at the start of that substring. Vim tracks the directory
|
||||
"%X" has to be given at the start of that substring. Vim tracks the directory
|
||||
changes and prepends the current directory to each erroneous file found with a
|
||||
relative path. See |quickfix-directory-stack| for details, tips and
|
||||
limitations.
|
||||
@@ -626,7 +682,7 @@ limitations.
|
||||
Multi-line messages *errorformat-multi-line*
|
||||
|
||||
It is possible to read the output of programs that produce multi-line
|
||||
messages, ie. error strings that consume more than one line. Possible
|
||||
messages, i.e. error strings that consume more than one line. Possible
|
||||
prefixes are:
|
||||
%E start of a multi-line error message
|
||||
%W start of a multi-line warning message
|
||||
@@ -719,7 +775,7 @@ A call of |:clist| writes them accordingly with their correct filenames:
|
||||
9 a3.tt:67 col 3 warning: 's' already defined
|
||||
|
||||
Unlike the other prefixes that all match against whole lines, %P, %Q and %O
|
||||
can be used to match several patterns in the same line. Thus it is possible
|
||||
can be used to match several patterns in the same line. Thus it is possible
|
||||
to parse even nested files like in the following line:
|
||||
{"file1" {"file2" error1} error2 {"file3" error3 {"file4" error4 error5}}}
|
||||
The %O then parses over strings that do not contain any push/pop file name
|
||||
@@ -729,11 +785,11 @@ information. See |errorformat-LaTeX| for an extended example.
|
||||
Ignoring and using whole messages *efm-ignore*
|
||||
|
||||
The codes '+' or '-' can be combined with the uppercase codes above; in that
|
||||
case they have to precede the letter, eg. '%+A' or '%-G':
|
||||
case they have to precede the letter, e.g. '%+A' or '%-G':
|
||||
%- do not include the matching multi-line in any output
|
||||
%+ include the whole matching line in the %m error string
|
||||
|
||||
One prefix is only useful in combination with '+' or '-', namely %G. It parses
|
||||
One prefix is only useful in combination with '+' or '-', namely %G. It parses
|
||||
over lines containing general information like compiler version strings or
|
||||
other headers that can be skipped.
|
||||
%-G ignore this message
|
||||
@@ -748,7 +804,7 @@ with previous versions of Vim. However, it is also possible to specify
|
||||
Since meta characters of the regular expression language can be part of
|
||||
ordinary matching strings or file names (and therefore internally have to
|
||||
be escaped), meta symbols have to be written with leading '%':
|
||||
%\ the single '\' character. Note that this has to be
|
||||
%\ the single '\' character. Note that this has to be
|
||||
escaped ("%\\") in ":set errorformat=" definitions.
|
||||
%. the single '.' character.
|
||||
%# the single '*'(!) character.
|
||||
@@ -758,7 +814,7 @@ be escaped), meta symbols have to be written with leading '%':
|
||||
%~ the single '~' character.
|
||||
When using character classes in expressions (see |/\i| for an overview),
|
||||
terms containing the "\+" quantifier can be written in the scanf() "%*"
|
||||
notation. Example: "%\\d%\\+" ("\d\+", "any number") is equivalent to "%*\\d".
|
||||
notation. Example: "%\\d%\\+" ("\d\+", "any number") is equivalent to "%*\\d".
|
||||
Important note: The \(...\) grouping of sub-matches can not be used in format
|
||||
specifications because it is reserved for internal conversions.
|
||||
|
||||
@@ -844,19 +900,19 @@ required for the set command.
|
||||
8. The directory stack *quickfix-directory-stack*
|
||||
|
||||
Quickfix maintains a stack for saving all used directories parsed from the
|
||||
make output. For GNU-make this is rather simple, as it always prints the
|
||||
absolute path of all directories it enters and leaves. Regardless if this is
|
||||
make output. For GNU-make this is rather simple, as it always prints the
|
||||
absolute path of all directories it enters and leaves. Regardless if this is
|
||||
done via a 'cd' command in the makefile or with the parameter "-C dir" (change
|
||||
to directory before reading the makefile). It may be useful to use the switch
|
||||
to directory before reading the makefile). It may be useful to use the switch
|
||||
"-w" to force GNU-make to print out the working directory before and after
|
||||
processing.
|
||||
|
||||
Maintaining the correct directory is more complicated if you don't use
|
||||
GNU-make. AIX-make for example doesn't print any information about its working
|
||||
directory. Then you need to enhance the makefile. In the makefile of LessTif
|
||||
there is a command which echoes "Making {target} in {dir}". The special
|
||||
problem here is that it doesn't print informations on leaving the directory
|
||||
and that it doesn't print the absolute path.
|
||||
GNU-make. AIX-make for example doesn't print any information about its
|
||||
working directory. Then you need to enhance the makefile. In the makefile of
|
||||
LessTif there is a command which echoes "Making {target} in {dir}". The
|
||||
special problem here is that it doesn't print informations on leaving the
|
||||
directory and that it doesn't print the absolute path.
|
||||
|
||||
To solve the problem with relative paths and missing "leave directory"
|
||||
messages Vim uses following algorithm:
|
||||
@@ -870,10 +926,10 @@ messages Vim uses following algorithm:
|
||||
|
||||
Additionally it is checked for every file, if it really exists in the
|
||||
identified directory. If not, it is searched in all other directories of the
|
||||
directory stack (NOT the directory subtree!). If it is still not found, it is
|
||||
directory stack (NOT the directory subtree!). If it is still not found, it is
|
||||
assumed that it is in Vim's current directory.
|
||||
|
||||
There are limitation in this algorithm. This examples assume that make just
|
||||
There are limitation in this algorithm. This examples assume that make just
|
||||
prints information about entering a directory in the form "Making all in dir".
|
||||
|
||||
1) Assume you have following directories and files:
|
||||
@@ -920,7 +976,7 @@ Add
|
||||
to your 'errorformat' to handle the above output.
|
||||
|
||||
Note that Vim doesn't check if the directory name in a "leave directory"
|
||||
messages is the current directory. This is why you could just use the message
|
||||
messages is the current directory. This is why you could just use the message
|
||||
"Leaving dir".
|
||||
|
||||
=============================================================================
|
||||
@@ -982,7 +1038,7 @@ It should be easy to adopt the above LaTeX errorformat to any compiler output
|
||||
consisting of multi-line errors.
|
||||
|
||||
The commands can be placed in a |vimrc| file or some other Vim script file,
|
||||
eg. a script containing LaTeX related stuff which is loaded only when editing
|
||||
e.g. a script containing LaTeX related stuff which is loaded only when editing
|
||||
LaTeX sources.
|
||||
Make sure to copy all lines of the example (in the given order), afterwards
|
||||
remove the comment lines. For the '\' notation at the start of some lines see
|
||||
@@ -996,7 +1052,7 @@ remove the comment lines. For the '\' notation at the start of some lines see
|
||||
:set efm=%E!\ LaTeX\ %trror:\ %m,
|
||||
\%E!\ %m,
|
||||
< Start of multi-line warning messages; the first two also
|
||||
include the line number. Meaning of some regular expressions:
|
||||
include the line number. Meaning of some regular expressions:
|
||||
- "%.%#" (".*") matches a (possibly empty) string
|
||||
- "%*\\d" ("\d\+") matches a number >
|
||||
\%+WLaTeX\ %.%#Warning:\ %.%#line\ %l%.%#,
|
||||
@@ -1035,7 +1091,7 @@ remove the comment lines. For the '\' notation at the start of some lines see
|
||||
on a stack since the file apparently does not contain any
|
||||
error: >
|
||||
\%+O(%f)%r,
|
||||
< Push a file name onto the stack. The name is given after '(': >
|
||||
< Push a file name onto the stack. The name is given after '(': >
|
||||
\%+P(%f%r,
|
||||
\%+P\ %\\=(%f%r,
|
||||
\%+P%*[^()](%f%r,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.0aa. Last change: 2004 Jul 27
|
||||
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -607,6 +607,7 @@ Short explanation of each option: *option-list*
|
||||
|'backupskip'| |'bsk'| no backup for files that match these patterns
|
||||
|'balloondelay'| |'bdlay'| delay in mS before a balloon may pop up
|
||||
|'ballooneval'| |'beval'| switch on balloon evaluation
|
||||
|'balloonexpr'| |'bexpr'| expression to show in balloon
|
||||
|'binary'| |'bin'| read/write/edit file in binary mode
|
||||
|'bioskey'| |'biosk'| MS-DOS: use bios calls for input characters
|
||||
|'bomb'| prepend a Byte Order Mark to the file
|
||||
@@ -632,6 +633,7 @@ Short explanation of each option: *option-list*
|
||||
|'compatible'| |'cp'| behave Vi-compatible as much as possible
|
||||
|'complete'| |'cpt'| specify how Insert mode completion works
|
||||
|'completefunc'| |'cfu'| function to be used for Insert mode completion
|
||||
|'completeopt'| |'cot'| options for Insert mode completion
|
||||
|'confirm'| |'cf'| ask what to do about unsaved/read-only files
|
||||
|'conskey'| |'consk'| get keys directly from console (MS-DOS only)
|
||||
|'copyindent'| |'ci'| make 'autoindent' use existing indent structure
|
||||
@@ -685,8 +687,10 @@ Short explanation of each option: *option-list*
|
||||
|'foldnestmax'| |'fdn'| maximum fold depth
|
||||
|'foldopen'| |'fdo'| for which commands a fold will be opened
|
||||
|'foldtext'| |'fdt'| expression used to display for a closed fold
|
||||
|'formatlistpat'| |'flp'| pattern used to recognize a list header
|
||||
|'formatoptions'| |'fo'| how automatic formatting is to be done
|
||||
|'formatprg'| |'fp'| name of external program used with "gq" command
|
||||
|'fsync'| |'fs'| whether to invoke fsync() after file write
|
||||
|'gdefault'| |'gd'| the ":substitute" flag 'g' is default on
|
||||
|'grepformat'| |'gfm'| format of 'grepprg' output
|
||||
|'grepprg'| |'gp'| program to use for ":grep"
|
||||
@@ -750,8 +754,10 @@ Short explanation of each option: *option-list*
|
||||
|'maxfuncdepth'| |'mfd'| maximum recursive depth for user functions
|
||||
|'maxmapdepth'| |'mmd'| maximum recursive depth for mapping
|
||||
|'maxmem'| |'mm'| maximum memory (in Kbyte) used for one buffer
|
||||
|'maxmempattern'| |'mmp'| maximum memory (in Kbyte) used for pattern search
|
||||
|'maxmemtot'| |'mmt'| maximum memory (in Kbyte) used for all buffers
|
||||
|'menuitems'| |'mis'| maximum number of items in a menu
|
||||
|'mkspellmem'| |'msm'| memory used before |:mkspell| compresses the tree
|
||||
|'modeline'| |'ml'| recognize modelines at start or end of file
|
||||
|'modelines'| |'mls'| number of lines checked for modelines
|
||||
|'modifiable'| |'ma'| changes to the text are not possible
|
||||
@@ -767,6 +773,8 @@ Short explanation of each option: *option-list*
|
||||
|'nrformats'| |'nf'| number formats recognized for CTRL-A command
|
||||
|'number'| |'nu'| print the line number in front of each line
|
||||
|'numberwidth'| |'nuw'| number of columns used for the line number
|
||||
|'omnifunc'| |'ofu'| function for filetype-specific completion
|
||||
|'operatorfunc'| |'opfunc'| funtion to be called for |g@| operator
|
||||
|'osfiletype'| |'oft'| operating system-specific filetype information
|
||||
|'paragraphs'| |'para'| nroff macros that separate paragraphs
|
||||
|'paste'| allow pasting text
|
||||
@@ -812,6 +820,7 @@ Short explanation of each option: *option-list*
|
||||
|'shellquote'| |'shq'| quote character(s) for around shell command
|
||||
|'shellredir'| |'srr'| string to put output of filter in a temp file
|
||||
|'shellslash'| |'ssl'| use forward slash for shell file names
|
||||
|'shelltemp'| |'stmp'| whether to use a temp file for shell commands
|
||||
|'shelltype'| |'st'| Amiga: influences how to use a shell
|
||||
|'shellxquote'| |'sxq'| like 'shellquote', but include redirection
|
||||
|'shiftround'| |'sr'| round indent to multiple of shiftwidth
|
||||
@@ -829,6 +838,11 @@ Short explanation of each option: *option-list*
|
||||
|'smartindent'| |'si'| smart autoindenting for C programs
|
||||
|'smarttab'| |'sta'| use 'shiftwidth' when inserting <Tab>
|
||||
|'softtabstop'| |'sts'| number of spaces that <Tab> uses while editing
|
||||
|'spell'| enable spell checking
|
||||
|'spellcapcheck'| |'spc'| pattern to locate end of a sentence
|
||||
|'spellfile'| |'spf'| files where |zg| and |zw| store words
|
||||
|'spelllang'| |'spl'| language(s) to do spell checking for
|
||||
|'spellsuggest'| |'sps'| method(s) used to suggest spelling corrections
|
||||
|'splitbelow'| |'sb'| new window from split is below the current one
|
||||
|'splitright'| |'spr'| new window is put right of the current one
|
||||
|'startofline'| |'sol'| commands move cursor to first blank in line
|
||||
@@ -838,6 +852,7 @@ Short explanation of each option: *option-list*
|
||||
|'swapfile'| |'swf'| whether to use a swapfile for a buffer
|
||||
|'swapsync'| |'sws'| how to sync the swap file
|
||||
|'switchbuf'| |'swb'| sets behavior when switching to another buffer
|
||||
|'synmaxcol'| |'smc'| maximum column to find syntax items
|
||||
|'syntax'| |'syn'| syntax to be loaded for current buffer
|
||||
|'tabstop'| |'ts'| number of spaces that <Tab> in file uses
|
||||
|'tagbsearch'| |'tbs'| use binary searching in tags files
|
||||
@@ -873,6 +888,7 @@ Short explanation of each option: *option-list*
|
||||
|'updatecount'| |'uc'| after this many characters flush swap file
|
||||
|'updatetime'| |'ut'| after this many milliseconds flush swap file
|
||||
|'verbose'| |'vbs'| give informative messages
|
||||
|'verbosefile'| |'vfile'| file to write messages in
|
||||
|'viewdir'| |'vdir'| directory where to store files with :mkview
|
||||
|'viewoptions'| |'vop'| specifies what to save for :mkview
|
||||
|'viminfo'| |'vi'| use .viminfo file upon startup and exiting
|
||||
@@ -886,6 +902,7 @@ Short explanation of each option: *option-list*
|
||||
|'wildignore'| |'wig'| files matching these patterns are not completed
|
||||
|'wildmenu'| |'wmnu'| use menu for command line completion
|
||||
|'wildmode'| |'wim'| mode for 'wildchar' command-line expansion
|
||||
|'wildoptions'| |'wop'| specifies how command line completion is done.
|
||||
|'winaltkeys'| |'wak'| when the windows system handles ALT keys
|
||||
|'winheight'| |'wh'| minimum number of lines for the current window
|
||||
|'winfixheight'| |'wfh'| keep window height when opening/closing windows
|
||||
@@ -920,6 +937,11 @@ Short explanation of each option: *option-list*
|
||||
|:cprevious| :cp display the previous error
|
||||
|:clist| :cl list all errors
|
||||
|:cfile| :cf read errors from the file 'errorfile'
|
||||
|:cgetfile| :cg like :cfile but don't jump to the first error
|
||||
|:caddfile| :cad add errors from the error file to the current
|
||||
quickfix list
|
||||
|:cbuffer| :cb read errors from text in a buffer
|
||||
|:cexpr| :cex read errors from an expression
|
||||
|:cquit| :cq quit without writing and return error code (to
|
||||
the compiler)
|
||||
|:make| :make [args] start make, read errors, and jump to first
|
||||
@@ -1169,7 +1191,7 @@ Context-sensitive completion on the command-line:
|
||||
|:xall| :xa[ll][!] or :wqall[!]
|
||||
Write all changed buffers and exit
|
||||
|
||||
|:stop| :st[op][!] Suspend VIM or start new shell. If 'aw' option
|
||||
|:stop| :st[op][!] Suspend VIM or start new shell. If 'aw' option
|
||||
is set and [!] not given write the buffer.
|
||||
|CTRL-Z| CTRL-Z Same as ":stop"
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quotes.txt* For Vim version 7.0aa. Last change: 2004 May 06
|
||||
*quotes.txt* For Vim version 7.0aa. Last change: 2005 Apr 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -18,7 +18,7 @@ Coming with a very GUI mindset from Windows, I always thought of people using
|
||||
Vi as some kind of outer space alien in human clothes. Once I tried I really
|
||||
got addicted by its power and now I found myself typing Vim keypresses in the
|
||||
oddest places! That's why I would like to see Vim embedded in every
|
||||
application which deals with text editing. (Jos<6F> Fonseca)
|
||||
application which deals with text editing. (Jos<6F> Fonseca)
|
||||
|
||||
I was a 12-year emacs user who switched to Vim about a year ago after finally
|
||||
giving up on the multiple incompatible versions, flaky contributed packages,
|
||||
@@ -32,17 +32,17 @@ the Vi editor")
|
||||
|
||||
Out of all the open software i've ever seen and used, and i've seen a lot, Vim
|
||||
is the best, most useful and highest quality to work with, second only to the
|
||||
linux kernel itself. (Peter Jay Salzman)
|
||||
linux kernel itself. (Peter Jay Salzman)
|
||||
|
||||
It's well worth noting that the _entirety_ of SourceForge was written using
|
||||
Vim and its nifty PHP syntax highlighting. I think the entire SF.net tech
|
||||
Vim and its nifty PHP syntax highlighting. I think the entire SF.net tech
|
||||
staff uses Vim and we're all excited to have you aboard! (Tim Perdue)
|
||||
|
||||
Vim is one of a select bunch of tools for which I have no substitute. It is
|
||||
a brilliant piece of work! (Biju Chacko)
|
||||
|
||||
A previous girlfriend of mine switched to emacs. Needless to say, the
|
||||
relationship went nowhere. (Geoffrey Mann)
|
||||
relationship went nowhere. (Geoffrey Mann)
|
||||
|
||||
I rarely think about Vim, in the same way that I guess a fish rarely thinks
|
||||
about water. It's the environment in which everything else happens. I'm a
|
||||
@@ -51,7 +51,7 @@ is the only thing that's consistent across all my systems, and it's just about
|
||||
the only thing that doesn't break from time to time. When a new system comes
|
||||
in the door without Vim, I install it right away. Great to have a tool that's
|
||||
the same everywhere, that's completely reliable, so I can ignore it and think
|
||||
about other things. (Pete Schaeffer)
|
||||
about other things. (Pete Schaeffer)
|
||||
|
||||
Having recently succeeded in running Vim via telnet through a Nokia
|
||||
Communicator, I can now report that it works nicely on a Palm Pilot too.
|
||||
@@ -63,10 +63,10 @@ versions of 'emacs' in the late 1970's and was relieved by finding 'vi' in the
|
||||
first UNIX I came across in 1983). In my opinion, it's about time 'VIM'
|
||||
replace 'emacs' as the standard for top editors. (Bo Thide', Sweden)
|
||||
|
||||
I love and use VIM heavily too. (Larry Wall)
|
||||
I love and use VIM heavily too. (Larry Wall)
|
||||
|
||||
Vi is like a Ferrari, if you're a beginner, it handles like a bitch, but once
|
||||
you get the hang of it, its small, powerful and FAST! (Unknown)
|
||||
you get the hang of it, it's small, powerful and FAST! (Unknown)
|
||||
VIM is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
|
||||
(Stephen Riehm, Germany)
|
||||
|
||||
@@ -77,12 +77,12 @@ quickly get used to and appreciate the advantages of this editor. (Garry
|
||||
Glendown, conclusion of an article on VIM in iX magazine 9/1998)
|
||||
|
||||
I've recently acquired the O'Reilly book on VI (it also discusses VIM
|
||||
in-depth), and I'm amazed at just how powerful this application is. (Jeffrey
|
||||
in-depth), and I'm amazed at just how powerful this application is. (Jeffrey
|
||||
Rankin)
|
||||
|
||||
This guide was written using the Windows 9.x distribution of GVIM, which is
|
||||
quite possibly the greatest thing to come along since God created the naked
|
||||
girl. (Michael DiBernardo)
|
||||
girl. (Michael DiBernardo)
|
||||
|
||||
Boy, I thought I knew almost everything about VIM, but every time I browse the
|
||||
online documentation, I hit upon a minor but cool aspect of a VIM feature that
|
||||
@@ -103,7 +103,7 @@ of those "Perfect Programmer's Editor" threads and was delighted to discover
|
||||
that VIM already supports it. (Brendan Macmillan, Australia)
|
||||
|
||||
I just discovered VIM (5.0) and I'm telling everyone I know about it!
|
||||
I tell them VIM stands for VI for the new (M)illenium. Thanks so much!
|
||||
I tell them VIM stands for VI for the new (M)illenium. Thanks so much!
|
||||
(Matt F. Valentine)
|
||||
|
||||
I think from now on "vi" should be called "Vim Imitation", not the other way
|
||||
@@ -121,12 +121,12 @@ Whenever I move to a new computing platform, the first thing I do is to port
|
||||
VIM. Lately, I am simply stunned by its ease of compilation using the
|
||||
configure facility. (A.M. Sabuncu, Turkey)
|
||||
|
||||
The options are really excellent and very powerful. (Anish Maharaj)
|
||||
The options are really excellent and very powerful. (Anish Maharaj)
|
||||
|
||||
The Spring user-interface designs are in, and word from the boutiques is that
|
||||
80x24 text-only mode is back with a *vengeance! Vi editor clone VIM burst onto
|
||||
March desk-tops with a dazzling show of pastel syntax highlights for its 5.0
|
||||
look. Strident and customizable, VIM raises eyebrows with its interpretation
|
||||
look. Strident and customizable, VIM raises eyebrows with its interpretation
|
||||
of the classic Vi single-key macro collection.
|
||||
http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l
|
||||
|
||||
@@ -134,7 +134,7 @@ I just wanted to take this opportunity to let you know that VIM 5 ROCKS!
|
||||
Syntax highlighting: how did I survive without it?! Thank you for creating
|
||||
mankind's best editor! (Mun Johl, USA)
|
||||
|
||||
Thanks again for VIM. I use it every day on Linux. (Eric Foster-Johnson,
|
||||
Thanks again for VIM. I use it every day on Linux. (Eric Foster-Johnson,
|
||||
author of the book "UNIX Programming Tools")
|
||||
|
||||
The BEST EDITOR EVER (Stuart Woolford)
|
||||
@@ -172,17 +172,17 @@ I am really happy with such a wonderful software package. Much better than
|
||||
almost any expensive, off the shelf program. (Jeff Walker)
|
||||
|
||||
Whenever I reread the VIM documentation I'm overcome with excitement at the
|
||||
power of the editor. (William Edward Webber, Australia)
|
||||
power of the editor. (William Edward Webber, Australia)
|
||||
|
||||
Hurrah for VIM!! It is "at your fingertips" like vi, and has the extensions
|
||||
that vi sorely needs: highlighting for executing commands on blocks, an easily
|
||||
navigable and digestible help screen, and more. (Paul Pax)
|
||||
navigable and digestible help screen, and more. (Paul Pax)
|
||||
|
||||
The reason WHY I don't have this amazingly useful macro any more, is that I
|
||||
now use VIM - and this is built in!! (Stephen Riehm, Germany)
|
||||
|
||||
I am a user of VIM and I love it. I use it to do all my programming, C,
|
||||
C++, HTML what ever. (Tim Allwine)
|
||||
I am a user of VIM and I love it. I use it to do all my programming, C,
|
||||
C++, HTML what ever. (Tim Allwine)
|
||||
|
||||
I discovered VIM after years of struggling with the original vi, and I just
|
||||
can't live without it any more. (Emmanuel Mogenet, USA)
|
||||
@@ -194,11 +194,11 @@ better than most commercial software! (Leiming Qian)
|
||||
This version of VIM will just blow people apart when they discover just how
|
||||
fantastic it is! (Tony Nugent, Australia)
|
||||
|
||||
I took your advice & finally got VIM & I'm really impressed. Instant convert.
|
||||
I took your advice & finally got VIM & I'm really impressed. Instant convert.
|
||||
(Patrick Killelea, USA)
|
||||
|
||||
VIM is by far my favorite piece of shareware and I have been particularly
|
||||
pleased with version 3.0. This is really a solid piece of work. (Robert
|
||||
pleased with version 3.0. This is really a solid piece of work. (Robert
|
||||
Colon, USA)
|
||||
|
||||
VIM is a joy to use, it is so well thought and practical that I wonder why
|
||||
@@ -244,7 +244,7 @@ VIM is the greatest editor since the stone chisel. (Jose Unpingco, USA)
|
||||
|
||||
I would like to say that with VIM I am finally making the 'emacs to vi'
|
||||
transition - as an Editor it is so much better in many ways: keyboard layout,
|
||||
memory usage, text alteration to name 3. (Mark Adam)
|
||||
memory usage, text alteration to name 3. (Mark Adam)
|
||||
|
||||
In fact, now if I want to know what a particular setting does in vi, I fire up
|
||||
VIM and check out it's help! (Nikhil Patel, USA)
|
||||
@@ -255,7 +255,7 @@ before I encountered this program. (Steinar Knutsen, Norway)
|
||||
I use VIM since version 3.0. Since that time, it is the ONLY editor I use,
|
||||
with Solaris, Linux and OS/2 Warp. I suggest all my friends to use VIM, they
|
||||
try, and they continue using it. VIM is really the best software I have ever
|
||||
downloaded from the Internet, and the best editor I know of. (Marco
|
||||
downloaded from the Internet, and the best editor I know of. (Marco
|
||||
Eccettuato, Italy)
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*recover.txt* For Vim version 7.0aa. Last change: 2004 Jun 16
|
||||
*recover.txt* For Vim version 7.0aa. Last change: 2005 Dec 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -116,12 +116,38 @@ command:
|
||||
|
||||
*:pre* *:preserve* *E313* *E314*
|
||||
:pre[serve] Write all text for all buffers into swap file. The
|
||||
original file is no longer needed for recovery. {Vi:
|
||||
emergency exit}
|
||||
original file is no longer needed for recovery.
|
||||
This sets a flag in the current buffer. When the '&'
|
||||
flag is present in 'cpoptions' the swap file will not
|
||||
be deleted for this buffer when Vim exits and the
|
||||
buffer is still loaded |cpo-&|.
|
||||
{Vi: might also exit}
|
||||
|
||||
A Vim swap file can be recognized by the first six characters: "b0VIM ".
|
||||
After that comes the version number, e.g., "3.0".
|
||||
|
||||
|
||||
Links and symbolic links ~
|
||||
|
||||
On Unix it is possible to have two names for the same file. This can be done
|
||||
with hard links and with symbolic links (symlinks).
|
||||
|
||||
For hard links Vim does not know the other name of the file. Therefore, the
|
||||
name of the swapfile will be based on the name you used to edit the file.
|
||||
There is no check for editing the same file by the other name too, because Vim
|
||||
cannot find the other swapfile (except for searching all of your harddisk,
|
||||
which would be very slow).
|
||||
|
||||
For symbolic links Vim resolves the links to find the name of the actual file.
|
||||
The swap file name is based on that name. Thus it doesn't matter by what name
|
||||
you edit the file, the swap file name will normally be the same. However,
|
||||
there are exceptions:
|
||||
- When the directory of the actual file is not writable the swapfile is put
|
||||
elsewhere.
|
||||
- When the symbolic links somehow create a loop you get an *E773* error
|
||||
message and the unmodified file name will be used. You won't be able to
|
||||
save your file normally.
|
||||
|
||||
==============================================================================
|
||||
2. Recovery *recovery* *E308* *E311*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 7.0aa. Last change: 2003 Nov 10
|
||||
*remote.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -87,7 +87,7 @@ SERVER NAME
|
||||
By default Vim will try to register the name under which it was invoked (gvim,
|
||||
egvim ...). This can be overridden with the --servername argument. If the
|
||||
specified name is not available, a postfix is applied until a free name is
|
||||
encountered, ie. "gvim1" for the second invocation of gvim on a particular
|
||||
encountered, i.e. "gvim1" for the second invocation of gvim on a particular
|
||||
X-server. The resulting name is available in the servername builtin variable
|
||||
|v:servername|. The case of the server name is ignored, thus "gvim" and
|
||||
"GVIM" are considered equal.
|
||||
@@ -121,7 +121,7 @@ wait for each of the files to have been edited. This uses the BufUnload
|
||||
event, thus as soon as a file has been unloaded, Vim assumes you are done
|
||||
editing it.
|
||||
Note that the --remote and --remote-wait arguments will consume the rest of
|
||||
the command line. Ie. all remaining arguments will be regarded as filenames.
|
||||
the command line. I.e. all remaining arguments will be regarded as filenames.
|
||||
You can not put options there!
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*repeat.txt* For Vim version 7.0aa. Last change: 2004 Jul 30
|
||||
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Jun 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -13,6 +13,7 @@ Chapter 26 of the user manual introduces repeating |usr_26.txt|.
|
||||
3. Complex repeats |complex-repeat|
|
||||
4. Using Vim scripts |using-scripts|
|
||||
5. Debugging scripts |debug-scripts|
|
||||
6. Profiling |profiling|
|
||||
|
||||
==============================================================================
|
||||
1. Single repeats *single-repeat*
|
||||
@@ -81,6 +82,11 @@ This replaces all occurrences of "pat" with "PAT". The same can be done with:
|
||||
:%s/pat/PAT/g
|
||||
Which is two characters shorter!
|
||||
|
||||
A special case is using ":visual" as a command. This will move to a matching
|
||||
line, go to Normal mode to let you execute commands there until you use |Q| to
|
||||
return to Ex mode. This will be repeated for each matching line. While doing
|
||||
this you cannot use ":global".
|
||||
|
||||
==============================================================================
|
||||
3. Complex repeats *complex-repeat*
|
||||
|
||||
@@ -102,7 +108,7 @@ q Stops recording. (Implementation note: The 'q' that
|
||||
expression. The result of the expression is then
|
||||
executed. See also |@:|. {Vi: only named registers}
|
||||
|
||||
*@@*
|
||||
*@@* *E748*
|
||||
@@ Repeat the previous @{0-9a-z":*} [count] times.
|
||||
|
||||
:[addr]*{0-9a-z".=} *:@* *:star*
|
||||
@@ -170,7 +176,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|
||||
matching files. Example: >
|
||||
:runtime! plugin/*.vim
|
||||
< This is what Vim uses to load the plugin files when
|
||||
starting up. This similar command: >
|
||||
starting up. This similar command: >
|
||||
:runtime plugin/*.vim
|
||||
< would source the first file only.
|
||||
|
||||
@@ -284,7 +290,7 @@ first line has something like ":map <F1> :help^M", where "^M" is a <CR>. If
|
||||
the first line ends in a <CR>, but following ones don't, you will get an error
|
||||
message, because the <CR> from the first lines will be lost.
|
||||
|
||||
Macintosh: Files that are read with ":source" normally have <CR> <EOL>s.
|
||||
Mac Classic: Files that are read with ":source" normally have <CR> <EOL>s.
|
||||
These always work. If you are using a file with <NL> <EOL>s (for example, a
|
||||
file made on Unix), this will be recognized if 'fileformats' is not empty and
|
||||
the first line does not end in a <CR>. Be careful not to use a file with <NL>
|
||||
@@ -478,6 +484,7 @@ DEFINING BREAKPOINTS
|
||||
The [lnum] is the line number of the breakpoint. Vim will stop at or after
|
||||
this line. When omitted line 1 is used.
|
||||
|
||||
*:debug-name*
|
||||
{name} is a pattern that is matched with the file or function name. The
|
||||
pattern is like what is used for autocommands. There must be a full match (as
|
||||
if the pattern starts with "^" and ends in "$"). A "*" matches any sequence
|
||||
@@ -497,6 +504,10 @@ The match for functions is done against the name as it's shown in the output
|
||||
of ":function". For local functions this means that something like "<SNR>99_"
|
||||
is prepended.
|
||||
|
||||
Note that functions are first loaded and later executed. When they are loaded
|
||||
the "file" breakpoints are checked, when they are executed the "func"
|
||||
breakpoints.
|
||||
|
||||
|
||||
DELETING BREAKPOINTS
|
||||
*:breakd* *:breakdel* *E161*
|
||||
@@ -504,6 +515,9 @@ DELETING BREAKPOINTS
|
||||
Delete breakpoint {nr}. Use |:breaklist| to see the number of
|
||||
each breakpoint.
|
||||
|
||||
:breakd[el] *
|
||||
Delete all breakpoints.
|
||||
|
||||
:breakd[el] func [lnum] {name}
|
||||
Delete a breakpoint in a function.
|
||||
|
||||
@@ -538,4 +552,96 @@ OBSCURE
|
||||
Undo ":debuggreedy": get debug mode commands directly from the
|
||||
user, don't use typeahead for debug commands.
|
||||
|
||||
==============================================================================
|
||||
6. Profiling *profile* *profiling*
|
||||
|
||||
Profiling means that Vim measures the time that is spend on executing
|
||||
functions and/or scripts. The |+profile| feature is required for this.
|
||||
It is only included when Vim was compiled with "huge" features.
|
||||
{Vi does not have profiling}
|
||||
|
||||
:prof[ile] start {fname} *:prof* *:profile* *E750*
|
||||
Start profiling, write the output in {fname} upon exit.
|
||||
If {fname} already exists it will be overwritten.
|
||||
The variable |v:profiling| is set to one.
|
||||
|
||||
:prof[ile] func {pattern}
|
||||
Profile function that matches the pattern {pattern}.
|
||||
See |:debug-name| for how {pattern} is used.
|
||||
|
||||
:prof[ile][!] file {pattern}
|
||||
Profile script file that matches the pattern {pattern}.
|
||||
See |:debug-name| for how {pattern} is used.
|
||||
This only profiles the script itself, not the functions
|
||||
defined in it.
|
||||
When the [!] is added then all functions defined in the script
|
||||
will also be profiled. But only if the script is loaded after
|
||||
this command.
|
||||
|
||||
|
||||
:profd[el] ... *:profd* *:profdel*
|
||||
Stop profiling for the arguments specified. See |:breakdel|
|
||||
for the arguments.
|
||||
|
||||
|
||||
You must always start with a ":profile start fname" command. The resulting
|
||||
file is written when Vim exits. Here is an example of the output, with line
|
||||
numbers prepended for the explanation:
|
||||
|
||||
1 FUNCTION Test2() ~
|
||||
2 Called 1 time ~
|
||||
3 Total time: 0.155251 ~
|
||||
4 Self time: 0.002006 ~
|
||||
5 ~
|
||||
6 count total (s) self (s) ~
|
||||
7 9 0.000096 for i in range(8) ~
|
||||
8 8 0.153655 0.000410 call Test3() ~
|
||||
9 8 0.000070 endfor ~
|
||||
10 " Ask a question ~
|
||||
11 1 0.001341 echo input("give me an answer: ") ~
|
||||
|
||||
The header (lines 1-4) gives the time for the whole function. The "Total"
|
||||
time is the time passed while the function was executing. The "Self" time is
|
||||
the "Total" time reduced by time spent in:
|
||||
- other user defined functions
|
||||
- sourced scripts
|
||||
- executed autocommands
|
||||
- external (shell) commands
|
||||
|
||||
Lines 7-11 show the time spent in each executed line. Lines that are not
|
||||
executed do not count. Thus a comment line is never counted.
|
||||
|
||||
The Count column shows how many times a line was executed. Note that the
|
||||
"for" command in line 7 is executed one more time as the following lines.
|
||||
That is because the line is also executed to detect the end of the loop.
|
||||
|
||||
The time Vim spends waiting for user input isn't counted at all. Thus how
|
||||
long you take to respond to the input() prompt is irrelevant.
|
||||
|
||||
Profiling should give a good indication of where time is spent, but keep in
|
||||
mind there are various things that may clobber the results:
|
||||
|
||||
- The accuracy of the time measured depends on the gettimeofday() system
|
||||
function. It may only be as accurate as 1/100 second, even though the times
|
||||
are displayed in micro seconds.
|
||||
|
||||
- Real elapsed time is measured, if other processes are busy they may cause
|
||||
delays at unpredictable moments. You may want to run the profiling several
|
||||
times and use the lowest results.
|
||||
|
||||
- If you have several commands in one line you only get one time. Split the
|
||||
line to see the time for the individual commands.
|
||||
|
||||
- The time of the lines added up is mostly less than the time of the whole
|
||||
function. There is some overhead in between.
|
||||
|
||||
- Functions that are deleted before Vim exits will not produce profiling
|
||||
information. You can check the |v:profiling| variable if needed: >
|
||||
:if !v:profiling
|
||||
: delfunc MyFunc
|
||||
:endif
|
||||
<
|
||||
- Profiling may give weird results on multi-processor systems, when sleep
|
||||
mode kicks in or the processor frequency is reduced to save power.
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*rileft.txt* For Vim version 7.0aa. Last change: 2003 May 07
|
||||
*rileft.txt* For Vim version 7.0aa. Last change: 2005 Apr 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Avner Lottem
|
||||
@@ -36,7 +36,7 @@ bidi and is merely opting to present a functional means to display/enter/use
|
||||
right-to-left languages. An older hybrid solution in which direction is
|
||||
encoded for every character (or group of characters) are not supported either
|
||||
as this kind of support is out of the scope of a simple addition to an
|
||||
existing editor (and its not sanctioned by Unicode either).
|
||||
existing editor (and it's not sanctioned by Unicode either).
|
||||
|
||||
|
||||
Highlights
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user