Compare commits

...

186 Commits

Author SHA1 Message Date
Bram Moolenaar
04a09c1975 updated for version 7.0122 2005-08-01 22:02:32 +00:00
Bram Moolenaar
83bab71b3c updated for version 7.0122 2005-08-01 21:58:57 +00:00
Bram Moolenaar
d314b2519b updated for version 7.0122 2005-08-01 21:54:37 +00:00
Bram Moolenaar
ecf07c8910 updated for version 7.0122 2005-08-01 21:52:12 +00:00
Bram Moolenaar
78984f503c updated for version 7.0121 2005-08-01 07:19:10 +00:00
Bram Moolenaar
53805d1eaa updated for version 7.0121 2005-08-01 07:08:33 +00:00
Bram Moolenaar
34cf2f5f49 updated for version 7.0121 2005-08-01 07:04:56 +00:00
Bram Moolenaar
25ceb22747 updated for version 7.0120 2005-07-30 22:45:36 +00:00
Bram Moolenaar
5a8684e782 updated for version 7.0120 2005-07-30 22:43:24 +00:00
Bram Moolenaar
3a6c56e422 updated for version 7.0120 2005-07-30 22:37:17 +00:00
Bram Moolenaar
403bd9487a updated for version 7.0120 2005-07-30 22:36:01 +00:00
Bram Moolenaar
4be06f9e1b updated for version 7.0119 2005-07-29 22:36:03 +00:00
Bram Moolenaar
661b182095 updated for version 7.0118 2005-07-28 22:36:45 +00:00
Bram Moolenaar
cfc7d63267 updated for version 7.0118 2005-07-28 22:28:16 +00:00
Bram Moolenaar
87e25fdf80 updated for version 7.0117 2005-07-27 21:13:01 +00:00
Bram Moolenaar
231334e6ef updated for version 7.0116 2005-07-25 20:46:57 +00:00
Bram Moolenaar
027436338b updated for version 7.0116 2005-07-25 20:42:36 +00:00
Bram Moolenaar
c013cb66a6 updated for version 7.0115 2005-07-24 21:18:31 +00:00
Bram Moolenaar
81366db6d6 updated for version 7.0115 2005-07-24 21:16:51 +00:00
Bram Moolenaar
65de869c4f updated for version 7.0115 2005-07-24 21:09:41 +00:00
Bram Moolenaar
58d9823409 updated for version 7.0114 2005-07-23 22:25:46 +00:00
Bram Moolenaar
b01585904a updated for version 7.0113 2005-07-22 21:54:43 +00:00
Bram Moolenaar
d8c0087cce updated for version 7.0113 2005-07-22 21:52:15 +00:00
Bram Moolenaar
63b3ce8757 updated for version 7.0113 2005-07-22 21:46:50 +00:00
Bram Moolenaar
342337a1a0 updated for version 7.0112 2005-07-21 21:11:17 +00:00
Bram Moolenaar
4536002e30 updated for version 7.0112 2005-07-21 21:08:21 +00:00
Bram Moolenaar
a3ffd9c780 updated for version 7.0112 2005-07-21 21:03:15 +00:00
Bram Moolenaar
80fc04348a updated for version 7.0111 2005-07-20 22:06:07 +00:00
Bram Moolenaar
87b774daf2 updated for version 7.0111 2005-07-20 22:04:36 +00:00
Bram Moolenaar
84fb85aaf6 updated for version 7.0111 2005-07-20 22:02:14 +00:00
Bram Moolenaar
fd6e52886b updated for version 7.0111 2005-07-20 22:00:04 +00:00
Bram Moolenaar
7b30e18223 updated for version 7.0111 2005-07-20 21:58:59 +00:00
Bram Moolenaar
0e634daa95 updated for version 7.0111 2005-07-20 21:57:28 +00:00
Bram Moolenaar
84110acb60 updated for version 7.0111 2005-07-20 21:56:21 +00:00
Bram Moolenaar
6a9aa37a3e updated for version 7.0111 2005-07-20 21:54:57 +00:00
Bram Moolenaar
9fad308621 updated for version 7.0110 2005-07-19 22:22:13 +00:00
Bram Moolenaar
ff6f061a9d updated for version 7.0110 2005-07-19 22:21:12 +00:00
Bram Moolenaar
d6c04cd66a updated for version 7.0110 2005-07-19 22:18:49 +00:00
Bram Moolenaar
6c131c43ff updated for version 7.0110 2005-07-19 22:17:30 +00:00
Bram Moolenaar
e7c5a15631 updated for version 7.0110 2005-07-19 22:14:07 +00:00
Bram Moolenaar
f8c07b2712 updated for version 7.0110 2005-07-19 22:10:03 +00:00
Bram Moolenaar
ce0842a6ee updated for version 7.0109 2005-07-18 21:58:11 +00:00
Bram Moolenaar
bbebc85750 updated for version 7.0109 2005-07-18 21:47:53 +00:00
Bram Moolenaar
fe3ca8ddd9 updated for version 7.0109 2005-07-18 21:43:02 +00:00
Bram Moolenaar
b635633989 updated for version 7.0109 2005-07-18 21:40:44 +00:00
Bram Moolenaar
e759a7aa9a updated for version 7.0108 2005-07-12 22:50:18 +00:00
Bram Moolenaar
8d34330fe5 updated for version 7.0108 2005-07-12 22:46:17 +00:00
Bram Moolenaar
1f28b07867 updated for version 7.0108 2005-07-12 22:42:41 +00:00
Bram Moolenaar
5eba4c2daf updated for version 7.0108 2005-07-12 22:40:29 +00:00
Bram Moolenaar
a40058acc7 updated for version 7.0107 2005-07-11 22:42:07 +00:00
Bram Moolenaar
3b56eb3d31 updated for version 7.0107 2005-07-11 22:40:32 +00:00
Bram Moolenaar
9ff7011bcb updated for version 7.0107 2005-07-11 22:29:03 +00:00
Bram Moolenaar
d8e9bb2090 updated for version 7.0106 2005-07-09 21:14:46 +00:00
Bram Moolenaar
35fdbb540a updated for version 7.0106 2005-07-09 21:08:57 +00:00
Bram Moolenaar
a466c99842 updated for version 7.0106 2005-07-09 21:03:22 +00:00
Bram Moolenaar
ac76e4dd91 updated for version 7.0106 2005-07-09 20:58:57 +00:00
Bram Moolenaar
51bab74a87 updated for version 7.0105 2005-07-08 22:31:03 +00:00
Bram Moolenaar
8d7fc6c298 updated for version 7.0105 2005-07-08 22:28:00 +00:00
Bram Moolenaar
e8bb2552eb updated for version 7.0105 2005-07-08 22:26:47 +00:00
Bram Moolenaar
045e82deef updated for version 7.0105 2005-07-08 22:25:33 +00:00
Bram Moolenaar
63b80986ac updated for version 7.0105 2005-07-08 22:21:38 +00:00
Bram Moolenaar
ec8a10a4e4 updated for version 7.0105 2005-07-08 22:19:11 +00:00
Bram Moolenaar
97409f1261 updated for version 7.0105 2005-07-08 22:17:29 +00:00
Bram Moolenaar
8e735a17f8 updated for version 7.0105 2005-07-08 22:14:37 +00:00
Bram Moolenaar
42332f5856 updated for version 7.0104 2005-07-06 22:38:49 +00:00
Bram Moolenaar
dc27ac1c5e updated for version 7.0104 2005-07-06 22:35:45 +00:00
Bram Moolenaar
bfb2006fd5 updated for version 7.0104 2005-07-06 22:31:45 +00:00
Bram Moolenaar
551f84f4e8 updated for version 7.0104 2005-07-06 22:29:20 +00:00
Bram Moolenaar
1756879365 updated for version 7.0104 2005-07-06 22:28:03 +00:00
Bram Moolenaar
53180ce2e7 updated for version 7.0103 2005-07-05 21:48:14 +00:00
Bram Moolenaar
dfb9ac0021 updated for version 7.0103 2005-07-05 21:36:03 +00:00
Bram Moolenaar
0dc065ee7c updated for version 7.0102 2005-07-04 22:49:24 +00:00
Bram Moolenaar
7d1f5dbc0a updated for version 7.0101 2005-07-03 21:39:27 +00:00
Bram Moolenaar
51ac12f683 updated for version 7.0100 2005-07-02 23:21:11 +00:00
Bram Moolenaar
0d9c26dd83 updated for version 7.0100 2005-07-02 23:19:16 +00:00
Bram Moolenaar
f9184a1d31 updated for version 7.0100 2005-07-02 23:10:47 +00:00
Bram Moolenaar
0f7d31ad83 updated for version 7.0100 2005-07-02 23:09:03 +00:00
Bram Moolenaar
1f8a5f0eac updated for version 7.0099 2005-07-01 22:41:52 +00:00
Bram Moolenaar
ba4128faa3 updated for version 7.0099 2005-07-01 22:38:32 +00:00
Bram Moolenaar
7887d88a9f updated for version 7.0099 2005-07-01 22:33:52 +00:00
Bram Moolenaar
505e82870e updated for version 7.0099 2005-07-01 22:31:55 +00:00
Bram Moolenaar
7fae636fc8 updated for version 7.0098 2005-06-30 22:06:41 +00:00
Bram Moolenaar
d042c56e34 updated for version 7.0098 2005-06-30 22:04:15 +00:00
Bram Moolenaar
e6b165e0f4 updated for version 7.0098 2005-06-30 21:56:01 +00:00
Bram Moolenaar
9c96f592af updated for version 7.0098 2005-06-30 21:52:39 +00:00
Bram Moolenaar
42eeac3552 updated for version 7.0097 2005-06-29 22:40:58 +00:00
Bram Moolenaar
24bbcfe8fe updated for version 7.0096 2005-06-28 23:32:02 +00:00
Bram Moolenaar
d7b31706f7 updated for version 7.0096 2005-06-28 23:24:33 +00:00
Bram Moolenaar
a1ba811ac9 updated for version 7.0096 2005-06-28 23:23:32 +00:00
Bram Moolenaar
9a50b1bf21 updated for version 7.0095 2005-06-27 22:48:21 +00:00
Bram Moolenaar
39a58ca3d4 updated for version 7.0095 2005-06-27 22:42:44 +00:00
Bram Moolenaar
d4098f5f19 updated for version 7.0095 2005-06-27 22:37:13 +00:00
Bram Moolenaar
702517dd70 updated for version 7.0095 2005-06-27 22:34:07 +00:00
Bram Moolenaar
b61d40504e updated for version 7.0095 2005-06-27 22:29:54 +00:00
Bram Moolenaar
cf6bf39f68 updated for version 7.0095 2005-06-27 22:27:46 +00:00
Bram Moolenaar
238f4fa798 updated for version 7.0095 2005-06-27 22:25:50 +00:00
Bram Moolenaar
d9fba318b8 updated for version 7.0094 2005-06-26 22:34:35 +00:00
Bram Moolenaar
80b29f273d updated for version 7.0094 2005-06-26 22:30:47 +00:00
Bram Moolenaar
1e498f5e5d updated for version 7.0094 2005-06-26 22:29:44 +00:00
Bram Moolenaar
0017fc52cb updated for version 7.0094 2005-06-26 22:28:42 +00:00
Bram Moolenaar
4eec5ec8ce updated for version 7.0094 2005-06-26 22:26:21 +00:00
Bram Moolenaar
f461c8e7f8 updated for version 7.0093 2005-06-25 23:04:51 +00:00
Bram Moolenaar
ea408854a8 updated for version 7.0093 2005-06-25 22:49:46 +00:00
Bram Moolenaar
29a1c1d374 updated for version 7.0092 2005-06-24 23:11:15 +00:00
Bram Moolenaar
1ec484f58e updated for version 7.0092 2005-06-24 23:07:47 +00:00
Bram Moolenaar
0a5fe2140d updated for version 7.0092 2005-06-24 23:01:23 +00:00
Bram Moolenaar
c4def13f8b updated for version 7.0091 2005-06-23 22:39:27 +00:00
Bram Moolenaar
3b506942eb updated for version 7.0091 2005-06-23 22:36:45 +00:00
Bram Moolenaar
47cc752267 updated for version 7.0091 2005-06-23 22:31:01 +00:00
Bram Moolenaar
f417f2b6af updated for version 7.0091 2005-06-23 22:29:21 +00:00
Bram Moolenaar
f81b0fe011 updated for version 7.0091 2005-06-23 22:27:26 +00:00
Bram Moolenaar
6ad01d6077 updated for version 7.0090 2005-06-22 22:37:09 +00:00
Bram Moolenaar
30abd28f16 updated for version 7.0090 2005-06-22 22:35:10 +00:00
Bram Moolenaar
d114dbee50 updated for version 7.0090 2005-06-22 22:29:18 +00:00
Bram Moolenaar
0c40586a7b updated for version 7.0090 2005-06-22 22:26:26 +00:00
Bram Moolenaar
0dd492fdd5 updated for version 7.0090 2005-06-22 22:25:07 +00:00
Bram Moolenaar
d857f0e0f4 updated for version 7.0089 2005-06-21 22:37:39 +00:00
Bram Moolenaar
3f77047607 updated for version 7.0088 2005-06-19 22:56:27 +00:00
Bram Moolenaar
25414f2917 updated for version 7.0088 2005-06-19 22:55:26 +00:00
Bram Moolenaar
e13305e3be updated for version 7.0088 2005-06-19 22:54:15 +00:00
Bram Moolenaar
3c2def6bd2 updated for version 7.0088 2005-06-19 22:50:11 +00:00
Bram Moolenaar
1d73c88503 updated for version 7.0088 2005-06-19 22:48:47 +00:00
Bram Moolenaar
92124a33fd updated for version 7.0087 2005-06-17 22:03:40 +00:00
Bram Moolenaar
b2ec307fc6 updated for version 7.0087 2005-06-17 22:02:20 +00:00
Bram Moolenaar
e756604ff5 updated for version 7.0087 2005-06-17 22:00:15 +00:00
Bram Moolenaar
f7bbbc506e updated for version 7.0087 2005-06-17 21:55:00 +00:00
Bram Moolenaar
8db7318c2a updated for version 7.0087 2005-06-17 21:51:16 +00:00
Bram Moolenaar
520470a9d6 updated for version 7.0086 2005-06-16 21:59:56 +00:00
Bram Moolenaar
6bab4d1fd7 updated for version 7.0086 2005-06-16 21:53:56 +00:00
Bram Moolenaar
cf851ce930 updated for version 7.0086 2005-06-16 21:52:47 +00:00
Bram Moolenaar
ea424166e2 updated for version 7.0086 2005-06-16 21:51:00 +00:00
Bram Moolenaar
78599adb52 updated for version 7.0086 2005-06-16 21:47:53 +00:00
Bram Moolenaar
c998e3c16e updated for version 7.0085 2005-06-14 22:13:23 +00:00
Bram Moolenaar
f3bd51a172 updated for version 7.0085 2005-06-14 22:11:18 +00:00
Bram Moolenaar
a41461e061 updated for version 7.0085 2005-06-14 22:08:28 +00:00
Bram Moolenaar
8348ea624c updated for version 7.0085 2005-06-14 22:05:40 +00:00
Bram Moolenaar
9f30f50471 updated for version 7.0085 2005-06-14 22:01:04 +00:00
Bram Moolenaar
9ba0eb850c updated for version 7.0084 2005-06-13 22:28:56 +00:00
Bram Moolenaar
bac97eb8ae updated for version 7.0084 2005-06-13 22:12:09 +00:00
Bram Moolenaar
eaa48e7d41 updated for version 7.0083 2005-06-08 22:07:37 +00:00
Bram Moolenaar
3638c6876d updated for version 7.0083 2005-06-08 22:05:14 +00:00
Bram Moolenaar
f3681cc330 updated for version 7.0083 2005-06-08 22:03:13 +00:00
Bram Moolenaar
c669e66fb6 updated for version 7.0083 2005-06-08 22:00:03 +00:00
Bram Moolenaar
3eb98fbbd8 updated for version 7.0083 2005-06-08 21:57:32 +00:00
Bram Moolenaar
3982c54106 updated for version 7.0083 2005-06-08 21:56:31 +00:00
Bram Moolenaar
0e4d877ed8 updated for version 7.0082 2005-06-07 21:12:49 +00:00
Bram Moolenaar
82cf9b6851 updated for version 7.0082 2005-06-07 21:09:25 +00:00
Bram Moolenaar
c4a06d3447 updated for version 7.0082 2005-06-07 21:04:49 +00:00
Bram Moolenaar
78916d7c3b updated for version 7.0082 2005-06-07 21:03:23 +00:00
Bram Moolenaar
631d6f6847 updated for version 7.0082 2005-06-07 21:02:10 +00:00
Bram Moolenaar
b765d63491 updated for version 7.0082 2005-06-07 21:00:02 +00:00
Bram Moolenaar
86bc1fb004 updated for version 7.0082 2005-06-07 20:58:01 +00:00
Bram Moolenaar
45eeb13324 updated for version 7.0081 2005-06-06 21:59:07 +00:00
Bram Moolenaar
cfc6c43ce2 updated for version 7.0081 2005-06-06 21:50:35 +00:00
Bram Moolenaar
fb67026c27 updated for version 7.0080 2005-06-05 22:06:27 +00:00
Bram Moolenaar
aeb25e1f15 updated for version 7.0080 2005-06-05 22:05:00 +00:00
Bram Moolenaar
08e310e2a2 updated for version 7.0080 2005-06-05 22:03:17 +00:00
Bram Moolenaar
bc045ea87a updated for version 7.0080 2005-06-05 22:01:26 +00:00
Bram Moolenaar
50cde8273e updated for version 7.0080 2005-06-05 21:54:54 +00:00
Bram Moolenaar
75c50c46a6 updated for version 7.0079 2005-06-04 22:06:24 +00:00
Bram Moolenaar
51485f0624 updated for version 7.0079 2005-06-04 21:55:20 +00:00
Bram Moolenaar
4debb442bd updated for version 7.0078 2005-06-01 21:57:40 +00:00
Bram Moolenaar
6c0b44b5bf updated for version 7.0078 2005-06-01 21:56:33 +00:00
Bram Moolenaar
d6f676daaf updated for version 7.0078 2005-06-01 21:51:55 +00:00
Bram Moolenaar
2c29beed4c updated for version 7.0078 2005-06-01 21:46:07 +00:00
Bram Moolenaar
0cde940475 updated for version 7.0078 2005-06-01 21:44:32 +00:00
Bram Moolenaar
54ee775e9d updated for version 7.0077 2005-05-31 22:22:17 +00:00
Bram Moolenaar
5c06f8b043 updated for version 7.0077 2005-05-31 22:14:58 +00:00
Bram Moolenaar
a04f10b606 updated for version 7.0077 2005-05-31 22:09:46 +00:00
Bram Moolenaar
8b044b3264 updated for version 7.0077 2005-05-31 22:05:58 +00:00
Bram Moolenaar
d6ec8454b0 updated for version 7.0077 2005-05-31 22:02:19 +00:00
Bram Moolenaar
0e6830e009 updated for version 7.0076 2005-05-27 20:23:44 +00:00
Bram Moolenaar
21de6660e1 updated for version 7.0076 2005-05-27 20:18:59 +00:00
Bram Moolenaar
01a7b9dd06 updated for version 7.0076 2005-05-27 20:16:24 +00:00
Bram Moolenaar
389cb3eb25 updated for version 7.0076 2005-05-27 20:14:58 +00:00
Bram Moolenaar
ee0446cf60 updated for version 7.0076 2005-05-27 20:13:12 +00:00
Bram Moolenaar
67fe1a1336 updated for version 7.0075 2005-05-22 22:12:58 +00:00
Bram Moolenaar
de934d77b1 updated for version 7.0075 2005-05-22 22:09:40 +00:00
Bram Moolenaar
2389c3c640 updated for version 7.0075 2005-05-22 22:07:59 +00:00
Bram Moolenaar
0d40699d6d updated for version 7.0075 2005-05-22 22:03:39 +00:00
Bram Moolenaar
f95dc3b823 updated for version 7.0075 2005-05-22 22:02:25 +00:00
Bram Moolenaar
f4630b60f5 updated for version 7.0074 2005-05-20 21:31:17 +00:00
Bram Moolenaar
c930a3cc82 updated for version 7.0074 2005-05-20 21:27:20 +00:00
Bram Moolenaar
35c54e5651 updated for version 7.0074 2005-05-20 21:25:31 +00:00
Bram Moolenaar
c1087e64bc updated for version 7.0074 2005-05-20 21:22:17 +00:00
Bram Moolenaar
686f51ef8e updated for version 7.0074 2005-05-20 21:19:57 +00:00
489 changed files with 46097 additions and 61239 deletions

View File

@@ -30,6 +30,7 @@ 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 \
@@ -94,6 +95,7 @@ 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 \
@@ -122,8 +124,6 @@ SRC_ALL2 = \
src/proto/undo.pro \
src/proto/version.pro \
src/proto/window.pro \
src/spell/*.diff \
src/spell/Makefile \
# source files for Unix only
@@ -511,6 +511,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 \
@@ -684,9 +686,13 @@ LANG_GEN = \
runtime/tutor/tutor.ru.* \
runtime/tutor/tutor.zh.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/main.aap \
# 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 \
@@ -698,6 +704,7 @@ LANG_SRC = \
src/po/README_mvc.txt \
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 \

View File

@@ -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/

View File

@@ -0,0 +1,6 @@
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

173
runtime/autoload/gzip.vim Normal file
View 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 :

130
runtime/autoload/tar.vim Normal file
View File

@@ -0,0 +1,130 @@
" vim:set ts=8 sts=4 sw=4:
"
" tar.vim -- a Vim plugin for browsing tarfiles
" Copyright (c) 2002, Michael C. Toren <mct@toren.net>
" Distributed under the GNU General Public License.
"
" Version: 1.01
" Last Change: 2005 Jul 26
"
" Updates are available from <http://michael.toren.net/code/>. If you
" find this script useful, or have suggestions for improvements, please
" let me know.
" Also look there for further comments and documentation.
"
" This part defines the functions. The autocommands are in plugin/tar.vim.
let s:version = "1.01"
function! tar#Write(argument)
echo "ERROR: Sorry, no write support for tarfiles yet"
endfunction
function! tar#Read(argument, cleanup)
let l:argument = a:argument
let l:argument = substitute(l:argument, '^tarfile:', '', '')
let l:argument = substitute(l:argument, '^\~', $HOME, '')
let l:tarfile = l:argument
while 1
if (l:tarfile == "" || l:tarfile == "/")
echo "ERROR: Could not find a readable tarfile in path:" l:argument
return
endif
if filereadable(l:tarfile) " found it!
break
endif
let l:tarfile = fnamemodify(l:tarfile, ":h")
endwhile
let l:toextract = strpart(l:argument, strlen(l:tarfile) + 1)
if (l:toextract == "")
return
endif
let l:cat = s:TarCatCommand(l:tarfile)
execute "r !" . l:cat . " < '" . l:tarfile . "'"
\ " | tar OPxf - '" . l:toextract . "'"
if (a:cleanup)
0d "blank line
execute "doautocmd BufReadPost " . expand("%")
setlocal readonly
silent preserve
endif
endfunction
function! tar#Browse(tarfile)
setlocal noswapfile
setlocal buftype=nofile
setlocal bufhidden=hide
setlocal filetype=
setlocal nobuflisted
setlocal buftype=nofile
setlocal wrap
setlocal syntax=tar
let l:tarfile = a:tarfile
let b:tarfile = l:tarfile
let l:cat = s:TarCatCommand(l:tarfile)
if ! filereadable(l:tarfile)
let l:tarfile = substitute(l:tarfile, '^tarfile:', '', '')
endif
if ! filereadable(l:tarfile)
echo "ERROR: File not readable:" l:tarfile
return
endif
call s:Say("\" tar.vim version " . s:version)
call s:Say("\" Browsing tarfile " . l:tarfile)
call s:Say("\" Hit ENTER to view a file in a new window")
call s:Say("")
silent execute "r!" . l:cat . "<'" . l:tarfile . "'| tar Ptf - "
0d "blank line
/^$/1
setlocal readonly
setlocal nomodifiable
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
endfunction
function! s:TarBrowseSelect()
let l:line = getline(".")
if (l:line =~ '^" ')
return
endif
if (l:line =~ '/$')
echo "Please specify a file, not a directory"
return
endif
let l:selection = "tarfile:" . b:tarfile . "/" . l:line
new
wincmd _
execute "e " . l:selection
endfunction
" kludge to deal with compressed archives
function! s:TarCatCommand(tarfile)
if a:tarfile =~# '\.\(gz\|tgz\|Z\)$'
let l:cat = "gzip -d -c"
elseif a:tarfile =~# '\.bz2$'
let l:cat = "bzip2 -d -c"
else
let l:cat = "cat"
endif
return l:cat
endfunction
function! s:Say(string)
let @" = a:string
$ put
endfunction

View File

@@ -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

View File

@@ -1,30 +1,22 @@
" 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
CompilerSet makeprg=bdftopcf\ $*
setlocal makeprg=bdftopcf\ $*
CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
\%-Z%p^,
\%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set sts=2 sw=2:

26
runtime/compiler/gcc.vim Normal file
View 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

View File

@@ -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 Jun 22
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
setlocal errorformat&
setlocal makeprg=nmake

View File

@@ -1,23 +1,17 @@
" 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
CompilerSet errorformat=
setlocal errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,
\%f:%l:\ (%tNFO/1)\ %m,
\%f:%l:\ (%tARNING/2)\ %m,
@@ -29,5 +23,3 @@ CompilerSet errorformat=
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: set sts=2 sw=2:

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Mar 04
*autocmd.txt* For Vim version 7.0aa. Last change: 2005 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -487,7 +487,7 @@ VimLeave Before exiting Vim, just after writing the
VimLeavePre.
To detect an abnormal exit use |v:dying|.
*EncodingChanged*
EncodingChanged Fires off when the 'encoding' option is
EncodingChanged Fires off after the 'encoding' option has been
changed. Useful to set up fonts, for example.
*InsertEnter*
InsertEnter When starting Insert mode. Also for Replace
@@ -542,6 +542,18 @@ QuickFixCmdPre *QuickFixCmdPre*
QuickFixCmdPost *QuickFixCmdPost*
like QuickFixCmdPre, but after a quickfix
command is run.
*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
*UserGettingBored*
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
*User*

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.0aa. Last change: 2005 Apr 26
*change.txt* For Vim version 7.0aa. Last change: 2005 Jul 30
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|.
@@ -681,8 +682,8 @@ 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-/|
@@ -770,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*
@@ -1073,9 +1077,12 @@ 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.
@@ -1479,5 +1486,52 @@ 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] [/{pattern}/]
Sort lines in [range].
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.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Feb 14
*cmdline.txt* For Vim version 7.0aa. Last change: 2005 Jul 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -726,7 +726,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

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*develop.txt* For Vim version 7.0aa. Last change: 2005 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -375,16 +375,18 @@ 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 not impossible, but a drawback.
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 a 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).
- 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.
@@ -392,7 +394,9 @@ checking engine in Vim, for various reasons:
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*

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.0aa. Last change: 2005 Apr 27
*editing.txt* For Vim version 7.0aa. Last change: 2005 Jul 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -354,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: >
@@ -563,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.
@@ -1404,7 +1424,7 @@ problem goes away the next day.
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
they work on all operating systems.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.0aa. Last change: 2005 May 18
*eval.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -36,7 +36,7 @@ done, the features in this document are not available. See |+eval| and
1.1 Variable types ~
*E712*
There are four types of variables:
There are five types of variables:
Number A 32 bit signed number.
Examples: -123 0x10 0177
@@ -50,6 +50,10 @@ Funcref A reference to a function |Funcref|.
List An ordered sequence of items |List|.
Example: [1, 2, ['a', 'b']]
Dictionary An associative, unordered array: Each entry has a key and a
value. |Dictionary|
Example: {'blue': "#0000ff", 'red': "#ff0000"}
The Number and String types are converted automatically, depending on how they
are used.
@@ -235,6 +239,26 @@ the same value. >
:echo alist == blist
< 1
Note about comparing lists: Two lists are considered equal if they have the
same length and all items compare equal, as with using "==". There is one
exception: When comparing a number with a string they are considered
different. There is no automatic type conversion, as with using "==" on
variables. Example: >
echo 4 == "4"
< 1 >
echo [4] == ["4"]
< 0
Thus comparing Lists is more strict than comparing numbers and strings. You
can compare simple values this way too by putting them in a string: >
:let a = 5
:let b = "5"
echo a == b
< 1 >
echo [a] == [b]
< 0
List unpack ~
@@ -428,7 +452,8 @@ Dictionary: >
:echo onedict['a']
11
For more info see |list-identity|.
Two Dictionaries compare equal if all the key-value pairs compare equal. For
more info see |list-identity|.
Dictionary modification ~
@@ -935,8 +960,11 @@ register *expr-register*
The result is the contents of the named register, as a single string.
Newlines are inserted where required. To get the contents of the unnamed
register use @" or @@. The '=' register can not be used here. See
|registers| for an explanation of the available registers.
register use @" or @@. See |registers| for an explanation of the available
registers.
When using the '=' register you get the expression itself, not what it
evaluates to. Use |eval()| to evaluate it.
nesting *expr-nesting* *E110*
@@ -1127,10 +1155,10 @@ v:beval_lnum The number of the line, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
*v:beval_text* *beval_text-variable*
v:beval_text The text under or after the mouse pointer. Usually a word as it is
useful for debugging a C program. 'iskeyword' applies, but a
dot and "->" before the position is included. When on a ']'
the text before it is used, including the matching '[' and
v:beval_text The text under or after the mouse pointer. Usually a word as
it is useful for debugging a C program. 'iskeyword' applies,
but a dot and "->" before the position is included. When on a
']' the text before it is used, including the matching '[' and
word before it. When on a Visual area within one line the
highlighted text is used.
Only valid while evaluating the 'balloonexpr' option.
@@ -1483,6 +1511,8 @@ foreground( ) Number bring the Vim window to the foreground
function( {name}) Funcref reference to function {name}
get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
getbufline( {expr}, {lnum} [, {end}])
List lines {lnum} to {end} of buffer {expr}
getchar( [expr]) Number get one character from the user
getcharmod( ) Number modifiers for the last typed character
getbufvar( {expr}, {varname}) variable {varname} in buffer {expr}
@@ -1497,7 +1527,7 @@ getftype( {fname}) String description of type of file {fname}
getline( {lnum}) String line {lnum} of current buffer
getline( {lnum}, {end}) List lines {lnum} to {end} of current buffer
getqflist() List list of quickfix items
getreg( [{regname}]) String contents of register
getreg( [{regname} [, 1]]) String contents of register
getregtype( [{regname}]) String type of register
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI Vim window
@@ -1555,6 +1585,7 @@ mode() String current editing mode
nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
nr2char( {expr}) String single char with ASCII value {expr}
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readfile({fname} [, {binary} [, {max}]])
@@ -1582,12 +1613,16 @@ serverlist() String get a list of available servers
setbufvar( {expr}, {varname}, {val}) set {varname} in buffer {expr} to {val}
setcmdpos( {pos}) Number set cursor position in command-line
setline( {lnum}, {line}) Number set line {lnum} to {line}
setqflist( {list} ) Number set list of quickfix items using {list}
setqflist( {list}[, {action}]) Number set list of quickfix items using {list}
setreg( {n}, {v}[, {opt}]) Number set register to value and type
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
simplify( {filename}) String simplify filename as much as possible
sort( {list} [, {func}]) List sort {list}, using {func} to compare
split( {expr} [, {pat}]) List make List from {pat} separated {expr}
soundfold( {word}) String sound-fold {word}
spellbadword() String badly spelled word at cursor
spellsuggest({word} [, {max}]) List spelling suggestions
split( {expr} [, {pat} [, {keepempty}]])
List make List from {pat} separated {expr}
strftime( {format}[, {time}]) String time in specified format
stridx( {haystack}, {needle}[, {start}])
Number index of {needle} in {haystack}
@@ -2187,8 +2222,11 @@ expand({expr} [, {flag}]) *expand()*
expanded like a file name is expanded on the command line.
'suffixes' and 'wildignore' are used, unless the optional
{flag} argument is given and it is non-zero. Names for
non-existing files are included.
non-existing files are included. The "**" item can be used to
search in a directory tree. For example, to find all "README"
files in the current directory and below: >
:echo expand("**/README")
<
Expand() can also be used to expand variables and environment
variables that are only known in a shell. But this can be
slow, because a shell must be started. See |expr-env-expand|.
@@ -2357,6 +2395,17 @@ function({name}) *function()* *E700*
{name} can be a user defined function or an internal function.
garbagecollect() *garbagecollect()*
Cleanup unused Lists and Dictionaries that have circular
references. There is hardly ever a need to invoke this
function, as it is automatically done when Vim runs out of
memory or is waiting for the user to press a key after
'updatetime'. Items without circular references are always
freed when they become unused.
This is useful if you have deleted a very big List and/or
Dictionary with circular references in a script that runs for
a long time.
get({list}, {idx} [, {default}]) *get()*
Get item {idx} from List {list}. When this item is not
available return {default}. Return zero when {default} is
@@ -2366,6 +2415,30 @@ get({dict}, {key} [, {default}])
item is not available return {default}. Return zero when
{default} is omitted.
*getbufline()*
getbufline({expr}, {lnum} [, {end}])
Return a List with the lines starting from {lnum} to {end}
(inclusive) in the buffer {expr}. If {end} is omitted, a List
with only the line {lnum} is returned.
For the use of {expr}, see |bufname()| above.
For {lnum} and {end} "$" can be used for the last line of the
buffer. Otherwise a number must be used.
When {lnum} is smaller than 1 or bigger than the number of
lines in the buffer, an empty List is returned.
When {end} is greater than the number of lines in the buffer,
it is treated as {end} is set to the number of lines in the
buffer. When {end} is before {lnum} an empty List is
returned.
This function works only for loaded buffers. For unloaded and
non-existing buffers, an empty List is returned.
Example: >
:let lines = getbufline(bufnr("myfile"), 1, "$")
getbufvar({expr}, {varname}) *getbufvar()*
The result is the value of option or local buffer variable
@@ -2529,7 +2602,7 @@ getline({lnum} [, {end}])
including line {end}.
{end} is used in the same way as {lnum}.
Non-existing lines are silently omitted.
When {end} is before {lnum} an error is given.
When {end} is before {lnum} an empty List is returned.
Example: >
:let start = line('.')
:let end = search("^$") - 1
@@ -2558,12 +2631,15 @@ getqflist() *getqflist()*
:endfor
getreg([{regname}]) *getreg()*
getreg([{regname} [, 1]]) *getreg()*
The result is a String, which is the contents of register
{regname}. Example: >
:let cliptext = getreg('*')
< getreg('=') returns the last evaluated value of the expression
register. (For use in maps.)
getreg('=', 1) returns the expression itself, so that it can
be restored with |setreg()|. For other registers the extra
argument is ignored, thus you can always give it.
If {regname} is not specified, |v:register| is used.
@@ -2577,7 +2653,6 @@ getregtype([{regname}]) *getregtype()*
<CTRL-V> is one character with value 0x16.
If {regname} is not specified, |v:register| is used.
*getwinposx()*
getwinposx() The result is a Number, which is the X coordinate in pixels of
the left hand side of the GUI Vim window. The result will be
@@ -2590,7 +2665,8 @@ getwinposy() The result is a Number, which is the Y coordinate in pixels of
getwinvar({nr}, {varname}) *getwinvar()*
The result is the value of option or local window variable
{varname} in window {nr}.
{varname} in window {nr}. When {nr} is zero the current
window is used.
This also works for a global option, buffer-local option and
window-local option, but it doesn't work for a global variable
or buffer-local variable.
@@ -2631,6 +2707,11 @@ globpath({path}, {expr}) *globpath()*
The 'wildignore' option applies: Names matching one of the
patterns in 'wildignore' will be skipped.
The "**" item can be used to search in a directory tree.
For example, to find all "README.txt" files in the directories
in 'runtimepath' and below: >
:echo globpath(&rtp, "**/README.txt")
<
*has()*
has({feature}) The result is a Number, which is 1 if the feature {feature} is
supported, zero otherwise. The {feature} argument is a
@@ -3257,6 +3338,134 @@ nr2char({expr}) *nr2char()*
characters. nr2char(0) is a real NUL and terminates the
string, thus results in an empty string.
printf({fmt}, {expr1} ...) *printf()*
Return a String with {fmt}, where "%" items are replaced by
the formatted form of their respective arguments. Example: >
printf("%4d: E%d %.30s", lnum, errno, msg)
< May result in:
" 99: E42 asdfasdfasdfasdfasdfasdfasdfas" ~
Often used items are:
%s string
%6s string right-aligned in 6 characters
%c single byte
%d decimal number
%5d decimal number padded with spaces to 5 characters
%x hex number
%04x hex number padded with zeros to at least 4 characters
%X hex number using upper case letters
%o octal number
%% the % character
Conversion specifications start with '%' and end with the
conversion type. All other characters are copied unchanged to
the result.
The "%" starts a conversion specification. The following
arguments appear in sequence:
% [flags] [field-width] [.precision] type
flags
Zero or more of the following flags:
# The value should be converted to an "alternate
form". For c, d, and s conversions, this option
has no effect. For o conversions, the precision
of the number is increased to force the first
character of the output string to a zero (except
if a zero value is printed with an explicit
precision of zero).
For x and X conversions, a non-zero result has
the string "0x" (or "0X" for X conversions)
prepended to it.
0 (zero) Zero padding. For all conversions the converted
value is padded on the left with zeros rather
than blanks. If a precision is given with a
numeric conversion (d, o, x, and X), the 0 flag
is ignored.
- A negative field width flag; the converted value
is to be left adjusted on the field boundary.
The converted value is padded on the right with
blanks, rather than on the left with blanks or
zeros. A - overrides a 0 if both are given.
' ' (space) A blank should be left before a positive
number produced by a signed conversion (d).
+ A sign must always be placed before a number
produced by a signed conversion. A + overrides
a space if both are used.
field-width
An optional decimal digit string specifying a minimum
field width. If the converted value has fewer
characters than the field width, it will be padded
with spaces on the left (or right, if the
left-adjustment flag has been given) to fill out the
field width.
.precision
An optional precision, in the form of a period '.'
followed by an optional digit string. If the digit
string is omitted, the precision is taken as zero.
This gives the minimum number of digits to appear for
d, o, x, and X conversions, or the maximum number of
characters to be printed from a string for s
conversions.
type
A character that specifies the type of conversion to
be applied, see below.
A field width or precision, or both, may be indicated by an
asterisk '*' instead of a digit string. In this case, a
Number argument supplies the field width or precision. A
negative field width is treated as a left adjustment flag
followed by a positive field width; a negative precision is
treated as though it were missing. Example: >
:echo printf("%d: %.*s", nr, width, line)
< This limits the length of the text used from "line" to
"width" bytes.
The conversion specifiers and their meanings are:
doxX The Number argument is converted to signed decimal
(d), unsigned octal (o), or unsigned hexadecimal (x
and X) notation. The letters "abcdef" are used for
x conversions; the letters "ABCDEF" are used for X
conversions.
The precision, if any, gives the minimum number of
digits that must appear; if the converted value
requires fewer digits, it is padded on the left with
zeros.
In no case does a non-existent or small field width
cause truncation of a numeric field; if the result of
a conversion is wider than the field width, the field
is expanded to contain the conversion result.
c The Number argument is converted to a byte, and the
resulting character is written.
s The text of the String argument is used. If a
precision is specified, no more bytes than the number
specified are used.
% A '%' is written. No argument is converted. The
complete conversion specification is "%%".
Each argument can be Number or String and is converted
automatically to fit the conversion specifier. Any other
argument type results in an error message.
*E766* *E767*
The number of {exprN} arguments must exactly match the number
of "%" items. If there are not sufficient or too many
arguments an error is given. Up to 18 arguments can be used.
prevnonblank({lnum}) *prevnonblank()*
Return the line number of the first line at or above {lnum}
that is not blank. Example: >
@@ -3273,11 +3482,16 @@ range({expr} [, {max} [, {stride}]]) *range()*
- If {stride} is specified: [{expr}, {expr} + {stride}, ...,
{max}] (increasing {expr} with {stride} each time, not
producing a value past {max}).
When the maximum is one before the start the result is an
empty list. When the maximum is more than one before the
start this is an error.
Examples: >
range(4) " [0, 1, 2, 3]
range(2, 4) " [2, 3, 4]
range(2, 9, 3) " [2, 5, 8]
range(2, -2, -1) " [2, 1, 0, -1, -2]
range(0) " []
range(2, 0) " error!
<
*readfile()*
readfile({fname} [, {binary} [, {max}]])
@@ -3446,8 +3660,14 @@ search({pattern} [, {flags}]) *search()*
'n' do Not move the cursor
'w' wrap around the end of the file
'W' don't wrap around the end of the file
's' set the ' mark at the previous location of the
cursor.
If neither 'w' or 'W' is given, the 'wrapscan' option applies.
If the 's' flag is supplied, the ' mark is set, only if the
cursor is moved. The 's' flag cannot be combined with the 'n'
flag.
When a match has been found its line number is returned.
The cursor will be positioned at the match, unless the 'n'
flag is used).
@@ -3598,13 +3818,22 @@ setcmdpos({pos}) *setcmdpos()*
setline({lnum}, {line}) *setline()*
Set line {lnum} of the current buffer to {line}.
{lnum} is used like with |getline()|.
When {lnum} is just below the last line the {line} will be
added as a new line.
If this succeeds, 0 is returned. If this fails (most likely
because {lnum} is invalid) 1 is returned. Example: >
:call setline(5, strftime("%c"))
< When {line} is a List then line {lnum} and following lines
will be set to the items in the list. Example: >
:call setline(5, ['aaa', 'bbb', 'ccc'])
< This is equivalent to: >
:for [n, l] in [[5, 6, 7], ['aaa', 'bbb', 'ccc']]
: call setline(n, l)
:endfor
< Note: The '[ and '] marks are not set.
setqflist({list}) *setqflist()*
setqflist({list} [, {action}]) *setqflist()*
Creates a quickfix list using the items in {list}. Each item
in {list} is a dictionary. Non-dictionary items in {list} are
ignored. Each dictionary item can contain the following
@@ -3629,6 +3858,13 @@ setqflist({list}) *setqflist()*
If both "pattern" and "lnum" are present then "pattern" will
be used.
If {action} is set to 'a', then the items from {list} are
added to the existing quickfix list. If there is no existing
list, then a new list is created. If {action} is set to 'r',
then the items from the current quickfix list are replaced
with the items from {list}. If {action} is not present or is
set to ' ', then a new list is created.
Returns zero for success, -1 for failure.
This function can be used to create a quickfix list
@@ -3662,7 +3898,7 @@ setreg({regname}, {value} [,{options}])
< This example shows using the functions to save and restore a
register. >
:let var_a = getreg('a')
:let var_a = getreg('a', 1)
:let var_amode = getregtype('a')
....
:call setreg('a', var_a, var_amode)
@@ -3673,7 +3909,7 @@ setreg({regname}, {value} [,{options}])
setwinvar({nr}, {varname}, {val}) *setwinvar()*
Set option or local variable {varname} in window {nr} to
{val}.
{val}. When {nr} is zero the current window is used.
This also works for a global or local buffer option, but it
doesn't work for a global or local buffer variable.
For a local buffer option the global value is unchanged.
@@ -3705,6 +3941,7 @@ sort({list} [, {func}]) *sort()* *E702*
:let sortedlist = sort(copy(mylist))
< Uses the string representation of each item to sort on.
Numbers sort after Strings, Lists after Numbers.
For sorting text in the current buffer use |:sort|.
When {func} is given and it is one then case is ignored.
When {func} is a Funcref or a function name, this function is
called to compare items. The function is invoked with two
@@ -3715,22 +3952,62 @@ sort({list} [, {func}]) *sort()* *E702*
return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
endfunc
let sortedlist = sort(mylist, "MyCompare")
<
split({expr} [, {pattern}]) *split()*
Make a List out of {expr}. When {pattern} is omitted each
white-separated sequence of characters becomes an item.
*soundfold()*
soundfold({word})
Return the sound-folded equivalent of {word}. Uses the first
language in 'spellang' for the current window that supports
soundfolding. 'spell' must be set. When no sound folding is
possible the {word} is returned unmodified.
This can be used for making spelling suggestions. Note that
the method can be quite slow.
*spellbadword()*
spellbadword() Return the badly spelled word under or after the cursor.
The cursor is advanced to the start of the bad word.
When no bad word is found in the cursor line an empty String
is returned and the cursor doesn't move.
*spellsuggest()*
spellsuggest({word} [, {max}])
Return a List with spelling suggestions to replace {word}.
When {max} is given up to this number of suggestions are
returned. Otherwise up to 25 suggestions are returned.
{word} can be a badly spelled word followed by other text.
This allows for joining two words that were split. The
suggestions also include the following text, thus you can
replace a line.
{word} may also be a good word. Similar words will then be
returned. {word} itself is also included, most likely as the
first entry, thus this can be used to check spelling.
The spelling information for the current window is used. The
'spell' option must be set and the values of 'spelllang' and
'spellsuggest' are used.
split({expr} [, {pattern} [, {keepempty}]]) *split()*
Make a List out of {expr}. When {pattern} is omitted or empty
each white-separated sequence of characters becomes an item.
Otherwise the string is split where {pattern} matches,
removing the matched characters. Empty strings are omitted.
removing the matched characters.
When the first or last item is empty it is omitted, unless the
{keepempty} argument is given and it's non-zero.
Other empty items are kept when {pattern} matches at least one
character or when {keepempty} is non-zero.
Example: >
:let words = split(getline('.'), '\W\+')
< Since empty strings are not added the "\+" isn't required but
it makes the function work a bit faster.
To split a string in individual characters: >
< To split a string in individual characters: >
:for c in split(mystring, '\zs')
< If you want to keep the separator you can also use '\zs': >
:echo split('abc:def:ghi', ':\zs')
< ['abc:', 'def:', 'ghi'] ~
The opposite function is |join()|.
Splitting a table where the first element can be empty: >
:let items = split(line, ':', 1)
< The opposite function is |join()|.
strftime({format} [, {time}]) *strftime()*
@@ -3780,6 +4057,7 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
Number 123
Funcref function('name')
List [item, item]
Dictionary {key: value, key: value}
Note that in String values the ' character is doubled.
*strlen()*
@@ -3870,8 +4148,10 @@ synID({lnum}, {col}, {trans}) *synID()*
{lnum} and {col} in the current window.
The syntax ID can be used with |synIDattr()| and
|synIDtrans()| to obtain syntax information about text.
{col} is 1 for the leftmost column, {lnum} is 1 for the first
line.
line. 'synmaxcol' applies, in a longer line zero is returned.
When {trans} is non-zero, transparent items are reduced to the
item that they reveal. This is useful when wanting to know
the effective color. When {trans} is zero, the transparent
@@ -3949,7 +4229,8 @@ system({expr} [, {input}]) *system()* *E677*
taglist({expr}) *taglist()*
Returns a list of tags matching the regular expression {expr}.
Each list item is a dictionary with the following entries:
Each list item is a dictionary with at least the following
entries:
name name of the tag.
filename name of the file where the tag is
defined.
@@ -3968,7 +4249,7 @@ taglist({expr}) *taglist()*
information about these fields. For C code the fields
"struct", "class" and "enum" may appear, they give the name of
the entity the tag is contained in.
The ex-command 'cmd' can be either an ex search pattern, a
line number or a line number followed by a byte number.
@@ -4179,6 +4460,7 @@ arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
autocmd Compiled with autocommands support.
balloon_eval Compiled with |balloon-eval| support.
balloon_multiline GUI supports multiline balloons.
beos BeOS version of Vim.
browse Compiled with |:browse| support, and browse() will
work.
@@ -4223,7 +4505,6 @@ fork Compiled to use fork()/exec() instead of system().
gettext Compiled with message translation |multi-lang|
gui Compiled with GUI enabled.
gui_athena Compiled with Athena GUI.
gui_beos Compiled with BeOS GUI.
gui_gtk Compiled with GTK+ GUI (any version).
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
gui_kde Compiled with KDE GUI |KVim|
@@ -4286,7 +4567,8 @@ sniff Compiled with SNiFF interface support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
sun_workshop Compiled with support for Sun |workshop|.
syntax Compiled with syntax highlighting support.
spell Compiled with spell checking support |spell|.
syntax Compiled with syntax highlighting support |syntax|.
syntax_items There are active syntax highlighting items for the
current buffer.
system Compiled to use system() instead of fork()/exec().
@@ -6361,7 +6643,7 @@ These items are not allowed in the sandbox:
This is not guaranteed 100% secure, but it should block most attacks.
*:san* *:sandbox*
:sandbox {cmd} Execute {cmd} in the sandbox. Useful to evaluate an
:san[dbox] {cmd} Execute {cmd} in the sandbox. Useful to evaluate an
option that may have been set from a modeline, e.g.
'foldexpr'.

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.0aa. Last change: 2005 Apr 11
*gui.txt* For Vim version 7.0aa. Last change: 2005 Jul 21
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:
@@ -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*
@@ -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

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*index.txt* For Vim version 7.0aa. Last change: 2005 Jul 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -150,6 +150,7 @@ 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 occult completion
|i_CTRL-X_CTRL-P| CTRL-X CTRL-P previous completion
|i_CTRL-X_CTRL-T| CTRL-X CTRL-T complete identifiers from thesaurus
|i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y scroll down
@@ -684,6 +685,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
@@ -1059,6 +1061,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 +1069,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 +1141,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 +1163,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 +1201,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
@@ -1227,11 +1234,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
@@ -1262,6 +1271,7 @@ The commands are sorted on the non-optional part of their name.
|: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
@@ -1311,6 +1321,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
@@ -1354,7 +1365,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
@@ -1407,6 +1423,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

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.0aa. Last change: 2005 Apr 08
*insert.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -547,7 +547,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).
@@ -565,7 +565,9 @@ 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. Occult completion |i_CTRL-X_CTRL-O|
12. 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
@@ -612,12 +614,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.
@@ -839,7 +841,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
@@ -858,7 +861,7 @@ 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
@@ -875,6 +878,21 @@ CTRL-X CTRL-U Guess what kind of item is in front of the cursor and
previous one.
Occult completion *compl-occult*
Completion is done by a supernatural being.
*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.
Completing keywords from different sources *compl-generic*
*i_CTRL-N*
@@ -1004,6 +1022,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}

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*intro.txt* For Vim version 7.0aa. Last change: 2005 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -198,7 +198,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>.

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*map.txt* For Vim version 7.0aa. Last change: 2005 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -932,26 +932,36 @@ 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*
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.
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,6 +969,14 @@ 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,
@@ -1032,6 +1050,7 @@ 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

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*mbyte.txt* For Vim version 7.0aa. Last change: 2005 Jul 09
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)

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.0aa. Last change: 2005 Feb 13
*message.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
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-return
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
@@ -714,9 +735,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:
@@ -724,10 +746,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.
@@ -735,6 +760,9 @@ 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'.
@@ -746,8 +774,7 @@ 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|
@@ -755,11 +782,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
@@ -771,8 +803,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).

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.0aa. Last change: 2005 Apr 04
*motion.txt* For Vim version 7.0aa. Last change: 2005 Jul 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -72,13 +72,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 +247,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 +259,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.
*;*
@@ -595,6 +595,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
@@ -679,6 +693,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*

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.0aa. Last change: 2005 Apr 14
*options.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -657,12 +657,14 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{only available when compiled with the
|+netbeans_intg| or |+sun_workshop| feature}
When on, Vim will change its value for the current working directory
whenever you open a file, switch buffers, delete a buffer or
open/close a window. It will change to the directory containing the
file which was opened or selected. This option is provided for
backward compatibility with the Vim released with Sun ONE Studio 4
Enterprise Edition.
When on, Vim will change the current working directory whenever you
open a file, switch buffers, delete a buffer or open/close a window.
It will change to the directory containing the file which was opened
or selected.
This option is provided for backward compatibility with the Vim
released with Sun ONE Studio 4 Enterprise Edition.
Note: When this option is on some plugins may not work. The directory
browser sets if off.
*'arabic'* *'arab'* *'noarabic'* *'noarab'*
'arabic' 'arab' boolean (default off)
@@ -1013,7 +1015,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The evaluation of the expression must not have side effects!
Example: >
function! MyBalloonExpr()
return 'Cursor is at line ' . v:beval_lnum .
return 'Cursor is at line ' . v:beval_lnum .
\', column ' . v:beval_col .
\ ' of file ' . bufname(v:beval_bufnr) .
\ ' on word "' . v:beval_text . '"'
@@ -1026,6 +1028,9 @@ A jump table for the options with a short description can be found at |Q_op|.
Vim does not try to send a message to an external debugger (Netbeans
or Sun Workshop).
To check whether line breaks in the balloon text work use this check: >
if has("balloon_multiline")
<
*'binary'* *'bin'* *'nobinary'* *'nobin'*
'binary' 'bin' boolean (default off)
local to buffer
@@ -1061,7 +1066,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'bioskey' 'biosk' boolean (default on)
global
{not in Vi} {only for MS-DOS}
When on the bios is called to obtain a keyboard character. This works
When on the BIOS is called to obtain a keyboard character. This works
better to detect CTRL-C, but only works for the console. When using a
terminal over a serial port reset this option.
Also see |'conskey'|.
@@ -1443,7 +1448,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|fold-marker|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a .vimrc file is found)
'compatible' 'cp' boolean (default on, off when a .vimrc or .gvimrc file
is found)
global
{not in Vi}
This option has the effect of making Vim either more Vi-compatible, or
@@ -1458,12 +1464,13 @@ A jump table for the options with a short description can be found at |Q_op|.
options. This default was chosen for those people who want to use Vim
just like Vi, and don't even (want to) know about the 'compatible'
option.
When a ".vimrc" file is found while Vim is starting up, this option is
switched off, and all options that have not been modified will be set
to the Vim defaults. Effectively, this means that when a ".vimrc"
file exists, Vim will use the Vim defaults, otherwise it will use the
Vi defaults. (Note: This doesn't happen for the system-wide vimrc
file). Also see |compatible-default| and |posix-compliance|.
When a ".vimrc" or ".gvimrc" file is found while Vim is starting up,
this option is switched off, and all options that have not been
modified will be set to the Vim defaults. Effectively, this means
that when a ".vimrc" or ".gvimrc" file exists, Vim will use the Vim
defaults, otherwise it will use the Vi defaults. (Note: This doesn't
happen for the system-wide vimrc or gvimrc file). Also see
|compatible-default| and |posix-compliance|.
You can also set this option with the "-C" argument, and reset it with
"-N". See |-C| and |-N|.
Switching this option off makes the Vim defaults be used for options
@@ -1577,46 +1584,54 @@ A jump table for the options with a short description can be found at |Q_op|.
'completefunc' 'cfu' string (default: empty)
local to buffer
{not in Vi}
This option specifies a completion function to be used for CTRL-X
CTRL-X. The function will be invoked with four arguments:
a:line the text of the current line
a:base the text with which matches should match
a:col column in a:line where the cursor is, first column is
zero
{not available when compiled without the +eval
or +insert_expand feature}
This option specifies a function to be used for CTRL-X CTRL-U
completion. |i_CTRL-X_CTRL-U|
The function will be invoked with three arguments:
a:findstart either 1 or 0
a:col column in the cursor line where the completion ends,
first column is zero
a:base the text with which matches should match
When the a:findstart argument is 1, the function must return the
column of where the completion starts. It must be a number between
zero and "a:col". This involves looking at the characters in a:line
before column a:col and include those characters that could be part of
the completed item.
When the a:findstart argument is 0 the function must return a string
with the matching words, separated by newlines. When there are no
matches return an empty string.
zero and "a:col". This involves looking at the characters in the
cursor line before column a:col and include those characters that
could be part of the completed item. The text between this column and
a:col will be replaced with the matches. Return -1 if no completion
can be done.
When the a:findstart argument is 0 the function must return a List
with the matching words. These matches should include the "a:base"
text. When there are no matches return an empty List.
The function must not move the cursor!
An example that completes the names of the months: >
fun! CompleteMonths(line, base, col, findstart)
fun! CompleteMonths(findstart, col, base)
if a:findstart
" locate start column of word
" locate the start of the word
let line = getline('.')
let start = a:col
while start > 0 && a:line[start - 1] =~ '\a'
let start = start - 1
while start > 0 && line[start - 1] =~ '\a'
let start -= 1
endwhile
return start
else
" find months matching with "a:base"
let res = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"
if a:base != ''
let res = substitute(res, '\c\<\(\(' . a:base . '.\{-}\>\)\|.\{-}\>\)', '\2', 'g')
endif
let res = substitute(res, ' \+', "\n", 'g')
let res = []
for m in split("Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec")
if m =~ '^' . a:base
call add(res, m)
endif
endfor
return res
endif
endfun
set completefunc=CompleteMonths
< Note that a substitute() function is used to reduce the list of
possible values and remove the ones that don't match the base. The
part before the "\|" matches the base, the part after it is used
when there is no match. The "\2" in the replacement is empty if the
part before the "\|" does not match.
<
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' boolean (default off)
@@ -2161,10 +2176,10 @@ A jump table for the options with a short description can be found at |Q_op|.
- A directory starting with "./" (or ".\" for MS-DOS et al.) means to
put the swap file relative to where the edited file is. The leading
"." is replaced with the path name of the edited file.
- For Unix and Win32, if a directory ends in two path separators, the
swap file name will be built from the complete path to the file
with all path separators substituted to percent '%' signs. This will
ensure file name uniqueness in the preserve directory.
- For Unix and Win32, if a directory ends in two path separators "//"
or "\\", the swap file name will be built from the complete path to
the file with all path separators substituted to percent '%' signs.
This will ensure file name uniqueness in the preserve directory.
- Spaces after the comma are ignored, other spaces are considered part
of the directory name. To have a space at the start of a directory
name, precede it with a backslash.
@@ -2276,8 +2291,8 @@ A jump table for the options with a short description can be found at |Q_op|.
setting 'encoding' to one of these values instead of utf-8 only has
effect for encoding used for files when 'fileencoding' is empty.
When 'encoding' is set to a Unicode encoding, and 'fileencodings' was
not set yet, the default for 'fileencodings' is changed.
When 'encoding' is set to a Unicode encoding, and 'fileencodings' was
not set yet, the default for 'fileencodings' is changed.
*'endofline'* *'eol'* *'noendofline'* *'noeol'*
'endofline' 'eol' boolean (default on)
@@ -3316,7 +3331,8 @@ A jump table for the options with a short description can be found at |Q_op|.
t:Title,v:Visual,w:WarningMsg,W:WildMenu,
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn")
>:SignColumn,B:SpellBad,P:SpellCap,
R:SpellRare,L:SpellLocal")
global
{not in Vi}
This option can be used to set highlighting mode for various
@@ -3348,8 +3364,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-WildMenu| W wildcard matches displayed for 'wildmenu'
|hl-Folded| f line used for closed folds
|hl-FoldColumn| F 'foldcolumn'
|hl-DiffAdd| A added line in diff mode
|hl-DiffChange| C changed line in diff mode
|hl-DiffDelete| D deleted line in diff mode
|hl-DiffText| T inserted text in diff mode
|hl-SignColumn| > column used for |signs|
|hl-SpellBad| B misspelled word |spell|
|hl-SpellCap| P word that should start with capital|spell|
|hl-SpellRare| R rare word |spell|
|hl-SpellLocal| L word from other region |spell|
@@ -4294,7 +4315,6 @@ A jump table for the options with a short description can be found at |Q_op|.
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
A auto-select in Visual mode
Normally you would enable the mouse in all four modes with: >
:set mouse=a
< When the mouse is not enabled, the GUI will still use the mouse for
@@ -5634,20 +5654,131 @@ A jump table for the options with a short description can be found at |Q_op|.
When on spell checking will be done. See |spell|.
The languages are specified with 'spelllang'.
*'spelllang'* *'spl'*
'spelllang' 'spl' string (default empty)
*'spellcapcheck'* *'spc'*
'spellcapcheck' 'spc' string (default "[.?!]\_[\])'" \t]\+")
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
feature}
A comma separated list of languages. when the 'spell' option is on
spellchecking will be done for these languages. Example: >
set spelllang=en_us,nl
< This means both US English and Dutch words are recognized. Words that
are not recognized will be highlighted.
Pattern to locate the end of a sentence. The following word will be
checked to start with a capital letter. If not then it is highlighted
with SpellCap |hl-SpellCap|.
When this check is not wanted make this option empty.
Only used when 'spell' is set.
Be careful with special characters, see |option-backslash| about
including spaces and backslashes.
*'spellfile'* *'spf'*
'spellfile' 'spf' string (default empty)
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Name of the word list file where words are added for the |zg| and |zw|
commands. It must end in ".{encoding}.add". You need to include the
path, otherwise the file is placed in the current directory.
*E765*
It may also be a comma separated list of names. A count before the
|zg| and |zw| commands can be used to access each. This allows using
a personal word list file and a project word list file.
When a word is added while this option is empty Vim will set it for
you: Using the first "spell" directory in 'runtimepath' that is
writable and the first language name that appears in 'spelllang',
ignoring the region.
The resulting ".spl" file will be used for spell checking, it does not
have to appear in 'spelllang'.
Normally one file is used for all regions, but you can add the region
name if you want to. However, it will then only be used when
'spellfile' is set to it, for entries in 'spelllang' only files
without region name will be found.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'spelllang'* *'spl'*
'spelllang' 'spl' string (default "en")
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
feature}
A comma separated list of word list names. When the 'spell' option is
on spellchecking will be done for these languages. Example: >
set spelllang=en_us,nl,medical
< This means US English, Dutch and medical words are recognized. Words
that are not recognized will be highlighted.
The word list name must not include a comma or dot. Using a dash is
recommended to separate the two letter language name from a
specification. Thus "en-rare" is used for rare English words.
A region name must come last and have the form "_xx", where "xx" is
the two-letter, lower case region name. You can use more than one
region by listing them: "en_us,en_ca" supports both US and Canadian
English, but not words specific for Australia, New Zealand or Great
Britain.
As a special case the name of a .spl file can be given as-is. The
first "_xx" in the name is removed and used as the region name
(_xx is an underscore, two letters and followed by a non-letter).
This is mainly for testing purposes. You must make sure the correct
encoding is used, Vim doesn't check it.
When 'encoding' is set the word lists are reloaded. Thus it's a good
idea to set 'spelllang' after setting 'encoding'.
More info at |spell|.
idea to set 'spelllang' after setting 'encoding' to avoid loading the
files twice.
How the related spell files are found is explained here: |spell-load|.
*'spellsuggest'* *'sps'*
'spellsuggest' 'sps' string (default "best")
global
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Methods used for spelling suggestions. Both for the |z?| command and
the |spellsuggest()| function. This is a comma-separated list of
items:
best Internal method that works best for English. Finds
changes like "fast" and uses a bit of sound-a-like
scoring to improve the ordering.
double Internal method that uses two methods and mixes the
results. The first method is "fast", the other method
computes how much the suggestion sounds like the bad
word. That only works when the language specifies
sound folding. Can be slow and doesn't always give
better results.
fast Internal method that only checks for simple changes:
character inserts/deletes/swaps. Works well for
simple typing mistakes.
file:{filename} Read file {filename}, which must have two columns,
separated by a slash. The first column contains the
bad word, the second column the suggested good word.
Example:
theribal/terrible ~
Use this for common mistakes that do not appear at the
top of the suggestion list with the internal methods.
Lines without a slash are ignored, use this for
comments.
The file is used for all languages.
expr:{expr} Evaluate expression {expr}. Use a function to avoid
trouble with spaces. |v:val| holds the badly spelled
word. The expression must evaluate to a List of
Lists, each with a suggestion and a score.
Example:
[['the', 33], ['that', 44]]
Set 'verbose' and use |z?| to see the scores that the
internal methods use. A lower score is better.
This may invoke |spellsuggest()| if you temporarily
set 'spellsuggest' to exclude the "expr:" part.
Errors are silently ignored, unless you set the
'verbose' option to a non-zero value.
Only one of "best", "double" or "fast" may be used. The others may
appear several times in any order. Example: >
:set sps=file:~/.vim/sugg,best,expr:MySuggest()
<
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' boolean (default off)
@@ -5900,6 +6031,19 @@ A jump table for the options with a short description can be found at |Q_op|.
a buffer. Otherwise: do not split, use current window.
Supported in |quickfix| commands that display errors.
*'synmaxcol'* *'smc'*
'synmaxcol' 'smc' number (default 3000)
local to buffer
{not in Vi}
{not available when compiled without the |+syntax|
feature}
Maximum column in which to search for syntax items. In long lines the
text after this column is not highlighted and following lines may not
be highlighted correctly, because the syntax state is cleared.
This helps to avoid very slow redrawing for an XML file that is one
long line.
Set to zero to remove the limit.
*'syntax'* *'syn'*
'syntax' 'syn' string (default empty)
local to buffer
@@ -5911,7 +6055,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Otherwise this option does not always reflect the current syntax (the
b:current_syntax variable does).
This option is most useful in a modeline, for a file which syntax is
not automatically recognized. Example, for in an IDL file: >
not automatically recognized. Example, in an IDL file: >
/* vim: set syntax=idl : */
< To switch off syntax highlighting for the current file, use: >
:set syntax=OFF
@@ -6536,6 +6680,21 @@ A jump table for the options with a short description can be found at |Q_op|.
This option can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command.
When the 'verbosefile' option is set then the verbose messages are not
displayed.
*'verbosefile'* *'vfile'*
'verbosefile' 'vfile' string (default empty)
global
{not in Vi}
When not empty all messages are written in a file with this name.
When the file exists messages are appended.
Writing to the file ends when Vim exits or when 'verbosefile' is made
empty.
Setting 'verbosefile' to a new value is like making it empty first.
The difference with |:redir| is that verbose messages are not
displayed when 'verbosefile' is set.
*'viewdir'* *'vdir'*
'viewdir' 'vdir' string (default for Amiga, MS-DOS, OS/2 and Win32:
"$VIM/vimfiles/view",

View File

@@ -165,7 +165,7 @@ Stuff that does not work yet:
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 >

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*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,8 +71,8 @@ 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 DEC C compiler. It should work without bigger problems.
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.
@@ -78,6 +81,8 @@ 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.
Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
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
@@ -250,7 +255,7 @@ you will get errors that some shareable libraries are missing.
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
etc.).
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: >
@@ -648,6 +653,17 @@ start 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

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.0aa. Last change: 2005 Mar 29
*pattern.txt* For Vim version 7.0aa. Last change: 2005 May 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -835,8 +835,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

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 6.3. Last change: Oct 08, 2004
*pi_netrw.txt* For Vim version 6.3. Last change: Jul 09, 2005
VIM REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -10,17 +10,48 @@
==============================================================================
0. Contents *netrw-contents*
1. Netrw Reference.....................................|netrw-ref|
2. Network-Oriented File Transfer......................|netrw-xfer|
3. Activation..........................................|netrw-activate|
4. Transparent File Transfer...........................|netrw-transparent|
5. Ex Commands.........................................|netrw-ex|
6. Variables and Options...............................|netrw-var|
7. Directory Browser...................................|netrw-browse|
8. Problems and Fixes..................................|netrw-problems|
9. Debugging...........................................|netrw-debug|
10. History.............................................|netrw-history|
11. Credits.............................................|netrw-credits|
1. Netrw Reference......................................|netrw-ref|
2. Network-Oriented File Transfer.......................|netrw-xfer|
NETRC..............................................|netrw-netrc|
PASSWORD...........................................|netrw-passwd|
3. Activation...........................................|netrw-activate|
4. Transparent File Transfer............................|netrw-transparent|
5. Ex Commands..........................................|netrw-ex|
6. Variables and Options................................|netrw-var|
7. Directory Browser....................................|netrw-browse| {{{1
Maps...............................................|netrw-maps|
Exploring..........................................|netrw-explore-cmds|
Quick Reference Commands Table.....................|netrw-browse-cmds|
Netrw Browser Variables............................|netrw-browse-var|
Introduction To Directory Browsing.................|netrw-browse-intro|
Directory Exploring Commands.......................|netrw-explore|
Refreshing The Listing.............................|netrw-ctrl-l|
Going Up...........................................|netrw--|
Browsing...........................................|netrw-cr|
Long Vs Short Listing..............................|netrw-i|
Making A New Directory.............................|netrw-d|
Deleting Files Or Directories......................|netrw-delete|
Renaming Files Or Directories......................|netrw-move|
Hiding Files Or Directories........................|g:netrw-a|
Edit File Or Directory Hiding List.................|netrw-h|
Browsing With A Horizontally Split Window..........|netrw-o|
Preview Window.....................................|netrw-p|
Selecting Sorting Style............................|netrw-s|
Editing The Sorting Sequence.......................|netrw-S|
Reversing Sorting Order............................|netrw-r|
Changing To A Predecessor Directory................|netrw-u|
Changing To A Successor Directory..................|netrw-U|
Browsing With A Vertically Split Window............|netrw-v|
Customizing Browsing With A User Function..........|netrw-x|
Making The Browsing Directory The Current Directory|netrw-c|
Bookmarking A Directory............................|netrw-b|
Changing To A Bookmarked Directory.................|netrw-B|
Listing Bookmarks And History......................|netrw-q|
Improving Directory Browsing.......................|netrw-list-hack| }}}1
8. Problems and Fixes...................................|netrw-problems|
9. Debugging............................................|netrw-debug|
10. History..............................................|netrw-history|
11. Credits..............................................|netrw-credits|
The functionality mentioned here is done via using |standard-plugin|
techniques. This plugin is only available if
@@ -177,16 +208,16 @@ by setting a variable (ex. scp uses the variable g:netrw_scp_cmd,
which is defaulted to "scp -q").
Ftp, an old protocol, seems to be blessed by numerous implementations.
Unfortunately, some implementations are noisy (i.e., add junk to the end
Unfortunately, some implementations are noisy (ie., add junk to the end
of the file). Thus, concerned users may decide to write a NetReadFixup()
function that will clean up after reading with their ftp. Some Unix systems
(i.e., FreeBSD) provide a utility called "fetch" which uses the ftp protocol
(ie., FreeBSD) provide a utility called "fetch" which uses the ftp protocol
but is not noisy and more convenient, actually, for <netrw.vim> to use.
Consequently, if "fetch" is executable, it will be used to do reads for
ftp://... (and http://...) . See |netrw-var| for more about this.
For rcp, scp, sftp, and http, one may use network-oriented file transfers
transparently; i.e.
transparently; ie.
>
vim rcp://[user@]machine/path
vim scp://[user@]machine/path
@@ -198,7 +229,7 @@ that file. Your ftp must be able to use the <.netrc> file on its own, however.
vim ftp://[user@]machine[[:#]portnumber]/path
<
However, ftp will often need to query the user for the userid and password.
The latter will be done "silently"; i.e. asterisks will show up instead of
The latter will be done "silently"; ie. asterisks will show up instead of
the actually-typed-in password. Netrw will retain the userid and password
for subsequent read/writes from the most recent transfer so subsequent
transfers (read/write) to or from that machine will take place without
@@ -482,7 +513,7 @@ To handle the SSL certificate dialog for untrusted servers, one may pull
down the certificate and place it into /usr/ssl/cert.pem. This operation
renders the server treatment as "trusted".
*netrw-fixup*
*netrw-fixup* *netreadfixup*
If your ftp for whatever reason generates unwanted lines (such as AUTH
messages) you may write a NetReadFixup(tmpfile) function:
>
@@ -521,30 +552,38 @@ from <netrw.vim> itself:
==============================================================================
7. Directory Browser *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
?..........Help....................................|netrw-help|
<cr>.......Browsing................................|netrw-cr|
<del>......Deleting Files or Directories...........|netrw-delete|
-..........Going Up................................|netrw--|
a..........Hiding Files or Directories.............|netrw-a|
b..........Bookmarking a Directory.................|netrw-b|
B..........Changing to a Bookmarked Directory......|netrw-B|
c..........Make Browsing Directory The Current Dir.|netrw-c|
d..........Make A New Directory....................|netrw-d|
D..........Deleting Files or Directories...........|netrw-D|
<c-h>......Edit File/Directory Hiding List.........|netrw-h|
i..........Long Listing............................|netrw-i|
<c-l>......Refreshing the Listing..................|netrw-ctrl-l|
o..........Browsing with a Horizontal Split........|netrw-o|
p..........Preview Window..........................|netrw-p|
q..........Listing Bookmarks and History...........|netrw-q|
r..........Reversing Sorting Order.................|netrw-r|
R..........Renaming Files or Directories...........|netrw-R|
s..........Selecting Sorting Style.................|netrw-s|
S..........Editing the Sorting Sequence............|netrw-S|
u..........Changing to a Predecessor Directory.....|netrw-u|
U..........Changing to a Successor Directory.......|netrw-U|
v..........Browsing with a Vertical Split..........|netrw-v|
x..........Customizing Browsing....................|netrw-x|
MAPS *netrw-maps*
?................Help.......................................|netrw-help|
<cr>.............Browsing...................................|netrw-cr|
<del>............Deleting Files or Directories..............|netrw-delete|
-................Going Up...................................|netrw--|
a................Hiding Files or Directories................|netrw-a|
b................Bookmarking a Directory....................|netrw-b|
B................Changing to a Bookmarked Directory.........|netrw-B|
c................Make Browsing Directory The Current Dir....|netrw-c|
d................Make A New Directory.......................|netrw-d|
D................Deleting Files or Directories..............|netrw-D|
<c-h>............Edit File/Directory Hiding List............|netrw-h|
i................Long Listing...............................|netrw-i|
<c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
o................Browsing with a Horizontal Split...........|netrw-o|
p................Preview Window.............................|netrw-p|
q................Listing Bookmarks and History..............|netrw-q|
r................Reversing Sorting Order....................|netrw-r|
R................Renaming Files or Directories..............|netrw-R|
s................Selecting Sorting Style....................|netrw-s|
S................Editing the Sorting Sequence...............|netrw-S|
u................Changing to a Predecessor Directory........|netrw-u|
U................Changing to a Successor Directory..........|netrw-U|
v................Browsing with a Vertical Split.............|netrw-v|
x................Customizing Browsing.......................|netrw-x|
COMMANDS *netrw-explore-cmds*
:Explore[!] [dir].Explore directory of current file........|netrw-explore|
:Sexplore[!] [dir].Split & Explore directory of current file|netrw-explore|
:Hexplore[!] [dir].Horizontal Split & Explore...............|netrw-explore|
:Vexplore[!] [dir].Vertical Split & Explore.................|netrw-explore|
QUICK REFERENCE COMMANDS TABLE *netrw-browse-cmds*
>
@@ -581,51 +620,103 @@ NETRW BROWSER VARIABLES *netrw-browse-var*
< g:netrw_alto change from above splitting to
below splitting by setting this
variable (see |netrw-o|)
default: =0
g:netrw_altv change from left splitting to
right splitting by setting this
variable (see |netrw-v|)
default: =0
g:netrw_ftp_browse_reject ftp can produce a number of errors
and warnings that can show up as
"directories" and "files" in the
listing. This pattern is used to
remove such embedded messages.
remove such embedded messages. By
default its value is:
'^total\s\+\d\+$\|
^Trying\s\+\d\+.*$\|
^KERBEROS_V\d rejected\|
^Security extensions not\|
No such file\|
: connect to address [0-9a-fA-F:]*
: No route to host$'
g:netrw_ssh_browse_reject ssh can sometimes produce unwanted
lines/messages/banners/and whatnot
that one doesn't want masquerading
as "directories" and "files". Use
this pattern to remove such embedded
messages. By default its value is:
'^total\s\+\d\+$'
g:netrw_keepdir =1 (default) keep current directory
immune from the browsing directory.
=0 keep the current directory the
same as the browsing directory.
The browsing directory is contained in
b:netrw_curdir
g:netrw_list_cmd command for listing remote directories
default: (if ssh is executable)
"ssh HOSTNAME ls -FLa"
g:netrw_longlist if =1, then long listing will be default
g:netrw_ftp_list_cmd options for passing along to ftp for
directory listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir"
g:netrw_list_hide comma separated list of patterns for
hiding files
default: ""
g:netrw_local_mkdir command for making a local directory
default: "ssh HOSTNAME mkdir"
g:netrw_local_rmdir remove directory command (rmdir)
g:netrw_local_rename rename file/directory command
unix-default: rm win32-default: ren
default: "rmdir"
g:netrw_maxfilenamelen =32 by default, selected so as to make
long listings fit on 80 column displays.
If your screen is wider, and you have
file/directory names longer than 32 bytes,
you may set this option to keep listings
columnar.
g:netrw_mkdir_cmd command for making a remote directory
default: "ssh HOSTNAME mkdir"
g:netrw_rm_cmd command for removing files
default: "ssh HOSTNAME rm"
g:netrw_rmdir_cmd command for removing directories
default: "ssh HOSTNAME rmdir"
g:netrw_rmf_cmd command for removing softlinks
default: "ssh HOSTNAME rm -f"
g:netrw_hide if true, the hiding list is used
default: =0
g:netrw_sort_by sort by "name", "time", or "size"
default: "name"
g:netrw_sort_direction sorting direction: "normal" or "reverse"
default: "normal"
g:netrw_sort_sequence when sorting by name, first sort by the
comma-separated pattern sequence
g:netrw_timefmt specify format string to strftime() (%c)
g:netrw_winsize specify initial size of new o/v windows
default: '[\/]$,*,\.bak$,\.o$,\.h$,
\.info$,\.swp$,\.obj$'
INTRODUCTION TO DIRECTORY BROWSING *file-explorer*
g:netrw_timefmt specify format string to strftime() (%c)
default: "%c"
g:netrw_winsize specify initial size of new o/v windows
default: ""
INTRODUCTION TO DIRECTORY BROWSING *netrw-browse-intro*
Netrw supports the browsing of directories on the local system and on remote
hosts, including generating listing directories, entering directories, editing
@@ -647,6 +738,31 @@ trailing slash and it will be interpreted as a request to list a directory:
If you'd like to avoid entering the password in for directory listings, scp,
ssh interaction, etc, see |netrw-list-hack|.
DIRECTORY EXPLORING COMMANDS *netrw-explore*
:Explore[!] [dir].Explore directory of current file
:Sexplore[!] [dir].Split & Explore directory of current file
:Hexplore[!] [dir].Horizontal Split & Explore
:Vexplore[!] [dir].Vertical Split & Explore
The Explore command will open the local-directory browser on the current
file's directory (or on directory [dir] if specified). The window
will be split only if the file has been modified, otherwise the
browsing window will take over that window. Normally the splitting is
taken horizontally; the optional ! will use vertical splitting.
Sexplore will always split the window before invoking the local-directory
browser. As with Explore, the splitting is normally done horizontally,
but with the optional ! the splitting will be done vertically.
Hexplore does an Explore with |belowright| horizontal splitting; the
optional ! does the Explore with |aboveleft| horizontal splitting.
Vexplore does an Explore with |leftabove| vertical splitting; the optiona
! does an Explore with |topleft| vertical splitting.
REFRESHING THE LISTING *netrw-ctrl-l*
To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
@@ -677,6 +793,7 @@ Hitting the <cr> (the return key) will select the file or directory.
Directories will themselves be listed, and files will be opened using the
protocol given in the original read request.
LONG VS SHORT LISTING *netrw-i*
The short listing format gives just the files' and directories' names.
@@ -694,6 +811,7 @@ new directory's name. A bare <CR> at that point will abort the making of the
directory. Attempts to make a local directory that already exists (as either
a file or a directory) will be detected, reported on, and ignored.
DELETING FILES OR DIRECTORIES *netrw-delete* *netrw-D*
Deleting/removing files and directories involves moving the cursor to the
@@ -740,15 +858,22 @@ One may rename a block of files and directories by selecting them with
the V (|linewise-visual|).
HIDING FILES OR DIRECTORIES *netrw-a* *g:netrw_list_hide*
HIDING FILES OR DIRECTORIES *g:netrw-a* *g:netrw_list_hide*
Netrw's browsing facility allows one to use the hiding list in one of
three ways: ignore it, hide files which match, and show only those files
which match. The g:netrw_list_hide variable holds a comma delimited list
of patterns (ex. \.obj) which specify the hiding list. (also see |netrw-h|)
which match. The "a" map allows the user to cycle about these three ways.
The g:netrw_list_hide variable holds a comma delimited list of patterns
(ex. \.obj) which specify the hiding list. (also see |netrw-h|) To
set the hiding list, use the <c-h> map. As an example, to hide files
which begin with a ".", one may use the <c-h> map to set the hiding
list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*' in
one's <.vimrc>). One may then use the "a" key to show all files,
hide matching files, or to show only the matching files.
EDIT FILE OR DIRECTORY HIDING LIST *netrw-h*
EDIT FILE OR DIRECTORY HIDING LIST *netrw-h* *netrw-edithide*
The "<ctrl-h>" map brings up a requestor allowing the user to change the
file/directory hiding list. The hiding list consists of one or more patterns
@@ -756,7 +881,7 @@ delimited by commas. Files and/or directories satisfying these patterns will
either be hidden (ie. not shown) or be the only ones displayed (see |netrw-a|).
BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o*
BROWSING WITH A HORIZONTALLY SPLIT WINDOW *netrw-o* *netrw-horiz*
Normally one enters a file or directory using the <cr>. However, the "o" map
allows one to open a new window to hold the new directory listing or file. A
@@ -770,20 +895,21 @@ with the new window and cursor at the bottom, have
in your <.vimrc>.
PREVIEW WINDOW
PREVIEW WINDOW *netrw-p* *netrw-preview*
One may use a preview window (currently only for local browsing) by using
the "p" key when the cursor is atop the desired filename to be previewed.
SELECTING SORTING STYLE *netrw-s*
SELECTING SORTING STYLE *netrw-s* *netrw-sort*
One may select the sorting style by name, time, or (file) size. The
"s" map allows one to circulate among the three choices; the directory
listing will automatically be refreshed to reflect the selected style.
EDITING THE SORTING SEQUENCE *netrw-S*
EDITING THE SORTING SEQUENCE *netrw-S* *netrw-sortsequence*
When "Sorted by" is name, one may specify priority via the sorting
sequence (g:netrw_sort_sequence). The sorting sequence typically
@@ -798,13 +924,13 @@ the g:netrw_sort_sequence variable (either manually or in your <.vimrc>)
or by using the "S" map.
REVERSING SORTING ORDER *netrw-r*
REVERSING SORTING ORDER *netrw-r* *netrw-reverse*
One may toggle between normal and reverse sorting order by pressing the
"r" key.
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u*
CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir*
Every time you change to a new directory (new for the current session),
netrw will save the directory in a recently-visited directory history
@@ -813,7 +939,7 @@ list (unless g:netrw_dirhistmax is zero; by default, its ten). With the
the opposite, see |netrw-U|.
CHANGING TO A SUCCESSOR DIRECTORY *netrw-U*
CHANGING TO A SUCCESSOR DIRECTORY *netrw-U* *netrw-downdir*
With the "U" map, one can change to a later directory (successor).
This map is the opposite of the "u" map. (see |netrw-u|) Use the
@@ -835,7 +961,7 @@ with the new window and cursor at the right, have
in your <.vimrc>.
CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x*
CUSTOMIZING BROWSING WITH A USER FUNCTION *netrw-x* *netrw-handler*
One may "enter" a file with a special handler, thereby firing up a browser or
other application, for example, on a file by hitting the "x" key. Presumably
@@ -886,13 +1012,13 @@ Any count may be used to reference any of the bookmarks. See |netrw-b|
for how to bookmark a directory and |netrw-q| for how to list them.
LISTING BOOKMARKS AND HISTORY *netrw-q*
LISTING BOOKMARKS AND HISTORY *netrw-q* *netrw-listbookmark*
Pressing "q" will list the bookmarked directories and directory traversal
history (query). (see |netrw-b|, |netrw-B|, |netrw-u|, and |netrw-U|)
IMPROVING DIRECTORY BROWSING *netrw-list-hack*
IMPROVING DIRECTORY BROWSING *netrw-listhack*
Especially with the remote directory browser, constantly entering the password
is tedious.
@@ -1017,6 +1143,23 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
10. History *netrw-history*
v56: * LocalBrowse now saves autochdir setting, unsets it, and
restores it before returning.
* using vim's rename() instead of system + local_rename variable
v55: * -bar used with :Explore :Sexplore etc to allow multiple
commands to be separated by |s
* browser listings now use the "nowrap" option
* browser: some unuseful error messages now suppressed
v54: * For backwards compatibility, Explore and Sexplore have been
implemented. In addition, Hexplore and Vexplore commands
are available, too.
* <amatch> used instead of <afile> in the transparency
support (BufReadCmd, FileReadCmd, FileWriteCmd)
* ***netrw*** prepended to various error messages netrw may emit
* g:netrw_port used instead of b:netrw_port for scp
* any leading [:#] is removed from port numbers
v53: * backslashes as well as slashes placed in various patterns
(ex. g:netrw_sort_sequence) to better support Windows
v52: * nonumber'ing now set for browsing buffers
* when the hiding list hid all files, error messages ensued. Fixed
* when browsing, swf is set, but directory is not set, when netrw
@@ -1120,4 +1263,4 @@ which is loaded automatically at startup (assuming :set nocp).
Doug Claar -- modifications to test for success with ftp operation
==============================================================================
vim:tw=78:ts=8:ft=help:norl:
vim:tw=78:ts=8:ft=help:norl:fdm=marker

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*quickfix.txt* For Vim version 7.0aa. Last change: 2005 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -110,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
@@ -118,6 +123,19 @@ 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|.
@@ -334,6 +352,8 @@ advantages are:
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
@@ -611,7 +631,8 @@ Basic items
%% the single '%' character
%s search text (finds a string)
The "%f" conversion depends on the current 'isfname' setting.
The "%f" conversion depends 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

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*quickref.txt* For Vim version 7.0aa. Last change: 2005 Jul 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -686,8 +686,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"
@@ -814,6 +816,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
@@ -831,6 +834,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
@@ -840,6 +848,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
@@ -875,6 +884,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
@@ -888,6 +898,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
@@ -922,6 +933,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

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Jun 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -290,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>
@@ -515,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.
@@ -576,6 +579,11 @@ It is only included when Vim was compiled with "huge" features.
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:

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.0aa. Last change: 2005 Apr 24
*spell.txt* For Vim version 7.0aa. Last change: 2005 Jul 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,8 +7,9 @@
Spell checking *spell*
1. Quick start |spell-quickstart|
2. Generating a spell file |spell-mkspell|
9. Spell file format |spell-file-format|
2. Remarks on spell checking |spell-remarks|
3. Generating a spell file |spell-mkspell|
4. Spell file format |spell-file-format|
{Vi does not have any of these commands}
@@ -25,23 +26,30 @@ This command switches on spell checking: >
This switches on the 'spell' option and specifies to check for US English.
The words that are not recognized are highlighted with one of these:
SpellBad word not recognized
SpellRare rare word
SpellLocal wrong spelling for selected region
SpellBad word not recognized |hl-SpellBad|
SpellCap word not capitalised |hl-SpellCap|
SpellRare rare word |hl-SpellRare|
SpellLocal wrong spelling for selected region |hl-SpellLocal|
Vim only checks words for spelling, there is no grammar check.
If the 'mousemodel' option is set to "popup" and the cursor is on a badly
spelled word or it is "popup_setpos" and the mouse pointer is on a badly
spelled word, then the popup menu will contain an submenu to replace the bad
word. Note: this slows down the appearance of the popup menu.
To search for the next misspelled word:
*]s* *E756*
]s Move to next misspelled word after the cursor.
A count before the command can be used to repeat.
This uses the @Spell and @NoSpell clusters from syntax
highlighting, see |spell-syntax|.
*[s*
[s Like "]s" but search backwards, find the misspelled
word before the cursor.
word before the cursor. Doesn't recognize words
split over two lines, thus may stop at words that are
not highlighted as bad. Does not stop at word with
missing capital at the start of a line.
*]S*
]S Like "]s" but only stop at bad words, not at rare
@@ -51,14 +59,112 @@ To search for the next misspelled word:
[S Like "]S" but search backwards.
To add words to your own word list: *E764*
*zg*
zg Add word under the cursor as a good word to the first
name in 'spellfile'. In Visual mode the selected
characters are added as a word (including white
space!). If the word is explicitly marked as bad word
in another spell file the result is unpredictable.
A count may precede the command to indicate the entry
in 'spellfile' to be used. A count of two uses the
second entry.
*zG*
zG Like "zg" but add the word to the internal word list
|internal-wordlist|.
*zw*
zw Like "zg" but mark the word as a wrong (bad) word.
*zW*
zW Like "zw" but add the word to the internal word list
|internal-wordlist|.
*:spe* *:spellgood*
:[count]spe[llgood] {word}
Add {word} as a good word to 'spellfile', like with
"zg". Without count the first name is used, with a
count of two the second entry, etc.
:spe[llgood]! {word} Add {word} as a good word to the internal word list,
like with "zG".
*:spellw* *:spellwrong*
:[count]spellw[rong] {word}
Add {word} as a wrong (bad) word to 'spellfile', as
with "zw". Without count the first name is used, with
a count of two the second entry, etc.
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
list.
After adding a word to 'spellfile' with the above commands its associated
".spl" file will automatically be updated and reloaded. If you change
'spellfile' manually you need to use the |:mkspell| command. This sequence of
commands mostly works well: >
:edit <file in 'spellfile'>
< (make changes to the spell file) >
:mkspell! %
More details about the 'spellfile' format below |spell-wordlist-format|.
*internal-wordlist*
The internal word list is used for all buffers where 'spell' is set. It is
not stored, it is lost when you exit Vim. It is also cleared when 'encoding'
is set.
Finding suggestions for bad words:
*z?*
z? For the word under/after the cursor suggest correctly
spelled words. This also works to find alternatives
for a word that is not highlighted as a bad word,
e.g., when the word after it is bad.
The results are sorted on similarity to the word
under/after the cursor.
This may take a long time. Hit CTRL-C when you are
bored.
This does not work when there is a line break halfway
a bad word (e.g., "the the").
You can enter the number of your choice or press
<Enter> if you don't want to replace. You can also
use the mouse to click on your choice (only works if
the mouse can be used in Normal mode and when there
are no line wraps). Click on the first (header) line
to cancel.
If 'verbose' is non-zero a score will be displayed to
indicate the likeliness to the badly spelled word (the
higher the score the more different).
When a word was replaced the redo command "." will
repeat the word replacement. This works like "ciw",
the good word and <Esc>.
*:spellr* *:spellrepall* *E752* *E753*
:spellr[epall] Repeat the replacement done by |z?| for all matches
with the replaced word in the current window.
The 'spellsuggest' option influences how the list of suggestions is generated
and sorted. See |'spellsuggest'|.
The 'spellcapcheck' option is used to check the first word of a sentence
starts with a capital. This doesn't work for the first word in the file.
When there is a line break right after a sentence the highlighting of the next
line may be postponed. Use |CTRL-L| when needed.
==============================================================================
2. Remarks on spell checking *spell-remarks*
PERFORMANCE
Note that Vim does on-the-fly spellchecking. To make this work fast the
word list is loaded in memory. Thus this uses a lot of memory (1 Mbyte or
more). There might also be a noticable delay when the word list is loaded,
which happens when 'spelllang' is set. Each word list is only loaded once,
they are not deleted when 'spelllang' is made empty. When 'encoding' is set
the word lists are reloaded, thus you may notice a delay then too.
Vim does on-the-fly spell checking. To make this work fast the word list is
loaded in memory. Thus this uses a lot of memory (1 Mbyte or more). There
might also be a noticeable delay when the word list is loaded, which happens
when 'spell' is set and when 'spelllang' is set while 'spell' was already set.
To minimize the delay each word list is only loaded once, it is not deleted
when 'spelllang' is made empty or 'spell' is reset. When 'encoding' is set
all the word lists are reloaded, thus you may notice a delay then too.
REGIONS
@@ -74,26 +180,71 @@ comes in (at least) these variants:
en_us USA
Words that are not used in one region but are used in another region are
highlighted with SpellLocal.
highlighted with SpellLocal |hl-SpellLocal|.
Always use lowercase letters for the language and region names.
When adding a word with |zg| or another command it's always added for all
regions. You can change that by manually editing the 'spellfile'. See
|spell-wordlist-format|. Note that the regions as specified in the files in
'spellfile' are only used when all entries in "spelllang" specify the same
region (not counting files specified by their .spl name).
SPELL FILES
SPELL FILES *spell-load*
Vim searches for spell files in the "spell" subdirectory of the directories in
'runtimepath'. The name is: LL-XXX.EEE.spl, where:
'runtimepath'. The name is: LL.EEE.spl, where:
LL the language name
-XXX optional addition
EEE the value of 'encoding'
The value for "LL" comes from 'spelllang', but excludes the region name.
Examples:
'spelllang' LL ~
en_us en
en-rare en-rare
medical_ca medical
Only the first file is loaded, the one that is first in 'runtimepath'. If
this succeeds then additionally files with the name LL.EEE.add.spl are loaded.
All the ones that are found are used.
Additionally, the files related to the names in 'spellfile' are loaded. These
are the files that |zg| and |zw| add good and wrong words to.
Exceptions:
- Vim uses "latin1" when 'encoding' is "iso-8859-15". The euro sign doesn't
matter for spelling.
- When no spell file for 'encoding' is found "ascii" is tried. This only
works for languages where nearly all words are ASCII, such as English. It
helps when 'encoding' is not "latin1", such as iso-8859-2, and English text
is being edited.
is being edited. For the ".add" files the same name as the found main
spell file is used.
For example, with these values:
'runtimepath' is "~/.vim,/usr/share/vim70,~/.vim/after"
'encoding' is "iso-8859-2"
'spelllang' is "pl"
Vim will look for:
1. ~/.vim/spell/pl.iso-8859-2.spl
2. /usr/share/vim70/spell/pl.iso-8859-2.spl
3. ~/.vim/spell/pl.iso-8859-2.add.spl
4. /usr/share/vim70/spell/pl.iso-8859-2.add.spl
5. ~/.vim/after/spell/pl.iso-8859-2.add.spl
This assumes 1. is not found and 2. is found.
If 'encoding' is "latin1" Vim will look for:
1. ~/.vim/spell/pl.latin1.spl
2. /usr/share/vim70/spell/pl.latin1.spl
3. ~/.vim/after/spell/pl.latin1.spl
4. ~/.vim/spell/pl.ascii.spl
5. /usr/share/vim70/spell/pl.ascii.spl
6. ~/.vim/after/spell/pl.ascii.spl
This assumes none of them are found (Polish doesn't make sense when leaving
out the non-ASCII characters).
Spelling for EBCDIC is currently not supported.
@@ -114,7 +265,31 @@ Vim uses a fixed method to recognize a word. This is independent of
include characters like '-' in 'iskeyword'. The word characters do depend on
'encoding'.
A word that starts with a digit is always ignored.
The table with word characters is stored in the main .spl file. Therefore it
matters what the current locale is when generating it! A .add.spl file does
not contain a word table though.
A word that starts with a digit is always ignored. That includes hex numbers
in the form 0xff and 0XFF.
WORD COMBINATIONS
It is possible to spell-check words that include a space. This is used to
recognize words that are invalid when used by themselves, e.g. for "et al.".
It can also be used to recognize "the the" and highlight it.
The number of spaces is irrelevant. In most cases a line break may also
appear. However, this makes it difficult to find out where to start checking
for spelling mistakes. When you make a change to one line and only that line
is redrawn Vim won't look in the previous line, thus when "et" is at the end
of the previous line "al." will be flagged as an error. And when you type
"the<CR>the" the highlighting doesn't appear until the first line is redrawn.
Use |CTRL-L| to redraw right away. "[s" will also stop at a word combination
with a line break.
When encountering a line break Vim skips characters such as '*', '>' and '"',
so that comments in C, shell and Vim code can be spell checked.
SYNTAX HIGHLIGHTING *spell-syntax*
@@ -122,49 +297,111 @@ SYNTAX HIGHLIGHTING *spell-syntax*
Files that use syntax highlighting can specify where spell checking should be
done:
everywhere default
in specific items use "contains=@Spell"
everywhere but specific items use "contains=@NoSpell"
1. everywhere default
2. in specific items use "contains=@Spell"
3. everywhere but specific items use "contains=@NoSpell"
Note that mixing @Spell and @NoSpell doesn't make sense.
For the second method adding the @NoSpell cluster will disable spell checking
again. This can be used, for example, to add @Spell to the comments of a
program, and add @NoSpell for items that shouldn't be checked.
VIM SCRIPTS
If you want to write a Vim script that does something with spelling, you may
find these functions useful:
spellbadword() find badly spelled word at the cursor
spellsuggest() get list of spelling suggestions
soundfold() get the sound-a-like version of a word
==============================================================================
2. Generating a spell file *spell-mkspell*
3. Generating a spell file *spell-mkspell*
Vim uses a binary file format for spelling. This greatly speeds up loading
the word list and keeps it small.
*.aff* *.dic* *Myspell*
You can create a Vim spell file from the .aff and .dic files that Myspell
uses. Myspell is used by OpenOffice.org and Mozilla. You should be able to
find them here:
http://lingucomponent.openoffice.org/spell_dic.html
You can also use a plain word list. The results are the same, the choice
depends on what word lists you can find.
If you install Aap (from www.a-a-p.org) you can use the recipes in the
runtime/spell/??/ directories. Aap will take care of downloading the files,
apply patches needed for Vim and build the .spl file.
Make sure your current locale is set properly, otherwise Vim doesn't know what
characters are upper/lower case letters. If the locale isn't available (e.g.,
when using an MS-Windows codepage on Unix) add tables to the .aff file
|spell-affix-chars|. If the .aff file doesn't define a table then the word
table of the currently active spelling is used. If spelling is not active
then Vim will try to guess.
*:mksp* *:mkspell*
:mksp[ell][!] [-ascii] {outname} {inname} ...
Generate a Vim spell file word lists. Example: >
:mkspell /tmp/nl nl_NL.words
< *E751*
When {outname} ends in ".spl" it is used as the output
file name. Otherwise it should be a language name,
such as "en", without the region name. The file
written will be "{outname}.{encoding}.spl", where
{encoding} is the value of the 'encoding' option.
When the output file already exists [!] must be used
to overwrite it.
:mksp[ell] [-ascii] {outname} {inname} ... *:mksp* *:mkspell*
Generate spell file {outname}.spl from Myspell files
{inname}.aff and {inname}.dic.
When the [-ascii] argument is present, words with
non-ascii characters are skipped. The resulting file
ends in "ascii.spl". Otherwise the resulting file
ends in "ENC.spl", where ENC is the value of
'encoding'.
ends in "ascii.spl".
The input can be the Myspell format files {inname}.aff
and {inname}.dic. If {inname}.aff does not exist then
{inname} is used as the file name of a plain word
list.
Multiple {inname} arguments can be given to combine
regions into one Vim spell file. Example: >
:mkspell ~/.vim/spell/en /tmp/en_US /tmp/en_CA /tmp/en_AU
< This combines the English word lists for US, CA and AU
into one en.spl file.
Up to eight regions can be combined. *E754* *755*
The REP and SAL items of the first .aff file where
they appear are used. |spell-affix-REP|
|spell-affix-SAL|
Since you might want to change the word list for use with Vim the following
procedure is recommended:
This command uses a lot of memory, required to find
the optimal word tree (Polish requires a few hundred
Mbyte). The final result will be much smaller.
After the spell file was written and it was being used
in a buffer it will be reloaded automatically.
:mksp[ell] [-ascii] {name}.{enc}.add
Like ":mkspell" above, using {name}.{enc}.add as the
input file and producing an output file in the same
directory that has ".spl" appended.
:mksp[ell] [-ascii] {name}
Like ":mkspell" above, using {name} as the input file
and producing an output file in the same directory
that has ".{enc}.spl" appended.
Since you might want to change a Myspell word list for use with Vim the
following procedure is recommended:
1. Obtain the xx_YY.aff and xx_YY.dic files from Myspell.
2. Make a copy of these files to xx_YY.orig.aff and xx_YY.orig.dic.
3. Change the xx_YY.aff and xx_YY.dic files to remove bad words, add missing
words, define word characters with FOL/LOW/UPP, etc. The distributed
"src/spell/*.diff" files can be used.
4. Set 'encoding' to the desired encoding and use |:mkspell| to generate the
Vim spell file.
5. Try out the spell file with ":set spell spelllang=xx_YY".
4. Start Vim with the right locale and use |:mkspell| to generate the Vim
spell file.
5. Try out the spell file with ":set spell spelllang=xx" if you wrote it in
a spell directory in 'runtimepath', or ":set spelllang=xx.enc.spl" if you
wrote it somewhere else.
When the Myspell files are updated you can merge the differences:
1. Obtain the new Myspell files as xx_YY.new.aff and xx_UU.new.dic.
@@ -174,18 +411,96 @@ When the Myspell files are updated you can merge the differences:
You may also need to change xx_YY.aff.
4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
SPELL FILE DUMP
If for some reason you want to check what words are supported by the currently
used spelling files, use this command:
*:spelldump* *:spelld*
:spelld[ump] Open a new window and fill it with all currently valid
words.
Note: For some languages the result may be enormous,
causing Vim to run out of memory.
The format of the word list is used |spell-wordlist-format|. You should be
able to read it with ":mkspell" to generate one .spl file that includes all
the words.
When all entries to 'spelllang' use the same regions or no regions at all then
the region information is included in the dumped words. Otherwise only words
for the current region are included and no "/regions" line is generated.
Comment lines with the name of the .spl file are used as a header above the
words that were generated from that .spl file.
==============================================================================
9. Spell file format *spell-file-format*
4. Spell file format *spell-file-format*
This is the format of the files that are used by the person who creates and
maintains a word list.
Note that we avoid the word "dictionary" here. That is because the goal of
spell checking differs from writing a dictionary (as in the book). For
spelling we need a list of words that are OK, thus need not to be highlighted.
Names will not appear in a dictionary, but do appear in a word list. And
some old words are rarely used and are common misspellings. These do appear
in a dictionary but not in a word list.
spelling we need a list of words that are OK, thus should not to be
highlighted. Person and company names will not appear in a dictionary, but do
appear in a word list. And some old words are rarely used while they are
common misspellings. These do appear in a dictionary but not in a word list.
There are two formats: A straight list of words and a list using affix
compression. The files with affix compression are used by Myspell (Mozilla
and OpenOffice.org). This requires two files, one with .aff and one with .dic
extension.
FORMAT OF STRAIGHT WORD LIST *spell-wordlist-format*
The words must appear one per line. That is all that is required.
Additionally the following items are recognized:
- Empty and blank lines are ignored.
- Lines starting with a # are ignored (comment lines).
- A line starting with "/encoding=", before any word, specifies the encoding
of the file. After the second '=' comes an encoding name. This tells Vim
to setup conversion from the specified encoding to 'encoding'. Thus you can
use one word list for several target encodings.
- A line starting with "/regions=" specifies the region names that are
supported. Each region name must be two ASCII letters. The first one is
region 1. Thus "/regions=usca" has region 1 "us" and region 2 "ca".
In an addition word list the region names should be equal to the main word
list!
- Other lines starting with '/' are reserved for future use. The ones that
are not recognized are ignored (but you do get a warning message).
- A "/" may follow the word with the following items:
= Case must match exactly.
? Rare word.
! Bad (wrong) word.
digit A region in which the word is valid. If no regions are
specified the word is valid in all regions.
Example:
# This is an example word list comment
/encoding=latin1 encoding of the file
/regions=uscagb regions "us", "ca" and "gb"
example word for all regions
blah/12 word for regions "us" and "ca"
vim/! bad word
Campbell/?3 rare word in region 3 "gb"
's mornings/= keep-case word
Note that when "/=" is used the same word with all upper-case letters is not
accepted. This is different from a word with mixed case that is automatically
marked as keep-case, those words may appear in all upper-case letters.
FORMAT WITH AFFIX COMPRESSION
There are two files: the basic word list and an affix file. The affixes are
used to modify the basic words to get the full word list. This significantly
@@ -197,6 +512,7 @@ Myspell uses (the spell checker of Mozilla and OpenOffice.org). A description
can be found here:
http://lingucomponent.openoffice.org/affix.readme ~
Note that affixes are case sensitive, this isn't obvious from the description.
Vim supports a few extras. Hopefully Myspell will support these too some day.
See |spell-affix-vim|.
@@ -210,7 +526,7 @@ them before the Vim word list is made. The tools for this can be found in the
"src/spell" directory.
WORD LIST FORMAT *spell-wordlist-format*
WORD LIST FORMAT *spell-dic-format*
A very short example, with line numbers:
@@ -225,10 +541,11 @@ A very short example, with line numbers:
9 kado/1
10 cadeau/2
The first line contains the number of words. Vim ignores it. *E760*
The first line contains the number of words. Vim ignores it, but you do get
an error message if it's not there. *E760*
What follows is one word per line. There should be no white space after the
word.
What follows is one word per line. There should be no white space before or
after the word.
When the word only has lower-case letters it will also match with the word
starting with an upper-case letter.
@@ -238,7 +555,7 @@ is required at this position. The same word with a lower-case letter at this
position will not match. When some of the other letters are upper-case it will
not match either.
The same word with all upper-case characters will always be OK.
The word with all upper-case characters will always be OK.
word list matches does not match ~
als als Als ALS ALs AlS aLs aLS
@@ -246,22 +563,31 @@ The same word with all upper-case characters will always be OK.
ALS ALS als Als ALs AlS aLs aLS
AlS AlS ALS als Als ALs aLs aLS
The KEP affix ID can be used to specifically match a word with identical case
only, see below |spell-affix-KEP|.
Note in line 5 to 7 that non-word characters are used. You can include
any character in a word. When checking the text a word still only matches
when it appears with a non-word character before and after it. For Myspell a
word starting with a non-word character probably won't work.
After the word there is an optional slash and flags. Most of these flags are
letters that indicate the affixes that can be used with this word.
letters that indicate the affixes that can be used with this word. These are
specified with SFX and PFX lines in the .aff file. See the Myspell
documentation.
*spell-affix-vim*
A flag that Vim adds and is not in Myspell is the "=" flag. This has the
meaning that case matters. This can be used if the word does not have the
first letter in upper case at the start of a sentence. Example:
A flag that Vim adds and is not in Myspell is the flag defined with KEP in the
affix file. This has the meaning that case matters. This can be used if the
word does not have the first letter in upper case at the start of a sentence.
Example (assuming that = was used for KEP):
word list matches does not match ~
's morgens/= 's morgens 'S morgens 's Morgens
's Morgens 's Morgens 'S morgens 's morgens
word list matches does not match ~
's morgens/= 's morgens 'S morgens 's Morgens 'S MORGENS
's Morgens 's Morgens 'S MORGENS 'S morgens 's morgens
The flag can also be used to avoid that the word matches when it is in all
upper-case letters.
*spell-affix-mbyte*
The basic word list is normally in an 8-bit encoding, which is mentioned in
@@ -269,24 +595,24 @@ the affix file. The affix file must always be in the same encoding as the
word list. This is compatible with Myspell. For Vim the encoding may also be
something else, any encoding that "iconv" supports. The "SET" line must
specify the name of the encoding. When using a multi-byte encoding it's
possible to use more different affixes.
possible to use more different affixes (but Myspell doesn't support that, thus
you may not want to use it anyway).
Performance hint: Although using affixes reduces the number of words, it
reduces the speed. It's a good idea to put all the often used words in the
word list with the affixes prepended/appended.
CHARACTER TABLES
*spell-affix-chars*
The affix file should define the word characters when using an 8-bit encoding
(as specified with ENC). This is because the system where ":mkspell" is used
may not support a locale with this encoding and isalpha() won't work. For
example when using "cp1250" on Unix.
When using an 8-bit encoding the affix file should define what characters are
word characters (as specified with ENC). This is because the system where
":mkspell" is used may not support a locale with this encoding and isalpha()
won't work. For example when using "cp1250" on Unix.
*E761* *E762*
*E761* *E762* *spell-affix-FOL*
*spell-affix-LOW* *spell-affix-UPP*
Three lines in the affix file are needed. Simplistic example:
FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FOL <20><><EFBFBD> ~
LOW <20><><EFBFBD> ~
UPP <20><><EFBFBD> ~
All three lines must have exactly the same number of characters.
@@ -305,10 +631,194 @@ ASCII characters should be omitted, Vim always handles these in the same way.
When the encoding is UTF-8 no word characters need to be specified.
*E763*
All spell files for the same encoding must use the same word characters,
otherwise they can't be combined without errors. The XX.ascii.spl spell file
generated with the "-ascii" argument will not contain the table with
characters, so that it can be combine with spell files for any encoding.
Vim allows you to use spell checking for several languages in the same file.
You can list them in the 'spelllang' option. As a consequence all spell files
for the same encoding must use the same word characters, otherwise they can't
be combined without errors. If you get a warning that the word tables differ
you may need to generate the .spl file again with |:mkspell|. Check the FOL,
LOW and UPP lines in the used .aff file.
The XX.ascii.spl spell file generated with the "-ascii" argument will not
contain the table with characters, so that it can be combine with spell files
for any encoding. The .add.spl files also do not contain the table.
MID-WORD CHARACTERS
*spell-midword*
Some characters are only to be considered word characters if they are used in
between two ordinary word characters. An example is the single quote: It is
often used to put text in quotes, thus it can't be recognized as a word
character, but when it appears in between word characters it must be part of
the word. This is needed to detect a spelling error such as they'are. That
should be they're, but since "they" and "are" are words themselves that would
go unnoticed.
These characters are defined with MIDWORD in the .aff file:
MIDWORD '- ~
AFFIXES
*spell-affix-PFX* *spell-affix-SFX*
The usual PFX (prefix) and SFX (suffix) lines are supported (see the Myspell
documentation or the Aspell manual:
http://aspell.net/man-html/Affix-Compression.html).
Note that Myspell ignores any extra text after the relevant info. Vim
requires this text to start with a "#" so that mistakes don't go unnoticed.
Example:
SFX F 0 in [^i]n # Spion > Spionin ~
SFX F 0 nen in # Bauerin > Bauerinnen ~
An extra item for Vim is the "rare" flag. It must come after the other
fields, before a comment. When used then all words that use the affix will be
marked as rare words. Example:
PFX F 0 nene . rare ~
SFX F 0 oin n rare # hardly ever used ~
However, if the word also appears as a good word in another way it won't be
marked as rare.
*spell-affix-PFXPOSTPONE*
When an affix file has very many prefixes that apply to many words it's not
possible to build the whole word list in memory. This applies to Hebrew (a
list with all words is over a Gbyte). In that case applying prefixes must be
postponed. This makes spell checking slower. It is indicated by this keyword
in the .aff file:
PFXPOSTPONE ~
Only prefixes without a chop string can be postponed, prefixes with a chop
string will still be included in the word list. An exception if the chop
string is one character and equal to the last character of the added string,
but in lower case. Thus when the chop string is used to allow the following
word to start with an upper case letter.
KEEP-CASE WORDS
*spell-affix-KEP*
In the affix file a KEP line can be used to define the affix name used for
keep-case words. Example:
KEP = ~
See above for an example |spell-affix-vim|.
RARE WORDS
*spell-affix-RAR*
In the affix file a RAR line can be used to define the affix name used for
rare words. Example:
RAR ? ~
Rare words are highlighted differently from bad words. This is to be used for
words that are correct for the language, but are hardly ever used and could be
a typing mistake anyway. When the same word is found as good it won't be
highlighted as rare.
BAD WORDS
*spell-affix-BAD*
In the affix file a BAD line can be used to define the affix name used for
bad words. Example:
BAD ! ~
This can be used to exclude words that would otherwise be good. For example
"the the" in the .dic file:
the the/! ~
Once a word has been marked as bad it won't be undone by encountering the same
word as good.
REPLACEMENTS *spell-affix-REP*
In the affix file REP items can be used to define common mistakes. This is
used to make spelling suggestions. The items define the "from" text and the
"to" replacement. Example:
REP 4 ~
REP f ph ~
REP ph f ~
REP k ch ~
REP ch k ~
The first line specifies the number of REP lines following. Vim ignores it.
Don't include simple one-character replacements or swaps. Vim will try these
anyway. You can include whole words if you want to, but you might want to use
the "file:" item in 'spellsuggest' instead.
SIMILAR CHARACTERS *spell-affix-MAP*
In the affix file MAP items can be used to define letters that are very much
alike. This is mostly used for a letter with different accents. This is used
to prefer suggestions with these letters substituted. Example:
MAP 2 ~
MAP e<><65><EFBFBD><EFBFBD> ~
MAP u<><75><EFBFBD><EFBFBD> ~
The first line specifies the number of MAP lines following. Vim ignores it.
Each letter must appear in only one of the MAP items. It's a bit more
efficient if the first letter is ASCII or at least one without accents.
SOUND-A-LIKE *spell-affix-SAL*
In the affix file SAL items can be used to define the sounds-a-like mechanism
to be used. The main items define the "from" text and the "to" replacement.
Simplistic example:
SAL CIA X ~
SAL CH X ~
SAL C K ~
SAL K K ~
There are a few rules and this can become quite complicated. An explanation
how it works can be found in the Aspell manual:
http://aspell.net/man-html/Phonetic-Code.html.
There are a few special items:
SAL followup true ~
SAL collapse_result true ~
SAL remove_accents true ~
"1" has the same meaning as "true". Any other value means "false".
SIMPLE SOUNDFOLDING *spell-affix-SOFOFROM* *spell-affix-SOFOTO*
The SAL mechanism is complex and slow. A simpler mechanism is mapping all
characters to another character, mapping similar sounding characters to the
same character. At the same time this does case folding. You can not have
both SAL items and simple soundfolding.
There are two items required: one to specify the characters that are mapped
and one that specifies the characters they are mapped to. They must have
exactly the same number of characters. Example:
SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ~
SOFOTO ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkes ~
In the example all vowels are mapped to the same character 'e'. Another
method would be to leave out all vowels. Some characters that sound nearly
the same and are often mixed up, such as 'm' and 'n', are mapped to the same
character. Don't do this too much, all words will start looking alike.
Characters that do not appear in SOFOFROM will be left out, except that all
white space is replaced by one space. Sequences of the same character in
SOFOFROM are replaced by one.
You can use the |soundfold()| function to try out the results. Or set the
'verbose' option to see the score in the output of the |z?| command.
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.0aa. Last change: 2005 Apr 18
*starting.txt* For Vim version 7.0aa. Last change: 2005 Jun 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -312,6 +312,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
for reading or writing a viminfo file. Can be used to find
out what is happening upon startup and exit. {not in Vi}
-V[N]{filename}
Like -V and set 'verbosefile' to {filename}. The result is
that messages are not displayed but written to the file
{filename}. {filename} must not start with a digit.
*-D*
-D Debugging. Go to debugging mode when executing the first
command from a script. |debug-mode|
@@ -706,6 +711,8 @@ accordingly. Vim proceeds in this order:
2. Process the arguments
The options and file names from the command that start Vim are
inspected. Buffers are created for all files (but not loaded yet).
The |-V| argument can be used to display or log what happens next,
useful for debugging the initializations.
3. Execute Ex commands, from environment variables and/or files
An environment variable is read as one Ex command line, where multiple
@@ -883,7 +890,8 @@ set, it will be set to 'nocompatible'. This has the side effect of setting or
resetting other options (see 'compatible'). But only the options that have
not been set or reset will be changed. This has the same effect like the
value of 'compatible' had this value when starting Vim. Note that this
doesn't happen for the system-wide vimrc file.
doesn't happen for the system-wide vimrc file. It does also happen for gvimrc
files.
But there is a side effect of setting or resetting 'compatible' at the moment
a .vimrc file is found: Mappings are interpreted the moment they are

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.0aa. Last change: 2005 May 18
*syntax.txt* For Vim version 7.0aa. Last change: 2005 Jul 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -399,7 +399,8 @@ Go back to the default to use 'number' by deleting the variable: >
:unlet html_number_lines
Closed folds are put in the HTML as they are displayed. If you don't want
this, use the "zR" command before invoking 2html.
this, use the "zR" command before invoking 2html, or use: >
:let html_ignore_folding = 1
By default, HTML optimized for old browsers is generated. If you prefer using
cascading style sheets (CSS1) for the attributes (resulting in considerably
@@ -2515,17 +2516,17 @@ It will look much better with a font in a quadratic cell size, e.g. for X: >
Vim understands three types of syntax items:
1. Keyword.
1. Keyword
It can only contain keyword characters, according to the 'iskeyword'
option. It cannot contain other syntax items. It will only match with a
complete word (there are no keyword characters before or after the match).
The keyword "if" would match in "if(a=b)", but not in "ifdef x", because
"(" is not a keyword character and "d" is.
2. Match.
2. Match
This is a match with a single regexp pattern.
3. Region.
3. Region
This starts at a match of the "start" regexp pattern and ends with a match
with the "end" regexp pattern. Any other text can appear in between. A
"skip" regexp pattern can be used to avoid matching the "end" pattern.
@@ -2564,13 +2565,30 @@ When several syntax items may match, these rules are used:
DEFINING CASE *:syn-case* *E390*
:sy[ntax] case [match|ignore]
:sy[ntax] case [match | ignore]
This defines if the following ":syntax" commands will work with
matching case, when using "match", or with ignoring case, when using
"ignore". Note that any items before this are not affected, and all
items until the next ":syntax case" command are affected.
SPELL CHECKING *:syn-spell*
:sy[ntax] spell [toplevel | notoplevel | default]
This defines where spell checking is to be done for text that is not
in a syntax item:
toplevel: Text is spell checked.
notoplevel: Text is not spell checked.
default: When there is a @Spell cluster no spell checking.
For text in syntax items use the @Spell and @NoSpell clusters
|spell-syntax|. When there is no @Spell and no @NoSpell cluster then
spell checking is done for "default" and "toplevel".
To activate spell checking the 'spell' option must be set.
DEFINING KEYWORDS *:syn-keyword*
:sy[ntax] keyword {group-name} [{options}] {keyword} .. [{options}]
@@ -3623,6 +3641,16 @@ specified field is used, and settings are merged with previous ones. So, the
result is like this single command has been used: >
:hi Comment term=bold ctermfg=Cyan guifg=#80a0ff gui=bold
<
When listing a highlight group and 'verbose' is non-zero, the listing will
also tell where it was last set. Example: >
:verbose hi Comment
< Comment xxx term=bold ctermfg=4 guifg=Blue ~
Last set from /home/mool/vim/vim7/runtime/syntax/syncolor.vim ~
For details about when this message is given and when it's valid see
|:set-verbose|. When ":hi clear" is used then the script where this command
is used will be mentioned for the default values.
*highlight-args* *E416* *E417* *E423*
There are three types of terminals for highlighting:
term a normal terminal (vt100, xterm)
@@ -3635,6 +3663,8 @@ the same syntax file on all terminals, and use the optimal highlighting.
1. highlight arguments for normal terminals
*bold* *underline* *undercurl*
*inverse* *italic* *standout*
term={attr-list} *attr-list* *highlight-term* *E418*
attr-list is a comma separated list (without spaces) of the
following items (in any order):
@@ -3903,6 +3933,9 @@ SpecialKey Meta and special keys listed with ":map", also for text used
really is.
*hl-SpellBad*
SpellBad Word that is not recognized by the spellchecker. |spell|
This will be combined with the highlighting used otherwise.
*hl-SpellCap*
SpellCap Word that should start with a capital. |spell|
This will be combined with the highlighting used otherwise.
*hl-SpellLocal*
SpellLocal Word that is recognized by the spellchecker as one that is

View File

@@ -721,6 +721,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'smartcase' options.txt /*'smartcase'*
'smartindent' options.txt /*'smartindent'*
'smarttab' options.txt /*'smarttab'*
'smc' options.txt /*'smc'*
'smd' options.txt /*'smd'*
'sn' options.txt /*'sn'*
'so' options.txt /*'so'*
@@ -728,12 +729,18 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'sol' options.txt /*'sol'*
'sourceany' vi_diff.txt /*'sourceany'*
'sp' options.txt /*'sp'*
'spc' options.txt /*'spc'*
'spell' options.txt /*'spell'*
'spellcapcheck' options.txt /*'spellcapcheck'*
'spellfile' options.txt /*'spellfile'*
'spelllang' options.txt /*'spelllang'*
'spellsuggest' options.txt /*'spellsuggest'*
'spf' options.txt /*'spf'*
'spl' options.txt /*'spl'*
'splitbelow' options.txt /*'splitbelow'*
'splitright' options.txt /*'splitright'*
'spr' options.txt /*'spr'*
'sps' options.txt /*'sps'*
'sr' options.txt /*'sr'*
'srr' options.txt /*'srr'*
'ss' options.txt /*'ss'*
@@ -759,6 +766,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'sws' options.txt /*'sws'*
'sxq' options.txt /*'sxq'*
'syn' options.txt /*'syn'*
'synmaxcol' options.txt /*'synmaxcol'*
'syntax' options.txt /*'syntax'*
't_#2' term.txt /*'t_#2'*
't_#4' term.txt /*'t_#4'*
@@ -937,6 +945,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'vdir' options.txt /*'vdir'*
've' options.txt /*'ve'*
'verbose' options.txt /*'verbose'*
'verbosefile' options.txt /*'verbosefile'*
'vfile' options.txt /*'vfile'*
'vi' options.txt /*'vi'*
'viewdir' options.txt /*'viewdir'*
'viewoptions' options.txt /*'viewoptions'*
@@ -1003,7 +1013,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
++opt editing.txt /*++opt*
+ARP various.txt /*+ARP*
+GUI_Athena various.txt /*+GUI_Athena*
+GUI_BeOS various.txt /*+GUI_BeOS*
+GUI_GTK various.txt /*+GUI_GTK*
+GUI_Motif various.txt /*+GUI_Motif*
+GUI_Photon various.txt /*+GUI_Photon*
@@ -1221,6 +1230,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
-y starting.txt /*-y*
. repeat.txt /*.*
.Xdefaults gui_x11.txt /*.Xdefaults*
.aff spell.txt /*.aff*
.dic spell.txt /*.dic*
.exrc starting.txt /*.exrc*
.gvimrc gui.txt /*.gvimrc*
.vimrc starting.txt /*.vimrc*
@@ -1585,6 +1596,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
45.4 usr_45.txt /*45.4*
45.5 usr_45.txt /*45.5*
755 spell.txt /*755*
767 eval.txt /*767*
90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2*
90.3 usr_90.txt /*90.3*
@@ -1742,6 +1754,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:cabbrev map.txt /*:cabbrev*
:cabc map.txt /*:cabc*
:cabclear map.txt /*:cabclear*
:cad quickfix.txt /*:cad*
:caddfile quickfix.txt /*:caddfile*
:cal eval.txt /*:cal*
:call eval.txt /*:call*
:cat eval.txt /*:cat*
@@ -1755,6 +1769,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:cd- editing.txt /*:cd-*
:ce change.txt /*:ce*
:center change.txt /*:center*
:cex quickfix.txt /*:cex*
:cexpr quickfix.txt /*:cexpr*
:cf quickfix.txt /*:cf*
:cfile quickfix.txt /*:cfile*
:cfir quickfix.txt /*:cfir*
@@ -2225,6 +2241,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:print various.txt /*:print*
:pro change.txt /*:pro*
:prof repeat.txt /*:prof*
:profd repeat.txt /*:profd*
:profdel repeat.txt /*:profdel*
:profile repeat.txt /*:profile*
:promptfind change.txt /*:promptfind*
:promptr change.txt /*:promptr*
@@ -2397,9 +2415,19 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:sno change.txt /*:sno*
:snomagic change.txt /*:snomagic*
:so repeat.txt /*:so*
:sor change.txt /*:sor*
:sort change.txt /*:sort*
:source repeat.txt /*:source*
:source_crnl repeat.txt /*:source_crnl*
:sp windows.txt /*:sp*
:spe spell.txt /*:spe*
:spelld spell.txt /*:spelld*
:spelldump spell.txt /*:spelldump*
:spellgood spell.txt /*:spellgood*
:spellr spell.txt /*:spellr*
:spellrepall spell.txt /*:spellrepall*
:spellw spell.txt /*:spellw*
:spellwrong spell.txt /*:spellwrong*
:split windows.txt /*:split*
:split_f windows.txt /*:split_f*
:spr windows.txt /*:spr*
@@ -2475,6 +2503,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:syn-skipempty syntax.txt /*:syn-skipempty*
:syn-skipnl syntax.txt /*:syn-skipnl*
:syn-skipwhite syntax.txt /*:syn-skipwhite*
:syn-spell syntax.txt /*:syn-spell*
:syn-start syntax.txt /*:syn-start*
:syn-sync syntax.txt /*:syn-sync*
:syn-sync-ccomment syntax.txt /*:syn-sync-ccomment*
@@ -2828,6 +2857,7 @@ Athena gui_x11.txt /*Athena*
B motion.txt /*B*
BeBox os_beos.txt /*BeBox*
BeOS os_beos.txt /*BeOS*
Bram intro.txt /*Bram*
BufAdd autocmd.txt /*BufAdd*
BufCreate autocmd.txt /*BufCreate*
BufDelete autocmd.txt /*BufDelete*
@@ -3691,6 +3721,9 @@ E748 repeat.txt /*E748*
E749 eval.txt /*E749*
E75 vi_diff.txt /*E75*
E750 repeat.txt /*E750*
E751 spell.txt /*E751*
E752 spell.txt /*E752*
E753 spell.txt /*E753*
E754 spell.txt /*E754*
E756 spell.txt /*E756*
E758 spell.txt /*E758*
@@ -3700,6 +3733,9 @@ E760 spell.txt /*E760*
E761 spell.txt /*E761*
E762 spell.txt /*E762*
E763 spell.txt /*E763*
E764 spell.txt /*E764*
E765 options.txt /*E765*
E766 eval.txt /*E766*
E77 message.txt /*E77*
E78 motion.txt /*E78*
E79 message.txt /*E79*
@@ -3797,9 +3833,12 @@ Mac-format editing.txt /*Mac-format*
Mac-format-write editing.txt /*Mac-format-write*
Macintosh os_mac.txt /*Macintosh*
Mark motion.txt /*Mark*
MenuPopup autocmd.txt /*MenuPopup*
MiNT os_mint.txt /*MiNT*
Moolenaar intro.txt /*Moolenaar*
MorphOS os_amiga.txt /*MorphOS*
Motif gui_x11.txt /*Motif*
Myspell spell.txt /*Myspell*
MzScheme if_mzsch.txt /*MzScheme*
N pattern.txt /*N*
N% motion.txt /*N%*
@@ -4145,6 +4184,7 @@ asmh8300-syntax syntax.txt /*asmh8300-syntax*
asmh8300.vim syntax.txt /*asmh8300.vim*
aspperl-syntax syntax.txt /*aspperl-syntax*
aspvbs-syntax syntax.txt /*aspvbs-syntax*
at motion.txt /*at*
athena-intellimouse gui.txt /*athena-intellimouse*
attr-list syntax.txt /*attr-list*
author intro.txt /*author*
@@ -4220,6 +4260,7 @@ blockwise-examples visual.txt /*blockwise-examples*
blockwise-operators visual.txt /*blockwise-operators*
blockwise-register change.txt /*blockwise-register*
blockwise-visual visual.txt /*blockwise-visual*
bold syntax.txt /*bold*
book intro.txt /*book*
bookmark usr_03.txt /*bookmark*
boolean options.txt /*boolean*
@@ -4410,6 +4451,7 @@ compl-filename insert.txt /*compl-filename*
compl-function insert.txt /*compl-function*
compl-generic insert.txt /*compl-generic*
compl-keyword insert.txt /*compl-keyword*
compl-occult insert.txt /*compl-occult*
compl-tag insert.txt /*compl-tag*
compl-vim insert.txt /*compl-vim*
compl-whole-line insert.txt /*compl-whole-line*
@@ -4822,7 +4864,6 @@ fcs_reason-variable eval.txt /*fcs_reason-variable*
feature-list eval.txt /*feature-list*
fetch pi_netrw.txt /*fetch*
file-browser-5.2 version5.txt /*file-browser-5.2*
file-explorer pi_netrw.txt /*file-explorer*
file-formats editing.txt /*file-formats*
file-pattern autocmd.txt /*file-pattern*
file-read insert.txt /*file-read*
@@ -4938,6 +4979,7 @@ g'a motion.txt /*g'a*
g, motion.txt /*g,*
g0 motion.txt /*g0*
g8 various.txt /*g8*
g:netrw-a pi_netrw.txt /*g:netrw-a*
g:netrw_list_cmd pi_netrw.txt /*g:netrw_list_cmd*
g:netrw_list_hide pi_netrw.txt /*g:netrw_list_hide*
g:netrw_rm_cmd pi_netrw.txt /*g:netrw_rm_cmd*
@@ -4945,6 +4987,7 @@ g:netrw_rmdir_cmd pi_netrw.txt /*g:netrw_rmdir_cmd*
g:netrw_rmf_cmd pi_netrw.txt /*g:netrw_rmf_cmd*
g:var eval.txt /*g:var*
g; motion.txt /*g;*
g< message.txt /*g<*
g<Down> motion.txt /*g<Down>*
g<End> motion.txt /*g<End>*
g<Home> motion.txt /*g<Home>*
@@ -4976,9 +5019,11 @@ g_CTRL-] tagsrch.txt /*g_CTRL-]*
g` motion.txt /*g`*
g`a motion.txt /*g`a*
ga various.txt /*ga*
garbagecollect() eval.txt /*garbagecollect()*
gd pattern.txt /*gd*
ge motion.txt /*ge*
get() eval.txt /*get()*
getbufline() eval.txt /*getbufline()*
getbufvar() eval.txt /*getbufvar()*
getchar() eval.txt /*getchar()*
getcharmod() eval.txt /*getcharmod()*
@@ -5150,6 +5195,7 @@ histget() eval.txt /*histget()*
histnr() eval.txt /*histnr()*
history cmdline.txt /*history*
hit-enter message.txt /*hit-enter*
hit-enter-prompt message.txt /*hit-enter-prompt*
hit-return message.txt /*hit-return*
hitest.vim syntax.txt /*hitest.vim*
hjkl usr_02.txt /*hjkl*
@@ -5176,6 +5222,7 @@ hl-Search syntax.txt /*hl-Search*
hl-SignColumn syntax.txt /*hl-SignColumn*
hl-SpecialKey syntax.txt /*hl-SpecialKey*
hl-SpellBad syntax.txt /*hl-SpellBad*
hl-SpellCap syntax.txt /*hl-SpellCap*
hl-SpellLocal syntax.txt /*hl-SpellLocal*
hl-SpellRare syntax.txt /*hl-SpellRare*
hl-StatusLine syntax.txt /*hl-StatusLine*
@@ -5289,6 +5336,7 @@ i_CTRL-X_CTRL-I insert.txt /*i_CTRL-X_CTRL-I*
i_CTRL-X_CTRL-K insert.txt /*i_CTRL-X_CTRL-K*
i_CTRL-X_CTRL-L insert.txt /*i_CTRL-X_CTRL-L*
i_CTRL-X_CTRL-N insert.txt /*i_CTRL-X_CTRL-N*
i_CTRL-X_CTRL-O insert.txt /*i_CTRL-X_CTRL-O*
i_CTRL-X_CTRL-P insert.txt /*i_CTRL-X_CTRL-P*
i_CTRL-X_CTRL-T insert.txt /*i_CTRL-X_CTRL-T*
i_CTRL-X_CTRL-U insert.txt /*i_CTRL-X_CTRL-U*
@@ -5383,14 +5431,18 @@ intel-itanium syntax.txt /*intel-itanium*
intellimouse-wheel-problems gui_w32.txt /*intellimouse-wheel-problems*
interfaces-5.2 version5.txt /*interfaces-5.2*
internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist*
internet intro.txt /*internet*
intro intro.txt /*intro*
intro.txt intro.txt /*intro.txt*
inverse syntax.txt /*inverse*
ip motion.txt /*ip*
iquote motion.txt /*iquote*
is motion.txt /*is*
isdirectory() eval.txt /*isdirectory()*
islocked() eval.txt /*islocked()*
it motion.txt /*it*
italic syntax.txt /*italic*
items() eval.txt /*items()*
iw motion.txt /*iw*
i{ motion.txt /*i{*
@@ -5639,6 +5691,7 @@ mzscheme if_mzsch.txt /*mzscheme*
mzscheme-buffer if_mzsch.txt /*mzscheme-buffer*
mzscheme-commands if_mzsch.txt /*mzscheme-commands*
mzscheme-examples if_mzsch.txt /*mzscheme-examples*
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
mzscheme-vim if_mzsch.txt /*mzscheme-vim*
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
@@ -5669,6 +5722,7 @@ netbeans-run netbeans.txt /*netbeans-run*
netbeans-setup netbeans.txt /*netbeans-setup*
netbeans-support netbeans.txt /*netbeans-support*
netbeans.txt netbeans.txt /*netbeans.txt*
netreadfixup pi_netrw.txt /*netreadfixup*
netrw pi_netrw.txt /*netrw*
netrw-- pi_netrw.txt /*netrw--*
netrw-B pi_netrw.txt /*netrw-B*
@@ -5676,13 +5730,13 @@ netrw-D pi_netrw.txt /*netrw-D*
netrw-R pi_netrw.txt /*netrw-R*
netrw-S pi_netrw.txt /*netrw-S*
netrw-U pi_netrw.txt /*netrw-U*
netrw-a pi_netrw.txt /*netrw-a*
netrw-activate pi_netrw.txt /*netrw-activate*
netrw-b pi_netrw.txt /*netrw-b*
netrw-bookmark pi_netrw.txt /*netrw-bookmark*
netrw-bookmarks pi_netrw.txt /*netrw-bookmarks*
netrw-browse pi_netrw.txt /*netrw-browse*
netrw-browse-cmds pi_netrw.txt /*netrw-browse-cmds*
netrw-browse-intro pi_netrw.txt /*netrw-browse-intro*
netrw-browse-var pi_netrw.txt /*netrw-browse-var*
netrw-c pi_netrw.txt /*netrw-c*
netrw-cadaver pi_netrw.txt /*netrw-cadaver*
@@ -5695,24 +5749,34 @@ netrw-d pi_netrw.txt /*netrw-d*
netrw-debug pi_netrw.txt /*netrw-debug*
netrw-delete pi_netrw.txt /*netrw-delete*
netrw-dir pi_netrw.txt /*netrw-dir*
netrw-downdir pi_netrw.txt /*netrw-downdir*
netrw-edithide pi_netrw.txt /*netrw-edithide*
netrw-ex pi_netrw.txt /*netrw-ex*
netrw-explore pi_netrw.txt /*netrw-explore*
netrw-explore-cmds pi_netrw.txt /*netrw-explore-cmds*
netrw-file pi_netrw.txt /*netrw-file*
netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-h pi_netrw.txt /*netrw-h*
netrw-handler pi_netrw.txt /*netrw-handler*
netrw-help pi_netrw.txt /*netrw-help*
netrw-history pi_netrw.txt /*netrw-history*
netrw-horiz pi_netrw.txt /*netrw-horiz*
netrw-i pi_netrw.txt /*netrw-i*
netrw-list pi_netrw.txt /*netrw-list*
netrw-list-hack pi_netrw.txt /*netrw-list-hack*
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
netrw-listhack pi_netrw.txt /*netrw-listhack*
netrw-maps pi_netrw.txt /*netrw-maps*
netrw-move pi_netrw.txt /*netrw-move*
netrw-netrc pi_netrw.txt /*netrw-netrc*
netrw-nread pi_netrw.txt /*netrw-nread*
netrw-nwrite pi_netrw.txt /*netrw-nwrite*
netrw-o pi_netrw.txt /*netrw-o*
netrw-options pi_netrw.txt /*netrw-options*
netrw-p pi_netrw.txt /*netrw-p*
netrw-passwd pi_netrw.txt /*netrw-passwd*
netrw-path pi_netrw.txt /*netrw-path*
netrw-preview pi_netrw.txt /*netrw-preview*
netrw-problems pi_netrw.txt /*netrw-problems*
netrw-protocol pi_netrw.txt /*netrw-protocol*
netrw-q pi_netrw.txt /*netrw-q*
@@ -5720,10 +5784,14 @@ netrw-r pi_netrw.txt /*netrw-r*
netrw-read pi_netrw.txt /*netrw-read*
netrw-ref pi_netrw.txt /*netrw-ref*
netrw-rename pi_netrw.txt /*netrw-rename*
netrw-reverse pi_netrw.txt /*netrw-reverse*
netrw-s pi_netrw.txt /*netrw-s*
netrw-sort pi_netrw.txt /*netrw-sort*
netrw-sortsequence pi_netrw.txt /*netrw-sortsequence*
netrw-transparent pi_netrw.txt /*netrw-transparent*
netrw-u pi_netrw.txt /*netrw-u*
netrw-uidpass pi_netrw.txt /*netrw-uidpass*
netrw-updir pi_netrw.txt /*netrw-updir*
netrw-urls pi_netrw.txt /*netrw-urls*
netrw-v pi_netrw.txt /*netrw-v*
netrw-var pi_netrw.txt /*netrw-var*
@@ -5784,6 +5852,7 @@ new-printing version6.txt /*new-printing*
new-runtime-dir version5.txt /*new-runtime-dir*
new-script version5.txt /*new-script*
new-script-5.4 version5.txt /*new-script-5.4*
new-scroll-back version7.txt /*new-scroll-back*
new-search-path version6.txt /*new-search-path*
new-searchpat version6.txt /*new-searchpat*
new-session-files version5.txt /*new-session-files*
@@ -5945,6 +6014,7 @@ print-intro print.txt /*print-intro*
print-options print.txt /*print-options*
print.txt print.txt /*print.txt*
printcap-syntax syntax.txt /*printcap-syntax*
printf() eval.txt /*printf()*
printing print.txt /*printing*
printing-formfeed print.txt /*printing-formfeed*
profile repeat.txt /*profile*
@@ -6225,6 +6295,8 @@ sniff-commands if_sniff.txt /*sniff-commands*
sniff-compiling if_sniff.txt /*sniff-compiling*
sniff-intro if_sniff.txt /*sniff-intro*
sort() eval.txt /*sort()*
sorting change.txt /*sorting*
soundfold() eval.txt /*soundfold()*
space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@@ -6236,15 +6308,35 @@ spec_chglog_release_info pi_spec.txt /*spec_chglog_release_info*
special-buffers windows.txt /*special-buffers*
speed-up tips.txt /*speed-up*
spell spell.txt /*spell*
spell-affix-BAD spell.txt /*spell-affix-BAD*
spell-affix-FOL spell.txt /*spell-affix-FOL*
spell-affix-KEP spell.txt /*spell-affix-KEP*
spell-affix-LOW spell.txt /*spell-affix-LOW*
spell-affix-MAP spell.txt /*spell-affix-MAP*
spell-affix-PFX spell.txt /*spell-affix-PFX*
spell-affix-PFXPOSTPONE spell.txt /*spell-affix-PFXPOSTPONE*
spell-affix-RAR spell.txt /*spell-affix-RAR*
spell-affix-REP spell.txt /*spell-affix-REP*
spell-affix-SAL spell.txt /*spell-affix-SAL*
spell-affix-SFX spell.txt /*spell-affix-SFX*
spell-affix-SOFOFROM spell.txt /*spell-affix-SOFOFROM*
spell-affix-SOFOTO spell.txt /*spell-affix-SOFOTO*
spell-affix-UPP spell.txt /*spell-affix-UPP*
spell-affix-chars spell.txt /*spell-affix-chars*
spell-affix-mbyte spell.txt /*spell-affix-mbyte*
spell-affix-vim spell.txt /*spell-affix-vim*
spell-dic-format spell.txt /*spell-dic-format*
spell-file-format spell.txt /*spell-file-format*
spell-load spell.txt /*spell-load*
spell-midword spell.txt /*spell-midword*
spell-mkspell spell.txt /*spell-mkspell*
spell-quickstart spell.txt /*spell-quickstart*
spell-remarks spell.txt /*spell-remarks*
spell-syntax spell.txt /*spell-syntax*
spell-wordlist-format spell.txt /*spell-wordlist-format*
spell.txt spell.txt /*spell.txt*
spellbadword() eval.txt /*spellbadword()*
spellsuggest() eval.txt /*spellsuggest()*
split() eval.txt /*split()*
splitfind windows.txt /*splitfind*
splitview windows.txt /*splitview*
@@ -6261,7 +6353,10 @@ sqlinformix.vim syntax.txt /*sqlinformix.vim*
sscanf eval.txt /*sscanf*
standard-plugin usr_05.txt /*standard-plugin*
standard-plugin-list help.txt /*standard-plugin-list*
standout syntax.txt /*standout*
star pattern.txt /*star*
starstar editing.txt /*starstar*
starstar-wildcard editing.txt /*starstar-wildcard*
start-of-file pattern.txt /*start-of-file*
starting starting.txt /*starting*
starting-amiga starting.txt /*starting-amiga*
@@ -6487,6 +6582,7 @@ tag tagsrch.txt /*tag*
tag-! tagsrch.txt /*tag-!*
tag-any-white tagsrch.txt /*tag-any-white*
tag-binary-search tagsrch.txt /*tag-binary-search*
tag-blocks motion.txt /*tag-blocks*
tag-commands tagsrch.txt /*tag-commands*
tag-details tagsrch.txt /*tag-details*
tag-highlight syntax.txt /*tag-highlight*
@@ -6611,6 +6707,8 @@ typecorr.txt usr_41.txt /*typecorr.txt*
u undo.txt /*u*
uganda uganda.txt /*uganda*
uganda.txt uganda.txt /*uganda.txt*
undercurl syntax.txt /*undercurl*
underline syntax.txt /*underline*
undo undo.txt /*undo*
undo-commands undo.txt /*undo-commands*
undo-redo undo.txt /*undo-redo*
@@ -6763,6 +6861,7 @@ v_ab motion.txt /*v_ab*
v_ap motion.txt /*v_ap*
v_aquote motion.txt /*v_aquote*
v_as motion.txt /*v_as*
v_at motion.txt /*v_at*
v_aw motion.txt /*v_aw*
v_a{ motion.txt /*v_a{*
v_a} motion.txt /*v_a}*
@@ -6806,6 +6905,7 @@ v_ib motion.txt /*v_ib*
v_ip motion.txt /*v_ip*
v_iquote motion.txt /*v_iquote*
v_is motion.txt /*v_is*
v_it motion.txt /*v_it*
v_iw motion.txt /*v_iw*
v_i{ motion.txt /*v_i{*
v_i} motion.txt /*v_i}*
@@ -7053,11 +7153,13 @@ z/OS os_390.txt /*z\/OS*
z<CR> scroll.txt /*z<CR>*
z<Left> scroll.txt /*z<Left>*
z<Right> scroll.txt /*z<Right>*
z? spell.txt /*z?*
zA fold.txt /*zA*
zC fold.txt /*zC*
zD fold.txt /*zD*
zE fold.txt /*zE*
zF fold.txt /*zF*
zG spell.txt /*zG*
zH scroll.txt /*zH*
zL scroll.txt /*zL*
zM fold.txt /*zM*
@@ -7075,6 +7177,7 @@ zOS-open-source os_390.txt /*zOS-open-source*
zOS-weaknesses os_390.txt /*zOS-weaknesses*
zOS-xterm os_390.txt /*zOS-xterm*
zR fold.txt /*zR*
zW spell.txt /*zW*
zX fold.txt /*zX*
z^ scroll.txt /*z^*
za fold.txt /*za*
@@ -7083,6 +7186,7 @@ zc fold.txt /*zc*
zd fold.txt /*zd*
ze scroll.txt /*ze*
zf fold.txt /*zf*
zg spell.txt /*zg*
zh scroll.txt /*zh*
zi fold.txt /*zi*
zj fold.txt /*zj*
@@ -7095,6 +7199,7 @@ zr fold.txt /*zr*
zs scroll.txt /*zs*
zt scroll.txt /*zt*
zv fold.txt /*zv*
zw spell.txt /*zw*
zx fold.txt /*zx*
zz scroll.txt /*zz*
{ motion.txt /*{*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*tagsrch.txt* For Vim version 7.0aa. Last change: 2005 Jul 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -352,6 +352,8 @@ Examples: >
When the argument both exists literally, and match when used as a regexp, a
literal match has a higher priority. For example, ":tag /open" matches "open"
before "open_file" and "file_open".
When using a pattern case is ignored. If you want to match case use "\C" in
the pattern.
*tag-!*
If the tag is in the current file this will always work. Otherwise the

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.0aa. Last change: 2005 Mar 14
*term.txt* For Vim version 7.0aa. Last change: 2005 Jun 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -594,7 +594,6 @@ be used by Vim:
h all previous modes when in a help file
a all previous modes
r for |hit-enter| prompt
A auto-select in Visual mode
The default for 'mouse' is empty, the mouse is not used. Normally you would
do: >

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.0aa. Last change: 2005 May 19
*todo.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,45 +30,12 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Problem with 'insertmode'. (Georg Dahn, 2005 April 9, expl. April 14)
Problem with CTRL-V pasting more than one line. (Georg Dahn, 2005 April 11)
Patch for setqflist() (Yegappan Lakshmanan, 2005 April 11)
":help \=<Tab>" doesn't find "sub-replace-\=".
In an errorfile expand "~/" to home directory. (Arnout Engelen)
Patch for 2html.vim to disable folding (Michael Schaap, 2005 April 12)
Win32: Alt-F10 no longer working? (Bill McCarthy, April 18)
Patch for if_python to make exit work better with threads. (ugo)
With "wa" in 'formatoptions', backspace at start-of-line doesn't work. It
should delete the space at the end of the previous line. (Alan Isaac)
GTK GUI: Running a script that does :vsp and :quit, causing the left scrollbar
to appear and disappear, causes resizing. (gvcolors.vim from Charles Campbell,
2005 April 25)
Problem with ":mksession" for "vim -o "+argdel *" prog1 prog2 prog3"
(Bill McCarthy, 2005 April 26)
getreg('=') returns the result of evaluating the expression. How to get the
expression itself, so that it can be restored? (David Fishburn) Perhaps use
getreg('=', 1). Also make setreg('=') work then.
Win32: With the taskbar at the top of the screen, scrolling doesn't redraw
properly. (Sergey Khorev, 2005 April 27)
Mac unicode patch (Da Woon Jung):
- selecting proportional font breaks display
- UTF-8 text causes display problems. Font replacement causes this.
When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
may cause the hit-enter prompt. Typing 'a then doesn't result in the accented
character. (Ilya Dogolazky)
Win32: Use the free downloadable compiler 7.1. Figure out how to do debugging
(with Agide?) and describe it. (George Reilly)
autoload:
- Add a Vim script in $VIMRUNTIME/tools that takes a file with a list of
@@ -81,116 +48,62 @@ autoload:
helpfile doc/myscript.txt
For the "helpfile" item ":helptags" is run.
Win32: Balloon text can't contain line break.
Hints for multiline tooltips from Alexei Alexandrov (2005 Mar 26)
Patch from Sergey Khorev, 2005 Apr 11
Add has("balloon_multiline")
setline() should accept a List.
Add ":[range]sort" command. Sort on specified field, using a regexp? Remove
duplicates?
Patch to alternate fold highlighting. (Anthony Iano-Fletcher, 2005 May 12)
More levels?
Awaiting response:
- Patch for mch_FullName() also in Vim 6.3? os_mswin.c
- Win32: tearoff menu window should have a scrollbar when it's taller than
the screen.
Make option like 'verbose' that writes output into a file? Should make it
possible to see what's happening without messing up the display.
- mblen(NULL, 0) also in Vim 6.3?
PLANNED FOR VERSION 7.0:
- Add SPELLCHECKER, with support for many languages.
- Use "engspchk" from Charles Campbell for ideas.
- Is it worth trying the trie structure (see code from Olaf Seibert, 2005
May 9)
- Spell checking code todo's:
- Implement user and project word lists. Commands to add words and to
mark words as wrong.
- Implement = flag in .dic: KEEPCASE for lower case word.
's morgens/= does not match 'S morgens
- Implement compound words?
- Make "en-rare" spell file.
Convention: use en_US (language_region) and en-rare (language-field)
Add hl groups to 'spelllang'?
:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath
- How about making suggestions? Use an external program like aspell?
Or include the myspell suggestion code in Vim?
- Some word lists are inefficient. Remove affixes from a word when it
results in another basic word.
- References MySpell library (in OpenOffice.org).
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
- Alternative: use aspell library.
ispell is replaced by aspell, thus forget about ispell.
- More complicated: Regions with different languages? E.g. comments in
English, strings in German (po file).
- Commands required:
add word to private dict: wrong and OK (in popup menu for evim)
:spell good <word> zg
:spell wrong <word> zw
- Update option window for 'spell' and 'spelllang'.
- Distribution: Need wordlists for many languages; "language pack"
Put them on the ftp site, ready to download. Include README for
copyrights.
- Work together with OpenOffice.org to update the wordlists. (Adri
Verhoef, Aad Nales) Setup vim-spell maillist?
- Support for approximate-regexps will help with finding similar words
(agrep http://www.tgries.de/agrep/).
- Charles Campbell asks for method to add "contained" groups to
existing syntax items (to add @Spell).
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
cluster" but change the contains list directly for matching syntax
items.
- Install spell files with src/main.aap.
Alternatives using ispell or aspell:
8 Add spell checking. Use "ispell -a" somehow.
~/vim/patches/wm_vim-5_4d.zip can be used as an example (includes
ispell inside Vim). Gautam Iyer has an example with "aspell".
Patch from Marcin Dalecki, uses pipe to aspell.
- Occult completion: Understands the programming language and finds matches
that make sense. Esp. members of classes/structs.
It's not much different from other Insert-mode completion, use the same
mechanism. Use CTRL-X CTRL-O.
Separately develop the completion logic and the UI. When adding UI stuff
make it work for all completion methods.
- REFACTORING: The main() function is very long. Move parts to separate
functions, especially loops. Ideas from Walter Briscoe (2003 Apr 3, 2004
Feb 9).
Move the printing stuff to hardcopy.c.
- Improve the interface between the generic GUI code and the system-specific
code. Generic code handles text window with scrollbars, system-specific
code menu, toolbar, etc.
- Support using "**" in filename for ":next", ":vimgrep", etc., so that a
directory tree can be searched.
- Store messages to allow SCROLLING BACK for all commands. And other "less"
like commands.
- "INTELLISENSE". First cleanup the Insert-mode completion.
First cleanup the Insert-mode completion.
- check security of 'completefunc'.
- use callback to interrupt searching for matches.
UI:
- At first: use 'wildmenu' kind of thing.
- Nicer: Display the list of choices right under the place where they
would be inserted in a kind of meny (use scrollbar when there are many
alternatives).
Completion logic:
Use 'coupler' option to list items that connect words. For C: ".,->".
In function arguments suggest variables of expected type.
Ideas from others:
http://www.vim.org/scripts/script.php?script_id=747
www.vim.org script 1213 (Java Development Environment) (Fuchuan Wang)
http://sourceforge.net/projects/insenvim
of http://insenvim.sourceforge.net
IComplete: http://www.vim.org/scripts/script.php?script_id=1265
and http://stud4.tuwien.ac.at/~e0125672/icomplete/
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
Ivan Villanueva has something for Java.
Ideas from Emads:
http://www.xref-tech.com/xrefactory/more_c_completion.html
Can't call it Intellisense, it is a trademark by Microsoft.
Ideas from the Vim 7 BOF at SANE:
- It's not possible to have one solution for all languages. Design an
interface for completion plugins. The matches can be done in a
Vim-script list.
- For interpreted languages, use the interpreter to obtain information.
Should work for Java (Eclipse does this), Python, Tcl, etc.
Richard Emberson mentioned working on an interface to Java.
- Check Readline for its completion interface.
- Use ctags for other languages. Writing a file could trigger running
ctags, merging the tags of the changed file.
Also see "Visual Assist" http://www.wholetomato.com/products:
- Put the list of choices right under the place where they would be
inserted.
Emads: http://www.xref-tech.com/xrefactory/more_c_completion.html
Ideas from the Vim 7 BOF at SANE:
- It's not possible to have one solution for all languages. Design an
interface for completion plugins. The matches can be done in a
Vim-script list.
- For interpreted languages, use the interpreter to obtain information.
Should work for Java (Eclipse does this), Python, Tcl, etc.
Richard Emberson mentioned working on an interface to Java.
- Check Readline for its completion interface.
- Use ctags for other languages. Writing a file could trigger running
ctags, merging the tags of the changed file.
"Visual Assist" http://www.wholetomato.com/products:
Completion in .NET framework SharpDevelop: http://www.icsharpcode.net
- Pre-expand abbreviations, show which abbrevs would match?
- UNDO TREE: keep all states of the text, don't delete undo info.
When making a change, instead of clearing any future undo (thus redo)
info, make a new branch.
@@ -210,12 +123,21 @@ PLANNED FOR VERSION 7.0:
keep undo: "3h", "1d", "2w", "1y", etc. For the file use dot and
extension: ".filename.un~" (like swapfile but "un~" instead of "swp").
7 Support WINDOW TABS. Works like several pages, each with their own
split windows. Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
Don't forget to provide an "X" to close a tab.
Also for the console!
split windows.
In Emacs these are called frames. Could also call them "pages".
Use "1gt" - "99gt" to switch to a tab?
Use the name of the first buffer in the tab (ignoring the help window,
unless it's the only one). Add a number for the window count.
First make it work on the console. Use a line of text with highlighting.
Then add GUI Tabs for some systems.
Patch for GTK 1.2 passed on by Christian Michon, 2004 Jan 6.
Simple patch for GTK by Luis M (nov 7).
Don't forget to provide an "X" to close a tab.
Implementation: keep the list of windows as-is. When switching to another
tab make the buffers in the current windows hidden, save the window
layout, buildup the other window layout and fill with buffers.
Need to be able to search the windows in inactive tabs, e.g. for the
quickfix window.
Use "1gt" - "99gt" to switch to a tab?
- EMBEDDING: Make it possible to run Vim inside a window of another program.
For Xwindows this can be done with XReparentWindow().
For GTK Neil Bird has a patch to use Vim like a widget.
@@ -281,22 +203,34 @@ PLANNED FOR VERSION 7.0:
Mattias Flodin (2004 Jul 30)
- In a :s command multi-byte characters should also be upper/lower cased
with \u, \U, etc.
8 Add a command to jump to a certain kind of tag. Allow the user to specify
values for the optional fields. E.g., ":tag size type=m".
Also allow specifying the file and command, so that the result of
taglist() can be used.
Adjust src/main.aap for installing manpages like in Makefile.
When editing a file with both utf-8 and latin1 text Vim always falls back to
latin1. Add a command to convert the latin1 characters to utf-8?
:unmix utf-8,latin1 filename
Would only work when 'encoding' is utf-8.
Also: command to search for illegal utf-8 byte sequence?
Also generate the .pdb file that can be used to generate a useful crash report
on MS-Windows. (George Reilly)
Add strtol() to avoid the problems with leading zero causing octal conversion.
Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
Before April 23 if possible.
Version 1.5 is in ~/src/posix/1.5. (Lynne Canal)
Add a 'tool' window: behaves like a preview window but there can be several.
Don't count it in only_one_window(). (Alexei Alexandrov)
Win32: Patch for Korean IME. (Yusung, 2005 March 21)
When "= evaluation results in a List, use it as a sequence of lines.
Support ":set syntax=cpp.doxygen"? Suggested patch by Michael Geddes (9 Aug
2004). Should also work for 'filetype'.
@@ -319,9 +253,24 @@ Also place vimtutor.bat in %windir%?
Add gui_mch_browsedir() for Motif, KDE and Mac OS/X.
7 Add a ":cstring" command. Works like ":cfile" but reads from a string
variable. Also accept a list variable? Patch from Yegappan Lakshmanan.
2005 Feb 17 Now it's ":cexpr".
Add extra list of file locations. A bit like the quickfix list, but there is
one per window. Can be used with:
:ltag list of matching tags, like :tselect
Commands to use the location list:
:lnext next location
:lprevious :lNext previous location
:lnfile location in next file
:lNfile :lpfile location in previous file
:lrewind :lfirst first location
:llast last location
:ll [N] go to location N (current one if N omitted)
:lwindow open window with locations (separate from quickfix window)
:lopen open window with locations
:lclose close window with locations
:llist list locations
:lfile read locations from file using 'errorformat'
:lgetfile idem, don't jump to first one
:lbuffer idem, from current buffer.
HTML indenting can be slow, find out why. Any way to do some kind of
profiling for Vim script? At least add a function to get the current time in
@@ -379,7 +328,7 @@ Awaiting updated patches:
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
Dalecki has a patch for Motif and Carbon)
- Add possibility to highlight specific columns (for Fortran). Or put a
line in between columns (e.g. for 'textwidth').
line in between columns (e.g., for 'textwidth').
Patch to add 'hlcolumn' from Vit Stradal, 2004 May 20.
8 Add functions:
confirm() add "flags" argument, with 'v' for vertical
@@ -388,6 +337,7 @@ Awaiting updated patches:
(2003 May 13)
raisewin() raise gvim window (see HierAssist patch for
Tcl implementation ~/vim/HierAssist/ )
7 Make globpath() also work with upwards search. (Brian Medley)
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
- Patch from Herculano de Lima Einloft Neto for better formatting of the
@@ -428,19 +378,12 @@ quote. (Nieko Maatjes, 2005 Jan 4)
Vi incompatibility:
9 In Ex mode, "u" undoes all changes, not just the last one. (John Cowan)
8 In Ex mode, an empty file doesn't have a first line, "1p" should fail.
8 With undo/redo only marks in the changed lines should be changed. Other
marks should be kept. Vi keeps each mark at the same text, even when it
is deleted or restored. (Webb)
Also: A mark is lost after: make change, undo, redo and undo.
Example: "{d''" then "u" then "d''": deletes an extra line, because the ''
position is one line down. (Veselinovic)
8 ":change" in a single-line file adds an empty line. When the file used to
be longer a "~" line is displayed, but there really is an empty line.
(Haakon Riiser, 2003 Dec 3 and Dec 16)
8 ":append" and ":insert" in an empty file add an extra empty line. (Haakon
Riiser, 2003 Dec 3) Test for ML_EMPTY.
8 When stdin is not a tty, and Vim reads commands from it, an error should
make Vim exit.
7 Unix Vim (not gvim): Typing CTRL-C in Ex mode should finish the line
@@ -462,6 +405,8 @@ Vi incompatibility:
7 The ":undo" command works differently in Ex mode. Edit a file, make some
changes, "Q", "undo" and _all_ changes are undone, like the ":visual"
command was one command.
On the other hand, an ":undo" command in an Ex script only undoes the last
change (e.g., use two :append commands, then :undo).
7 The ":map" command output overwrites the command. Perhaps it should keep
the ":map" when it's used without arguments?
7 CTRL-L is not the end of a section? It is for Posix! Make it an option.
@@ -673,7 +618,7 @@ GUI:
9 On Solaris, creating the popup menu causes the right mouse button no
longer to work for extending the selection. (Halevy)
9 When running an external program, it can't always be killed with CTRL-C.
e.g. on Solaris 5.5, when using "K" (Keech). Other 'guipty' problems on
e.g., on Solaris 5.5, when using "K" (Keech). Other 'guipty' problems on
Solaris 2.6. (Marley)
9 On Solaris: Using a "-geometry" argument, bigger than the window where Vim
is started from, causes empty lines below the cmdline. (raf)
@@ -768,7 +713,7 @@ MSDOS/DJGPP:
sort of sleep, to avoid eating 50% of the CPU time. Test on an unpatched
Windows 95 system!
8 DJGPP: when shell is bash, make fails. (Donahoe)
7 Hitting CTRL-P twice quickly (e.g. in keyword completion) on a 8088
7 Hitting CTRL-P twice quickly (e.g., in keyword completion) on a 8088
machine, starts printer echo! (John Mullin).
7 MSDOS 16 bit version can't work with COMSPEC that has an argument, e.g.:
COMSPEC=C:\WINDOWS\COMMAND.COM /E:4096 (Bradley)
@@ -922,10 +867,6 @@ Macintosh:
Alternate one: http://www.pramodx.20m.com/tee_for_win32.htm, but Walter
Briscoe says it's not as good.
8 'fillchars' doesn't work for multi-byte characters.
9 Editing a XML file with a long line is extremely slow. Example file from
Randy Parker (Dec 13). Editing the dictionaries for engspchk plugin with
syntax highlighting is also very slow.
Limit the searching for items to a few hundred characters?
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
@@ -1062,6 +1003,7 @@ Macintosh:
":w!!" for that.
Or ask for permission to overwrite it (if file can be made writable) and
restore file to readonly afterwards.
Overwriting a file for which a swap file exists is similar issue.
7 When compiled with "xterm_clipboard", startup can be slower and might get
error message for invalid $DISPLAY. Try connecting to the X server in the
background (forked), so that Vim starts up quicker? Connect as soon as
@@ -1302,6 +1244,8 @@ Help:
User Friendlier:
8 Windows install with NSIS: make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
8 Windows install with install.exe: Use .exe instead of .bat files for
links, so that command line arguments are passed on unmodified? (Walter
Briscoe)
@@ -1327,6 +1271,36 @@ User Friendlier:
Alternative: use BufEnter and BufLeave autocommands.
8 make a vimtutor script for Amiga and other systems.
7 Add the arguments for configure to the ":version" output?
7 When Vim detects a file is being edited elsewhere and it's a gvim session
of the same user it should offer a "Raise" button, so that the other gvim
window can be displayed. (Eduard)
Spell checking:
9 Work together with OpenOffice.org to update the wordlists. (Adri Verhoef,
Aad Nales) Setup vim-spell maillist?
8 Charles Campbell asks for method to add "contained" groups to existing
syntax items (to add @Spell).
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
cluster" but change the contains list directly for matching syntax items.
8 Install spell files with src/main.aap.
- References: MySpell library (in OpenOffice.org).
http://spellchecker.mozdev.org/source.html
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
8 Make "en-rare" spell file? Ask Charles Campbell.
8 The English dictionaries for different regions are not consistent in their
use of words with a dash.
8 Alternate Dutch word list at www.nederlandsewoorden.nl (use script to
obtain). But new Myspell wordlist will come (Hagen)
7 Insert mode completion mechanism that uses the spell word lists.
8 Add hl groups to 'spelllang'?
:set spelllang=en_us,en-rare/SpellRare,en-math/SpellMath
More complicated: Regions with different languages? E.g., comments
in English, strings in German (po file).
8 Implement compound words when it works for Myspell. Current idea has the
problem that "foo/X" always allows "foofoo", there is no way to specify a
word can only be at the start or end, or that only certain words combine.
Diff mode:
@@ -1625,7 +1599,6 @@ Built-in script language:
Alternative: Support packages. {package-name}:{function-name}().
Packages are loaded automatically when first used, from
$VIMRUNTIME/packages (or use a search path).
7 Make globpath() also work with "**" and upwards search. (Brian Medley)
7 Add the markclear() function to delete a mark in another buffer. Charles
Campbell (2004 Jan 9)
http://mysite.verizon.net/astronaut/vim/index.html#Patch
@@ -1642,8 +1615,6 @@ Built-in script language:
.vim file. Problem: distribution.
3. Use a cache directory for each user. How to recognize which cached
file belongs to a sourced script?
7 Add "n" flag to search() function, just like searchpair(). (Alexey
Marinichev)
7 Add argument to winwidth() to subtract the space taken by 'foldcolumn',
signs and/or 'number'.
8 Add functions:
@@ -1665,7 +1636,6 @@ Built-in script language:
mapname({idx}, mode) return the name of the idx'th mapping.
Patch by Ilya Sher, 2004 Mar 4.
Return a list instead.
printf(format, arg, ..) How to prevent a crash???
char2hex() convert char string to hex string.
attributes() return file protection flags "drwxrwxrwx"
filecopy(from, to) Copy a file
@@ -1675,9 +1645,7 @@ Built-in script language:
inputrl() like input() but right-to-left
virtualmode() add argument to obtain whether "$" was used in
Visual block mode.
tagtype(tag) get type of tag (also checks if it exists)
getacp() Win32: get codepage (Glenn Maynard)
getbufline() get line from any buffer
deletebufline() delete line in any buffer
appendbufline() append line in any buffer
libcall() Allow more than one argument.
@@ -1847,8 +1815,6 @@ Messages:
lines that aren't executed? Perhaps move the echoing to do_cmdline()?
8 Use 'report' for ":bdel"? (Krishna) To avoid these messages when using a
script.
8 "vim --version" output goes to stderr, should be stdout. Can all output
from messages using printf() go to stdout?
- Delete message after new command has been entered and have waited for key.
Perhaps after ten seconds?
- Make message history available in "msg" variables: msg1, msg2, .. msg9.
@@ -1949,8 +1915,6 @@ Shared libraries:
Tags:
8 Add a command to jump to a certain kind of tag. Allow the user to specify
values for the optional fields. E.g., ":tag size type=m".
8 Add a function that returns the line in the tags file for a matching tag.
Can be used to extract more info (class name, inheritance, etc.) (Rico
Hendriks)
@@ -2111,12 +2075,6 @@ GUI:
7 Support "-visual <type>" command line argument.
VMS:
- Improvement: rewrite term/TTY handling.
- Improvement: create VMS GTK runtime libraries on OpenVMS 7.1-2 (today GTK
works just on 7.3).
Autocommands:
7 For autocommand events that trigger multiple times per buffer (e.g.,
CursorHold), go through the list once and cache the result for a specific
@@ -2366,6 +2324,14 @@ Insert mode:
'cindent', 'smartindent':
8 Wrong indent below ? : with ():
if ((a ? (b) : c) != 0)
aligns with ":".
8 Using "+" part of 'cinoptions' where it's not expected (Alexei Alexandrov):
if (a)
{
} else
asdf;
8 Wrong indent for ":" after a method with line break in arguments:
Foo::Foo (int one,
int two)
@@ -2710,6 +2676,8 @@ Searching:
Here $paren is evaluated when it's encountered. This is like a regexp
inside a regexp. In the above terms it would be:
\@((\([^()]\|\@g\)*)\)
7 Support for approximate-regexps to find similar words (agrep
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
8 Add an item for a big character range, so that one can search for a
chinese character: \z[234-1234] or \z[XX-YY] or \z[0x23-0x234].
7 Add an item stack to allow matching (). One side is "push X on
@@ -2945,18 +2913,16 @@ Options:
8 Make ":mksession" store buffer-specific options for the specific buffer.
8 With ":mksession" always store the 'sessionoptions' option, even when
"options" isn't in it. (St-Amant)
7 ":with option=value | command": temporarily set an option value and
restore it after the command has executed.
7 Setting an option always sets "w_set_curswant", while this is only
required for a few options. Only do it for those options to avoid the
side effect.
8 When using ":mksession", also store a command to reset all options to
their default value, before setting the options that are not at their
default value.
8 Should ":mksession" restore the current directory when writing the
session, or the directory where the session file is? Probably need a word
in 'sessionoptions' to make a choice:
"curdir" (cd to current directory when session file was generated)
"sessiondir" (cd to directory of session file)
"nodir" (don't cd at all)
7 With ":mksession" also store the tag stack and jump history. (Michal
Malecki)
8 Make "old" number options that really give a number of effects into string
options that are a comma separated list. The old number values should
also be supported.
@@ -3080,6 +3046,8 @@ Writing files:
Substitute:
8 Substitute with hex/unicode number "\%xff" and "\%uabcd". Just like
"\%uabcd" in search pattern.
8 Make it easier to replace in all files in the argument list. E.g.:
":argsub/oldword/newword/". Works like ":argdo %s/oldword/newword/g|w".
- :s///p prints the line after a substitution.
@@ -3161,6 +3129,10 @@ Debug mode:
Various improvements:
7 [t to move to previous xml/html tag (like "vatov"), ]t to move to next
("vatv").
7 [< to move to previous xml/html tag, e.g., previous <li>. ]< to move to
next <li>, ]< to next </li>, [< to previous </li>.
8 Add ":rename" command: rename the file of the current buffer and rename
the buffer. Buffer may be modified.
- Perhaps ":cexpr" could read errors from a list?
@@ -3206,7 +3178,6 @@ Various improvements:
9 Support ACLs on more systems.
7 Add ModeMsgVisual, ModeMsgInsert, etc. so that each mode message can be
highlighted differently.
8 Allow using "**" as a wildcard in commands like ":next" and ":args".
7 Add a message area for the user. Set some option to reserve space (above
the command line?). Use an ":echouser" command to display the message
(truncated to fit in the space).
@@ -3230,13 +3201,6 @@ Various improvements:
6 Add ":timer" command, to set a command to be executed at a certain
interval, or once after some time has elapsed. (Aaron)
8 Add ":confirm" handling in open_exfile(), for when file already exists.
8 Use confirm/dialog stuff to ask the user, when a file has changed outside
of Vim, if he wants to reload it. Triggered when focus gained, after
shell command, when entering another buffer, etc..
Also do this when editing a new file, and another application creates
the file before doing ":w" in Vim.
Also check if the file protection has changed. When checking a file into
RCS it is made read-only, when checking out it is made read-write.
8 When quitting with changed files, make the dialog list the changed file
and allow "write all", "discard all", "write some". The last one would
then ask "write" or "discard" for each changed file. Patch in HierAssist

View File

@@ -1,4 +1,4 @@
*usr_11.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*usr_11.txt* For Vim version 7.0aa. Last change: 2005 Jun 09
VIM USER MANUAL - by Bram Moolenaar
@@ -34,7 +34,7 @@ messages (with different file names, of course):
Using swap file ".help.txt.swp" ~
Original file "~/vim/runtime/doc/help.txt" ~
Recovery completed. You should check if everything is OK. ~
Recovery completed. You should check if everything is OK. ~
(You might want to write out this file under another name ~
and run diff with the original file to check for changes) ~
Delete the .swp file afterwards. ~

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.0aa. Last change: 2005 May 18
*usr_41.txt* For Vim version 7.0aa. Last change: 2005 Jun 09
VIM USER MANUAL - by Bram Moolenaar
@@ -612,13 +612,13 @@ List manipulation:
join() join List items into a String
string() String representation of a List
call() call a function with List as arguments
index() index of a value in a list
index() index of a value in a List
max() maximum value in a List
min() minimum value in a List
count() count number of times a value appears in a List
Dictionary manipulation:
get() get an entries without error for wrong key
get() get an entry without an error for a wrong key
len() number of entries in a Dictionary
has_key() check whether a key appears in a Dictionary
empty() check if Dictionary is empty
@@ -692,6 +692,7 @@ Buffers, windows and the argument list:
winnr() get the window number for the current window
bufwinnr() get the window number of a specific buffer
winbufnr() get the buffer number of a specific window
getbufline() get a list of lines from the specified buffer
getbufvar() get a variable value from a specific buffer
setbufvar() set a variable in a specific buffer
getwinvar() get a variable value from a specific window
@@ -1117,7 +1118,7 @@ over them: >
one ~
two ~
The will notice the items are not ordered. You can sort the list to get a
The will notice the keys are not ordered. You can sort the list to get a
specific order: >
:for key in sort(keys(uk2nl))
@@ -2237,8 +2238,8 @@ That script must define the "mylib#myfunction()" function.
You can put many other functions in the mylib.vim script, you are free to
organize your functions in library scripts. But you must use function names
where the part before the colon matches the script name. Otherwise Vim
would not know what script to load.
where the part before the '#' matches the script name. Otherwise Vim would
not know what script to load.
If you get really enthousiastic and write lots of library scripts, you may
want to use subdirectories. Example: >
@@ -2256,7 +2257,7 @@ Where the function is defined like this: >
endfunction
Notice that the name the function is defined with is exactly the same as the
name used for calling the function. And the part before the last colon
name used for calling the function. And the part before the last '#'
exactly matches the subdirectory and script name.
You can use the same mechanism for variables: >

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
*various.txt* For Vim version 7.0aa. Last change: 2005 Jun 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -14,7 +14,8 @@ Various commands *various*
1. Various commands *various-cmds*
*CTRL-L*
CTRL-L Clear and redraw the screen (later).
CTRL-L Clear and redraw the screen. The redraw may happen
later, after processing typeahead.
*:redr* *:redraw*
:redr[aw][!] Redraw the screen right now. When ! is included it is
@@ -288,7 +289,6 @@ N *+folding* |folding|
N *+gettext* message translations |multi-lang|
*+GUI_Athena* Unix only: Athena |GUI|
*+GUI_neXtaw* Unix only: neXtaw |GUI|
*+GUI_BeOS* BeOS only: BeOS |GUI|
*+GUI_GTK* Unix only: GTK+ |GUI|
*+GUI_Motif* Unix only: Motif |GUI|
*+GUI_Photon* QNX only: Photon |GUI|
@@ -392,20 +392,27 @@ N *+X11* Unix only: can restore window title |X11|
To stop the messages and commands from being echoed to
the screen, put the commands in a function and call it
with ":silent call Function()".
An alternative is to use the 'verbosefile' option,
this can be used in combination with ":redir".
{not in Vi}
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
already exists. {not in Vi}
:redi[r] @{a-zA-Z} Redirect messages to register {a-z}. Append to the
:redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the
contents of the register if its name is given
uppercase {A-Z}. {not in Vi}
uppercase {A-Z}. For backward compatibility, the ">"
after the register name can be omitted. {not in Vi}
:redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi}
:redi[r] @* Redirect messages to the clipboard. {not in Vi}
:redi[r] @*> Redirect messages to the clipboard. For backward
compatibility, the ">" after the register name can be
omitted. {not in Vi}
:redi[r] @*>> Append messages to the clipboard. {not in Vi}
:redi[r] @" Redirect messages to the unnamed register. {not in Vi}
:redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register
name can be omitted. {not in Vi}
:redi[r] @">> Append messages to the unnamed register. {not in Vi}
:redi[r] => {var} Redirect messages to a variable. If the variable
@@ -475,6 +482,8 @@ N *+X11* Unix only: can restore window title |X11|
:4verbose set verbose | set verbose
< verbose=4 ~
verbose=0 ~
For logging verbose messages in a file use the
'verbosefile' option.
*K*
K Run a program to lookup the keyword under the

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.0aa. Last change: 2005 May 19
*version7.txt* For Vim version 7.0aa. Last change: 2005 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,8 +21,11 @@ NEW FEATURES |new-7|
Vim script enhancements |new-vim-script|
Spell checking |new-spell|
KDE support |new-KDE|
MzScheme interface |new-MzScheme|
Printing multi-byte text |new-print-multi-byte|
Translated manual pages |new-manpage-trans|
Internal grep |new-vimgrep|
Scroll back in messages |new-scroll-back|
POSIX compatibility |new-posix|
Debugger support |new-debug-support|
Various new items |new-items-7|
@@ -59,6 +62,9 @@ In a |literal-string| a single quote can be doubled to get one.
":echo 'a''b'" would result in "a b", but now that two quotes stand for one it
results in "a'b".
When overwriting a file with ":w! fname" there was no warning for when "fname"
was being edited by another Vim. Vim now gives an error message |E768|.
Minor incompatibilities:
@@ -76,8 +82,9 @@ When ":file xxx" is used in a buffer without a name, the alternate file name
isn't set. This avoids creating buffers without a name that are not useful.
The "2html.vim" script now converts closed folds to HTML. This means the HTML
looks like its displayed, with the same folds open and closed. Use "zR" if no
folds should appear in the HTML. (partly by Carl Osterwisch)
looks like its displayed, with the same folds open and closed. Use "zR", or
"let html_ignore_folding=1", if no folds should appear in the HTML. (partly by
Carl Osterwisch)
Diff mode now is also converted as it is displayed.
Win32: The effect of the <F10> key depended on 'winaltkeys'. Now it depends
@@ -108,6 +115,9 @@ translated to <Home>, both for the keys and for mappings. Also for <xEnd>,
":put" now leaves the cursor on the last inserted line.
When a .gvimrc file exists then 'compatible' is off, just like when a ".vimrc"
file exists.
==============================================================================
NEW FEATURES *new-7*
@@ -141,6 +151,13 @@ with scripts, but they were slow and/or required an external program.
The 'spell' option is used to switch spell checking on or off.
The 'spelllang' option is used to specify the languages that are accepted.
The 'spellfile' option specifies where new words are added.
The 'spellsuggest' option specifies the methods used for making suggestions
The |[s| and |]s| commands can be used to move to the next or previous error.
The |zg| and |zw| commands can be used to add good and wrong words.
The |z?| command can be used to correct the word.
The |:mkspell| command is used to generate a Vim spell file from word lists.
The "undercurl" highlighting attribute was added to nicely point out spelling
mistakes in the GUI (based on patch from Marcin Dalecki).
@@ -148,7 +165,8 @@ The "guisp" color can be used to give it a color different from foreground and
background.
The number of possible different highlight attributes was raised from about
220 to over 30000. This allows for the attributes of spelling to be combined
with syntax highlighting attributes.
with syntax highlighting attributes. This is also used for syntax
highlighting.
Much more info here: |spell|.
@@ -191,6 +209,9 @@ The Unix Makefile installs the Italian manual pages in .../man/it/man1/,
standard for what encoding goes in the "it" directory, the 8-bit encoded file
is used there as a best guess.
Other languages are installed in similar places.
The translated pages are not automatically installed when Vim was configured
with "--disable-nls", but "make install-languages install-tool-languages" will
do it anyway.
Internal grep *new-vimgrep*
@@ -205,6 +226,24 @@ patterns, this also allows grepping in compressed and remote files.
If you want to use the search results in a script you can use the
|getqflist()| function.
To search in files in various directories the "**" pattern can be used. It
expands into an arbitrary depth of directories. "**" can be used in all
places where file names are expanded, thus also with |:next| and |:args|.
Scroll back in messages *new-scroll-back*
-----------------------
When displaying messages, at the |more-prompt| and the |hit-enter-prompt|, The
'k', 'u' and 'b' keys can be used to scroll back to previous messages. This
is especially useful for commands such as ":syntax", ":autocommand" and
":highlight". This is implemented in a generic way thus it works for all
commands and highlighting is kept. Only works when the 'more' option is set.
Previously it only partly worked for ":clist".
The |g<| command can be used to see the last page of messages after you have
hit <Enter> at the |hit-enter-prompt|. Then you can scroll further back.
POSIX compatibility *new-posix*
-------------------
@@ -248,7 +287,8 @@ Items that were fixed for both Vi and POSIX compatibilty:
- Autoindent for ":change" is using the first changed line.
- Editing Ex command lines is not done in cooked mode, because CTRL-D and
CTRL-T cannot be handled then.
- In Ex mode, "1,3" prints three lines.
- In Ex mode, "1,3" prints three lines. "%" prints all lines.
- In Ex mode "undo" would undo all changes since Ex mode was started.
- Implemented the 'prompt' option.
@@ -271,6 +311,9 @@ i", i' and i' (Taro Muraoka)
CTRL-W <Enter> In the quickfix window: opens a new window to show the
location of the error under the cursor.
|at| and |it| text objects select a block of text between HTML or XML tags.
Options: ~
'completefunc' The name of a function used for user-specified Insert
@@ -292,6 +335,10 @@ Options: ~
(idea by Hugo Haas)
'spell' switch spell checking on/off
'spelllang' languages to check spelling for
'spellsuggest' methods for spell suggestions
'synmaxcol' maximum column to look for syntax items; avoids very
slow redrawing when there are very long lines
'verbosefile' Log messages in a file.
Ex commands: ~
@@ -318,12 +365,22 @@ Win32: The ":winpos" command now also works in the console. (Vipin Aravind)
|:cbuffer| Read error lines from a buffer. (partly by Yegappan
Lakshmanan)
|:sort| Sort lines in the buffer without depending on an
external command.
|:caddfile| Add error messages to an existing quickfix list
(Yegappan Lakshmanan).
|:cexpr| Read error messages from a Vim expression (Yegappan
Lakshmanan).
New functions: ~
|add()| append an item to a List
|append()| append List of lines to the buffer
|browsedir()| Dialog to select a directory.
|byteidx()| Index of a character. (Ilya Sher)
|browsedir()| dialog to select a directory
|byteidx()| index of a character (Ilya Sher)
|call()| call a function with List as arguments
|copy()| make a shallow copy of a List or Dictionary
|count()| count nr of times a value is in a List or Dictionary
@@ -333,15 +390,17 @@ New functions: ~
|extend()| append one List to another or add items from one
Dictionary to another
|filter()| remove selected items from a List or Dictionary
|finddir()| Find a directory in 'path'.
|findfile()| Find a file in 'path'. (Johannes Zellner)
|foldtextresult()| The text displayed for a closed fold at line "lnum".
|finddir()| find a directory in 'path'
|findfile()| find a file in 'path' (Johannes Zellner)
|foldtextresult()| the text displayed for a closed fold at line "lnum"
|function()| make a Funcref out of a function name
|get()| get an item from a List or Dictionary
|getfontname()| Get actual font name being used.
|getfperm()| Get file permission string. (Nikolai Weibull)
|getftype()| Get type of file. (Nikolai Weibull)
|getline()| With second argument: get List with buffer lines
|getbufline()| get a list of lines from a specified buffer
(Yegappan Lakshmanan)
|getfontname()| get actual font name being used
|getfperm()| get file permission string (Nikolai Weibull)
|getftype()| get type of file (Nikolai Weibull)
|getline()| with second argument: get List with buffer lines
|has_key()| check whether a key appears in a Dictionary
|insert()| insert an item somewhere in a List
|items()| get List of Dictionary key-value pairs
@@ -353,17 +412,21 @@ New functions: ~
|max()| maximum value in a List or Dictionary
|min()| minimum value in a List or Dictionary
|mkdir()| create a directory
|printf()| format text
|readfile()| read a file into a list of lines
|remove()| remove one or more items from a List or Dictionary
|repeat()| Repeat "expr" "count" times. (Christophe Poucet)
|repeat()| repeat "expr" "count" times (Christophe Poucet)
|reverse()| reverse the order of a List
|setqflist()| create a quickfix list (Yegappan Lakshmanan)
|sort()| sort a List
|soundfold()| get the sound-a-like equivalent of a word
|split()| split a String into a List
|string()| String representation of a List or Dictionary
|system()| Filters {input} through a shell command.
|taglist()| Get list of matching tags. (Yegappan Lakshmanan)
|tr()| Translate characters. (Ron Aaron)
|spellbadword()| get a badly spelled word
|spellsuggest()| get suggestions for correct spelling
|string()| string representation of a List or Dictionary
|system()| filters {input} through a shell command
|taglist()| get list of matching tags (Yegappan Lakshmanan)
|tr()| translate characters (Ron Aaron)
|values()| get List of Dictionary values
|writefile()| write a list of lines into a file
@@ -415,6 +478,12 @@ PHP compiler plugin. (Doug Kearns)
Sive syntax file. (Nikolai Weibull)
Pascal indent file. (Neil Carter)
Many filetype plugins and others from Nikolai Weibull.
Xquery syntax file. (Jean-Marc Vanel)
Moved all the indent settings from the filetype plugin to the indent file.
Implemented b:undo_indent to undo indent settings when setting 'filetype' to a
different value.
@@ -568,12 +637,18 @@ When a register is empty it is not stored in the viminfo file.
Removed the tcltags script, it's obsolete.
":redir @*>" and ":redir @+>" append to the clipboard. Better check for
":redir @*>>" and ":redir @+>>" append to the clipboard. Better check for
invalid characters after the register name. |:redir|
":redir => variable" and ":redir =>> variable" write or append to a variable.
(Yegappan Lakshmanan) |:redir|
":redir @{a-z}>>" appends to register a to z. (Yegappan Lakshmanan)
The 'verbosefile' option can be used to log messages in a file. Verbose
messages are not displayed then. The "-V{filename}" argument can be used to
log startup messages.
":let g:" lists global variables.
":let b:" lists buffer-local variables.
":let w:" lists window-local variables.
@@ -582,6 +657,12 @@ invalid characters after the register name. |:redir|
The stridx() and strridx() functions take a third argument, where to start
searching. (Yegappan Lakshmanan)
The getreg() function takes an extra argument to be able to get the expression
for the '=' register instead of the result of evaluating it.
The setline() function can take a List argument to set multiple lines. When
the line number is just below the last line the line is appended.
g CTRL-G also shows the number of characters if it differs from the number of
bytes.
@@ -622,6 +703,37 @@ Added the "%s" item to 'errorformat'. (Yegappan Lakshmanan)
GTK GUI: use the GTK file dialog when it's available. Mix from patches by
Grahame Bowland and Evan Webb.
Added ":scriptnames" to bugreport.vim, so that we can see what plugins were
used.
Win32: If the user changes the setting for the number of lines a scroll wheel
click scrolls it is now used immediately. Previously Vim would need to be
restarted.
When using @= in an expression the value is expression @= contains. ":let @=
= value" can be used to set the register contents.
A ! can be added to ":popup" to have the popup menu appear at the mouse
pointer position instead of the text cursor.
The table with encodings has been expanded with many MS-Windows codepages,
such as cp1250 and cp737, so that these can also be used on Unix without
prepending "8bit-".
Added the "customlist" completion argument to a user-defined command. The
user-defined completion function should return the completion candidates as a
Vim List and the returned results are not filtered by Vim. (Yegappan
Lakshmanan)
Win32: Balloons can have multiple lines if common controls supports it.
(Sergey Khorev)
The 's' flag is added to the search() and searchpair() function to set the
' mark if the cursor is moved. (Yegappan Lakshmanan)
When 'verbose' is set the output of ":highlight" will show where a highlight
item was last set.
==============================================================================
COMPILE TIME CHANGES *compile-changes-7*
@@ -639,6 +751,20 @@ file.
When running the tests and one of them fails to produce "test.out" the
following tests are still executed. This helps when running out of memory.
When compiling with EXITFREE defined and the ccmalloc library it is possible
to detect memory leaks. Some memory will always reported as leaked, such as
allocated by X11 library functions and the memory allocated in alloc_cmdbuff()
to store the ":quit" command.
Moved the code for printing to src/hardcopy.c.
Moved some code from main() to separate functions to make it easier to see
what is being done. Use a structure to avoid a lot of arguments to the
functions.
Moved unix_expandpath() to misc1.c, so that it can also be used by os_mac.c
without copying the code.
==============================================================================
BUG FIXES *bug-fixes-7*
@@ -1047,6 +1173,7 @@ reallocating the buffer every time. (Alexei Alexandrov)
When using a Python "atexit" function it was not invoked when Vim exits. Now
call Py_Finalize() for that. (Ugo Di Girolamo)
This breaks the thread stuff though, fixed by Ugo.
GTK GUI: using a .vimrc with "set cmdheight=2 lines=43" and ":split" right
after startup, the window layout is messed up. (Michael Schaap) Added
@@ -1072,4 +1199,55 @@ Use of sprintf() sometimes didn't check properly for buffer overflow. Also
when using smsg(). Included code for snprintf() to avoid having to do size
checks where invoking them
":help \=<Tab>" didn't find "sub-replace-\=". Wild menu for help tags didn't
show backslashes. ":he :s\=" didn't work.
When reading an errorfile "~/" in a file name was not expanded.
GTK GUI: When adding a scrollbar (e.g. when using ":vsplit") in a script or
removing it the window size may change. GTK sends us resize events when we
change the window size ourselves, but they may come at an unexpected moment.
Peek for a character to get any window resize events and fix 'columns' and
'lines' to undo this.
After deleting files from the argument list a session file generated with
":mksession" may contain invalid ":next" commands.
When 'shortmess' is empty and 'keymap' set to accents, in Insert mode CTRL-N
may cause the hit-enter prompt. Typing 'a then didn't result in the accented
character. Put the character typed at the prompt back in the typeahead buffer
so that mapping is done in the right mode.
setbufvar() and setwinvar() did not give error messages.
It was possible to set a variable with an illegal name, e.g. with setbufvar().
It was possible to define a function with illegal name, e.t. ":func F{-1}()"
CTRL-W F and "gf" didn't use the same method to get the file name.
When reporting a conversion error the line number of the last error could be
given. Now report the first encountered error.
When using ":e ++enc=name file" and iconv() was used for conversion an error
caused a fallback to no conversion. Now replace a character with '?' and
continue.
When opening a new buffer the local value of 'bomb' was not initialized from
the global value.
Win32: When using the "Edit with Vim" entry the file name was limited to about
200 characters.
When using command line completion for ":e *foo" and the file "+foo" exists
the resulting command ":e +foo" doesn't work. Now insert a backslash: ":e
\+foo".
When the translation of "-- More --" was not 10 characters long the following
message would be in the wrong position.
At the more-prompt the last character in the last line wasn't drawn.
When deleting non-existing text while 'virtualedit' is set the '[ and '] marks
were not set.
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -33,7 +33,7 @@ changes in a fold. 'foldcolumn' is set to two to make it easy to spot the
folds and open or close them.
.SH OPTIONS
Vertical splits are used to align the lines, as if the "\-O" argument was used.
To use horizontal splits intead, use the "\-o" argument.
To use horizontal splits instead, use the "\-o" argument.
.PP
For all other arguments see vim(1).
.SH SEE ALSO

View File

@@ -30,7 +30,7 @@ DESCRIPTION
OPTIONS
Vertical splits are used to align the lines, as if the "-O" argument
was used. To use horizontal splits intead, use the "-o" argument.
was used. To use horizontal splits instead, use the "-o" argument.
For all other arguments see vim(1).

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 May 18
" Last Change: 2005 Jul 13
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -71,6 +71,9 @@ endfun
" A-A-P recipe
au BufNewFile,BufRead *.aap setf aap
" A2ps printing utility
au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
" ABAB/4
au BufNewFile,BufRead *.abap setf abap
@@ -194,6 +197,9 @@ au BufNewFile,BufRead *.atl,*.as setf atlas
" Automake
au BufNewFile,BufRead [mM]akefile.am setf automake
" Autotest .at files are actually m4
au BufNewFile,BufRead *.at setf m4
" Avenue
au BufNewFile,BufRead *.ave setf ave
@@ -448,6 +454,12 @@ au BufNewFile,BufRead *.d setf d
" Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop
" Dict config
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
" Dictd config
au BufNewFile,BufRead dictd.conf setf dictdconf
" Diff files
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
@@ -528,6 +540,9 @@ au BufNewFile,BufRead *esmtprc setf esmtprc
" ESQL-C
au BufNewFile,BufRead *.ec,*.EC setf esqlc
" Esterel
au BufNewFile,BufRead *.strl setf esterel
" Essbase script
au BufNewFile,BufRead *.csc setf csc
@@ -540,6 +555,9 @@ au BufNewFile,BufRead *.exp setf expect
" Exports
au BufNewFile,BufRead exports setf exports
" Factor
au BufNewFile,BufRead *.factor setf factor
" Fetchmail RC file
au BufNewFile,BufRead .fetchmailrc setf fetchmail
@@ -591,6 +609,9 @@ au BufNewFile,BufRead *.groovy setf groovy
" GNU Server Pages
au BufNewFile,BufRead *.gsp setf gsp
" Group file
au BufNewFile,BufRead /etc/group setf group
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
@@ -663,6 +684,9 @@ au BufNewFile,BufRead */.icewm/menu setf icemenu
" IDL (Interactive Data Language)
au BufNewFile,BufRead *.pro setf idlang
" Indent RC
au BufNewFile,BufRead indentrc setf indentrc
" Inform
au BufNewFile,BufRead .indent.pro setf indent
@@ -727,18 +751,27 @@ au BufNewFile,BufRead *.ace,*.ACE setf lace
" Latte
au BufNewFile,BufRead *.latte,*.lte setf latte
" Limits
au BufNewFile,BufRead /etc/limits setf limits
" LambdaProlog (*.mod too, see Modsim)
au BufNewFile,BufRead *.sig setf lprolog
" LDAP LDIF
au BufNewFile,BufRead *.ldif setf ldif
" Ld loader
au BufNewFile,BufRead *.ld setf ld
" Lex
au BufNewFile,BufRead *.lex,*.l setf lex
" Libao
au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao
" Libsensors
au BufNewFile,BufRead /etc/sensors.conf setf sensors
" LFTP
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
@@ -755,9 +788,18 @@ else
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp
endif
" SBCL implementation of Common Lisp
au BufNewFile,BufRead sbclrc,.sbclrc setf lisp
" Lite
au BufNewFile,BufRead *.lite,*.lt setf lite
" Login access
au BufNewFile,BufRead /etc/login.access setf loginaccess
" Login defs
au BufNewFile,BufRead /etc/login.defs setf logindefs
" Logtalk
au BufNewFile,BufRead *.lgt setf logtalk
@@ -795,6 +837,9 @@ au BufNewFile,BufRead *.ist,*.mst setf ist
" Manpage
au BufNewFile,BufRead *.man setf man
" Man config
au BufNewFile,BufRead /etc/man.conf setf manconf
" Maple V
au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
@@ -911,6 +956,9 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Muttrc setf muttrc
au BufNewFile,BufRead .muttrc*,*/.mutt/muttrc* call s:StarSetf('muttrc')
" Nano
au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@@ -984,9 +1032,15 @@ au BufNewFile,BufRead *.ora setf ora
" Packet filter conf
au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead /etc/pam.conf setf pamconf
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
" Password file
au BufNewFile,BufRead /etc/passwd,/etc/shadow,/etc/shadow- setf passwd
" Pascal (also *.p)
au BufNewFile,BufRead *.pas setf pascal
@@ -1198,6 +1252,9 @@ au BufNewFile,BufRead INDEX,INFO
" Prolog
au BufNewFile,BufRead *.pdb setf prolog
" Protocols
au BufNewFile,BufRead /etc/protocols setf protocols
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
@@ -1317,6 +1374,21 @@ au BufNewFile,BufRead sendmail.cf setf sm
" Sendmail .mc files are actually m4
au BufNewFile,BufRead *.mc setf m4
" Services
au BufNewFile,BufRead /etc/services setf services
" Service Location config
au BufNewFile,BufRead /etc/slp.conf setf slpconf
" Service Location registration
au BufNewFile,BufRead /etc/slp.reg setf slpreg
" Service Location SPI
au BufNewFile,BufRead /etc/slp.spi setf slpspi
" Setserial config
au BufNewFile,BufRead /etc/serial.conf setf setserial
" SGML
au BufNewFile,BufRead *.sgm,*.sgml
\ if getline(1).getline(2).getline(3).getline(4).getline(5) =~? 'linuxdoc' |
@@ -1433,7 +1505,7 @@ au BufNewFile,BufRead *.sim setf simula
au BufNewFile,BufRead *.sin,*.s85 setf sinda
" SKILL
au BufNewFile,BufRead *.il setf skill
au BufNewFile,BufRead *.il,*.ils,*.cdf setf skill
" SLRN
au BufNewFile,BufRead .slrnrc setf slrnrc
@@ -1529,6 +1601,9 @@ au BufNewFile,BufRead *.stp setf stp
" Standard ML
au BufNewFile,BufRead *.sml setf sml
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
" Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
@@ -1555,7 +1630,27 @@ au BufNewFile,BufRead *.slt setf tsalt
au BufNewFile,BufRead *.ti setf terminfo
" TeX
au BufNewFile,BufRead *.tex,*.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.latex,*.sty,*.dtx,*.ltx,*.bbl setf tex
au BufNewFile,BufRead *.tex call s:FTtex()
fun! s:FTtex()
let n = 1
while n < 10 && n < line("$")
let line = getline(n)
if line =~ '^\s*\\\%(documentclass\>\|usepackage\>\|begin{\)'
setf tex
return
elseif line =~ '^\s*\\\%(start\l\+\|setup\l\+\|usemodule\)\>'
setf context
return
endif
let n = n + 1
endwhile
setf tex
endfun
" Context
au BufNewFile,BufRead tex/context/*/*.tex setf context
" Texinfo
au BufNewFile,BufRead *.texinfo,*.texi,*.txi setf texinfo
@@ -1584,15 +1679,30 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil
" Udev conf
au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
" Udev rules
au BufNewFile,BufRead /etc/udev/rules.d/*.rules setf udevrules
" Udev permissions
au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
"
" Udev symlinks config
au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
" Verilog HDL
au BufNewFile,BufRead *.v setf verilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
" Vim script
au BufNewFile,BufRead *.vim,.exrc,_exrc setf vim
@@ -1667,6 +1777,9 @@ au BufNewFile,BufRead XF86Config
" Xorg config
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.conf setf xinetd
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -1696,6 +1809,12 @@ au BufNewFile,BufRead *.csproj,*.csproj.user setf xml
" Qt Linguist translation source and Qt User Interface Files are XML
au BufNewFile,BufRead *.ts,*.ui setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
" Xquery
au BufNewFile,BufRead *.xq,*.xql,*.xqm,*.xquery,*.xqy setf xquery
" XSD
au BufNewFile,BufRead *.xsd setf xsd
@@ -1703,7 +1822,23 @@ au BufNewFile,BufRead *.xsd setf xsd
au BufNewFile,BufRead *.xsl,*.xslt setf xslt
" Yacc
au BufNewFile,BufRead *.y,*.yy setf yacc
au BufNewFile,BufRead *.yy setf yacc
" Yacc or racc
au BufNewFile,BufRead *.y call s:FTy()
fun! s:FTy()
let n = 1
while n < 10 && n < line("$")
if getline(n) =~ '^\s*\(#\|class\>\)'
setf racc
return
endif
let n = n + 1
endwhile
setf yacc
endfun
" Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml
@@ -1779,6 +1914,9 @@ au! BufNewFile,BufRead *jarg*
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
" Ruby Makefile
au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
@@ -1788,6 +1926,9 @@ au BufNewFile,BufRead muttrc*,Muttrc* call s:StarSetf('muttrc')
" Nroff macros
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
" Pam conf
au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf')
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
\ if !did_filetype()
@@ -1819,6 +1960,9 @@ au BufNewFile,BufRead XF86Config*
" X11 xmodmap
au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd')
" Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')

View File

@@ -1,125 +1,125 @@
" Vim filetype plugin file utility
" Language: * (various)
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Date: 6/30/2004
" The start of match (b:SOM) default is:
" '\<'
" The end of match (b:EOM) default is:
" '\>'
"
" If you want to use some other start/end of match, just assign the
" value to the b:SOM|EOM variable in your filetype script.
"
" SEE: :h pattern.txt
" :h pattern-searches
" :h regular-expression
" :h matchit
let s:myName=expand("<sfile>:t")
" matchit.vim not loaded -- don't do anyting
if !exists("loaded_matchit")
echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
finish
endif
" already been here -- don't redefine
if exists("*AppendMatchGroup")
finish
endif
" Function To Build b:match_words
" The following function, 'AppendMatchGroup', helps to increase
" readability of your filetype script if you choose to use matchit.
" It also precludes many construction errors, reducing the
" construction to simply invoking the function with the match words.
" As an example, let's take the ubiquitous if/then/else/endif type
" of construct. This is how the entry in your filetype script would look.
"
" " source the AppendMatchGroup function file
" runtime ftplugin/AppendMatchGroup.vim
"
" " fill b:match_words
" call AppendMatchGroup('if,then,else,endif')
"
" And the b:match_words constructed would look like:
"
" \<if\>:\<then\>:\<else\>:\<endif\>
"
" Use of AppendMatchGroup makes your filetype script is a little
" less busy and a lot more readable. Additionally, it
" checks three critical things:
"
" 1) Do you have at least 2 entries in your match group.
"
" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
"
" 3) If the buffer variable 'b:match_words' does exist, is the last
" character a ','? If not, add it before appending.
"
" You should now be able to match 'if/then/else/endif' in succession
" in your source file, in just about any construction you may have
" chosen for them.
"
" To add another group, simply call 'AppendMatchGroup again. E.G.:
"
" call AppendMatchGroup('while,do,endwhile')
function AppendMatchGroup(mwordList)
let List=a:mwordList
let Comma=match(List,',')
if Comma == -1 || Comma == strlen(List)-1
echoerr "Must supply a comma separated list of at least 2 entries."
echoerr "Supplied list: <".List.">"
return
endif
let listEntryBegin=0
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces || List is empty || List is all spaces
if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
\ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
echoerr "Can't use all spaces for an entry <".listEntry.">"
echoerr "Remaining supplied list: <".List.">"
return
endif
if !exists("b:SOM")
let b:SOM='\<'
endif
if !exists("b:EOM")
let b:EOM='\>'
endif
if !exists("b:match_words")
let b:match_words=''
endif
if b:match_words != '' && match(b:match_words,',$') == -1
let b:match_words=b:match_words.','
endif
" okay, all set add first entry in this list
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
while Comma != -1
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces
if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
echoerr "Remaining supplied list: <".List.">"
continue
endif
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
endwhile
let listEntry=List
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
endfunction
" TODO: Write a wrapper to handle multiple groups in one function call.
" Don't see a lot of utility in this as it would undoubtedly warrant
" continuation lines in the filetype script and it would be a toss
" up as to which is more readable: individual calls one to a line or
" a single call with continuation lines. I vote for the former.
" Vim filetype plugin file utility
" Language: * (various)
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Date: 6/30/2004
" The start of match (b:SOM) default is:
" '\<'
" The end of match (b:EOM) default is:
" '\>'
"
" If you want to use some other start/end of match, just assign the
" value to the b:SOM|EOM variable in your filetype script.
"
" SEE: :h pattern.txt
" :h pattern-searches
" :h regular-expression
" :h matchit
let s:myName=expand("<sfile>:t")
" matchit.vim not loaded -- don't do anyting
if !exists("loaded_matchit")
echomsg s:myName.": matchit.vim not loaded -- finishing without loading"
finish
endif
" already been here -- don't redefine
if exists("*AppendMatchGroup")
finish
endif
" Function To Build b:match_words
" The following function, 'AppendMatchGroup', helps to increase
" readability of your filetype script if you choose to use matchit.
" It also precludes many construction errors, reducing the
" construction to simply invoking the function with the match words.
" As an example, let's take the ubiquitous if/then/else/endif type
" of construct. This is how the entry in your filetype script would look.
"
" " source the AppendMatchGroup function file
" runtime ftplugin/AppendMatchGroup.vim
"
" " fill b:match_words
" call AppendMatchGroup('if,then,else,endif')
"
" And the b:match_words constructed would look like:
"
" \<if\>:\<then\>:\<else\>:\<endif\>
"
" Use of AppendMatchGroup makes your filetype script is a little
" less busy and a lot more readable. Additionally, it
" checks three critical things:
"
" 1) Do you have at least 2 entries in your match group.
"
" 2) Does the buffer variable 'b:match_words' exist? if not, create it.
"
" 3) If the buffer variable 'b:match_words' does exist, is the last
" character a ','? If not, add it before appending.
"
" You should now be able to match 'if/then/else/endif' in succession
" in your source file, in just about any construction you may have
" chosen for them.
"
" To add another group, simply call 'AppendMatchGroup again. E.G.:
"
" call AppendMatchGroup('while,do,endwhile')
function AppendMatchGroup(mwordList)
let List=a:mwordList
let Comma=match(List,',')
if Comma == -1 || Comma == strlen(List)-1
echoerr "Must supply a comma separated list of at least 2 entries."
echoerr "Supplied list: <".List.">"
return
endif
let listEntryBegin=0
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces || List is empty || List is all spaces
if (match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1)
\ || List == '' || (match(List,'\s\+') == 0 && match(List,'\S\+') == -1)
echoerr "Can't use all spaces for an entry <".listEntry.">"
echoerr "Remaining supplied list: <".List.">"
return
endif
if !exists("b:SOM")
let b:SOM='\<'
endif
if !exists("b:EOM")
let b:EOM='\>'
endif
if !exists("b:match_words")
let b:match_words=''
endif
if b:match_words != '' && match(b:match_words,',$') == -1
let b:match_words=b:match_words.','
endif
" okay, all set add first entry in this list
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
while Comma != -1
let listEntryEnd=Comma
let listEntry=strpart(List,listEntryBegin,listEntryEnd-listEntryBegin)
let List=strpart(List,Comma+1)
let Comma=match(List,',')
" if listEntry is all spaces
if match(listEntry,'\s\+') == 0 && match(listEntry,'\S\+') == -1
echoerr "Can't use all spaces for an entry <".listEntry."> - skipping"
echoerr "Remaining supplied list: <".List.">"
continue
endif
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM.':'
endwhile
let listEntry=List
let b:match_words=b:match_words.b:SOM.listEntry.b:EOM
endfunction
" TODO: Write a wrapper to handle multiple groups in one function call.
" Don't see a lot of utility in this as it would undoubtedly warrant
" continuation lines in the filetype script and it would be a toss
" up as to which is more readable: individual calls one to a line or
" a single call with continuation lines. I vote for the former.

14
runtime/ftplugin/a2ps.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: a2ps(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*Include:
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: alsaconf(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/arch.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: GNU Arch inventory file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,11 +1,10 @@
" Vim filetype plugin file
" Langugage: Automake
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/automake/
" Latest Revision: 2004-05-22
" arch-tag: 3a78b0cd-27b2-410a-8e7b-51a1717c2a5b
" Language: Automake
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-22
if exists("b:did_ftplugin")
finish
endif
" Same as makefile filetype plugin for now.
runtime! ftplugin/make.vim ftplugin/make_*.vim ftplugin/make/*.vim
" vim: set sts=2 sw=2:

14
runtime/ftplugin/bdf.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: BDF font definition
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=b:COMMENT commentstring=COMMENT\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Mar 27
" Last Change: 2005 Jun 22
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -12,6 +12,7 @@ endif
let b:did_ftplugin = 1
" Using line continuation here.
let s:cpo_save = &cpo
set cpo-=C
let b:undo_ftplugin = "setl fo< com< | if has('vms') | setl isk< | endif"
@@ -48,3 +49,6 @@ if has("gui_win32") && !exists("b:browsefilter")
\ "All Files (*.*)\t*.*\n"
endif
endif
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: calendar(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring& include&
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,24 +1,22 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/changelog/
" Latest Revision: 2004-04-25
" arch-tag: b00e2974-c559-4477-b7b2-3ef3f4061bdb
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
" Variables:
" g:changelog_timeformat -
" description: the timeformat used in ChangeLog entries.
" default: "%Y-%m-%d".
" description: the timeformat used in ChangeLog entries.
" default: "%Y-%m-%d".
" g:changelog_username -
" description: the username to use in ChangeLog entries
" default: try to deduce it from environment variables and system files.
" description: the username to use in ChangeLog entries
" default: try to deduce it from environment variables and system files.
" Local Mappings:
" <Leader>o -
" adds a new changelog entry for the current user for the current date.
" adds a new changelog entry for the current user for the current date.
" Global Mappings:
" <Leader>o -
" switches to the ChangeLog buffer opened for the current directory, or
" opens it in a new buffer if it exists in the current directory. Then
" it does the same as the local <Leader>o described above.
" switches to the ChangeLog buffer opened for the current directory, or
" opens it in a new buffer if it exists in the current directory. Then
" it does the same as the local <Leader>o described above.
" Notes:
" run 'runtime ftplugin/changelog.vim' to enable the global mapping for
" changelog files.
@@ -28,16 +26,13 @@
" If 'filetype' isn't "changelog", we must have been to add ChangeLog opener
if &filetype == "changelog"
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let cpo_save = &cpo
set cpo-=C
let s:cpo_save = &cpo
set cpo&vim
" The format of the date-time field (should have been called dateformat)
if !exists("g:changelog_timeformat")
@@ -55,56 +50,56 @@ if &filetype == "changelog"
" Get the users login name
let login = system('whoami')
if v:shell_error
let login = 'unknown'
let login = 'unknown'
else
let newline = stridx(login, "\n")
if newline != -1
let login = strpart(login, 0, newline)
endif
let newline = stridx(login, "\n")
if newline != -1
let login = strpart(login, 0, newline)
endif
endif
" Try to full name from gecos field in /etc/passwd
if filereadable('/etc/passwd')
let name = substitute(
\system('cat /etc/passwd | grep ^`whoami`'),
\'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
let name = substitute(
\system('cat /etc/passwd | grep ^`whoami`'),
\'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
endif
" If there is no such file, or there was some other problem try
" others
if !filereadable('/etc/passwd') || v:shell_error
" Maybe the environment has something of interest
if exists("$NAME")
let name = $NAME
else
" No? well, use the login name and capitalize first
" character
let name = toupper(login[0]) . strpart(login, 1)
endif
" Maybe the environment has something of interest
if exists("$NAME")
let name = $NAME
else
" No? well, use the login name and capitalize first
" character
let name = toupper(login[0]) . strpart(login, 1)
endif
endif
" Only keep stuff before the first comma
let comma = stridx(name, ',')
if comma != -1
let name = strpart(name, 0, comma)
let name = strpart(name, 0, comma)
endif
" And substitute & in the real name with the login of our user
let amp = stridx(name, '&')
if amp != -1
let name = strpart(name, 0, amp) . toupper(login[0]) .
\strpart(login, 1) . strpart(name, amp + 1)
let name = strpart(name, 0, amp) . toupper(login[0]) .
\strpart(login, 1) . strpart(name, amp + 1)
endif
" Get our hostname
let hostname = system("hostname")
if v:shell_error
let hostname = 'unknownhost'
let hostname = 'unknownhost'
else
let newline = stridx(hostname, "\n")
if newline != -1
let hostname = strpart(hostname, 0, newline)
endif
let newline = stridx(hostname, "\n")
if newline != -1
let hostname = strpart(hostname, 0, newline)
endif
endif
" And finally set the username
@@ -134,15 +129,15 @@ if &filetype == "changelog"
while i != -1
let char = str[i + 1]
if char == '%'
let middle = '%'
let middle = '%'
elseif char == 'd'
let middle = a:date
let middle = a:date
elseif char == 'u'
let middle = a:user
let middle = a:user
elseif char == 'c'
let middle = '{cursor}'
let middle = '{cursor}'
else
let middle = char
let middle = char
endif
let str = strpart(str, 0, i) . middle . strpart(str, i + 2)
let i = stridx(str, '%')
@@ -169,17 +164,17 @@ if &filetype == "changelog"
" Look for an entry for today by our user
let date = strftime(g:changelog_timeformat)
let search = s:substitute_items(g:changelog_date_entry_search, date,
\g:changelog_username)
\g:changelog_username)
if search(search) > 0
" Ok, now we look for the end of the date-entry, and add an entry
let pos = nextnonblank(line('.') + 1)
let line = getline(pos)
while line =~ '^\s\+\S\+'
let pos = pos + 1
let line = getline(pos)
let pos = pos + 1
let line = getline(pos)
endwhile
let insert = s:substitute_items(g:changelog_new_entry_format,
\'', '')
\'', '')
execute "normal! ".(pos - 1)."Go".insert
execute pos
else
@@ -188,18 +183,18 @@ if &filetype == "changelog"
" No entry today, so create a date-user header and insert an entry
let todays_entry = s:substitute_items(g:changelog_new_date_format,
\date, g:changelog_username)
\date, g:changelog_username)
" Make sure we have a cursor positioning
if stridx(todays_entry, '{cursor}') == -1
let todays_entry = todays_entry.'{cursor}'
let todays_entry = todays_entry.'{cursor}'
endif
" Now do the work
execute "normal! i".todays_entry
if remove_empty
while getline('$') == ''
$delete
endwhile
while getline('$') == ''
$delete
endwhile
endif
1
@@ -216,7 +211,7 @@ if &filetype == "changelog"
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
endif
let b:undo_ftplugin = "setl com< tw< fo< et<"
let b:undo_ftplugin = "setl com< tw< fo< et< ai<"
if &textwidth == 0
setlocal textwidth=78
@@ -224,9 +219,10 @@ if &filetype == "changelog"
setlocal comments=
setlocal formatoptions+=t
setlocal noexpandtab
" setlocal autoindent now in indent file
setlocal autoindent
let &cpo = cpo_save
let &cpo = s:cpo_save
unlet s:cpo_save
else
" Add the Changelog opening mapping
nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
@@ -234,23 +230,21 @@ else
function! s:open_changelog()
if filereadable('ChangeLog')
if bufloaded('ChangeLog')
let buf = bufnr('ChangeLog')
execute "normal! \<C-W>t"
while winbufnr(winnr()) != buf
execute "normal! \<C-W>w"
endwhile
let buf = bufnr('ChangeLog')
execute "normal! \<C-W>t"
while winbufnr(winnr()) != buf
execute "normal! \<C-W>w"
endwhile
else
split ChangeLog
split ChangeLog
endif
if exists("g:mapleader")
execute "normal " . g:mapleader . "o"
execute "normal " . g:mapleader . "o"
else
execute "normal \\o"
execute "normal \\o"
endif
startinsert!
endif
endfunction
endif
" vim: set sts=2 sw=2:

13
runtime/ftplugin/conf.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: generic configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,36 @@
" Vim filetype plugin file
" Language: ConTeXt typesetting engine
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s formatoptions+=tcroql
let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
\ . 'def\|\\font\|\\\%(future\)\=let'
\ . '\|\\new\%(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
\ . '\|fam\|insert\|if\)'
let &l:include = '^\s*\%(input\|component\)'
setlocal suffixesadd=.tex
if exists("loaded_matchit")
let b:match_ignorecase = 0
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
\ '\\start\(\a\+\):\\stop\1'
endif " exists("loaded_matchit")
let &cpo = s:cpo_save
unlet s:cpo_save

13
runtime/ftplugin/crm.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: CRM114
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,20 +1,16 @@
" Vim filetype plugin file
" Language: CSS
" Maintainer: Nikolai Weibull <source@pcppopper.org>
" URL: http://www.pcppopper.org/vim/ftplugin/pcp/css/
" Latest Revision: 2004-04-25
" arch-tag: 5fa7c74f-bf1a-47c4-b06f-6efe8f48db3b
" Language: CSS
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com<"
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
setlocal formatoptions-=t formatoptions+=croql
" vim: set sts=2 sw=2:
let &l:include = '^\s*@import\s\+\%(url(\)\='

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: cvs(1) RC file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dict(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dictd(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-01
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

15
runtime/ftplugin/diff.vim Normal file
View File

@@ -0,0 +1,15 @@
" Vim filetype plugin file
" Language: Diff
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 27
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl modeline<"
" Don't use modelines in a diff, they apply to the diffed file
setlocal nomodeline

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: dircolors(1) input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: elinks(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: eterm(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: fetchmail(1) RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/gpg.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: gpg(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: group(5) user group file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

13
runtime/ftplugin/grub.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: grub(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Haskell
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_plugin = "setl com< cms< fo<"
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
setlocal formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/help.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Vim help file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-29
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_plugin = "setl fo< tw<"
setlocal formatoptions+=tcroql textwidth=78

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: indent(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring&
setlocal formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/ld.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: ld(1) script
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=s1:/*,mb:*,ex:*/ commentstring=/*%s*/ include=^\\s*INCLUDE
setlocal formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/lftp.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: lftp(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: libao.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: limits(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: login.access(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: login.defs(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/m4.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: m4
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:#,:dnl commentstring=dnl\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Mailcap configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: man.conf(5) - man configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -1,16 +1,14 @@
" Vim filetype plugin
" Language: METAFONT
" Maintainer: Dorai Sitaram <ds26@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: May 27, 2003
" Vim filetype plugin file
" Language: MetaFont
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
setl com=:%
setl fo-=t
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: modules.conf(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,7 +1,22 @@
" Vim filetype plugin
" Language: MetaPost
" Maintainer: Dorai Sitaram <ds26@gte.com>
" URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: May 27, 2003
" Vim filetype plugin file
" Language: MetaPost
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
runtime! ftplugin/mf.vim ftplugin/mf_*.vim ftplugin/mf/*.vim
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:% commentstring=%\ %s formatoptions-=t formatoptions+=croql
if !exists(":FixBeginfigs") != 2
command -nargs=0 FixBeginfigs call s:fix_beginfigs()
function! s:fix_beginfigs()
let i = 1
g/^beginfig(\d*);$/s//\='beginfig('.i.');'/ | let i = i + 1
endfunction
endif

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: mplayer(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s include=^\\s*include
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -1,30 +1,30 @@
" Vim filetype plugin file
" Language: MuPAD source files
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Filenames: *.mu
" Date: 6/30/2004
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
" Change the :browse e filter to primarily show MuPAD source files.
if has("gui_win32")
let b:browsefilter=
\ "MuPAD source (*.mu)\t*.mu\n" .
\ "All Files (*.*)\t*.*\n"
endif
" matchit.vim not loaded -- don't do anyting below
if !exists("loaded_matchit")
" echomsg "matchit.vim not loaded -- finishing"
finish
endif
" source the AppendMatchGroup function file
runtime ftplugin/AppendMatchGroup.vim
" fill b:match_words for MuPAD
call AppendMatchGroup('domain,end_domain')
call AppendMatchGroup('proc,begin,end_proc')
call AppendMatchGroup('if,then,elif,else,end_if')
call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')
" Vim filetype plugin file
" Language: MuPAD source files
" Maintainer: Dave Silvia <dsilvia@mchsi.com>
" Filenames: *.mu
" Date: 6/30/2004
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
" Change the :browse e filter to primarily show MuPAD source files.
if has("gui_win32")
let b:browsefilter=
\ "MuPAD source (*.mu)\t*.mu\n" .
\ "All Files (*.*)\t*.*\n"
endif
" matchit.vim not loaded -- don't do anyting below
if !exists("loaded_matchit")
" echomsg "matchit.vim not loaded -- finishing"
finish
endif
" source the AppendMatchGroup function file
runtime ftplugin/AppendMatchGroup.vim
" fill b:match_words for MuPAD
call AppendMatchGroup('domain,end_domain')
call AppendMatchGroup('proc,begin,end_proc')
call AppendMatchGroup('if,then,elif,else,end_if')
call AppendMatchGroup('\%(for\|while\|repeat\|case\),of,do,break,next,until,\%(end_for\|end_while\|end_repeat\|end_case\)')

View File

@@ -0,0 +1,16 @@
" Vim filetype plugin file
" Language: mutt RC File
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
let &l:include = '^\s*source\>'

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: nanorc(5) - GNU nano configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: netrc(5) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: pam(8) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: passwd(5) password file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: pinfo(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,15 @@
" Vim filetype plugin file
" Language: procmail(1) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< inc< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let &l:include = '^\s*INCLUDERC\>'

View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Prolog
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:% commentstring=%\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: protocols(5) - Internet protocols definition file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-06-30
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Quake[1-3] configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:// commentstring=//\ %s formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/racc.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Racc input file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=s1:/*,mb:*,ex:*/,:# commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql

View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: readline(3) configuration file
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

13
runtime/ftplugin/rnc.vim Normal file
View File

@@ -0,0 +1,13 @@
" Vim filetype plugin file
" Language: Relax NG compact syntax
" Maintainer: Nikolai Weibull <nikolai+work.vim@bitwi.se>
" Latest Revision: 2005-07-04
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql

Some files were not shown because too many files have changed in this diff Show More