Compare commits

...

1099 Commits

Author SHA1 Message Date
Bram Moolenaar
730d2c0747 updated for version 7.3.1273
Problem:    When copying a location list the index might be wrong.
Solution:   Set the index to one when using the first entry. (Lech Lorens)
2013-06-30 13:33:58 +02:00
Bram Moolenaar
55480dccf4 updated for version 7.3.1272
Problem:    Crash when editing Ruby file. (Aliaksandr Rahalevich)
Solution:   Reallocate the state list when necessary.
2013-06-30 13:17:24 +02:00
Bram Moolenaar
a4c8dcbdae updated for version 7.3.1271
Problem:    Command line completion does not work.
Solution:   Move setting xp_line down. (Daniel Thau)
2013-06-30 12:21:24 +02:00
Bram Moolenaar
14b6945e27 Updated runtime files. 2013-06-29 23:05:20 +02:00
Bram Moolenaar
10315b1201 updated for version 7.3.1270
Problem:    Using "Vp" in an empty buffer can't be undone. (Hauke Petersen)
Solution:   Save one line in an empty buffer. (Christian Brabandt)
2013-06-29 17:19:28 +02:00
Bram Moolenaar
6b487147ac updated for version 7.3.1269
Problem:    Insert completion keeps entry selected even though the list has
            changed. (Olivier Teuliere)
Solution:   Reset compl_shown_match and compl_curr_match. (Christian Brabandt)
2013-06-29 16:21:58 +02:00
Bram Moolenaar
39efa89afb updated for version 7.3.1268
Problem:    ACL support doesn't work when when compiled with MingW.
Solution:   Support ACL on MingW. (Ken Takata)
2013-06-29 15:40:04 +02:00
Bram Moolenaar
2751592119 updated for version 7.3.1267
Problem:    MS-Windows ACL support doesn't work well.
Solution:   Implement more ACL support. (Ken Takata)
2013-06-29 15:36:26 +02:00
Bram Moolenaar
a8e3580be6 updated for version 7.3.1266
Problem:    QNX: GUI fails to start.
Solution:   Remove the QNX-specific #ifdef. (Sean Boudreau)
2013-06-29 15:19:21 +02:00
Bram Moolenaar
630a730f9b updated for version 7.3.1265
Problem:    Accepting "Vim:" for a modeline causes errors too often.
Solution:   Require "Vim:" to be followed by "set".
2013-06-29 15:07:22 +02:00
Bram Moolenaar
f3fe392760 updated for version 7.3.1264
Problem:    Missing m_nowait.
Solution:   Include missing part of the patch.
2013-06-29 14:47:22 +02:00
Bram Moolenaar
4a46070365 updated for version 7.3.1263
Problem:    Typo in short option name.
Solution:   Change "imse" to "imsf".
2013-06-29 14:42:26 +02:00
Bram Moolenaar
fe17e7640d updated for version 7.3.1262
Problem:    Crash and compilation warnings with Cygwin.
Solution:   Check return value of XmbTextListToTextProperty(). Add type casts.
            Adjust #ifdefs. (Lech Lorens)
2013-06-29 14:17:02 +02:00
Bram Moolenaar
72179e1bd0 updated for version 7.3.1261
Problem:    A buffer-local language mapping from a keymap stops a global
            insert mode mapping from working. (Ron Aaron)
Solution:   Do not wait for more characters to be typed only when the mapping
            was defined with <nowait>.
2013-06-29 13:58:31 +02:00
Bram Moolenaar
b751546636 updated for version 7.3.1260
Problem:    User completion does not get the whole command line in the command
            line window.
Solution:   Pass on the whole command line. (Daniel Thau)
2013-06-29 12:58:33 +02:00
Bram Moolenaar
560c52d32b updated for version 7.3.1259
Problem:    No test for patch 7.3.1258
Solution:   Add a test entry.
2013-06-29 12:10:26 +02:00
Bram Moolenaar
4d9ae21a34 updated for version 7.3.1258
Problem:    Using submatch() may crash Vim. (Ingo Karkat)
Solution:   Restore the number of subexpressions used.
2013-06-28 23:04:42 +02:00
Bram Moolenaar
e3a0b53c2e updated for version 7.3.1257
Problem:    With GNU gettext() ":lang de_DE.utf8" does not always result in
            German messages.
Solution:   Clear the $LANGUAGE environment variable.
2013-06-28 20:36:30 +02:00
Bram Moolenaar
f0327f67c7 updated for version 7.3.1256
Problem:    Can't build without eval or autocmd feature.
Solution:   Add #ifdefs.
2013-06-28 20:16:55 +02:00
Bram Moolenaar
22dbc77ef1 Update runtime files. Remove duplicate tags in help. 2013-06-28 18:44:48 +02:00
Bram Moolenaar
6470de83f2 updated for version 7.3.1255
Problem:    Clang warnings when building with Athena.
Solution:   Add type casts. (Dominique Pelle)
2013-06-27 22:36:03 +02:00
Bram Moolenaar
a5f5c8be8f updated for version 7.3.1254
Problem:    Can't build without the multi-lang feature. (John Marriott)
Solution:   Add #ifdef.
2013-06-27 22:29:38 +02:00
Bram Moolenaar
5737ca2350 updated for version 7.3.1253
Problem:    Still undo problem after using CTRL-R = setline(). (Hirohito
            Higashi)
Solution:   Set the ins_need_undo flag.
2013-06-27 22:21:24 +02:00
Bram Moolenaar
c9dcb42704 updated for version 7.3.1252
Problem:    Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
            if the corresponding menu command contains additional characters
            like the shortcut marker '&' or if you use a non-english locale.
Solution:   Use menu->en_dname or menu->dname. (Martin Gieseking)
2013-06-27 22:02:02 +02:00
Bram Moolenaar
9b846cb8ac updated for version 7.3.1251
Problem:    Test 61 messes up viminfo.
Solution:   Specify a separate viminfo file.
2013-06-26 21:56:36 +02:00
Bram Moolenaar
877aa00811 updated for version 7.3.1250
Problem:    Python tests fail on MS-Windows.
Solution:   Change backslashes to slashes. (Taro Muraoka)
2013-06-26 21:49:51 +02:00
Bram Moolenaar
c14621eafb updated for version 7.3.1249
Problem:    Modeline not recognized when using "Vim" instead of "vim".
Solution:   Also accept "Vim".
2013-06-26 20:04:35 +02:00
Bram Moolenaar
abab85a499 updated for version 7.3.1248
Problem:    Still have old hacking code for Input Method.
Solution:   Add 'imactivatefunc' and 'imstatusfunc' as a generic solution to
            Input Method activation. (Yukihiro Nakadaira)
2013-06-26 19:18:05 +02:00
Bram Moolenaar
a0169128d9 updated for version 7.3.1247
Problem:    New regexp engine: '[ ]\@!\p\%([ ]\@!\p\)*:' does not always match.
Solution:   When there is a PIM add a duplicate state that starts at another
            position.
2013-06-26 18:16:58 +02:00
Bram Moolenaar
b893ac2098 updated for version 7.3.1246
Problem:    When setting 'winfixheight' and resizing the window causes the
            window layout to be wrong.
Solution:   Add frame_check_height() and frame_check_width() (Yukihiro
            Nakadaira)
2013-06-26 14:04:47 +02:00
Bram Moolenaar
31c31679e2 Updated runtime files. New version of TOhtml plugin. 2013-06-26 13:28:14 +02:00
Bram Moolenaar
b052fe0e2c updated for version 7.3.1245
Problem:    MS-Windows: confirm() dialog text may still not fit.
Solution:   Use GetTextWidthEnc() instead of GetTextWidth() in two more
            places. (Yasuhiro Matsumoto)
2013-06-26 13:16:20 +02:00
Bram Moolenaar
f05d81102c updated for version 7.3.1244
Problem:    MS-Windows: confirm() dialog text may not fit.
Solution:   Use GetTextWidthEnc() instead of GetTextWidth(). (Yasuhiro
            Matsumoto)
2013-06-26 12:58:32 +02:00
Bram Moolenaar
f86c0b01a7 updated for version 7.3.1243
Problem:    New regexp engine: back references in look-behind match don't
            work. (Lech Lorens)
Solution:   Copy the submatches before a recursive match.
2013-06-26 12:42:44 +02:00
Bram Moolenaar
daa270289b updated for version 7.3.1242
Problem:    No failure when trying to use a number as a string.
Solution:   Give an error when StringToLine() is called with an instance of
            the wrong type. (Jun Takimoto)
2013-06-24 22:33:30 +02:00
Bram Moolenaar
c8c13a0307 updated for version 7.3.1241
Problem:    Some test files missing from the distribution.
Solution:   Update the list of files.
2013-06-24 22:23:55 +02:00
Bram Moolenaar
56b45b9b37 Update runtime files. 2013-06-24 22:22:18 +02:00
Bram Moolenaar
df2bc27b52 updated for version 7.3.1240
Problem:    Memory leak in findfile().
Solution:   Free the memory. (Christian Brabandt)
2013-06-24 22:17:32 +02:00
Bram Moolenaar
c1c3d68da9 updated for version 7.3.1239
Problem:    Can't build with Python and MSVC10.
Solution:   Move #if outside of macro. (Taro Muraoka)
2013-06-24 21:21:58 +02:00
Bram Moolenaar
d5e376eb3b updated for version 7.3.1238
Problem:    Crash in Python interface on 64 bit machines.
Solution:   Change argument type of PyString_AsStringAndSize. (Taro Muraoka,
            Jun Takimoto)
2013-06-24 20:32:57 +02:00
Bram Moolenaar
7e85d3d432 updated for version 7.3.1237
Problem:    Python: non-import errors not handled correctly.
Solution:   Let non-ImportError exceptions pass the finder. (ZyX)
2013-06-23 16:40:39 +02:00
Bram Moolenaar
dee2e315d7 updated for version 7.3.1236
Problem:    Python: WindowSetattr() missing support for NUMBER_UNSIGNED.
Solution:   Add NUMBER_UNSIGNED, add more tests. Various fixes. (ZyX)
2013-06-23 16:35:47 +02:00
Bram Moolenaar
ede3e6383d updated for version 7.3.1235
Problem:    In insert mode CTRL-] is not inserted, on the command-line it is.
Solution:   Don't insert CTRL-] on the command line. (Yukihiro Nakadaira)
2013-06-23 16:16:19 +02:00
Bram Moolenaar
6f1404f8a8 updated for version 7.3.1234
Problem:    Python: Strings are not marked for translation.
Solution:   Add N_() where appropriate. (ZyX)
2013-06-23 16:04:08 +02:00
Bram Moolenaar
841fbd2907 updated for version 7.3.1233
Problem:    Various Python problems.
Solution:   Fix VimTryEnd. Crash with debug build and PYTHONDUMPREFS=1. Memory
            leaks in StringToLine(), BufferMark() and convert_dl. (ZyX)
2013-06-23 14:37:07 +02:00
Bram Moolenaar
c4b99e0be7 updated for version 7.3.1232
Problem:    Python: inconsistencies in variable names.
Solution:   Rename variables. (ZyX)
2013-06-23 14:30:47 +02:00
Bram Moolenaar
141be8a585 updated for version 7.3.1231
Problem:    Python: use of numbers not consistent.
Solution:   Add support for Number protocol. (ZyX)
2013-06-23 14:16:57 +02:00
Bram Moolenaar
c476e52fca updated for version 7.3.1230
Problem:    Python: Exception messages are not clear.
Solution:   Make exception messages more verbose. (ZyX)
2013-06-23 13:46:40 +02:00
Bram Moolenaar
0bd80ccd85 updated for version 7.3.1229
Problem:    Python: not so easy to delete/restore translating.
Solution:   Make macros do translation of exception messages. (ZyX)
            Note: this breaks translations!
2013-06-23 13:28:17 +02:00
Bram Moolenaar
808c2bc8bf updated for version 7.3.1228
Problem:    Python: various inconsistencies and problems.
Solution:   StringToLine now supports both bytes() and unicode() objects.
            Make function names consistant.  Fix memory leak fixed in
            StringToLine. (ZyX)
2013-06-23 13:11:18 +02:00
Bram Moolenaar
389a1793f4 updated for version 7.3.1227
Problem:    Inconsistent string conversion.
Solution:   Use 'encoding' instead of utf-8. Use METH_O in place of
            METH_VARARGS where appropriate. (ZyX)
2013-06-23 13:00:44 +02:00
Bram Moolenaar
6c85e7f3be updated for version 7.3.1226
Problem:    Python: duplicate code.
Solution:   Share code between OutputWrite() and OutputWritelines(). (ZyX)
2013-06-23 12:51:32 +02:00
Bram Moolenaar
3dbcd0c7ad updated for version 7.3.1225
Problem:    Compiler warnings when building with Motif.
Solution:   Change set_label() argument. (Kazunobu Kuriyama)
2013-06-22 13:00:16 +02:00
Bram Moolenaar
fe70acb376 updated for version 7.3.1224
Problem:    Clang gives warnings on xxd.
Solution:   Change how to use part of a string. (Dominique Pelle) Also avoid
            warning for return not reached.
2013-06-21 18:31:23 +02:00
Bram Moolenaar
d73895ec00 updated for version 7.3.1223
Problem:    Tests fail on MS-Windows.
Solution:   Avoid depending on OS version. Use DOS commands instead of Unix
            commands. (Taro Muraoka, Ken Takata)
2013-06-19 21:17:31 +02:00
Bram Moolenaar
22f93c700f updated for version 7.3.1222
Problem:    Cannot execute some tests from the src directoly.
Solution:   Add missing targets.
2013-06-19 20:11:50 +02:00
Bram Moolenaar
a6cc03101e updated for version 7.3.1221
Problem:    When build flags change "make distclean" run into a configure
            error.
Solution:   When CFLAGS changes delete auto/config.cache.  Also avoid adding
            duplicate text to flags.
2013-06-18 23:31:55 +02:00
Bram Moolenaar
db250526bb updated for version 7.3.1220
Problem:    MS-Windows: When using wide font italic and bold are not included.
Solution:   Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata,
            Taro Muraoka)
2013-06-17 22:43:25 +02:00
Bram Moolenaar
a0c85c7ae1 updated for version 7.3.1219
Problem:    No test for using []] inside \%[].
Solution:   Add a test.
2013-06-17 22:04:38 +02:00
Bram Moolenaar
555d2a8340 updated for version 7.3.1218
Problem:    "make test" on MS-Windows does not clean all temporary files and
            gives some unneccessary message.
Solution:   Clean the right files.  Create .failed files. (Ken Takata)
2013-06-17 21:53:37 +02:00
Bram Moolenaar
d79862599d updated for version 7.3.1217
Problem:    New regexp engine: Can't handle \%[[ao]]. (Yukihiro Nakadaira)
Solution:   Support nested atoms inside \%[].
2013-06-17 21:33:41 +02:00
Bram Moolenaar
6324c3b920 updated for version 7.3.1216
Problem:    Configure can't find Motif on Ubuntu.
Solution:   Search for libXm in /usr/lib/*-linux-gnu.
2013-06-17 20:27:18 +02:00
Bram Moolenaar
06ae70d07c updated for version 7.3.1215
Problem:    Compiler warning for function not defined.
Solution:   Add #ifdef.
2013-06-17 19:26:36 +02:00
Bram Moolenaar
01b626c26e updated for version 7.3.1214
Problem:    Missing declaration for init_users() and realloc_post_list().
            (Salman Halim)
Solution:   Add the declarations.
2013-06-16 22:49:14 +02:00
Bram Moolenaar
8c0e322f18 updated for version 7.3.1213
Problem:    Can't build with small features and Python.
Solution:   Adjust #ifdefs.
2013-06-16 17:32:40 +02:00
Bram Moolenaar
6949eea7cc updated for version 7.3.1212
Problem:    "make test" on MS-Windows does not report failure like Unix does.
Solution:   Make it work like on Unix. (Taro Muraoka)
2013-06-16 16:57:46 +02:00
Bram Moolenaar
5246cd7a9b updated for version 7.3.1211
Problem:    MS-Windows: When 'encoding' differs from the current codepage
            ":hardcopy" does not work properly.
Solution:   Use TextOutW() and SetDlgItemTextW(). (Ken Takata)
2013-06-16 16:41:47 +02:00
Bram Moolenaar
03e114b0f2 updated for version 7.3.1210
Problem:    'backupcopy' default on MS-Windows is wrong when 'encoding' equals
            the current codepage.
Solution:   Change the #else block. (Ken Takata)
2013-06-16 16:34:56 +02:00
Bram Moolenaar
70baa405f2 updated for version 7.3.1209
Problem:    No completion for ":tabdo".
Solution:   Add tabdo to the list of modifiers. (Dominique Pelle)
2013-06-16 16:14:03 +02:00
Bram Moolenaar
427d51c23f updated for version 7.3.1208
Problem:    Compiler warnings on MS-Windows.
Solution:   Add type cast.  Move variable declaration. (Mike Williams)
2013-06-16 16:01:25 +02:00
Bram Moolenaar
a50d02d983 updated for version 7.3.1207
Problem:    New regexp engine: no match found on "#if FOO". (Lech Lorens)
Solution:   When adding a state gets skipped don't adjust the index.
2013-06-16 15:43:50 +02:00
Bram Moolenaar
5ab9d98b9a updated for version 7.3.1206
Problem:    Inconsistent function argument declarations.
Solution:   Use ANSI style.
2013-06-16 14:25:57 +02:00
Bram Moolenaar
926b5d3b30 updated for version 7.3.1205
Problem:    logtalk.dict is not removed on uninstall.
Solution:   Remove the file. (Kazunobu Kuriyama)
2013-06-16 14:20:13 +02:00
Bram Moolenaar
d69497413f updated for version 7.3.1204
Problem:    Calling gettabwinvar() in 'tabline' cancels Visual mode. (Hirohito
            Higashi)
Solution:   Don't always use goto_tabpage_tp().
2013-06-16 14:18:28 +02:00
Bram Moolenaar
4ce239b0b1 updated for version 7.3.1203
Problem:    Matches from matchadd() might be highlighted incorrectly when they
            are at a fixed position and inserting lines. (John Szakmeister)
Solution:   Redraw all lines below a change if there are highlighted matches.
            (idea by Christian Brabandt)
2013-06-15 23:00:30 +02:00
Bram Moolenaar
3351679948 updated for version 7.3.1202
Problem:    Tags are not found in case-folded tags file. (Darren cole, Issue
            90)
Solution:   Take into account that when case folding was used for the tags
            file "!rm" sorts before the "!_TAG" header lines.
2013-06-15 22:26:52 +02:00
Bram Moolenaar
e66f06d819 updated for version 7.3.1201
Problem:    When a startup script creates a preview window, it probably
            becomes the current window.
Solution:   Make another window the current one. (Christian Brabandt)
2013-06-15 21:54:16 +02:00
Bram Moolenaar
52b91d801a Updated runtime files. 2013-06-15 21:39:51 +02:00
Bram Moolenaar
df9259abce updated for version 7.3.1200
Problem:    When calling setline() from Insert mode, using CTRL-R =, undo does
            not work properly. (Israel Chauca)
Solution:   Sync undo after evaluating the expression. (Christian Brabandt)
2013-06-15 17:54:43 +02:00
Bram Moolenaar
dab38d516e updated for version 7.3.1199
Problem:    When evaluating 'foldexpr' causes an error this is silently
            ignored and evaluation is retried every time.
Solution:   Set emsg_silent instead of emsg_off. Stop evaluating 'foldexpr' is
            it is causing errors.  (Christian Brabandt)
2013-06-15 17:06:36 +02:00
Bram Moolenaar
9be6e21575 updated for version 7.3.1198
Problem:    Build error when using Perl 5.18.0 and dynamic loading.
Solution:   Change #ifdefs for Perl_croak_xs_usage. (Ike Devolder)
2013-06-15 16:47:35 +02:00
Bram Moolenaar
ff1806f8da updated for version 7.3.1197
Problem:    ":wviminfo!" does not write history previously read from a viminfo
            file.  (Roland Eggner)
Solution:   When not merging history write all entries.
2013-06-15 16:31:47 +02:00
Bram Moolenaar
141f6bb341 updated for version 7.3.1196
Problem:    Old regexp engine does not match pattern with backref correctly.
            (Dominique Pelle)
Solution:   Fix setting status.  Test multi-line patterns better.
2013-06-15 15:09:50 +02:00
Bram Moolenaar
4cff8faf05 updated for version 7.3.1195
Problem:    Compiler warning for unitialized variable. (Tony Mechelynck)
Solution:   Set the length to the matching backref.
2013-06-14 22:48:54 +02:00
Bram Moolenaar
44c71db771 updated for version 7.3.1194
Problem:    Yaml highlighting is slow.
Solution:   Tune the estimation of pattern failure chance.
2013-06-14 22:33:51 +02:00
Bram Moolenaar
1612b1abe7 updated for version 7.3.1193
Problem:    fail_if_missing not used for Python 3.
Solution:   Give an error when Python 3 can't be configured. (Andrei Olsen)
2013-06-14 21:22:39 +02:00
Bram Moolenaar
c5089bb8ff updated for version 7.3.1192
Problem:    Valgrind reports errors when using backreferences. (Dominique
            Pelle)
Solution:   Do not check the end of submatches.
2013-06-14 21:15:25 +02:00
Bram Moolenaar
580abea48a updated for version 7.3.1191
Problem:    Backreference to previous line doesn't work. (Lech Lorens)
Solution:   Implement looking in another line.
2013-06-14 20:31:28 +02:00
Bram Moolenaar
6e70736cbc updated for version 7.3.1190
Problem:    Compiler warning for parentheses. (Christian Wellenbrock)
Solution:   Change #ifdef.
2013-06-14 19:15:58 +02:00
Bram Moolenaar
4c46b5e001 updated for version 7.3.1189
Problem:    Highlighting is still wrong sometimes. (Dominique Pelle)
Solution:   Also restore reginput properly.
2013-06-13 22:59:30 +02:00
Bram Moolenaar
9d438d3b38 updated for version 7.3.1188
Problem:    Newline characters messing up error message.
Solution:   Remove the newlines. (Kazunobu Kuriyama)
2013-06-13 21:57:20 +02:00
Bram Moolenaar
0c6633a7ea updated for version 7.3.1187
Problem:    "s:" is recognized but "<SID>" is not. (ZyX)
Solution:   Translate "<SID>" like "s:".
2013-06-13 21:24:06 +02:00
Bram Moolenaar
5f87b23229 updated for version 7.3.1186
Problem:    Python 3: test 87 may crash.
Solution:   Use _PyArg_Parse_SizeT instead of PyArg_Parse. (Jun Takimoto)
2013-06-13 20:57:50 +02:00
Bram Moolenaar
b62bcd1e05 updated for version 7.3.1185
Problem:    New regexp engine: no match with ^ after \n. (SungHyun Nam)
Solution:   Fix it, add a test.
2013-06-13 20:19:40 +02:00
Bram Moolenaar
484d241a4a updated for version 7.3.1184
Problem:    Highlighting is sometimes wrong. (Axel Bender)
Solution:   Fetch regline again when returning from recursive regmatch.
2013-06-13 19:47:07 +02:00
Bram Moolenaar
98bfc2d5ee Add missing files from 7.3.1183. 2013-06-13 19:44:55 +02:00
Bram Moolenaar
82850dd9cb updated for version 7.3.1183
Problem:    Python tests 86 and 87 fail.
Solution:   Add "empty" files. (ZyX)
2013-06-13 19:27:18 +02:00
Bram Moolenaar
12b559e7c3 updated for version 7.3.1182
Problem:    'backupcopy' default on MS-Windows does not work for hard and soft
            links.
Solution:   Check for links. (David Pope, Ken Takata)
2013-06-12 22:41:37 +02:00
Bram Moolenaar
2a876e40ce updated for version 7.3.1181
Problem:    Wrong error message for 1.0[0].
Solution:   Check for funcref and float separately. (Yasuhiro Matsumoto)
2013-06-12 22:08:58 +02:00
Bram Moolenaar
ec7944aaf2 Update runtime files. 2013-06-12 21:29:15 +02:00
Bram Moolenaar
cab465a6d7 updated for version 7.3.1180
Problem:    When current directory changes, path from cscope may no longer be
            valid. (AS Budden)
Solution:   Always store the absolute path. (Christian Brabandt)
2013-06-12 21:25:23 +02:00
Bram Moolenaar
0825c00f14 updated for version 7.3.1179
Problem:    When a global mapping starts with the same characters as a
            buffer-local mapping Vim waits for a character to be typed to find
            out whether the global mapping is to be used. (Andy Wokula)
Solution:   Use the local mapping without waiting. (Michael Henry)
2013-06-12 21:00:26 +02:00
Bram Moolenaar
22971aaa45 updated for version 7.3.1178
Problem:    Can't put all Vim config files together in one directory.
Solution:   Load ~/.vim/vimrc if ~/.vimrc does not exist. (Lech Lorens)
2013-06-12 20:35:58 +02:00
Bram Moolenaar
6395af8018 updated for version 7.3.1177
Problem:    Wasting memory on padding.
Solution:   Reorder struct fields. (Dominique Pelle)
2013-06-12 19:52:15 +02:00
Bram Moolenaar
edb07a2d88 updated for version 7.3.1176
Problem:    Compiler warnings on 64 bit system.
Solution:   Add type casts. (Mike Williams)
2013-06-12 18:13:38 +02:00
Bram Moolenaar
2d473ab932 updated for version 7.3.1175
Problem:    Using isalpha() and isalnum() can be slow.
Solution:   Use range checks. (Mike Williams)
2013-06-12 17:12:24 +02:00
Bram Moolenaar
81c40c507c updated for version 7.3.1174
Problem:    Python 2 and 3 use different ways to load modules.
Solution:   Use the same method. (ZyX)
2013-06-12 14:41:04 +02:00
Bram Moolenaar
27610ed76c updated for version 7.3.1173
Problem:    Python 2 tests don't have the same output everywhere.
Solution:   Make the Python 2 tests more portable. (ZyX)
2013-06-12 14:26:26 +02:00
Bram Moolenaar
9f3685a527 updated for version 7.3.1172
Problem:    Python 2: loading modules doesn't work well.
Solution:   Fix the code. Add more tests. (ZyX)
2013-06-12 14:20:36 +02:00
Bram Moolenaar
0ea4a6b94b updated for version 7.3.1171
Problem:    Check for digits and ascii letters can be faster.
Solution:   Use a trick with one comparison. (Dominique Pelle)
2013-06-12 14:10:26 +02:00
Bram Moolenaar
60bf1f58d0 updated for version 7.3.1170
Problem:    Patch 7.3.1058 breaks backwards compatibility, not possible to use
            a function reference as a string. (lilydjwg)
Solution:   Instead of translating the function name only translate "s:".
2013-06-12 13:37:43 +02:00
Bram Moolenaar
a2947e2bea updated for version 7.3.1169
Problem:    New regexp engine: some work is done while executing a pattern,
            even though the result is predictable.
Solution:   Do the work while compiling the pattern.
2013-06-11 22:44:09 +02:00
Bram Moolenaar
780c3e9b04 updated for version 7.3.1168
Problem:    Python "sane" configure checks give a warning message.
Solution:   Use single quotes intead of escaped double quotes. (Ben Fritz)
2013-06-11 20:53:28 +02:00
Bram Moolenaar
3c7ad013fb updated for version 7.3.1167
Problem:    Python configure check doesn't reject Python 2 when requesting
            Python 3.  Some systems need -pthreads instead of -pthread.
Solution:   Adjust configure accordingly. (Andrei Olsen)
2013-06-11 19:53:45 +02:00
Bram Moolenaar
a9f2220176 updated for version 7.3.1166
Problem:    Loading Python modules is not tested.
Solution:   Enable commented-out tests, add missing files. (ZyX)
2013-06-11 18:48:21 +02:00
Bram Moolenaar
16619a235b updated for version 7.3.1165
Problem:    HP-UX compiler can't handle zero size array. (Charles Cooper)
Solution:   Make the array one item big.
2013-06-11 18:42:36 +02:00
Bram Moolenaar
9a773488a7 updated for version 7.3.1164
Problem:    Can't test what is actually displayed on screen.
Solution:   Add the screenchar() and screenattr() functions.
2013-06-11 18:40:13 +02:00
Bram Moolenaar
c09a6d6c0c updated for version 7.3.1163
Problem:    Not easy to load Python modules.
Solution:   Search "python2", "python3" and "pythonx" directories in
            'runtimepath' for Python modules. (ZyX)
2013-06-10 21:27:29 +02:00
Bram Moolenaar
f9c9b32bd1 updated for version 7.3.1162
Problem:    Python: Memory leaks
Solution:   Add more Py_DECREF(). (ZyX)
2013-06-10 20:47:36 +02:00
Bram Moolenaar
c1ba10c7f6 updated for version 7.3.1161
Problem:    Python: PyList_SetItem() is inefficient.
Solution:   Use PyList_SET_ITEM() (ZyX)
2013-06-10 20:39:03 +02:00
Bram Moolenaar
570064cf21 updated for version 7.3.1160
Problem:    Mixing long and pointer doesn't always work.
Solution:   Avoid cast to pointer.
2013-06-10 20:25:10 +02:00
Bram Moolenaar
a2e14fc764 updated for version 7.3.1159
Problem:    The round() function is not always available. (Christ van
            Willegen)
Solution:   Use the solution from f_round().
2013-06-10 20:10:44 +02:00
Bram Moolenaar
0bdda37fb4 updated for version 7.3.1158
Problem:    Crash when running test 86. (Jun Takimoto)
Solution:   Define PY_SSIZE_T_CLEAN early. (Elimar Riesebieter)
2013-06-10 18:36:24 +02:00
Bram Moolenaar
bcf4d178ab updated for version 7.3.1157
Problem:    New regexp engine fails on "\(\<command\)\@<=.*"
Solution:   Fix rule for postponing match.  Further tune estimating whether
            postponing works better.  Add test.
2013-06-10 16:35:18 +02:00
Bram Moolenaar
4380d1ea23 updated for version 7.3.1156
Problem:    Compiler warnings. (dv1445)
Solution:   Initialize variables, even when the value isn't really used.
2013-06-09 20:51:00 +02:00
Bram Moolenaar
11354759e2 updated for version 7.3.1155
Problem:    MS-DOS: "make test" uses external rmdir command.
Solution:   Rename "rmdir" to "rd". (Taro Muraoka)
2013-06-09 17:52:46 +02:00
Bram Moolenaar
927d4a1fb5 updated for version 7.3.1154
Problem:    New regexp_nfa engine: Uneccessary code.
Solution:   Remove uneccessary code.
2013-06-09 17:25:34 +02:00
Bram Moolenaar
2a4e98ac1e updated for version 7.3.1153
Problem:    New regexp engine: Some look-behind matches are very expensive.
Solution:   Pospone invisible matches further, until a match is almost found.
2013-06-09 16:24:45 +02:00
Bram Moolenaar
a940aa6fc4 updated for version 7.3.1152
Problem:    In tiny build ireg_icombine is undefined. (Tony Mechelynck)
Solution:   Add #ifdef.
2013-06-08 23:30:04 +02:00
Bram Moolenaar
1e02e6620b updated for version 7.3.1151
Problem:    New regexp engine: Slow when a look-behind match is followed by a
            zero-width match.
Solution:   Postpone the look-behind match more often.
2013-06-08 23:26:27 +02:00
Bram Moolenaar
e7766eeaa5 updated for version 7.3.1150
Problem:    New regexpengine: Slow when a look-behind match does not have a
            width specified.
Solution:   Try to compute the maximum width.
2013-06-08 22:30:03 +02:00
Bram Moolenaar
473de61b04 updated for version 7.3.1149
Problem:    New regexp engine: Matching plain text could be faster.
Solution:   Detect a plain text match and handle it specifically.  Add
            vim_regfree().
2013-06-08 18:19:48 +02:00
Bram Moolenaar
cd9c46265e updated for version 7.3.1148
Problem:    No command line completion for ":syntime".
Solution:   Implement the completion. (Dominique Pelle)
2013-06-08 15:24:48 +02:00
Bram Moolenaar
87f764a891 updated for version 7.3.1147
Problem:    New regexp engine: regstart is only used to find the first match.
Solution:   Use regstart whenever adding the start state.
2013-06-08 14:38:27 +02:00
Bram Moolenaar
b1b284fd5d updated for version 7.3.1146
Problem:    New regexp engine: look-behind match not checked when followed by
            zero-width match.
Solution:   Do the look-behind match before adding the zero-width state.
2013-06-08 13:33:37 +02:00
Bram Moolenaar
f96d109827 updated for version 7.3.1145
Problem:    New regexp engine: addstate() is called very often.
Solution:   Optimize adding the start state.
2013-06-07 22:39:40 +02:00
Bram Moolenaar
2358403363 updated for version 7.3.1144
Problem:    "RO" is not translated everywhere.
Solution:   Put inside _(). (Sergey Alyoshin)
2013-06-07 20:17:11 +02:00
Bram Moolenaar
3798519b9e updated for version 7.3.1143
Problem:    When mapping NUL it is displayed as an X.
Solution:   Check for KS_ZERO instead of K_ZERO. (Yasuhiro Matsumoto)
2013-06-07 19:53:10 +02:00
Bram Moolenaar
45fc539fe0 updated for version 7.3.1142
Problem:    Memory leak in ":syntime report".
Solution:   Clear the grow array. (Dominique Pelle)
2013-06-07 19:48:39 +02:00
Bram Moolenaar
a238431302 updated for version 7.3.1141
Problem:    Win32: Check for available memory is not reliable and adds
            overhead.
Solution:   Remove mch_avail_mem(). (Mike Williams)
2013-06-07 19:17:14 +02:00
Bram Moolenaar
43e0298416 updated for version 7.3.1140
Problem:    New regexp engine: trying expensive match while the result is not
            going to be used.
Solution:   Check for output state already being in the state list.
2013-06-07 17:31:29 +02:00
Bram Moolenaar
decd9540fd updated for version 7.3.1139
Problem:    New regexp engine: negated flag is hardly used.
Solution:   Add separate _NEG states, remove negated flag.
2013-06-07 16:31:50 +02:00
Bram Moolenaar
8aca2e9bef updated for version 7.3.1138
Problem:    New regexp engine: neglist no longer used.
Solution:   Remove the now unused neglist.
2013-06-07 14:59:18 +02:00
Bram Moolenaar
417bad227a updated for version 7.3.1137
Problem:    New regexp engine: collections are slow.
Solution:   Handle all characters in one go.
2013-06-07 14:08:30 +02:00
Bram Moolenaar
203d04d764 Updated runtime files. 2013-06-06 21:36:40 +02:00
Bram Moolenaar
4cd92d5aae updated for version 7.3.1136
Problem:    ":func Foo" does not show attributes.
Solution:   Add "abort", "dict" and "range". (Yasuhiro Matsumoto)
2013-06-06 21:31:06 +02:00
Bram Moolenaar
4e31296ffa updated for version 7.3.1135
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2013-06-06 21:19:51 +02:00
Bram Moolenaar
cc908adac8 updated for version 7.3.1134
Problem:    Running test 49 takes a long time.
Solution:   Don't have it grep all files.
2013-06-06 18:55:49 +02:00
Bram Moolenaar
d89616ebb8 updated for version 7.3.1133
Problem:    New regexp engine is a bit slow.
Solution:   Skip ahead to a character that must match.  Don't try matching a
            "^" patter past the start of line.
2013-06-06 18:46:06 +02:00
Bram Moolenaar
6d3a5d755a updated for version 7.3.1132
Problem:    Crash when debugging regexp.
Solution:   Do not try to dump subexpr that were not set.  Skip over count of
            \% items.
2013-06-06 18:04:51 +02:00
Bram Moolenaar
188c57bcd1 updated for version 7.3.1131
Problem:    New regexp engine is a bit slow.
Solution:   Do not clear the state list.  Don't copy syntax submatches when
            not used.
2013-06-06 16:22:06 +02:00
Bram Moolenaar
f751255283 updated for version 7.3.1130
Problem:    Can't build with anything but huge features.
Solution:   Check for FEAT_PROFILE. (Yasuhiro Matsumoto)
2013-06-06 14:55:19 +02:00
Bram Moolenaar
8a7f5a2d43 updated for version 7.3.1129
Problem:    Can't see what pattern in syntax highlighting is slow.
Solution:   Add the ":syntime" command.
2013-06-06 14:01:46 +02:00
Bram Moolenaar
cd2d8bb6ea updated for version 7.3.1128
Problem:    Now that the NFA engine handles everything every failure is a
            syntax error.
Solution:   Remove the syntax_error flag.
2013-06-05 21:42:53 +02:00
Bram Moolenaar
2976c028ca updated for version 7.3.1127
Problem:    No error for using empty \%[].
Solution:   Give error message.
2013-06-05 21:30:37 +02:00
Bram Moolenaar
c19b4b50a8 updated for version 7.3.1126
Problem:    Compiler warning for unitialized variable. (Tony Mechelynck)
Solution:   Assign something to the variable.
2013-06-05 21:23:39 +02:00
Bram Moolenaar
973fced763 updated for version 7.3.1125
Problem:    Error for using \%V in a pattern in tiny Vim.
Solution:   Allow using \%V but never match. (Dominique Pelle)
2013-06-05 21:10:59 +02:00
Bram Moolenaar
d4209d203a updated for version 7.3.1124
Problem:    Python: Crash on MS-Windows when os.fchdir() is not available.
Solution:   Check for _chdir to be NULL. (Ken Takata)
2013-06-05 20:34:15 +02:00
Bram Moolenaar
e60c2e5e1c updated for version 7.3.1123
Problem:    Can't build tiny Vim on MS-Windows.
Solution:   Adjust #ifdef around using modif_fname(). (Mike Williams)
2013-06-05 19:35:38 +02:00
Bram Moolenaar
8795374bd3 updated for version 7.3.1122
Problem:    New regexp engine: \%> not supported.
Solution:   Implement \%>.
2013-06-05 18:52:40 +02:00
Bram Moolenaar
67604aed75 updated for version 7.3.1121
Problem:    New regexp engine: adding states that are not used.
Solution:   Don't add the states.
2013-06-05 16:51:57 +02:00
Bram Moolenaar
5b84ddccea updated for version 7.3.1120
Problem:    Crash when regexp logging is enabled.
Solution:   Avoid using NULL pointers. Advance over count argument.
2013-06-05 16:33:10 +02:00
Bram Moolenaar
1cd3f2c450 updated for version 7.3.1119
Problem:    Flags in 'cpo' are search for several times.
Solution:   Store the result and re-use the flags.
2013-06-05 12:43:09 +02:00
Bram Moolenaar
e2b8cb3b15 updated for version 7.3.1118
Problem:    Match failure rate is not very specific.
Solution:   Tune the failure rate for match items.
2013-06-05 11:46:25 +02:00
Bram Moolenaar
d75799ab7f updated for version 7.3.1117
Problem:    New regexp engine: \%[abc] not supported.
Solution:   Implement \%[abc].  Add tests.
2013-06-05 11:05:17 +02:00
Bram Moolenaar
78eae9aaf7 updated for version 7.3.1116
Problem:    Can't build without Visual mode.
Solution:   Add #ifdefs.
2013-06-05 11:02:05 +02:00
Bram Moolenaar
5ebc09b450 updated for version 7.3.1115
Problem:    Many users don't like the cursor line number when 'relativenumber'
            is set.
Solution:   Have four combinations with 'number' and 'relativenumber'.
            (Christian Brabandt)
2013-06-04 22:13:50 +02:00
Bram Moolenaar
b76591ef4a updated for version 7.3.1114
Problem:    Can't build without the syntax feature.
Solution:   Add #ifdefs. (Erik Falor)
2013-06-04 21:42:22 +02:00
Bram Moolenaar
044aa290c5 updated for version 7.3.1113
Problem:    New regexp engine: \%'m not supported.
Solution:   Implement \%'m.  Add tests.
2013-06-04 21:27:38 +02:00
Bram Moolenaar
dacd7de3fd updated for version 7.3.1112
Problem:    New regexp engine: \%V not supported.
Solution:   Implement \%V.  Add tests.
2013-06-04 18:28:48 +02:00
Bram Moolenaar
f811509c03 updated for version 7.3.1111
Problem:    nfa_recognize_char_class() implementation is inefficient.
Solution:   Use bits in an int instead of chars in a string. (Dominique Pelle)
2013-06-04 17:47:05 +02:00
Bram Moolenaar
a2d9510861 updated for version 7.3.1110
Problem:    New regexp matching: Using \@= and the like can be slow.
Solution:   Decide whether to first try matching the zero-wdith part or what
            follows, whatever is more likely to fail.
2013-06-04 14:23:05 +02:00
Bram Moolenaar
dd9a4a44a9 updated for version 7.3.1109
Problem:    Building on MS-Windows doesn't see changes in if_py_both.h.
Solution:   Add a dependency. (Ken Takata)
2013-06-03 20:12:51 +02:00
Bram Moolenaar
e9056b121d updated for version 7.3.1108
Problem:    Error message for os.fchdir() (Charles Peacech)
Solution:   Clear the error. (ZyX)
2013-06-03 20:04:48 +02:00
Bram Moolenaar
01d89dddfa updated for version 7.3.1107
Problem:    Compiler warnings for unused variables.
Solution:   Put the variables inside #ifdef.
2013-06-03 19:41:06 +02:00
Bram Moolenaar
dd2ccdf6ea updated for version 7.3.1106
Problem:    New regexp engine: saving and restoring lastlist in the states
            takes a lot of time.
Solution:   Use a second lastlist value for the first recursive call.
2013-06-03 12:17:04 +02:00
Bram Moolenaar
f46da70603 updated for version 7.3.1105
Problem:    New regexp engine: too much code in one function.  Dead code.
Solution:   Move the recursive nfa_regmatch call to a separate function.
            Remove the dead code.
2013-06-02 22:37:42 +02:00
Bram Moolenaar
f18fb7af75 updated for version 7.3.1104
Problem:    New regexp engine does not handle "~".
Solution:   Add support for "~".
2013-06-02 22:08:03 +02:00
Bram Moolenaar
f6de032afe updated for version 7.3.1103
Problem:    New regexp engine: overhead in saving and restoring.
Solution:   Make saving and restoring list IDs faster.  Don't copy or check \z
            subexpressions when they are not used.
2013-06-02 21:30:04 +02:00
Bram Moolenaar
9f5d600723 updated for version 7.3.1102
Problem:    Completion of ":py3do" and ":py3file" does not work after ":py3".
Solution:   Make completion work. (Taro Muraoka)
2013-06-02 19:22:13 +02:00
Bram Moolenaar
ac499e3116 updated for version 7.3.1101
Problem:    Configure doesn't find Python 3 on Ubuntu 13.04.
Solution:   First try distutils.sysconfig. Also fix some indents.  (Ken
            Takata)
2013-06-02 19:14:17 +02:00
Bram Moolenaar
78b5957439 updated for version 7.3.1100
Problem:    Python: a few more memory problems.
Solution:   Add and remove Py_XDECREF(). (ZyX)
2013-06-02 18:54:21 +02:00
Bram Moolenaar
f4258308e2 updated for version 7.3.1099
Problem:    Python: Changing directory with os.chdir() causes problems for
            Vim's notion of directories.
Solution:   Add vim.chdir() and vim.fchdir(). (ZyX)
2013-06-02 18:20:17 +02:00
Bram Moolenaar
4f2109d782 updated for version 7.3.1098
Problem:    Python: Possible memory leaks
Solution:   Add Py_XDECREF() calls. (ZyX)
2013-06-02 18:07:37 +02:00
Bram Moolenaar
bc41196bdc updated for version 7.3.1097
Problem:    Python: a few recently added items are not documented.
Solution:   Update the documentation. (ZyX)
2013-06-02 17:46:40 +02:00
Bram Moolenaar
de71b5658f updated for version 7.3.1096
Problem:    Python: popitem() was not defined in a standard way.
Solution:   Remove the argument from popitem(). (ZyX)
2013-06-02 17:41:54 +02:00
Bram Moolenaar
525666f282 updated for version 7.3.1095
Problem:    Compiler warnings for shadowed variables. (Christian Brabandt)
Solution:   Rename new_state() to alloc_state().  Remove unnecessary
            declaration.
2013-06-02 16:40:55 +02:00
Bram Moolenaar
307aa16a69 updated for version 7.3.1094
Problem:    New regexp engine: Attempts to match "^" at every character.
Solution:   Only try "^" at the start of a line.
2013-06-02 16:34:21 +02:00
Bram Moolenaar
b122e9798e updated for version 7.3.1093
Problem:    New regexp engine: When a sub expression is empty \1 skips a
            character.
Solution:   Make \1 try the current position when the match is emtpy.
2013-06-02 16:07:10 +02:00
Bram Moolenaar
69afb7bf0a updated for version 7.3.1092
Problem:    Can't build with regexp debugging.  NFA debug output shows wrong
            pattern.
Solution:   Fix debugging code for recent changes.  Add the pattern to the
            program.
2013-06-02 15:55:55 +02:00
Bram Moolenaar
5de820b916 updated for version 7.3.1091
Problem:    New regexp engine: no error when using \z1 or \z( where it does
            not work.
Solution:   Give an error message.
2013-06-02 15:01:57 +02:00
Bram Moolenaar
efb23f26e8 updated for version 7.3.1090
Problem:    New regexp engine does not support \z1 .. \z9 and \z(.
Solution:   Implement the syntax submatches.
2013-06-01 23:02:54 +02:00
Bram Moolenaar
0418811869 updated for version 7.3.1089
Problem:    Tests 86 and 87 fail on MS-Windows. (Ken Takata)
Solution:   Fix platform-specific stuff. (ZyX)
2013-06-01 20:32:12 +02:00
Bram Moolenaar
61602c5bfe updated for version 7.3.1088
Problem:    New regexp engine: \@<= and \@<! are not implemented.
Solution:   Implement look-behind matching.  Fix off-by-one error in old
            regexp engine.
2013-06-01 19:54:43 +02:00
Bram Moolenaar
543b7ef700 Updated runtime files and translations. 2013-06-01 14:50:56 +02:00
Bram Moolenaar
3737fc1c30 updated for version 7.3.1087
Problem:    A leading star is not seen as a normal char when \{} follows.
Solution:   Save and restore the parse state properly.
2013-06-01 14:42:56 +02:00
Bram Moolenaar
75d7a06920 updated for version 7.3.1086
Problem:    Old regexp engine accepts illegal range, new one doesn't.
Solution:   Also accept the illegal range with the new engine.
2013-06-01 13:24:24 +02:00
Bram Moolenaar
36b3a011d3 updated for version 7.3.1085
Problem:    New regexp engine: Non-greedy multi doesn't work.
Solution:   Implement \{-}.
2013-06-01 12:40:20 +02:00
Bram Moolenaar
54dafde170 updated for version 7.3.1084
Problem:    New regexp engine: only accepts up to \{,10}.
Solution:   Remove upper limit.  Remove dead code with NFA_PLUS.
2013-05-31 23:18:00 +02:00
Bram Moolenaar
4b78063368 updated for version 7.3.1083
Problem:    New regexp engine: Does not support \%^ and \%$.
Solution:   Support matching start and end of file.
2013-05-31 22:14:52 +02:00
Bram Moolenaar
14f55c6f67 updated for version 7.3.1082
Problem:    New regexp engine: Problem with \@= matching.
Solution:   Save and restore nfa_match.
2013-05-31 21:45:09 +02:00
Bram Moolenaar
99dc19d1cc updated for version 7.3.1081
Problem:    Compiler warnings on 64-bit Windows.
Solution:   Change variable types. (Mike Williams)
2013-05-31 20:49:31 +02:00
Bram Moolenaar
ca982c8d45 updated for version 7.3.1080
Problem:    Test 86 fails.
Solution:   Comment out the parts that don't work.  Make it pass on 32 bit
            systems.
2013-05-31 19:01:16 +02:00
Bram Moolenaar
96c7dfd806 updated for version 7.3.1079
Problem:    Test 87 fails.
Solution:   Fix the test for Python 3.3. (ZyX)  Make it pass on 32 bit systems.
2013-05-31 18:46:11 +02:00
Bram Moolenaar
b06e20e6ba updated for version 7.3.1078
Problem:    New regexp engine: \@! doesn't work.
Solution:   Implement the negated version of \@=.
2013-05-30 22:44:02 +02:00
Bram Moolenaar
35eacd7180 updated for version 7.3.1077
Problem:    Python: Allocating dict the wrong way, causing a crash.
Solution:   Use py_dict_alloc(). Fix some exception problems. (ZyX)
2013-05-30 22:06:33 +02:00
Bram Moolenaar
2d5e112284 updated for version 7.3.1076
Problem:    New regexp engine: \@= and \& don't work.
Solution:   Make these items work.  Add column info to logging.
2013-05-30 21:42:13 +02:00
Bram Moolenaar
021e147b70 updated for version 7.3.1075
Problem:    Compiler warning for storing a long_u in an int.
Solution:   Declare the number as an int. (Mike Williams)
2013-05-30 19:18:31 +02:00
Bram Moolenaar
f62d942e54 updated for version 7.3.1074
Problem:    Compiler warning for printf format. (Manuel Ortega)
Solution:   Add type casts.
2013-05-30 19:01:24 +02:00
Bram Moolenaar
16299b57cb updated for version 7.3.1073
Problem:    New regexp engine may run out of states.
Solution:   Allocate states dynamically.  Also make the test report errors.
2013-05-30 18:45:23 +02:00
Bram Moolenaar
4b6ebe6dce updated for version 7.3.1072
Problem:    Compiler warning for unitialized variable.
Solution:   Initialize it.
2013-05-30 17:49:24 +02:00
Bram Moolenaar
428e987b61 updated for version 7.3.1071
Problem:    New regexp engine: backreferences don't work correctly.
Solution:   Add every possible start/end position on the state stack.
2013-05-30 17:05:39 +02:00
Bram Moolenaar
fdde880b02 updated for version 7.3.1070
Problem:    Vim crashes in Python tests. Compiler warning for unused function.
Solution:   Disable the tests for now. Move the function.
2013-05-30 15:38:24 +02:00
Bram Moolenaar
fc714b35c6 updated for version 7.3.1069
Problem:    Python: memory leaks.
Solution:   Python patch 28: Purge out DICTKEY_CHECK_EMPTY macros. (ZyX)
2013-05-30 14:52:37 +02:00
Bram Moolenaar
018acca3bd updated for version 7.3.1068
Problem:    Python: Script is auto-loaded on function creation.
Solution:   Python patch 27. (ZyX)
2013-05-30 13:37:28 +02:00
Bram Moolenaar
305b2fde13 updated for version 7.3.1067
Problem:    Python: documentation lags behind.
Solution:   Python patch 26. (ZyX)
2013-05-30 13:32:30 +02:00
Bram Moolenaar
8600e40a67 updated for version 7.3.1066
Problem:    Python: Insufficient exception and error testing.
Solution:   Python patch 25. (ZyX)
2013-05-30 13:28:41 +02:00
Bram Moolenaar
bcb40977c3 updated for version 7.3.1065
Problem:    Python: key mapping is not standard.
Solution:   Puthon patch 24: use PyMapping_Keys. (ZyX)
2013-05-30 13:22:13 +02:00
Bram Moolenaar
494ff7e850 updated for version 7.3.1064
Problem:    Python: insufficient error checking.
Solution:   Python patch 23. (ZyX)
2013-05-30 13:17:17 +02:00
Bram Moolenaar
355fd9b468 updated for version 7.3.1063
Problem:    Python: Function is not standard.
Solution:   Python patch 22: make Function subclassable. (ZyX)
2013-05-30 13:14:13 +02:00
Bram Moolenaar
78cddbe271 updated for version 7.3.1062
Problem:    Python: List is not standard.
Solution:   Python patch 21: Add standard methods and fields. (ZyX)
2013-05-30 13:05:58 +02:00
Bram Moolenaar
a9922d62e6 updated for version 7.3.1061
Problem:    Python: Dictionary is not standard.
Solution:   Python patch 20: Add standard methods and fields. (ZyX)
2013-05-30 13:01:18 +02:00
Bram Moolenaar
a5b725c3f6 updated for version 7.3.1060
Problem:    Python: can't repr() a function.
Solution:   Python patch 19: add FunctionRepr(). (ZyX)
2013-05-30 12:43:54 +02:00
Bram Moolenaar
1a3b56953e updated for version 7.3.1059
Problem:    Python: Using fixed size buffers.
Solution:   Python patch 18: Use python's own formatter. (ZyX)
2013-05-30 12:40:39 +02:00
Bram Moolenaar
a1544c00c8 updated for version 7.3.1058
Problem:    Call of funcref does not succeed in other script.
Solution:   Python patch 17: add get_expanded_name(). (ZyX)
2013-05-30 12:35:52 +02:00
Bram Moolenaar
01a7a720ad updated for version 7.3.1057
Problem:    Python: not enough compatibilty.
Solution:   Python patch 16: Make OutputWritelines support any sequence object
            (ZyX) Note: tests fail
2013-05-30 12:26:58 +02:00
Bram Moolenaar
9bb77d6fe6 updated for version 7.3.1056
Problem:    Python: possible memory leaks.
Solution:   Python patch 15. (ZyX) Fix will follow later.
2013-05-30 12:14:49 +02:00
Bram Moolenaar
bad704fa04 updated for version 7.3.1055
Problem:    Negated collection does not match newline.
Solution:   Handle newline differently. (Hiroshi Shirosaki)
2013-05-30 11:51:08 +02:00
Bram Moolenaar
7e28384a9a updated for version 7.3.1054
Problem:    Can't build without the +autocmd feature. (Elimar Riesebieter)
Solution:   Fix use of buf and curbuf.
2013-05-30 11:43:15 +02:00
Bram Moolenaar
07b8864111 updated for version 7.3.1053
Problem:    Python: no flag for types with tp_traverse+tp_clear.
Solution:   Python patch 14: Add Py_TPFLAGS_HAVE_GC. (ZyX)
2013-05-29 22:58:32 +02:00
Bram Moolenaar
1bcabe19a2 updated for version 7.3.1052
Problem:    Python: possible SEGV and negative refcount.
Solution:   Python patch 13: Fix IterIter function. (ZyX)
2013-05-29 22:52:32 +02:00
Bram Moolenaar
a03e631120 updated for version 7.3.1051
Problem:    Python: possible memory leaks.
Solution:   Python patch 12: fix the leaks (ZyX)
2013-05-29 22:49:26 +02:00
Bram Moolenaar
c8366790e8 updated for version 7.3.1050
Problem:    Python: Typo in pyiter_to_tv.
Solution:   Python patch 11. (ZyX)
2013-05-29 22:46:26 +02:00
Bram Moolenaar
c37b6ecd60 updated for version 7.3.1049
Problem:    Python: no consistent naming
Solution:   Python patch 10: Rename DICTKEY_GET_NOTEMPTY to DICTKEY_GET. (ZyX)
2013-05-29 22:43:37 +02:00
Bram Moolenaar
b38caae26c updated for version 7.3.1048
Problem:    Python: no consistent naming.
Solution:   Python patch 9: Rename d to dict and lookupDict to lookup_dict.
            (ZyX)
2013-05-29 22:39:52 +02:00
Bram Moolenaar
dd8aca664d updated for version 7.3.1047
Problem:    Python: dir() does not work properly.
Solution:   Python patch 8.  Add __dir__ method to all objects with custom
            tp_getattr supplemented by __members__ attribute for at least
            python-2* versions.  __members__ is not mentioned in python-3*
            dir() output even if it is accessible. (ZyX)
2013-05-29 22:36:10 +02:00
Bram Moolenaar
432b09c84d updated for version 7.3.1046
Problem:    Python: Using Py_BuildValue for building strings.
Solution:   Python patch 7 and 7.5: Replace Py_BuildValue with
            PyString_FromString. (ZyX)
2013-05-29 22:26:18 +02:00
Bram Moolenaar
21642ed1b4 updated for version 7.3.1045
Problem:    Python: No error handling for VimToPython function.
Solution:   Python patch 6. (ZyX)
2013-05-29 22:20:01 +02:00
Bram Moolenaar
9e822c00b1 updated for version 7.3.1044
Problem:    Python: No {Buffer,TabPage,Window}.valid attributes.
Solution:   Python patch 5: add .valid (ZyX)
2013-05-29 22:15:30 +02:00
Bram Moolenaar
3e734ea2c7 updated for version 7.3.1043
Problem:    Python: Dynamic compilation with 2.3 fails.
Solution:   Python patch 4. (ZyX)
2013-05-29 22:05:55 +02:00
Bram Moolenaar
e9ba516be2 updated for version 7.3.1042
Problem:    Python: can't assign to vim.Buffer.name.
Solution:   Python patch 3. (ZyX)
2013-05-29 22:02:22 +02:00
Bram Moolenaar
1bc2428e1f updated for version 7.3.1041
Problem:    Python: Invalid read valgrind errors.
Solution:   Python patch 2: defer DICTKEY_UNREF until key is no longer needed.
            (ZyX)
2013-05-29 21:37:35 +02:00
Bram Moolenaar
0014a53ad1 updated for version 7.3.1040
Problem:    Python: Problems with debugging dynamic build.
Solution:   Python patch 1. (ZyX)
2013-05-29 21:33:39 +02:00
Bram Moolenaar
423532e10d updated for version 7.3.1039
Problem:    New regexp engine does not support \%23c, \%<23c and the like.
Solution:   Implement them. (partly by Yasuhiro Matsumoto)
2013-05-29 21:14:42 +02:00
Bram Moolenaar
28c2191949 updated for version 7.3.1038
Problem:    Crash when using Cscope.
Solution:   Avoid negative argument to vim_strncpy(). (Narendran
            Gopalakrishnan)
2013-05-29 19:18:00 +02:00
Bram Moolenaar
75eb1610e1 updated for version 7.3.1037
Problem:    Look-behind matching is very slow on long lines.
Solution:   Add a byte limit to how far back an attempt is made.
2013-05-29 18:45:11 +02:00
Bram Moolenaar
f9e56b2b03 updated for version 7.3.1036
Problem:    Can't build on HP-UX.
Solution:   Give the union a name. (John Marriott)
2013-05-28 22:52:16 +02:00
Bram Moolenaar
4ac6676cee updated for version 7.3.1035
Problem:    Compiler warning on 64 bit windows.
Solution:   Add type cast. (Mike Williams)
2013-05-28 22:31:46 +02:00
Bram Moolenaar
51a2983904 updated for version 7.3.1034
Problem:    New regexp code using strange multi-byte code.
Solution:   Use the normal code to advance and backup pointers.
2013-05-28 22:30:35 +02:00
Bram Moolenaar
5714b80032 updated for version 7.3.1033
Problem:    "\1" .. "\9" are not supported in the new regexp engine.
Solution:   Implement them.  Add a few more tests.
2013-05-28 22:03:20 +02:00
Bram Moolenaar
e0fea9c405 updated for version 7.3.1032
Problem:    "\ze" is not supported by the new regexp engine.
Solution:   Make "\ze" work.
2013-05-27 20:10:50 +02:00
Bram Moolenaar
eb3ecae23a updated for version 7.3.1031
Problem:    Compiler warnings for shadowed variable. (John Little)
Solution:   Move the variable declarations to the scope where they are used.
2013-05-27 11:22:04 +02:00
Bram Moolenaar
2cb8feb880 updated for version 7.3.1030
Problem:    Can't build for debugging.
Solution:   Fix struct member names.
2013-05-26 23:13:07 +02:00
Bram Moolenaar
26c2f3fc4e updated for version 7.3.1029
Problem:    New regexp performance: Unused position state being copied.
Solution:   Keep track of which positions are actually valid.
2013-05-26 22:56:19 +02:00
Bram Moolenaar
963fee2d69 updated for version 7.3.1028
Problem:    New regexp performance: Copying a lot of position state.
Solution:   Only copy the sub-expressions that are being used.
2013-05-26 21:47:28 +02:00
Bram Moolenaar
c4912e555b updated for version 7.3.1027
Problem:    New regexp performance: Calling no_Magic() very often.
Solution:   Remove magicness inline.
2013-05-26 19:19:52 +02:00
Bram Moolenaar
e23febdb85 updated for version 7.3.1026
Problem:    New regexp: pattern that includs a new-line matches too early.
            (john McGowan)
Solution:   Do not start searching in the second line.
2013-05-26 18:40:14 +02:00
Bram Moolenaar
61db8b5108 updated for version 7.3.1025
Problem:    New regexp: not matching newline in string. (Marc Weber)
Solution:   Check for "\n" character.
2013-05-26 17:45:49 +02:00
Bram Moolenaar
57a285b105 updated for version 7.3.1024
Problem:    New regexp: End of matching pattern not set correctly. (Cesar
            Romani)
Solution:   Quit the loop after finding the match.  Store nfa_has_zend in the
            program.
2013-05-26 16:57:28 +02:00
Bram Moolenaar
3451d66244 updated for version 7.3.1023
Problem:    Searching for composing char only and using \Z has different
            results.
Solution:   Make it match the composing char, matching everything is not
            useful.
2013-05-26 15:14:55 +02:00
Bram Moolenaar
7cd4d9c17c updated for version 7.3.1022
Problem:    Compiler warning for shadowed variable. (John Little)
Solution:   Move declaration, rename variables.
2013-05-26 14:54:12 +02:00
Bram Moolenaar
3f1682e808 updated for version 7.3.1021
Problem:    New regexp engine does not ignore order of composing chars.
Solution:   Ignore composing chars order.
2013-05-26 14:32:05 +02:00
Bram Moolenaar
fdb6dc1105 updated for version 7.3.1020
Problem:    Not all patterns are tested with auto / old / new engine.
Solution:   Test patterns with three values of 'regexpengine'.
2013-05-25 23:15:27 +02:00
Bram Moolenaar
47196581b8 updated for version 7.3.1019
Problem:    These do not work with the new regexp engine: \%o123, \%x123,
            \%d123, \%u123 and \%U123.
Solution:   Implement these items.
2013-05-25 22:04:23 +02:00
Bram Moolenaar
aae4883e01 updated for version 7.3.1018
Problem:    New regexp engine wastes memory.
Solution:   Allocate prog with actual number of states, not estimated maximum
            number of sates.
2013-05-25 21:18:34 +02:00
Bram Moolenaar
4b41706477 updated for version 7.3.1017
Problem:    Zero width match changes length of match.
Solution:   For a zero width match put new states in the current position in
            the state list.
2013-05-25 20:19:50 +02:00
Bram Moolenaar
f47ca63dbc updated for version 7.3.1016
Problem:    Unused field in nfa_state.
Solution:   Remove lastthread.
2013-05-25 15:31:05 +02:00
Bram Moolenaar
56d58d51bf updated for version 7.3.1015
Problem:    New regexp engine: Matching composing characters is wrong.
Solution:   Fix matching composing characters.
2013-05-25 14:42:03 +02:00
Bram Moolenaar
152e7890c1 updated for version 7.3.1014
Problem:    New regexp state dump is hard to read.
Solution:   Make the state dump more pretty. (Taro Muraoka)
2013-05-25 12:28:11 +02:00
Bram Moolenaar
d6c11cb3e0 updated for version 7.3.1013
Problem:    New regexp logging is a bit messy.
Solution:   Consistently use #defines, add explanatory comment. (Taro Muraoka)
2013-05-25 12:18:39 +02:00
Bram Moolenaar
fad8de084a updated for version 7.3.1012
Problem:    \Z does not work properly with the new regexp engine.
Solution:   Make \Z work.  Add tests.
2013-05-24 23:10:50 +02:00
Bram Moolenaar
3c577f26cd updated for version 7.3.1011
Problem:    New regexp engine is inefficient with multi-byte characters.
Solution:   Handle a character at a time instead of a byte at a time.  Also
            make \Z partly work.
2013-05-24 21:59:54 +02:00
Bram Moolenaar
1d814754c0 updated for version 7.3.1010
Problem:    New regexp: adding \Z makes every character match.
Solution:   Only apply ireg_icombine for composing characters.
            Alsl add missing change from patch 1008. (Ken Takata)
2013-05-24 20:25:33 +02:00
Bram Moolenaar
425154d888 updated for version 7.3.1009
Problem:    Compiler warning for ambiguous else.
Solution:   Add curly braces.
2013-05-24 18:58:43 +02:00
Bram Moolenaar
02e26d9807 updated for version 7.3.1008
Problem:    Test 95 fails on MS-Windows.
Solution:   Set 'nomore'. Change \i to \f.  Change multi-byte character to
            something that is not matching \i. (Ken Takata)
2013-05-23 22:43:08 +02:00
Bram Moolenaar
a03dbed9e9 updated for version 7.3.1007
Problem:    Can't build on Minix 3.2.1.
Solution:   Add a condition to an #ifdef. (Gautam Tirumala)
2013-05-23 22:27:03 +02:00
Bram Moolenaar
307d10a2fb updated for version 7.3.1006
Problem:    NFA engine not used for "\_[0-9]".
Solution:   Enable this, fixed in patch 1005.
2013-05-23 22:25:15 +02:00
Bram Moolenaar
35b2386a8e updated for version 7.3.1005
Problem:    Get stuck on regexp "\n*" and on "%s/^\n\+/\r".
Solution:   Fix handling of matching a line break. (idea by Hirohito Higashi)
2013-05-22 23:00:40 +02:00
Bram Moolenaar
c96ebe75e5 updated for version 7.3.1004
Problem:    No error when option could not be set.
Solution:   Report an error. (ZyX)
2013-05-21 22:38:18 +02:00
Bram Moolenaar
2a0f3d3fb2 updated for version 7.3.1003
Problem:    Python interface does not compile with Python 2.2
Solution:   Fix thread issues and True/False. (ZyX)
2013-05-21 22:23:56 +02:00
Bram Moolenaar
0b9aecc3a5 updated for version 7.3.1002
Problem:    Valgrind errors for Python interface.
Solution:   Fix memory leaks when running tests. (ZyX)
2013-05-21 22:13:41 +02:00
Bram Moolenaar
673af4d304 updated for version 7.3.1001
Problem:    Duplicate condition in if.
Solution:   Remove one condition.
2013-05-21 22:00:51 +02:00
Bram Moolenaar
2eec59e30b updated for version 7.3.1000
Problem:    Typo in char value causes out of bounds access.
Solution:   Fix character value.  (Klemens Baum)
2013-05-21 21:37:20 +02:00
Bram Moolenaar
f878bf0da2 updated for version 7.3.999
Problem:    New regexp engine sets curbuf temporarily.
Solution:   Use reg_buf instead, like the old engine.
2013-05-21 21:20:20 +02:00
Bram Moolenaar
e6ae6225b4 Updated runtime files, language files and translations. 2013-05-21 21:01:10 +02:00
Bram Moolenaar
774267bbb9 updated for version 7.3.998
Problem:    Python: garbage collection issues.
Solution:   Fix the GC issues: Use proper DESTRUCTOR_FINISH: avoids negative
            refcounts, use PyObject_GC_* for objects with tp_traverse and
            tp_clear, add RangeTraverse and RangeClear, use Py_XDECREF in some
            places. (ZyX)
2013-05-21 20:51:59 +02:00
Bram Moolenaar
a7b64ce74e updated for version 7.3.997
Problem:    Vim and Python exceptions are different.
Solution:   Make Vim exceptions be Python exceptions. (ZyX)
2013-05-21 20:40:40 +02:00
Bram Moolenaar
cac867ad18 updated for version 7.3.996
Problem:    Python: Can't check types of what is returned by bindeval().
Solution:   Add vim.List, vim.Dictionary and vim.Function types. (ZyX)
2013-05-21 19:50:34 +02:00
Bram Moolenaar
1dc28783fa updated for version 7.3.995
Problem:    Python: Module initialization is duplicated.
Solution:   Move to shared file. (ZyX)
2013-05-21 19:11:01 +02:00
Bram Moolenaar
182dc4f2ab updated for version 7.3.994
Problem:    Python: using magic constants.
Solution:   Use descriptive values for ml_flags. (ZyX)
2013-05-21 19:01:55 +02:00
Bram Moolenaar
e64faa6645 updated for version 7.3.993
Problem:    Python: Later patch does things slightly differently.
Solution:   Adjusted argument type changes. (ZyX)
2013-05-21 18:47:21 +02:00
Bram Moolenaar
d6e391862c updated for version 7.3.992
Problem:    Python: Too many type casts.
Solution:   Change argument types. (ZyX)
2013-05-21 18:30:34 +02:00
Bram Moolenaar
b52f4c02e6 updated for version 7.3.991
Problem:    More can be shared by Python 2 and 3.
Solution:   Move more stuff to if_py_both. (ZyX)
2013-05-21 18:19:38 +02:00
Bram Moolenaar
b09d983c78 updated for version 7.3.990
Problem:    Memory leak in new regexp engine.
Solution:   Jump to end of function to free memory. (Dominique Pelle)
2013-05-21 16:28:11 +02:00
Bram Moolenaar
12e4014092 updated for version 7.3.989
Problem:    New regexp engine compares negative numbers to character.
Solution:   Add missing case statements.
2013-05-21 15:33:41 +02:00
Bram Moolenaar
66e83d7db0 updated for version 7.3.988
Problem:    New regexp engine is slow.
Solution:   Break out of the loop when the state list is empty.
2013-05-21 14:03:00 +02:00
Bram Moolenaar
d2470e9fbe updated for version 7.3.987
Problem:    No easy to run an individual test.  Tests 64 fails when
            'encoding' is not utf-8.
Solution:   Add individual test targets to the Makefile.  Move some lines from
            test 64 to 95.
2013-05-21 13:30:21 +02:00
Bram Moolenaar
d7a06b1d71 updated for version 7.3.986
Problem:    Test 95 doesn't pass when 'encoding' isn't utf-8. (Yasuhiro
            Matsumoto)
Solution:   Force 'encoding' to be utf-8.
2013-05-21 13:05:15 +02:00
Bram Moolenaar
8dd7901a66 updated for version 7.3.985
Problem:    GTK vim not started as gvim doesn't set WM_CLASS property to a
            useful value.
Solution:   Call g_set_prgname() on startup. (James McCoy)
2013-05-21 12:52:04 +02:00
Bram Moolenaar
9bad29decf updated for version 7.3.984
Problem:    A Visual mapping that uses CTRL-G works differently when started
            from Insert mode. (Ein Brown)
Solution:   Reset old_mapped_len when handling typed text in Select mode.
2013-05-21 12:46:02 +02:00
Bram Moolenaar
080504921d updated for version 7.3.983
Problem:    Uneccessary temp variable.
Solution:   Remove the variable.
2013-05-21 12:43:56 +02:00
Bram Moolenaar
0fabe3fdbe updated for version 7.3.982
Problem:    In the new regexp engine \p does not work on multi-byte
            characters.
Solution:   Don't point to an integer but the characters.
2013-05-21 12:34:17 +02:00
Bram Moolenaar
09ea9fcf3f updated for version 7.3.981
Problem:    In the old regexp engine \i, \I, \f and \F don't work on
            multi-byte characters.
Solution:   Dereference pointer properly.
2013-05-21 00:03:02 +02:00
Bram Moolenaar
745fc029ba updated for version 7.3.980
Problem:    Regexp logs may contain garbage. Character classes don't work
            correctly for multi-byte characters.
Solution:   Check for end of post list.  Only use "is" functions for
            characters up to 255. (Ken Takata)
2013-05-20 22:20:02 +02:00
Bram Moolenaar
e3c7b86aab updated for version 7.3.979
Problem:    Complex NFA regexp doesn't work.
Solution:   Set actual state stack end instead of using an arbitrary number.
            (Yasuhiro Matsumoto)
2013-05-20 21:57:03 +02:00
Bram Moolenaar
7fcff1f781 updated for version 7.3.978
Problem:    Regexp debug logs don't have a good name.
Solution:   Use clear names and make it possible to write logs for the old and
            new engines separately. (Taro Muraoka)
2013-05-20 21:49:13 +02:00
Bram Moolenaar
ca12d7c004 updated for version 7.3.977
Problem:    Compiler warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)  Also fix some white space and
            uncomment what was commented-out for testing.
2013-05-20 21:26:33 +02:00
Bram Moolenaar
053bb60f44 updated for version 7.3.976
Problem:    Can't build on HP-UX.
Solution:   Remove modern initialization. (John Marriott)
2013-05-20 13:55:21 +02:00
Bram Moolenaar
bc0ea8f75e updated for version 7.3.975
Problem:    Crash in regexp parsing.
Solution:   Correctly compute the end of allocated memory.
2013-05-20 13:44:29 +02:00
Bram Moolenaar
10f3a79e89 updated for version 7.3.974
Problem:    Can't build with ruby 1.8.5.
Solution:   Only use ruby_init_stack() when RUBY_INIT_STACK is defined.
            (Yukihiro Nakadaira)
2013-05-20 12:52:29 +02:00
Bram Moolenaar
ba40447ab1 updated for version 7.3.973
Problem:    Compiler warnings. Crash on startup. (Tony Mechelynck)
Solution:   Change EMSG2 to EMSGN. Make array one character longer.
2013-05-19 22:31:18 +02:00
Bram Moolenaar
097c992c46 updated for version 7.3.972
Problem:    Cursor not restored after InsertEnter autocommand if it moved to
            another line.
Solution:   Also restore if the saved line number is still valid.  Allow
            setting v:char to skip restoring.
2013-05-19 21:15:15 +02:00
Bram Moolenaar
884f6e44e0 updated for version 7.3.971
Problem:    No support for VS2012 static code analysis.
Solution:   Add the ANALYZE option. (Mike Williams)
2013-05-19 21:03:54 +02:00
Bram Moolenaar
fbc0d2ea1e updated for version 7.3.970
Problem:    Syntax highlighting can be slow.
Solution:   Include the NFA regexp engine.  Add the 'regexpengine' option to
            select which one is used. (various authors, including Ken Takata,
            Andrei Aiordachioaie, Russ Cox, Xiaozhou Liua, Ian Young)
2013-05-19 19:40:29 +02:00
Bram Moolenaar
6fa41fb374 updated for version 7.3.969
Problem:    Can't built with Python 3 and without Python 2.
Solution:   Adjust #ifdef. (Xavier de Gaye)
2013-05-18 20:55:35 +02:00
Bram Moolenaar
7533fddd09 updated for version 7.3.968
Problem:    Multi-byte support is only available when compiled with "big"
            features.
Solution:   Include multi-byte by default, with "normal" features.
2013-05-18 20:45:59 +02:00
Bram Moolenaar
9e74e30b5f updated for version 7.3.967
Problem:    Build fails on Mac OSX. (Greg Novack)
Solution:   Undefine clear().
2013-05-17 21:20:17 +02:00
Bram Moolenaar
ad3b366c82 Update runtime files. 2013-05-17 18:14:19 +02:00
Bram Moolenaar
d620aa9be4 updated for version 7.3.966
Problem:    There is ":py3do" but no ":pydo".
Solution:   Add the ":pydo" command. (Lilydjwg)
2013-05-17 16:40:06 +02:00
Bram Moolenaar
cfef5ff23e updated for version 7.3.965
Problem:    Python garbage collection not working properly.
Solution:   Add support for garbage collection. (ZyX)
2013-05-17 16:24:32 +02:00
Bram Moolenaar
cabf80ff2f updated for version 7.3.964
Problem:    Python: not so easy to access tab pages.
Solution:   Add window.tabpage, make window.number work with non-current tab
            pages. (ZyX)
2013-05-17 16:18:33 +02:00
Bram Moolenaar
105bc355a6 updated for version 7.3.963
Problem:    Setting curbuf without curwin causes trouble.
Solution:   Add switch_buffer() and restore_buffer().  Block autocommands to
            avoid trouble.
2013-05-17 16:03:57 +02:00
Bram Moolenaar
55b8ad3dab updated for version 7.3.962
Problem:    Python tests are not portable.
Solution:   Use shiftwidth instead of iminsert. (ZyX)
2013-05-17 13:38:04 +02:00
Bram Moolenaar
c24c1acd82 updated for version 7.3.961
Problem:    Tests 86 and 87 fail when using another language than English.
Solution:   Set the language to C in the test. (Dominique Pelle)
2013-05-16 20:47:56 +02:00
Bram Moolenaar
07729b25bf updated for version 7.3.960
Problem:    Compiler warning for unused variable.
Solution:   Put declaration in #ifdef.
2013-05-15 23:13:10 +02:00
Bram Moolenaar
54e8f00581 updated for version 7.3.959
Problem:    Missing error number.
Solution:   Assign an error number.
2013-05-15 19:44:39 +02:00
Bram Moolenaar
2cd7362e30 updated for version 7.3.958
Problem:    Python: Iteration destructor not set.
Solution:   Put IterDestructor to use. (ZyX)
2013-05-15 19:07:47 +02:00
Bram Moolenaar
3dab2806fe updated for version 7.3.957
Problem:    Python does not have a "do" command like Perl or Lua.
Solution:   Add the ":py3do" command. (Lilydjwg)
2013-05-15 18:28:13 +02:00
Bram Moolenaar
71700b8903 updated for version 7.3.956
Problem:    Python vim.bindeval() causes SIGABRT.
Solution:   Make pygilstate a local variable. (Yukihiro Nakadaira)
2013-05-15 17:49:05 +02:00
Bram Moolenaar
a4720019cf updated for version 7.3.955
Problem:    Python: Not enough tests.
Solution:   Add tests for vim.{current,window*,tabpage*}. (ZyX)
2013-05-15 16:27:37 +02:00
Bram Moolenaar
b983f75d22 updated for version 7.3.954
Problem:    No check if PyObject_IsTrue fails.
Solution:   Add a check for -1 value. (ZyX)
2013-05-15 16:11:50 +02:00
Bram Moolenaar
d5f729cada updated for version 7.3.953
Problem:    Python: string exceptions are deprecated.
Solution:   Make vim.error an Exception subclass. (ZyX)
2013-05-15 16:04:40 +02:00
Bram Moolenaar
e761459eb6 updated for version 7.3.952
Problem:    Python: It's not easy to change window/buffer/tabpage.
Solution:   Add ability to assign to vim.current.{tabpage,buffer,window}.
            (ZyX)
2013-05-15 15:51:08 +02:00
Bram Moolenaar
8661b17843 updated for version 7.3.951
Problem:    Python exceptions have problems.
Solution:   Change some IndexErrors to TypeErrors. Make “line number out of
            range” an IndexError.  Make “unable to get option value” a
            RuntimeError. Make all PyErr_SetString messages start with
            lowercase letter and use _(). (ZyX)
2013-05-15 15:44:28 +02:00
Bram Moolenaar
4d188da22b updated for version 7.3.950
Problem:    Python: Stack trace printer can't handle messages.
Solution:   Make KeyErrors use PyErr_SetObject. (ZyX)
2013-05-15 15:35:09 +02:00
Bram Moolenaar
5e538ecd5e updated for version 7.3.949
Problem:    Python: no easy access to tabpages.
Solution:   Add vim.tabpages and vim.current.tabpage. (ZyX)
2013-05-15 15:12:29 +02:00
Bram Moolenaar
03db85b398 updated for version 7.3.948
Problem:    Cannot build with Python 2.2
Solution:   Make Python interface work with Python 2.2
            Make 2.2 the first supported version. (ZyX)
2013-05-15 14:51:35 +02:00
Bram Moolenaar
b6c589a529 updated for version 7.3.947
Problem:    Python: No iterator for vim.list and vim.bufferlist.
Solution:   Add the iterators. Also fix name of FunctionType. Add tests for
            vim.buffers.  (ZyX)
2013-05-15 14:39:52 +02:00
Bram Moolenaar
46a7561f3a updated for version 7.3.946
Problem:    Sometimes get stuck in waiting for cursor position report,
            resulting in keys starting with <Esc>[ not working.
Solution:   Only wait for more characters after <Esc>[ if followed by '?', '>'
            or a digit.
2013-05-15 14:22:41 +02:00
Bram Moolenaar
dfa38d4e45 updated for version 7.3.945
Problem:    Python: List of buffers is not very useful.
Solution:   Make vim.buffers a map. No iterator yet. (ZyX)
2013-05-15 13:38:47 +02:00
Bram Moolenaar
29607acff6 updated for version 7.3.944
Problem:    External program receives the termrespone.
Solution:   Insert a delay and discard input. (Hayaki Saito)
2013-05-13 20:26:53 +02:00
Bram Moolenaar
bd80f35bc5 updated for version 7.3.943
Problem:    Python: Negative indices were failing.
Solution:   Fix negative indices. Add tests. (ZyX)
2013-05-12 21:16:23 +02:00
Bram Moolenaar
8f1723de47 updated for version 7.3.942
Problem:    Python: SEGV in Buffer functions.
Solution:   Call CheckBuffer() at the right time. (ZyX)
2013-05-12 20:36:14 +02:00
Bram Moolenaar
3d0c52db9c updated for version 7.3.941
Problem:    Stuff in if_py_both.h is ordered badly.
Solution:   Reorder by type. (ZyX)
2013-05-12 19:45:35 +02:00
Bram Moolenaar
4e5dfb5700 updated for version 7.3.940
Problem:    Python: Can't get position of window.
Solution:   Add window.row and window.col. (ZyX)
2013-05-12 19:30:31 +02:00
Bram Moolenaar
99add41656 updated for version 7.3.939
Problem:    Using Py_BuildValue is inefficient sometimes.
Solution:   Use PyLong_FromLong(). (ZyX)
2013-05-12 19:09:51 +02:00
Bram Moolenaar
6d21645f46 updated for version 7.3.938
Problem:    Python: not easy to get to window number.
Solution:   Add vim.window.number. (ZyX)
2013-05-12 19:00:41 +02:00
Bram Moolenaar
971db46799 updated for version 7.3.937
Problem:    More can be shared between Python 2 and 3.
Solution:   Move code to if_py_both.h. (ZyX)
2013-05-12 18:44:48 +02:00
Bram Moolenaar
3b9abb6cc2 updated for version 7.3.936
Problem:    Ruby 1.8: Missing piece for static linking on 64 bit systems.
Solution:   Define ruby_init_stack() (Hiroshi Shirosaki)
            Also fix preprocessor indents.
2013-05-12 14:11:17 +02:00
Bram Moolenaar
76a86063ca updated for version 7.3.935
Problem:    Init stack works differently on 64 bit systems.
Solution:   Handle 64 bit systems and also static library. (Yukihiro
            Nakadaira)
2013-05-11 17:45:48 +02:00
Bram Moolenaar
82e803b055 updated for version 7.3.934
Problem:    E381 and E380 make the user think nothing happened.
Solution:   Display the message indicating what error list is now active.
            (Christian Brabandt)
2013-05-11 15:50:33 +02:00
Bram Moolenaar
99685e6a7e updated for version 7.3.933
Problem:    Ruby on Mac crashes due to GC failure.
Solution:   Init the stack from main(). (Hiroshi Shirosaki)
2013-05-11 13:56:18 +02:00
Bram Moolenaar
6800186a03 updated for version 7.3.932
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize the variable.
2013-05-11 13:45:05 +02:00
Bram Moolenaar
09bb33dde9 updated for version 7.3.931
Problem:    No completion for :xmap and :smap. (Yukihiro Nakadaira)
Solution:   Add the case statements. (Christian Brabandt)
2013-05-07 05:18:20 +02:00
Bram Moolenaar
290424868d updated for version 7.3.930
Problem:    MSVC 2012 update is not recognized.
Solution:   Update the version in the makefile. (Raymond Ko)
2013-05-07 05:11:17 +02:00
Bram Moolenaar
51ac8a27e5 updated for version 7.3.929
Problem:    Compiler warning for unused variable. Not freeing unused string.
Solution:   Remove the variable. Clear the options.
2013-05-06 06:45:47 +02:00
Bram Moolenaar
161fb5e302 updated for version 7.3.928
Problem:    Can't build with strict C compiler.
Solution:   Move declaration to start of block. (Taro Muraoka)
2013-05-06 06:26:15 +02:00
Bram Moolenaar
531da5955e Updated runtime files. 2013-05-06 05:58:55 +02:00
Bram Moolenaar
229f8dbf7a updated for version 7.3.927
Problem:    Missing combining characters when putting text in a register.
Solution:   Include combining characters. (David Bürgin)
2013-05-06 05:50:28 +02:00
Bram Moolenaar
49e649fc2e updated for version 7.3.926
Problem:    Autocommands are triggered by setwinvar() et al. Missing BufEnter
            on :tabclose. Duplicate WinEnter on :tabclose. Wrong order of
            events for :tablose and :tabnew.
Solution:   Fix these autocommand events. (Zyx)
2013-05-06 04:50:35 +02:00
Bram Moolenaar
84a05acc8c updated for version 7.3.925
Problem:    Typos in source files.
Solution:   Fix the typos. (Ken Takata)
2013-05-06 04:24:17 +02:00
Bram Moolenaar
84e0f6ca9a updated for version 7.3.924
Problem:    Python interface can't easily access options.
Solution:   Add vim.options, vim.window.options and vim.buffer.options. (ZyX)
2013-05-06 03:52:55 +02:00
Bram Moolenaar
d1864597a0 updated for version 7.3.923
Problem:    Check for X11 header files fails on Solaris.
Solution:   Only use -Werror for gcc. (Laurent Blume)
2013-05-04 04:40:15 +02:00
Bram Moolenaar
8fadd8b840 updated for version 7.3.922
Problem:    No test for what 7.3.918 fixes.
Solution:   Add a test. (David Bürgin)
2013-05-04 04:11:07 +02:00
Bram Moolenaar
29f49ee8d7 updated for version 7.3.921
Problem:    Trying to create a fontset handle when 'guifontset' is not set.
Solution:   Add curly braces around the code block. (Max Kirillov)
2013-05-04 03:42:34 +02:00
Bram Moolenaar
4e0d974645 updated for version 7.3.920
Problem:    Compiler warning for size_t to int.
Solution:   Add a type cast. (Mike Williams)
2013-05-04 03:40:27 +02:00
Bram Moolenaar
02938a970c updated for version 7.3.919
Problem:    An empty nl.po file does not work with an old msgfmt.
Solution:   Put a single # in the file. (Laurent Blume)
2013-05-04 03:37:10 +02:00
Bram Moolenaar
ff0341946e Updated runtime files. 2013-04-24 18:51:19 +02:00
Bram Moolenaar
7afea82f50 updated for version 7.3.918
Problem:    Repeating an Ex command after using a Visual motion does not work.
Solution:   Check for an Ex command being used. (David Bürgin)
2013-04-24 18:34:45 +02:00
Bram Moolenaar
811fe63f39 updated for version 7.3.917
Problem:    When a path ends in a backslash appending a comma has the wrong
            effect.
Solution:   Replace a trailing backslash with a slash. (Nazri Ramliy)
2013-04-24 17:34:20 +02:00
Bram Moolenaar
567199b68f updated for version 7.3.916
Problem:    Using freed memory when pasting with the mouse (Issue 130).
Solution:   Get the byte value early. (hint by Dominique Pelle)
2013-04-24 16:52:36 +02:00
Bram Moolenaar
e8d9530b0e updated for version 7.3.915
Problem:    When reading a file with encoding conversion fails at the end the
            next encoding in 'fencs' is not used.
Solution:   Retry with another encoding when possible. (Taro Muraoka)
2013-04-24 16:34:02 +02:00
Bram Moolenaar
2ab0713279 updated for version 7.3.914
Problem:    ~/.viminfo is messed up when running tests.
Solution:   Set the viminfo filename.
2013-04-24 15:47:15 +02:00
Bram Moolenaar
f687cf3f36 updated for version 7.3.913
Problem:    Still a crash when writing viminfo.
Solution:   Add checks for NULL pointers. (Ron Aaron)
2013-04-24 15:39:11 +02:00
Bram Moolenaar
ec38d6932c updated for version 7.3.912
Problem:    Typing a ":" command at the hit-enter dialog does not work if the
            "file changed" dialog happens next.
Solution:   Check for changed files before giving the hit-enter dialog.
2013-04-24 15:12:32 +02:00
Bram Moolenaar
230bb3f09d updated for version 7.3.911
Problem:    Python: Access to Vim variables is not so easy.
Solution:   Define vim.vars and vim.vvars. (ZyX)
2013-04-24 14:07:45 +02:00
Bram Moolenaar
335e0b6974 updated for version 7.3.910
Problem:    Python code in #ifdef branches with only minor differences.
Solution:   Merge the #ifdef branches. (ZyX)
2013-04-24 13:47:45 +02:00
Bram Moolenaar
4d1da49cfe updated for version 7.3.909
Problem:    Duplicate Python code.
Solution:   Move more items to if_py_both.h. (ZyX)  Also avoid compiler
            warnings for missing initializers.
2013-04-24 13:39:15 +02:00
Bram Moolenaar
7a26dd860a updated for version 7.3.908
Problem:    Possible crash when using a list in Python.
Solution:   Return early if the list is NULL. (ZyX)
2013-04-24 13:10:41 +02:00
Bram Moolenaar
af6abb9d93 updated for version 7.3.907
Problem:    Python uses IndexError when a dict key is not found.
Solution:   Use KeyError instead. (ZyX)
2013-04-24 13:04:26 +02:00
Bram Moolenaar
3f99152276 updated for version 7.3.906
Problem:    The "sleep .2" for running tests does not work on Solaris.
Solution:   Fall back to using "sleep 1". (Laurent Blume)
2013-04-24 12:56:19 +02:00
Bram Moolenaar
b70a473e24 updated for version 7.3.905
Problem:    Crash when writing viminfo. (Ron Aaron)
Solution:   Prevent freed history info to be used.
2013-04-15 22:22:57 +02:00
Bram Moolenaar
3bb28557e1 updated for version 7.3.904
Problem:    Using memory freed by the garbage collector.
Solution:   Mark items in aucmd_win as used.
2013-04-15 18:25:59 +02:00
Bram Moolenaar
a8565fecc6 updated for version 7.3.903
Problem:    Crash on exit writing viminfo. (Ron Aaron)
Solution:   Check for the history to be empty.
2013-04-15 16:14:22 +02:00
Bram Moolenaar
4c7e9db0d6 updated for version 7.3.902
Problem:    When deleting last buffer in other tab the tabline is not updated.
Solution:   Set the redraw_tabline flag. (Yukihiro Nakadaira)
2013-04-15 15:55:19 +02:00
Bram Moolenaar
687a29c5e2 updated for version 7.3.901
Problem:    Outdated comment, ugly condition.
Solution:   Update a few comments, break line.
2013-04-15 15:47:12 +02:00
Bram Moolenaar
f6dcbb245b updated for version 7.3.900
Problem:    Not obvious that some mouse features are mutual-exclusive.
Solution:   Add a comment.
2013-04-15 15:40:33 +02:00
Bram Moolenaar
f8de161090 updated for version 7.3.899
Problem:    #if indents are off.
Solution:   Fix the indents.
2013-04-15 15:32:25 +02:00
Bram Moolenaar
54c34fa6f5 updated for version 7.3.898
Problem:    Memory leak reported by valgrind in test 91.
Solution:   Only use default argument when needed.
2013-04-15 15:15:35 +02:00
Bram Moolenaar
768baacdc8 updated for version 7.3.897
Problem:    Configure doesn't always find the shared library.
Solution:   Change the configure script. (Ken Takata)
2013-04-15 14:44:57 +02:00
Bram Moolenaar
b376647bb1 updated for version 7.3.896
Problem:    Memory leaks in Lua interface.
Solution:   Fix the leaks, add tests. (Yukihiro Nakadaira)
2013-04-15 13:49:21 +02:00
Bram Moolenaar
332ac0621c updated for version 7.3.895
Problem:    Valgrind error in test 91. (Issue 128)
Solution:   Pass scope name to find_var_in_ht().
2013-04-15 13:06:21 +02:00
Bram Moolenaar
84b0493c34 updated for version 7.3.894
Problem:    Using wrong RUBY_VER causing Ruby build to break.
Solution:   Correct the RUBY_VER value. (Yongwei Wu)
2013-04-15 12:36:18 +02:00
Bram Moolenaar
429fa85392 updated for version 7.3.893
Problem:    Crash when using b:, w: or t: after closing the buffer, window or
            tabpage.
Solution:   Allocate the dictionary instead of having it part of the
            buffer/window/tabpage struct. (Yukihiro Nakadaira)
2013-04-15 12:27:36 +02:00
Bram Moolenaar
07219f911c updated for version 7.3.892
Problem:    Still mering problems for viminfo history.
Solution:   Do not merge lines when writing, don't write old viminfo lines.
2013-04-14 23:19:36 +02:00
Bram Moolenaar
6f852a557d updated for version 7.3.891
Problem:    Merging viminfo history doesn't work well.
Solution:   Don't stop when one type of history is empty. Don't merge history
            when writing viminfo.
2013-04-14 16:26:15 +02:00
Bram Moolenaar
7311c6932c updated for version 7.3.890
Problem:    Test 79 fails on Windows. (Michael Soyka)
Solution:   Add comment below line causing an error.
2013-04-14 16:21:41 +02:00
Bram Moolenaar
0bcdd6e709 updated for version 7.3.889
Problem:    Can't build with Ruby 2.0 on a 64 bit system.
Solution:   Define rb_fix2int and rb_num2int. (Kohei Suzuki)
2013-04-14 16:19:03 +02:00
Bram Moolenaar
0187ca0bdf Updated runtime files. 2013-04-12 15:09:51 +02:00
Bram Moolenaar
38ec50bea8 updated for version 7.3.888
Problem:    Filename completion with 'fileignorecase' does not work for
            multi-byte characters.
Solution:   Make 'fileignorecase' work properly. (Hirohito Higashi)
2013-04-12 14:42:39 +02:00
Bram Moolenaar
e3e6e573d1 updated for version 7.3.887
Problem:    No tests for Visual mode operators, what 7.3.879 fixes.
Solution:   Add a new test file. (David Bürgin)
2013-04-12 13:45:02 +02:00
Bram Moolenaar
8185111125 updated for version 7.3.886
Problem:    Can't build with multi-byte on Solaris 10.
Solution:   Add #ifdef X_HAVE_UTF8_STRING. (Laurent Blume)
2013-04-12 12:27:30 +02:00
Bram Moolenaar
644cf03b7e updated for version 7.3.885
Problem:    Double free for list and dict in Lua. (Shougo Matsu)
Solution:   Do not unref list and dict. (Yasuhiro Matsumoto)
2013-04-12 12:18:49 +02:00
Bram Moolenaar
126bdeeabe Move redif syntax file to the right directory.
Disable recognizing .rdf as a redif file.
2013-04-06 17:26:26 +02:00
Bram Moolenaar
2a66a07b29 updated for version 7.3.884
Problem:    Compiler warning for variable shadowing another. (John Little)
Solution:   Rename the variable. (Christian Brabandt)
2013-04-06 14:30:40 +02:00
Bram Moolenaar
25a6df90df updated for version 7.3.883
Problem:    Can't build with some combination of features.
Solution:   Adjust #ifdefs.
2013-04-06 14:29:00 +02:00
Bram Moolenaar
bf88493c09 Updated runtime files. 2013-04-05 22:26:15 +02:00
Bram Moolenaar
68879258d9 updated for version 7.3.882
Problem:    CursorHold may trigger after receiving the termresponse.
Solution:   Set the did_cursorhold flag. (Hayaki Saito)
2013-04-05 19:50:17 +02:00
Bram Moolenaar
24b11fb173 updated for version 7.3.881
Problem:    Python list does not work correctly.
Solution:   Fix it and add a test. (Yukihiro Nakadaira)
2013-04-05 19:32:36 +02:00
Bram Moolenaar
b3049f4a34 updated for version 7.3.880
Problem:    When writing viminfo, old history lines may replace lines written
            more recently by another Vim instance.
Solution:   Mark history entries that were read from viminfo and overwrite
            them when merging with the current viminfo.
2013-04-05 18:58:47 +02:00
Bram Moolenaar
d7fbfe107d updated for version 7.3.879
Problem:    When using an ex command in operator pending mode, using Esc to
            abort the command still executes the operator. (David Bürgin)
Solution:   Clear the operator when the ex command fails. (Christian Brabandt)
2013-04-05 17:43:14 +02:00
Bram Moolenaar
91fc43d3f9 updated for version 7.3.878
Problem:    'fileignorecase' is missing in options window and quickref.
Solution:   Add the option.
2013-04-05 15:41:05 +02:00
Bram Moolenaar
7bcb30e913 updated for version 7.3.877
Problem:    Forward searching with search() is broken.
Solution:   Fix it and add tests. (Sung Pae)
2013-04-03 21:14:29 +02:00
Bram Moolenaar
cdffbeae2b updated for version 7.3.876
Problem:    #if indents are off.
Solution:   Insert a space where appropriate. (Taro Muraoka)
2013-04-03 21:11:39 +02:00
Bram Moolenaar
95a5135118 updated for version 7.3.875
Problem:    Build problem with some combination of features.
Solution:   Use FEAT_XCLIPBOARD instead of FEAT_CLIPBOARD.
2013-03-21 22:53:50 +01:00
Bram Moolenaar
d0e2d94589 updated for version 7.3.874
Problem:    Comparing file names does not handle multi-byte characters
            properly.
Solution:   Implement multi-byte handling.
2013-03-19 18:31:49 +01:00
Bram Moolenaar
c2c355df6f updated for version 7.3.873
Problem:    Cannot easily use :s to make title case.
Solution:   Have "\L\u" result in title case. (James McCoy)
2013-03-19 17:42:15 +01:00
Bram Moolenaar
71afbfe6cd updated for version 7.3.872
Problem:    On some systems case of file names is always ignored, on others
            never.
Solution:   Add the 'fileignorecase' option to control this at runtime.
            Implies 'wildignorecase'.
2013-03-19 16:49:16 +01:00
Bram Moolenaar
db333a5b8d updated for version 7.3.871
Problem:    search('^$', 'c') does not use the empty match under the cursor.
Solution:   Special handling of the 'c' flag. (Christian Brabandt)
            Add tests.
2013-03-19 15:27:48 +01:00
Bram Moolenaar
af62ff3696 updated for version 7.3.870
Problem:    Compiler warnings when using MingW 4.5.3.
Solution:   Do not use MAKEINTRESOURCE. Adjust #if. (Ken Takata)
2013-03-19 14:48:29 +01:00
Bram Moolenaar
0c279bbb9c updated for version 7.3.869
Problem:    bufwinnr() matches buffers in other tabs.
Solution:   For bufwinnr() and ? only match buffers in the current tab.
            (Alexey Radkov)
2013-03-19 14:25:54 +01:00
Bram Moolenaar
b59494cab1 updated for version 7.3.868
Problem:    When at the hit-return prompt and using "k" while no text has
            scrolled off screen, then using "j", an empty line is displayed.
Solution:   Only act on "k" when text scrolled off screen.  Also accept
            page-up and page-down.  (cptstubing)
2013-03-19 13:56:08 +01:00
Bram Moolenaar
186628f671 updated for version 7.3.867
Problem:    Matchparen does not update match when using auto-indenting.
            (Marc Aldorasi)
Solution:   Add the TextChanged and TextChangedI autocommand events.
2013-03-19 13:33:23 +01:00
Bram Moolenaar
090cfc1b02 updated for version 7.3.866
Problem:    Not serving the X selection during system() isn't nice.
Solution:   When using fork() do not loose the selection, keep serving it.
            Add a loop similar to handling I/O. (Yukihiro Nakadaira)
2013-03-19 12:35:42 +01:00
Bram Moolenaar
ac7bd63844 Update runtime files. 2013-03-19 11:35:58 +01:00
Bram Moolenaar
b897871ce9 updated for version 7.3.865
Problem:    Mouse position may be wrong.
Solution:   Let vungetc() restore the mouse position.
2013-03-16 21:42:16 +01:00
Bram Moolenaar
a5be25e1db updated for version 7.3.864
Problem:    Can't build without the mouse feature.
Solution:   Add an #ifdef. (Ike Devolder)
2013-03-16 21:35:33 +01:00
Bram Moolenaar
e533bbe094 updated for version 7.3.863
Problem:    Problem with 'ambiwidth' detection for ANSI terminal.
Solution:   Work around not recognizing a term response. (Hayaki Saito)
2013-03-16 14:33:36 +01:00
Bram Moolenaar
2526ef276b updated for version 7.3.862
Problem:    Dragging the status line can be slow.
Solution:   Look ahead and drop the drag event if there is a next one.
2013-03-16 14:20:51 +01:00
Bram Moolenaar
20754027b3 updated for version 7.3.861
Problem:    ":setlocal number" clears global value of 'relativenumber'.
Solution:   Do it properly. (Markus Heidelberg)
2013-03-13 20:42:32 +01:00
Bram Moolenaar
1e284f5155 updated for version 7.3.860
Problem:    When using --remote-expr try/catch does not work. (Andrey Radev)
Solution:   Set emsg_silent instead of emsg_off.
2013-03-13 20:23:22 +01:00
Bram Moolenaar
9584b31aae updated for version 7.3.859
Problem:    'ambiwidth' must be set by the user.
Solution:   Detects East Asian ambiguous width (UAX #11) state of the terminal
            at the start-up time and 'ambiwidth' accordingly.  (Hayaki Saito)
2013-03-13 19:29:28 +01:00
Bram Moolenaar
a390bb6ad3 updated for version 7.3.858
Problem:    "gv" selects the wrong area after some operators.
Solution:   Save and restore the type of selection. (Christian Brabandt)
2013-03-13 19:02:41 +01:00
Bram Moolenaar
4f8301f641 updated for version 7.3.857
Problem:    The QuitPre autocommand event does not trigger for :qa and :wq.
Solution:   Trigger the event. (Tatsuro Fujii)
2013-03-13 18:30:43 +01:00
Bram Moolenaar
1a0316ca2a updated for version 7.3.856
Problem:    When calling system() multi-byte clipboard contents is garbled.
Solution:   Save and restore the clipboard contents.  (Yukihiro Nakadaira)
2013-03-13 17:50:25 +01:00
Bram Moolenaar
b3cb982162 updated for version 7.3.855
Problem:    Compiler warnings.
Solution:   Add type casts. (Mike Williams)
2013-03-13 17:01:52 +01:00
Bram Moolenaar
3978e08fbe updated for version 7.3.854
Problem:    After using backspace in insert mode completion, CTRL-N and CTRL-P
            do not highlight the right entry. (Olivier Teuliere)
Solution:   Set the current item to the shown item after using backspace.
2013-03-07 19:38:54 +01:00
Bram Moolenaar
db813951c4 updated for version 7.3.853
Problem:    Using "ra" in multiple lines on multi-byte characters leaves a few
            characters not replaced.
Solution:   Adjust the end column only in the last line. (Yasuhiro Matsumoto)
2013-03-07 18:50:57 +01:00
Bram Moolenaar
e2e663f67d updated for version 7.3.852
Problem:    system() breaks clipboard text. (Yukihiro Nakadaira)
Solution:   Use Xutf8TextPropertyToTextList(). (Christian Brabandt)
            Also do not put the text in the clip buffer if conversion fails.
2013-03-07 18:02:30 +01:00
Bram Moolenaar
210f3704f7 updated for version 7.3.851
Problem:    Using an empty pattern with :sort silently continues when there is
            no previous search pattern.
Solution:   Give an error message.
2013-03-07 16:41:30 +01:00
Bram Moolenaar
60abe75379 updated for version 7.3.850
Problem:    ":vimgrep //" matches everywhere.
Solution:   Make it use the previous search pattern. (David Bürgin)
2013-03-07 16:32:54 +01:00
Bram Moolenaar
c389fd3a49 updated for version 7.3.849
Problem:    ":g//" gives "Pattern not found error" with E486.  Should not use
            the error number, it's not a regular error message.
Solution:   Use a normal message. (David Bürgin)
2013-03-07 16:08:35 +01:00
Bram Moolenaar
db3fbe5228 updated for version 7.3.848
Problem:    Can't build with Ruby 2.0 when using MinGW x64 or MSVC10.
Solution:   Fix it. Also detect RUBY_PLATFORM and RUBY_INSTALL_NAME for x64.
            (Ken Takata)
2013-03-07 15:16:21 +01:00
Bram Moolenaar
4e3c70d241 updated for version 7.3.847
Problem:    Test 55 fails when messages are translated.
Solution:   Set language to C. (Ken Takata)
2013-03-07 14:50:34 +01:00
Bram Moolenaar
84e80b51d1 updated for version 7.3.846
Problem:    Missing proto files.
Solution:   Add the files.
2013-03-07 13:32:36 +01:00
Bram Moolenaar
d999db2f1e updated for version 7.3.845
Problem:    Enum indenting is not tested.
Solution:   Add tests. (Hong Xu)
2013-03-07 13:21:32 +01:00
Bram Moolenaar
34700a6a15 Updated runtime files. 2013-03-07 13:20:54 +01:00
Bram Moolenaar
7534221eba updated for version 7.3.844
Problem:    Enum is not indented correctly with "public" etc.
Solution:   Skip "public", "private" and "protected". (Hong Xu)
2013-03-07 13:13:52 +01:00
Bram Moolenaar
b8f8461d94 updated for version 7.3.843
Problem:    Missing test file changes.
Solution:   Change the tests.
2013-02-26 22:54:11 +01:00
Bram Moolenaar
988232fabb updated for version 7.3.842
Problem:    Compiler warning for signed/unsigned pointer.
Solution:   Add type cast. (Christian Brabandt)
2013-02-26 21:43:32 +01:00
Bram Moolenaar
e17c260335 updated for version 7.3.841
Problem:    When a "cond ? one : two" expression has a subscript it is not
            parsed correctly. (Andy Wokula)
Solution:   Handle a subscript also when the type is unknown. (Christian
            Brabandt)
2013-02-26 19:36:15 +01:00
Bram Moolenaar
f5e44a7e90 updated for version 7.3.840
Problem:    "\@<!" in regexp does not work correctly with multi-byte
            characters, especially cp932.
Solution:   Move column to start of multi-byte character. (Yasuhiro Matsumoto)
2013-02-26 18:46:01 +01:00
Bram Moolenaar
e468e266c4 updated for version 7.3.839
Problem:    Some files missing in the list of distributed files.
Solution:   Add lines for new files.
2013-02-26 17:59:43 +01:00
Bram Moolenaar
fdf447b286 updated for version 7.3.838
Problem:    Insufficient testing for mksession.
Solution:   Add tests. (mostly by Roland Eggner)
2013-02-26 17:21:29 +01:00
Bram Moolenaar
f13f45d59b updated for version 7.3.837
Problem:    Empty lines in :version output when 'columns' is 320.
Solution:   Simplify the logic of making columns. (Nazri Ramliy, Roland
            Eggner)
2013-02-26 15:27:23 +01:00
Bram Moolenaar
693e40c2cd updated for version 7.3.836
Problem:    Clipboard does not work on Win32 when compiled with Cygwin.
Solution:   Move the Win32 clipboard code to a separate file and use it when
            building with os_unix.c. (Frodak Baksik, Ken Takata)
2013-02-26 14:56:42 +01:00
Bram Moolenaar
53eb37e9f9 updated for version 7.3.835
Problem:    "xxd -i" fails on an empty file.
Solution:   Do output the closing } for an empty file. (partly by Lawrence
            Woodman)
2013-02-26 14:14:07 +01:00
Bram Moolenaar
886ed691d2 updated for version 7.3.834
Problem:    Ruby 2.0 has a few API changes.
Solution:   Add handling of Ruby 2.0. (Yasuhiro Matsumoto)
2013-02-26 13:41:35 +01:00
Bram Moolenaar
40cf4b44ed updated for version 7.3.833
Problem:    In the terminal the scroll wheel always scrolls the active window.
Solution:   Scroll the window under the mouse pointer, like in the GUI.
            (Bradie Rao)
2013-02-26 13:30:32 +01:00
Bram Moolenaar
5c9626301b updated for version 7.3.832
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
2013-02-26 11:25:33 +01:00
Bram Moolenaar
26402cb2de Update runtime files. 2013-02-20 21:26:00 +01:00
Bram Moolenaar
63dbda1caa updated for version 7.3.831
Problem:    Clumsy to handle the situation that a variable does not exist.
Solution:   Add default value to getbufvar() et al. (Shougo Matsushita,
            Hirohito Higashi)
2013-02-20 21:12:10 +01:00
Bram Moolenaar
558ddad8e8 updated for version 7.3.830
Problem:    :mksession confuses bytes, columns and characters when positioning
            the cursor.
Solution:   Use w_virtcol with "|" instead of w_cursor.col with "l".
2013-02-20 19:26:29 +01:00
Bram Moolenaar
187d3acb7f updated for version 7.3.829
Problem:    When compiled with the +rightleft feature 'showmatch' also shows a
            match for the opening paren.  When 'revins' is set the screen may
            scroll.
Solution:   Only check the opening paren when the +rightleft feature was
            enabled.  Do not show a match that is not visible. (partly by
            Christian Brabandt)
2013-02-20 18:39:13 +01:00
Bram Moolenaar
8738fc1be8 updated for version 7.3.828
Problem:    Mappings are not aware of wildmenu mode.
Solution:   Add wildmenumode(). (Christian Brabandt)
2013-02-20 17:59:11 +01:00
Bram Moolenaar
995a8cd181 updated for version 7.3.827
Problem:    Python tests fail.
Solution:   Adjust the output for the stack trace.
2013-02-20 16:54:27 +01:00
Bram Moolenaar
445f3037ea updated for version 7.3.826
Problem:    List of features in :version output is hard to read.
Solution:   Make columns. (Nazri Ramliy)
2013-02-20 16:47:36 +01:00
Bram Moolenaar
4d36987c25 updated for version 7.3.825
Problem:    With Python errors are not always clear.
Solution:   Print the stack trace, unless :silent is used. (ZyX)
2013-02-20 16:09:43 +01:00
Bram Moolenaar
2142e5d851 updated for version 7.3.824
Problem:    Can redefine builtin functions.  (ZyX)
Solution:   Disallow adding a function to g:.
2013-02-20 15:19:43 +01:00
Bram Moolenaar
452ff5bdc7 updated for version 7.3.823
Problem:    Building with Cygwin: '-lsupc++' is not needed.
Solution:   Remove it. (Ken Takata)
2013-02-20 13:34:19 +01:00
Bram Moolenaar
6d47df7ca0 updated for version 7.3.822
Problem:    Crash when accessing freed buffer.
Solution:   Get 'textwidth' in caller of enter_buffer(). (Christian Brabandt)
2013-02-17 15:45:37 +01:00
Bram Moolenaar
5004e8846e updated for version 7.3.821
Problem:    Build with OLE and Cygwin is broken. (Steve Hall)
Solution:   Select static or shared stdc library. (Ken Takta)
2013-02-16 18:16:15 +01:00
Bram Moolenaar
feeaa688eb updated for version 7.3.820
Problem:    Build errors and warnings when building with small features and
            Lua, Perl or Ruby.
Solution:   Add #ifdefs and UNUSED.
2013-02-14 22:19:51 +01:00
Bram Moolenaar
b2c5a5ac79 updated for version 7.3.819
Problem:    Compiling without +eval and with Python isn't working.
Solution:   Add the eval feature when building with Python.
2013-02-14 22:11:39 +01:00
Bram Moolenaar
707060e2ee updated for version 7.3.818
Problem:    When test 40 fails because of a bad build it may leave files
            behind that cause it to fail later.
Solution:   Let the file names start with "X".
2013-02-14 20:58:35 +01:00
Bram Moolenaar
caca92be8a updated for version 7.3.817
Problem:    Test 89 fails with tiny and small features.
Solution:   Add sourcing small.vim.
2013-02-14 20:10:33 +01:00
Bram Moolenaar
f6ecd99cec Add test files. 2013-02-13 17:35:34 +01:00
Bram Moolenaar
af9aeb9250 updated for version 7.3.816
Problem:    Can't compute a hash.
Solution:   Add the sha256() function. (Tyru, Hirohito Higashi)
2013-02-13 17:35:04 +01:00
Bram Moolenaar
c2149ea7cd updated for version 7.3.815
Problem:    Building with Cygwin and Ruby doesn't work.
Solution:   Copy some things from the MingW build file. (Ken Takata)
2013-02-13 17:06:11 +01:00
Bram Moolenaar
ffeedec023 updated for version 7.3.814
Problem:    Can't input multibyte characters on Win32 console if 'encoding' is
            different from current codepage.
Solution:   Use convert_input_safe() instead of convert_input().  Make
            string_convert_ext() return an error for incomplete input. (Ken
            Takata)
2013-02-13 16:49:58 +01:00
Bram Moolenaar
a3914327f7 updated for version 7.3.813
Problem:    The CompleteDone event is not triggered when there are no pattern
            matches. (Jianjun Mao)
Solution:   Trigger the event. (Christian Brabandt)
2013-02-13 16:30:21 +01:00
Bram Moolenaar
00154508de Update runtime files.
Add missing test files.
2013-02-13 16:15:55 +01:00
Bram Moolenaar
8fe8d9ed06 updated for version 7.3.812
Problem:    When 'indentexpr' moves the cursor "curswant" not restored.
Solution:   Restore "curswant". (Sung Pae)
2013-02-13 16:10:17 +01:00
Bram Moolenaar
be9c627666 updated for version 7.3.811
Problem:    Useless termresponse parsing for SGR mouse.
Solution:   Skip the parsing. (Hayaki Saito)
2013-02-13 15:53:19 +01:00
Bram Moolenaar
f4e5e86627 updated for version 7.3.810
Problem:    'relativenumber is reset unexpectedly. (François Ingelrest)
Solution:   After an option was reset also reset the global value. Add a test.
            (Christian Brabandt)
2013-02-13 15:44:26 +01:00
Bram Moolenaar
181ace28ed updated for version 7.3.809
Problem:    The dosinst.c program has a buffer overflow. (Thomas Gwae)
Solution:   Ignore $VIMRUNTIME if it is too long.
2013-02-13 14:36:44 +01:00
Bram Moolenaar
76d711c3b5 updated for version 7.3.808
Problem:    Python threads still do not work properly.
Solution:   Fix both Python 2 and 3.  Add tests. (Ken Takata)
2013-02-13 14:17:08 +01:00
Bram Moolenaar
51971b3398 updated for version 7.3.807
Problem:    Popup menu does not work properly with the preview window, folds
            and 'cursorcolumn'.
Solution:   Redraw the popup menu after redrawing windows. (Christian
            Brabandt)
2013-02-13 12:16:05 +01:00
Bram Moolenaar
e9d47cd08b updated for version 7.3.806
Problem:    Compiler warnings in Perl code when building with Visual studio
            2012. (skeept)
Solution:   Add type casts. (Christian Brabandt, 2013 Jan 30)
2013-02-06 19:58:43 +01:00
Bram Moolenaar
07e1da6bbd updated for version 7.3.805
Problem:    Lua version 5.2 is not detected properly on Arch Linux.
Solution:   Adjust autoconf. (lilydjwg)
2013-02-06 19:49:43 +01:00
Bram Moolenaar
fffcfea984 updated for version 7.3.804
Problem:    Compiler warning for tiny build. (Tony Mechelynck)
Solution:   Add #ifdefs around variable.
2013-02-06 18:45:01 +01:00
Bram Moolenaar
11cb6e6e13 updated for version 7.3.803
Problem:    Substitute with confirmation and then "q" does not replace
            anything.  (John McGowan)
Solution:   Do not break the loop, skip to the end.
2013-02-06 18:24:02 +01:00
Bram Moolenaar
fa13eef3c9 Updated runtime files. 2013-02-06 17:34:04 +01:00
Bram Moolenaar
309379fc98 updated for version 7.3.802
Problem:    After setting 'isk' to a value ending in a comma appending to the
            option fails.
Solution:   Disallow a trailing comma for 'isk' and similar options.
2013-02-06 16:26:26 +01:00
Bram Moolenaar
530e7dfafd updated for version 7.3.801
Problem:    ":window set nu?" displays the cursor line. (Nazri Ramliy)
Solution:   Do not update the cursor line when conceallevel is zero or the
            screen has scrolled. (partly by Christian Brabandt)
2013-02-06 13:38:02 +01:00
Bram Moolenaar
b6a76ffc4c updated for version 7.3.800
Problem:    The " mark is not adjusted when inserting lines. (Roland Eggner)
Solution:   Adjust the line number. (Christian Brabandt)
2013-02-06 12:33:21 +01:00
Bram Moolenaar
9c2e6cc6ed updated for version 7.3.799
Problem:    The color column is not correct when entering a buffer. (Ben
            Fritz)
Solution:   Call check_colorcolumn() if 'textwidth' changed. (Christian
            Brabandt)
2013-02-06 12:14:48 +01:00
Bram Moolenaar
39d7d51bcd updated for version 7.3.798
Problem:    MzScheme: circular list does not work correctly.
Solution:   Separate Mac-specific code from generic code. (Sergey Khorev)
2013-01-31 21:09:15 +01:00
Bram Moolenaar
04e5b5a228 updated for version 7.3.797
Problem:    Compiler warning for size_t to int conversion. (Skeept)
Solution:   Add type casts.
2013-01-30 21:56:21 +01:00
Bram Moolenaar
e337e5f634 updated for version 7.3.796
Problem:    "/[^\n]" does match at a line break.
Solution:   Make it do the same as "/.". (Christian Brabandt)
2013-01-30 18:21:51 +01:00
Bram Moolenaar
d214221375 updated for version 7.3.795
Problem:    MzScheme does not build with tiny features.
Solution:   Add #ifdefs.  Also add UNUSED to avoid warnings.  And change
            library ordering.
2013-01-30 17:41:50 +01:00
Bram Moolenaar
a50e5866b0 updated for version 7.3.794
Problem:    Tiny build fails. (Tony Mechelynck)
Solution:   Adjust #ifdefs.
2013-01-30 17:30:17 +01:00
Bram Moolenaar
8ceb1735a2 updated for version 7.3.793
Problem:    New interactive :substutite behavior is not tested.
Solution:   Add tests. (Christian Brabandt)
2013-01-30 17:03:30 +01:00
Bram Moolenaar
4bc8cf0e7c updated for version 7.3.792
Problem:    ":substitute" works differently without confirmation.
Solution:   Do not change the text when asking for confirmation, only display
            it.
2013-01-30 16:30:26 +01:00
Bram Moolenaar
7567646f13 updated for version 7.3.791
Problem:    MzScheme interface doesn't work propely.
Solution:   Make it work better. (Sergey Khorev)
2013-01-30 14:55:42 +01:00
Bram Moolenaar
a3e6bc93d1 Update runtime files. 2013-01-30 14:18:00 +01:00
Bram Moolenaar
52f85b730e updated for version 7.3.790
Problem:    After reloading a buffer the modelines are not processed.
Solution:   call do_modelines(). (Ken Takata)
2013-01-30 14:13:56 +01:00
Bram Moolenaar
f813a1883f updated for version 7.3.789
Problem:    "\k" in regexp does not work in other window.
Solution:   Use the right buffer. (Yukihiro Nakadaira)
2013-01-30 13:59:37 +01:00
Bram Moolenaar
8d61617238 updated for version 7.3.788
Problem:    When only using patches build fails on missing nl.po.
Solution:   Create an empty nl.po file.
2013-01-30 12:50:56 +01:00
Bram Moolenaar
700e7345de updated for version 7.3.787
Problem:    With 'relativenumber' set it is not possible to see the absolute
            line number.
Solution:   For the cursor line show the absolute line number instead of a
            zero. (Nazri Ramliy)
2013-01-30 12:31:36 +01:00
Bram Moolenaar
02366255c9 updated for version 7.3.786
Problem:    Python threads don't run in the background (issue 103).
Solution:   Move the statements to manipulate thread state.
2013-01-30 11:44:39 +01:00
Bram Moolenaar
2f315ab7be updated for version 7.3.785
Problem:    Crash with specific use of search pattern.
Solution:   Initialize reg_buf to curbuf.
2013-01-25 20:11:01 +01:00
Bram Moolenaar
826763f87b updated for version 7.3.784
Problem:    Error when 'guifontwide' has a comma.
Solution:   Use gui.wide_font. (Taro Muraoka)
2013-01-25 19:28:38 +01:00
Bram Moolenaar
15364d74ca updated for version 7.3.783
Problem:    Crash when mark is not set. (Dominique Pelle)
Solution:   Check for NULL.
2013-01-24 21:00:20 +01:00
Bram Moolenaar
0f2721223e updated for version 7.3.782
Problem:    Windows: IME composition may use a wrong font.
Solution:   Use 'guifontwide' for IME when it is set. (Taro Muraoka)
2013-01-23 18:37:40 +01:00
Bram Moolenaar
4593396625 updated for version 7.3.781
Problem:    Drawing with 'guifontwide' can be slow.
Solution:   Draw multiple characters at a time. (Taro Muraoka)
2013-01-23 17:43:57 +01:00
Bram Moolenaar
d35d784e91 updated for version 7.3.780
Problem:    char2nr() and nr2char() always use 'encoding'.
Solution:   Add argument to use utf-8 characters. (Yasuhiro Matsumoto)
2013-01-23 17:17:10 +01:00
Bram Moolenaar
55b7b7eeb5 updated for version 7.3.779
Problem:    Backwards search lands in wrong place when started on a multibyte
            character.
Solution:   Do not set extra_col for a backwards search. (Sung Pae)
2013-01-23 16:43:11 +01:00
Bram Moolenaar
94a8adfdd8 updated for version 7.3.778
Problem:    Compiler error for adding up two pointers. (Titov Anatoly)
Solution:   Add a type cast. (Ken Takata)
2013-01-23 16:19:23 +01:00
Bram Moolenaar
3be71ce28d updated for version 7.3.777
Problem:    When building with Gnome locale gets reset.
Solution:   Set locale after gnome_program_init(). (Christian Brabandt)
2013-01-23 16:00:11 +01:00
Bram Moolenaar
9d182dd0a6 updated for version 7.3.776
Problem:    ml_get error when searching, caused by curwin not matching curbuf.
Solution:   Avoid changing curbuf. (Lech Lorens)
2013-01-23 15:53:15 +01:00
Bram Moolenaar
4da70dbc4d updated for version 7.3.775
Problem:    Cygwin and Mingw builds miss dependency on gui_w48.c.
Solution:   Add a build rule. (Ken Takata)
2013-01-23 13:55:20 +01:00
Bram Moolenaar
f939c4e6b1 updated for version 7.3.774
Problem:    Tiny GUI version misses console dialog feature.
Solution:   Define FEAT_CON_DIALOG when apprpriate. (Christian Brabandt)
2013-01-23 13:41:00 +01:00
Bram Moolenaar
b5f7bf6ed9 updated for version 7.3.773
Problem:    Crash when OriginalFirstThunk is zero.
Solution:   Skip items with OriginalFirstThunk not set. (Ken Takata)
2013-01-19 14:02:02 +01:00
Bram Moolenaar
8c4fbd1a15 updated for version 7.3.772
Problem:    Cursor is at the wrong location and below the end of the file
            after doing substitutions with confirm flag: %s/x/y/c
            (Dominique Pelle)
Solution:   Update the cursor position. (Christian Brabandt & Dominique)
2013-01-17 18:34:05 +01:00
Bram Moolenaar
0936502538 updated for version 7.3.771
Problem:    Uninitialized variable. (Yasuhiro Matsumoto)
Solution:   Set x2 to -1.
2013-01-17 17:37:35 +01:00
Bram Moolenaar
08ed30eca7 updated for version 7.3.770
Problem:    Vim.h indentation is inconsistent.
Solution:   Adjust the indentation. (Elias Diem)
2013-01-17 17:17:26 +01:00
Bram Moolenaar
8c7694a864 updated for version 7.3.769
Problem:    'matchpairs' does not work with multi-byte characters.
Solution:   Make it work. (Christian Brabandt)
2013-01-17 17:02:05 +01:00
Bram Moolenaar
3e37fd0950 updated for version 7.3.768
Problem:    settabvar() and setwinvar() may move the cursor.
Solution:   Save and restore the cursor position when appropriate. (idea by
            Yasuhiro Matsumoto)
2013-01-17 15:37:01 +01:00
Bram Moolenaar
8fae8e658f updated for version 7.3.767
Problem:    (Win32) The _errno used for iconv may be the wrong one.
Solution:   Use the _errno from iconv.dll. (Ken Takata)
2013-01-17 14:39:47 +01:00
Bram Moolenaar
117f2c4b91 updated for version 7.3.766
Problem:    ":help cpo-*" jumps to the wrong place.
Solution:   Make it equivalent to ":help cpo-star".
2013-01-17 14:09:44 +01:00
Bram Moolenaar
802418d5eb updated for version 7.3.765
Problem:    Segfault when doing "cclose" on BufUnload in a python function.
            (Sean Reifschneider)
Solution:   Skip window with NULL buffer. (Christian Brabandt)
2013-01-17 14:00:11 +01:00
Bram Moolenaar
c4fba6f881 updated for version 7.3.764
Problem:    Not all message translation files are installed.
Solution:   Also install the converted files.
2013-01-17 13:37:32 +01:00
Bram Moolenaar
8754deb3b6 updated for version 7.3.763
Problem:    Jumping to a mark does not open a fold if it is in the same line.
            (Wiktor Ruben)
Solution:   Also compare the column after the jump. (Christian Brabandt)
2013-01-17 13:24:08 +01:00
Bram Moolenaar
14e28811b3 updated for version 7.3.762
Problem:    On some systems the tabline is not redrawn.
Solution:   Call RedrawWindow(). (Charles Peacech)
2012-12-16 12:50:39 +01:00
Bram Moolenaar
ba6e858556 updated for version 7.3.761
Problem:    In Visual mode a "-p does not work. (Marcin Szamotulski)
Solution:   Avoid writing to "- before putting it. (Christian Brabandt)
2012-12-12 18:20:32 +01:00
Bram Moolenaar
83dadafdd7 updated for version 7.3.760
Problem:    dv_ deletes the white space before the line.
Solution:   Move the cursor to the first non-white. (Christian Brabandt)
2012-12-12 17:33:32 +01:00
Bram Moolenaar
4b166d0a6d updated for version 7.3.759
Problem:    MS-Windows: Updating the tabline is slow when there are many tabs.
Solution:   Disable redrawing while performing the update. (Arseny Kapoulkine)
2012-12-12 17:12:25 +01:00
Bram Moolenaar
cfde76c74d updated for version 7.3.758
Problem:    Matchit plugin does not handle space in #ifdef.
Solution:   Change matching pattern to allow spaces. (Mike Morearty)
2012-12-12 16:43:58 +01:00
Bram Moolenaar
27356ad4f4 updated for version 7.3.757
Problem:    Issue 96: May access freed memory when a put command triggers
            autocommands. (Dominique Pelle)
Solution:   Call u_save() before getting y_array.
2012-12-12 16:11:36 +01:00
Bram Moolenaar
321a9ec680 updated for version 7.3.756
Problem:    A location list can get a wrong count in :lvimgrep.
Solution:   Check if the list was changed by autocommands. (mostly by
            Christian Brabandt)
2012-12-12 15:55:20 +01:00
Bram Moolenaar
09ba6d766b updated for version 7.3.755
Problem:    Autoconf doesn't find Python 3 if it's called "python".
Solution:   Search for "python2" and "python3" first, then "python".
2012-12-12 14:25:05 +01:00
Bram Moolenaar
52cc266dae updated for version 7.3.754
Problem:    Latest nmake is not recognized.
Solution:   Add nmake version 11.00.51106.1. (Raymond Ko)
2012-12-06 21:30:29 +01:00
Bram Moolenaar
21691f896a updated for version 7.3.753
Problem:    When there is a QuitPre autocommand using ":q" twice does not work
            for exiting when there are more files to edit.
Solution:   Do not decrement quitmore in an autocommand. (Techlive Zheng)
2012-12-05 19:13:18 +01:00
Bram Moolenaar
34feacbcce Update runtime files. 2012-12-05 19:01:43 +01:00
Bram Moolenaar
32c8f1cb19 updated for version 7.3.752
Problem:    Test 49 script file doesn't fold properly.
Solution:   Add a colon.
2012-12-05 19:00:06 +01:00
Bram Moolenaar
60ec5f35a5 updated for version 7.3.751
Problem:    Test 61 is flaky, it fails once in a while.
Solution:   When it fails retry once.
2012-12-05 18:21:32 +01:00
Bram Moolenaar
57e4ee4d38 updated for version 7.3.750
Problem:    The justify macro does not always work correctly.
Solution:   Fix off-by-one error (James McCoy)
2012-12-05 17:03:22 +01:00
Bram Moolenaar
a54bf40017 updated for version 7.3.749
Problem:    Python interface doesn't build without the multi-byte feature.
Solution:   Add #ifdef. (Ken Takata)
2012-12-05 16:30:07 +01:00
Bram Moolenaar
9750bb199e updated for version 7.3.748
Problem:    Cannot properly test conceal mode.
Solution:   Add the screencol() and screenrow() functions.  Use them in
            test88. (Simon Ruderich)
2012-12-05 16:10:42 +01:00
Bram Moolenaar
0f9d0869c7 updated for version 7.3.747
Problem:    When characters are concealed text aligned with tabs are no longer
            aligned, e.g. at ":help :index".
Solution:   Compensate space for tabs for concealed characters. (Dominique
            Pelle)
2012-12-05 15:32:30 +01:00
Bram Moolenaar
81484f4215 updated for version 7.3.746
Problem:    Memory leaks when using location lists.
Solution:   Set qf_title to something. (Christian Brabandt)
2012-12-05 15:16:47 +01:00
Bram Moolenaar
15d55dec03 updated for version 7.3.745
Problem:    Automatically setting 'ttymouse' doesn't work.
Solution:   Reset the "option was set" flag when using the default.
2012-12-05 14:43:02 +01:00
Bram Moolenaar
862cfa356d updated for version 7.3.744
Problem:    64 bit compiler warning.
Solution:   Add type cast. (Mike Williams)
2012-11-29 20:10:00 +01:00
Bram Moolenaar
2a94225c23 updated for version 7.3.743
Problem:    Tiny build still fails.
Solution:   Add #else in the right place.
2012-11-28 23:03:07 +01:00
Bram Moolenaar
f135435f80 updated for version 7.3.742
Problem:    Leaking memory when :vimgrep restores the directory.
Solution:   Free the allocated memory. (Christian Brabandt)
2012-11-28 22:12:44 +01:00
Bram Moolenaar
2e18a12780 updated for version 7.3.741
Problem:    Tiny build fails.
Solution:   Move #ifdef. (Ike Devolder)
2012-11-28 19:10:54 +01:00
Bram Moolenaar
97d4ea71d6 updated for version 7.3.740
Problem:    IOC tool complains about undefined behavior for int.
Solution:   Change to unsigned int. (Dominique Pelle)
2012-11-28 18:31:54 +01:00
Bram Moolenaar
f4f1956724 updated for version 7.3.739
Problem:    Computing number of lines may have an integer overflow.
Solution:   Check for MAXCOL explicitly. (Dominique Pelle)
2012-11-28 18:22:11 +01:00
Bram Moolenaar
2df58b4a58 Updated runtime files. 2012-11-28 18:21:11 +01:00
Bram Moolenaar
9411615985 updated for version 7.3.738
Problem:    Unused function argument.
Solution:   Remove it. (Christian Brabandt)
2012-11-28 17:41:59 +01:00
Bram Moolenaar
d4ad0d4e21 updated for version 7.3.737
Problem:    When using do_cmdline() recursively did_endif is not reset,
            causing messages to be overwritten.
Solution:   Reset did_endif. (Christian Brabandt)
2012-11-28 17:34:48 +01:00
Bram Moolenaar
b347963869 updated for version 7.3.736
Problem:    File name completion in input() escapes white space. (Frederic
            Hardy)
Solution:   Do not escape white space. (Christian Brabandt)
2012-11-28 16:49:58 +01:00
Bram Moolenaar
dd53a41553 updated for version 7.3.735
Problem:    Cannot build Ruby 1.9 with MingW or Cygwin.
Solution:   Add another include directory. (Ken Takata)
2012-11-28 16:18:29 +01:00
Bram Moolenaar
442b5c48fd updated for version 7.3.734
Problem:    Cannot put help files in a sub-directory.
Solution:   Make :helptags work for sub-directories. (Charles Campbell)
2012-11-28 16:06:22 +01:00
Bram Moolenaar
8866d277c9 updated for version 7.3.733
Problem:    Tests fail when including MzScheme.
Solution:   Change #ifdefs for vim_main2().
2012-11-28 15:55:42 +01:00
Bram Moolenaar
02e14d67b9 updated for version 7.3.732
Problem:    Compiler warnings for function arguments.
Solution:   Use inteptr_t instead of long.
2012-11-28 15:37:51 +01:00
Bram Moolenaar
7854e3abcf updated for version 7.3.731
Problem:    Py3Init_vim() is exported uneccessarily.
Solution:   Make it static. (Ken Takata)
2012-11-28 15:33:14 +01:00
Bram Moolenaar
c83a44bf8f updated for version 7.3.730
Problem:    Crash in PHP file when using syntastic. (Ike Devolder)
Solution:   Avoid using NULL pointer. (Christian Brabandt)
2012-11-28 15:25:34 +01:00
Bram Moolenaar
ff8cf2be66 updated for version 7.3.729
Problem:    Building with Ruby fails on some systems.
Solution:   Remove "static" and add #ifndef PROTO. (Ken Takata)
2012-11-24 13:39:00 +01:00
Bram Moolenaar
fe9fb927ae updated for version 7.3.728
Problem:    Cannot compile with MzScheme interface on Ubuntu 12.10.
Solution:   Find the collects directory under /usr/share.
2012-11-23 21:54:48 +01:00
Bram Moolenaar
7331304fd3 updated for version 7.3.727
Problem:    Can't always find Win32.mak when building GvimExt.
Solution:   Use same mechanism as in Make_mvc.mak. (Cade Foster)
2012-11-23 21:47:22 +01:00
Bram Moolenaar
ef6585abef updated for version 7.3.726
Problem:    Typos and duplicate info in README.
Solution:   Fix the text.
2012-11-23 21:45:25 +01:00
Bram Moolenaar
77642c0fef updated for version 7.3.725
Problem:    :aboveleft and :belowright have no effect on :copen.
Solution:   Check for cmdmod.split. (Christian Brabandt)
2012-11-20 17:55:10 +01:00
Bram Moolenaar
65d7396cb4 updated for version 7.3.724
Problem:    Building with Ruby and Tcl on MS-Windows does not work.
Solution:   Remove Ruby and Tcl from the big MS-Windows build.
2012-11-20 17:21:52 +01:00
Bram Moolenaar
8d4eecc5e8 updated for version 7.3.723
Problem:    Various tiny problems.
Solution:   Various tiny fixes.
2012-11-20 17:19:01 +01:00
Bram Moolenaar
d59762dcb6 updated for version 7.3.722
Problem:    Perl flags may contain "-g", which breaks "make proto".
Solution:   Filter out the "-g" flag for cproto. (Ken Takata)
2012-11-20 17:03:27 +01:00
Bram Moolenaar
c0d4759373 updated for version 7.3.721
Problem:    Ruby interface defines local functions globally.
Solution:   Make the functions static.
2012-11-20 16:59:14 +01:00
Bram Moolenaar
7c5f120410 updated for version 7.3.720
Problem:    Proto files are outdated.
Solution:   Update the newly generated proto files.
2012-11-20 16:56:54 +01:00
Bram Moolenaar
8288149866 updated for version 7.3.719
Problem:    Cannot run new version of cproto, it fails on missing include
            files.
Solution:   Add lots of #ifndef PROTO
2012-11-20 16:53:39 +01:00
Bram Moolenaar
0ac24e1ef4 updated for version 7.3.718
Problem:    When re-using the current buffer the buffer-local options stay.
Solution:   Re-initialize the buffer-local options. (Christian Brabandt)
2012-11-20 12:16:58 +01:00
Bram Moolenaar
b031626427 updated for version 7.3.717
Problem:    When changing the font size, only MS-Windows limits the window
            size.
Solution:   Also limit the window size on other systems. (Roland Puntaier)
2012-11-20 12:03:06 +01:00
Bram Moolenaar
99a547d3a1 updated for version 7.3.716
Problem:    Error on exit when using Python 3.
Solution:   Remove PythonIO_Fini(). (Roland Puntaier)
2012-11-20 11:04:35 +01:00
Bram Moolenaar
97d62497f5 Updated runtime files. 2012-11-15 21:28:22 +01:00
Bram Moolenaar
41b884b273 updated for version 7.3.715
Problem:    Crash when calling setloclist() in BufUnload autocmd. (Marcin
            Szamotulski)
Solution:   Set w_llist to NULL when it was freed.  Also add a test.
            (Christian Brabandt)
2012-11-14 22:38:08 +01:00
Bram Moolenaar
b826ddb034 updated for version 7.3.714
Problem:    Inconsistency: :set can be used in the sandbox, but :setlocal and
            :setglobal cannot. (Michael Henry)
Solution:   Fix the flags for :setlocal and :setglobal. (Christian Brabandt)
2012-11-14 20:52:28 +01:00
Bram Moolenaar
3ab72c5c72 updated for version 7.3.713
Problem:    printf() can only align to bytes, not characters.
Solution:   Add the "S" item. (Christian Brabandt)
2012-11-14 18:10:56 +01:00
Bram Moolenaar
e3a2246227 updated for version 7.3.712
Problem:    Nmake from VS2010 SP1 is not recognized.
Solution:   Add the version number. (Ken Takata)
2012-10-23 05:35:34 +02:00
Bram Moolenaar
9c9cbf1351 updated for version 7.3.711
Problem:    vim.current.buffer is not available. (lilydjwg)
Solution:   Use py3_PyUnicode_AsUTF8 instead of py3_PyUnicode_AsUTF8String.
            (Ken Takata)
2012-10-23 05:17:37 +02:00
Bram Moolenaar
12a753a5ca updated for version 7.3.710
Problem:    Patch 7.3.704 breaks "fn".
Solution:   Add check for ca.cmdchar. (Christian Brabandt)
2012-10-23 05:08:53 +02:00
Bram Moolenaar
95e09eaaad updated for version 7.3.709
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2012-10-21 23:56:05 +02:00
Bram Moolenaar
a80888d296 updated for version 7.3.708
Problem:    Filler lines above the first line may be hidden when opening Vim.
Solution:   Change how topfill is computed. (Christian Brabandt)
2012-10-21 22:18:21 +02:00
Bram Moolenaar
17aa8cc255 updated for version 7.3.707
Problem:    Problems loading a library for a file name with non-latin
            characters.
Solution:   Use wide system functions when possible. (Ken Takata)
2012-10-21 21:38:45 +02:00
Bram Moolenaar
a9a2d8f4d0 updated for version 7.3.706
Problem:    Can't build Motif version.
Solution:   Fix wrongly named variable. (Ike Devolder)
2012-10-21 21:25:22 +02:00
Bram Moolenaar
707cfb82dc updated for version 7.3.705
Problem:    Mouse features are not sorted properly. (Tony Mechelynck)
Solution:   Put the mouse features in alphabetical order.
2012-10-21 04:00:07 +02:00
Bram Moolenaar
f00dc2627b updated for version 7.3.704
Problem:    Repeating "cgn" does not always work correctly.
Solution:   Also fetch the operator character. (Christian Brabandt)
2012-10-21 03:54:33 +02:00
Bram Moolenaar
e8d8fd2add updated for version 7.3.703
Problem:    When 'undofile' is reset the hash is computed unnecessarily.
Solution:   Only compute the hash when the option was set. (Christian Brabandt)
2012-10-21 03:46:05 +02:00
Bram Moolenaar
3a0d8090b1 Updated runtime files. 2012-10-21 03:02:54 +02:00
Bram Moolenaar
67a4f6cfb4 updated for version 7.3.702
Problem:    Nmake from VS6 service pack 6 is not recognized.
Solution:   Detect the version number. (Jiri Sedlak)
2012-10-21 02:41:08 +02:00
Bram Moolenaar
faca84059a updated for version 7.3.701
Problem:    MS-Windows: Crash with stack overflow when setting 'encoding'.
Solution:   Handle that loading the iconv library may be called recursively.
            (Jiri Sedlak)
2012-10-21 02:37:10 +02:00
Bram Moolenaar
cfb807026f updated for version 7.3.700
Problem:    Cannot detect URXVT and SGR mouse support.
Solution:   add +mouse_urxvt and +mouse_sgr. (Hayaki Saito)
2012-10-21 02:17:45 +02:00
Bram Moolenaar
bffa06ddb8 updated for version 7.3.699
Problem:    When 'ttymouse' is set to "sgr" manually, it is overruled by
            automatic detection.
Solution:   Do not use automatic detection when 'ttymouse' was set manually.
            (Hayaki Saito)
2012-10-21 02:10:24 +02:00
Bram Moolenaar
003d14a267 updated for version 7.3.698
Problem:    Python 3 does not preserve state beween commands.
Solution:   Preserve the state. (Paul Ollis)
2012-10-21 01:47:00 +02:00
Bram Moolenaar
c4b98fbb3e updated for version 7.3.697
Problem:    Leaking resources when setting GUI font.
Solution:   Free the font. (Ken Takata)
2012-10-21 01:40:30 +02:00
Bram Moolenaar
f3408e76fb updated for version 7.3.696
Problem:    Message about added spell language can be wrong.
Solution:   Give correct message. Add g:menutrans_set_lang_to to allow for
            translation. (Jiri Sedlak)
2012-10-21 01:21:59 +02:00
Bram Moolenaar
b6101cf77f updated for version 7.3.695
Problem:    Balloon cannot show multi-byte text.
Solution:   Properly deal with multi-byte characters. (Dominique Pelle)
2012-10-21 00:58:39 +02:00
Bram Moolenaar
2d17fa3ebd updated for version 7.3.694
Problem:    Now that 'shiftwidth' may use the value of 'tabstop' it is not so
            easy to use in indent files.
Solution:   Add the shiftwidth() function. (so8res)
2012-10-21 00:45:18 +02:00
Bram Moolenaar
9f340fa57b updated for version 7.3.693
Problem:    Can't make 'softtabstop' follow 'shiftwidth'.
Solution:   When 'softtabstop' is negative use the value of 'shiftwidth'.
            (so8res)
2012-10-21 00:10:39 +02:00
Bram Moolenaar
205f9f5e2d updated for version 7.3.692
Problem:    Can't build GTK version with GTK 2.0.
Solution:   Put GtkFileFilter declaration in the right place. (Yegappan
            Lakshmanan)
2012-10-18 05:18:32 +02:00
Bram Moolenaar
b88adbf844 updated for version 7.3.691
Problem:    State specific to the Python thread is discarded.
Solution:   Keep state between threads. (Paul)
2012-10-14 05:20:12 +02:00
Bram Moolenaar
dac7569612 updated for version 7.3.690
Problem:    When the current directory name is exactly the maximum path length
            Vim may crash.
Solution:   Only add "/" when there is room. (Danek Duvall)
2012-10-14 04:35:45 +02:00
Bram Moolenaar
d04da7cb4a updated for version 7.3.689
Problem:    MzScheme and Lua may use a NULL string.
Solution:   Use an empty string instead of NULL. (Yukihiro Nakadaira)
2012-10-14 03:41:59 +02:00
Bram Moolenaar
7bc4f93c07 updated for version 7.3.688
Problem:    Python 3.3 is not supported.
Solution:   Add Python 3.3 support (Ken Takata)
2012-10-14 03:22:56 +02:00
Bram Moolenaar
172ddb60c2 updated for version 7.3.687
Problem:    Test 16 fails when $DISPLAY is not set.
Solution:   Skip the test when $DISPLAY is not set.
2012-10-11 04:44:33 +02:00
Bram Moolenaar
b73568149f updated for version 7.3.686
Problem:    Using CTRL-\ e mappings is useful also when entering an
            expression, but it doesn't work. (Marcin Szamotulski)
Solution:   Allow using CTRL-\ e when entering an expression if it was not
            typed.
2012-10-11 04:04:37 +02:00
Bram Moolenaar
0c17875ef3 updated for version 7.3.685
Problem:    No test for what patch 7.3.673 fixes.
Solution:   Add a test. (Christian Brabandt)
2012-10-11 03:35:45 +02:00
Bram Moolenaar
b35c338f96 updated for version 7.3.684
Problem:    "make test" does not delete lua.vim.
Solution:   Add lua.vim to the clean target. (Simon Ruderich)
2012-10-06 19:10:35 +02:00
Bram Moolenaar
0c5fa7d740 Updated runtime files. 2012-10-05 22:26:30 +02:00
Bram Moolenaar
d1f13fd597 updated for version 7.3.683
Problem:    ":python" may crash when vimbindeval() returns None.
Solution:   Check for v_string to be NULL. (Yukihiro Nakadaira)
2012-10-05 21:30:07 +02:00
Bram Moolenaar
4ccb265bd4 updated for version 7.3.682
Problem:    Compiler complains about incompatible types.
Solution:   Remove type casts. (hint by Danek Duvall)
2012-10-04 22:38:37 +02:00
Bram Moolenaar
7d11244c99 updated for version 7.3.681
Problem:    List of distributed files picks up backup files.
Solution:   Make tutor patterns more specific.
2012-10-03 21:48:43 +02:00
Bram Moolenaar
97cc2384c0 Update runtime files. 2012-10-03 21:46:54 +02:00
Bram Moolenaar
14f5827940 updated for version 7.3.680
Problem:    Some files missing in the list of distributed files.
Solution:   Add lines for new files.
2012-10-03 21:33:41 +02:00
Bram Moolenaar
8139889a5f updated for version 7.3.679
Problem:    Ruby detection uses Config, newer Ruby versions use RbConfig.
Solution:   Detect the need to use RbConfig. (Vit Ondruch)
2012-10-03 21:09:35 +02:00
Bram Moolenaar
6f3d6b48a6 updated for version 7.3.678
Problem:    Ruby .so name may not be correct.
Solution:   Use the LIBRUBY_SO entry from the config. (Vit Ondruch)
2012-10-03 18:50:00 +02:00
Bram Moolenaar
e1704bada4 updated for version 7.3.677
Problem:    buf_spname() is used inconsistently.
Solution:   Make the return type a char_u pointer.  Check the size of the
            returned string.
2012-10-03 18:25:00 +02:00
Bram Moolenaar
b213da0b57 updated for version 7.3.676
Problem:    Ruby compilation on Windows 32 bit doesn't work.
Solution:   Only use some functions for 64 bit. (Ken Takata)
2012-10-03 18:06:59 +02:00
Bram Moolenaar
ec3cfeb199 updated for version 7.3.675
Problem:    Using uninitialized memory with very long file name.
Solution:   Put NUL after text when it is truncated. (ZyX)
2012-10-03 17:12:47 +02:00
Bram Moolenaar
1e91f2606b updated for version 7.3.674
Problem:    Can't compile with Lua/dyn on Cygwin.
Solution:   Adjust configure to use the right library name. (Ken Takata)
2012-10-03 14:48:08 +02:00
Bram Moolenaar
718f007499 updated for version 7.3.673
Problem:    Using "gN" while 'selection' is "exclusive" misses one character.
            (Ben Fritz)
Solution:   Check the direction when compensating for exclusive selection.
            (Christian Brabandt)
2012-10-03 13:35:51 +02:00
Bram Moolenaar
d09acef44b Updated runtime files. 2012-09-21 14:54:30 +02:00
Bram Moolenaar
66b7985ec9 updated for version 7.3.672
Problem:    Not possible to lock/unlock lists in Python interface.
Solution:   Add .locked and .scope attributes. (ZyX)
2012-09-21 14:00:35 +02:00
Bram Moolenaar
770456589e updated for version 7.3.671
Problem:    More Python code can be shared between Python 2 and 3.
Solution:   Move code to if_py_both.h. (ZyX)
2012-09-21 13:46:06 +02:00
Bram Moolenaar
696c2116dc updated for version 7.3.670
Problem:    Python: memory leaks when there are exceptions.
Solution:   Add DICTKEY_UNREF in the right places. (ZyX)
2012-09-21 13:43:14 +02:00
Bram Moolenaar
f94a13c286 updated for version 7.3.669
Problem:    When building with Cygwin loading Python dynamically fails.
Solution:   Use DLLLIBRARY instead of INSTSONAME. (Ken Takata)
2012-09-21 13:26:49 +02:00
Bram Moolenaar
01c10524d2 updated for version 7.3.668
Problem:    Building with Perl loaded dynamically  still uses static library.
Solution:   Adjust use of PL_thr_key. (Ken Takata)
2012-09-21 12:50:51 +02:00
Bram Moolenaar
f5fe79a5f3 updated for version 7.3.667
Problem:    Unused variables in Perl interface.
Solution:   Adjust #ifdefs.
2012-09-21 12:42:44 +02:00
Bram Moolenaar
6f586de755 updated for version 7.3.666
Problem:    With MSVC 11 Win32.mak is not found.
Solution:   Add the SDK_INCLUDE_DIR variable. (Raymond Ko)
2012-09-18 22:00:08 +02:00
Bram Moolenaar
2b017fae8f updated for version 7.3.665
Problem:    MSVC 11 is not supported.
Solution:   Recognize MSVC 11. (Raymond Ko)
2012-09-18 18:27:12 +02:00
Bram Moolenaar
4fabd7dd4a updated for version 7.3.664
Problem:    Buffer overflow in unescaping text. (Raymond Ko)
Solution:   Limit check for multi-byte character to 4 bytes.
2012-09-18 18:03:37 +02:00
Bram Moolenaar
be1e9e9fc1 updated for version 7.3.663
Problem:    End of color scheme name not clear in E185. (Aaron Lewis)
Solution:   Put the name in single quotes.
2012-09-18 16:47:07 +02:00
Bram Moolenaar
2623b4f412 updated for version 7.3.662
Problem:    Can't build Ruby interface with Ruby 1.9.3.
Solution:   Add missing functions. (V. Ondruch)
2012-09-18 16:36:32 +02:00
Bram Moolenaar
e8cdcef875 updated for version 7.3.661
Problem:    SEGV in Python code.
Solution:   Initialize len to zero.  Use the right function depending on
            version. (Maxim Philippov)
2012-09-12 20:21:43 +02:00
Bram Moolenaar
fca93c093e updated for version 7.3.660
Problem:    ":help !" jumps to help for ":!".
Solution:   Adjust check for tag header line. (Andy Wokula)
2012-09-12 18:19:46 +02:00
Bram Moolenaar
c11073c9aa updated for version 7.3.659
Problem:    Recent Python changes are not tested.
Solution:   Add tests for Python bindings. (ZyX)
2012-09-05 19:17:42 +02:00
Bram Moolenaar
afa6b9af86 updated for version 7.3.658
Problem:    NUL bytes truncate strings when converted from Python.
Solution:   Handle truncation as an error. (ZyX)
2012-09-05 19:09:11 +02:00
Bram Moolenaar
cdab905136 updated for version 7.3.657
Problem:    Python bindings silently truncate string values containing NUL.
Solution:   Fail when a string contains NUL. (ZyX)
2012-09-05 19:03:56 +02:00
Bram Moolenaar
77fceb8908 updated for version 7.3.656
Problem:    Internal error in :pyeval.
Solution:   Handle failed object conversion. (ZyX)
2012-09-05 18:54:48 +02:00
Bram Moolenaar
e48a2dd3af updated for version 7.3.655
Problem:    64 bit MingW xpm .a file is missing.
Solution:   Add the file. (Sergey Khorev)
2012-09-05 18:49:24 +02:00
Bram Moolenaar
231e1a1723 updated for version 7.3.654
Problem:    When creating a Vim dictionary from Python objects an empty key
            might be used.
Solution:   Do not use empty keys, throw an IndexError. (ZyX)
2012-09-05 18:45:28 +02:00
Bram Moolenaar
e2db4361d2 updated for version 7.3.653
Problem:    MingW needs build rule for included XPM files.  Object directory
            for 32 and 64 builds is the same, also for MSVC.
Solution:   Add MingW build rule to use included XPM files.  Add the CPU or
            architecture to the object directory name. (Sergey Khorev)
2012-09-05 17:57:39 +02:00
Bram Moolenaar
ac0ddc15e9 updated for version 7.3.652
Problem:    Workaround for Python crash isn't perfect.
Solution:   Change the type of the length argument. (Sean Estabrooks)
2012-09-05 17:28:21 +02:00
Bram Moolenaar
7c0a86b1e8 updated for version 7.3.651
Problem:    Completion after ":help \{-" gives an error message.
Solution:   Prepend a backslash.
2012-09-05 15:15:07 +02:00
Bram Moolenaar
b4a80cdd91 updated for version 7.3.650
Problem:    Completion after ":help \{-" gives an error message and messes up
            the command line.
Solution:   Cancel the tag search if the pattern can't be compiled. (Yasuhiro
            Matsumoto)
2012-09-05 15:03:30 +02:00
Bram Moolenaar
7c82130a76 updated for version 7.3.649
Problem:    When 'clipboard' is set to "unnamed" small deletes end up in the
            numbered registers. (Ingo Karkat)
Solution:   Use the original register name to decide whether to put a delete
            in a numbered register. (Christian Brabandt)
2012-09-05 14:18:45 +02:00
Bram Moolenaar
2c66669c33 updated for version 7.3.648
Problem:    Crash when using a very long file name. (ZyX)
Solution:   Properly check length of buffer space.
2012-09-05 13:30:40 +02:00
Bram Moolenaar
57c0ea8692 updated for version 7.3.647
Problem:    "gnd" doesn't work correctly in Visual mode.
Solution:   Handle Visual mode differently in "gn". (Christian Brabandt)
2012-09-05 12:16:45 +02:00
Bram Moolenaar
465748e411 updated for version 7.3.646
Problem:    When reloading a buffer the undo file becomes unusable unless ":w"
            is executed. (Dmitri Frank)
Solution:   After reloading the buffer write the undo file. (Christian
            Brabandt)
2012-08-29 18:50:54 +02:00
Bram Moolenaar
dd7d846475 updated for version 7.3.645
Problem:    No tests for patch 7.3.625 and 7.3.637.
Solution:   Add more tests for the "gn" command and try/catch. (Christian
            Brabandt)
2012-08-29 16:55:13 +02:00
Bram Moolenaar
0551410a14 updated for version 7.3.644
Problem:    Dead code for BeOS GUI.
Solution:   Remove unused __BEOS__ stuff.
2012-08-29 16:34:27 +02:00
Bram Moolenaar
3633dc0129 updated for version 7.3.643
Problem:    MS-Windows: When starting gvim maximized 'lines' and 'columns' are
            wrong. (Christian Robinson)
Solution:   Move the check for gui.starting from ui_get_shellsize() to
            check_shellsize().
2012-08-29 16:26:04 +02:00
Bram Moolenaar
8f91399366 updated for version 7.3.642
Problem:    Segfault with specific autocommands.  Was OK after 7.3.449 and
            before 7.3.545. (Richard Brown)
Solution:   Pass TRUE for abort_if_last in the call to close_buffer().
            (Christian Brabandt)
2012-08-29 15:50:26 +02:00
Bram Moolenaar
002a4edc5b updated for version 7.3.641
Problem:    ":mkview" uses ":normal" instead of ":normal!" for folds. (Dan)
Solution:   Add the bang. (Christian Brabandt)
2012-08-29 15:22:25 +02:00
Bram Moolenaar
18a1b9bd5f updated for version 7.3.640
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Binary files for 7.3.639. (Sergey Khorev)
2012-08-29 14:26:27 +02:00
Bram Moolenaar
c6c1d8b802 updated for version 7.3.639
Problem:    It's not easy to build Vim on Windows with XPM support.
Solution:   Include the required files, they are quite small.  Update the
            MSVC makefile to use them.  Binary files are in the next patch.
            (Sergey Khorev)
2012-08-29 14:18:33 +02:00
Bram Moolenaar
1c75a03501 Fix version.c, 638 was there twice. 2012-08-23 22:28:46 +02:00
Bram Moolenaar
451cf63751 updated for version 7.3.638 2012-08-23 18:58:14 +02:00
Bram Moolenaar
00b8ae0d3d updated for version 7.3.637
Problem:    Cannot catch the error caused by a foldopen when there is no fold.
            (ZyX, Issue 48)
Solution:   Do not break out of the loop early when inside try/catch.
            (Christian Brabandt) Except when there is a syntax error.
2012-08-23 18:43:10 +02:00
Bram Moolenaar
dde0efed85 updated for version 7.3.636
Problem:    Not all zero-width matches handled correctly for "gn".
Solution:   Move zero-width detection to a separate function. (Christian
            Brabandt)
2012-08-23 15:53:05 +02:00
Bram Moolenaar
4d93dc2699 updated for version 7.3.635
Problem:    Issue 21: System call during startup sets 'lines' to a wrong
            value. (Karl Yngve)
Solution:   Don't set the shell size while the GUI is still starting up.
            (Christian Brabandt)
2012-08-23 13:28:55 +02:00
Bram Moolenaar
b9ce83e135 updated for version 7.3.634
Problem:    Month/Day format for undo is confusing. (Marcin Szamotulski)
Solution:   Always use Year/Month/Day, should work for everybody.
2012-08-23 12:59:02 +02:00
Bram Moolenaar
9b4512500a Update runtime files. 2012-08-15 17:43:31 +02:00
Bram Moolenaar
dd82d699c8 updated for version 7.3.633
Problem:    Selection remains displayed as selected after selecting another
            text.
Solution:   Call xterm_update() before select(). (Andrew Pimlott)
2012-08-15 17:26:57 +02:00
Bram Moolenaar
2b9578f0f8 updated for version 7.3.632
Problem:    Cannot select beyond 222 columns with the mouse in xterm.
Solution:   Add support for SGR mouse tracking. (Hayaki Saito)
2012-08-15 16:21:32 +02:00
Bram Moolenaar
2430586629 updated for version 7.3.631
Problem:    Cannot complete user names.
Solution:   Add user name completion.  (Dominique Pelle)
2012-08-15 14:05:05 +02:00
Bram Moolenaar
2dac213ac6 updated for version 7.3.630
Problem:    "|" does not behave correctly when 'virtualedit' is set.
Solution:   Call validate_virtcol(). (David Bürgin)
2012-08-15 13:31:00 +02:00
Bram Moolenaar
14f2474147 updated for version 7.3.629
Problem:    There is no way to make 'shiftwidth' follow 'tabstop'.
Solution:   When 'shiftwidth' is zero use the value of 'tabstop'. (Christian
            Brabandt)
2012-08-08 18:01:05 +02:00
Bram Moolenaar
b02612b641 updated for version 7.3.628
Problem:    ":open" does not allow for a !, which results in a confusing error
            message. (Shawn Wilson)
Solution:   Allow ! on ":open". (Christian Brabandt)
2012-08-08 17:31:40 +02:00
Bram Moolenaar
07e31c571a updated for version 7.3.627
Problem:    When using the "n" flag with the ":s" command a \= substitution
            will not be evaluated.
Solution:   Do perform the evaluation, so that a function can be invoked at
            every matching position without changing the text. (Christian
            Brabandt)
2012-08-08 16:51:15 +02:00
Bram Moolenaar
c1a995db49 updated for version 7.3.626
Problem:    Python interface doesn't build with Python 2.4 or older.
Solution:   Define Py_ssize_t. (Benjamin Bannier)
2012-08-08 16:05:07 +02:00
Bram Moolenaar
ba6ba36fa2 updated for version 7.3.625
Problem:    "gn" does not handle zero-width matches correctly.
Solution:   Handle zero-width patterns specially. (Christian Brabandt)
2012-08-08 15:27:57 +02:00
Bram Moolenaar
04b2751899 updated for version 7.3.624
Problem:    When cancelling input() it returns the third argument. That should
            only happen for inputdialog().
Solution:   Check if inputdialog() was used. (Hirohito Higashi)
2012-08-08 14:33:21 +02:00
Bram Moolenaar
c271c48e80 updated for version 7.3.623
Problem:    Perl 5.14 commands crash Vim on MS-Windows.
Solution:   Use perl_get_sv() instead of GvSV(). (Raymond Ko)
2012-08-08 13:17:31 +02:00
Bram Moolenaar
e66822e3d1 updated for version 7.3.622
Problem:    XPM library for Win32 can't be found.
Solution:   Suggest using the one from the Vim ftp site.
2012-08-02 21:48:24 +02:00
Bram Moolenaar
09168a77e4 updated for version 7.3.621
Problem:    Compiler warnings on 64 bit windows.
Solution:   Add type casts. (Mike Williams)
2012-08-02 21:24:42 +02:00
Bram Moolenaar
da3cb831e9 updated for version 7.3.620
Problem:    Building with recent Ruby on Win32 doesn't work.
Solution:   Add a separate argument for the API version. (Yasuhiro Matsumoto)
2012-08-02 21:21:47 +02:00
Bram Moolenaar
e4195c5d84 updated for version 7.3.619
Problem:    When executing a shell command Vim may become slow to respond.
Solution:   Don't wait after every processed message. (idea by Yasuhiro
            Matsumoto)
2012-08-02 12:31:44 +02:00
Bram Moolenaar
8a0f3c78fe updated for version 7.3.618
Problem:    Still doesn't compile with small features.
Solution:   Move current_search() out of #ifdef. (Dominique Pelle)
2012-07-29 12:55:32 +02:00
Bram Moolenaar
a07c831bef updated for version 7.3.617
Problem:    Hang on completion.
Solution:   Skip over the space. (Yasuhiro Matsumoto)
2012-07-27 21:12:07 +02:00
Bram Moolenaar
dad937f77f updated for version 7.3.616
Problem:    Can't compile without +visual.
Solution:   Add #ifdef.
2012-07-27 21:05:54 +02:00
Bram Moolenaar
6c35beaa11 Updated runtime files. 2012-07-25 17:49:10 +02:00
Bram Moolenaar
848f87633a updated for version 7.3.615
Problem:    Completion for a user command does not recognize backslash before
            a space.
Solution:   Recognize escaped characters. (Yasuhiro Matsumoto)
2012-07-25 17:22:23 +02:00
Bram Moolenaar
0cbba94b7e updated for version 7.3.614
Problem:    Number argument gets turned into a number while it should be a
            string.
Solution:   Add flag to the call_vim_function() call. (Yasuhiro Matsumoto)
2012-07-25 16:47:03 +02:00
Bram Moolenaar
9bdb9a0987 updated for version 7.3.613
Problem:    Including Python's config.c in the build causes trouble.  It is
            not clear why it was there.
Solution:   Omit the config file. (James McCoy)
2012-07-25 16:32:08 +02:00
Bram Moolenaar
5fb9ec5ed7 updated for version 7.3.612
Problem:    Auto formatting messes up text when 'fo' contains "2". (ZyX)
Solution:   Decrement "less_cols". (Tor Perkins)
2012-07-25 16:10:03 +02:00
Bram Moolenaar
9581b5f70e updated for version 7.3.611
Problem:    Can't use Vim dictionary as self argument in Python.
Solution:   Fix the check for the "self" argument. (ZyX)
2012-07-25 15:36:04 +02:00
Bram Moolenaar
641e286153 updated for version 7.3.610
Problem:    Cannot operate on the text that a search pattern matches.
Solution:   Add the "gn" and "gN" commands. (Christian Brabandt)
2012-07-25 15:06:34 +02:00
Bram Moolenaar
058bdcfd5d updated for version 7.3.609
Problem:    File names in :checkpath! output are garbled.
Solution:   Check for \zs in the pattern. (Lech Lorens)
2012-07-25 13:46:30 +02:00
Bram Moolenaar
6763c140d6 updated for version 7.3.608
Problem:    winrestview() does not always restore the view correctly.
Solution:   Call win_new_height() and win_new_width(). (Lech Lorens)
2012-07-19 18:05:44 +02:00
Bram Moolenaar
049d8e79cf updated for version 7.3.607
Problem:    With an 8 color terminal the selected menu item is black on black,
            because darkGrey as bg is the same as black.
Solution:   Swap fg and bg colors. (James McCoy)
2012-07-19 17:39:07 +02:00
Bram Moolenaar
94c465c53d updated for version 7.3.606
Problem:    CTRL-P completion has a problem with multi-byte characters.
Solution:   Check for next character being NUL properly.  (Yasuhiro Matsumoto)
2012-07-19 17:18:26 +02:00
Bram Moolenaar
1a0cee53d4 updated for version 7.3.605
Problem:    MS-Windows: Can't compile with older compilers. (Titov Anatoly)
Solution:   Add #ifdef for MEMORYSTATUSEX.
2012-07-19 11:37:26 +02:00
Bram Moolenaar
b5c9cb555e updated for version 7.3.604
Problem:    inputdialog() doesn't use the cancel argument in the console.
            (David Fishburn)
Solution:   Use the third argument. (Christian Brabant)
2012-07-16 19:27:29 +02:00
Bram Moolenaar
bdb620560b updated for version 7.3.603
Problem:    It is possible to add replace builtin functions by calling
            extend() on g:.
Solution:   Add a flag to a dict to indicate it is a scope.  Check for
            existing functions. (ZyX)
2012-07-16 17:31:53 +02:00
Bram Moolenaar
c2ece10274 updated for version 7.3.602
Problem:    Missing files in distribution.
Solution:   Update the list of files.
2012-07-16 17:28:11 +02:00
Bram Moolenaar
97f38d9540 updated for version 7.3.601
Problem:    Bad code style.
Solution:   Insert space, remove parens.
2012-07-16 17:26:22 +02:00
Bram Moolenaar
30b6581799 Updated runtime files. 2012-07-12 22:01:11 +02:00
Bram Moolenaar
dfef15481d updated for version 7.3.600
Problem:    <f-args> is not expanded properly with DBCS encoding.
Solution:   Skip over character instead of byte. (Yukihiro Nakadaira)
2012-07-10 19:25:10 +02:00
Bram Moolenaar
89af439409 updated for version 7.3.599
Problem:    Missing change in one file.
Solution:   Patch for changed clip_autoselect().
2012-07-10 18:31:54 +02:00
Bram Moolenaar
cfa3caec0c updated for version 7.3.598
Problem:    Cannot act upon end of completion. (Taro Muraoka)
Solution:   Add an autocommand event that is triggered when completion has
            finished. (Idea by Florian Klein)
2012-07-10 17:14:56 +02:00
Bram Moolenaar
c0885aad5c updated for version 7.3.597
Problem:    'clipboard' "autoselect" only applies to the * register. (Sergey
            Vakulenko)
Solution:   Make 'autoselect' work for the + register. (Christian Brabant)
            Add the "autoselectplus" option in 'clipboard' and the "P" flag in
            'guioptions'.
2012-07-10 16:49:23 +02:00
Bram Moolenaar
f65e5667df updated for version 7.3.596
Problem:    Can't remove all signs for a file or buffer.
Solution:   Support "*" for the sign id. (Christian Brabandt)
2012-07-10 15:18:22 +02:00
Bram Moolenaar
773c1ef81b updated for version 7.3.595
Problem:    The X command server responds slowly
Solution:   Change the loop that waits for replies. (Brian Burns)
2012-07-10 14:56:45 +02:00
Bram Moolenaar
52bf469f6f updated for version 7.3.594
Problem:    The X command server doesn't work perfectly. It sends an empty
            reply for as-keys requests.
Solution:   Remove duplicate ga_init2(). Do not send a reply for as-keys
            requests. (Brian Burns)
2012-07-10 14:25:04 +02:00
Bram Moolenaar
77c604d3ff updated for version 7.3.593
Problem:    No easy way to decide if b:browsefilter will work.
Solution:   Add the browsefilter feature.
2012-07-10 13:41:14 +02:00
Bram Moolenaar
6c4b646d84 updated for version 7.3.592
Problem:    Vim on GTK does not support g:browsefilter.
Solution:   Add a GtkFileFilter to the file chooser. (Christian Brabandt)
2012-07-10 13:12:51 +02:00
Bram Moolenaar
8cb8dca2f0 updated for version 7.3.591
Problem:    Can only move to a tab by absolute number.
Solution:   Move a number of tabs to the left or the right. (Lech Lorens)
2012-07-06 18:27:39 +02:00
Bram Moolenaar
0306ac33a5 updated for version 7.3.590
Problem:    The '< and '> marks cannot be set directly.
Solution:   Allow setting '< and '>. (Christian Brabandt)
2012-07-06 17:51:28 +02:00
Bram Moolenaar
bef4790c23 updated for version 7.3.589
Problem:    Crash when $HOME is not set.
Solution:   Check for a NULL pointer. (Chris Webb)
2012-07-06 16:49:40 +02:00
Bram Moolenaar
756287da38 updated for version 7.3.588
Problem:    Crash on NULL pointer.
Solution:   Fix the immediate problem by checking for NULL. (Lech Lorens)
2012-07-06 16:39:47 +02:00
Bram Moolenaar
e25865a7f3 updated for version 7.3.587
Problem:    Compiler warning for local var shadowing global var.
Solution:   Rename the var and move it to an inner block. (Christian Brabandt)
2012-07-06 16:22:02 +02:00
Bram Moolenaar
95b557b1dc updated for version 7.3.586
Problem:    When compiling with Cygwin or MingW MEMORYSTATUSEX is not defined.
Solution:   Set the default for WINVER to 0x0500.
2012-07-06 13:40:50 +02:00
Bram Moolenaar
5967abb97f updated for version 7.3.585
Problem:    Calling changed_bytes() too often.
Solution:   Move changed_bytes() out of a loop. (Tor Perkins)
2012-07-06 13:36:48 +02:00
Bram Moolenaar
221d6872c4 updated for version 7.3.584
Problem:    PyCObject is not always defined.
Solution:   Use PyObject instead.
2012-06-30 13:34:34 +02:00
Bram Moolenaar
e721122b79 updated for version 7.3.583
Problem:    PyObject_NextNotImplemented is not defined before Python 2.7.
            (Danek Duvall)
Solution:   Add #ifdefs.
2012-06-30 13:21:08 +02:00
Bram Moolenaar
49346f4155 updated for version 7.3.582
Problem:    Missing parts of the test OK file.
Solution:   Add the missing parts.
2012-06-29 23:57:54 +02:00
Bram Moolenaar
cc3e85f169 updated for version 7.3.581
Problem:    Problems compiling with Python.
Solution:   Pick UCS2 or UCS4 function at runtime. (lilydjwg)
2012-06-29 19:14:52 +02:00
Bram Moolenaar
3cd3e7ab17 updated for version 7.3.580
Problem:    Warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2012-06-29 17:52:02 +02:00
Bram Moolenaar
2afa3238a1 updated for version 7.3.579
Problem:    Can't compile with Python 2.5.
Solution:   Use PyCObject when Capsules are not available.
2012-06-29 16:28:28 +02:00
Bram Moolenaar
f27839c1a9 updated for version 7.3.578
Problem:    Misplaced declaration.
Solution:   Move declaration to start of block.
2012-06-29 16:19:50 +02:00
Bram Moolenaar
11b73d668f updated for version 7.3.577
Problem:    Size of memory does not fit in 32 bit unsigned.
Solution:   Use Kbyte instead of byte.  Call GlobalMemoryStatusEx() instead of
            GlobalMemoryStatus() when available.
2012-06-29 15:51:30 +02:00
Bram Moolenaar
96b7ca5142 updated for version 7.3.576
Problem:    Formatting of lists inside comments is not right yet.
Solution:   Use another solution and add a test. (Tor Perkins)
2012-06-29 15:04:49 +02:00
Bram Moolenaar
89f940fcac updated for version 7.3.575
Problem:    "ygt" tries to yank instead of giving an error. (Daniel Mueller)
Solution:   Check for a pending operator.
2012-06-29 13:56:06 +02:00
Bram Moolenaar
e79abddb2f updated for version 7.3.574
Problem:    When pasting a register in the search command line a CTRL-L
            character is not pasted. (Dominique Pelle)
Solution:   Escape the CTRL-L. (Christian Brabandt)
2012-06-29 13:44:41 +02:00
Bram Moolenaar
88b1ba151a updated for version 7.3.573
Problem:    Using array index before bounds checking.
Solution:   Swap the parts of the condition. (Dominique Pelle)
2012-06-29 13:34:19 +02:00
Bram Moolenaar
a53c60d33c updated for version 7.3.572
Problem:    Duplicate statement in if and else. (Dominique Pelle)
Solution:   Remove the condition and add a TODO.
2012-06-29 13:19:27 +02:00
Bram Moolenaar
f6a2b08c54 updated for version 7.3.571
Problem:    Duplicated condition.
Solution:   Remove one. (Dominique Pelle)
2012-06-29 13:14:03 +02:00
Bram Moolenaar
8f5c6f003a updated for version 7.3.570
Problem:    ":vimgrep" does not obey 'wildignore'.
Solution:   Apply 'wildignore' and 'suffixes' to ":vimgrep". (Ingo Karkat)
2012-06-29 12:57:06 +02:00
Bram Moolenaar
db91395312 updated for version 7.3.569
Problem:    Evaluating Vim expression in Python is insufficient.
Solution:   Add vim.bindeval().  Also add pyeval() and py3eval(). (ZyX)
2012-06-29 12:54:53 +02:00
Bram Moolenaar
a7014df975 updated for version 7.3.568
Problem:    Bad indents for #ifdefs.
Solution:   Add and remove spaces. (Elias Diem)
2012-06-29 12:35:44 +02:00
Bram Moolenaar
002850940e updated for version 7.3.567
Problem:    Missing copyright notice.
Solution:   Add Vim copyright notice. (Taro Muraoka)
2012-06-29 11:46:33 +02:00
Bram Moolenaar
22189a4bd6 updated for version 7.3.566
Problem:    Redo after completion does not work correctly when refresh: always
            is not used. (Raymond Ko)
Solution:   Check the compl_opt_refresh_always flag. (Christian Brabandt)
2012-06-20 22:56:02 +02:00
Bram Moolenaar
3943156034 updated for version 7.3.565
Problem:    Can't generate proto file for Python 3.
Solution:   Add PYTHON3_CFLAGS to LINT_CFLAGS.
2012-06-20 18:39:15 +02:00
Bram Moolenaar
d12f811816 updated for version 7.3.564
Problem:    Warning for pointer conversion.
Solution:   Add type cast.
2012-06-20 17:56:09 +02:00
Bram Moolenaar
50a12b4078 updated for version 7.3.563
Problem:    Can't build with tiny features.
Solution:   Add #ifdef.
2012-06-20 17:54:38 +02:00
Bram Moolenaar
38bdbd6c6f updated for version 7.3.562
Problem:    ":profdel" should not work when the +profile feature is disabled.
Solution:   Call ex_ni(). (Yasuhiro Matsumoto)
2012-06-20 15:48:57 +02:00
Bram Moolenaar
5e1a0a9a65 updated for version 7.3.561
Problem:    Using refresh: always in a complete function breaks the "."
            command. (Val Markovic)
Solution:   Add match leader to the redo buffer. (Yasuhiro Matsumoto)
2012-06-20 14:26:35 +02:00
Bram Moolenaar
ed46560bf0 updated for version 7.3.560
Problem:    Get an error for a locked argument in extend().
Solution:   Initialize the lock flag for a dictionary. (Yukihiro Nakadaira)
2012-06-20 14:13:06 +02:00
Bram Moolenaar
9158f9e423 updated for version 7.3.559
Problem:    home_replace() does not work with 8.3 filename.
Solution:   Make ":p" expand 8.3 name to full path. (Yasuhiro Matsumoto)
2012-06-20 14:02:27 +02:00
Bram Moolenaar
dc7e85ee5d updated for version 7.3.558
Problem:    Memory access error. (Gary Johnson)
Solution:   Allocate one more byte. (Dominique Pelle)
2012-06-20 12:40:08 +02:00
Bram Moolenaar
9e931224db updated for version 7.3.557
Problem:    Crash when an autocommand wipes out a buffer when it is hidden.
Solution:   Restore the current window when needed. (Christian Brabandt)
2012-06-20 11:55:01 +02:00
Bram Moolenaar
36105782d2 updated for version 7.3.556
Problem:    Compiler warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)
2012-06-14 20:59:25 +02:00
Bram Moolenaar
77c193579b updated for version 7.3.555
Problem:    Building on IBM z/OS fails.
Solution:   Adjust configure. Use the QUOTESED value from config.mk instead of
            the hard coded one in Makefile. (Stephen Bovy)
2012-06-13 19:19:41 +02:00
Bram Moolenaar
795ec43112 updated for version 7.3.554
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2012-06-13 18:15:19 +02:00
Bram Moolenaar
5641f38d41 updated for version 7.3.553
Problem:    With double-width characters and 'listchars' containing "precedes"
            the text is displayed one cell off.
Solution:   Check for double-width character being overwritten by the
            "precedes" character. (Yasuhiro Matsumoto)
2012-06-13 18:06:36 +02:00
Bram Moolenaar
bfe3bf806a updated for version 7.3.552
Problem:    Formatting inside comments does not use the "2" flag in
            'formatoptions'.
Solution:   Support the "2" flag.  (Tor Perkins)
2012-06-13 17:28:55 +02:00
Bram Moolenaar
a8596c4772 updated for version 7.3.551
Problem:    When using :tablose a TabEnter autocommand is triggered too early.
            (Karthick)
Solution:   Don't trigger *Enter autocommands before closing the tab.
            (Christian Brabandt)
2012-06-13 14:28:20 +02:00
Bram Moolenaar
e04a48f204 updated for version 7.3.550
Problem:    With "j" in 'formatoptions' a list leader is not removed. (Gary
            Johnson)
Solution:   Don't ignore the start of a three part comment. (Lech Lorens)
2012-06-13 14:01:41 +02:00
Bram Moolenaar
48d279215f updated for version 7.3.549
Problem:    In 'cinoptions' "0s" is interpreted as one shiftwidth. (David
            Pineau)
Solution:   Use the zero as zero. (Lech Lorens)
2012-06-13 13:40:48 +02:00
Bram Moolenaar
27ba088549 updated for version 7.3.548
Problem:    Compiler warning on 64 bit Windows.
Solution:   Add type cast. (Mike Williams)
2012-06-07 21:09:39 +02:00
Bram Moolenaar
802053f14a updated for version 7.3.547
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it.
2012-06-06 23:08:38 +02:00
Bram Moolenaar
3b393a0b53 updated for version 7.3.546
Problem:    Bogus line break.
Solution:   Remove the line break.
2012-06-06 19:05:50 +02:00
Bram Moolenaar
362ce48048 updated for version 7.3.545
Problem:    When closing a window or buffer autocommands may close it too,
            causing problems for where the autocommand was invoked from.
Solution:   Add the w_closing and b_closing flags.  When set disallow ":q" and
            ":close" to prevent recursive closing.
2012-06-06 19:02:45 +02:00
Bram Moolenaar
3b53dfb3b0 updated for version 7.3.544
Problem:    There is no good way to close a quickfix window when closing the
            last ordinary window.
Solution:   Add the QuitPre autocommand.
2012-06-06 18:03:07 +02:00
Bram Moolenaar
ab984db296 updated for version 7.3.543
Problem:    The cursor is in the wrong line after using ":copen". (John
            Beckett)
Solution:   Invoke more drastic redraw method.
2012-06-06 16:29:10 +02:00
Bram Moolenaar
08bc274e88 updated for version 7.3.542
Problem:    Function is sometimes unused.
Solution:   Add #ifdef.
2012-06-06 16:14:40 +02:00
Bram Moolenaar
8134039744 updated for version 7.3.541
Problem:    When joining lines comment leaders need to be removed manually.
Solution:   Add the 'j' flag to 'formatoptions'. (Lech Lorens)
2012-06-06 16:12:59 +02:00
Bram Moolenaar
bc256d91ea updated for version 7.3.540
Problem:    Cursor is left on the text instead of the command line.
Solution:   Don't call setcursor() in command line mode.
2012-06-06 12:06:15 +02:00
Bram Moolenaar
64fdf5ceae updated for version 7.3.539
Problem:    Redrawing a character on the command line does not work properly
            for multi-byte charactes.
Solution:   Count the number of bytes in a character. (Yukihiro Nakadaira)
2012-06-06 12:03:06 +02:00
Bram Moolenaar
c873442b15 Updated runtime files. 2012-06-01 22:38:45 +02:00
Bram Moolenaar
f13de07e49 updated for version 7.3.538
Problem:    'efm' does not handle Tabs in pointer lines.
Solution:   Add Tab support. Improve tests. (Lech Lorens)
2012-06-01 18:34:41 +02:00
Bram Moolenaar
24ee83b0a0 updated for version 7.3.537
Problem:    Unecessary call to init_spell_chartab().
Solution:   Delete the call.
2012-06-01 17:49:55 +02:00
Bram Moolenaar
88178de99f updated for version 7.3.536
Problem:    When spell checking the German sharp s is not seen as a word
            character. (Aexl Bender)
Solution:   In utf_islower() return true for the sharp s. Note: also need
            updated spell file for this to take effect.
2012-06-01 17:46:59 +02:00
Bram Moolenaar
9a920d8c31 updated for version 7.3.535
Problem:    Many #ifdefs for MB_MAXBYTES.
Solution:   Also define MB_MAXBYTES without the +multi_byte feature.  Fix
            places where the buffer didn't include space for a NUL byte.
2012-06-01 15:21:02 +02:00
Bram Moolenaar
704984ac87 updated for version 7.3.534
Problem:    When using an InsertCharPre autocommand autoindent fails.
Solution:   Proper handling of v:char. (Alexey Radkov)
2012-06-01 14:57:51 +02:00
Bram Moolenaar
d2aed44c77 updated for version 7.3.533
Problem:    Memory leak when writing undo file.
Solution:   Free the ACL. (Dominique Pelle)
2012-06-01 13:46:12 +02:00
Bram Moolenaar
112f318551 updated for version 7.3.532
Problem:    Compiler warning from Clang.
Solution:   Use a different way to point inside a string. (Dominique Pelle)
2012-06-01 13:18:53 +02:00
Bram Moolenaar
ae084bb97c updated for version 7.3.531
Problem:    GUI does not work on MS-Windows.
Solution:   Add the missing #ifdef. (Patrick Avery)
2012-05-27 00:37:51 +02:00
Bram Moolenaar
6a3c1b44e5 updated for version 7.3.530
Problem:    Gvim does not work when 'guioptions' includes "f". (Davido)
Solution:   Call gui_mch_init_check() when running GUI in the foreground.
            (Yasuhiro Matsumoto)
2012-05-25 14:06:36 +02:00
Bram Moolenaar
6057b9c658 updated for version 7.3.529
Problem:    Using a count before "v" and "V" does not work (Kikyous)
Solution:   Make the count select that many characters or lines. (Christian
            Brabandt)
2012-05-25 13:12:36 +02:00
Bram Moolenaar
bef1c36ab6 updated for version 7.3.528
Problem:    Crash when closing last window in a tab. (Alex Efros)
Solution:   Use common code in close_last_window_tabpage(). (Christian
            Brabandt)
2012-05-25 12:39:00 +02:00
Bram Moolenaar
936347b6bf updated for version 7.3.527
Problem:    Clang complains about non-ASCII characters in a string.
Solution:   Change to \x88 form. (Dominique Pelle)
2012-05-25 11:56:22 +02:00
Bram Moolenaar
0c50a6ba59 updated for version 7.3.526
Problem:    Confusing indenting for #ifdef.
Solution:   Remove and add indent. (Elias Diem)
2012-05-25 11:04:38 +02:00
Bram Moolenaar
17bd9dc2bd updated for version 7.3.525
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2012-05-25 11:02:41 +02:00
Bram Moolenaar
1763969e5c updated for version 7.3.524
Problem:    Missing comma.
Solution:   Add the comma.
2012-05-18 21:54:13 +02:00
Bram Moolenaar
8e52a59376 Fix more 'cpo' issues in runtime files. 2012-05-18 21:49:28 +02:00
Bram Moolenaar
bd1d560895 updated for version 7.3.523
Problem:    ":diffupdate" doesn't check for files changed elsewhere.
Solution:   Add the ! flag. (Christian Brabandt)
2012-05-18 18:47:17 +02:00
Bram Moolenaar
455981e69b updated for version 7.3.522
Problem:    Crash in vim_realloc() when using MEM_PROFILE.
Solution:   Avoid using a NULL argument. (Dominique Pelle)
2012-05-18 18:34:19 +02:00
Bram Moolenaar
f9de140e7f updated for version 7.3.521
Problem:    Using "z=" on a multi-byte character may cause a crash.
Solution:   Don't use strlen() on an int pointer.
2012-05-18 18:08:01 +02:00
Bram Moolenaar
2969570036 updated for version 7.3.520
Problem:    Gvim starts up slow on Unbuntu 12.04.
Solution:   Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
            Matsumoto)  Do check $DISPLAY being set.
2012-05-18 17:03:18 +02:00
Bram Moolenaar
8a4c136a90 updated for version 7.3.519
Problem:    When completefunction returns it cannot indicate end of completion
            mode.
Solution:   Recognize completefunction returning -3.  (Mtsushita Shougo)
2012-05-18 16:35:21 +02:00
Bram Moolenaar
a0149c7401 updated for version 7.3.518
Problem:    When 'encoding' is a double-byte encoding ":helptags" may not find
            tags correctly.
Solution:   Use vim_strbyte() instead of vim_strchr(). (Yasuhiro Matsumoto)
2012-05-18 16:24:11 +02:00
Bram Moolenaar
1aeaf8c0e0 Updated runtime files. 2012-05-18 13:46:39 +02:00
Bram Moolenaar
dbb4a42cdc Ignore file generated by tests. 2012-05-18 13:14:26 +02:00
Bram Moolenaar
18e00d2c86 updated for version 7.3.517
Problem:    Crash when using "vipvv". (Alexandre Provencio)
Solution:   Don't let the text length become negative.
2012-05-18 12:49:40 +02:00
Bram Moolenaar
2fc8802fcc updated for version 7.3.516
Problem:    extend(o, o) may crash Vim.
Solution:   Fix crash and add test. (Thinca and Hirohito Higashi)
2012-05-18 12:07:05 +02:00
Bram Moolenaar
8071607aa5 More runtime file fixes for 'compatible' mode. 2012-05-01 21:14:34 +02:00
Bram Moolenaar
2d0b92f8f9 updated for version 7.3.515
Problem:    'wildignorecase' only applies to the last part of the path.
Solution:   Also ignore case for letters earlier in the path.
2012-04-30 21:09:43 +02:00
Bram Moolenaar
5ae636b9bb updated for version 7.3.514
Problem:    No completion for :history command.
Solution:   Add the completion and update the docs. Also fix ":behave"
            completion. (Dominique Pelle)
2012-04-30 18:48:53 +02:00
Bram Moolenaar
8320da42bc updated for version 7.3.513
Problem:    Cannot use CTRL-E and CTRL-Y with "r".
Solution:   Make CTRL-E and CTRL-Y work like in Insert mode. (Christian
            Brabandt)
2012-04-30 18:18:47 +02:00
Bram Moolenaar
b41d9689f1 updated for version 7.3.512
Problem:    undofile() returns a useless name when passed an empty string.
Solution:   Return an empty string. (Christian Brabandt)
2012-04-30 17:35:48 +02:00
Bram Moolenaar
7da9c37a17 updated for version 7.3.511
Problem:    Using a FileReadCmd autocommand that does ":e! {file}" may cause a
            crash. (Christian Brabandt)
Solution:   Properly restore curwin->w_s.
2012-04-30 17:04:52 +02:00
Bram Moolenaar
9a7224b5a0 Fixed compatible mode in most runtime files. 2012-04-30 15:56:52 +02:00
Bram Moolenaar
e8938e507e updated for version 7.3.510
Problem:    Test 77 fails on Solaris 7. (Michael Soyka)
Solution:   Replace any tabs with spaces.
2012-04-30 11:34:28 +02:00
Bram Moolenaar
ddbb5550b4 Updated runtime files, include fixes for line continuation. 2012-04-26 20:17:03 +02:00
Bram Moolenaar
d38b055ab8 Updated runtime files. 2012-04-25 19:07:41 +02:00
Bram Moolenaar
7f51a82c1b updated for version 7.3.509
Problem:    ":vimgrep" fails when 'autochdir' is set.
Solution:   A more generic solution for changing directory. (Ben Fritz)
2012-04-25 18:57:21 +02:00
Bram Moolenaar
b429cdeb6e updated for version 7.3.508
Problem:    Default for v:register is not set.
Solution:   Init v:register in eval_init(). Correct for 'clipboard' before the
            main loop. (Ingo Karkat)
2012-04-25 18:24:29 +02:00
Bram Moolenaar
8218f60b61 updated for version 7.3.507
Problem:    When exiting with unsaved changes, selecting an existing file in
            the file dialog, there is no dialog to ask whether the existing
            file should be overwritten. (Felipe G. Nievinski)
Solution:   Call check_overwrite() before writing. (Christian Brabandt)
2012-04-25 17:32:18 +02:00
Bram Moolenaar
68fb5dcd13 updated for version 7.3.506
Problem:    GTK gives an error when selecting a non-existent file.
Solution:   Add a handler to avoid the error. (Christian Brabandt)
2012-04-25 17:10:16 +02:00
Bram Moolenaar
68a33fc704 updated for version 7.3.505
Problem:    Test 11 fails on MS-Windows in some versions.
Solution:   Fix #ifdefs for whether filtering through a pipe is possible. Move
            setting b_no_eol_lnum back to where it was before patch 7.3.124.
            (David Pope)
2012-04-25 16:50:48 +02:00
Bram Moolenaar
720ce53af0 updated for version 7.3.504
Problem:    Commands in help files are not highlighted.
Solution:   Allow for commands in backticks.  Adjust CTRL-] to remove the
            backticks.
2012-04-25 12:57:28 +02:00
Bram Moolenaar
6217cdcec3 updated for version 7.3.503
Problem:    Warning for unused argument.
Solution:   Add UNUSED.
2012-04-25 12:28:09 +02:00
Bram Moolenaar
e436528e04 updated for version 7.3.502
Problem:    Netbeans insert halfway a line actually appends to the line.
Solution:   Insert halfway the line. (Brian Victor)
2012-04-20 19:47:05 +02:00
Bram Moolenaar
35df7d2d99 updated for version 7.3.501
Problem:    Error for "flush" not being defined when using Ruby command.
Solution:   Defined "flush" as a no-op method. (Kent Sibilev)
2012-04-20 18:05:47 +02:00
Bram Moolenaar
a6cdc99152 updated for version 7.3.500
Problem:    Ming makefile unconditionally sets WINVER.
Solution:   Only defined when not already defined. (Yasuhiro Matsumoto)
2012-04-20 16:13:25 +02:00
Bram Moolenaar
6be120e7f5 updated for version 7.3.499
Problem:    When using any interface language when Vim is waiting for a child
            process it gets confused by a child process started through the
            interface.
Solution:   Always used waitpid() instead of wait(). (Yasuhiro Matsumoto)
2012-04-20 15:55:16 +02:00
Bram Moolenaar
84298db3a4 updated for version 7.3.498
Problem:    The behavior of the "- register changes depending on value of
            the 'clipboard' option. (Szamotulski)
Solution:   Also set the "- register when the register is "*" or "+".
            (Christian Brabandt)
2012-04-20 13:46:08 +02:00
Bram Moolenaar
b830f0c7df updated for version 7.3.497
Problem:    Crash when doing ":python print" and compiled with gcc and
            the optimizer enabled.
Solution:   Avoid the crash, doesn't really fix the problem. (Christian
            Brabandt)
2012-04-20 13:31:21 +02:00
Bram Moolenaar
53bfca22f1 Updated runtime files. 2012-04-13 23:04:47 +02:00
Bram Moolenaar
09210ac93c updated for version 7.3.496
Problem:    MS-DOS: When "diff" trips over difference in line separators some
            tests fail.
Solution:   Make some .ok files use unix line separators. (David Pope)
2012-04-13 19:11:20 +02:00
Bram Moolenaar
b345d49e06 updated for version 7.3.495
Problem:    Compiler warnings.
Solution:   Add function declaration.  Remove "offset" argument.
2012-04-09 20:42:26 +02:00
Bram Moolenaar
bd2f3c3ec6 updated for version 7.3.494
Problem:    Can't compile with Lua 9.1 or dynamic Lua.
Solution:   Fix dll_ methods. Fix luado(). (Muraoka Taro, Luis Carvalho)
2012-04-06 14:31:00 +02:00
Bram Moolenaar
b0d7a15d3a updated for version 7.3.493
Problem:    Two unused variables.
Solution:   Remove them. (Hong Xu)
2012-04-06 13:56:04 +02:00
Bram Moolenaar
5b435d671e Updated runtime files. 2012-04-05 17:33:26 +02:00
Bram Moolenaar
3675fa09a7 updated for version 7.3.492
Problem:    Can't indent conditions separately from function arguments.
Solution:   Add the 'k' flag in 'cino. (Lech Lorens)
2012-04-05 17:17:42 +02:00
Bram Moolenaar
98411e57ab updated for version 7.3.491
Problem:    No tests for Lua.
Solution:   Add some simple tests for Lua. (Luis Carvalho)
2012-04-05 16:56:52 +02:00
Bram Moolenaar
1dced5727f updated for version 7.3.490
Problem:    Member confusion in Lua interface.
Solution:   Fix it.  Add luaeval(). (Taro Muraoka, Luis Carvalho)
2012-04-05 16:54:08 +02:00
Bram Moolenaar
e0ebfd7507 updated for version 7.3.489
Problem:    CTRL-] in Insert mode does not expand abbreviation when used in a
            mapping. (Yichao Zhou)
Solution:   Special case using CTRL-]. (Christian Brabandt)
2012-04-05 16:07:06 +02:00
Bram Moolenaar
3dbde6226d updated for version 7.3.488
Problem:    ":help!" in a help file does not work as document.
Solution:   When in a help file don't give an error message. (thinca)
2012-04-05 16:05:05 +02:00
Bram Moolenaar
61d35bd020 Updated runtime files. 2012-03-28 20:51:51 +02:00
Bram Moolenaar
913077c37c updated for version 7.3.487
Problem:    When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
            movement is reset unnecessarily.
Solution:   Do not set w_set_curswant for every option. Add a test for this.
            (Kana Natsuno) Add the P_CURSWANT flag for options.
2012-03-28 19:59:04 +02:00
Bram Moolenaar
ca628610c0 updated for version 7.3.486
Problem:    Build error with mingw64 on Windows 7.
Solution:   Avoid the step of going through vimres.res. (Guopeng Wen)
2012-03-28 17:43:11 +02:00
Bram Moolenaar
da5a4970a9 updated for version 7.3.485
Problem:    When building Vim LDFLAGS isn't passed on to building xxd.
Solution:   Pass the LDFLAGS value. (James McCoy)
2012-03-28 17:17:48 +02:00
Bram Moolenaar
f99bc6d002 updated for version 7.3.484
Problem:    The -E and --echo-wid command line arguments are not mentioned in
            "vim --help".
Solution:   Add the help lines. (Dominique Pelle)
2012-03-28 17:10:31 +02:00
Bram Moolenaar
6df5e5ae42 updated for version 7.3.483
Problem:    More prompt shows up too often.
Solution:   Instead of adding a line break, only start a new line in the
            message history. (Christian Brabandt)
2012-03-28 16:49:29 +02:00
Bram Moolenaar
524780d69f updated for version 7.3.482
Problem:    With 'cursorbind' set moving up/down does not always keep the same
            column.
Solution:   Set curswant appropriately. (Gary Johnson)
2012-03-28 14:19:50 +02:00
Bram Moolenaar
61d281a4c0 updated for version 7.3.481
Problem:    Changing 'virtualedit' in an operator function to "all" does not
            have the desired effect. (Aaron Bohannon)
Solution:   Save, reset and restore virtual_op when executing an operator
            function.
2012-03-28 12:59:57 +02:00
Bram Moolenaar
970a1b82ec updated for version 7.3.480
Problem:    When using ":qa" and there is a changed buffer picking the buffer
            to jump to is not very good.
Solution:   Consider current and other tab pages. (Hirohito Higashi)
2012-03-23 18:39:18 +01:00
Bram Moolenaar
06ca513e2c updated for version 7.3.479
Problem:    When 'cursorline' is set the line number highlighting can't be set
            separately.
Solution:   Add "CursorLineNr". (Howard Buchholz)
2012-03-23 16:25:17 +01:00
Bram Moolenaar
507cc8acf1 updated for version 7.3.478
Problem:    Memory leak using the ':rv!' command when reading dictionary or
            list global variables i.e. with 'viminfo' containing !.
Solution:   Free the typeval. (Dominique Pelle)
2012-03-23 15:37:02 +01:00
Bram Moolenaar
12b0290d42 updated for version 7.3.477
Problem:    Using ":echo" to output enough lines to scroll, then using "j" and
            "k" at the more prompt, displays the command on top of the output.
            (Marcin Szamotulski)
Solution:   Put the output below the command. (Christian Brabandt)
2012-03-23 15:18:24 +01:00
Bram Moolenaar
5e4b9e9ff8 updated for version 7.3.476
Problem:    When selecting a block, using "$" to include the end of each line
            and using "A" and typing a backspace strange things happen.
            (Yuangchen Xie)
Solution:   Avoid using a negative length. (Christian Brabandt)
2012-03-23 14:16:23 +01:00
Bram Moolenaar
5d3a8038b6 updated for version 7.3.475
Problem:    In a terminal with few colors the omnicomplete menu may be hard to
            see when using the default colors.
Solution:   Use more explicit colors. (suggested by Alex Henrie)
2012-03-16 20:16:46 +01:00
Bram Moolenaar
dfba6b6449 updated for version 7.3.474
Problem:    Perl build with gcc 4 fails.
Solution:   Remove XS() statements. (Yasuhiro Matsumoto)
2012-03-16 19:34:47 +01:00
Bram Moolenaar
1ea69b7077 updated for version 7.3.473
Problem:    'cursorbind' does not work correctly in combination with
            'virtualedit' set to "all".
Solution:   Copy coladd. (Gary Johnson)
2012-03-16 19:24:26 +01:00
Bram Moolenaar
5ad15df9ce updated for version 7.3.472
Problem:    Crash when using ":redraw" in a BufEnter autocommand and
            switching to another tab. (驼峰)
Solution:   Move triggering the the autocommands to after correcting the
            option values. Also check the row value to be out of bounds.
            (Christian Brabandt, Sergey Khorev)
2012-03-16 19:07:58 +01:00
Bram Moolenaar
1c0b03e857 updated for version 7.3.471
Problem:    Can't abort listing placed signs.
Solution:   Check "got_int". (Christian Brabandt)
2012-03-16 14:32:15 +01:00
Bram Moolenaar
84f7235bdb Updated runtime files. Add Dutch translations. 2012-03-11 15:57:40 +01:00
Bram Moolenaar
7c578d3c3f updated for version 7.3.470
Problem:    Test 62 fails when compiled without GUI and X11.
Solution:   Don't test :drop when it is not supported.
2012-03-07 22:55:20 +01:00
Bram Moolenaar
5fbe699390 updated for version 7.3.469
Problem:    Compiler warning for unused argument without some features.
Solution:   Add UNUSED.
2012-03-07 22:52:36 +01:00
Bram Moolenaar
8ec1f8523b updated for version 7.3.468
Problem:    For some compilers the error file is not easily readable.
Solution:   Use QuickFixCmdPre for more commands. (Marcin Szamotulski)
2012-03-07 20:13:49 +01:00
Bram Moolenaar
917ba89f7f updated for version 7.3.467
Problem:    Cursor positioned wrong at the command line when regaining focus
            and using some input method.
Solution:   Do not position the cursor in command line mode.
2012-03-07 19:38:55 +01:00
Bram Moolenaar
9e98edfe8f updated for version 7.3.466
Problem:    Get ml_get error hen ":behave mswin" was used and selecting
            several lines.  (A. Sinan Unur)
Solution:   Adjust the end of the operation. (Christian Brabandt)
2012-03-07 19:30:36 +01:00
Bram Moolenaar
146e9c3886 updated for version 7.3.465
Problem:    Cannot get file name with newline from glob().
Solution:   Add argument to glob() and expand() to indicate they must return a
            list. (Christian Brabandt)
2012-03-07 19:18:23 +01:00
Bram Moolenaar
552ac13d55 updated for version 7.3.464
Problem:    Compiler warning for sprintf.
Solution:   Put the length in a variable. (Dominique Pelle)
2012-03-07 18:03:10 +01:00
Bram Moolenaar
0faaeb826e updated for version 7.3.463
Problem:    When using ":s///c" the cursor is moved away from the match.
            (Lawman)
Solution:   Don't move the cursor when do_ask is set. (Christian Brabandt)
2012-03-07 14:57:52 +01:00
Bram Moolenaar
d25ad65a97 updated for version 7.3.462
Problem:    When using ":loadview" folds may be closed unexpectedly.
Solution:   Take into account foldlevel. (Xavier de Gaye)
2012-02-29 19:20:02 +01:00
Bram Moolenaar
f5876f147a updated for version 7.3.461
Problem:    The InsertCharPre autocommand event is not triggered during
            completion and when typing several characters quickly.
Solution:   Also trigger InsertCharPre during completion.  Do not read ahead
            when an InsertCharPre autocommand is defined. (Yasuhiro Matsumoto)
2012-02-29 18:22:08 +01:00
Bram Moolenaar
91856270df updated for version 7.3.460
Problem:    Win32: UPX does not compress 64 bit binaries.
Solution:   Mention and add the alternative: mpress. (Dave Bodenstab)
2012-02-29 16:56:39 +01:00
Bram Moolenaar
4336cdf318 updated for version 7.3.459
Problem:    Win32: Warnings for type conversion.
Solution:   Add type casts. (Mike Williams)
2012-02-29 13:58:47 +01:00
Bram Moolenaar
7f29f7a2f4 updated for version 7.3.458
Problem:    Crash when calling smsg() during startup.
Solution:   Don't use 'shortmess' when it is not set yet.
2012-02-29 13:51:37 +01:00
Bram Moolenaar
011a34d77d updated for version 7.3.457
Problem:    When setting $VIMRUNTIME later the directory for fetching
            translated messages is not adjusted.
Solution:   Put bindtextdomain() in vim_setenv().
2012-02-29 13:49:09 +01:00
Bram Moolenaar
52379eadfb updated for version 7.3.456
Problem:    ":tab drop file" has several problems, including moving the
            current window and opening a new tab for a file that already has a
            window.
Solution:   Refactor ":tab drop" handling. (Hirohito Higashi)
2012-02-22 19:13:08 +01:00
Bram Moolenaar
b549a731fb updated for version 7.3.455
Problem:    Using many continuation lines can be slow.
Solution:   Adjust the reallocation size to the current length.
2012-02-22 18:29:33 +01:00
Bram Moolenaar
7282bc3e7e updated for version 7.3.454
Problem:    Re-allocating memory slows Vim down.
Solution:   Use realloc() in ga_grow(). (Dominique Pelle)
2012-02-22 18:12:32 +01:00
Bram Moolenaar
58437e0409 updated for version 7.3.453
Problem:    Pasting in the command line is slow.
Solution:   Don't redraw if there is another character to read. (Dominique
            Pelle)
2012-02-22 17:58:04 +01:00
Bram Moolenaar
5f1e3e4473 updated for version 7.3.452
Problem:    Undo broken when pasting close to the last line. (Andrey Radev)
Solution:   Use a flag to remember if the deleted included the last line.
            (Christian Brabandt)
2012-02-22 17:38:00 +01:00
Bram Moolenaar
db7207e6e5 Updated runtime files. 2012-02-22 17:30:19 +01:00
Bram Moolenaar
84a4c334e1 updated for version 7.3.451
Problem:    Tcl doesn't work on 64 MS-Windows.
Solution:   Make it work. (Dave Bodenstab)
2012-02-22 16:01:56 +01:00
Bram Moolenaar
ee7d100091 updated for version 7.3.450
Problem:    Win32: Still a problem with "!start /b".
Solution:   Fix pointer use. (Yasuhiro Matsumoto)
2012-02-22 15:34:08 +01:00
Bram Moolenaar
42ec656524 updated for version 7.3.449
Problem:    Crash when a BufWinLeave autocommand closes the only other window.
            (Daniel Hunt)
Solution:   Abort closing a buffer when it becomes the only one.
2012-02-22 14:58:37 +01:00
Bram Moolenaar
fb7df7be2f updated for version 7.3.448
Problem:    Win32: Still a problem with "!start /b".
Solution:   Escape only '|'. (Yasuhiro Matsumoto)
2012-02-22 13:07:05 +01:00
Bram Moolenaar
6b707b4b82 updated for version 7.3.447
Problem:    Win32: External commands with "start" do not work.
Solution:   Unescape part of the command. (Yasuhiro Matsumoto)
2012-02-21 21:22:44 +01:00
Bram Moolenaar
f66b3fcf6c updated for version 7.3.446
Problem:    Win32: External commands with special characters don't work.
Solution:   Add the 'shellxescape' option.
2012-02-20 22:18:30 +01:00
Bram Moolenaar
034b115568 updated for version 7.3.445
Problem:    Can't properly escape commands for cmd.exe.
Solution:   Default 'shellxquote' to '('.  Append ')' to make '(command)'.
            No need to use "/s" for 'shellcmdflag'.
2012-02-19 18:19:30 +01:00
Bram Moolenaar
5dc6252d33 Update runtime files. 2012-02-13 00:05:22 +01:00
Bram Moolenaar
61c3519b78 updated for version 7.3.444
Problem:    ":all!" and ":sall!" give error E477, even though the
            documentation says these are valid commands.
Solution:   Support the exclamation mark. (Hirohito Higashi)
2012-02-13 00:01:43 +01:00
Bram Moolenaar
a64ba220f0 updated for version 7.3.443
Problem:    MS-Windows: 'shcf' and 'shellxquote' defaults are not very good.
Solution:   Make a better guess when 'shell' is set to "cmd.exe". (Ben Fritz)
2012-02-12 23:23:31 +01:00
Bram Moolenaar
60542ac9fd updated for version 7.3.442
Problem:    Still read modelines for ":doautocmd".
Solution:   Move check for <nomodeline> to separate function.
2012-02-12 20:14:01 +01:00
Bram Moolenaar
bbc98db7c4 updated for version 7.3.441
Problem:    Newer versions of MzScheme (Racket) require earlier (trampolined)
            initialisation.
Solution:   Call mzscheme_main() early in main(). (Sergey Khorev)
2012-02-12 01:55:55 +01:00
Bram Moolenaar
efcb54b78c updated for version 7.3.440
Problem:    Vim does not support UTF8_STRING for the X selection.
Solution:   Add UTF8_STRING atom support. (Alex Efros) Use it only when
            'encoding' is set to Unicode.
2012-02-12 01:35:10 +01:00
Bram Moolenaar
be74734429 updated for version 7.3.439
Problem:    Compiler warnings to size casts in Perl interface.
Solution:   Use XS macros. (James McCoy)
2012-02-12 00:31:52 +01:00
Bram Moolenaar
a61d5fbf7a updated for version 7.3.438
Problem:    There is no way to avoid ":doautoall" reading modelines.
Solution:   Add the <nomodeline> argument. Adjust documentation.
2012-02-12 00:18:58 +01:00
Bram Moolenaar
28f2908d95 updated for version 7.3.437
Problem:    Continue looping inside FOR_ALL_TAB_WINDOWS even when already done.
Solution:   Use goto instead of break. (Hirohito Higashi)
2012-02-11 23:45:37 +01:00
Bram Moolenaar
68ba0dd633 updated for version 7.3.436
Problem:    Compiler warnings for types on Windows.
Solution:   Add type casts. (Mike Williams)
2012-02-11 20:44:10 +01:00
Bram Moolenaar
c047b9a49f updated for version 7.3.435
Problem:    Compiler warning for unused variable.
Solution:   Move the variable inside #ifdef.
2012-02-11 20:40:55 +01:00
Bram Moolenaar
3fe37d62d1 updated for version 7.3.434
Problem:    Using join() can be slow.
Solution:   Compute the size of the result before allocation to avoid a lot of
            allocations and copies. (Taro Muraoka)
2012-02-06 00:13:22 +01:00
Bram Moolenaar
b3a6bbc7b6 updated for version 7.3.433
Problem:    Using continued lines in a Vim script can be slow.
Solution:   Instead of reallocating for every line use a growarray. (Yasuhiro
            Matsumoto)
2012-02-05 23:10:30 +01:00
Bram Moolenaar
8d462f9666 updated for version 7.3.432
Problem:    ACLs are not supported for ZFS or NFSv4 on Solaris.
Solution:   Add configure check and code. (Danek Duvall)
2012-02-05 22:51:33 +01:00
Bram Moolenaar
a8c8a688ac updated for version 7.3.431
Problem:    Fetching a key at a prompt may be confused by escape sequences.
            Especially when getting a prompt at a VimEnter autocommand.
            (Alex Efros)
Solution:   Properly handle escape sequences deleted by check_termcode().
2012-02-05 22:05:48 +01:00
Bram Moolenaar
73b2470896 updated for version 7.3.430
Problem:    When a custom filetype detection uses "augroup END" the conf
            fileytpe detection does not have the filetypedetect group.
Solution:   Always end the group and include filetypedetect in the conf
            autocommand. (Lech Lorens)
2012-02-05 20:08:36 +01:00
Bram Moolenaar
be094a1579 updated for version 7.3.429
Problem:    When 'cpoptions' includes "E" "c0" in the first column is an
            error. The redo register is then set to the errornous command.
Solution:   Do not set the redo register if the command fails because of an
            empty region. (Hideki Eiraku)
2012-02-05 01:18:48 +01:00
Bram Moolenaar
e37c611012 updated for version 7.3.428
Problem:    Win32: an xpm file without a mask crashes Vim.
Solution:   Fail when the mask is missing. (Dave Bodenstab)
2012-02-05 00:48:00 +01:00
Bram Moolenaar
a489e1d9d6 updated for version 7.3.427
Problem:    readfile() can be slow with long lines.
Solution:   Use realloc() instead of alloc(). (John Little)
2012-02-05 00:39:18 +01:00
Bram Moolenaar
76b9b3696c updated for version 7.3.426
Problem:    With '$' in 'cpoptions' the $ is not displayed in the first
            column.
Solution:   Use -1 instead of 0 as a special value. (Hideki Eiraku and
            Hirohito Higashi)
2012-02-04 23:35:00 +01:00
Bram Moolenaar
d87fbc2b1c updated for version 7.3.425
Problem:    Search history lines are duplicated. (Edwin Steiner)
Solution:   Convert separator character from space to NUL.
2012-02-04 22:44:32 +01:00
Bram Moolenaar
fbe323d854 updated for version 7.3.424
Problem:    Win16 version missing some functions.
Solution:   Add #defines for the functions.
2012-02-04 22:01:48 +01:00
Bram Moolenaar
b8ff1fb5eb updated for version 7.3.423
Problem:    Small mistakes in comments, proto and indent.
Solution:   Fix the mistakes.

Also update runtime files
2012-02-04 21:59:01 +01:00
Bram Moolenaar
7f85d297dc updated for version 7.3.422
Problem:    Python 3 does not have __members__.
Solution:   Add "name" and "number" in another way. (lilydjwg)
2012-02-04 20:17:26 +01:00
Bram Moolenaar
3c70f33440 updated for version 7.3.421
Problem:    Get E832 when setting 'undofile' in vimrc and there is a file to
            be edited on the command line. (Toothpik)
Solution:   Do not try reading the undo file for a file that wasn't loaded.
2012-01-28 18:03:35 +01:00
Bram Moolenaar
16c31fe1b7 updated for version 7.3.420
Problem:    "it" and "at" don't work properly with a dash in the tag name.
Solution:   Require a space to match the tag name. (Christian Brabandt)
2012-01-26 20:58:26 +01:00
Bram Moolenaar
7d550fbde5 updated for version 7.3.419
Problem:    DBCS encoding in a user command does not always work.
Solution:   Skip over DBCS characters. (Yasuhiro Matsumoto)
2012-01-26 20:41:26 +01:00
Bram Moolenaar
6110a006d5 updated for version 7.3.418
Problem:    When a user complete function returns -1 an error message is
            given.
Solution:   When -2 is returned stop completion silently. (Yasuhiro Matsumoto)
2012-01-26 18:58:38 +01:00
Bram Moolenaar
8e808d2b4d updated for version 7.3.417
Problem:    Test 43 fails with a tiny build.
Solution:   Only run test 43 with at least a small build.
2012-01-26 18:56:47 +01:00
Bram Moolenaar
975261e8a0 updated for version 7.3.416
Problem:    Compiler warning for wrong pointer.
Solution:   Add type cast.
2012-01-26 18:52:06 +01:00
Bram Moolenaar
f44cfb88f6 updated for version 7.3.416
Problem:    Compiler warning for wrong pointer.
Solution:   Add type cast.
2012-01-26 18:03:07 +01:00
Bram Moolenaar
abe838b099 updated for version 7.3.415
Problem:    Completion of functions stops once a dictionary is encountered.
            (James McCoy)
Solution:   Return an empty string instead of NULL.
2012-01-26 14:32:30 +01:00
Bram Moolenaar
06af60244e updated for version 7.3.414
Problem:    Using CTRL-A on "000" drops the leading zero, while on "001" it
            doesn't.
Solution:   Detect "000" as an octal number. (James McCoy)
2012-01-26 13:40:08 +01:00
Bram Moolenaar
38f5f9529a updated for version 7.3.413
Problem:    Build warnings on MS-Windows.
Solution:   Add type casts. (Mike Williams)
2012-01-26 13:01:59 +01:00
Bram Moolenaar
2b04b19455 updated for version 7.3.412
Problem:    Storing a float in a session file has an additional '&'.
Solution:   Remove the '&'. (Yasuhiro Matsumoto)
2012-01-26 11:45:30 +01:00
Bram Moolenaar
53748fcb7b updated for version 7.3.411
Problem:    Pasting in Visual mode using the "" register does not work. (John
            Beckett)
Solution:   Detect that the write is overwriting the pasted register.
            (Christian Brabandt)
2012-01-26 11:43:09 +01:00
Bram Moolenaar
33c1b198c6 updated for version 7.3.410
Problem:    Compiler error for // comment. (Joachim Schmitz)
Solution:   Turn into /* comment */.
2012-01-23 20:48:40 +01:00
Bram Moolenaar
7474c7c3d6 updated for version 7.3.409
Problem:    The license in pty.c is unclear.
Solution:   Add a comment about the license.
2012-01-20 21:13:59 +01:00
Bram Moolenaar
6be7f8733f Update runtime files. 2012-01-20 21:08:56 +01:00
Bram Moolenaar
90b280059f updated for version 7.3.408
Problem:    Missing declaration.
Solution:   Add the declaration. (John Marriott)
2012-01-20 20:54:19 +01:00
Bram Moolenaar
f31b764c23 updated for version 7.3.407
Problem:    ":12verbose call F()" may duplicate text while trying to truncate.
            (Thinca)
Solution:   Only truncate when there is not enough room.  Also check the byte
            length of the buffer.
2012-01-20 20:44:43 +01:00
Bram Moolenaar
3ef7cdf0fd updated for version 7.3.406
Problem:    Multi-byte characters in b:browsefilter are not handled correctly.
Solution:   First use convert_filter() normally and then convert to wide
            characters. (Taro Muraoka)
2012-01-20 17:57:51 +01:00
Bram Moolenaar
5af7d71276 updated for version 7.3.405
Problem:    When xterm gets back the function keys it may delete the urxvt
            mouse termcap code.
Solution:   Check for the whole code, not just the start. (Egmont Koblinger)
2012-01-20 17:15:51 +01:00
Bram Moolenaar
6d6cec8375 updated for version 7.3.404
Problem:    When a complete function uses refresh "always" redo will not work
            properly.
Solution:   Do not reset compl_leader when compl_opt_refresh_always is set.
            (Yasuhiro Matsumoto)
2012-01-20 14:32:27 +01:00
Bram Moolenaar
73633f84d6 updated for version 7.3.403
Problem:    ":helpgrep" does not trigger QuickFixCmd* autocommands.
Solution:   Trigger the autocommands. (Christian Brabandt)
2012-01-20 13:39:07 +01:00
Bram Moolenaar
8f55d103db updated for version 7.3.402
Problem:    When jumping to the first error a line of the buffer is sometimes
            redrawn on top of the list of errors.
Solution:   Do not call update_topline_redraw() if the display was scrolled
            up.
2012-01-20 13:28:34 +01:00
Bram Moolenaar
309cbc3840 updated for version 7.3.401
Problem:    A couple more shadowed variables.
Solution:   Rename the variables.
2012-01-10 22:31:31 +01:00
Bram Moolenaar
70b2a56d5a updated for version 7.3.400
Problem:    Compiler warnings for shadowed variables.
Solution:   Remove or rename the variables.
2012-01-10 22:26:17 +01:00
Bram Moolenaar
1f5965b3c4 updated for version 7.3.399
Problem:    ":cd" doesn't work when the path contains wildcards. (Yukihiro
            Nakadaira)
Solution:   Ignore wildcard errors when the EW_NOTWILD flag is used.
2012-01-10 18:37:58 +01:00
Bram Moolenaar
a0f299b4e8 updated for version 7.3.398
Problem:    When creating more than 10 location lists and adding items one by
            one a previous location may be used. (Audrius Kažukauskas)
Solution:   Clear the location list completely when adding the tenth one.
2012-01-10 17:13:52 +01:00
Bram Moolenaar
10b7b39b3d updated for version 7.3.397
Problem:    ":helpgrep" does not work properly when 'encoding' is not utf-8 or
            latin1.
Solution:   Convert non-ascii lines to 'encoding'. (Yasuhiro Matsumoto)
2012-01-10 16:28:45 +01:00
Bram Moolenaar
6ee8d89cf9 Updated runtime files. 2012-01-10 14:55:01 +01:00
Bram Moolenaar
64a72303f8 updated for version 7.3.396
Problem:    After forcing an operator to be characterwise it can still become
            linewise when spanning whole lines.
Solution:   Don't make the operator linewise when motion_force was set.
            (Christian Brabandt)
2012-01-10 13:46:22 +01:00
Bram Moolenaar
66accae339 updated for version 7.3.395
Problem:    "dv?bar" in the last line deletes too much and breaks undo.
Solution:   Only adjust the cursor position when it's after the last line of
            the buffer.  Add a test. (Christian Brabandt)
2012-01-10 13:44:27 +01:00
Bram Moolenaar
738f8fc8ed updated for version 7.3.394
Problem:    When placing a mark while starting up a screen redraw messes up
            the screen. (lith)
Solution:   Don't redraw while still starting up. (Christian Brabandt)
2012-01-10 12:42:09 +01:00
Bram Moolenaar
6ef47c223e updated for version 7.3.393
Problem:    Win32: When resizing Vim it is always moved to the primary monitor
            if the secondary monitor is on the left.
Solution:   Use the nearest monitor. (Yukihiro Nakadaira)
2012-01-04 20:29:22 +01:00
Bram Moolenaar
374d32d70f updated for version 7.3.392
Problem:    When setting 'undofile' while the file is already loaded but
            unchanged, try reading the undo file. (Andy Wokula)
Solution:   Compute a checksum of the text when 'undofile' is set. (Christian
            Brabandt)
2012-01-04 19:34:37 +01:00
Bram Moolenaar
79a2a49c5a updated for version 7.3.391
Problem:    Can't check if the XPM_W32 feature is enabled.
Solution:   Add xpm_w32 to the list of features. (kat)
2012-01-04 14:35:37 +01:00
Bram Moolenaar
fc57380c3f updated for version 7.3.390
Problem:    Using NULL buffer pointer in a window.
Solution:   Check for w_buffer being NULL in more places. (Bjorn Winckler)
2011-12-30 15:01:59 +01:00
Bram Moolenaar
5d6f75e17e updated for version 7.3.389
Problem:    After typing at a prompt the "MORE" message appears too soon.
Solution:   reset lines_left in msg_end_prompt(). (Eswald)
2011-12-30 14:14:29 +01:00
Bram Moolenaar
83bac4c31a updated for version 7.3.388
Problem:    Crash on exit when EXITFREE is defined and using tiny features.
Solution:   Check for NULL window pointer. (Dominique Pelle)
2011-12-30 13:39:10 +01:00
Bram Moolenaar
b6b046b281 Updated runtime files. 2011-12-30 13:11:27 +01:00
Bram Moolenaar
deaf7b7397 updated for version 7.3.387
Problem:    Test 83 may fail for some encodings.
Solution:   Set 'encoding' to utf-8 earlier.
2011-12-30 13:09:21 +01:00
Bram Moolenaar
ff0a4809e3 updated for version 7.3.386
Problem:    Test 83 fails when iconv does not support cp932. (raf)
Solution:   Test if conversion works. (Yukihiro Nakadaira)
2011-12-23 14:56:28 +01:00
Bram Moolenaar
637606413f updated for version 7.3.385
Problem:    When using an expression mapping on the command line the cursor
            ends up in the wrong place. (Yasuhiro Matsumoto)
Solution:   Save and restore msg_col and msg_row when evaluating the
            expression.
2011-12-23 14:54:04 +01:00
Bram Moolenaar
bbd9fd7353 updated for version 7.3.384
Problem:    Mapping CTRL-K in Insert mode breaks CTRL-X CTRL-K for dictionary
            completion.
Solution:   Add CTRL-K to the list of recognized keys. (James McCoy)
2011-12-23 13:15:03 +01:00
Bram Moolenaar
265116a99a updated for version 7.3.383
Problem:    For EBCDIC pound sign is defined as 't'.
Solution:   Correctly define POUND.
2011-12-23 12:47:03 +01:00
Bram Moolenaar
213ae48854 updated for version 7.3.382
Problem:    IME characters are inserted twice.
Solution:   Do not call DefWindowProc() if the event was handled. (Yasuhiro
            Matsumoto)
2011-12-15 21:51:36 +01:00
Bram Moolenaar
f1568eca24 Update runtime files. 2011-12-14 21:17:39 +01:00
Bram Moolenaar
f788a06103 updated for version 7.3.381
Problem:    Configure silently skips interfaces that won't work.
Solution:   Add the --enable-fail_if_missing argument. (Shlomi Fish)
2011-12-14 20:51:25 +01:00
Bram Moolenaar
c367faad99 updated for version 7.3.380
Problem:    C-indenting wrong for a function header.
Solution:   Skip to the start paren. (Lech Lorens)
2011-12-14 20:21:35 +01:00
Bram Moolenaar
a528565cf1 updated for version 7.3.379
Problem:    C-indenting wrong for static enum.
Solution:   Skip over "static". (Lech Lorens)
2011-12-14 20:05:21 +01:00
Bram Moolenaar
323cb95120 updated for version 7.3.378
Problem:    When cross-compiling the check for uint32_t fails.
Solution:   Only give a warning message. (Maksim Melnikau)
2011-12-14 19:22:34 +01:00
Bram Moolenaar
d6e256c31a updated for version 7.3.377
Problem:    No support for bitwise AND, OR, XOR and invert.
Solution:   Add add(), or(), invert() and xor() functions.
2011-12-14 15:32:50 +01:00
Bram Moolenaar
2787ab91b0 updated for version 7.3.376
Problem:    Win32: Toolbar repainting does not work when the mouse pointer
            hovers over a button.
Solution:   Call DefWindowProc() when not hanlding an event. (Sergiu Dotenco)
2011-12-14 15:23:59 +01:00
Bram Moolenaar
68dfcdf725 updated for version 7.3.375
Problem:    Duplicate return statement.
Solution:   Remove the superfluous one. (Dominique Pelle)
2011-12-14 15:07:29 +01:00
Bram Moolenaar
b38e9ab4af updated for version 7.3.374
Problem:    ++encoding does not work properly.
Solution:   Recognize ++encoding before ++enc. (Charles Cooper)
2011-12-14 14:49:45 +01:00
Bram Moolenaar
08fc756582 updated for version 7.3.373
Problem:    A tags file with an extremely long name may cause an infinite loop.
Solution:   When encountering a long name switch to linear search.
2011-12-14 14:15:16 +01:00
Bram Moolenaar
96a8964564 updated for version 7.3.372
Problem:    When using a command line mapping to <Up> with file name
            completion to go one directory up, 'wildchar' is inserted.
            (Yasuhiro Matsumoto)
Solution:   Set the KeyTyped flag.
2011-12-08 18:44:51 +01:00
Bram Moolenaar
b9ba403542 updated for version 7.3.371
Problem:    Crash in autocomplete. (Greg Weber)
Solution:   Check not going over allocated buffer size.
2011-12-08 17:49:35 +01:00
Bram Moolenaar
fa263a517b updated for version 7.3.370
Problem:    Compiler warns for unused variable in Lua interface.
Solution:   Remove the variable.
2011-12-08 16:00:16 +01:00
Bram Moolenaar
f4120a8964 updated for version 7.3.369
Problem:    When compiled with Gnome get an error message when using --help.
Solution:   Don't fork. (Ivan Krasilnikov)
2011-12-08 15:57:59 +01:00
Bram Moolenaar
aeabe0545d updated for version 7.3.368
Problem:    Gcc complains about redefining _FORTIFY_SOURCE.
Solution:   Undefine it before redefining it.
2011-12-08 15:17:34 +01:00
Bram Moolenaar
ae7ba984ee updated for version 7.3.367
Problem:    :wundo and :rundo use a wrong checksum.
Solution:   Include the last line when computing the hash. (Christian Brabandt)
2011-12-08 15:14:09 +01:00
Bram Moolenaar
0a11f8ce4e updated for version 7.3.366
Problem:    A tags file with an extremely long name causes errors.
Solution:   Ignore tags that are too long. (Arno Renevier)
2011-12-08 15:12:11 +01:00
Bram Moolenaar
f0b6b0cc3b updated for version 7.3.365
Problem:    Crash when using a large Unicode character in a file that has
            syntax highlighting. (ngollan)
Solution:   Check for going past the end of the utf tables. (Dominique Pelle)
2011-12-08 15:09:52 +01:00
Bram Moolenaar
2bbafdbcee updated for version 7.3.364
Problem:    Can't compile on HP-UX. (John Marriott)
Solution:   Only use TTYM_URXVT when it is defined.
2011-12-01 20:59:21 +01:00
Bram Moolenaar
3388bb4847 updated for version 7.3.363
Problem:    C indenting is wrong after #endif followed by a semicolon.
Solution:   Add special handling for a semicolon in a line by itself. (Lech
            Lorens)
2011-11-30 17:20:23 +01:00
Bram Moolenaar
0612ec8d53 updated for version 7.3.362
Problem:    ml_get error when using ":g" with folded lines.
Solution:   Adjust the line number for changed_lines(). (Christian Brabandt)
2011-11-30 17:01:58 +01:00
Bram Moolenaar
89c7122c05 updated for version 7.3.361
Problem:    Accessing memory after it is freed when EXITFREE is defined.
Solution:   Don't access curwin when firstwin is NULL. (Dominique Pelle)
2011-11-30 15:40:56 +01:00
Bram Moolenaar
8000baffa7 updated for version 7.3.360
Problem:    Interrupting the load of an autoload function may cause a crash.
Solution:   Do not use the hashitem when not valid. (Yukihiro Nakadaira)
2011-11-30 15:19:28 +01:00
Bram Moolenaar
195ea0ff6c updated for version 7.3.359
Problem:    Command line completion shows dict functions.
Solution:   Skip dict functions for completion. (Yasuhiro Matsumoto)
2011-11-30 14:57:31 +01:00
Bram Moolenaar
b491c03ee7 updated for version 7.3.358
Problem:    Mouse support doesn't work properly.
Solution:   Add HMT_URXVT. (lilydjwg, James McCoy)
2011-11-30 14:47:15 +01:00
Bram Moolenaar
26fdd7da96 updated for version 7.3.357
Problem:    Compiler warning in MS-Windows console build.
Solution:   Adjust return type of PrintHookProc(). (Mike Williams)
2011-11-30 13:42:44 +01:00
Bram Moolenaar
6d8f9c6f59 updated for version 7.3.356
Problem:    Using "o" with 'cindent' set may freeze Vim. (lolilolicon)
Solution:   Skip over {} correctly. (Hari G)
2011-11-30 13:03:28 +01:00
Bram Moolenaar
49e4ec6eee updated for version 7.3.355
Problem:    GTK warnings when using netrw.vim. (Ivan Krasilnikov)
Solution:   Do not remove the beval event handler twice.
2011-11-30 11:31:30 +01:00
Bram Moolenaar
4e5ccfa5c7 updated for version 7.3.354
Problem:    ":set backspace+=eol" doesn't work when 'backspace' has a
            backwards compatible value of 2.
Solution:   Convert the number to a string. (Hirohito Higashi)
2011-11-30 11:15:47 +01:00
Bram Moolenaar
1dff76bcb8 updated for version 7.3.353
Problem:    Missing part of the urxvt patch.
Solution:   Add the change in term.c
2011-10-26 23:48:20 +02:00
Bram Moolenaar
db710ed999 updated for version 7.3.352
Problem:    When completing methods dict functions and script-local functions
            get in the way.
Solution:   Sort function names starting with "<" to the end. (Yasuhiro
            Matsumoto)
2011-10-26 22:02:15 +02:00
Bram Moolenaar
a27ad5aea1 updated for version 7.3.351
Problem:    Text formatting uses start of insert position when it should not.
            (Peter Wagenaar)
Solution:   Do not use Insstart when intentionally formatting.
2011-10-26 17:04:29 +02:00
Bram Moolenaar
50bfb3278e updated for version 7.3.350
Problem:    Block of code after ":lua << EOF" may not work. (Paul Isambert)
Solution:   Recognize the ":lua" command, skip to EOF.
2011-10-26 13:19:27 +02:00
Bram Moolenaar
f541c36a8c updated for version 7.3.349
Problem:    When running out of memory during startup trying to open a
            swapfile will loop forever.
Solution:   Let findswapname() set dirp to NULL if out of memory.
2011-10-26 11:44:18 +02:00
Bram Moolenaar
79739e163b updated for version 7.3.348
Problem:    "call range(1, 947948399)" causes a crash. (ZyX)
Solution:   Avoid a loop in the out of memory message.
2011-10-26 11:41:00 +02:00
Bram Moolenaar
b931d74b06 updated for version 7.3.347
Problem:    When dropping text from a browser on Vim it receives HTML even
            though "html" is excluded from 'clipboard'. (Andrei Avk)
Solution:   Fix the condition for TARGET_HTML.
2011-10-26 11:36:25 +02:00
Bram Moolenaar
1514667a24 Updated runtime files. 2011-10-20 22:22:38 +02:00
Bram Moolenaar
e3cc6d4223 updated for version 7.3.346
Problem:    It's hard to test netbeans commands.
Solution:   Process netbeans commands after :sleep. (Xavier de Gaye)
2011-10-20 21:58:34 +02:00
Bram Moolenaar
6cc00c75c1 updated for version 7.3.345 2011-10-20 21:41:09 +02:00
Bram Moolenaar
cd6fe97e6b updated for version 7.3.344
Problem:    Problem with GUI startup related to XInitThreads.
Solution:   Use read() and write() instead of fputs() and fread(). (James
            Vega)
2011-10-20 21:28:01 +02:00
Bram Moolenaar
c842748302 updated for version 7.3.343
Problem:    No mouse support for urxvt.
Solution:   Implement urxvt mouse support, also for > 252 columns.  (Yiding
            Jia)
2011-10-20 21:09:35 +02:00
Bram Moolenaar
62dbdc4a5a updated for version 7.3.342
Problem:    Code not in Vim style.
Solution:   Fix the style. (Elias Diem)
2011-10-20 18:24:22 +02:00
Bram Moolenaar
667b4d2db9 updated for version 7.3.341
Problem:    Local help files are only listed in help.txt, not in translated
            help files.
Solution:   Also find translated help files. (Yasuhiro Matsumoto)
2011-10-20 18:17:42 +02:00
Bram Moolenaar
f34dc6537d updated for version 7.3.340
Problem:    When 'verbosefile' is set ftplugof.vim can give an error.
Solution:   Only remove filetypeplugin autocommands when they exist. (Yasuhiro
            Matsumoto)
2011-10-20 18:12:32 +02:00
Bram Moolenaar
a4594f6b82 updated for version 7.3.339
Problem:    "make shadow" doesn't link all test files.
Solution:   Add a line in Makefile and Filelist.
2011-10-20 16:35:35 +02:00
Bram Moolenaar
b3479bd229 updated for version 7.3.338
Problem:    Using getchar() in an expression mapping doesn't work well.
Solution:   Don't save and restore the typeahead. (James Vega)
2011-10-12 22:02:14 +02:00
Bram Moolenaar
2e7b1df8fa updated for version 7.3.337
Problem:    Screen doesn't update after resizing the xterm until a character
            is typed.
Solution:   When the select call is interrupted check do_resize. (Taylor
            Hedberg)
2011-10-12 21:04:20 +02:00
Bram Moolenaar
e06461a821 updated for version 7.3.336
Problem:    When a tags file specifies an encoding different from 'enc' it
            may hang and using a pattern doesn't work.
Solution:   Convert the whole line.  Continue reading the header after the
            SORT tag.  Add test83. (Yukihiro Nakadaira)
2011-10-12 19:53:52 +02:00
Bram Moolenaar
725a962194 updated for version 7.3.335
Problem:    When 'imdisable' is reset from an autocommand in Insert mode it
            doesn't take effect.
Solution:   Call im_set_active() in Insert mode. (Taro Muraoka)
2011-10-12 16:57:13 +02:00
Bram Moolenaar
08c51aabc4 updated for version 7.3.334
Problem:    Latest MingW about XSUBPP referencing itself. (Gongqian Li)
Solution:   Rename the first use to XSUBPPTRY.
2011-10-12 14:11:45 +02:00
Bram Moolenaar
ca0c9fcda0 updated for version 7.3.333
Problem:    Using "." to repeat a Visual delete counts the size in bytes, not
            characters.  (Connor Lane Smith)
Solution:   Store the virtual column numbers instead of byte positions.
2011-10-04 21:22:44 +02:00
Bram Moolenaar
e79d1535cf updated for version 7.3.332
Problem:    Indent after "public:" is not increased in C++ code. (Lech Lorens)
Solution:   Check for namespace after the regular checks. (partly by Martin
            Gieseking)
2011-10-04 18:03:47 +02:00
Bram Moolenaar
aa0e80471f updated for version 7.3.331
Problem:    "vit" selects wrong text when a tag name starts with the same text
            as an outer tag name. (Ben Fritz)
Solution:   Add "\>" to the pattern to check for word boundary.
2011-10-04 17:00:20 +02:00
Bram Moolenaar
7701c24e36 updated for version 7.3.330
Problem:    When longjmp() is invoked if the X server gives an error the state
            is not properly restored.
Solution:   Reset vgetc_busy. (Yukihiro Nakadaira)
2011-10-04 16:43:53 +02:00
Bram Moolenaar
946c1eeafc Add files aaded by patch 7.3.326. 2011-10-03 22:12:32 +02:00
Bram Moolenaar
250912918e updated for version 7.3.329
Problem:    When skipping over code from ":for" to ":endfor" get an error for
            calling a dict function. (Yasuhiro Matsumoto)
Solution:   Ignore errors when skipping over :call command.
2011-09-30 18:35:57 +02:00
Bram Moolenaar
73dc59aad8 updated for version 7.3.328
Problem:    When command line wraps the cursor may be displayed wrong when
            there are multi-byte characters.
Solution:   Position the cursor before drawing the text. (Yasuhiro Matsumoto)
2011-09-30 17:46:21 +02:00
Bram Moolenaar
8f535582ad updated for version 7.3.327
Problem:    When jumping to a help tag a closed fold doesn't open.
Solution:   Save and restore KeyTyped. (Yasuhiro Matsumoto)
2011-09-30 17:30:31 +02:00
Bram Moolenaar
2369e35b39 updated for version 7.3.326
Problem:    MingW 4.6 no longer supports the -mno-cygwin option.
Solution:   Split the Cygwin and MingW makefiles. (Matsushita Shougo)
2011-09-30 16:56:02 +02:00
Bram Moolenaar
acd6a049f6 updated for version 7.3.325
Problem:    A duplicated function argument gives an internal error.
Solution:   Give a proper error message. (based on patch by Tyru)
2011-09-30 16:39:48 +02:00
Bram Moolenaar
a627c96182 updated for version 7.3.324
Problem:    Completion for ":compiler" shows color scheme names.
Solution:   Fix the directory name. (James Vega)
2011-09-30 16:23:32 +02:00
Bram Moolenaar
98a22f4a63 updated for version 7.3.323
Problem:    The default 'errorformat' does not ignore some "included from"
            lines.
Solution:   Add a few more patterns. (Ben Boeckel)
2011-09-30 14:44:54 +02:00
Bram Moolenaar
9f733d1ffd updated for version 7.3.322
Problem:    #ifdef for PDP_RETVAL doesn't work, INT_PTR can be a typedef.
Solution:   Check the MSC version and 64 bit flags. (Sergiu Dotenco)
2011-09-21 20:09:42 +02:00
Bram Moolenaar
447038a127 updated for version 7.3.321
Problem:    Code not following Vim style.
Solution:   Fix the style. (Elias Diem)
2011-09-21 19:50:05 +02:00
Bram Moolenaar
d960d76d5e Updated a few runtime files. 2011-09-21 19:22:10 +02:00
Bram Moolenaar
a6f4d61af7 updated for version 7.3.320
Problem:    When a 0xa0 character is in a sourced file the error message for
            unrecognized command does not show the problem.
Solution:   Display 0xa0 as <a0>.
2011-09-21 19:10:46 +02:00
Bram Moolenaar
62951b1e0d updated for version 7.3.319
Problem:    Redobuff doesn't always include changes of the completion leader.
Solution:   Insert backspaces as needed. (idea by Taro Muraoka)
2011-09-21 18:23:05 +02:00
Bram Moolenaar
a554a1933c updated for version 7.3.318
Problem:    "C" on the last line deletes that line if it's blank.
Solution:   Only delete the last line for a delete operation. (James Vega)
2011-09-21 17:33:53 +02:00
Bram Moolenaar
38e2b0636b updated for version 7.3.317
Problem:    Calling debug.debug() in Lua may cause Vim to hang.
Solution:   Add a better debug method. (Rob Hoelz, Luis Carvalho)
2011-09-21 17:15:39 +02:00
Bram Moolenaar
50f834dfb2 updated for version 7.3.316
Problem:    Crash when 'colorcolumn' is set and closing buffer.
Solution:   Check for w_buffer to be NULL. (Yasuhiro Matsumoto)
2011-09-21 13:40:17 +02:00
Bram Moolenaar
7f78bd73d6 updated for version 7.3.315
Problem:    Opening a window before forking causes problems for GTK.
Solution:   Fork first, create the window in the child and report back to the
            parent process whether it worked.  If successful the parent exits,
            if unsuccessful the child exits and the parent continues in the
            terminal. (Tim Starling)
2011-09-14 19:04:39 +02:00
Bram Moolenaar
52f8317926 updated for version 7.3.314
Problem:    Missing parenthesis.
Solution:   Add it. (Benjamin R. Haskell)
2011-09-14 19:01:42 +02:00
Bram Moolenaar
314ed4b21a updated for version 7.3.313
Problem:    One more warning when compiling with dynamic Python 3.
Solution:   Change PySliceObject to PyObject.
2011-09-14 18:59:39 +02:00
Bram Moolenaar
5302d9ebc1 Updated runtime files. 2011-09-14 17:55:08 +02:00
Bram Moolenaar
ddab33232a updated for version 7.3.312
Problem:    Can't compile with tiny features.
Solution:   Add #ifdef around win_valid().
2011-09-14 17:50:14 +02:00
Bram Moolenaar
821390843b updated for version 7.3.311
Problem:    Complete function isn't called when the leader changed.
Solution:   Allow the complete function to return a dictionary with a flag
            that indicates ins_compl_restart() is to be called when the leader
            changes. (Taro Muraoka)
2011-09-14 16:52:09 +02:00
Bram Moolenaar
15d6319b9d updated for version 7.3.310
Problem:    Code not following Vim style.
Solution:   Fix the style. (Elias Diem)
2011-09-14 16:05:15 +02:00
Bram Moolenaar
9e8edf6ee6 updated for version 7.3.309
Problem:    Warnings for pointer types.
Solution:   Change PySliceObject to PyObject.
2011-09-14 15:41:58 +02:00
Bram Moolenaar
b5b5b895f7 updated for version 7.3.308
Problem:    Writing to 'verbosefile' has problems, e.g. for :highlight.
Solution:   Do not use a separate verbose_write() function but write with the
            same code that does redirecting. (Yasuhiro Matsumoto)
2011-09-14 15:39:29 +02:00
Bram Moolenaar
ba4897e6e5 updated for version 7.3.307
Problem:    Python 3 doesn't support slice assignment.
Solution:   Implement slices. (Brett Overesch, Roland Puntaier)
2011-09-14 15:01:58 +02:00
Bram Moolenaar
a971b82b16 updated for version 7.3.306
Problem:    When closing a window there is a chance that deleting a scrollbar
            triggers a GUI resize, which uses the window while it is not in a
            valid state.
Solution:   Set the buffer pointer to NULL to be able to detect the invalid
            situation.  Fix a few places that used the buffer pointer
            incorrectly.
2011-09-14 14:43:25 +02:00
Bram Moolenaar
52af96527c updated for version 7.3.305
Problem:    Auto-loading a function while editing the command line causes
            scrolling up the display.
Solution:   Don't set msg_scroll when defining a function and the user is not
            typing. (Yasuhiro Matsumoto)
2011-09-14 14:33:51 +02:00
Bram Moolenaar
612af43cb6 updated for version 7.3.304
Problem:    Strawberry Perl doesn't work on MS-Windows.
Solution:   Use xsubpp if needed. (Yasuhiro Matsumoto)
2011-09-14 10:49:46 +02:00
Bram Moolenaar
9f1188152f updated for version 7.3.303
Problem:    Compilation error.
Solution:   Correct return type from int to pid_t. (Danek Duvall)
2011-09-08 23:24:14 +02:00
Bram Moolenaar
868272f58e updated for version 7.3.302
Problem:    Test 19 fails without 'smartindent' and +eval.
Solution:   Don't use ":exe". Source small.vim.
2011-09-08 23:22:40 +02:00
Bram Moolenaar
c42e7ed777 updated for version 7.3.301
Problem:    When 'smartindent' and 'copyindent' are set a Tab is used even
            though 'expandtab' is set.
Solution:   Do not insert Tabs. Add a test. (Christian Brabandt)
2011-09-07 19:58:09 +02:00
Bram Moolenaar
275648066d updated for version 7.3.300
Problem:    Python doesn't parse multi-byte argument correctly.
Solution:   Use "t" instead of "s". (lilydjwg)
2011-09-07 19:30:21 +02:00
Bram Moolenaar
0d55ff1594 updated for version 7.3.299
Problem:    Source code not in Vim style.
Solution:   Adjust the style. (Elias Diem)
2011-09-07 19:09:01 +02:00
Bram Moolenaar
092e3c874f updated for version 7.3.298
Problem:    Built-in colors are different from rgb.txt.
Solution:   Adjust the color values. (Benjamin Haskell)
2011-09-07 18:58:29 +02:00
Bram Moolenaar
6dfff547a7 updated for version 7.3.297
Problem:    Can't load Perl 5.14 dynamically.
Solution:   Add code in #ifdefs. (Charles Cooper)
2011-09-07 18:47:23 +02:00
Bram Moolenaar
205b886a41 updated for version 7.3.296
Problem:    When writing to an external command a zombie process may be left
            behind.
Solution:   Wait on the process. (James Vega)
2011-09-07 15:04:31 +02:00
Bram Moolenaar
493c7a8541 updated for version 7.3.295
Problem:    When filtering text with an external command Vim may not read all
            the output.
Solution:   When select() is interrupted loop and try again. (James Vega)
2011-09-07 14:06:47 +02:00
Bram Moolenaar
01a78342e0 updated for version 7.3.294
Problem:    Patch 289 causes more problems than it solves.
Solution:   Rever the patch untill a better solution is found.
2011-09-05 20:13:42 +02:00
Bram Moolenaar
d3184b57d2 updated for version 7.3.293
Problem:    MSVC compiler has a problem with non-ASCII characters.
Solution:   Avoid non-ASCII characters. (Hong Xu)
2011-09-02 14:18:20 +02:00
Bram Moolenaar
6c167c6451 updated for version 7.3.292
Problem:    Crash when using fold markers and selecting a visual block that
            includes a folded line and goes to end of line. (Sam Lidder)
Solution:   Check for the column to be MAXCOL. (James Vega)
2011-09-02 14:07:36 +02:00
Bram Moolenaar
6fabcbe260 updated for version 7.3.291
Problem:    Configure doesn't work properly with Python3.
Solution:   Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland
            Puntaier)
2011-09-02 12:27:25 +02:00
Bram Moolenaar
39fc42ef9d updated for version 7.3.290
Problem:    When a BufWriteCmd autocommand resets 'modified' this doesn't
            change older buffer states to be marked as 'modified' like
            ":write" does.  (Yukihiro Nakadaira)
Solution:   When the BufWriteCmd resets 'modified' then adjust the undo
            information like ":write" does.
2011-09-02 11:56:20 +02:00
Bram Moolenaar
03aa60826e updated for version 7.3.289
Problem:    Complete function isn't called when the leader changed.
Solution:   Call ins_compl_restart() when the leader changed.  (Taro Muraoka)
2011-08-28 16:02:28 +02:00
Bram Moolenaar
9dc93ae43e updated for version 7.3.288
Problem:    has('python') may give an error message for not being able to load
            the library after using python3.
Solution:   Only give the error when the verbose argument is true.
2011-08-28 16:00:19 +02:00
Bram Moolenaar
2eba18255e updated for version 7.3.287
Problem:    Can't compile with MSVC and tiny options.
Solution:   Move variables and #ifdefs. (Sergey Khorev)
2011-08-27 15:10:04 +02:00
Bram Moolenaar
c9927c136f updated for version 7.3.286
Problem:    Crash when using "zd" on a large number of folds. (Sam King)
Solution:   Recompute pointer after reallocating array.  Move fewer entries
            when making room.
2011-08-26 16:13:00 +02:00
Bram Moolenaar
792826c0c7 updated for version 7.3.285
Problem:    Mapping <Char-123> no longer works.
Solution:   Properly check for "char-".  Add a test for it.
2011-08-19 22:29:02 +02:00
Bram Moolenaar
b8bf541f89 updated for version 7.3.284
Problem:    The str2special() function doesn't handle multi-byte characters
            properly.
Solution:   Recognize multi-byte characters. (partly by Vladimir Vichniakov)
2011-08-17 20:33:22 +02:00
Bram Moolenaar
f6f4a01ab1 updated for version 7.3.283
Problem:    An expression mapping with a multi-byte character containing a
            0x80 byte gets messed up. (ZyX)
Solution:   Unescape the expression before evaluating it (Yukihiro Nakadaira)
2011-08-17 17:18:20 +02:00
Bram Moolenaar
1db1f77d4a updated for version 7.3.282
Problem:    When using input() and :echo in a loop the displayed text is
            incorrect. (Benjamin Fritz)
Solution:   Only restore the cursor position when there is a command line.
            (Ben Schmidt)
2011-08-17 16:25:48 +02:00
Bram Moolenaar
dc93555c0f updated for version 7.3.281
Problem:    After using "expand('%:8')" the buffer name is changed.
Solution:   Make a copy of the file name before shortening it.
2011-08-17 15:23:23 +02:00
Bram Moolenaar
c95e32635c updated for version 7.3.280
Problem:    ":lmake" does not update the quickfix window title.
Solution:   Update the title. (Lech Lorens)
2011-08-10 18:36:54 +02:00
Bram Moolenaar
12bc1b5c9f updated for version 7.3.279
Problem:    With GTK, when gvim is full-screen and a tab is opened and using a
            specific monitor configuration the window is too big.
Solution:   Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
2011-08-10 17:44:45 +02:00
Bram Moolenaar
17fb0e891a updated for version 7.3.278
Problem:    Passing the file name to open in VisVim doesn't work.
Solution:   Adjust the index and check for end of buffer. (Jiri Sedlak)
2011-08-10 17:25:51 +02:00
Bram Moolenaar
8c85fa3b26 updated for version 7.3.277
Problem:    MS-Windows: some characters do not show in dialogs.
Solution:   Use the wide methods when available. (Yanwei Jia)
2011-08-10 17:08:03 +02:00
Bram Moolenaar
cf83973211 updated for version 7.3.276
Problem:    GvimExt sets $LANG in the wrong way.
Solution:   Save the environment and use it for gvim. (Yasuhiro Matsumoto)
2011-08-10 16:31:23 +02:00
Bram Moolenaar
e78c206856 updated for version 7.3.275
Problem:    MS-Windows: When using a black background some screen updates
            cause the window to flicker.
Solution:   Add WS_CLIPCHILDREN to CreateWindow().  (René Aguirre)
2011-08-10 15:56:27 +02:00
Bram Moolenaar
8a20b0f25e updated for version 7.3.274
Problem:    With concealed characters tabs do not have the right size.
Solution:   Use VCOL_HLC instead of vcol. (Eiichi Sato)
2011-08-10 14:32:39 +02:00
Bram Moolenaar
836082d398 updated for version 7.3.273
Problem:    A BOM in an error file is seen as text. (Aleksey Baibarin)
Solution:   Remove the BOM from the text before evaluating. (idea by Christian
            Brabandt)
2011-08-10 13:21:46 +02:00
Bram Moolenaar
213b10a57e updated for version 7.3.272
Problem:    ":put =list" does not add an empty line for a trailing empty
            item.
Solution:   Add a trailing NL when turning a list into a string.
2011-08-10 12:38:08 +02:00
Bram Moolenaar
d0988c50f3 updated for version 7.3.271
Problem:    Code not following Vim coding style.
Solution:   Fix the style. (Elias Diem)
2011-08-10 12:19:04 +02:00
Bram Moolenaar
1cb7e0976d updated for version 7.3.270
Problem:    Illegal memory access.
Solution:   Swap conditions. (Dominique Pelle)
2011-08-10 12:11:01 +02:00
Bram Moolenaar
ea35ef6888 updated for version 7.3.269
Problem:    'shellcmdflag' only works with one flag.
Solution:   Split into multiple arguments. (Gary Johnson)
2011-08-04 22:59:28 +02:00
Bram Moolenaar
e70172e1fc updated for version 7.3.268
Problem:    Vim freezes when executing an external command with zsh.
Solution:   Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
2011-08-04 19:36:52 +02:00
Bram Moolenaar
3f5f795f76 updated for version 7.3.267
Problem:    Ruby on Mac OS X 10.7 may crash.
Solution:   Avoid alloc(0). (Bjorn Winckler)
2011-08-04 19:34:59 +02:00
Bram Moolenaar
673214bb7d updated for version 7.3.266
Problem:    In Gvim with iBus typing space in Insert mode doesn't work.
Solution:   Clear xim_expected_char after checking it.
2011-07-27 18:25:44 +02:00
Bram Moolenaar
4c40223649 updated for version 7.3.265
Problem:    When storing a pattern in search history there is no proper check
            for the separator character.
Solution:   Pass the separator character to in_history(). (Muraoka Taro)
2011-07-27 17:58:46 +02:00
Bram Moolenaar
0b573a58e6 updated for version 7.3.264
Problem:    When the current directory name contains wildcard characters, such
            as "foo[with]bar", the tags file can't be found.  (Jeremy
            Erickson)
Solution:   When searching for matching files also match without expanding
            wildcards.  This is a bit of a hack.
2011-07-27 17:31:47 +02:00
Bram Moolenaar
a171162356 updated for version 7.3.263
Problem:    Perl and Tcl have a few code style problems.
Solution:   Clean it up.  (Elias Diem)
2011-07-27 14:15:46 +02:00
Bram Moolenaar
d2221131cf updated for version 7.3.262
Problem:    Photon code style doesn't match Vim style.
Solution:   Clean up some of it.  (Elias Diem)
2011-07-27 14:09:09 +02:00
Bram Moolenaar
d0c7ba57b1 updated for version 7.3.261
Problem:    G++ error message errornously recognized as error.
Solution:   Ignore "In file included from" line also when it ends in a colon.
            (Fernando Castillo)
2011-07-27 13:59:21 +02:00
Bram Moolenaar
0533443638 updated for version 7.3.260
Problem:    CursorHold triggers on an incomplete mapping. (Will Gray)
Solution:   Don't trigger CursorHold when there is typeahead.
2011-07-20 18:29:39 +02:00
Bram Moolenaar
522f9aebff updated for version 7.3.259
Problem:    Equivalence classes only work for latin characters.
Solution:   Add the Unicode equivalence characters. (Dominique Pelle)
2011-07-20 17:58:20 +02:00
Bram Moolenaar
ce35c88ade updated for version 7.3.258
Problem:    MS-Windows: The edit with existing vim context menu entries can be
            unwanted.
Solution:   Let a registry entry disable them. (Jerome Vuarand)
2011-07-20 17:27:25 +02:00
Bram Moolenaar
e9edd7fbdd updated for version 7.3.257
Problem:    Not all completions are available to user commands.
Solution:   Add "color", "compiler", "file_in_path" and "locale". (Dominique
            Pelle)
2011-07-20 16:37:24 +02:00
Bram Moolenaar
76f7fd3df3 updated for version 7.3.256
Problem:    Javascript indenting not sufficiently tested.
Solution:   Add more tests. (Luc Deschenaux)  Mark the lines that are indented
            wrong.
2011-07-20 15:09:43 +02:00
Bram Moolenaar
b560983d2f updated for version 7.3.255
Problem:    When editing a file such as "File[2010-08-15].vim" an E16 error is
            given. (Manuel Stol)
Solution:   Don't give an error for failing to compile the regexp.
2011-07-20 15:04:58 +02:00
Bram Moolenaar
9729301aa0 Updated runtime files.
Add missing test82 files.
2011-07-18 19:40:27 +02:00
Bram Moolenaar
0acc5618f6 updated for version 7.3.254
Problem:    The coladd field is not reset when setting the line number for a
            ":call" command.
Solution:   Reset it.
2011-07-15 21:24:11 +02:00
Bram Moolenaar
35ee452de0 updated for version 7.3.253
Problem:    "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
            Checks in mb_strnicmp() for illegal and truncated bytes are
            wrong.  Should not assume that byte length is equal before case
            folding.
Solution:   Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
            this. (Ivan Krasilnikov)
2011-07-15 21:16:59 +02:00
Bram Moolenaar
01b2a23b95 updated for version 7.3.252
Problem:    Tests fail. (David Northfield)
Solution:   Add missing update for .ok file.
2011-07-15 17:56:16 +02:00
Bram Moolenaar
44286ca3c4 updated for version 7.3.251
Problem:    "gH<Del>" deletes the current line, except when it's the last
            line.
Solution:   Set the "include" flag to indicate the last line is to be deleted.
2011-07-15 17:51:34 +02:00
Bram Moolenaar
3d64a3176c updated for version 7.3.250
Problem:    Python: Errors in Unicode characters not handled nicely.
Solution:   Add the surrogateescape error handler. (lilydjwg)
2011-07-15 15:54:44 +02:00
Bram Moolenaar
50f42cadb1 updated for version 7.3.249
Problem:    Wrong indenting for array initializer.
Solution:   Detect '}' in a better way. (Lech Lorens)
2011-07-15 14:12:30 +02:00
Bram Moolenaar
734d99804b updated for version 7.3.248
Problem:    PC Install instructions missing install instructions.
Solution:   Step-by-step explanation. (Michael Soyka)
2011-07-15 13:52:04 +02:00
Bram Moolenaar
37a02ca1c2 updated for version 7.3.247
Problem:    Running tests changes the users viminfo file.  Test for patch
            7.3.245 missing.
Solution:   Add "nviminfo" to the 'viminfo' option.  Include the test.
2011-07-15 13:33:21 +02:00
Bram Moolenaar
19fd09a78f updated for version 7.3.246
Problem:    Repeating "f4" in "4444" skips one 4.
Solution:   Check the t_cmd flag. (Christian Brabandt)
2011-07-15 13:21:30 +02:00
Bram Moolenaar
54ee2b8741 updated for version 7.3.245
Problem:    Python 3.2 libraries not correctly detected.
Solution:   Add the suffix to the library name. (Niclas Zeising)
2011-07-15 13:09:51 +02:00
Bram Moolenaar
4da95d377f updated for version 7.3.244
Problem:    MS-Windows: Build problem with old compiler. (John Beckett)
Solution:   Only use HandleToLong() when available. (Mike Williams)
2011-07-07 17:43:41 +02:00
Bram Moolenaar
f56a6de10b updated for version 7.3.243
Problem:    Illegal memory access in readline().
Solution:   Swap the conditions. (Dominique Pelle)
2011-07-07 17:36:56 +02:00
Bram Moolenaar
b5ce04dd28 updated for version 7.3.242
Problem:    Illegal memory access in after_pathsep().
Solution:   Check that the pointer is not at the start of the file name.
            (Dominique Pelle)
2011-07-07 17:15:33 +02:00
Bram Moolenaar
80ae7b2287 updated for version 7.3.241
Problem:    Using CTRL-R CTRL-W on the command line may insert only part of
            the word.
Solution:   Use the cursor position instead of assuming it is at the end of
            the command. (Tyru)
2011-07-07 16:44:37 +02:00
Bram Moolenaar
4b9669f1dc updated for version 7.3.240
Problem:    External commands can't use pipes on MS-Windows.
Solution:   Implement pipes and use them when 'shelltemp' isn't set. (Vincent
            Berthoux)
2011-07-07 16:20:52 +02:00
Bram Moolenaar
03a807aaf4 updated for version 7.3.239
Problem:    Python corrects the cursor column without taking 'virtualedit'
            into account. (lilydjwg)
Solution:   Call check_cursor_col_win().
2011-07-07 15:08:58 +02:00
Bram Moolenaar
5cfe2d760d updated for version 7.3.238
Problem:    Compiler warning for conversion.
Solution:   Add type cast. (Mike Williams)
2011-07-07 15:04:52 +02:00
Bram Moolenaar
0c7437a5d2 updated for version 7.3.237
Problem:    "filetype" completion doesn't work on Windows. (Yue Wu)
Solution:   Don't use a glob pattern for the directories, use a list of
            directories. (Dominique Pelle)
2011-06-26 19:40:23 +02:00
Bram Moolenaar
0baa7f1cd0 updated for version 7.3.236
Problem:    Python 3 doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
2011-06-26 19:13:50 +02:00
Bram Moolenaar
8b3e0330ba updated for version 7.3.235
Problem:    ";" gets stuck on a "t" command, it's not useful.
Solution:   Add the ';' flag in 'cpo'. (Christian Brabandt)
2011-06-26 05:36:34 +02:00
Bram Moolenaar
20892c1e68 updated for version 7.3.234
Problem:    With GTK menu may be popping down.
Solution:   Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
2011-06-26 04:49:00 +02:00
Bram Moolenaar
d58ea07227 updated for version 7.3.233
Problem:    ":scriptnames" and ":breaklist" show long file names.
Solution:   Shorten to use "~/" when possible. (Jean-Rene David)
2011-06-26 04:25:30 +02:00
868 changed files with 102450 additions and 23992 deletions

8
.gitignore vendored
View File

@@ -30,22 +30,30 @@ src/auto/pathdef.c
*.suo
*.res
*.RES
src/if_perl.c
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
# Mac OSX
src/xxd/xxd.dSYM
# All platforms
*.rej
*.orig
*.mo
*.swp
*~
*.pyc
src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test.log

View File

@@ -57,6 +57,7 @@ SRC_ALL = \
src/popupmnu.c \
src/quickfix.c \
src/regexp.c \
src/regexp_nfa.c \
src/regexp.h \
src/screen.c \
src/search.c \
@@ -73,6 +74,7 @@ SRC_ALL = \
src/version.c \
src/version.h \
src/vim.h \
src/winclip.c \
src/window.c \
src/xxd/xxd.c \
src/main.aap \
@@ -81,6 +83,16 @@ SRC_ALL = \
src/testdir/test[0-9]*.ok \
src/testdir/test49.vim \
src/testdir/test60.vim \
src/testdir/test83-tags? \
src/testdir/python2/*.py \
src/testdir/python3/*.py \
src/testdir/pythonx/*.py \
src/testdir/pythonx/topmodule/__init__.py \
src/testdir/pythonx/topmodule/submodule/__init__.py \
src/testdir/pythonx/topmodule/submodule/subsubmodule/__init__.py \
src/testdir/pythonx/topmodule/submodule/subsubmodule/subsubsubmodule.py \
src/testdir/python_after/*.py \
src/testdir/python_before/*.py \
src/proto.h \
src/proto/blowfish.pro \
src/proto/buffer.pro \
@@ -129,6 +141,7 @@ SRC_ALL = \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/version.pro \
src/proto/winclip.pro \
src/proto/window.pro \
@@ -260,6 +273,7 @@ SRC_DOS = \
src/Make_mvc.mak \
src/Make_w16.mak \
src/bigvim.bat \
src/bigvim64.bat \
src/msvcsetup.bat \
src/msvc2008.bat \
src/msvc2010.bat \
@@ -313,6 +327,7 @@ SRC_DOS = \
src/xxd/Make_bc5.mak \
src/xxd/Make_cyg.mak \
src/xxd/Make_djg.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
nsis/README.txt \
@@ -347,6 +362,13 @@ SRC_DOS_BIN = \
src/vim*.ico \
src/vim.tlb \
src/vimtbar.lib \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/include/*.h \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/vimtbar.dll \
nsis/icons/*.bmp \
nsis/icons/*.ico \
@@ -434,6 +456,7 @@ SRC_EXTRA = \
src/os_beos.c \
src/os_beos.h \
src/os_beos.rsrc \
src/proto/os_beos.pro \
src/os_mint.h \
src/os_vms_fix.com \
src/toolbar.phi \
@@ -461,6 +484,7 @@ RT_ALL = \
runtime/macros/hanoi/hanoi.vim \
runtime/macros/hanoi/poster \
runtime/macros/justify.vim \
runtime/macros/less.bat \
runtime/macros/less.sh \
runtime/macros/less.vim \
runtime/macros/life/click.me \
@@ -664,6 +688,8 @@ EXTRA = \
# generic language files
LANG_GEN = \
runtime/doc/*-de.1 \
runtime/doc/*-de.UTF-8.1 \
runtime/doc/*-fr.1 \
runtime/doc/*-fr.UTF-8.1 \
runtime/doc/*-it.1 \
@@ -680,9 +706,17 @@ LANG_GEN = \
runtime/tutor/Makefile \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.* \
runtime/tutor/tutor.??.utf-8 \
runtime/tutor/tutor.??.euc \
runtime/tutor/tutor.??.sjis \
runtime/tutor/tutor.??.iso9 \
runtime/tutor/tutor.??.big5 \
runtime/tutor/tutor.??.cp1250 \
runtime/tutor/tutor.??.cp1251 \
runtime/tutor/tutor.??.cp737 \
runtime/tutor/tutor.??_??.utf-8 \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.* \
runtime/tutor/tutor.bar.utf-8 \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \

View File

@@ -97,10 +97,12 @@ The latest news about Vim can be found on the Vim home page:
If you have problems, have a look at the Vim FAQ:
http://vimdoc.sf.net/vimfaq.html
Send bug reports to:
Bram Moolenaar <Bram@vim.org>
If you still have problems or any other questions, use one of the mailing
lists to discuss them with Vim users and developers:
http://www.vim.org/maillist.php
There are several mailing lists for Vim, see http://www.vim.org/maillist.php.
If nothing else works, report bugs directly:
Bram Moolenaar <Bram@vim.org>
MAIN AUTHOR

View File

@@ -29,6 +29,8 @@
if version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
" Section: Constants {{{1
"
@@ -619,6 +621,9 @@ lockvar g:ada#Comment
lockvar! g:ada#Keywords
lockvar! g:ada#Ctags_Kinds
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -1,8 +1,10 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Mar 23
" Last Change: 2012 Jun 20
let s:cpo_save = &cpo
set cpo&vim
" This function is used for the 'omnifunc' option.
function! ccomplete#Complete(findstart, base)
@@ -498,7 +500,7 @@ function! s:StructMembers(typename, items, all)
endif
if !cached
while 1
exe 'silent! ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
exe 'silent! keepj noautocmd ' . n . 'vimgrep /\t' . typename . '\(\t\|$\)/j ' . fnames
let qflist = getqflist()
if len(qflist) > 0 || match(typename, "::") < 0
@@ -603,3 +605,6 @@ function! s:SearchMembers(matches, items, all)
endfor
return res
endfunc
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
" Date: May 31, 2011
" Version: 33
" Author: Charles E. Campbell
" Date: Apr 17, 2013
" Version: 35
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v33"
let g:loaded_getscript= "v35"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@@ -74,6 +74,11 @@ if !exists("g:GetLatestVimScripts_allowautoinstall")
let g:GetLatestVimScripts_allowautoinstall= 1
endif
" set up default scriptaddr address
if !exists("g:GetLatestVimScripts_scriptaddr")
let g:GetLatestVimScripts_scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='
endif
"" For debugging:
"let g:GetLatestVimScripts_wget = "echo"
"let g:GetLatestVimScripts_options = "options"
@@ -314,7 +319,7 @@ fun! getscript#GetLatestVimScripts()
if &mod
silent! w!
endif
q
q!
" restore events and current directory
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
@@ -415,7 +420,7 @@ fun! s:GetOneScript(...)
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
" grab a copy of the plugin's vim.sourceforge.net webpage
let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
let scriptaddr = g:GetLatestVimScripts_scriptaddr.scriptid
let tmpfile = tempname()
let v:errmsg = ""
@@ -550,30 +555,42 @@ fun! s:GetOneScript(...)
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".shellescape(sname)
exe "sil !bunzip2 ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".shellescape(sname)
exe "sil !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
elseif sname =~ '\.xz$'
" call Decho("decompress: attempt to unxz ".sname)
exe "silent !unxz ".shellescape(sname)
exe "sil !unxz ".shellescape(sname)
let sname= substitute(sname,'\.xz$','','')
" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
" distribute archive(.zip, .tar, .vba) contents
" distribute archive(.zip, .tar, .vba, ...) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".shellescape(sname)
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".shellescape(sname)
elseif sname =~ '\.tgz$'
" call Decho("dearchive: attempt to untar+gunzip ".sname)
exe "silent !tar -zxvf ".shellescape(sname)
elseif sname =~ '\.taz$'
" call Decho("dearchive: attempt to untar+uncompress ".sname)
exe "silent !tar -Zxvf ".shellescape(sname)
elseif sname =~ '\.tbz$'
" call Decho("dearchive: attempt to untar+bunzip2 ".sname)
exe "silent !tar -jxvf ".shellescape(sname)
elseif sname =~ '\.txz$'
" call Decho("dearchive: attempt to untar+xz ".sname)
exe "silent !tar -Jxvf ".shellescape(sname)
elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: Sep 30, 2008
" Version: 10
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Author: Charles E. Campbell
" Date: May 03, 2013
" Version: 11b ASTRO-ONLY
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -20,7 +20,7 @@
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v10"
let g:loaded_netrwFileHandlers= "v11b"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
@@ -34,10 +34,10 @@ set cpo&vim
" netrwFileHandlers#Invoke: {{{1
fun! netrwFileHandlers#Invoke(exten,fname)
" call Dfunc("netrwFileHandlers#Invoke(exten<".a:exten."> fname<".a:fname.">)")
let fname= a:fname
let exten= a:exten
" list of supported special characters. Consider rcs,v --- that can be
" supported with a NFH_rcsCOMMAv() handler
if a:fname =~ '[@:,$!=\-+%?;~]'
if exten =~ '[@:,$!=\-+%?;~]'
let specials= {
\ '@' : 'AT',
\ ':' : 'COLON',
@@ -51,20 +51,20 @@ fun! netrwFileHandlers#Invoke(exten,fname)
\ '?' : 'QUESTION',
\ ';' : 'SEMICOLON',
\ '~' : 'TILDE'}
let fname= substitute(a:fname,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
let exten= substitute(a:exten,'[@:,$!=\-+%?;~]','\=specials[submatch(0)]','ge')
" call Decho('fname<'.fname.'> done with dictionary')
endif
if a:exten != "" && exists("*NFH_".a:exten)
if a:exten != "" && exists("*NFH_".exten)
" support user NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= NFH_".a:exten.'("'.fname.'")'
elseif a:exten != "" && exists("*s:NFH_".a:exten)
exe "let ret= NFH_".exten.'("'.a:fname.'")'
elseif a:exten != "" && exists("*s:NFH_".exten)
" use builtin-NFH_*() functions
" call Decho("let ret= netrwFileHandlers#NFH_".a:exten.'("'.fname.'")')
exe "let ret= s:NFH_".a:exten.'("'.fname.'")'
exe "let ret= s:NFH_".a:exten.'("'.a:fname.'")'
endif
" call Dret("netrwFileHandlers#Invoke 0 : ret=".ret)
return 0
endfun
@@ -356,6 +356,7 @@ fun! s:NFH_obj(obj)
endfun
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@@ -1,8 +1,8 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Date: May 03, 2013
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 14a ASTRO-ONLY
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v13"
let g:loaded_netrwSettings = "v14a"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@@ -63,7 +63,7 @@ fun! netrwSettings#NetrwSettings()
endif
put ='+ ---------------------------------------------'
put ='+ NetrwSettings: by Charles E. Campbell, Jr.'
put ='+ NetrwSettings: by Charles E. Campbell'
put ='+ Press <F1> with cursor atop any line for help'
put ='+ ---------------------------------------------'
let s:netrw_settings_stop= line(".")
@@ -88,6 +88,7 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
@@ -99,51 +100,81 @@ fun! netrwSettings#NetrwSettings()
put ='+ Netrw Browser Control'
put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_banner = '.g:netrw_banner
if exists("g:netrw_bannerbackslash")
put = 'let g:netrw_bannerbackslash = '.g:netrw_bannerbackslash
else
put = '\" let g:netrw_bannerbackslash = (not defined)'
endif
put = 'let g:netrw_browse_split = '.g:netrw_browse_split
if exists("g:netrw_browsex_viewer")
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
put = 'let g:netrw_browsex_viewer = '.g:netrw_browsex_viewer
else
put = 'let g:netrw_browsex_viewer = (not defined)'
put = '\" let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
put = 'let g:netrw_cursorline = '.g:netrw_cursorline
if exists("g:Netrw_corehandler")
put = 'let g:Netrw_corehandler = '.g:Netrw_corehandler
else
put = '\" let g:Netrw_corehandler = (not defined)'
endif
put = 'let g:netrw_ctags = '.g:netrw_ctags
put = 'let g:netrw_cursor = '.g:netrw_cursor
let decompressline= line("$")
put ='let g:netrw_decompress...'
put = 'let g:netrw_decompress = '.string(g:netrw_decompress)
if exists("g:netrw_dynamic_maxfilenamelen")
put = 'let g:netrw_dynamic_maxfilenamelen='.g:netrw_dynamic_maxfilenamelen
else
put = '\" let g:netrw_dynamic_maxfilenamelen= (not defined)'
endif
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_errorlvl = '.g:netrw_errorlvl
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
let fnameescline= line("$")
put = 'let g:netrw_fname_escape...'
put = 'let g:netrw_fname_escape = '.string(g:netrw_fname_escape)
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
let globescline= line("$")
put ='let g:netrw_glob_escape...'
put = 'let g:netrw_glob_escape = '.string(g:netrw_glob_escape)
put = 'let g:netrw_hide = '.g:netrw_hide
if exists("g:netrw_home")
put = 'let g:netrw_home = '.g:netrw_home
else
put = '\" let g:netrw_home = (not defined)'
endif
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
put = 'let g:netrw_localmkdir = '.g:netrw_localmkdir
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
if exists("g:netrw_nobeval")
put = 'let g:netrw_nobeval = '.g:netrw_nobeval
else
put = '\" let g:netrw_nobeval = (not defined)'
endif
put = 'let g:netrw_remote_mkdir = '.g:netrw_remote_mkdir
put = 'let g:netrw_preview = '.g:netrw_preview
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_retmap = '.g:netrw_retmap
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_ssh_cmd = '.g:netrw_ssh_cmd
put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: PHP
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 May 9
" Last Change: 2011 Dec 08
"
" TODO:
" - Class aware completion:
@@ -650,6 +650,7 @@ function! phpcomplete#GetClassContents(file, name) " {{{
" this is the most efficient way. The other way
" is to go through the looong string looking for
" matching {}
let original_window = winnr()
below 1new
0put =cfile
call search('class\s\+'.a:name)
@@ -667,6 +668,9 @@ function! phpcomplete#GetClassContents(file, name) " {{{
let classcontent = join(classc, "\n")
bw! %
" go back to where we started
exe original_window.'wincmd w'
if extends_class != ''
let classlocation = phpcomplete#GetClassLocation(extends_class)
if filereadable(classlocation)

View File

@@ -1,9 +1,7 @@
" Vim completion script
" Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info>
" Last Change: 2009 Sep 28
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Maintainer Version: 0.8.1
" ----------------------------------------------------------------------------
@@ -12,16 +10,23 @@
" ----------------------------------------------------------------------------
" {{{ requirement checks
function! s:ErrMsg(msg)
echohl ErrorMsg
echo a:msg
echohl None
endfunction
if !has('ruby')
s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
s:ErrMsg( "Error: falling back to syntax completion" )
call s:ErrMsg( "Error: Rubycomplete requires vim compiled with +ruby" )
call s:ErrMsg( "Error: falling back to syntax completion" )
" lets fall back to syntax completion
setlocal omnifunc=syntaxcomplete#Complete
finish
endif
if version < 700
s:ErrMsg( "Error: Required vim >= 7.0" )
call s:ErrMsg( "Error: Required vim >= 7.0" )
finish
endif
" }}} requirement checks
@@ -51,12 +56,6 @@ endif
" {{{ vim-side support functions
let s:rubycomplete_debug = 0
function! s:ErrMsg(msg)
echohl ErrorMsg
echo a:msg
echohl None
endfunction
function! s:dprint(msg)
if s:rubycomplete_debug == 1
echom a:msg
@@ -133,7 +132,7 @@ function! s:GetRubyVarType(v)
let stopline = 1
let vtp = ''
let pos = getpos('.')
let sstr = '^\s*#\s*@var\s*'.a:v.'\>\s\+[^ \t]\+\s*$'
let sstr = '^\s*#\s*@var\s*'.escape(a:v, '*').'\>\s\+[^ \t]\+\s*$'
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
if lnum != 0 && lcol != 0
call setpos('.',pos)
@@ -275,7 +274,7 @@ class VimRubyCompletion
pare = /^\s*class\s*(.*)\s*<\s*(.*)\s*\n/.match( classdef )
load_buffer_class( $2 ) if pare != nil && $2 != name # load parent class if needed
mixre = /.*\n\s*include\s*(.*)\s*\n/.match( classdef )
mixre = /.*\n\s*(include|prepend)\s*(.*)\s*\n/.match( classdef )
load_buffer_module( $2 ) if mixre != nil && $2 != name # load mixins if needed
begin
@@ -364,6 +363,10 @@ class VimRubyCompletion
print txt if @@debug
end
def escape_vim_singlequote_string(str)
str.to_s.gsub(/'/,"\\'")
end
def get_buffer_entity_list( type )
# this will be a little expensive.
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
@@ -526,9 +529,9 @@ class VimRubyCompletion
end
def clean_sel(sel, msg)
sel.delete_if { |x| x == nil }
sel.uniq!
sel.grep(/^#{Regexp.quote(msg)}/) if msg != nil
ret = sel.reject{|x|x.nil?}.uniq
ret = ret.grep(/^#{Regexp.quote(msg)}/) if msg != nil
ret
end
def get_rails_view_methods
@@ -767,10 +770,10 @@ class VimRubyCompletion
constants = clean_sel( constants, message )
valid = []
valid += methods.collect { |m| { :name => m, :type => 'm' } }
valid += variables.collect { |v| { :name => v, :type => 'v' } }
valid += classes.collect { |c| { :name => c, :type => 't' } }
valid += constants.collect { |d| { :name => d, :type => 'd' } }
valid += methods.collect { |m| { :name => m.to_s, :type => 'm' } }
valid += variables.collect { |v| { :name => v.to_s, :type => 'v' } }
valid += classes.collect { |c| { :name => c.to_s, :type => 't' } }
valid += constants.collect { |d| { :name => d.to_s, :type => 'd' } }
valid.sort! { |x,y| x[:name] <=> y[:name] }
outp = ""
@@ -779,7 +782,7 @@ class VimRubyCompletion
rg.step(150) do |x|
stpos = 0+x
enpos = 150+x
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ] }
valid[stpos..enpos].each { |c| outp += "{'word':'%s','item':'%s','kind':'%s'}," % [ c[:name], c[:name], c[:type] ].map{|x|escape_vim_singlequote_string(x)} }
outp.sub!(/,$/, '')
VIM::command("call extend(g:rubycomplete_completions, [%s])" % outp)

View File

@@ -1,6 +1,6 @@
" Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Nov 29
" Last Change: 2012 Jan 08
if !exists('g:spellfile_URL')
" Prefer using http:// when netrw should be able to use it, since
@@ -70,7 +70,7 @@ function! spellfile#LoadFile(lang)
" Remember the buffer number, we check it below.
new
let newbufnr = winbufnr(0)
setlocal bin
setlocal bin fenc=
echo 'Downloading ' . fname . '...'
call spellfile#Nread(fname)
if getline(2) !~ 'VIMspell'
@@ -83,7 +83,7 @@ function! spellfile#LoadFile(lang)
" Our buffer has vanished!? Open a new window.
echomsg "download buffer disappeared, opening a new one"
new
setlocal bin
setlocal bin fenc=
else
exe winnr . "wincmd w"
endif
@@ -120,6 +120,7 @@ function! spellfile#LoadFile(lang)
else
let dirname = escape(dirlist[dirchoice], ' ')
endif
setlocal fenc=
exe "write " . dirname . '/' . fname
" Also download the .sug file, if the user wants to.

View File

@@ -1,16 +1,63 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 10.0
" Last Change: 2010 Jun 11
" Version: 15.0
" Last Change: 2013 May 13
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" History
"
" TODO
" - Jonas Enberg - if no table is found when using column completion
" look backwards to a FROM clause and find the first table
" and complete it.
"
" Version 15.0 (May 2013)
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
" to use regular expressions to pick up extended syntax group names.
" This requires an updated SyntaxComplete plugin version 13.0.
" If the required versions have not been installed, previous
" behaviour will not be impacted.
"
" Version 14.0 (Dec 2012)
" - BF: Added check for cpo
"
" Version 13.0 (Dec 2012)
" - NF: When completing column lists or drilling into a table
" and g:omni_sql_include_owner is enabled, the
" only the table name would be replaced with the column
" list instead of the table name and owner (if specified).
" - NF: When completing column lists using table aliases
" and g:omni_sql_include_owner is enabled, account
" for the owner name when looking up the table
" list instead of the table name and owner (if specified).
" - BF: When completing column lists or drilling into a table
" and g:omni_sql_include_owner is enabled, the
" column list could often not be found for the table.
" - BF: When OMNI popped up, possibly the wrong word
" would be replaced for column and column list options.
"
" Version 12.0 (Feb 2012)
" - Partial column name completion did not work when a table
" name or table alias was provided (Jonas Enberg).
" - Improved the handling of column completion. First we match any
" columns from a previous completion. If not matches are found, we
" consider the partial name to be a table or table alias for the
" query and attempt to match on it.
"
" Version 11.0 (Jan 2012)
" Added g:omni_sql_default_compl_type variable
" - You can specify which type of completion to default to
" when pressing <C-X><C-O>. The entire list of available
" choices can be found in the calls to sqlcomplete#Map in:
" ftplugin/sql.vim
"
" Version 10.0
" Updated PreCacheSyntax()
" Updated PreCacheSyntax()
" - Now returns a List of the syntax items it finds.
" This allows other plugins / scripts to use this list for their own
" purposes. In this case XPTemplate can use them for a Choose list.
@@ -18,33 +65,33 @@
" warning if not.
" - Verifies the parameters are the correct type and displays a
" warning if not.
" Updated SQLCWarningMsg()
" Updated SQLCWarningMsg()
" - Prepends warning message with SQLComplete so you know who issued
" the warning.
" Updated SQLCErrorMsg()
" Updated SQLCErrorMsg()
" - Prepends error message with SQLComplete so you know who issued
" the error.
"
" Version 9.0
"
" Version 9.0 (May 2010)
" This change removes some of the support for tables with spaces in their
" names in order to simplify the regexes used to pull out query table
" names in order to simplify the regexes used to pull out query table
" aliases for more robust table name and column name code completion.
" Full support for "table names with spaces" can be added in again
" after 7.3.
"
" Version 8.0
" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left
" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left
" when drilling in and out of a column list for a table.
"
" Version 7.0
" Version 7.0 (Jan 2010)
" Better handling of object names
"
" Version 6.0
" Version 6.0 (Apr 2008)
" Supports object names with spaces "my table name"
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
" sourced directly instead of using the autoload feature.
if exists('&omnifunc')
" Do not set the option if already set since this
" results in an E117 warning.
@@ -54,9 +101,11 @@ if exists('&omnifunc')
endif
if exists('g:loaded_sql_completion')
finish
finish
endif
let g:loaded_sql_completion = 100
let g:loaded_sql_completion = 150
let s:keepcpo= &cpo
set cpo&vim
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -69,17 +118,19 @@ let s:tbl_alias = []
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
" Used in conjunction with the syntaxcomplete plugin
let s:save_inc = ""
let s:save_exc = ""
if exists('g:omni_syntax_group_include_sql')
let s:save_inc = g:omni_syntax_group_include_sql
if !exists('g:omni_syntax_group_include_sql')
let g:omni_syntax_group_include_sql = ''
endif
if exists('g:omni_syntax_group_exclude_sql')
let s:save_exc = g:omni_syntax_group_exclude_sql
if !exists('g:omni_syntax_group_exclude_sql')
let g:omni_syntax_group_exclude_sql = ''
endif
let s:save_inc = g:omni_syntax_group_include_sql
let s:save_exc = g:omni_syntax_group_exclude_sql
" Used with the column list
let s:save_prev_table = ""
@@ -90,12 +141,12 @@ endif
" Default syntax items to precache
if !exists('g:omni_sql_precache_syntax_groups')
let g:omni_sql_precache_syntax_groups = [
\ 'syntax',
\ 'sqlKeyword',
\ 'sqlFunction',
\ 'sqlOption',
\ 'sqlType',
\ 'sqlStatement'
\ 'syntax\w*',
\ 'sqlKeyword\w*',
\ 'sqlFunction\w*',
\ 'sqlOption\w*',
\ 'sqlType\w*',
\ 'sqlStatement\w*'
\ ]
endif
" Set ignorecase to the ftplugin standard
@@ -110,14 +161,25 @@ if !exists('g:omni_sql_include_owner')
if g:loaded_dbext >= 300
" New to dbext 3.00, by default the table lists include the owner
" name of the table. This is used when determining how much of
" whatever has been typed should be replaced as part of the
" whatever has been typed should be replaced as part of the
" code replacement.
let g:omni_sql_include_owner = 1
endif
endif
endif
" Default type of completion used when <C-X><C-O> is pressed
if !exists('g:omni_sql_default_compl_type')
let g:omni_sql_default_compl_type = 'table'
endif
" This function is used for the 'omnifunc' option.
" It is called twice by omni and it is responsible
" for returning the completion list of items.
" But it must also determine context of what to complete
" and what to "replace" with the completion.
" The a:base, is replaced directly with what the user
" chooses from the choices.
" The s:prepend provides context for the completion.
function! sqlcomplete#Complete(findstart, base)
" Default to table name completion
@@ -126,6 +188,7 @@ function! sqlcomplete#Complete(findstart, base)
if exists('b:sql_compl_type')
let compl_type = b:sql_compl_type
endif
let begindot = 0
" First pass through this function determines how much of the line should
" be replaced by whatever is chosen from the completion list
@@ -134,13 +197,12 @@ function! sqlcomplete#Complete(findstart, base)
let line = getline('.')
let start = col('.') - 1
let lastword = -1
let begindot = 0
" Check if the first character is a ".", for column completion
if line[start - 1] == '.'
let begindot = 1
endif
while start > 0
" Additional code was required to handle objects which
" Additional code was required to handle objects which
" can contain spaces like "my table name".
if line[start - 1] !~ '\(\w\|\.\)'
" If the previous character is not a period or word character
@@ -150,7 +212,7 @@ function! sqlcomplete#Complete(findstart, base)
elseif line[start - 1] =~ '\w'
" If the previous character is word character continue back
let start -= 1
elseif line[start - 1] =~ '\.' &&
elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure'
" If the previous character is a period and we are completing
" an object which can be specified with a period like this:
@@ -160,7 +222,10 @@ function! sqlcomplete#Complete(findstart, base)
" If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup
" a table name if it was also supplied.
if lastword != -1 && compl_type == 'column'
" Unless g:omni_sql_include_owner == 1, then we can
" include the ownername.
if lastword != -1 && compl_type == 'column'
\ && g:omni_sql_include_owner == 0
break
endif
" If column completion was specified stop at the "." if
@@ -171,8 +236,8 @@ function! sqlcomplete#Complete(findstart, base)
endif
" If omni_sql_include_owner = 0, do not include the table
" name as part of the substitution, so break here
if lastword == -1 &&
\ compl_type =~ 'table\|view\|procedure\column_csv' &&
if lastword == -1 &&
\ compl_type =~ '\<\(table\|view\|procedure\|column\|column_csv\)\>' &&
\ g:omni_sql_include_owner == 0
let lastword = start
break
@@ -202,7 +267,7 @@ function! sqlcomplete#Complete(findstart, base)
let compl_list = []
" Default to table name completion
let compl_type = 'table'
let compl_type = g:omni_sql_default_compl_type
" Allow maps to specify what type of object completion they want
if exists('b:sql_compl_type')
let compl_type = b:sql_compl_type
@@ -216,7 +281,7 @@ function! sqlcomplete#Complete(findstart, base)
if compl_type == 'table' ||
\ compl_type == 'procedure' ||
\ compl_type == 'view'
\ compl_type == 'view'
" This type of completion relies upon the dbext.vim plugin
if s:SQLCCheck4dbext() == -1
@@ -254,7 +319,7 @@ function! sqlcomplete#Complete(findstart, base)
if base == ""
" The last time we displayed a column list we stored
" the table name. If the user selects a column list
" the table name. If the user selects a column list
" without a table name of alias present, assume they want
" the previous column list displayed.
let base = s:save_prev_table
@@ -269,20 +334,26 @@ function! sqlcomplete#Complete(findstart, base)
let table = matchstr( base, '^\(.*\.\)\?\zs.*\ze\..*' )
let column = matchstr( base, '.*\.\zs.*' )
if g:omni_sql_include_owner == 1 && owner == '' && table != '' && column != ''
let owner = table
let table = column
let column = ''
endif
" It is pretty well impossible to determine if the user
" has entered:
" owner.table
" table.column_prefix
" So there are a couple of things we can do to mitigate
" So there are a couple of things we can do to mitigate
" this issue.
" 1. Check if the dbext plugin has the option turned
" on to even allow owners
" 2. Based on 1, if the user is showing a table list
" and the DrillIntoTable (using <Right>) then
" and the DrillIntoTable (using <Right>) then
" this will be owner.table. In this case, we can
" check to see the table.column exists in the
" check to see the table.column exists in the
" cached table list. If it does, then we have
" determined the user has actually chosen
" determined the user has actually chosen
" owner.table, not table.column_prefix.
let found = -1
if g:omni_sql_include_owner == 1 && owner == ''
@@ -297,17 +368,46 @@ function! sqlcomplete#Complete(findstart, base)
" If the user has indicated not to use table owners at all and
" the base ends in a '.' we know they are not providing a column
" name, so we can shift the items appropriately.
if found != -1 || (g:omni_sql_include_owner == 0 && base !~ '\.$')
let owner = table
let table = column
let column = ''
endif
" if found != -1 || (g:omni_sql_include_owner == 0 && base !~ '\.$')
" let owner = table
" let table = column
" let column = ''
" endif
else
" If no "." was provided and the user asked for
" column level completion, first attempt the match
" on any previous column lists. If the user asked
" for a list of columns comma separated, continue as usual.
if compl_type == 'column' && s:save_prev_table != ''
" The last time we displayed a column list we stored
" the table name. If the user selects a column list
" without a table name of alias present, assume they want
" the previous column list displayed.
let table = s:save_prev_table
let list_type = ''
let compl_list = s:SQLCGetColumns(table, list_type)
if ! empty(compl_list)
" If no column prefix has been provided and the table
" name was provided, append it to each of the items
" returned.
let compl_list = filter(deepcopy(compl_list), 'v:val=~"^'.base.'"' )
" If not empty, we have a match on columns
" return the list
if ! empty(compl_list)
return compl_list
endif
endif
endif
" Since no columns were found to match the base supplied
" assume the user is trying to complete the column list
" for a table (and or an alias to a table).
let table = base
endif
" Get anything after the . and consider this the table name
" If an owner has been specified, then we must consider the
" If an owner has been specified, then we must consider the
" base to be a partial column name
" let base = matchstr( base, '^\(.*\.\)\?\zs.*' )
@@ -322,16 +422,25 @@ function! sqlcomplete#Complete(findstart, base)
let list_type = 'csv'
endif
let compl_list = s:SQLCGetColumns(table, list_type)
" If we are including the OWNER for the objects, then for
" table completion, if we have it, it should be included
" as there can be the same table names in a database yet
" with different owner names.
if g:omni_sql_include_owner == 1 && owner != '' && table != ''
let compl_list = s:SQLCGetColumns(owner.'.'.table, list_type)
else
let compl_list = s:SQLCGetColumns(table, list_type)
endif
if column != ''
" If no column prefix has been provided and the table
" name was provided, append it to each of the items
" returned.
let compl_list = map(compl_list, "table.'.'.v:val")
let compl_list = map(compl_list, 'table.".".v:val')
if owner != ''
" If an owner has been provided append it to each of the
" items returned.
let compl_list = map(compl_list, "owner.'.'.v:val")
let compl_list = map(compl_list, 'owner.".".v:val')
endif
else
let base = ''
@@ -345,11 +454,14 @@ function! sqlcomplete#Complete(findstart, base)
endif
elseif compl_type == 'resetCache'
" Reset all cached items
let s:tbl_name = []
let s:tbl_alias = []
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
let s:tbl_name = []
let s:tbl_alias = []
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
let s:sql_file_table = ""
let s:sql_file_procedure = ""
let s:sql_file_view = ""
let msg = "All SQL cached items have been removed."
call s:SQLCWarningMsg(msg)
@@ -361,22 +473,41 @@ function! sqlcomplete#Complete(findstart, base)
if base != ''
" Filter the list based on the first few characters the user entered.
" Check if the text matches at the beginning
" or
" Check if the text matches at the beginning
" \\(^.base.'\\)
" or
" Match to a owner.table or alias.column type match
" ^\\(\\w\\+\\.\\)\\?'.base.'\\)
" or
" Handle names with spaces "my table name"
" "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
"
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr)
if empty(compl_list) && compl_type == 'table' && base =~ '\.$'
" It is possible we could be looking for column name completion
" and the user simply hit C-X C-O to lets try it as well
" since we had no hits with the tables.
" If the base ends with a . it is hard to know if we are
" completing table names or column names.
let list_type = ''
let compl_list = s:SQLCGetColumns(base, list_type)
endif
endif
if exists('b:sql_compl_savefunc') && b:sql_compl_savefunc != ""
let &omnifunc = b:sql_compl_savefunc
endif
if empty(compl_list)
call s:SQLCWarningMsg( 'Could not find type['.compl_type.'] using prepend[.'.s:prepended.'] base['.a:base.']' )
endif
return compl_list
endfunc
@@ -384,7 +515,7 @@ function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = []
let syn_items = []
if a:0 > 0
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
@@ -407,7 +538,7 @@ endfunction
function! sqlcomplete#ResetCacheSyntax(...)
let syn_group_arr = []
if a:0 > 0
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
@@ -458,7 +589,7 @@ function! sqlcomplete#DrillIntoTable()
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" or feedkeys will simply push each character of the string
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
endif
@@ -475,7 +606,7 @@ function! sqlcomplete#DrillOutOfColumns()
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" or feedkeys will simply push each character of the string
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
endif
@@ -484,16 +615,16 @@ endfunction
function! s:SQLCWarningMsg(msg)
echohl WarningMsg
echomsg 'SQLComplete:'.a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
function! s:SQLCErrorMsg(msg)
echohl ErrorMsg
echomsg 'SQLComplete:'.a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
function! s:SQLCGetSyntaxList(syn_group)
let syn_group = a:syn_group
let compl_list = []
@@ -504,19 +635,23 @@ function! s:SQLCGetSyntaxList(syn_group)
" Return previously cached value
let compl_list = s:syn_value[list_idx]
else
" Request the syntax list items from the
let s:save_inc = g:omni_syntax_group_include_sql
let s:save_exc = g:omni_syntax_group_exclude_sql
let g:omni_syntax_group_include_sql = ''
let g:omni_syntax_group_exclude_sql = ''
" Request the syntax list items from the
" syntax completion plugin
if syn_group == 'syntax'
" Handle this special case. This allows the user
" to indicate they want all the syntax items available,
" so do not specify a specific include list.
let g:omni_syntax_group_include_sql = ''
let syn_value = syntaxcomplete#OmniSyntaxList()
else
" The user has specified a specific syntax group
let g:omni_syntax_group_include_sql = syn_group
let syn_value = syntaxcomplete#OmniSyntaxList(syn_group)
endif
let g:omni_syntax_group_exclude_sql = ''
let syn_value = syntaxcomplete#OmniSyntaxList()
let g:omni_syntax_group_include_sql = s:save_inc
let g:omni_syntax_group_exclude_sql = s:save_exc
" Cache these values for later use
@@ -552,7 +687,7 @@ function! s:SQLCAddAlias(table_name, table_alias, cols)
let table_alias = a:table_alias
let cols = a:cols
if g:omni_sql_use_tbl_alias != 'n'
if g:omni_sql_use_tbl_alias != 'n'
if table_alias == ''
if 'da' =~? g:omni_sql_use_tbl_alias
if table_name =~ '_'
@@ -562,13 +697,13 @@ function! s:SQLCAddAlias(table_name, table_alias, cols)
setlocal iskeyword-=_
" Get the first letter of each word
" [[:alpha:]] is used instead of \w
" [[:alpha:]] is used instead of \w
" to catch extended accented characters
"
let table_alias = substitute(
\ table_name,
\ '\<[[:alpha:]]\+\>_\?',
\ '\=strpart(submatch(0), 0, 1)',
let table_alias = substitute(
\ table_name,
\ '\<[[:alpha:]]\+\>_\?',
\ '\=strpart(submatch(0), 0, 1)',
\ 'g'
\ )
" Restore original value
@@ -596,7 +731,7 @@ function! s:SQLCAddAlias(table_name, table_alias, cols)
return cols
endfunction
function! s:SQLCGetObjectOwner(object)
function! s:SQLCGetObjectOwner(object)
" The owner regex matches a word at the start of the string which is
" followed by a dot, but doesn't include the dot in the result.
" ^ - from beginning of line
@@ -609,11 +744,29 @@ function! s:SQLCGetObjectOwner(object)
" let owner = matchstr( a:object, '^\s*\zs.*\ze\.' )
let owner = matchstr( a:object, '^\("\|\[\)\?\zs\.\{-}\ze\("\|\]\)\?\.' )
return owner
endfunction
endfunction
function! s:SQLCGetColumns(table_name, list_type)
if a:table_name =~ '\.'
" Check if the owner/creator has been specified
let owner = matchstr( a:table_name, '^\zs.*\ze\..*\..*' )
let table = matchstr( a:table_name, '^\(.*\.\)\?\zs.*\ze\..*' )
let column = matchstr( a:table_name, '.*\.\zs.*' )
if g:omni_sql_include_owner == 1 && owner == '' && table != '' && column != ''
let owner = table
let table = column
let column = ''
endif
else
let owner = ''
let table = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
let column = ''
endif
" Check if the table name was provided as part of the column name
let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
" let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
let table_name = table
let table_cols = []
let table_alias = ''
let move_to_top = 1
@@ -636,7 +789,7 @@ function! s:SQLCGetColumns(table_name, list_type)
if list_idx > -1
let table_cols = split(s:tbl_cols[list_idx], '\n')
else
" Check if we have already cached the column list for this table
" Check if we have already cached the column list for this table
" by its alias, assuming the table_name provided was actually
" the alias for the table instead
" select *
@@ -654,7 +807,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" And the table ends in a "." or we are looking for a column list
" if list_idx == -1 && (a:table_name =~ '\.' || b:sql_compl_type =~ 'column')
" if list_idx == -1 && (a:table_name =~ '\.' || a:list_type =~ 'csv')
if list_idx == -1
if list_idx == -1
let saveY = @y
let saveSearch = @/
let saveWScan = &wrapscan
@@ -665,7 +818,7 @@ function! s:SQLCGetColumns(table_name, list_type)
setlocal nowrapscan
" If . was entered, look at the word just before the .
" We are looking for something like this:
" select *
" select *
" from customer c
" where c.
" So when . is pressed, we need to find 'c'
@@ -692,15 +845,15 @@ function! s:SQLCGetColumns(table_name, list_type)
" if query =~? '^\c\(select\)'
if query =~? '^\(select\|update\|delete\)'
let found = 1
" \(\(\<\w\+\>\)\.\)\? -
" \(\(\<\w\+\>\)\.\)\? -
" '\c\(from\|join\|,\).\{-}' - Starting at the from clause (case insensitive)
" '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional)
" '\<\w\+\>\ze' - Get the table name
" '\<\w\+\>\ze' - Get the table name
" '\s\+\<'.table_name.'\>' - Followed by the alias
" '\s*\.\@!.*' - Cannot be followed by a .
" '\(\<where\>\|$\)' - Must be followed by a WHERE clause
" '.*' - Exclude the rest of the line in the match
" let table_name_new = matchstr(@y,
" let table_name_new = matchstr(@y,
" \ '\c\(from\|join\|,\).\{-}'.
" \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'.
" \ '\("\|\[\)\?.\{-}\("\|\]\)\?\ze'.
@@ -711,7 +864,16 @@ function! s:SQLCGetColumns(table_name, list_type)
" \ '\(\<where\>\|$\)'.
" \ '.*'
" \ )
let table_name_new = matchstr(@y,
"
"
" ''\c\(\<from\>\|\<join\>\|,\)\s*' - Starting at the from clause (case insensitive)
" '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?' - Get the owner name (optional)
" '\("\|\[\)\?\w\+\("\|\]\)\?\ze' - Get the table name
" '\s\+\%(as\s\+\)\?\<'.matchstr(table_name, '.\{-}\ze\.\?$').'\>' - Followed by the alias
" '\s*\.\@!.*' - Cannot be followed by a .
" '\(\<where\>\|$\)' - Must be followed by a WHERE clause
" '.*' - Exclude the rest of the line in the match
let table_name_new = matchstr(@y,
\ '\c\(\<from\>\|\<join\>\|,\)\s*'.
\ '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?'.
\ '\("\|\[\)\?\w\+\("\|\]\)\?\ze'.
@@ -725,7 +887,12 @@ function! s:SQLCGetColumns(table_name, list_type)
if table_name_new != ''
let table_alias = table_name
let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
if g:omni_sql_include_owner == 1
let table_name = matchstr( table_name_new, '^\zs\(.\{-}\.\)\?\(.\{-}\.\)\?.*\ze' )
else
" let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
let table_name = matchstr( table_name_new, '^\(.\{-}\.\)\?\zs\(.\{-}\.\)\?.*\ze' )
endif
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
if list_idx > -1
@@ -753,7 +920,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" Return to previous location
call cursor(curline, curcol)
if found == 0
if g:loaded_dbext > 300
exec 'DBSetOption use_tbl_alias='.saveSettingAlias
@@ -762,12 +929,13 @@ function! s:SQLCGetColumns(table_name, list_type)
" Not a SQL statement, do not display a list
return []
endif
endif
endif
if empty(table_cols)
" Specify silent mode, no messages to the user (tbl, 1)
" Specify do not comma separate (tbl, 1, 1)
let table_cols_str = DB_getListColumn(table_name, 1, 1)
" let table_cols_str = DB_getListColumn(table_name, 1, 1)
let table_cols_str = DB_getListColumn((owner!=''?owner.'.':'').table_name, 1, 1)
if table_cols_str != ""
let s:tbl_name = add( s:tbl_name, table_name )
@@ -793,3 +961,7 @@ function! s:SQLCGetColumns(table_name, list_type)
return table_cols
endfunction
" Restore:
let &cpo= s:keepcpo
unlet s:keepcpo
" vim: ts=4 fdm=marker

View File

@@ -1,38 +1,80 @@
" Vim completion script
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 7.0
" Last Change: 2010 Jul 29
" Usage: For detailed help, ":help ft-syntax-omni"
" Version: 13.0
" Last Change: 2013 May 14
" Usage: For detailed help, ":help ft-syntax-omni"
" History
"
" Version 13.0
" - Extended the option omni_syntax_group_include_{filetype}
" to accept a comma separated list of regex's rather than
" string. For example, for the javascript filetype you could
" use:
" let g:omni_syntax_group_include_javascript = 'javascript\w\+,jquery\w\+'
" - Some syntax files (perl.vim) use the match // syntax as a mechanism
" to identify keywords. This update attempts to parse the
" match syntax and pull out syntax items which are at least
" 3 words or more.
"
" Version 12.0
" - It is possible to have '-' as part of iskeyword, when
" checking for character ranges, tighten up the regex.
" E688: More targets than List items.
"
" Version 11.0
" - Corrected which characters required escaping during
" substitution calls.
"
" Version 10.0
" - Cycle through all the character ranges specified in the
" iskeyword option and build a list of valid word separators.
" Prior to this change, only actual characters were used,
" where for example ASCII "45" == "-". If "45" were used
" in iskeyword the hyphen would not be picked up.
" This introduces a new option, since the character ranges
" specified could be multibyte:
" let g:omni_syntax_use_single_byte = 1
" - This by default will only allow single byte ASCII
" characters to be added and an additional check to ensure
" the charater is printable (see documentation for isprint).
"
" Version 9.0
" - Add the check for cpo.
"
" Version 8.0
" - Updated SyntaxCSyntaxGroupItems()
" - Some additional syntax items were also allowed
" on nextgroup= lines which were ignored by default.
" Now these lines are processed independently.
"
" Version 7.0
" Updated syntaxcomplete#OmniSyntaxList()
" - Updated syntaxcomplete#OmniSyntaxList()
" - Looking up the syntax groups defined from a syntax file
" looked for only 1 format of {filetype}GroupName, but some
" looked for only 1 format of {filetype}GroupName, but some
" syntax writers use this format as well:
" {b:current_syntax}GroupName
" OmniSyntaxList() will now check for both if the first
" - OmniSyntaxList() will now check for both if the first
" method does not find a match.
"
" Version 6.0
" Added syntaxcomplete#OmniSyntaxList()
" - Allows other plugins to use this for their own
" - Added syntaxcomplete#OmniSyntaxList()
" - Allows other plugins to use this for their own
" purposes.
" - It will return a List of all syntax items for the
" syntax group name passed in.
" - XPTemplate for SQL will use this function via the
" syntax group name passed in.
" - XPTemplate for SQL will use this function via the
" sqlcomplete plugin to populate a Choose box.
"
" Version 5.0
" Updated SyntaxCSyntaxGroupItems()
" - Updated SyntaxCSyntaxGroupItems()
" - When processing a list of syntax groups, the final group
" was missed in function SyntaxCSyntaxGroupItems.
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
" sourced directly instead of using the autoload feature.
if exists('+omnifunc')
" Do not set the option if already set since this
" results in an E117 warning.
@@ -42,9 +84,13 @@ if exists('+omnifunc')
endif
if exists('g:loaded_syntax_completion')
finish
finish
endif
let g:loaded_syntax_completion = 70
let g:loaded_syntax_completion = 130
" Turn on support for line continuations when creating the script
let s:cpo_save = &cpo
set cpo&vim
" Set ignorecase to the ftplugin standard
" This is the default setting, but if you define a buffer local
@@ -61,6 +107,18 @@ if !exists('g:omni_syntax_use_iskeyword')
let g:omni_syntax_use_iskeyword = 1
endif
" When using iskeyword, this setting controls whether the characters
" should be limited to single byte characters.
if !exists('g:omni_syntax_use_single_byte')
let g:omni_syntax_use_single_byte = 1
endif
" When using iskeyword, this setting controls whether the characters
" should be limited to single byte characters.
if !exists('g:omni_syntax_use_iskeyword_numeric')
let g:omni_syntax_use_iskeyword_numeric = 1
endif
" Only display items in the completion window that are at least
" this many characters in length.
" This is the default setting, but if you define a buffer local
@@ -71,8 +129,10 @@ endif
" This script will build a completion list based on the syntax
" elements defined by the files in $VIMRUNTIME/syntax.
let s:syn_remove_words = 'match,matchgroup=,contains,'.
\ 'links to,start=,end=,nextgroup='
" let s:syn_remove_words = 'match,matchgroup=,contains,'.
let s:syn_remove_words = 'matchgroup=,contains,'.
\ 'links to,start=,end='
" \ 'links to,start=,end=,nextgroup='
let s:cache_name = []
let s:cache_list = []
@@ -151,7 +211,7 @@ endfunc
function! syntaxcomplete#OmniSyntaxList(...)
if a:0 > 0
let parms = []
if 3 == type(a:1)
if 3 == type(a:1)
let parms = a:1
elseif 1 == type(a:1)
let parms = split(a:1, ',')
@@ -165,7 +225,7 @@ endfunc
function! OmniSyntaxList(...)
let list_parms = []
if a:0 > 0
if 3 == type(a:1)
if 3 == type(a:1)
let list_parms = a:1
elseif 1 == type(a:1)
let list_parms = split(a:1, ',')
@@ -201,18 +261,18 @@ function! OmniSyntaxList(...)
let saveL = @l
let filetype = substitute(&filetype, '\.', '_', 'g')
if empty(list_parms)
" Default the include group to include the requested syntax group
let syntax_group_include_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_include_'.filetype)
let syntax_group_include_{filetype} =
\ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
\ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
let list_parms = split(g:omni_syntax_group_include_{filetype}, ',')
if syntax_group_include_{filetype} =~ '\w'
let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{filetype},
let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
@@ -222,24 +282,34 @@ function! OmniSyntaxList(...)
endif
" Loop through all the syntax groupnames, and build a
" syntax file which contains these names. This can
" syntax file which contains these names. This can
" work generically for any filetype that does not already
" have a plugin defined.
" This ASSUMES the syntax groupname BEGINS with the name
" of the filetype. From my casual viewing of the vim7\syntax
" of the filetype. From my casual viewing of the vim7\syntax
" directory this is true for almost all syntax definitions.
" As an example, the SQL syntax groups have this pattern:
" sqlType
" sqlOperators
" sqlKeyword ...
redir @l
silent! exec 'syntax list '.join(list_parms)
redir END
if !empty(list_parms) && empty(substitute(join(list_parms), '[a-zA-Z ]', '', 'g'))
" If list_parms only includes word characters, use it to limit
" the syntax elements.
" If using regex syntax list will fail to find those items, so
" simply grab the who syntax list.
redir @l
silent! exec 'syntax list '.join(list_parms)
redir END
else
redir @l
silent! exec 'syntax list'
redir END
endif
let syntax_full = "\n".@l
let @l = saveL
if syntax_full =~ 'E28'
if syntax_full =~ 'E28'
\ || syntax_full =~ 'E411'
\ || syntax_full =~ 'E415'
\ || syntax_full =~ 'No Syntax items'
@@ -249,7 +319,7 @@ function! OmniSyntaxList(...)
let filetype = substitute(&filetype, '\.', '_', 'g')
let list_exclude_groups = []
if a:0 > 0
if a:0 > 0
" Do nothing since we have specific a specific list of groups
else
" Default the exclude group to nothing
@@ -257,93 +327,178 @@ function! OmniSyntaxList(...)
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_exclude_'.filetype)
let syntax_group_exclude_{filetype} =
\ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
\ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
let list_exclude_groups = split(g:omni_syntax_group_exclude_{filetype}, ',')
if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{filetype},
if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
endif
" Sometimes filetypes can be composite names, like c.doxygen
" Loop through each individual part looking for the syntax
" items specific to each individual filetype.
if empty(list_parms)
let list_parms = [&filetype.'\w\+']
endif
let syn_list = ''
let ftindex = 0
let ftindex = match(&filetype, '\w\+', ftindex)
let index = 0
for group_regex in list_parms
" Sometimes filetypes can be composite names, like c.doxygen
" Loop through each individual part looking for the syntax
" items specific to each individual filetype.
" let ftindex = 0
" let ftindex = match(syntax_full, group_regex, ftindex)
while ftindex > -1
let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
" while ftindex > -1
" let ft_part_name = matchstr( syntax_full, '\w\+', ftindex )
" Syntax rules can contain items for more than just the current
" filetype. They can contain additional items added by the user
" via autocmds or their vimrc.
" Some syntax files can be combined (html, php, jsp).
" We want only items that begin with the filetype we are interested in.
let next_group_regex = '\n' .
\ '\zs'.ft_part_name.'\w\+\ze'.
\ '\s\+xxx\s\+'
let index = 0
let index = match(syntax_full, next_group_regex, index)
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
" There appears to be two standards when writing syntax files.
" Either items begin as:
" syn keyword {filetype}Keyword values ...
" let b:current_syntax = "sql"
" let b:current_syntax = "sqlanywhere"
" Or
" syn keyword {syntax_filename}Keyword values ...
" let b:current_syntax = "mysql"
" So, we will make the format of finding the syntax group names
" a bit more flexible and look for both if the first fails to
" find a match.
" Syntax rules can contain items for more than just the current
" filetype. They can contain additional items added by the user
" via autocmds or their vimrc.
" Some syntax files can be combined (html, php, jsp).
" We want only items that begin with the filetype we are interested in.
let next_group_regex = '\n' .
\ '\zs'.b:current_syntax.'\w\+\ze'.
\ '\s\+xxx\s\+'
let index = 0
\ '\zs'.group_regex.'\ze'.
\ '\s\+xxx\s\+'
let index = match(syntax_full, next_group_regex, index)
endif
while index > -1
let group_name = matchstr( syntax_full, '\w\+', index )
let get_syn_list = 1
for exclude_group_name in list_exclude_groups
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endfor
" This code is no longer needed in version 6.0 since we have
" augmented the syntax list command to only retrieve the syntax
" groups we are interested in.
"
" if get_syn_list == 1
" if syntax_group_include_{filetype} != ''
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
" endif
if get_syn_list == 1
" Pass in the full syntax listing, plus the group name we
" are interested in.
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
let syn_list = syn_list . extra_syn_list . "\n"
" For the matched group name, strip off any of the regex special
" characters and see if we get a match with the current syntax
if index == -1 && exists('b:current_syntax') && substitute(group_regex, '[^a-zA-Z ]\+.*', '', 'g') !~ '^'.b:current_syntax
" There appears to be two standards when writing syntax files.
" Either items begin as:
" syn keyword {filetype}Keyword values ...
" let b:current_syntax = "sql"
" let b:current_syntax = "sqlanywhere"
" Or
" syn keyword {syntax_filename}Keyword values ...
" let b:current_syntax = "mysql"
" So, we will make the format of finding the syntax group names
" a bit more flexible and look for both if the first fails to
" find a match.
let next_group_regex = '\n' .
\ '\zs'.b:current_syntax.'\w\+\ze'.
\ '\s\+xxx\s\+'
let index = 0
let index = match(syntax_full, next_group_regex, index)
endif
let index = index + strlen(group_name)
let index = match(syntax_full, next_group_regex, index)
endwhile
while index > -1
let group_name = matchstr( syntax_full, '\w\+', index )
let ftindex = ftindex + len(ft_part_name)
let ftindex = match( &filetype, '\w\+', ftindex )
endwhile
let get_syn_list = 1
for exclude_group_name in list_exclude_groups
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endfor
" This code is no longer needed in version 6.0 since we have
" augmented the syntax list command to only retrieve the syntax
" groups we are interested in.
"
" if get_syn_list == 1
" if syntax_group_include_{filetype} != ''
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
" endif
if get_syn_list == 1
" Pass in the full syntax listing, plus the group name we
" are interested in.
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
let syn_list = syn_list . extra_syn_list . "\n"
endif
let index = index + strlen(group_name)
let index = match(syntax_full, next_group_regex, index)
endwhile
" let ftindex = ftindex + len(ft_part_name)
" let ftindex = match( syntax_full, group_regex, ftindex )
" endwhile
endfor
" " Sometimes filetypes can be composite names, like c.doxygen
" " Loop through each individual part looking for the syntax
" " items specific to each individual filetype.
" let syn_list = ''
" let ftindex = 0
" let ftindex = match(&filetype, '\w\+', ftindex)
" while ftindex > -1
" let ft_part_name = matchstr( &filetype, '\w\+', ftindex )
" " Syntax rules can contain items for more than just the current
" " filetype. They can contain additional items added by the user
" " via autocmds or their vimrc.
" " Some syntax files can be combined (html, php, jsp).
" " We want only items that begin with the filetype we are interested in.
" let next_group_regex = '\n' .
" \ '\zs'.ft_part_name.'\w\+\ze'.
" \ '\s\+xxx\s\+'
" let index = 0
" let index = match(syntax_full, next_group_regex, index)
" if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
" " There appears to be two standards when writing syntax files.
" " Either items begin as:
" " syn keyword {filetype}Keyword values ...
" " let b:current_syntax = "sql"
" " let b:current_syntax = "sqlanywhere"
" " Or
" " syn keyword {syntax_filename}Keyword values ...
" " let b:current_syntax = "mysql"
" " So, we will make the format of finding the syntax group names
" " a bit more flexible and look for both if the first fails to
" " find a match.
" let next_group_regex = '\n' .
" \ '\zs'.b:current_syntax.'\w\+\ze'.
" \ '\s\+xxx\s\+'
" let index = 0
" let index = match(syntax_full, next_group_regex, index)
" endif
" while index > -1
" let group_name = matchstr( syntax_full, '\w\+', index )
" let get_syn_list = 1
" for exclude_group_name in list_exclude_groups
" if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endfor
" " This code is no longer needed in version 6.0 since we have
" " augmented the syntax list command to only retrieve the syntax
" " groups we are interested in.
" "
" " if get_syn_list == 1
" " if syntax_group_include_{filetype} != ''
" " if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
" " let get_syn_list = 0
" " endif
" " endif
" " endif
" if get_syn_list == 1
" " Pass in the full syntax listing, plus the group name we
" " are interested in.
" let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
" let syn_list = syn_list . extra_syn_list . "\n"
" endif
" let index = index + strlen(group_name)
" let index = match(syntax_full, next_group_regex, index)
" endwhile
" let ftindex = ftindex + len(ft_part_name)
" let ftindex = match( &filetype, '\w\+', ftindex )
" endwhile
" Convert the string to a List and sort it.
let compl_list = sort(split(syn_list))
@@ -385,7 +540,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \| - 2nd potential match
" \%$ - matches end of the file or string
" \) - end a group
let syntax_group = matchstr(a:syntax_full,
let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)'
\ )
@@ -395,26 +550,97 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" We only want the words for the lines begining with
" containedin, but there could be other items.
" Tried to remove all lines that do not begin with contained
" but this does not work in all cases since you can have
" contained nextgroup=...
" So this will strip off the ending of lines with known
" keywords.
let syn_list = substitute(
let syn_list = substitute(
\ syntax_group, '\<\('.
\ substitute(
\ escape(s:syn_remove_words, '\\/.*$^~[]')
\ , ',', '\\|', 'g'
\ ).
\ '\).\{-}\%($\|'."\n".'\)'
\ , "\n", 'g'
\ , "\n", 'g'
\ )
" Now strip off the newline + blank space + contained
let syn_list = substitute(
\ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\)'
\ , "", 'g'
" Attempt to deal with lines using the match syntax
" javaScriptDocTags xxx match /@\(param\|argument\|requires\|file\)\>/
" Though it can use any types of regex, so this plugin will attempt
" to restrict it
" 1. Only use \( or \%( constructs remove all else
" 2 Remove and []s
" 3. Account for match //constructs
" \%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?
" 4. Hope for the best
"
"
let syn_list_old = syn_list
while syn_list =~ '\<match\>\s\+\/'
if syn_list =~ 'perlElseIfError'
let syn_list = syn_list
endif
" Check if the match has words at least 3 characters long
if syn_list =~ '\<match \/\zs.\{-}\<\w\{3,}\>.\{-}\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
" Remove everything after / and before the first \(
let syn_list = substitute( syn_list, '\<match \/\zs.\{-}\ze\\%\?(.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
" Remove everything after \) and up to the ending /
let syn_list = substitute( syn_list, '\<match \/.\{-}\\)\zs.\{-}\ze\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
" Remove any character classes
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\[[^]]*\].\{-}\ze\/ ', '', 'g' )
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\[[^]]*\]\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?', '', 'g' )
" Remove any words < 3 characters
let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\<\w\{1,2}\>\ze.\{-}\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
" Remove all non-word characters
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
" Do this by using the outer substitue() call to gather all
" text between the match /.../ tags.
" The inner substitute() call operates on the text selected
" and replaces all non-word characters.
let syn_list = substitute( syn_list, '\<match \/\zs\(.\{-}\)\ze\\\@<!\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+'
\ , '\=substitute(submatch(1), "\\W\\+", " ", "g")'
\ , 'g' )
" Remove the match / / syntax
let syn_list = substitute( syn_list, '\<match \/\(.\{-}\)\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '\1', 'g' )
else
" No words long enough, remove the match
" Remove the match syntax
" let syn_list = substitute( syn_list, '\<match \/[^\/]*\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
let syn_list = substitute( syn_list, '\<match \/\%(.\{-}\)\?\/\%(\%(ms\|me\|hs\|he\|rs\|re\|lc\)\S\+\)\?\s\+', '', 'g' )
endif
if syn_list =~ '\<match\>\s\+\/'
" Problem removing the match / / tags
let syn_list = ''
endif
endwhile
" Now strip off the newline + blank space + contained.
" Also include lines with nextgroup=@someName skip_key_words syntax_element
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=\)'
" \ syn_list, '\%(^\|\n\)\@<=\s*\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
let syn_list = substitute(
\ syn_list, '\<\(contained\|nextgroup=[@a-zA-Z,]*\)'
\ , "", 'g'
\ )
" This can leave lines like this
" =@vimMenuList skipwhite onoremenu
" Strip the special option keywords first
" :h :syn-skipwhite*
let syn_list = substitute(
\ syn_list, '\<\(skipwhite\|skipnl\|skipempty\)\>'
\ , "", 'g'
\ )
" Now remove the remainder of the nextgroup=@someName lines
let syn_list = substitute(
\ syn_list, '\%(^\|\n\)\@<=\s*\(@\w\+\)'
\ , "", 'g'
\ )
if b:omni_syntax_use_iskeyword == 0
@@ -423,19 +649,74 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" This will replace non-word characters with spaces.
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ ]', ' ', 'g' )
else
let accept_chars = ','.&iskeyword.','
" Remove all character ranges
" let accept_chars = substitute(accept_chars, ',[^,]\+-[^,]\+,', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=[^,]\+-[^,]\+,', '', 'g')
" Remove all numeric specifications
" let accept_chars = substitute(accept_chars, ',\d\{-},', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=\d\{-},', '', 'g')
" Remove all commas
let accept_chars = substitute(accept_chars, ',', '', 'g')
" Escape special regex characters
let accept_chars = escape(accept_chars, '\\/.*$^~[]' )
" Remove all characters that are not acceptable
let syn_list = substitute( syn_list, '[^0-9A-Za-z_ '.accept_chars.']', ' ', 'g' )
if g:omni_syntax_use_iskeyword_numeric == 1
" iskeyword can contain value like this
" 38,42,43,45,47-58,60-62,64-90,97-122,_,+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
" Numeric values convert to their ASCII equivalent using the
" nr2char() function.
" & 38
" * 42
" + 43
" - 45
" ^ 94
" Iterate through all numeric specifications and convert those
" to their ascii equivalent ensuring the character is printable.
" If so, add it to the list.
let accepted_chars = ''
for item in split(&iskeyword, ',')
if item =~ '\d-\d'
" This is a character range (ie 47-58),
" cycle through each character within the range
let [b:start, b:end] = split(item, '-')
for range_item in range( b:start, b:end )
if range_item <= 127 || g:omni_syntax_use_single_byte == 0
if nr2char(range_item) =~ '\p'
let accepted_chars = accepted_chars . nr2char(range_item)
endif
endif
endfor
elseif item =~ '^\d\+$'
" Only numeric, translate to a character
if item < 127 || g:omni_syntax_use_single_byte == 0
if nr2char(item) =~ '\p'
let accepted_chars = accepted_chars . nr2char(item)
endif
endif
else
if char2nr(item) < 127 || g:omni_syntax_use_single_byte == 0
if item =~ '\p'
let accepted_chars = accepted_chars . item
endif
endif
endif
endfor
" Escape special regex characters
" Looks like the wrong chars are escaped. In a collection,
" :h /[]
" only `]', `\', `-' and `^' are special:
" let accepted_chars = escape(accepted_chars, '\\/.*$^~[]' )
let accepted_chars = escape(accepted_chars, ']\-^' )
" Remove all characters that are not acceptable
let syn_list = substitute( syn_list, '[^A-Za-z'.accepted_chars.']', ' ', 'g' )
else
let accept_chars = ','.&iskeyword.','
" Remove all character ranges
" let accept_chars = substitute(accept_chars, ',[^,]\+-[^,]\+,', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=[^,]\+-[^,]\+,', '', 'g')
" Remove all numeric specifications
" let accept_chars = substitute(accept_chars, ',\d\{-},', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=\d\{-},', '', 'g')
" Remove all commas
let accept_chars = substitute(accept_chars, ',', '', 'g')
" Escape special regex characters
" Looks like the wrong chars are escaped. In a collection,
" :h /[]
" only `]', `\', `-' and `^' are special:
" let accept_chars = escape(accept_chars, '\\/.*$^~[]' )
let accept_chars = escape(accept_chars, ']\-^' )
" Remove all characters that are not acceptable
let syn_list = substitute( syn_list, '[^0-9A-Za-z_'.accept_chars.']', ' ', 'g' )
endif
endif
if b:omni_syntax_minimum_length > 0
@@ -448,3 +729,27 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
return syn_list
endfunction
function! OmniSyntaxShowChars(spec)
let result = []
for item in split(a:spec, ',')
if len(item) > 1
if item == '@-@'
call add(result, char2nr(item))
else
call extend(result, call('range', split(item, '-')))
endif
else
if item == '@' " assume this is [A-Za-z]
for [c1, c2] in [['A', 'Z'], ['a', 'z']]
call extend(result, range(char2nr(c1), char2nr(c2)))
endfor
else
call add(result, char2nr(item))
endif
endif
endfor
return join(map(result, 'nr2char(v:val)'), ', ')
endfunction
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: May 31, 2011
" Version: 27
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" Date: Apr 17, 2013
" Version: 29
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v27"
let g:loaded_tar= "v29"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -31,6 +31,7 @@ if v:version < 702
endif
let s:keepcpo= &cpo
set cpo&vim
"DechoTabOn
"call Decho("loading autoload/tar.vim")
" ---------------------------------------------------------------------
@@ -80,7 +81,7 @@ endif
" set up shell quoting character
if !exists("g:tar_shq")
if exists("&shq") && &shq != ""
if exists("+shq") && exists("&shq") && &shq != ""
let g:tar_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if exists("g:netrw_cygwin") && g:netrw_cygwin
@@ -143,11 +144,11 @@ fun! tar#Browse(tarfile)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
keepj $put =''
keepj 0d
keepj sil! 0d
keepj $
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
if has("win32unix") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
@@ -158,10 +159,10 @@ fun! tar#Browse(tarfile)
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
elseif tarfile =~# '\.\(bz2\|tbz\|tb2\)$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
elseif tarfile =~# '\.\(lzma\|tlz\)$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'
@@ -227,7 +228,7 @@ fun! s:TarBrowseSelect()
" about to make a new window, need to use b:tarfile
let tarfile= b:tarfile
let curfile= expand("%")
if has("win32") && executable("cygpath")
if has("win32unix") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
@@ -239,6 +240,8 @@ fun! s:TarBrowseSelect()
let s:tblfile_{winnr()}= curfile
call tar#Read("tarfile:".tarfile.'::'.fname,1)
filetype detect
set nomod
exe 'com! -buffer -nargs=? -complete=file TarDiff :call tar#Diff(<q-args>,"'.fnameescape(fname).'")'
let &report= repkeep
" call Dret("TarBrowseSelect : s:tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
@@ -252,7 +255,7 @@ fun! tar#Read(fname,mode)
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath")
if has("win32unix") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
@@ -425,7 +428,7 @@ fun! tar#Write(fname)
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
if has("win32unix") && executable("cygpath")
let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
endif
call mkdir(dirpath,"p")
@@ -445,7 +448,7 @@ fun! tar#Write(fname)
let tar_secure= " "
endif
exe "w! ".fnameescape(fname)
if executable("cygpath")
if has("win32unix") && executable("cygpath")
let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
endif
@@ -500,6 +503,30 @@ fun! tar#Write(fname)
" call Dret("tar#Write")
endfun
" ---------------------------------------------------------------------
" tar#Diff: {{{2
fun! tar#Diff(userfname,fname)
" call Dfunc("tar#Diff(userfname<".a:userfname."> fname<".a:fname.")")
let fname= a:fname
if a:userfname != ""
let fname= a:userfname
endif
if filereadable(fname)
" sets current file (from tarball) for diff'ing
" splits window vertically
" opens original file, sets it for diff'ing
" sets up b:tardiff_otherbuf variables so each buffer knows about the other (for closing purposes)
diffthis
wincmd v
exe "e ".fnameescape(fname)
diffthis
else
redraw!
echo "***warning*** unable to read file<".fname.">"
endif
" call Dret("tar#Diff")
endfun
" ---------------------------------------------------------------------
" s:Rmdir: {{{2
fun! s:Rmdir(fname)

View File

@@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Apr 05
" Last Change: 2013 Jun 19
"
" Additional contributors:
"
@@ -11,7 +11,7 @@
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo-=C
set cpo&vim
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
@@ -391,12 +391,25 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, '<meta name="plugin-version" content="'.g:loaded_2html_plugin.'"'.tag_close)
call add(html, '<meta name="settings" content="'.
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
\ ',prevent_copy='.s:settings.prevent_copy.
\ '"'.tag_close)
call add(html, '<meta name="colorscheme" content="'.
\ (exists('g:colors_name')
\ ? g:colors_name
\ : 'none'). '"'.tag_close)
call add(html, '</head>')
let body_line_num = len(html)
call add(html, '<body>')
call add(html, '<table border="1" width="100%">')
if !empty(s:settings.prevent_copy)
call add(html, "<body onload='FixCharWidth();".(s:settings.line_ids ? " JumpToLine();" : "")."'>")
call add(html, "<!-- hidden divs used by javascript to get the width of a char -->")
call add(html, "<div id='oneCharWidth'>0</div>")
call add(html, "<div id='oneInputWidth'><input size='1' value='0'".tag_close."</div>")
call add(html, "<div id='oneEmWidth' style='width: 1em;'></div>")
else
call add(html, '<body'.(s:settings.line_ids ? ' onload="JumpToLine();"' : '').'>')
endif
call add(html, "<table border='1' width='100%' id='vimCodeElement".s:settings.id_suffix."'>")
call add(html, '<tr>')
for buf in a:win_list
@@ -454,16 +467,19 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let insert_index = diff_style_start
endif
" Delete those parts that are not needed so
" we can include the rest into the resulting table
1,/^<body/d_
" Delete those parts that are not needed so we can include the rest into the
" resulting table.
1,/^<body.*\%(\n<!--.*-->\_s\+.*id='oneCharWidth'.*\_s\+.*id='oneInputWidth'.*\_s\+.*id='oneEmWidth'\)\?\zs/d_
$
?</body>?,$d_
let temp = getline(1,'$')
" clean out id on the main content container because we already set it on
" the table
let temp[0] = substitute(temp[0], " id='vimCodeElement[^']*'", "", "")
" undo deletion of start and end part
" so we can later save the file as valid html
" TODO: restore using grabbed lines if undolevel is 1?
normal 2u
normal! 2u
if s:settings.use_css
call add(html, '<td valign="top"><div>')
elseif s:settings.use_xhtml
@@ -487,6 +503,11 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
call add(html, s:body_end_line)
call add(html, '</html>')
" The generated HTML is admittedly ugly and takes a LONG time to fold.
" Make sure the user doesn't do syntax folding when loading a generated file,
" using a modeline.
call add(html, '<!-- vim: set foldmethod=manual : -->')
let i = 1
let name = "Diff" . (s:settings.use_xhtml ? ".xhtml" : ".html")
" Find an unused file name if current file name is already in use
@@ -520,12 +541,94 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
1
let style_start = search('^</head>')-1
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active. {{{
" add required javascript in reverse order so we can just call append again
" and again without adjusting {{{
" insert script closing tag
call append(style_start, [
\ '',
\ s:settings.use_xhtml ? '//]]>' : '-->',
\ "</script>"
\ ])
" insert script which corrects the size of small input elements in
" prevent_copy mode. See 2html.vim for details on why this is needed and how
" it works.
if !empty(s:settings.prevent_copy)
call append(style_start, [
\ '',
\ '/* simulate a "ch" unit by asking the browser how big a zero character is */',
\ 'function FixCharWidth() {',
\ ' /* get the hidden element which gives the width of a single character */',
\ ' var goodWidth = document.getElementById("oneCharWidth").clientWidth;',
\ ' /* get all input elements, we''ll filter on class later */',
\ ' var inputTags = document.getElementsByTagName("input");',
\ ' var ratio = 5;',
\ ' var inputWidth = document.getElementById("oneInputWidth").clientWidth;',
\ ' var emWidth = document.getElementById("oneEmWidth").clientWidth;',
\ ' if (inputWidth > goodWidth) {',
\ ' while (ratio < 100*goodWidth/emWidth && ratio < 100) {',
\ ' ratio += 5;',
\ ' }',
\ ' document.getElementById("vimCodeElement'.s:settings.id_suffix.'").className = "em"+ratio;',
\ ' }',
\ '}'
\ ])
endif
"
" insert javascript to get IDs from line numbers, and to open a fold before
" jumping to any lines contained therein
call append(style_start, [
\ " /* Always jump to new location even if the line was hidden inside a fold, or",
\ " * we corrected the raw number to a line ID.",
\ " */",
\ " if (lineElem) {",
\ " lineElem.scrollIntoView(true);",
\ " }",
\ " return true;",
\ "}",
\ "if ('onhashchange' in window) {",
\ " window.onhashchange = JumpToLine;",
\ "}"
\ ])
if s:settings.dynamic_folds
call append(style_start, [
\ "",
\ " /* navigate upwards in the DOM tree to open all folds containing the line */",
\ " var node = lineElem;",
\ " while (node && node.id != 'vimCodeElement".s:settings.id_suffix."')",
\ " {",
\ " if (node.className == 'closed-fold')",
\ " {",
\ " /* toggle open the fold ID (remove window ID) */",
\ " toggleFold(node.id.substr(4));",
\ " }",
\ " node = node.parentNode;",
\ " }",
\ ])
endif
call append(style_start, [
\ "",
\ "/* function to open any folds containing a jumped-to line before jumping to it */",
\ "function JumpToLine()",
\ "{",
\ " var lineNum;",
\ " lineNum = window.location.hash;",
\ " lineNum = lineNum.substr(1); /* strip off '#' */",
\ "",
\ " if (lineNum.indexOf('L') == -1) {",
\ " lineNum = 'L'+lineNum;",
\ " }",
\ " if (lineNum.indexOf('W') == -1) {",
\ " lineNum = 'W1'+lineNum;",
\ " }",
\ " lineElem = document.getElementById(lineNum);"
\ ])
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active.
if s:settings.dynamic_folds
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : " <!--",
\ " function toggleFold(objID)",
\ " {",
\ " for (win_num = 1; win_num <= ".len(a:buf_list)."; win_num++)",
@@ -542,10 +645,14 @@ func! tohtml#Diff2HTML(win_list, buf_list) "{{{
\ " }",
\ " }",
\ " }",
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif "}}}
endif
" insert script tag; javascript is always needed for the line number
" normalization for URL hashes
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : "<!--"])
" Insert styles from all the generated html documents and additional styles
" for the table-based layout of the side-by-side diff. The diff should take
@@ -609,11 +716,13 @@ func! tohtml#GetUserSettings() "{{{
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', user_settings.ignore_folding)
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'no_invalid', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
call tohtml#GetOption(user_settings, 'line_ids', user_settings.number_lines )
" }}}
" override those settings that need it {{{
@@ -637,6 +746,8 @@ func! tohtml#GetUserSettings() "{{{
" dynamic folding implies css
if user_settings.dynamic_folds
let user_settings.use_css = 1
else
let user_settings.no_foldcolumn = 1 " won't do anything but for consistency and for the test suite
endif
" if we're not using CSS we cannot use a pre section because <font> tags
@@ -663,6 +774,7 @@ func! tohtml#GetUserSettings() "{{{
endif
" }}}
" textual options
if exists("g:html_use_encoding") "{{{
" user specified the desired MIME charset, figure out proper
" 'fileencoding' from it or warn the user if we cannot
@@ -705,6 +817,59 @@ func! tohtml#GetUserSettings() "{{{
endif
endif "}}}
" Default to making nothing uncopyable, because we default to
" not-standards way of doing things, and also because Microsoft Word and
" others paste the <input> elements anyway.
"
" html_prevent_copy only has an effect when using CSS.
"
" All options:
" f - fold column
" n - line numbers (also within fold text)
" t - fold text
" d - diff filler
" c - concealed text (reserved future)
" l - listchars (reserved possible future)
" s - signs (reserved possible future)
"
" Normal text is always selectable.
let user_settings.prevent_copy = ""
if user_settings.use_css
if exists("g:html_prevent_copy")
if user_settings.dynamic_folds && !user_settings.no_foldcolumn && g:html_prevent_copy =~# 'f'
let user_settings.prevent_copy .= 'f'
endif
if user_settings.number_lines && g:html_prevent_copy =~# 'n'
let user_settings.prevent_copy .= 'n'
endif
if &diff && g:html_prevent_copy =~# 'd'
let user_settings.prevent_copy .= 'd'
endif
if !user_settings.ignore_folding && g:html_prevent_copy =~# 't'
let user_settings.prevent_copy .= 't'
endif
else
let user_settings.prevent_copy = ""
endif
endif
if empty(user_settings.prevent_copy)
let user_settings.no_invalid = 0
endif
if exists('g:html_id_expr')
let user_settings.id_suffix = eval(g:html_id_expr)
if user_settings.id_suffix !~ '^[-_:.A-Za-z0-9]*$'
echohl WarningMsg
echomsg '2html: g:html_id_expr evaluated to invalid string for HTML id attributes'
echomsg '2html: Omitting user-specified suffix'
echohl None
sleep 3
let user_settings.id_suffix=""
endif
else
let user_settings.id_suffix=""
endif
" TODO: font
return user_settings

View File

@@ -1,7 +1,7 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Apr 02, 2011
" Version: 33
" Date: Jan 17, 2012
" Version: 35
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
let g:loaded_vimball = "v33"
let g:loaded_vimball = "v35"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -220,7 +220,16 @@ fun! vimball#Vimball(really,...)
" go to vim plugin home
if a:0 > 0
" let user specify the directory where the vimball is to be unpacked.
" If, however, the user did not specify a full path, set the home to be below the current directory
let home= expand(a:1)
if has("win32") || has("win95") || has("win64") || has("win16")
if home !~ '^\a:[/\\]'
let home= getcwd().'/'.a:1
endif
elseif home !~ '^/'
let home= getcwd().'/'.a:1
endif
else
let home= vimball#VimballHome()
endif
@@ -282,11 +291,14 @@ fun! vimball#Vimball(really,...)
" call Decho("making directories if they don't exist yet (fname<".fname.">)")
let fnamebuf= substitute(fname,'\\','/','g')
let dirpath = substitute(home,'\\','/','g')
" call Decho("init: fnamebuf<".fnamebuf.">")
" call Decho("init: dirpath <".dirpath.">")
while fnamebuf =~ '/'
let dirname = dirpath."/".substitute(fnamebuf,'/.*$','','')
let dirpath = dirname
let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','')
" call Decho("dirname<".dirname.">")
" call Decho("dirpath<".dirpath.">")
if !isdirectory(dirname)
" call Decho("making <".dirname.">")
if exists("g:vimball_mkdir")
@@ -569,9 +581,19 @@ endfun
fun! s:ChgDir(newdir)
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
try
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
catch /^Vim\%((\a\+)\)\=:E/
call mkdir(fnameescape(substitute(a:newdir,'/','\\','g')))
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
endtry
else
exe 'silent cd '.fnameescape(a:newdir)
try
exe 'silent cd '.fnameescape(a:newdir)
catch /^Vim\%((\a\+)\)\=:E/
call mkdir(fnameescape(a:newdir))
exe 'silent cd '.fnameescape(a:newdir)
endtry
endif
" call Dret("ChgDir : curdir<".getcwd().">")
endfun
@@ -745,6 +767,9 @@ fun! vimball#RestoreSettings()
" call Dret("RestoreSettings")
endfun
let &cpo = s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: fdm=marker

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: XML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Aug 15
" Last Change: 2013 Jun 29
" Version: 1.9
"
" Changelog:
@@ -475,12 +475,12 @@ function! s:InCommentAt(line, col)
endfunction
function! s:SetKeywords()
let g:IsKeywordBak=&iskeyword
let &iskeyword='33-255'
let s:IsKeywordBak=&l:iskeyword
let &l:iskeyword='33-255'
endfunction
function! s:RestoreKeywords()
let &iskeyword=g:IsKeywordBak
let &l:iskeyword=s:IsKeywordBak
endfunction
function! s:Push(el, sname)

View File

@@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: May 24, 2011
" Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" Date: Apr 17, 2013
" Version: 26
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2012 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -19,7 +19,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v24"
let g:loaded_zip= "v26"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
@@ -104,12 +104,12 @@ fun! zip#Browse(zipfile)
" give header
call append(0, ['" zip.vim version '.g:loaded_zip,
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
exe "keepj sil! r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
@@ -188,13 +188,23 @@ fun! zip#Read(fname,mode)
else
let zipfile = substitute(a:fname,'^.\{-}zipfile:\(.\{-}\)::[^\\].*$','\1','')
let fname = substitute(a:fname,'^.\{-}zipfile:.\{-}::\([^\\].*\)$','\1','')
let fname = substitute(fname, '[', '[[]', 'g')
let fname = substitute(fname, '[', '[[]', 'g')
endif
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
" the following code does much the same thing as
" exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
" but allows zipfile:... entries in quickfix lists
let temp = tempname()
let fn = expand('%:p')
exe "sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp
" call Decho("exe sil! !".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1).' > '.temp)
sil exe 'keepalt file '.temp
sil keepj e!
sil exe 'keepalt file '.fnameescape(fn)
call delete(temp)
filetype detect
" cleanup
@@ -267,7 +277,7 @@ fun! zip#Write(fname)
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
if has("win32unix") && executable("cygpath")
let dirpath = substitute(system("cygpath ".s:Escape(dirpath,0)),'\n','','e')
endif
" call Decho("mkdir(dirpath<".dirpath.">,p)")
@@ -279,7 +289,7 @@ fun! zip#Write(fname)
" call Decho("zipfile<".zipfile."> fname<".fname.">")
exe "w! ".fnameescape(fname)
if executable("cygpath")
if has("win32unix") && executable("cygpath")
let zipfile = substitute(system("cygpath ".s:Escape(zipfile,0)),'\n','','e')
endif

View File

@@ -2,7 +2,7 @@
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2006 Dec 10
" Last Change: 2013 May 23
hi clear
set background=dark
@@ -43,6 +43,8 @@ hi MatchParen term=reverse ctermfg=blue guibg=Blue
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
hi link IncSearch Visual
hi link String Constant
hi link Character Constant

View File

@@ -2,7 +2,7 @@
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2003 May 02
" Last Change: 2013 May 24
set background=dark
hi clear
@@ -11,7 +11,7 @@ if exists("syntax_on")
endif
let g:colors_name = "ron"
hi Normal guifg=cyan guibg=black
hi NonText guifg=brown
hi NonText guifg=yellow guibg=#303030
hi comment guifg=green
hi constant guifg=cyan gui=bold
hi identifier guifg=cyan gui=NONE
@@ -24,10 +24,11 @@ hi WarningMsg guifg=Black guibg=Green
hi Error guibg=Red
hi Todo guifg=Black guibg=orange
hi Cursor guibg=#60a060 guifg=#00ff00
hi Search guibg=lightslateblue
hi Search guibg=darkgray guifg=black gui=bold
hi IncSearch gui=NONE guibg=steelblue
hi LineNr guifg=darkgrey
hi title guifg=darkgrey
hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
hi StatusLine gui=bold guifg=cyan guibg=blue
hi label guifg=gold2
@@ -41,3 +42,4 @@ hi DiffDelete guibg=coral
hi Folded guibg=gray30
hi FoldColumn guibg=gray30 guifg=white
hi cIf0 guifg=gray
hi diffOnly guifg=red gui=bold

View File

@@ -2,12 +2,14 @@
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2011 Apr 21
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "cs"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
CompilerSet makeprg=csc\ %
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -15,11 +15,11 @@
" Help Page: compiler-decada
"------------------------------------------------------------------------------
if (exists("current_compiler") &&
\ current_compiler == "decada") ||
\ version < 700
if (exists("current_compiler") && current_compiler == "decada") || version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let current_compiler = "decada"
@@ -44,6 +44,9 @@ endif
execute "CompilerSet makeprg=" . escape (g:decada.Make_Command, ' ')
execute "CompilerSet errorformat=" . escape (g:decada.Error_Format, ' ')
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

View File

@@ -0,0 +1,13 @@
" Vim compiler file
" Compiler: Erlang
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" Last Change: 2012-02-13
if exists("current_compiler")
finish
endif
let current_compiler = "erlang"
CompilerSet makeprg=erlc\ -Wall\ %
CompilerSet errorformat=%f:%l:\ %m

View File

@@ -1,9 +1,7 @@
" Vim compiler file
" Language: eRuby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
if exists("current_compiler")

View File

@@ -1,7 +1,7 @@
" Compiler: G95
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 2011 Apr 01
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
" https://bitbucket.org/xuhdev/compiler-g95.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'g95'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -21,3 +23,6 @@ CompilerSet errorformat=
\%-Z%trror:\ %m,
\%-Z%tarning\ (%n):\ %m,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -9,7 +9,7 @@ endif
let current_compiler = "gcc"
let s:cpo_save = &cpo
set cpo-=C
set cpo&vim
CompilerSet errorformat=
\%*[^\"]\"%f\"%*\\D%l:%c:\ %m,

View File

@@ -1,7 +1,7 @@
" Compiler: GNU Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 19 March 2011
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3496
" https://bitbucket.org/xuhdev/compiler-gfortran.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'gfortran'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=
\%-Z%trror:\ %m,
\%-Z%tarning:\ %m,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -17,11 +17,11 @@
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
if (exists("current_compiler") &&
\ current_compiler == "gnat") ||
\ version < 700
if (exists("current_compiler")&& current_compiler == "gnat") || version < 700
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let current_compiler = "gnat"
@@ -62,6 +62,9 @@ endif
execute "CompilerSet makeprg=" . escape (g:gnat.Get_Command('Make'), ' ')
execute "CompilerSet errorformat=" . escape (g:gnat.Error_Format, ' ')
let &cpo = s:keepcpo
unlet s:keepcpo
finish " 1}}}
"------------------------------------------------------------------------------

28
runtime/compiler/haml.vim Normal file
View File

@@ -0,0 +1,28 @@
" Vim compiler file
" Compiler: Haml
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
if exists("current_compiler")
finish
endif
let current_compiler = "haml"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=haml\ -c
CompilerSet errorformat=
\Haml\ %trror\ on\ line\ %l:\ %m,
\Syntax\ %trror\ on\ line\ %l:\ %m,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set sw=2 sts=2:

View File

@@ -2,7 +2,7 @@
" Compiler: HP aCC
" Maintainer: Matthias Ulrich <matthias-ulrich@web.de>
" URL: http://www.subhome.de/vim/hp_acc.vim
" Last Change: 2005 Nov 19
" Last Change: 2012 Apr 30
"
" aCC --version says: "HP ANSI C++ B3910B A.03.13"
" This compiler has been tested on:
@@ -19,6 +19,8 @@ if exists("current_compiler")
finish
endif
let current_compiler = "hp_acc"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -30,4 +32,7 @@ CompilerSet errorformat=%A%trror\ %n\:\ \"%f\"\\,\ line\ %l\ \#\ %m,
\%Z\ \ \ \ %p^%.%#,
\%-C%.%#
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:ts=8:sw=4:cindent

View File

@@ -1,7 +1,7 @@
" Compiler: Intel Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.1
" Last Change: 19 March 2011
" Last Change: 2012 Apr 30
" Homepage: http://www.vim.org/scripts/script.php?script_id=3497
" https://bitbucket.org/xuhdev/compiler-ifort.vim
" License: Same as Vim
@@ -10,6 +10,8 @@ if exists('current_compiler')
finish
endif
let current_compiler = 'ifort'
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=
\%A%f(%l):\ %tarning\ \#%n:\ %m,
\%-Z%p^,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: Intel C++ 7.1
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 May 16
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "intel"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%E%f(%l):\ error:\ %m,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 5.3 cc
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "irix5_c"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=\%Ecfe:\ Error:\ %f\\,\ line\ %l:\ %m,
\%-Z\ %p^,
\-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 5.3 CC or NCC
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "irix5_cpp"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%E\"%f\"\\,\ line\ %l:\ error(%n):\ ,
\%-Z\ \ %p%^,
\%+C\ %\\{10}%.%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: Mono C# Compiler
" Maintainer: Jarek Sobiecki <harijari@go2.pl>
" Latest Revision: 2006-06-18
" Last Updated By: Peter Collingbourne
" Latest Revision: 2012 Jul 19
if exists("current_compiler")
finish
@@ -12,13 +13,18 @@ let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
\%D%.%#Project\ \"%f/%[%^/\"]%#\"%.%#,
\%X%.%#Done\ building\ project\ \"%f/%[%^/\"]%#\"%.%#,
\%-G%\\s%.%#,
\%E%f(%l):\ error\ CS%n:%m,
\%W%f(%l):\ warning\ CS%n:%m,
\%E%f(%l\\,%c):\ error\ CS%n:%m,
\%W%f(%l\\,%c):\ warning\ CS%n:%m,
\%E%>syntax\ error\\,%m,%Z%f(%l\\,%c):\ error\ CS%n:%m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f,
\%G-%.%#
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPS C (cc)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mips_c"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPSPro C (c89)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mipspro_c89"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -20,3 +22,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%+C\ \ %m,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,12 +1,14 @@
" Vim compiler file
" Compiler: SGI IRIX 6.5 MIPSPro C++ (CC)
" Maintainer: David Harrison <david_jr@users.sourceforge.net>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let current_compiler = "mipspro_cpp"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -19,3 +21,6 @@ CompilerSet errorformat=%Ecc\-%n\ %.%#:\ ERROR\ File\ =\ %f\%\\,\ Line\ =\ %l,
\%-Z\ \ %p^,
\%-G\\s%#,
\%-G%.%#
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,21 @@
" Vim compiler file
" Compiler: Microsoft Visual Studio C#
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
" Last Change: 2013 May 13
if exists("current_compiler")
finish
endif
let current_compiler = "msbuild"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
CompilerSet makeprg=msbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,44 @@
" Vim Compiler File
" Compiler: ocaml
" Maintainer: See ftplugin/ocaml.vim (?)
" Last Change: June 2013 by Marc Weber
"
" Marc Weber's comments:
" Setting makeprg doesn't make sense, because there is ocamlc, ocamlopt,
" ocamake and whatnot. So which one to use?
"
" This error format was moved from ftplugin/ocaml.vim to this file,
" because ftplugin is the wrong file to set an error format
" and the error format itself is annoying because it joins many lines in this
" error case:
"
" Error: The implementation foo.ml does not match the interface foo.cmi:
" Modules do not match case.
"
" So having it here makes people opt-in
if exists("current_compiler")
finish
endif
let current_compiler = "ocaml"
let s:cpo_save = &cpo
set cpo&vim
CompilerSet errorformat =
\%EFile\ \"%f\"\\,\ line\ %l\\,\ characters\ %c-%*\\d:,
\%EFile\ \"%f\"\\,\ line\ %l\\,\ character\ %c:%m,
\%+EReference\ to\ unbound\ regexp\ name\ %m,
\%Eocamlyacc:\ e\ -\ line\ %l\ of\ \"%f\"\\,\ %m,
\%Wocamlyacc:\ w\ -\ %m,
\%-Zmake%.%#,
\%C%m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%D%*\\a:\ Entering\ directory\ `%f',
\%X%*\\a:\ Leaving\ directory\ `%f',
\%DMaking\ %*\\a\ in\ %f
let &cpo = s:cpo_save
unlet s:cpo_save

35
runtime/compiler/rake.vim Normal file
View File

@@ -0,0 +1,35 @@
" Vim compiler file
" Language: Rake
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
if exists("current_compiler")
finish
endif
let current_compiler = "rake"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=rake
CompilerSet errorformat=
\%D(in\ %f),
\%\\s%#from\ %f:%l:%m,
\%\\s%#from\ %f:%l:,
\%\\s%##\ %f:%l:%m,
\%\\s%##\ %f:%l,
\%\\s%#[%f:%l:\ %#%m,
\%\\s%#%f:%l:\ %#%m,
\%\\s%#%f:%l:,
\%m\ [%f:%l]:
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8:

View File

@@ -1,9 +1,7 @@
" Vim compiler file
" Language: RSpec
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 22
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
if exists("current_compiler")
@@ -18,21 +16,15 @@ endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=spec
CompilerSet makeprg=rspec
CompilerSet errorformat=
\%+W'%.%#'\ FAILED,
\%+I'%.%#'\ FIXED,
\%-Cexpected:%.%#,
\%-C\ \ \ \ \ got:%.%#,
\%f:%l:\ %tarning:\ %m,
\%E%.%#:in\ `load':\ %f:%l:%m,
\%C%f:%l:,
\%W%f:%l:\ warning:\ %m,
\%E%f:%l:in\ %*[^:]:\ %m,
\%E%f:%l:\ %m,
\%-Z%\tfrom\ %f:%l,
\%-Z%p^%.%#,
\%-C%.%#,
\%E%f:%l:in\ `%*[^']':\ %m,
\%-Z\ \ \ \ \ \#\ %f:%l:%.%#,
\%E\ \ %\\d%\\+)%.%#,
\%C\ \ \ \ \ %m,
\%-G%.%#
let &cpo = s:cpo_save

View File

@@ -9,7 +9,7 @@ endif
let current_compiler = "rst"
let s:cpo_save = &cpo
set cpo-=C
set cpo&vim
setlocal errorformat=
\%f:%l:\ (%tEBUG/0)\ %m,

View File

@@ -1,33 +1,10 @@
" Vim compiler file
" Language: Ruby
" Function: Syntax check and/or error reporting
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" ----------------------------------------------------------------------------
"
" Changelog:
" 0.2: script saves and restores 'cpoptions' value to prevent problems with
" line continuations
" 0.1: initial release
"
" Contributors:
" Hugh Sasse <hgs@dmu.ac.uk>
" Doug Kearns <djkea2@gus.gscit.monash.edu.au>
"
" Todo:
" match error type %m
"
" Comments:
" I know this file isn't perfect. If you have any questions, suggestions,
" patches, etc., please don't hesitate to let me know.
"
" This is my first experience with 'errorformat' and compiler plugins and
" I welcome any input from more experienced (or clearer-thinking)
" individuals.
" ----------------------------------------------------------------------------
if exists("current_compiler")
finish

View File

@@ -1,9 +1,7 @@
" Vim compiler file
" Language: Test::Unit - Ruby Unit Testing Framework
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" URL: https://github.com/vim-ruby/vim-ruby
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
if exists("current_compiler")

30
runtime/compiler/sass.vim Normal file
View File

@@ -0,0 +1,30 @@
" Vim compiler file
" Compiler: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
if exists("current_compiler")
finish
endif
let current_compiler = "sass"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=sass\ -c
CompilerSet errorformat=
\%f:%l:%m\ (Sass::Syntax%trror),
\%ESyntax\ %trror:%m,
\%C%\\s%\\+on\ line\ %l\ of\ %f,
\%Z%.%#,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set sw=2 sts=2:

View File

@@ -1,11 +1,13 @@
" Vim compiler file
" Compiler: TeX
" Maintainer: Artem Chuprina <ran@ran.pp.ru>
" Last Change: 2004 Mar 27
" Last Change: 2012 Apr 30
if exists("current_compiler")
finish
endif
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
@@ -30,9 +32,6 @@ else
let current_compiler = 'make'
endif
let s:cpo_save = &cpo
set cpo-=C
" Value errorformat are taken from vim help, see :help errorformat-LaTeX, with
" addition from Srinath Avadhanula <srinath@fastmail.fm>
CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
@@ -64,5 +63,5 @@ CompilerSet errorformat=%E!\ LaTeX\ %trror:\ %m,
\%+Q%*[^()])%r,
\%+Q[%\\d%*[^()])%r
let &cpo = s:cpo_save
unlet s:cpo_save
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,22 @@
" Vim compiler file
" Compiler: Mono C#
" Maintainer: Chiel ten Brinke (ctje92@gmail.com)
" Last Change: 2013 May 13
if exists("current_compiler")
finish
endif
let current_compiler = "xbuild"
let s:keepcpo= &cpo
set cpo&vim
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=\ %#%f(%l\\\,%c):\ %m
CompilerSet makeprg=xbuild\ /nologo\ /v:q\ /property:GenerateFullPaths=true
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -1,8 +1,7 @@
" Vim compiler file
" Compiler: xmllint
" Maintainer: Doug Kearns <djkea2@gus.gscit.monash.edu.au>
" URL: http://gus.gscit.monash.edu.au/~djkea2/vim/compiler/xmllint.vim
" Last Change: 2004 Nov 27
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2013 Jun 1
if exists("current_compiler")
finish
@@ -18,10 +17,8 @@ set cpo-=C
CompilerSet makeprg=xmllint\ --valid\ --noout\
CompilerSet errorformat=%E%f:%l:\ error:\ %m,
\%W%f:%l:\ warning:\ %m,
\%E%f:%l:\ validity\ error:\ %m,
\%W%f:%l:\ validity\ warning:\ %m,
CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
\%+W%f:%l:\ %.%#\ warning\ :\ %m,
\%-Z%p^,
\%-G%.%#

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2011 May 19
*autocmd.txt* For Vim version 7.3. Last change: 2013 Jun 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -33,7 +33,7 @@ files matching *.c. You can also use autocommands to implement advanced
features, such as editing compressed files (see |gzip-example|). The usual
place to put autocommands is in your .vimrc or .exrc file.
*E203* *E204* *E143*
*E203* *E204* *E143* *E855*
WARNING: Using autocommands is very powerful, and may lead to unexpected side
effects. Be careful not to destroy your text.
- It's a good idea to do some testing on an expendable copy of a file first.
@@ -263,8 +263,10 @@ Name triggered by ~
Startup and exit
|VimEnter| after doing all the startup stuff
|GUIEnter| after starting the GUI successfully
|GUIFailed| after starting the GUI failed
|TermResponse| after the terminal response to |t_RV| is received
|QuitPre| when using `:quit`, before deciding whether to quit
|VimLeavePre| before exiting Vim, before writing the viminfo file
|VimLeave| before exiting Vim, after writing the viminfo file
@@ -312,6 +314,7 @@ Name triggered by ~
|SessionLoadPost| after loading a session file
|MenuPopup| just before showing the popup menu
|CompleteDone| after Insert mode completion is done
|User| to be used in combination with ":doautocmd"
@@ -385,6 +388,10 @@ BufRead or BufReadPost When starting to edit a new buffer, after
This does NOT work for ":r file". Not used
when the file doesn't exist. Also used after
successfully recovering a file.
Also triggered for the filetypedetect group
when executing ":filetype detect" and when
writing an unnamed buffer in a way that the
buffer gets a name.
*BufReadCmd*
BufReadCmd Before starting to edit a new buffer. Should
read the file into the buffer. |Cmd-event|
@@ -448,6 +455,9 @@ BufWriteCmd Before writing the whole buffer to a file.
'modified' if successful, unless '+' is in
'cpo' and writing to another file |cpo-+|.
The buffer contents should not be changed.
When the command resets 'modified' the undo
information is adjusted to mark older undo
states as 'modified', like |:write| does.
|Cmd-event|
*BufWritePost*
BufWritePost After writing the whole buffer to a file
@@ -471,6 +481,11 @@ CmdwinLeave Before leaving the command-line window.
*ColorScheme*
ColorScheme After loading a color scheme. |:colorscheme|
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning
completion. |ins-completion|
*CursorHold*
CursorHold When the user doesn't press a key for the time
specified with 'updatetime'. Not re-triggered
@@ -498,16 +513,18 @@ CursorHold When the user doesn't press a key for the time
CursorHoldI Just like CursorHold, but in Insert mode.
*CursorMoved*
CursorMoved After the cursor was moved in Normal mode.
Also when the text of the cursor line has been
changed, e.g., with "x", "rx" or "p".
CursorMoved After the cursor was moved in Normal or Visual
mode. Also when the text of the cursor line
has been changed, e.g., with "x", "rx" or "p".
Not triggered when there is typeahead or when
an operator is pending.
For an example see |match-parens|.
Careful: Don't do anything that the user does
not expect or that is slow.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
*CursorMovedI*
CursorMovedI After the cursor was moved in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as CursorMoved.
*EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been
@@ -674,8 +691,11 @@ InsertCharPre When a character is typed in Insert mode,
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The
|v:insertmode| variable indicates the mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
Be careful not to do anything else that the
user does not expect.
The cursor is restored afterwards. If you do
not want that set |v:char| to a non-empty
string.
*InsertLeave*
InsertLeave When leaving Insert mode. Also when using
CTRL-O |i_CTRL-O|. But not for |i_CTRL-C|.
@@ -695,7 +715,10 @@ MenuPopup Just before showing the popup menu (under the
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
|:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
|:lgetfile|, |:laddfile|, |:helpgrep|,
|:lhelpgrep|).
The pattern is matched against the command
being run. When |:grep| is used but 'grepprg'
is set to "internal" it still matches "grep".
@@ -706,7 +729,16 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first
location. See |QuickFixCmdPost-example|.
location. For |:cfile| and |:lfile| commands
it is run after error file is read and before
moving to the first error.
See |QuickFixCmdPost-example|.
*QuitPre*
QuitPre When using `:quit`, `:wq` or `:qall`, before
deciding whether it closes the current window
or quits Vim. Can be used to close any
non-essential window if the current window is
the last ordinary window.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|. The
@@ -803,12 +835,27 @@ TermResponse After the response to |t_RV| is received from
triggered halfway executing another event,
especially if file I/O, a shell command or
anything else that takes time is involved.
*TextChanged*
TextChanged After a change was made to the text in the
current buffer in Normal mode. That is when
|b:changedtick| has changed.
Not triggered when there is typeahead or when
an operator is pending.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
*TextChangedI*
TextChangedI After a change was made to the text in the
current buffer in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as TextChanged.
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
":doautocmd".
*UserGettingBored*
UserGettingBored When the user hits CTRL-C. Just kidding! :-)
UserGettingBored When the user presses the same key 42 times.
Just kidding! :-)
*VimEnter*
VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
@@ -1048,7 +1095,7 @@ Note that the 'eventignore' option applies here too. Events listed in this
option will not cause any commands to be executed.
*:do* *:doau* *:doautocmd* *E217*
:do[autocmd] [group] {event} [fname]
:do[autocmd] [<nomodeline>] [group] {event} [fname]
Apply the autocommands matching [fname] (default:
current file name) for {event} to the current buffer.
You can use this when the current file name does not
@@ -1057,8 +1104,8 @@ option will not cause any commands to be executed.
It's possible to use this inside an autocommand too,
so you can base the autocommands for one extension on
another extension. Example: >
:au Bufenter *.cpp so ~/.vimrc_cpp
:au Bufenter *.cpp doau BufEnter x.c
:au BufEnter *.cpp so ~/.vimrc_cpp
:au BufEnter *.cpp doau BufEnter x.c
< Be careful to avoid endless loops. See
|autocmd-nested|.
@@ -1067,14 +1114,17 @@ option will not cause any commands to be executed.
argument is included, Vim executes only the matching
autocommands for that group. Note: if you use an
undefined group name, Vim gives you an error message.
*<nomodeline>*
After applying the autocommands the modelines are
processed, so that their settings overrule the
settings from autocommands, like what happens when
editing a file.
editing a file. This is skipped when the <nomodeline>
argument is present. You probably want to use
<nomodeline> for events that are not used when loading
a buffer, such as |User|.
*:doautoa* *:doautoall*
:doautoa[ll] [group] {event} [fname]
:doautoa[ll] [<nomodeline>] [group] {event} [fname]
Like ":doautocmd", but apply the autocommands to each
loaded buffer. Note that [fname] is used to select
the autocommands, not the buffers to which they are

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2011 Jun 19
*change.txt* For Vim version 7.3. Last change: 2013 Mar 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -71,7 +71,7 @@ For inserting text see |insert.txt|.
"D" deletes the highlighted text plus all text until
the end of the line. {not in Vi}
*:d* *:de* *:del* *:delete*
*:d* *:de* *:del* *:delete* *:dl*
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
register x].
@@ -80,15 +80,16 @@ For inserting text see |insert.txt|.
(default: current line |cmdline-ranges|) [into
register x].
These commands delete text. You can repeat them with the "." command
(except ":d") and undo them. Use Visual mode to delete blocks of text. See
These commands delete text. You can repeat them with the `.` command
(except `:d`) and undo them. Use Visual mode to delete blocks of text. See
|registers| for an explanation of registers.
An exception for the d{motion} command: If the motion is not linewise, the
start and end of the motion are not in the same line, and there are only
blanks before the start and after the end of the motion, the delete becomes
linewise. This means that the delete also removes the line of blanks that you
might expect to remain.
might expect to remain. Use the |o_v| operator to force the motion to be
characterwise.
Trying to delete an empty region of text (e.g., "d0" in the first column)
is an error when 'cpoptions' includes the 'E' flag.
@@ -131,7 +132,7 @@ gJ Join [count] lines, with a minimum of two lines.
See |ex-flags| for [flags].
These commands delete the <EOL> between lines. This has the effect of joining
multiple lines into one line. You can repeat these commands (except ":j") and
multiple lines into one line. You can repeat these commands (except `:j`) and
undo them.
These commands, except "gJ", insert one space in place of the <EOL> unless
@@ -259,6 +260,12 @@ r{char} Replace the character under the cursor with {char}.
<CR>. CTRL-V <NL> replaces with a <Nul>.
{Vi: CTRL-V <CR> still replaces with a line break,
cannot replace something with a <CR>}
If {char} is CTRL-E or CTRL-Y the character from the
line below or above is used, just like with |i_CTRL-E|
and |i_CTRL-Y|. This also works with a count, thus
`10r<C-E>` copies 10 characters from the line below.
If you give a [count], Vim replaces [count] characters
with [count] {char}s. When {char} is a <CR> or <NL>,
however, Vim inserts only one <CR>: "5r<CR>" replaces
@@ -464,9 +471,9 @@ much as possible to make the indent. You can use ">><<" to replace an indent
made out of spaces with the same indent made out of <Tab>s (and a few spaces
if necessary). If the 'expandtab' option is on, Vim uses only spaces. Then
you can use ">><<" to replace <Tab>s in the indent by spaces (or use
":retab!").
`:retab!`).
To move a line several 'shiftwidth's, use Visual mode or the ":" commands.
To move a line several 'shiftwidth's, use Visual mode or the `:` commands.
For example: >
Vjj4> move three lines 4 indents to the right
:<<< move current line 3 indents to the left
@@ -486,7 +493,7 @@ Examples of filters are "sort", which sorts lines alphabetically, and
works like a filter; not all versions do). The 'shell' option specifies the
shell Vim uses to execute the filter command (See also the 'shelltype'
option). You can repeat filter commands with ".". Vim does not recognize a
comment (starting with '"') after the ":!" command.
comment (starting with '"') after the `:!` command.
*!*
!{motion}{filter} Filter {motion} text lines through the external
@@ -573,34 +580,37 @@ For other systems the tmpnam() library function is used.
Repeat last :substitute with same search pattern and
substitute string, but without the same flags. You
may add [flags], see |:s_flags|.
Note that after ":substitute" the '&' flag can't be
Note that after `:substitute` the '&' flag can't be
used, it's recognized as a pattern separator.
The space between ":substitute" and the 'c', 'g' and
The space between `:substitute` and the 'c', 'g' and
'r' flags isn't required, but in scripts it's a good
idea to keep it to avoid confusion.
:[range]~[&][flags] [count] *:~*
Repeat last substitute with same substitute string
but with last used search pattern. This is like
":&r". See |:s_flags| for [flags].
`:&r`. See |:s_flags| for [flags].
*&*
& Synonym for ":s" (repeat last substitute). Note
& Synonym for `:s` (repeat last substitute). Note
that the flags are not remembered, thus it might
actually work differently. You can use ":&&" to keep
actually work differently. You can use `:&&` to keep
the flags.
*g&*
g& Synonym for ":%s//~/&" (repeat last substitute on all
lines with the same flags).
g& Synonym for `:%s//~/&` (repeat last substitute with
last search pattern on all lines with the same flags).
For example, when you first do a substitution with
`:s/pattern/repl/flags` and then `/search` for
something else, `g&` will do `:%s/search/repl/flags`.
Mnemonic: global substitute. {not in Vi}
*:snomagic* *:sno*
:[range]sno[magic] ... Same as ":substitute", but always use 'nomagic'.
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
{not in Vi}
*:smagic* *:sm*
:[range]sm[agic] ... Same as ":substitute", but always use 'magic'.
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
{not in Vi}
*:s_flags*
@@ -610,7 +620,7 @@ The flags that you can use for the substitute commands:
command. Examples: >
:&&
:s/this/that/&
< Note that ":s" and ":&" don't keep the flags.
< Note that `:s` and `:&` don't keep the flags.
{not in Vi}
[c] Confirm each substitution. Vim highlights the matching string (with
@@ -659,6 +669,8 @@ The flags that you can use for the substitute commands:
[n] Report the number of matches, do not actually substitute. The [c]
flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match.
[p] Print the line containing the last substitute.
@@ -666,14 +678,14 @@ The flags that you can use for the substitute commands:
[l] Like [p] but print the text like |:list|.
[r] Only useful in combination with ":&" or ":s" without arguments. ":&r"
works the same way as ":~": When the search pattern is empty, use the
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
works the same way as `:~`: When the search pattern is empty, use the
previously used search pattern instead of the search pattern from the
last substitute or ":global". If the last command that did a search
was a substitute or ":global", there is no effect. If the last
last substitute or `:global`. If the last command that did a search
was a substitute or `:global`, there is no effect. If the last
command was a search command such as "/", use the pattern from that
command.
For ":s" with an argument this already happens: >
For `:s` with an argument this already happens: >
:s/blue/red/
/green
:s//red/ or :~ or :&r
@@ -690,9 +702,9 @@ reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
pattern from the last substitute or ":global" command. If there is none, but
pattern from the last substitute or `:global` command. If there is none, but
there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command uses the pattern from the last substitute, `:global`, or search
command.
If the {string} is omitted the substitute is done as if it's empty. Thus the
@@ -772,6 +784,11 @@ Examples: >
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
:s/$/\^M/ modifies "abcde" to "abcde^M"
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
Note: "\L\u" can be used to capitalize the first letter of a word. This is
not compatible with Vi and older versions of Vim, where the "\u" would cancel
out the "\L". Same for "\U\l".
Note: In previous versions CTRL-V was handled in a special way. Since this is
not Vi compatible, this was removed. Use a backslash instead.
@@ -847,7 +864,7 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
4.4 Changing tabs *change-tabs*
*:ret* *:retab*
*:ret* *:retab* *:retab!*
:[range]ret[ab][!] [new_tabstop]
Replace all sequences of white-space containing a
<Tab> with new strings of white-space using the new
@@ -866,7 +883,7 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
Careful: This command modifies any <Tab> characters
inside of strings in a C program. Use "\t" to avoid
this (that's a good habit anyway).
":retab!" may also change a sequence of spaces by
`:retab!` may also change a sequence of spaces by
<Tab> characters, which can mess up a printf().
{not in Vi}
Not available when |+ex_extra| feature was disabled at
@@ -976,8 +993,12 @@ inside of strings can change! Also see 'softtabstop' option. >
current line). This always works |linewise|, thus
this command can be used to put a yanked block as new
lines.
The cursor is left on the first non-blank in the last
new line.
If no register is specified, it depends on the 'cb'
option: If 'cb' contains "unnamedplus", paste from the
+ register |quoteplus|. Otherwise, if 'cb' contains
"unnamed", paste from the * register |quotestar|.
Otherwise, paste from the unnamed register
|quote_quote|.
The register can also be '=' followed by an optional
expression. The expression continues until the end of
the command. You need to escape the '|' and '"'
@@ -1182,7 +1203,7 @@ nothing is returned. {not in Vi}
9. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with ":let", you can change it to have 'hlsearch' highlight
It is writable with `:let`, you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register. The search direction is available in |v:searchforward|.
Note that the valued is restored when returning from a function
@@ -1190,12 +1211,12 @@ Note that the valued is restored when returning from a function
{not in Vi}
*@/*
You can write to a register with a ":let" command |:let-@|. Example: >
You can write to a register with a `:let` command |:let-@|. Example: >
:let @/ = "the"
If you use a put command without specifying a register, Vim uses the register
that was last filled (this is also the contents of the unnamed register). If
you are confused, use the ":dis" command to find out what Vim will put (this
you are confused, use the `:dis` command to find out what Vim will put (this
command displays all named and numbered registers; the unnamed register is
labelled '"').
@@ -1491,6 +1512,7 @@ n When formatting text, recognize numbered lists. This actually uses
first line of a paragraph
second line of the same paragraph
third line.
< This also works inside comments, ignoring the comment leader.
v Vi-compatible auto-wrapping in insert mode: Only break a line at a
blank that you have entered during the current insert command. (Note:
this is not 100% Vi compatible. Vi has some "unexpected features" or
@@ -1511,6 +1533,12 @@ B When joining lines, don't insert a space between two multi-byte
characters. Overruled by the 'M' flag.
1 Don't break a line after a one-letter word. It's broken before it
instead (if possible).
j Where it makes sense, remove a comment leader when joining lines. For
example, joining:
int i; // the index ~
// in the list ~
Becomes:
int i; // the index in the list ~
With 't' and 'c' you can specify when Vim performs auto-wrapping:
@@ -1554,7 +1582,7 @@ Some examples:
:set fo=tcrq
<
Automatic formatting *auto-format*
Automatic formatting *auto-format* *autoformat*
When the 'a' flag is present in 'formatoptions' text is formatted
automatically when inserting text or deleting text. This works nice for
@@ -1663,7 +1691,7 @@ found here: |sort()|.
last search pattern is used. This allows trying out
a pattern first.
Note that using ":sort" with ":global" doesn't sort the matching lines, it's
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

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.3. Last change: 2011 Mar 27
*cmdline.txt* For Vim version 7.3. Last change: 2013 Mar 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -217,7 +217,7 @@ CTRL-\ e {expr} *c_CTRL-\_e*
:return cmd
:endfunc
< This doesn't work recursively, thus not when already editing
an expression.
an expression. But it is possible to use in a mapping.
*c_CTRL-Y*
CTRL-Y When there is a modeless selection, copy the selection into
@@ -330,12 +330,12 @@ terminals)
:his[tory] [{name}] [{first}][, [{last}]]
List the contents of history {name} which can be:
c[md] or : command-line history
s[earch] or / search string history
e[xpr] or = expression register history
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
c[md] or : command-line history
s[earch] or / or ? search string history
e[xpr] or = expression register history
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
{not in Vi}
If the numbers {first} and/or {last} are given, the respective
@@ -426,6 +426,8 @@ a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
The 'wildignorecase' option can be set to ignore case in filenames.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
(Where X is the command key to use, <C-L> is CTRL-L and <C-D> is CTRL-D)
@@ -712,10 +714,15 @@ three lines: >
Visual Mode and Range *v_:*
{Visual}: Starts a command-line with the Visual selected lines as a
range. The code ":'<,'>" is used for this range, which makes
range. The code `:'<,'>` is used for this range, which makes
it possible to select a similar line from the command-line
history for repeating a command on different Visually selected
lines.
When Visual mode was already ended, a short way to use the
Visual area for a range is `:*`. This requires that "*" does
not appear in 'cpo', see |cpo-star|. Otherwise you will have
to type `:'<,'>`
==============================================================================
5. Ex command-line flags *ex-flags*
@@ -824,10 +831,11 @@ These modifiers can be given, in this order:
the home directory. If the name is a directory a path
separator is added at the end. For a file name that does not
exist and does not have an absolute path the result is
unpredictable.
unpredictable. On MS-Windows an 8.3 filename is expanded to
the long name.
:8 Converts the path to 8.3 short format (currently only on
win32). Will act on as much of a path that is an existing
path.
MS-Windows). Will act on as much of a path that is an
existing path.
:~ Reduce file name to be relative to the home directory, if
possible. File name is unmodified if it is not below the home
directory.
@@ -956,7 +964,7 @@ for the file "$home" in the root directory. A few examples:
\\$home file "\\", followed by expanded $home
==============================================================================
6. Command-line window *cmdline-window* *cmdwin*
7. Command-line window *cmdline-window* *cmdwin*
*command-line-window*
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.3. Last change: 2010 Dec 22
*debug.txt* For Vim version 7.3. Last change: 2012 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -15,7 +15,7 @@ For debugging Vim scripts, functions, etc. see |debug-scripts|
==============================================================================
1. Location of a crash, using gcc and gdb *debug-gcc*
1. Location of a crash, using gcc and gdb *debug-gcc* *gdb*
When Vim crashes in one of the test files, and you are using gcc for
compilation, here is what you can do to find out exactly where Vim crashes.

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.3. Last change: 2008 Dec 17
*develop.txt* For Vim version 7.3. Last change: 2013 Apr 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -20,6 +20,7 @@ code.
Vim is open source software. Everybody is encouraged to contribute to help
improving Vim. For sending patches a context diff "diff -c" is preferred.
Also see http://www.vim.org/tips/tip.php?tip_id=618.
Also see http://vim.wikia.com/wiki/How_to_make_and_submit_a_patch.
==============================================================================
1. Design goals *design-goals*
@@ -232,6 +233,17 @@ time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h
instr Mac curses.h
meta Mac curses.h
newwin Mac curses.h
nl Mac curses.h
overwrite Mac curses.h
refresh Mac curses.h
scroll Mac curses.h
typeahead Mac curses.h
basename() GNU string function
dirname() GNU string function
get_env_value() Linux system function

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2011 Apr 14
*diff.txt* For Vim version 7.3. Last change: 2012 Sep 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -86,16 +86,16 @@ diff mode. You could use a construct like this: >
While already in Vim you can start diff mode in three ways.
*E98*
:diffsplit {filename} *:diffs* *:diffsplit*
:diffs[plit] {filename} *:diffs* *:diffsplit*
Open a new window on the file {filename}. The options are set
as for "vimdiff" for the current and the newly opened window.
Also see 'diffexpr'.
*:difft* *:diffthis*
:diffthis Make the current window part of the diff windows. This sets
:difft[his] Make the current window part of the diff windows. This sets
the options like for "vimdiff".
:diffpatch {patchfile} *E816* *:diffp* *:diffpatch*
:diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch*
Use the current buffer, patch it with the diff found in
{patchfile} and open a buffer on the result. The options are
set as for "vimdiff".
@@ -123,9 +123,9 @@ Since the option values are remembered with the buffer, you can edit another
file for a moment and come back to the same file and be in diff mode again.
*:diffo* *:diffoff*
:diffoff Switch off diff mode for the current window.
:diffo[ff] Switch off diff mode for the current window.
:diffoff! Switch off diff mode for the current window and in all windows
:diffo[ff]! Switch off diff mode for the current window and in all windows
in the current tab page where 'diff' is set.
The ":diffoff" command resets the relevant options to their default value.
@@ -178,7 +178,7 @@ buffer. If you don't want a buffer to remain used for the diff do ":set
nodiff" before hiding it.
*:diffu* *:diffupdate*
:diffu[pdate] Update the diff highlighting and folds.
:diffu[pdate][!] Update the diff highlighting and folds.
Vim attempts to keep the differences updated when you make changes to the
text. This mostly takes care of inserted and deleted lines. Changes within a
@@ -187,6 +187,9 @@ To force the differences to be updated use: >
:diffupdate
If the ! is included Vim will check if the file was changed externally and
needs to be reloaded. It will prompt for each changed file, like `:checktime`
was used.
Vim will show filler lines for lines that are missing in one window but are
present in another. These lines were inserted in another file or deleted in
@@ -217,7 +220,7 @@ The diffs are highlighted with these groups:
that parts in the middle that are still the
same are highlighted anyway. Only "iwhite" of
'diffopt' is used here.
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
@@ -330,7 +333,7 @@ diff. This example explains the format that Vim expects: >
The "1a2" item appends the line "bbb".
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
The "7c7" item replaces the line "GGG" with "ggg".
When 'diffexpr' is not empty, Vim evaluates it to obtain a diff file in the
format mentioned. These variables are set to the file names used:

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
*editing.txt* For Vim version 7.3. Last change: 2013 Feb 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -377,8 +377,9 @@ command that accepts more than one file name (like ":next file1 file2")
embedded spaces must be escaped with a backslash.
*wildcard* *wildcards*
Wildcards in {file} are expanded. Which wildcards are supported depends on
the system. These are the common ones:
Wildcards in {file} are expanded, but as with file completion, 'wildignore'
and 'suffixes' apply. Which wildcards are supported depends on the system.
These are the common ones:
? matches one character
* matches anything, including nothing
** matches anything, including nothing, recurses into directories
@@ -392,7 +393,7 @@ 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.
Note there are some commands where this works slightly different, see
Note there are some commands where this works slightly differently, see
|file-searching|.
Example: >
:n **/*.txt
@@ -422,9 +423,11 @@ You can have the backticks expanded as a Vim expression, instead of an
external command, by using the syntax `={expr}` e.g.: >
:e `=tempname()`
The expression can contain just about anything, thus this can also be used to
avoid the special meaning of '"', '|', '%' and '#'. Names are to be separated
with line breaks. When the result is a |List| then each item is used as a
name. Line breaks also separate names.
avoid the special meaning of '"', '|', '%' and '#'. However, 'wildignore'
does apply like to other wildcards.
If the expression returns a string then names are to be separated with line
breaks. When the result is a |List| then each item is used as a name. Line
breaks also separate names.
*++opt* *[++opt]*
The [++opt] argument can be used to force the value of 'fileformat',
@@ -1066,6 +1069,7 @@ The names can be in upper- or lowercase.
If there are other tab pages and quitting the last
window in the current tab page the current tab page is
closed |tab-page|.
Triggers the |QuitPre| autocommand event.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
@@ -1159,8 +1163,10 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
*:confirm* *:conf*
:conf[irm] {command} Execute {command}, and use a dialog when an
operation has to be confirmed. Can be used on the
":q", ":qa" and ":w" commands (the latter to over-ride
a read-only setting).
|:q|, |:qa| and |:w| commands (the latter to override
a read-only setting), and any other command that can
fail in such a way, such as |:only|, |:buffer|,
|:bdelete|, etc.
Examples: >
:confirm w foo
@@ -1213,13 +1219,13 @@ For versions of Vim where browsing is not supported, the command is executed
unmodified.
*browsefilter*
For MS Windows, you can modify the filters that are used in the browse dialog.
By setting the g:browsefilter or b:browsefilter variables, you can change the
filters globally or locally to the buffer. The variable is set to a string in
the format "{filter label}\t{pattern};{pattern}\n" where {filter label} is the
text that appears in the "Files of Type" comboBox, and {pattern} is the
pattern which filters the filenames. Several patterns can be given, separated
by ';'.
For MS Windows and GTK, you can modify the filters that are used in the browse
dialog. By setting the g:browsefilter or b:browsefilter variables, you can
change the filters globally or locally to the buffer. The variable is set to
a string in the format "{filter label}\t{pattern};{pattern}\n" where {filter
label} is the text that appears in the "Files of Type" comboBox, and {pattern}
is the pattern which filters the filenames. Several patterns can be given,
separated by ';'.
For Motif the same format is used, but only the very first pattern is actually
used (Motif only offers one pattern, but you can edit it).
@@ -1227,7 +1233,7 @@ used (Motif only offers one pattern, but you can edit it).
For example, to have only Vim files in the dialog, you could use the following
command: >
let g:browsefilter="Vim Scripts\t*.vim\nVim Startup Files\t*vimrc\n"
let g:browsefilter = "Vim Scripts\t*.vim\nVim Startup Files\t*vimrc\n"
You can override the filter setting on a per-buffer basis by setting the
b:browsefilter variable. You would most likely set b:browsefilter in a
@@ -1237,6 +1243,13 @@ difficult to start editing a file of a different type. To overcome this, you
may want to add "All Files\t*.*\n" as the final filter, so that the user can
still access any desired file.
To avoid setting browsefilter when Vim does not actually support it, you can
use has("browsefilter"): >
if has("browsefilter")
let g:browsefilter = "whatever"
endif
==============================================================================
7. The current directory *current-directory*
@@ -1639,6 +1652,6 @@ There are three different types of searching:
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
currently work with 'path' items that contain a url or use the double star
(/usr/**2) or upward search (;) notations. >
with depth limiter (/usr/**2) or upward search (;) notations.
vim:tw=78:ts=8:ft=help:norl:

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
.TH EVIM 1 "16 f<>vrier 2002 February 16"
.TH EVIM 1 "16 f<>vrier 2002"
.SH NAME
evim \- <20> Easy Vim <20>, <20>dite un fichier avec Vim sans utiliser les modes
.SH SYNOPSIS
@@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
.SH TRADUCTION
Cette page de manuel a <20>t<EFBFBD> traduite David Blanchet.
<david.blanchet@free.fr> 2005-03-26.
Mise <20> jour 2013-05-10, Dominique Pell<6C> <dominique.pelle@gmail.com>

View File

@@ -1,4 +1,4 @@
.TH EVIM 1 "16 février 2002 February 16"
.TH EVIM 1 "16 février 2002"
.SH NAME
evim \- « Easy Vim », édite un fichier avec Vim sans utiliser les modes
.SH SYNOPSIS
@@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":help credits" dans
.SH TRADUCTION
Cette page de manuel a été traduite David Blanchet.
<david.blanchet@free.fr> 2005-03-26.
Mise à jour 2013-05-10, Dominique Pellé <dominique.pelle@gmail.com>

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
*filetype.txt* For Vim version 7.3. Last change: 2013 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -603,7 +603,7 @@ Since the text for this plugin is rather long it has been put in a separate
file: |ft_sql.txt|.
TEX *ft-tex-plugin*
TEX *ft-tex-plugin* *g:tex_flavor*
If the first line of a *.tex file has the form >
%&<format>

View File

@@ -1,4 +1,4 @@
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
*ft_sql.txt* For Vim version 7.3. Last change: 2013 May 15
by David Fishburn
@@ -349,6 +349,7 @@ may not work properly on all platforms: >
The static maps (which are based on the syntax highlight groups) follow this
format: >
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword\w*')<CR><C-X><C-O>
This command breaks down as: >
imap - Create an insert map
@@ -369,6 +370,9 @@ This command breaks down as: >
command while editing a SQL file.
'sqlKeyword' - Display the items for the sqlKeyword highlight
group
'sqlKeyword\w*' - A second option available with Vim 7.4 which
uses a regular expression to determine which
syntax groups to use
)<CR> - Execute the :let command
<C-X><C-O> - Trigger the standard omni completion key stroke.
Passing in 'sqlKeyword' instructs the SQL
@@ -435,7 +439,7 @@ the space bar):
of columns, you can press <Left>, this will
replace the column list with the list of tables.
- This allows you to quickly drill down into a
table to view it's columns and back again.
table to view its columns and back again.
- <Right> and <Left> can be also be chosen via
your |.vimrc| >
let g:ftplugin_sql_omni_key_right = '<Right>'
@@ -645,7 +649,7 @@ your |vimrc|: >
- When completing tables, procedure or views and using dbext.vim 3.00
or higher the list of objects will also include the owner name.
When completing these objects and omni_sql_include_owner is enabled
the owner name will be be replaced. >
the owner name will be replaced. >
omni_sql_precache_syntax_groups
< - Default:

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
*gui.txt* For Vim version 7.3. Last change: 2013 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -93,10 +93,16 @@ and initialize other things that you may want to set up differently from the
terminal version.
Recommended place for your personal GUI initializations:
Unix $HOME/.gvimrc
OS/2 $HOME/.gvimrc or $VIM/.gvimrc
MS-DOS and Win32 $HOME/_gvimrc or $VIM/_gvimrc
Amiga s:.gvimrc or $VIM/.gvimrc
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
OS/2 $HOME/.gvimrc, $HOME/vimfiles/gvimrc
or $VIM/.gvimrc
MS-DOS and Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
or $VIM/_gvimrc
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
or $VIM/.gvimrc
The personal initialization files are searched in the order specified above
and only the first one that is found is read.
There are a number of options which only have meaning in the GUI version of
Vim. These are 'guicursor', 'guifont', 'guipty' and 'guioptions'. They are
@@ -147,6 +153,15 @@ task bar with the 'guiheadroom' option.
If you are running the X Window System, you can get information about the
window Vim is running in with this command: >
:!xwininfo -id $WINDOWID
<
*gui-IME* *iBus*
Input methods for international characters in X that rely on the XIM
framework, most notably iBus, have been known to produce undesirable results
in gVim. These may include an inability to enter spaces, or long delays
between typing a character and it being recognized by the application.
One workaround that has been successful, for unknown reasons, is to prevent
gvim from forking into the background by starting it with the |-f| argument.
==============================================================================
2. Scrollbars *gui-scrollbars*

View File

@@ -16,7 +16,7 @@ Vim's Graphical User Interface *gui-w16* *win16-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_msdos.txt| For items common to DOS and Windows.
|os_msdos.txt| For items common to DOS and Windows.
|gui_w32.txt| Some items here are also applicable to the Win16 version.
{Vi does not have a Windows GUI}

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2010 Dec 19
*gui_w32.txt* For Vim version 7.3. Last change: 2012 Aug 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
@@ -137,6 +137,9 @@ options:
And if there already is a gvim running:
"Edit with existing gvim" -- edit the file with the running gvim
The "edit with existing Vim" entries can be disabled by adding an entry in the
registry under HKLM\Software\Vim\Gvim, named DisableEditWithExisting, and with
any value.
*install-registry*
You can add the "Edit with Vim" menu entry in an easy way by using the
"install.exe" program. It will add several registry entries for you.
@@ -486,4 +489,16 @@ to:
And add gvim to the list of applications. This problem only appears to happen
with the Intellimouse driver 2.2 and when "Universal Scrolling" is turned on.
XPM support *w32-xpm-support*
Gvim can be build on MS-Windows with support for XPM files. |+xpm_w32|
See the Make_mvc.mak file for instructions, search for XPM.
To try out if XPM support works do this: >
:help
:exe 'sign define vimxpm icon=' . $VIMRUNTIME . '\\vim16x16.xpm'
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
<
vim:tw=78:sw=4:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.3. Last change: 2010 Jul 20
*gui_x11.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -53,6 +53,8 @@ When using "gvim -f" and then ":gui", Vim will run in the foreground. The
":gui -b".
"gvim --nofork" does the same as "gvim -f".
*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.
If you want the GUI to run in the foreground always, include the 'f'
flag in 'guioptions'. |-f|.

View File

@@ -93,7 +93,7 @@ Details
This is also the keymap when 'keymap=hebrew' is set. The advantage of
'keymap' is that it works properly when using UTF8, e.g. it inserts the
correct characters; 'hkmap' does not. The 'keymap' keyboard can also
insert niqud and te`amim. To see what those mappings are,look at the
insert niqud and te`amim. To see what those mappings are, look at the
keymap file 'hebrew.vim' etc.

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.3. Last change: 2010 Jul 20
*help.txt* For Vim version 7.3. Last change: 2012 Dec 06
VIM - main help file
k
@@ -195,12 +195,12 @@ Remarks about specific systems ~
*standard-plugin-list*
Standard plugins ~
|pi_getscript.txt| Downloading latest version of Vim scripts
|pi_gzip.txt| Reading and writing compressed files
|pi_netrw.txt| Reading and writing files over a network
|pi_paren.txt| Highlight matching parens
|pi_tar.txt| Tar file explorer
|pi_gzip.txt| Reading and writing compressed files
|pi_netrw.txt| Reading and writing files over a network
|pi_paren.txt| Highlight matching parens
|pi_tar.txt| Tar file explorer
|pi_vimball.txt| Create a self-installing Vim script
|pi_zip.txt| Zip archive explorer
|pi_zip.txt| Zip archive explorer
LOCAL ADDITIONS: *local-additions*

View File

@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
*helphelp.txt* For Vim version 7.3. Last change: 2012 Nov 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -194,11 +194,12 @@ command: >
*E154* *E150* *E151* *E152* *E153* *E670*
:helpt[ags] [++t] {dir}
Generate the help tags file(s) for directory {dir}.
All "*.txt" and "*.??x" files in the directory are
scanned for a help tag definition in between stars.
The "*.??x" files are for translated docs, they
generate the "tags-??" file, see |help-translated|.
The generated tags files are sorted.
All "*.txt" and "*.??x" files in the directory and
sub-directories are scanned for a help tag definition
in between stars. The "*.??x" files are for
translated docs, they generate the "tags-??" file, see
|help-translated|. The generated tags files are
sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
@@ -218,11 +219,12 @@ files. Vim will search for all help in "doc" directories in 'runtimepath'.
This is only available when compiled with the |+multi_lang| feature.
At this moment translations are available for:
Chinese - multiple authors
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Polish - translated by Mikolaj Machowski
Russian - translated by Vassily Ragosin
Chinese - multiple authors
French - translated by David Blanchet
Italian - translated by Antonio Colombo
Japanese - multiple authors
Polish - translated by Mikolaj Machowski
Russian - translated by Vassily Ragosin
See the Vim website to find them: http://www.vim.org/translations.php
A set of translated help files consists of these files:

View File

@@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 7.3. Last change: 2010 Jul 22
*if_lua.txt* For Vim version 7.3. Last change: 2012 Jun 29
VIM REFERENCE MANUAL by Luis Carvalho
@@ -8,8 +8,12 @@ The Lua Interface to Vim *lua* *Lua*
1. Commands |lua-commands|
2. The vim module |lua-vim|
3. Buffer userdata |lua-buffer|
4. Window userdata |lua-window|
3. List userdata |lua-list|
4. Dict userdata |lua-dict|
5. Funcref userdata |lua-funcref|
6. Buffer userdata |lua-buffer|
7. Window userdata |lua-window|
8. The luaeval function |lua-luaeval|
{Vi does not have any of these commands}
@@ -56,13 +60,14 @@ Example:
<
*:luado*
:[range]luado {body} Execute Lua function "function (line) {body} end" for
each line in the [range], with the function argument
being set to the text of each line in turn, without a
trailing <EOL>. If the value returned by the function
is a string it becomes the text of the line in the
current turn. The default for [range] is the whole
file: "1,$". {not in Vi}
:[range]luado {body} Execute Lua function "function (line, linenr) {body}
end" for each line in the [range], with the function
argument being set to the text of each line in turn,
without a trailing <EOL>, and the current line number.
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
{not in Vi}
Examples:
>
@@ -88,11 +93,9 @@ Examples:
All these commands execute a Lua chunk from either the command line (:lua and
:luado) or a file (:luafile) with the given line [range]. Similarly to the Lua
interpreter, each chunk has its own scope and so only global variables are
shared between command calls. Lua default libraries "table", "string", "math",
and "package" are available, "io" and "debug" are not, and "os" is restricted
to functions "date", "clock", "time", "difftime", and "getenv". In addition,
Lua "print" function has its output redirected to the Vim message area, with
arguments separated by a white space instead of a tab.
shared between command calls. All Lua default libraries are available. In
addition, Lua "print" function has its output redirected to the Vim message
area, with arguments separated by a white space instead of a tab.
Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
@@ -108,9 +111,31 @@ input range are stored in "vim.firstline" and "vim.lastline" respectively. The
module also includes routines for buffer, window, and current line queries,
Vim evaluation and command execution, and others.
vim.isbuffer(value) Returns 'true' (boolean, not string) if
"value" is a buffer userdata and 'false'
otherwise (see |lua-buffer|).
vim.list([arg]) Returns an empty list or, if "arg" is a Lua
table with numeric keys 1, ..., n (a
"sequence"), returns a list l such that l[i] =
arg[i] for i = 1, ..., n (see |List|).
Non-numeric keys are not used to initialize
the list. See also |lua-eval| for conversion
rules. Example: >
:lua t = {math.pi, false, say = 'hi'}
:echo luaeval('vim.list(t)')
:" [3.141593, 0], 'say' is ignored
<
vim.dict([arg]) Returns an empty dictionary or, if "arg" is a
Lua table, returns a dict d such that d[k] =
arg[k] for all string keys k in "arg" (see
|Dictionary|). Number keys are converted to
strings. Keys that are not strings are not
used to initialize the dictionary. See also
|lua-eval| for conversion rules. Example: >
:lua t = {math.pi, false, say = 'hi'}
:echo luaeval('vim.dict(t)')
:" {'say': 'hi'}, numeric keys ignored
<
vim.funcref({name}) Returns a Funcref to function {name} (see
|Funcref|). It is equivalent to Vim's
"function".
vim.buffer([arg]) If "arg" is a number, returns buffer with
number "arg" in the buffer list or, if "arg"
@@ -121,16 +146,21 @@ Vim evaluation and command execution, and others.
'true' returns the first buffer in the buffer
list or else the current buffer.
vim.iswindow(value) Returns 'true' (boolean, not string) if
"value" is a window userdata and
'false' otherwise (see |lua-window|).
vim.window([arg]) If "arg" is a number, returns window with
number "arg" or 'nil' (nil value, not string)
if not found. Otherwise, if "toboolean(arg)"
is 'true' returns the first window or else the
current window.
vim.type({arg}) Returns the type of {arg}. It is equivalent to
Lua's "type" function, but returns "list",
"dict", "funcref", "buffer", or "window" if
{arg} is a list, dictionary, funcref, buffer,
or window, respectively. Examples: >
:lua l = vim.list()
:lua print(type(l), vim.type(l))
:" userdata list
<
vim.command({cmd}) Executes the vim (ex-mode) command {cmd}.
Examples: >
:lua vim.command"set tw=60"
@@ -141,7 +171,7 @@ Vim evaluation and command execution, and others.
Vim strings and numbers are directly converted
to Lua strings and numbers respectively. Vim
lists and dictionaries are converted to Lua
tables (lists become integer-keyed tables).
userdata (see |lua-list| and |lua-dict|).
Examples: >
:lua tw = vim.eval"&tw"
:lua print(vim.eval"{'a': 'one'}".a)
@@ -157,7 +187,105 @@ Vim evaluation and command execution, and others.
==============================================================================
3. Buffer userdata *lua-buffer*
3. List userdata *lua-list*
List userdata represent vim lists, and the interface tries to follow closely
Vim's syntax for lists. Since lists are objects, changes in list references in
Lua are reflected in Vim and vice-versa. A list "l" has the following
properties and methods:
Properties
----------
o "#l" is the number of items in list "l", equivalent to "len(l)"
in Vim.
o "l[k]" returns the k-th item in "l"; "l" is zero-indexed, as in Vim.
To modify the k-th item, simply do "l[k] = newitem"; in
particular, "l[k] = nil" removes the k-th item from "l".
o "l()" returns an iterator for "l".
Methods
-------
o "l:add(item)" appends "item" to the end of "l".
o "l:insert(item[, pos])" inserts "item" at (optional)
position "pos" in the list. The default value for "pos" is 0.
Examples:
>
:let l = [1, 'item']
:lua l = vim.eval('l') -- same 'l'
:lua l:add(vim.list())
:lua l[0] = math.pi
:echo l[0] " 3.141593
:lua l[0] = nil -- remove first item
:lua l:insert(true, 1)
:lua print(l, #l, l[0], l[1], l[-1])
:lua for item in l() do print(item) end
<
==============================================================================
4. Dict userdata *lua-dict*
Similarly to list userdata, dict userdata represent vim dictionaries; since
dictionaries are also objects, references are kept between Lua and Vim. A dict
"d" has the following properties:
Properties
----------
o "#d" is the number of items in dict "d", equivalent to "len(d)"
in Vim.
o "d.key" or "d['key']" returns the value at entry "key" in "d".
To modify the entry at this key, simply do "d.key = newvalue"; in
particular, "d.key = nil" removes the entry from "d".
o "d()" returns an iterator for "d" and is equivalent to "items(d)" in
Vim.
Examples:
>
:let d = {'n':10}
:lua d = vim.eval('d') -- same 'd'
:lua print(d, d.n, #d)
:let d.self = d
:lua for k, v in d() do print(d, k, v) end
:lua d.x = math.pi
:lua d.self = nil -- remove entry
:echo d
<
==============================================================================
5. Funcref userdata *lua-funcref*
Funcref userdata represent funcref variables in Vim. Funcrefs that were
defined with a "dict" attribute need to be obtained as a dictionary key
in order to have "self" properly assigned to the dictionary (see examples
below.) A funcref "f" has the following properties:
Properties
----------
o "#f" is the name of the function referenced by "f"
o "f(...)" calls the function referenced by "f" (with arguments)
Examples:
>
:function I(x)
: return a:x
: endfunction
:let R = function('I')
:lua i1 = vim.funcref('I')
:lua i2 = vim.eval('R')
:lua print(#i1, #i2) -- both 'I'
:lua print(i1, i2, #i2(i1) == #i1(i2))
:function Mylen() dict
: return len(self.data)
: endfunction
:let mydict = {'data': [0, 1, 2, 3]}
:lua d = vim.eval('mydict'); d.len = vim.funcref('Mylen')
:echo mydict.len()
:lua l = d.len -- assign d as 'self'
:lua print(l())
<
==============================================================================
6. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
properties and methods:
@@ -209,7 +337,7 @@ Examples:
<
==============================================================================
4. Window userdata *lua-window*
7. Window userdata *lua-window*
Window objects represent vim windows. A window userdata "w" has the following
properties and methods:
@@ -241,4 +369,35 @@ Examples:
<
==============================================================================
vim:tw=78:ts=8:ft=help:norl:
8. The luaeval function *lua-luaeval* *lua-eval*
The (dual) equivalent of "vim.eval" for passing Lua values to Vim is
"luaeval". "luaeval" takes an expression string and an optional argument and
returns the result of the expression. It is semantically equivalent in Lua to:
>
local chunkheader = "local _A = select(1, ...) return "
function luaeval (expstr, arg)
local chunk = assert(loadstring(chunkheader .. expstr, "luaeval"))
return chunk(arg) -- return typval
end
<
Note that "_A" receives the argument to "luaeval". Lua numbers, strings, and
list, dict, and funcref userdata are converted to their Vim respective types,
while Lua booleans are converted to numbers. An error is thrown if conversion
of any of the remaining Lua types, including userdata other than lists, dicts,
and funcrefs, is attempted.
Examples: >
:echo luaeval('math.pi')
:lua a = vim.list():add('newlist')
:let a = luaeval('a')
:echo a[0] " 'newlist'
:function Rand(x,y) " random uniform between x and y
: return luaeval('(_A.y-_A.x)*math.random()+_A.x', {'x':a:x,'y':a:y})
: endfunction
:echo Rand(1,10)
==============================================================================
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
*if_mzsch.txt* For Vim version 7.3. Last change: 2012 Dec 17
VIM REFERENCE MANUAL by Sergey Khorev
@@ -11,7 +11,8 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
3. Threads |mzscheme-threads|
4. Vim access from MzScheme |mzscheme-vim|
5. mzeval() Vim function |mzscheme-mzeval|
6. Dynamic loading |mzscheme-dynamic|
6. Using Function references |mzscheme-funcref|
7. Dynamic loading |mzscheme-dynamic|
{Vi does not have any of these commands}
@@ -21,10 +22,17 @@ The MzScheme interface is available only if Vim was compiled with the
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
For downloading MzScheme and other info:
http://www.plt-scheme.org/software/mzscheme/
MzScheme and PLT Scheme names have been rebranded as Racket. For more
information please check http://racket-lang.org
Note: On FreeBSD you should use the "drscheme" port.
Futures and places of Racket version 5.x up to and including 5.3.1 do not
work correctly with processes created by Vim.
The simplest solution is to build Racket on your own with these features
disabled: >
./configure --disable-futures --disable-places --prefix=your-install-prefix
To speed up the process, you might also want to use --disable-gracket and
--disable-docs
==============================================================================
1. Commands *mzscheme-commands*
@@ -155,8 +163,11 @@ Common
(eval {expr-string}) Evaluate the vim expression into
respective MzScheme object: |Lists| are
represented as Scheme lists,
|Dictionaries| as hash tables.
NOTE the name clashes with MzScheme eval
|Dictionaries| as hash tables,
|Funcref|s as functions (see also
|mzscheme-funcref|)
NOTE the name clashes with MzScheme eval,
use module qualifiers to overcome this.
(range-start) Start/End of the range passed with
(range-end) the Scheme command.
(beep) beep
@@ -237,7 +248,23 @@ To facilitate bi-directional interface, you can use |mzeval()| function to
evaluate MzScheme expressions and pass their values to VimL.
==============================================================================
6. Dynamic loading *mzscheme-dynamic* *E815*
6. Using Function references *mzscheme-funcref*
MzScheme interface allows use of |Funcref|s so you can call Vim functions
directly from Scheme. For instance: >
function! MyAdd2(arg)
return a:arg + 2
endfunction
mz (define f2 (vim-eval "function(\"MyAdd2\")"))
mz (f2 7)
< or : >
:mz (define indent (vim-eval "function('indent')"))
" return Vim indent for line 12
:mz (indent 12)
<
==============================================================================
7. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 7.3. Last change: 2010 Jul 21
*if_perl.txt* For Vim version 7.3. Last change: 2012 Oct 25
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -44,15 +44,17 @@ The Perl patches for Vim were made by:
Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
Matt Gerassimof
Perl for MS-Windows can be found at:
http://www.perl.com/CPAN/ports/nt/Standard/x86/
Perl for MS-Windows can be found at: http://www.perl.com/
The ActiveState one should work.
==============================================================================
3. Using the Perl interface *perl-using*
*:perl* *:pe*
:pe[rl] {cmd} Execute Perl command {cmd}. The current package
is "main".
is "main". Simple example to test if `:perl` is
working: >
:perl VIM::Msg("Hello")
:pe[rl] << {endpattern}
{script}
@@ -173,7 +175,8 @@ VIM::Windows([{wn}...]) With no arguments, returns a list of all the windows
VIM::DoCommand({cmd}) Executes Ex command {cmd}.
*perl-Eval*
VIM::Eval({expr}) Evaluates {expr} and returns (success, val).
VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
context or just value in scalar context.
success=1 indicates that val contains the value of
{expr}; success=0 indicates a failure to evaluate
the expression. '@x' returns the contents of register

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2011 May 07
*if_pyth.txt* For Vim version 7.3. Last change: 2013 Jun 28
VIM REFERENCE MANUAL by Paul Moore
@@ -6,13 +6,16 @@
The Python Interface to Vim *python* *Python*
1. Commands |python-commands|
2. The vim module |python-vim|
3. Buffer objects |python-buffer|
4. Range objects |python-range|
5. Window objects |python-window|
6. Dynamic loading |python-dynamic|
7. Python 3 |python3|
1. Commands |python-commands|
2. The vim module |python-vim|
3. Buffer objects |python-buffer|
4. Range objects |python-range|
5. Window objects |python-window|
6. Tab page objects |python-tabpage|
7. vim.bindeval objects |python-bindeval-objects|
8. pyeval(), py3eval() Vim functions |python-pyeval|
9. Dynamic loading |python-dynamic|
10. Python 3 |python3|
{Vi does not have any of these commands}
@@ -26,7 +29,9 @@ The Python 3 interface is available only when Vim was compiled with the
*:python* *:py* *E205* *E263* *E264*
:[range]py[thon] {stmt}
Execute Python statement {stmt}.
Execute Python statement {stmt}. A simple check if
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << {endmarker}
{script}
@@ -51,9 +56,25 @@ Example: >
EOF
endfunction
<
Note: Python is very sensitive to the indenting. Also make sure the "class"
line and "EOF" do not have any indent.
Note: Python is very sensitive to the indenting. Make sure the "class" line
and "EOF" do not have any indent.
*:pydo*
:[range]pydo {body} Execute Python function "def _vim_pydo(line, linenr):
{body}" for each line in the [range], with the
function arguments being set to the text of each line
in turn, without a trailing <EOL>, and the current
line number. The function should return a string or
None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range]
is the whole file: "1,$".
{not in Vi}
Examples:
>
:pydo return "%s\t%d" % (line[::-1], len(line))
:pydo if line: return "%4d: %s" % (linenr, line)
<
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
Execute the Python script in {file}. The whole
@@ -150,7 +171,27 @@ vim.eval(str) *python-eval*
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name':
'eval_expr', 'kind': 'f', 'filename': './src/eval.c'}]
vim.bindeval(str) *python-bindeval*
Like |python-eval|, but returns special objects described in
|python-bindeval-objects|. These python objects let you modify (|List|
or |Dictionary|) or call (|Funcref|) vim objects.
vim.strwidth(str) *python-strwidth*
Like |strwidth()|: returns number of display cells str occupies, tab
is counted as one cell.
vim.foreach_rtp(callable) *python-foreach_rtp*
Call the given callable for each path in 'runtimepath' until either
callable returns something but None, the exception is raised or there
are no longer paths. If stopped in case callable returned non-None,
vim.foreach_rtp function returns the value returned by callable.
vim.chdir(*args, **kwargs) *python-chdir*
vim.fchdir(*args, **kwargs) *python-fchdir*
Run os.chdir or os.fchdir, then all appropriate vim stuff.
Note: you should not use these functions directly, use os.chdir and
os.fchdir instead. Behavior of vim.fchdir is undefined in case
os.fchdir does not exist.
Error object of the "vim" module
@@ -170,12 +211,12 @@ Constants of the "vim" module
to which the variables referred.
vim.buffers *python-buffers*
A sequence object providing access to the list of vim buffers. The
A mapping object providing access to the list of vim buffers. The
object supports the following operations: >
:py b = vim.buffers[i] # Indexing (read-only)
:py b in vim.buffers # Membership test
:py n = len(vim.buffers) # Number of elements
:py for b in vim.buffers: # Sequential access
:py for b in vim.buffers: # Iterating over buffer list
<
vim.windows *python-windows*
A sequence object providing access to the list of vim windows. The
@@ -184,13 +225,28 @@ vim.windows *python-windows*
:py w in vim.windows # Membership test
:py n = len(vim.windows) # Number of elements
:py for w in vim.windows: # Sequential access
< Note: vim.windows object always accesses current tab page.
|python-tabpage|.windows objects are bound to parent |python-tabpage|
object and always use windows from that tab page (or throw vim.error
in case tab page was deleted). You can keep a reference to both
without keeping a reference to vim module object or |python-tabpage|,
they will not lose their properties in this case.
vim.tabpages *python-tabpages*
A sequence object providing access to the list of vim tab pages. The
object supports the following operations: >
:py t = vim.tabpages[i] # Indexing (read-only)
:py t in vim.tabpages # Membership test
:py n = len(vim.tabpages) # Number of elements
:py for t in vim.tabpages: # Sequential access
<
vim.current *python-current*
An object providing access (via specific attributes) to various
"current" objects available in vim:
vim.current.line The current line (RW) String
vim.current.buffer The current buffer (RO) Buffer
vim.current.window The current window (RO) Window
vim.current.buffer The current buffer (RW) Buffer
vim.current.window The current window (RW) Window
vim.current.tabpage The current tab page (RW) TabPage
vim.current.range The current line range (RO) Range
The last case deserves a little explanation. When the :python or
@@ -198,6 +254,42 @@ vim.current *python-current*
"current range". A range is a bit like a buffer, but with all access
restricted to a subset of lines. See |python-range| for more details.
Note: When assigning to vim.current.{buffer,window,tabpage} it expects
valid |python-buffer|, |python-window| or |python-tabpage| objects
respectively. Assigning triggers normal (with |autocommand|s)
switching to given buffer, window or tab page. It is the only way to
switch UI objects in python: you can't assign to
|python-tabpage|.window attribute. To switch without triggering
autocommands use >
py << EOF
saved_eventignore = vim.options['eventignore']
vim.options['eventignore'] = 'all'
try:
vim.current.buffer = vim.buffers[2] # Switch to buffer 2
finally:
vim.options['eventignore'] = saved_eventignore
EOF
<
vim.vars *python-vars*
vim.vvars *python-vvars*
Dictionary-like objects holding dictionaries with global (|g:|) and
vim (|v:|) variables respectively. Identical to `vim.bindeval("g:")`,
but faster.
vim.options *python-options*
Object partly supporting mapping protocol (supports setting and
getting items) providing a read-write access to global options.
Note: unlike |:set| this provides access only to global options. You
cannot use this object to obtain or set local options' values or
access local-only options in any fashion. Raises KeyError if no global
option with such name exists (i.e. does not raise KeyError for
|global-local| options and global only options, but does for window-
and buffer-local ones). Use |python-buffer| objects to access to
buffer-local options and |python-window| objects to access to
window-local options.
Type of this object is available via "Options" attribute of vim
module.
Output from Python *python-output*
Vim displays all Python code output in the Vim message area. Normal
@@ -214,6 +306,88 @@ Output from Python *python-output*
supported, and may cause the program to crash. This should probably be
fixed.
*python2-directory* *python3-directory* *pythonx-directory*
Python 'runtimepath' handling *python-special-path*
In python vim.VIM_SPECIAL_PATH special directory is used as a replacement for
the list of paths found in 'runtimepath': with this directory in sys.path and
vim.path_hooks in sys.path_hooks python will try to load module from
{rtp}/python2 (or python3) and {rtp}/pythonx (for both python versions) for
each {rtp} found in 'runtimepath'.
Implementation is similar to the following, but written in C: >
from imp import find_module, load_module
import vim
import sys
class VimModuleLoader(object):
def __init__(self, module):
self.module = module
def load_module(self, fullname, path=None):
return self.module
def _find_module(fullname, oldtail, path):
idx = oldtail.find('.')
if idx > 0:
name = oldtail[:idx]
tail = oldtail[idx+1:]
fmr = find_module(name, path)
module = load_module(fullname[:-len(oldtail)] + name, *fmr)
return _find_module(fullname, tail, module.__path__)
else:
fmr = find_module(fullname, path)
return load_module(fullname, *fmr)
# It uses vim module itself in place of VimPathFinder class: it does not
# matter for python which object has find_module function attached to as
# an attribute.
class VimPathFinder(object):
@classmethod
def find_module(cls, fullname, path=None):
try:
return VimModuleLoader(_find_module(fullname, fullname, path or vim._get_paths()))
except ImportError:
return None
@classmethod
def load_module(cls, fullname, path=None):
return _find_module(fullname, fullname, path or vim._get_paths())
def hook(path):
if path == vim.VIM_SPECIAL_PATH:
return VimPathFinder
else:
raise ImportError
sys.path_hooks.append(hook)
vim.VIM_SPECIAL_PATH *python-VIM_SPECIAL_PATH*
String constant used in conjunction with vim path hook. If path hook
installed by vim is requested to handle anything but path equal to
vim.VIM_SPECIAL_PATH constant it raises ImportError. In the only other
case it uses special loader.
Note: you must not use value of this constant directly, always use
vim.VIM_SPECIAL_PATH object.
vim.find_module(...) *python-find_module*
vim.path_hook(path) *python-path_hook*
Methods or objects used to implement path loading as described above.
You should not be using any of these directly except for vim.path_hook
in case you need to do something with sys.meta_path. It is not
guaranteed that any of the objects will exist in the future vim
versions.
vim._get_paths *python-_get_paths*
Methods returning a list of paths which will be searched for by path
hook. You should not rely on this method being present in future
versions, but can use it for debugging.
It returns a list of {rtp}/python2 (or {rtp}/python3) and
{rtp}/pythonx directories for each {rtp} in 'runtimepath'.
==============================================================================
3. Buffer objects *python-buffer*
@@ -222,8 +396,9 @@ Buffer objects represent vim buffers. You can obtain them in a number of ways:
- from indexing vim.buffers (|python-buffers|)
- from the "buffer" attribute of a window (|python-window|)
Buffer objects have one read-only attribute - name - the full file name for
the buffer. They also have three methods (append, mark, and range; see below).
Buffer objects have two read-only attributes - name - the full file name for
the buffer, and number - the buffer number. They also have three methods
(append, mark, and range; see below).
You can also treat buffer objects as sequence objects. In this context, they
act as if they were lists (yes, they are mutable) of strings, with each
@@ -238,6 +413,24 @@ Buffer indexes start at zero, as is normal in Python. This differs from vim
line numbers, which start from 1. This is particularly relevant when dealing
with marks (see below) which use vim line numbers.
The buffer object attributes are:
b.vars Dictionary-like object used to access
|buffer-variable|s.
b.options Mapping object (supports item getting, setting and
deleting) that provides access to buffer-local options
and buffer-local values of |global-local| options. Use
|python-window|.options if option is window-local,
this object will raise KeyError. If option is
|global-local| and local value is missing getting it
will return None.
b.name String, RW. Contains buffer name (full path).
Note: when assigning to b.name |BufFilePre| and
|BufFilePost| autocommands are launched.
b.number Buffer number. Can be used as |python-buffers| key.
Read-only.
b.valid True or False. Buffer object becomes invalid when
corresponding buffer is wiped out.
The buffer object methods are:
b.append(str) Append a line to the buffer
b.append(str, nr) Idem, below line "nr"
@@ -256,6 +449,8 @@ Note that when adding a line it must not contain a line break character '\n'.
A trailing '\n' is allowed and ignored, so that you can do: >
:py b.append(f.readlines())
Buffer object type is available using "Buffer" attribute of vim module.
Examples (assume b is the current buffer) >
:py print b.name # write the buffer file name
:py b[0] = "hello!!!" # replace the top line
@@ -267,6 +462,9 @@ Examples (assume b is the current buffer) >
:py n = len(b) # number of lines
:py (row,col) = b.mark('a') # named mark
:py r = b.range(1,5) # a sub-range of the buffer
:py b.vars["foo"] = "bar" # assign b:foo variable
:py b.options["ff"] = "dos" # set fileformat
:py del b.options["ar"] # same as :set autoread<
==============================================================================
4. Range objects *python-range*
@@ -294,6 +492,8 @@ The range object methods are:
for Python's built-in list objects.
r.append(list, nr) Idem, after line "nr"
Range object type is available using "Range" attribute of vim module.
Example (assume r is the current range):
# Send all lines in a range to the default printer
vim.command("%d,%dhardcopy!" % (r.start+1,r.end+1))
@@ -304,6 +504,8 @@ Example (assume r is the current range):
Window objects represent vim windows. You can obtain them in a number of ways:
- via vim.current.window (|python-current|)
- from indexing vim.windows (|python-windows|)
- from indexing "windows" attribute of a tab page (|python-tabpage|)
- from the "window" attribute of a tab page (|python-tabpage|)
You can manipulate window objects only through their attributes. They have no
methods, and no sequence or other interface.
@@ -314,11 +516,167 @@ Window attributes are:
This is a tuple, (row,col).
height (read-write) The window height, in rows
width (read-write) The window width, in columns
vars (read-only) The window |w:| variables. Attribute is
unassignable, but you can change window
variables this way
options (read-only) The window-local options. Attribute is
unassignable, but you can change window
options this way. Provides access only to
window-local options, for buffer-local use
|python-buffer| and for global ones use
|python-options|. If option is |global-local|
and local value is missing getting it will
return None.
number (read-only) Window number. The first window has number 1.
This is zero in case it cannot be determined
(e.g. when the window object belongs to other
tab page).
row, col (read-only) On-screen window position in display cells.
First position is zero.
tabpage (read-only) Window tab page.
valid (read-write) True or False. Window object becomes invalid
when corresponding window is closed.
The height attribute is writable only if the screen is split horizontally.
The width attribute is writable only if the screen is split vertically.
Window object type is available using "Window" attribute of vim module.
==============================================================================
6. Dynamic loading *python-dynamic*
6. Tab page objects *python-tabpage*
Tab page objects represent vim tab pages. You can obtain them in a number of
ways:
- via vim.current.tabpage (|python-current|)
- from indexing vim.tabpages (|python-tabpages|)
You can use this object to access tab page windows. They have no methods and
no sequence or other interfaces.
Tab page attributes are:
number The tab page number like the one returned by
|tabpagenr()|.
windows Like |python-windows|, but for current tab page.
vars The tab page |t:| variables.
window Current tabpage window.
valid True or False. Tab page object becomes invalid when
corresponding tab page is closed.
TabPage object type is available using "TabPage" attribute of vim module.
==============================================================================
7. vim.bindeval objects *python-bindeval-objects*
vim.Dictionary object *python-Dictionary*
Dictionary-like object providing access to vim |Dictionary| type.
Attributes:
Attribute Description ~
locked One of *python-.locked*
Value Description ~
zero Variable is not locked
vim.VAR_LOCKED Variable is locked, but can be unlocked
vim.VAR_FIXED Variable is locked and can't be unlocked
Read-write. You can unlock locked variable by assigning
`True` or `False` to this attribute. No recursive locking
is supported.
scope One of
Value Description ~
zero Dictionary is not a scope one
vim.VAR_DEF_SCOPE |g:| or |l:| dictionary
vim.VAR_SCOPE Other scope dictionary,
see |internal-variables|
Methods (note: methods do not support keyword arguments):
Method Description ~
keys() Returns a list with dictionary keys.
values() Returns a list with dictionary values.
items() Returns a list of 2-tuples with dictionary contents.
update(iterable), update(dictionary), update(**kwargs)
Adds keys to dictionary.
get(key[, default=None])
Obtain key from dictionary, returning the default if it is
not present.
pop(key[, default])
Remove specified key from dictionary and return
corresponding value. If key is not found and default is
given returns the default, otherwise raises KeyError.
popitem()
Remove random key from dictionary and return (key, value)
pair.
has_key(key)
Check whether dictionary contains specified key, similar
to `key in dict`.
__new__(), __new__(iterable), __new__(dictionary), __new__(update)
You can use `vim.Dictionary()` to create new vim
dictionaries. `d=vim.Dictionary(arg)` is the same as
`d=vim.bindeval('{}');d.update(arg)`. Without arguments
constructs empty dictionary.
Examples: >
d = vim.Dictionary(food="bar") # Constructor
d['a'] = 'b' # Item assignment
print d['a'] # getting item
d.update({'c': 'd'}) # .update(dictionary)
d.update(e='f') # .update(**kwargs)
d.update((('g', 'h'), ('i', 'j'))) # .update(iterable)
for key in d.keys(): # .keys()
for val in d.values(): # .values()
for key, val in d.items(): # .items()
print isinstance(d, vim.Dictionary) # True
for key in d: # Iteration over keys
class Dict(vim.Dictionary): # Subclassing
<
Note: when iterating over keys you should not modify dictionary.
vim.List object *python-List*
Sequence-like object providing access to vim |List| type.
Supports `.locked` attribute, see |python-.locked|. Also supports the
following methods:
Method Description ~
extend(item) Add items to the list.
__new__(), __new__(iterable)
You can use `vim.List()` to create new vim lists.
`l=vim.List(iterable)` is the same as
`l=vim.bindeval('[]');l.extend(iterable)`. Without
arguments constructs empty list.
Examples: >
l = vim.List("abc") # Constructor, result: ['a', 'b', 'c']
l.extend(['abc', 'def']) # .extend() method
print l[1:] # slicing
l[:0] = ['ghi', 'jkl'] # slice assignment
print l[0] # getting item
l[0] = 'mno' # assignment
for i in l: # iteration
print isinstance(l, vim.List) # True
class List(vim.List): # Subclassing
vim.Function object *python-Function*
Function-like object, acting like vim |Funcref| object. Supports `.name`
attribute and is callable. Accepts special keyword argument `self`, see
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
Examples: >
f = vim.Function('tr') # Constructor
print f('abc', 'a', 'b') # Calls tr('abc', 'a', 'b')
vim.command('''
function DictFun() dict
return self
endfunction
''')
f = vim.bindeval('function("DictFun")')
print f(self={}) # Like call('DictFun', [], {})
print isinstance(f, vim.Function) # True
==============================================================================
8. pyeval() and py3eval() Vim functions *python-pyeval*
To facilitate bi-directional interface, you can use |pyeval()| and |py3eval()|
functions to evaluate Python expressions and pass their values to VimL.
==============================================================================
9. Dynamic loading *python-dynamic*
On MS-Windows the Python library can be loaded dynamically. The |:version|
output then includes |+python/dyn|.
@@ -335,12 +693,17 @@ Currently the name is "python24.dll". That is for Python 2.4. To know for
sure edit "gvim.exe" and search for "python\d*.dll\c".
==============================================================================
7. Python 3 *python3*
10. Python 3 *python3*
*:py3* *:python3*
The |:py3| and |:python3| commands work similar to |:python|.
*:py3file*
The |:py3file| command works similar to |:pyfile|.
The `:py3` and `:python3` commands work similar to `:python`. A simple check
if the `:py3` command is working: >
:py3 print("Hello")
< *:py3file*
The `:py3file` command works similar to `:pyfile`.
*:py3do* *E863*
The `:py3do` command works similar to `:pydo`.
Vim can be built in four ways (:version output):
1. No Python support (-python, -python3)
@@ -380,7 +743,7 @@ To work around such problems there are these options:
*has-python*
You can test what Python version is available with: >
if has('python')
echo 'there is Pyton 2.x'
echo 'there is Python 2.x'
elseif has('python3')
echo 'there is Python 3.x'
endif

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Oct 27
*if_ruby.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Shugo Maeda
@@ -25,7 +25,8 @@ downloading Ruby there.
1. Commands *ruby-commands*
*:ruby* *:rub*
:rub[y] {cmd} Execute Ruby command {cmd}.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << {endpattern}
{script}
@@ -40,9 +41,6 @@ downloading Ruby there.
wasn't compiled in. To avoid errors, see
|script-here|.
Command to try it out: >
:ruby print "Hello" # this is a comment
Example Vim script: >
function! RedGem()
@@ -211,6 +209,8 @@ for sure edit "gvim.exe" and search for "ruby\d*.dll\c".
If you want to build Vim with Ruby 1.9.1, you need to edit the config.h file
and comment-out the check for _MSC_VER.
You may also need to rename the include directory name to match the version,
strangely for Ruby 1.9.3 the directory is called 1.9.1.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 7.3. Last change: 2008 Aug 16
*if_tcl.txt* For Vim version 7.3. Last change: 2012 Aug 02
VIM REFERENCE MANUAL by Ingo Wilken
@@ -27,7 +27,9 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
1. Commands *tcl-ex-commands* *E571* *E572*
*:tcl* *:tc*
:tc[l] {cmd} Execute Tcl command {cmd}.
:tc[l] {cmd} Execute Tcl command {cmd}. A simple check if `:tcl`
is working: >
:tcl puts "Hello"
:[range]tc[l] << {endmarker}
{script}

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2011 May 31
*indent.txt* For Vim version 7.3. Last change: 2013 Jun 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -132,8 +132,8 @@ The 'cinoptions' option sets how Vim performs indentation. The value after
the option character can be one of these (N is any number):
N indent N spaces
-N indent N spaces to the left
Ns N times 'shiftwidth spaces
-Ns N times 'shiftwidth spaces to the left
Ns N times 'shiftwidth' spaces
-Ns N times 'shiftwidth' spaces to the left
In the list below,
"N" represents a number of your choice (the number can be negative). When
@@ -432,7 +432,7 @@ The examples below assume a 'shiftwidth' of 4.
c3 c3
) && c4; ) && c4;
<
*cino-2*
*cino-w*
wN When in unclosed parentheses and N is non-zero and either
using "(0" or "u0", respectively, or using "U0" and the unclosed
parentheses is the first non-white character in its line, line
@@ -459,6 +459,22 @@ The examples below assume a 'shiftwidth' of 4.
argument); argument);
a_short_line(argument, a_short_line(argument,
argument); argument);
<
*cino-k*
kN When in unclosed parentheses which follow "if", "for" or
"while" and N is non-zero, overrides the behaviour defined by
"(N": causes the indent to be N characters relative to the outer
context (i.e. the line where "if", "for" or "while" is). Has
no effect on deeper levels of nesting. Affects flags like "wN"
only for the "if", "for" and "while" conditions. If 0, defaults
to behaviour defined by the "(N" flag. (default: 0).
cino=(0 cino=(0,ks >
if (condition1 if (condition1
&& condition2) && condition2)
action(); action();
function(argument1 function(argument1
&& argument2); && argument2);
<
*cino-m*
mN When N is non-zero, line up a line starting with a closing
@@ -486,9 +502,10 @@ The examples below assume a 'shiftwidth' of 4.
) )
<
*java-cinoptions* *java-indenting* *cino-j*
jN Indent java anonymous classes correctly. The value 'N' is
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
indent for example the following code snippet correctly: >
jN Indent Java anonymous classes correctly. Also works well for
Javascript. The value 'N' is currently unused but must be
non-zero (e.g. 'j1'). 'j1' will indent for example the
following code snippet correctly: >
object.add(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
@@ -499,7 +516,8 @@ The examples below assume a 'shiftwidth' of 4.
*javascript-cinoptions* *javascript-indenting* *cino-J*
JN Indent JavaScript object declarations correctly by not confusing
them with labels. The value 'N' is currently unused but must be
non-zero (e.g. 'J1'). >
non-zero (e.g. 'J1'). If you enable this you probably also want
to set |cino-j|. >
var bar = {
foo: {
@@ -522,20 +540,20 @@ The examples below assume a 'shiftwidth' of 4.
*cino-star*
*N Vim searches for unclosed comments at most N lines away. This
limits the time needed to search for the start of a comment.
If your /* */ comments stop indenting afer N lines this is the
If your /* */ comments stop indenting after N lines this is the
value you will want to change.
(default 70 lines).
*cino-#*
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognizes '#' comments. Note
'#'. Default N is zero: don't recognize '#' comments. Note
that lines starting with # will still be seen as preprocessor
lines.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
@@ -559,6 +577,106 @@ $VIMRUNTIME/indent directory for examples.
REMARKS ABOUT SPECIFIC INDENT FILES ~
CLOJURE *ft-clojure-indent* *clojure-indent*
Clojure indentation differs somewhat from traditional Lisps, due in part to
the use of square and curly brackets, and otherwise by community convention.
These conventions are not always universally followed, so the Clojure indent
script offers a few configurable options, listed below.
If the current vim does not include searchpairpos(), the indent script falls
back to normal 'lisp' indenting, and the following options are ignored.
*g:clojure_maxlines*
Set maximum scan distance of searchpairpos(). Larger values trade performance
for correctness when dealing with very long forms. A value of 0 will scan
without limits.
>
" Default
let g:clojure_maxlines = 100
<
*g:clojure_fuzzy_indent*
*g:clojure_fuzzy_indent_patterns*
*g:clojure_fuzzy_indent_blacklist*
The 'lispwords' option is a list of comma-separated words that mark special
forms whose subforms must be indented with two spaces.
For example:
>
(defn bad []
"Incorrect indentation")
(defn good []
"Correct indentation")
<
If you would like to specify 'lispwords' with a |pattern| instead, you can use
the fuzzy indent feature:
>
" Default
let g:clojure_fuzzy_indent = 1
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
let g:clojure_fuzzy_indent_blacklist =
\ ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
" Legacy comma-delimited string version; the list format above is
" recommended. Note that patterns are implicitly anchored with ^ and $
let g:clojure_fuzzy_indent_patterns = 'with.*,def.*,let.*'
<
|g:clojure_fuzzy_indent_patterns| and |g:clojure_fuzzy_indent_blacklist| are
|Lists| of patterns that will be matched against the unquoted, unqualified
symbol at the head of a list. This means that a pattern like "^foo" will match
all these candidates: "foobar", "my.ns/foobar", and "#'foobar".
Each candidate word is tested for special treatment in this order:
1. Return true if word is literally in 'lispwords'
2. Return false if word matches a pattern in
|g:clojure_fuzzy_indent_blacklist|
3. Return true if word matches a pattern in
|g:clojure_fuzzy_indent_patterns|
4. Return false and indent normally otherwise
*g:clojure_special_indent_words*
Some forms in Clojure are indented so that every subform is indented only two
spaces, regardless of 'lispwords'. If you have a custom construct that should
be indented in this idiosyncratic fashion, you can add your symbols to the
default list below.
>
" Default
let g:clojure_special_indent_words =
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
<
*g:clojure_align_multiline_strings*
Align subsequent lines in multiline strings to the column after the opening
quote, instead of the same column.
For example:
>
(def default
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.")
(def aligned
"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut
enim ad minim veniam, quis nostrud exercitation ullamco laboris
nisi ut aliquip ex ea commodo consequat.")
<
This option is off by default.
>
" Default
let g:clojure_align_multiline_strings = 0
<
FORTRAN *ft-fortran-indent*
Block if, select case, where, and forall constructs are indented. So are
@@ -611,6 +729,50 @@ buffer-local variable as follows >
let b:fortran_indent_less=1
HTML *ft-html-indent* *html-indent* *html-indenting*
This is about variables you can set in your vimrc to customize HTML indenting.
You can set the indent for the first line after <script> and <style>
"blocktags" (default "zero"): >
:let g:html_indent_script1 = "inc"
:let g:html_indent_style1 = "inc"
<
VALUE MEANING ~
"zero" zero indent
"auto" auto indent (same indent as the blocktag)
"inc" auto indent + one indent step
Many tags increase the indent for what follows per default (see "Add Indent
Tags" in the script). You can add further tags with: >
:let g:html_indent_inctags = "html,body,head,tbody"
You can also remove such tags with: >
:let g:html_indent_autotags = "th,td,tr,tfoot,thead"
Default value is empty for both variables. Note: the initial "inctags" are
only defined once per Vim session.
User variables are only read when the script is sourced. To enable your
changes during a session, without reloading the HTML file, you can manually
do: >
:call HtmlIndent_CheckUserSettings()
Detail:
Calculation of indent inside "blocktags" with "alien" content:
BLOCKTAG INDENT EXPR WHEN APPLICABLE ~
<script> : {customizable} if first line of block
: cindent(v:lnum) if attributes empty or contain "java"
: -1 else (vbscript, tcl, ...)
<style> : {customizable} if first line of block
: GetCSSIndent() else
<!-- --> : -1
PHP *ft-php-indent* *php-indent* *php-indenting*
NOTE: PHP files will be indented correctly only if PHP |syntax| is active.
@@ -622,12 +784,12 @@ those useless characters first with a command like: >
:%s /\r$//g
Or, you can simply |:let| the variable PHP_removeCRwhenUnix to 1 and the
script will silently remove them when Vim loads a PHP file (at each|BufRead|).
script will silently remove them when Vim loads a PHP file (at each |BufRead|).
OPTIONS: ~
PHP indenting can be altered in several ways by modifying the values of some
variables:
global variables:
*php-comment*
To not enable auto-formating of comments by default (if you want to use your
@@ -635,10 +797,21 @@ own 'formatoptions'): >
:let g:PHP_autoformatcomment = 0
Else, 't' will be removed from the 'formatoptions' string and "qrowcb" will be
added, see|fo-table|for more information.
added, see |fo-table| for more information.
-------------
To add an extra indent to every PHP lines with N being the number of
To add extra indentation to single-line comments: >
:let g:PHP_outdentSLComments = N
With N being the number of 'shiftwidth' to add.
Only single-line comments will be affected such as: >
# Comment
// Comment
/* Comment */
-------------
To add extra indentation to every PHP lines with N being the number of
'shiftwidth' to add: >
:let g:PHP_default_indenting = N
@@ -654,7 +827,7 @@ For example, with N = 1, this will give:
$command_hist = TRUE;
?>
(Notice the extra indent between the PHP container markers and the code)
(Notice the extra indentation between the PHP container markers and the code)
-------------
To indent PHP tags as the surrounding code: >
@@ -686,8 +859,10 @@ NOTE: Indenting will be a bit slower if this option is used because some
To indent 'case:' and 'default:' statements in switch() blocks: >
:let g:PHP_vintage_case_default_indent = 1
(Since in PHP braces are not required inside 'case/default' blocks, by default they are indented at the same level than the 'switch()' to avoid
unnecessary indentation)
In PHP braces are not required inside 'case/default' blocks therefore 'case:'
and 'default:' are indented at the same level than the 'switch()' to avoid
meaningless indentation. You can use the above option to return to the
traditional way.
PYTHON *ft-python-indent*
@@ -704,6 +879,43 @@ Indent for a continuation line: >
let g:pyindent_continue = '&sw * 2'
R *ft-r-indent*
Function arguments are aligned if they span for multiple lines. If you prefer
do not have the arguments of functions aligned, put in your |vimrc|:
>
let r_indent_align_args = 0
<
All lines beginning with a comment character, #, get the same indentation
level of the normal R code. Users of Emacs/ESS may be used to have lines
beginning with a single # indented in the 40th column, ## indented as R code,
and ### not indented. If you prefer that lines beginning with comment
characters are aligned as they are by Emacs/ESS, put in your |vimrc|:
>
let r_indent_ess_comments = 1
<
If you prefer that lines beginning with a single # are aligned at a column
different from the 40th one, you should set a new value to the variable
r_indent_comment_column, as in the example below:
>
let r_indent_comment_column = 30
<
Any code after a line that ends with "<-" is indented. Emacs/ESS does not
indent the code if it is a top level function. If you prefer that the
Vim-R-plugin behaves like Emacs/ESS in this regard, put in your |vimrc|:
>
let r_indent_ess_compatible = 1
<
Below is an example of indentation with and without this option enabled:
>
### r_indent_ess_compatible = 1 ### r_indent_ess_compatible = 0
foo <- foo <-
function(x) function(x)
{ {
paste(x) paste(x)
} }
<
SHELL *ft-sh-indent*
The amount of indent applied under various circumstances in a shell file can

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2011 Jan 04
*index.txt* For Vim version 7.3. Last change: 2013 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -94,8 +94,8 @@ tag char action in Insert mode ~
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|i_<Esc>| <Esc> end insert mode (unless 'insertmode' set)
|i_CTRL-[| CTRL-[ same as <Esc>
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|i_CTRL-]| CTRL-] trigger abbreviation
@@ -141,7 +141,7 @@ tag char action in Insert mode ~
|i_<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|i_<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|i_<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|i_<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|i_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
@@ -212,8 +212,8 @@ tag char note action in Normal mode ~
|CTRL-Y| CTRL-Y scroll N lines downwards
|CTRL-Z| CTRL-Z suspend program (or start new shell)
CTRL-[ <Esc> not used
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|CTRL-]| CTRL-] :ta to ident under cursor
@@ -431,7 +431,7 @@ tag char note action in Normal mode ~
|<Insert>| <Insert> 2 same as "i"
|<Left>| <Left> 1 same as "h"
|<LeftMouse>| <LeftMouse> 1 move cursor to the mouse click position
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|<MiddleMouse>| <MiddleMouse> 2 same as "gP" at the mouse click position
|<PageDown>| <PageDown> same as CTRL-F
|<PageUp>| <PageUp> same as CTRL-B
|<Right>| <Right> 1 same as "l"
@@ -640,7 +640,7 @@ tag char note action in Normal mode ~
|[s| [s 1 move to the previous misspelled word
|[z| [z 1 move to start of open fold
|[{| [{ 1 cursor N times back to unmatched '{'
|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
|[<MiddleMouse>| [<MiddleMouse> 2 same as "[p"
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
included files matching the word under the
@@ -680,7 +680,7 @@ tag char note action in Normal mode ~
|]s| ]s 1 move to next misspelled word
|]z| ]z 1 move to end of open fold
|]}| ]} 1 cursor N times forward to unmatched '}'
|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
|]<MiddleMouse>| ]<MiddleMouse> 2 same as "]p"
==============================================================================
2.4 Commands starting with 'g' *g*
@@ -719,10 +719,13 @@ tag char note action in Normal mode ~
|gH| gH start Select line mode
|gI| gI 2 like "I", but always start in column 1
|gJ| gJ 2 join lines without inserting space
|gN| gN 1,2 find the previous match with the last used
search pattern and Visually select it
|gP| ["x]gP 2 put the text [from register x] before the
cursor N times, leave the cursor after it
|gQ| gQ switch to "Ex" mode with Vim editing
|gR| gR 2 enter Virtual Replace mode
|gT| gT go to the previous tab page
|gU| gU{motion} 2 make Nmove text uppercase
|gV| gV don't reselect the previous Visual area
when executing a mapping or menu in Select
@@ -751,6 +754,8 @@ tag char note action in Normal mode ~
lines down
|gk| gk 1 like "k", but when 'wrap' on go N screen
lines up
|gn| gn 1,2 find the next match with the last used
search pattern and Visually select it
|gm| gm 1 go to character at middle of the screenline
|go| go 1 cursor to byte N in the buffer
|gp| ["x]gp 2 put the text [from register x] after the
@@ -758,6 +763,7 @@ tag char note action in Normal mode ~
|gq| gq{motion} 2 format Nmove text
|gr| gr{char} 2 virtual replace N chars with {char}
|gs| gs go to sleep for N seconds (default 1)
|gt| gt go to the next tab page
|gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor
@@ -795,6 +801,10 @@ tag char note action in Normal mode ~
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
|zG| zG mark word as good spelled word
|zH| zH when 'wrap' off scroll half a screenwidth
to the right
|zL| zL when 'wrap' off scroll half a screenwidth
to the left
|zM| zM set 'foldlevel' to zero
|zN| zN set 'foldenable'
|zO| zO open folds recursively
@@ -1007,8 +1017,8 @@ tag command action in Command-line editing mode ~
CTRL-Z not used (reserved for suspend)
|c_<Esc>| <Esc> abandon command-line without executing it
|c_<Esc>| CTRL-[ same as <Esc>
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
abandon command-line
CTRL-\ a - d reserved for extensions
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
@@ -1130,7 +1140,7 @@ tag command action ~
|:cgetbuffer| :cgetb[uffer] get errors from buffer
|:cgetexpr| :cgete[xpr] get errors from expr
|:cgetfile| :cg[etfile] read file with error messages
|:changes| :cha[nges] print the change list
|:changes| :changes print the change list
|:chdir| :chd[ir] change directory
|:checkpath| :che[ckpath] list included files
|:checktime| :checkt[ime] check timestamp of loaded buffers
@@ -1261,7 +1271,7 @@ tag command action ~
|: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
|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines
@@ -1379,7 +1389,7 @@ tag command action ~
|:promptrepl| :promptr[epl] open GUI dialog for search/replace
|:perldo| :perld[o] execute Perl command for each line
|:pop| :po[p] jump to older entry in tag stack
|:popup| :pop[up] popup a menu by name
|:popup| :popu[p] popup a menu by name
|:ppop| :pp[op] ":pop" in preview window
|:preserve| :pre[serve] write all text to swap file
|:previous| :prev[ious] go to previous file in argument list
@@ -1397,8 +1407,10 @@ tag command action ~
|:pwd| :pw[d] print current directory
|:py3| :py3 execute Python 3 command
|:python3| :python3 same as :py3
|:py3do| :py3d[o] execute Python 3 command for each line
|:py3file| :py3f[ile] execute Python 3 script file
|:python| :py[thon] execute Python command
|:pydo| :pyd[o] execute Python command for each line
|:pyfile| :pyf[ile] execute Python script file
|:quit| :q[uit] quit current window (when one window quit Vim)
|:quitall| :quita[ll] quit Vim
@@ -1465,7 +1477,7 @@ tag command action ~
|:slast| :sla[st] split window and go to last file in the
argument list
|:smagic| :sm[agic] :substitute with 'magic'
|:smap| :sma[p] like ":map" but for Select mode
|:smap| :smap like ":map" but for Select mode
|:smapclear| :smapc[lear] remove all mappings for Select mode
|:smenu| :sme[nu] add menu for Select mode
|:snext| :sn[ext] split window and go to next file in the
@@ -1502,6 +1514,7 @@ tag command action ~
|:sview| :sv[iew] split window and edit file read-only
|:swapname| :sw[apname] show the name of the current swap file
|:syntax| :sy[ntax] syntax highlighting
|:syntime| :synti[me] measure syntax highlighting speed
|:syncbind| :sync[bind] sync scroll binding
|:t| :t same as ":copy"
|:tNext| :tN[ext] jump to previous matching tag

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10
*insert.txt* For Vim version 7.3. Last change: 2013 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -380,11 +380,16 @@ The CTRL-O command sometimes has a side effect: If the cursor was beyond the
end of the line, it will be put on the last character in the line. In
mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
beware of the cursor possibly being beyond the end of the line.
beware of the cursor possibly being beyond the end of the line. Note that the
command following CTRL-\ CTRL-O can still move the cursor, it is not restored
to its original position.
The CTRL-O command takes you to Normal mode. If you then use a command enter
Insert mode again it doesn't nest. Thus when typing "a<C-O>a" and then <Esc>
takes you back to Normal mode, you do not need to type <Esc> twice.
Insert mode again it normally doesn't nest. Thus when typing "a<C-O>a" and
then <Esc> takes you back to Normal mode, you do not need to type <Esc> twice.
An exception is when not typing the command, e.g. when executing a mapping or
sourcing a script. This makes mappings work that briefly switch to Insert
mode.
The shifted cursor keys are not available on all terminals.
@@ -398,7 +403,12 @@ An example for using CTRL-G u: >
This redefines the backspace key to start a new undo sequence. You can now
undo the effect of the backspace key, without changing what you typed before
that, with CTRL-O u.
that, with CTRL-O u. Another example: >
:inoremap <CR> <C-]><C-G>u<CR>
This breaks undo at each line break. It also expands abbreviations before
this.
Using CTRL-O splits undo: the text typed before and after it is undone
separately. If you want to avoid this (e.g., in a mapping) you might be able
@@ -483,7 +493,7 @@ option}
*ins-smarttab*
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
the beginning of a line and 'tabstop' positions in other places. This means
that often spaces instead of a <Tab> character are inserted. When 'smarttab
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
used for ">>" and the like. {not in Vi}
@@ -1009,8 +1019,13 @@ The function must return the column where the completion starts. It must be a
number between zero and the cursor column "col('.')". This involves looking
at the characters just before the cursor and including those characters that
could be part of the completed item. The text between this column and the
cursor column will be replaced with the matches. Return -1 if no completion
can be done.
cursor column will be replaced with the matches.
Special return values:
-1 If no completion can be done, the completion will be cancelled with an
error message.
-2 To cancel silently and stay in completion mode.
-3 To cancel silently and leave completion mode.
On the second invocation the arguments are:
a:findstart 0
@@ -1020,6 +1035,23 @@ On the second invocation the arguments are:
The function must return a List with the matching words. These matches
usually include the "a:base" text. When there are no matches return an empty
List.
In order to return more information than the matching words, return a Dict
that contains the List. The Dict can have these items:
words The List of matching words (mandatory).
refresh A string to control re-invocation of the function
(optional).
The only value currently recognized is "always", the
effect is that the function is called whenever the
leading text is changed.
Other items are ignored.
For acting upon end of completion, see the |CompleteDone| autocommand event.
For example, the function can contain this: >
let matches = ... list of words ...
return {'words': matches, 'refresh': 'always'}
<
*complete-items*
Each list item can either be a string or a Dictionary. When it is a string it
is used as the completion. When it is a Dictionary it can contain these
@@ -1040,9 +1072,10 @@ items:
empty when non-zero this match will be added even when it is
an empty string
All of these except 'icase' must be a string. If an item does not meet these
requirements then an error message is given and further items in the list are
not used. You can mix string and Dictionary items in the returned list.
All of these except 'icase', 'dup' and 'empty' must be a string. If an item
does not meet these requirements then an error message is given and further
items in the list are not used. You can mix string and Dictionary items in
the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
@@ -1435,9 +1468,9 @@ knows how to color highlight. It can be used for any filetype and provides a
minimal language-sensitive completion.
To enable syntax code completion you can run: >
setlocal omnifunc=syntaxcomplete#Complete
setlocal omnifunc=syntaxcomplete#Complete
You can automate this by placing the following in your vimrc (after any
You can automate this by placing the following in your |.vimrc| (after any
":filetype" command): >
if has("autocmd") && exists("+omnifunc")
autocmd Filetype *
@@ -1454,7 +1487,7 @@ customize which syntax groups to include or exclude from the list. Let's have
a look at the PHP filetype to see how this works.
If you edit a file called, index.php, run the following command: >
:syntax list
syntax list
The first thing you will notice is that there are many different syntax groups.
The PHP language can include elements from different languages like HTML,
@@ -1463,24 +1496,38 @@ that begin with the filetype, "php", in this case. For example these syntax
groups are included by default with the PHP: phpEnvVar, phpIntVar,
phpFunctions.
The PHP language has an enormous number of items which it knows how to syntax
highlight. This means these items will be available within the omni
completion list. Some people may find this list unwieldy or are only
interested in certain items.
If you wish non-filetype syntax items to also be included, you can use a
regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim)
to add items. Looking at the output from ":syntax list" while editing a PHP file
I can see some of these entries: >
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
There are two ways to prune this list (if necessary). If you find certain
syntax groups you do not wish displayed you can add the following to your
vimrc: >
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
To pick up any JavaScript and HTML keyword syntax groups while editing a PHP
file, you can use 3 different regexs, one for each language. Or you can
simply restrict the include groups to a particular value, without using
a regex string: >
let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+'
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
<
The basic form of this variable is: >
let g:omni_syntax_group_include_{filetype} = 'regex,comma,separated'
The PHP language has an enormous number of items which it knows how to syntax
highlight. These these items will be available within the omni completion
list.
Some people may find this list unwieldy or are only interested in certain
items. There are two ways to prune this list (if necessary). If you find
certain syntax groups you do not wish displayed you can use two different
methods to identify these groups. The first specifically lists the syntax
groups by name. The second uses a regular expression to identify both
syntax groups. Simply add one the following to your vimrc: >
let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant'
let g:omni_syntax_group_exclude_php = 'php\w*Constant'
Add as many syntax groups to this list by comma separating them. The basic
form of this variable is: >
let g:omni_syntax_group_exclude_{filetype} = 'comma,separated,list'
For completeness the opposite is also true. Creating this variable in your
vimrc will only include the items in the phpFunctions and phpMethods syntax
groups: >
let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods'
let g:omni_syntax_group_exclude_{filetype} = 'regex,comma,separated'
You can create as many of these variables as you need, varying only the
filetype at the end of the variable name.
@@ -1521,6 +1568,9 @@ To retrieve only the syntax items for the sqlOperator syntax group: >
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
echo OmniSyntaxList( ['sqlOperator', 'sqlType'] )
A regular expression can also be used: >
echo OmniSyntaxList( ['sql\w\+'] )
From within a plugin, you would typically assign the output to a List: >
let myKeywords = []
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
@@ -1836,13 +1886,15 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
See |++opt| for the possible values of [++opt].
*:r!* *:read!*
:[range]r[ead] !{cmd} Execute {cmd} and insert its standard output below
:[range]r[ead] [++opt] !{cmd}
Execute {cmd} and insert its standard output below
the cursor or the specified line. A temporary file is
used to store the output of the command which is then
read into the buffer. 'shellredir' is used to save
the output of the command, which can be set to include
stderr or not. {cmd} is executed like with ":!{cmd}",
any '!' is replaced with the previous command |:!|.
See |++opt| for the possible values of [++opt].
These commands insert the contents of a file, or the output of a command,
into the buffer. They can be undone. They cannot be repeated with the "."

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2011 May 15
*intro.txt* For Vim version 7.3. Last change: 2013 Jun 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -261,6 +261,7 @@ Vim would never have become what it is now, without the help of these people!
I wish to thank all the people that sent me bug reports and suggestions. The
list is too long to mention them all here. Vim would not be the same without
the ideas from all these people: They keep Vim alive!
*love* *peace* *friendship* *gross-national-happiness*
In this documentation there are several references to other versions of Vi:
@@ -394,6 +395,8 @@ CTRL-{char} {char} typed as a control character; that is, typing {char}
*quotecommandquote*
"command" A reference to a command that you can type is enclosed in
double quotes.
`command` New style command, this distinguishes it from other quoted
text and strings.
*key-notation* *key-codes* *keycodes*
These names for keys are used in the documentation. They can also be used

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2011 Jun 13
*map.txt* For Vim version 7.3. Last change: 2013 Jun 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,7 +49,7 @@ modes.
:nm[ap] {lhs} {rhs} |mapmode-n| *:nm* *:nmap*
:vm[ap] {lhs} {rhs} |mapmode-v| *:vm* *:vmap*
:xm[ap] {lhs} {rhs} |mapmode-x| *:xm* *:xmap*
:smap {lhs} {rhs} |mapmode-s| *:smap*
:smap {lhs} {rhs} |mapmode-s| *:smap*
:om[ap] {lhs} {rhs} |mapmode-o| *:om* *:omap*
:map! {lhs} {rhs} |mapmode-ic| *:map!*
:im[ap] {lhs} {rhs} |mapmode-i| *:im* *:imap*
@@ -159,9 +159,9 @@ type "a", then "bar" will get inserted.
1.2 SPECIAL ARGUMENTS *:map-arguments*
"<buffer>", "<silent>", "<special>", "<script>", "<expr>" and "<unique>" can
be used in any order. They must appear right after the command, before any
other arguments.
"<buffer>", "<nowait>", "<silent>", "<special>", "<script>", "<expr>" and
"<unique>" can be used in any order. They must appear right after the
command, before any other arguments.
*:map-local* *:map-<buffer>* *E224* *E225*
If the first argument to one of these commands is "<buffer>" the mapping will
@@ -169,12 +169,23 @@ be effective in the current buffer only. Example: >
:map <buffer> ,w /[.,;]<CR>
Then you can map ",w" to something else in another buffer: >
:map <buffer> ,w /[#&!]<CR>
The local buffer mappings are used before the global ones.
The local buffer mappings are used before the global ones. See <nowait> below
to make a short local mapping not taking effect when a longer global one
exists.
The "<buffer>" argument can also be used to clear mappings: >
:unmap <buffer> ,w
:mapclear <buffer>
Local mappings are also cleared when a buffer is deleted, but not when it is
unloaded. Just like local option values.
Also see |map-precedence|.
*:map-<nowait>* *:map-nowait*
When defining a buffer-local mapping for "," there may be a global mapping
that starts with ",". Then you need to type another character for Vim to know
whether to use the "," mapping or the longer one. To avoid this add the
<nowait> argument. Then the mapping will be used when it matches, Vim does
not wait for more characters to be typed. However, if the characters were
already type they are used.
*:map-<silent>* *:map-silent*
To define a mapping which will not be echoed on the command line, add
@@ -228,7 +239,7 @@ text before the cursor and start omni completion when some condition is met.
For abbreviations |v:char| is set to the character that was typed to trigger
the abbreviation. You can use this to decide how to expand the {lhs}. You
you should not either insert or change the v:char.
should not either insert or change the v:char.
Be very careful about side effects! The expression is evaluated while
obtaining characters, you may very well make the command dysfunctional.
@@ -237,11 +248,18 @@ For this reason the following is blocked:
- Editing another buffer.
- The |:normal| command.
- Moving the cursor is allowed, but it is restored afterwards.
- You can use getchar(), but the existing typeahead isn't seen and new
typeahead is discarded.
If you want the mapping to do any of these let the returned characters do
that.
You can use getchar(), it consumes typeahead if there is any. E.g., if you
have these mappings: >
inoremap <expr> <C-L> nr2char(getchar())
inoremap <expr> <C-L>x "foo"
If you now type CTRL-L nothing happens yet, Vim needs the next character to
decide what mapping to use. If you type 'x' the second mapping is used and
"foo" is inserted. If you type any other key the first mapping is used,
getchar() gets the typed key and returns it.
Here is an example that inserts a list number that increases: >
let counter = 0
inoremap <expr> <C-L> ListItem()
@@ -520,7 +538,7 @@ mappings.
<LocalLeader> is just like <Leader>, except that it uses "maplocalleader"
instead of "mapleader". <LocalLeader> is to be used for mappings which are
local to a buffer. Example: >
:map <LocalLeader>q \DoItNow
:map <buffer> <LocalLeader>A oanother line<Esc>
<
In a global plugin <Leader> should be used and in a filetype plugin
<LocalLeader>. "mapleader" and "maplocalleader" can be equal. Although, if
@@ -544,6 +562,7 @@ construct can be used:
<Char-123> character 123
<Char-033> character 27
<Char-0x7f> character 127
<S-Char-114> character 114 ('r') shifted ('R')
This is useful to specify a (multi-byte) character in a 'keymap' file.
Upper and lowercase differences are ignored.
@@ -646,6 +665,17 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
you type slowly, or your system is slow, reset the 'timeout' option. Then you
might want to set the 'ttimeout' option.
*map-precedence*
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
global mappings. When a buffer-local mapping is the same as a global mapping,
Vim will use the buffer-local mapping. In addition, Vim will use a complete
mapping immediately if it was defined with <nowait>, even if a longer mapping
has the same prefix. For example, given the following two mappings: >
:map <buffer> <nowait> \a :echo "Local \a"<CR>
:map \abc :echo "Global \abc"<CR>
When typing \a the buffer-local mapping will be used immediately. Vim will
not wait for more characters to see if the user might be typing \abc.
*map-keys-fails*
There are situations where key codes might not be recognized:
- Vim can only read part of the key code. Mostly this is only the first
@@ -1180,7 +1210,7 @@ reported if any are supplied). However, it is possible to specify that the
command can take arguments, using the -nargs attribute. Valid cases are:
-nargs=0 No arguments are allowed (the default)
-nargs=1 Exactly one argument is require, it includes spaces
-nargs=1 Exactly one argument is required, it includes spaces
-nargs=* Any number of arguments are allowed (0, 1, or many),
separated by white space
-nargs=? 0 or 1 arguments are allowed
@@ -1211,25 +1241,33 @@ completion can be enabled:
-complete=augroup autocmd groups
-complete=buffer buffer names
-complete=behave :behave suboptions
-complete=color color schemes
-complete=command Ex command (and arguments)
-complete=compiler compilers
-complete=cscope |:cscope| suboptions
-complete=dir directory names
-complete=environment environment variable names
-complete=event autocommand events
-complete=expression Vim expression
-complete=file file and directory names
-complete=file_in_path file and directory names in |'path'|
-complete=filetype filetype names |'filetype'|
-complete=function function name
-complete=help help subjects
-complete=highlight highlight groups
-complete=history :history suboptions
-complete=locale locale names (as output of locale -a)
-complete=mapping mapping name
-complete=menu menus
-complete=option options
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
-complete=syntime |:syntime| suboptions
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-complete=user user names
-complete=var user variables
-complete=custom,{func} custom completion, defined via {func}
-complete=customlist,{func} custom completion, defined via {func}

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.3. Last change: 2011 Feb 01
*mbyte.txt* For Vim version 7.3. Last change: 2013 May 18
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -48,9 +48,9 @@ COMPILING
If you already have a compiled Vim program, check if the |+multi_byte| feature
is included. The |:version| command can be used for this.
If +multi_byte is not included, you should compile Vim with "big" features.
You can further tune what features are included. See the INSTALL files in the
source directory.
If +multi_byte is not included, you should compile Vim with "normal", "big" or
"huge" features. You can further tune what features are included. See the
INSTALL files in the source directory.
LOCALE
@@ -475,7 +475,7 @@ Useful utilities for converting the charset:
|charset| converter. Supported |charset|: ISO-2022-CN, ISO-2022-JP,
ISO-2022-KR, EUC-CN, EUC-JP, EUC-KR, EUC-TW, UTF-7, UTF-8, ISO-8859
series, Shift_JIS, Big5 and HZ. Lv can be found at:
http://www.ff.iij4u.or.jp/~nrt/freeware/lv4495.tar.gz
http://www.ff.iij4u.or.jp/~nrt/lv/index.html
*mbyte-conversion*
@@ -615,7 +615,7 @@ Each field means:
charsets, such as JIS X 0208, if this field is 0, code points has
the same value as GL, and GR if 1.
For example, in case of a 14 dots font corresponding to JIS X 0208, it is
For example, in case of a 16 dots font corresponding to JIS X 0208, it is
written like:
-misc-fixed-medium-r-normal--16-110-100-100-c-160-jisx0208.1990-0
@@ -797,8 +797,8 @@ is suitable for complex input, such as CJK.
number of Hira-gana characters are 76. So, first, we pre-input text as
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
if needed. There are some Kana-Kanji conversion server: jserver
(distributed with Wnn, see below) and canna. Canna could be found at:
ftp://ftp.nec.co.jp/pub/Canna/ (no longer works).
(distributed with Wnn, see below) and canna. Canna can be found at:
http://canna.sourceforge.jp/
There is a good input system: Wnn4.2. Wnn 4.2 contains,
xwnmo (|IM-server|)
@@ -857,7 +857,7 @@ Use the RPM or port for your system.
USING XIM *multibyte-input* *E284* *E286* *E287* *E288*
*E285* *E291* *E292* *E290* *E289*
*E285* *E289*
Note that Display and Input are independent. It is possible to see your
language even though you have no input method for it. But when your Display
@@ -1067,7 +1067,7 @@ The actual mappings are in the lines below "loadkeymap". In the example "a"
is mapped to "A" and "b" to "B". Thus the first item is mapped to the second
item. This is done for each line, until the end of the file.
These items are exactly the same as what can be used in a |:lnoremap| command,
using "<buffer>" to make the mappings local to the buffer..
using "<buffer>" to make the mappings local to the buffer.
You can check the result with this command: >
:lmap
The two items must be separated by white space. You cannot include white
@@ -1085,6 +1085,13 @@ Since the mapping is defined with |:lnoremap| the resulting quote will not be
used for the start of another character.
The "accents" keymap uses this. *keymap-accents*
The first column can also be in |<>| form:
<C-c> Ctrl-C
<A-c> Alt-c
<A-C> Alt-C
Note that the Alt mappings may not work, depending on your keyboard and
terminal.
Although it's possible to have more than one character in the second column,
this is unusual. But you can use various ways to specify the character: >
A a literal character
@@ -1306,8 +1313,8 @@ character. However, search patterns may not match on an overlong sequence.
character.) An exception is NUL (zero) which is displayed as "<00>".
In the file and buffer the full range of Unicode characters can be used (31
bits). However, displaying only works for 16 bit characters, and only for the
characters present in the selected font.
bits). However, displaying only works for the characters present in the
selected font.
Useful commands:
- "ga" shows the decimal, hexadecimal and octal value of the character under

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.3. Last change: 2011 May 10
*message.txt* For Vim version 7.3. Last change: 2013 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -730,7 +730,11 @@ Vim cannot create a temporary file.
Can't open file {filename}
Can't read file {filename}
Vim cannot read a temporary file.
Vim cannot read a temporary file. Especially on Windows, this can be caused
by wrong escaping of special characters for cmd.exe; the approach was
changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
given to |system()|, or explicitly add escaping with ^. Also see
'shellxquote' and 'shellxescape'.
*E464* >
Ambiguous use of user-defined command

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.3. Last change: 2010 Dec 11
*mlang.txt* For Vim version 7.3. Last change: 2012 Jan 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,7 +59,7 @@ use of "-" and "_".
system. Some systems accept aliases like "en" or
"en_US", but some only accept the full specification
like "en_US.ISO_8859-1". On Unix systems you can use
the this command to see what locales are supported: >
this command to see what locales are supported: >
:!locale -a
< With the "messages" argument the language used for
messages is set. This can be different when you want,

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.3. Last change: 2011 Jun 02
*motion.txt* For Vim version 7.3. Last change: 2013 Mar 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -57,7 +57,7 @@ or change text. The following operators are available:
|>| > shift right
|<| < shift left
|zf| zf define a fold
|g@| g@ call function set with the 'operatorfunc' option
|g@| g@ call function set with the 'operatorfunc' option
If the motion includes a count and the operator also had a count before it,
the two counts are multiplied. For example: "2d3w" deletes six words.
@@ -104,13 +104,14 @@ strokes and has limited redo functionality. See the chapter on Visual mode
|Visual-mode|.
You can use a ":" command for a motion. For example "d:call FindEnd()".
But this can't be redone with "." if the command is more than one line.
But this can't be repeated with "." if the command is more than one line.
This can be repeated: >
d:call search("f")<CR>
This cannot be repeated: >
d:if 1<CR>
call search("f")<CR>
endif<CR>
Note that when using ":" any motion becomes characterwise exclusive.
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
@@ -269,11 +270,11 @@ T{char} Till after [count]'th occurrence of {char} to the
{char} can be entered like with the |f| command.
*;*
; Repeat latest f, t, F or T [count] times.
; Repeat latest f, t, F or T [count] times. See |cpo-;|
*,*
, Repeat latest f, t, F or T in opposite direction
[count] times.
[count] times. See also |cpo-;|
==============================================================================
3. Up-down motions *up-down-motions*
@@ -326,6 +327,7 @@ gg Goto line [count], default first line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
*:[range]*
:[range] Set the cursor on the last line number in [range].
[range] can also be just one line number, e.g., ":1"
or ":'m".
@@ -513,6 +515,8 @@ always select less text than the "a" commands.
These commands are {not in Vi}.
These commands are not available when the |+textobjects| feature has been
disabled at compile time.
Also see `gn` and `gN`, operating on the last search pattern.
*v_aw* *aw*
aw "a word", select [count] words (see |word|).
Leading or trailing white space is included, but not
@@ -689,6 +693,7 @@ movement commands are used.
"daw" delete a word *daw*
"diW" delete inner WORD (see |WORD|) *diW*
"daW" delete a WORD (see |WORD|) *daW*
"dgn" delete the next search pattern match *dgn*
"dd" delete one line |dd|
"dis" delete inner sentence *dis*
"das" delete a sentence *das*
@@ -750,6 +755,13 @@ m[ or m] Set the |'[| or |']| mark. Useful when an operator is
to be simulated by multiple commands. (does not move
the cursor, this is not a motion command).
*m<* *m>*
m< or m> Set the |'<| or |'>| mark. Useful to change what the
`gv` command selects. (does not move the cursor, this
is not a motion command).
Note that the Visual mode cannot be set, only the
start and end position.
*:ma* *:mark* *E191*
:[range]ma[rk] {a-zA-Z'}
Set mark {a-zA-Z'} at last line number in [range],
@@ -1017,8 +1029,6 @@ CTRL-O Go to [count] Older cursor position in jump list
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
In a |quickfix-window| it takes you to the position of
the error under the cursor.
{not in Vi}
{not available without the |+jumplist| feature}

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
*netbeans.txt* For Vim version 7.3. Last change: 2012 Jan 26
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -263,6 +263,12 @@ The messages are currently sent over a socket. Since the messages are in
plain UTF-8 text this protocol could also be used with any other communication
mechanism.
Netbeans messages are processed when Vim is idle, waiting for user input.
When Vim is run in non-interactive mode, for example when running an automated
test case that sources a Vim script, the idle loop may not be called often
enough. In that case, insert |:sleep| commands in the Vim script. The |:sleep|
command does invoke Netbeans messages processing.
6.1 Kinds of messages |nb-messages|
6.2 Terms |nb-terms|
6.3 Commands |nb-commands|
@@ -833,11 +839,16 @@ These errors occur when a message violates the protocol:
signs.
*:nbkey*
:nb[key] {key} Pass the {key} to the Vim Controller for processing
When a hot-key has been installed with the specialKeys command, this command
can be used to generate a hotkey messages to the Vim Controller. The events
newDotAndMark, keyCommand and keyAtPos are generated (in this order).
:nb[key] {key} Pass the {key} to the Vim Controller for processing.
When a hot-key has been installed with the specialKeys
command, this command can be used to generate a hotkey
message to the Vim Controller.
This command can also be used to pass any text to the
Vim Controller. It is used by Pyclewn, for example,
to build the complete set of gdb commands as Vim user
commands.
The events newDotAndMark, keyCommand and keyAtPos are
generated (in this order).
==============================================================================

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2011 Jun 12
*options.txt* For Vim version 7.3. Last change: 2013 Jun 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -277,8 +277,10 @@ Now the 'list' option is not set, because ":set nolist" resets the global
value, ":setlocal list" only changes the local value and ":e two" gets the
global value. Note that if you do this next: >
:e one
You will not get back the 'list' value as it was the last time you edited
"one". The options local to a window are not remembered for each buffer.
You will get back the 'list' value as it was the last time you edited "one".
The options local to a window are remembered for each buffer. This also
happens when the buffer is not loaded, but they are lost when the buffer is
wiped out |:bwipe|.
*:setl* *:setlocal*
:setl[ocal] ... Like ":set" but set only the value local to the
@@ -301,9 +303,8 @@ You will not get back the 'list' value as it was the last time you edited
copying the value.
{not in Vi}
:se[t] {option}< Set the local value of {option} to its global value by
making it empty. Only makes sense for |global-local|
options.
:se[t] {option}< For |global-local| options: Remove the local value of
{option}, so that the global value will be used.
{not in Vi}
*:setg* *:setglobal*
@@ -401,6 +402,9 @@ On Unix systems the form "${HOME}" can be used too. The name between {} can
contain non-id characters then. Note that if you want to use this for the
"gf" command, you need to add the '{' and '}' characters to 'isfname'.
On MS-Windows, if $HOME is not defined as an environment variable, then
at runtime Vim will set it to the expansion of $HOMEDRIVE$HOMEPATH.
NOTE: expanding environment variables and "~/" is only done with the ":set"
command, not when assigning a value to an option with ":let".
@@ -478,39 +482,42 @@ to set options automatically for one or more files:
There are two forms of modelines. The first form:
[text]{white}{vi:|vim:|ex:}[white]{options}
[text] any text or empty
{white} at least one blank character (<Space> or <Tab>)
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
[white] optional white space
{options} a list of option settings, separated with white space or ':',
where each part between ':' is the argument for a ":set"
command (can be empty)
[text] any text or empty
{white} at least one blank character (<Space> or <Tab>)
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
[white] optional white space
{options} a list of option settings, separated with white space
or ':', where each part between ':' is the argument
for a ":set" command (can be empty)
Example:
Examples:
vi:noai:sw=3 ts=6 ~
vim: tw=77 ~
The second form (this is compatible with some versions of Vi):
[text]{white}{vi:|vim:|ex:}[white]se[t] {options}:[text]
[text]{white}{vi:|vim:|Vim:|ex:}[white]se[t] {options}:[text]
[text] any text or empty
{white} at least one blank character (<Space> or <Tab>)
{vi:|vim:|ex:} the string "vi:", "vim:" or "ex:"
[white] optional white space
se[t] the string "set " or "se " (note the space)
{options} a list of options, separated with white space, which is the
argument for a ":set" command
: a colon
[text] any text or empty
[text] any text or empty
{white} at least one blank character (<Space> or <Tab>)
{vi:|vim:|Vim:|ex:} the string "vi:", "vim:", "Vim:" or "ex:"
[white] optional white space
se[t] the string "set " or "se " (note the space); When
"Vim" is used it must be "set".
{options} a list of options, separated with white space, which
is the argument for a ":set" command
: a colon
[text] any text or empty
Example:
Examples:
/* vim: set ai tw=75: */ ~
/* Vim: set ai tw=75: */ ~
The white space before {vi:|vim:|ex:} is required. This minimizes the chance
that a normal word like "lex:" is caught. There is one exception: "vi:" and
"vim:" can also be at the start of the line (for compatibility with version
3.0). Using "ex:" at the start of the line will be ignored (this could be
short for "example:").
The white space before {vi:|vim:|Vim:|ex:} is required. This minimizes the
chance that a normal word like "lex:" is caught. There is one exception:
"vi:" and "vim:" can also be at the start of the line (for compatibility with
version 3.0). Using "ex:" at the start of the line will be ignored (this
could be short for "example:").
*modeline-local*
The options are set like with ":setlocal": The new value only applies to the
@@ -526,7 +533,7 @@ in another window. But window-local options will be set.
*modeline-version*
If the modeline is only to be used for some versions of Vim, the version
number can be specified where "vim:" is used:
number can be specified where "vim:" or "Vim:" is used:
vim{vers}: version {vers} or later
vim<{vers}: version before {vers}
vim={vers}: version {vers}
@@ -697,6 +704,10 @@ A jump table for the options with a short description can be found at |Q_op|.
when the system locale is set to one of CJK locales. See Unicode
Standard Annex #11 (http://www.unicode.org/reports/tr11).
Vim may set this option automatically at startup time when Vim is
compiled with the |+termresponse| feature and if |t_u7| is set to the
escape sequence to request cursor position report.
*'antialias'* *'anti'* *'noantialias'* *'noanti'*
'antialias' 'anti' boolean (default: off)
global
@@ -742,7 +753,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- Reset the 'rightleft' option.
- Disable the use of 'keymap' (without changing its value).
Note that 'arabicshape' and 'delcombine' are not reset (it is a global
option.
option).
Also see |arabic.txt|.
*'arabicshape'* *'arshape'*
@@ -754,7 +765,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
When on and 'termbidi' is off, the required visual character
corrections that need to take place for displaying the Arabic language
take affect. Shaping, in essence, gets enabled; the term is a broad
take effect. Shaping, in essence, gets enabled; the term is a broad
one which encompasses:
a) the changing/morphing of characters based on their location
within a word (initial, medial, final and stand-alone).
@@ -984,7 +995,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- The backup file will be created in the first directory in the list
where this is possible. The directory must exist, Vim will not
create it for you.
- Empty means that no backup file will be created ('patchmode' is
- Empty means that no backup file will be created ( 'patchmode' is
impossible!). Writing may fail because of this.
- A directory "." means to put the backup file in the same directory
as the edited file.
@@ -1045,6 +1056,11 @@ A jump table for the options with a short description can be found at |Q_op|.
When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
default value. "/tmp/*" is only used for Unix.
WARNING: Not having a backup file means that when Vim fails to write
your buffer correctly and then, for whatever reason, Vim exits, you
lose both the original file and what you were writing. Only disable
backups if you don't care about losing the file.
Note that environment variables are not expanded. If you want to use
$HOME you must expand it explicitly, e.g.: >
:let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
@@ -1100,8 +1116,8 @@ 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).
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'balloonexpr' |textlock|.
@@ -1217,7 +1233,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|:bwipeout|
CAREFUL: when "unload", "delete" or "wipe" is used changes in a buffer
are lost without a warning.
are lost without a warning. Also, these values may break autocommands
that switch between buffers temporarily.
This option is used together with 'buftype' and 'swapfile' to specify
special kinds of buffers. See |special-buffers|.
@@ -1444,6 +1461,7 @@ A jump table for the options with a short description can be found at |Q_op|.
This option is a list of comma separated names.
These names are recognized:
*clipboard-unnamed*
unnamed When included, Vim will use the clipboard register '*'
for all yank, delete, change and put operations which
would normally go to the unnamed register. When a
@@ -1453,15 +1471,20 @@ A jump table for the options with a short description can be found at |Q_op|.
explicitly accessed using the "* notation. Also see
|gui-clipboard|.
unnamedplus A variant of "unnamed" flag which uses the clipboard
register '+' (|quoteplus|) instead of register '*' for
all operations except yank. Yank shall copy the text
into register '+' and also into '*' when "unnamed" is
included.
*clipboard-unnamedplus*
unnamedplus A variant of the "unnamed" flag which uses the
clipboard register '+' (|quoteplus|) instead of
register '*' for all yank, delete, change and put
operations which would normally go to the unnamed
register. When "unnamed" is also included to the
option, yank operations (but not delete, change or
put) will additionally copy the text into register
'*'.
Only available with the |+X11| feature.
Availability can be checked with: >
if has('unnamedplus')
<
*clipboard-autoselect*
autoselect Works like the 'a' flag in 'guioptions': If present,
then whenever Visual mode is started, or the Visual
area extended, Vim tries to become the owner of the
@@ -1473,9 +1496,16 @@ A jump table for the options with a short description can be found at |Q_op|.
"autoselect" flag is used.
Also applies to the modeless selection.
*clipboard-autoselectplus*
autoselectplus Like "autoselect" but using the + register instead of
the * register. Compare to the 'P' flag in
'guioptions'.
*clipboard-autoselectml*
autoselectml Like "autoselect", but for the modeless selection
only. Compare to the 'A' flag in 'guioptions'.
*clipboard-html*
html When the clipboard contains HTML, use this when
pasting. When putting text on the clipboard, mark it
as HTML. This works to copy rendered HTML from
@@ -1486,6 +1516,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Only supported for GTK version 2 and later.
Only available with the |+multi_byte| feature.
*clipboard-exclude*
exclude:{pattern}
Defines a pattern that is matched against the name of
the terminal 'term'. If there is a match, no
@@ -1681,7 +1712,7 @@ A jump table for the options with a short description can be found at |Q_op|.
when CTRL-P or CTRL-N are used. It is also used for whole-line
completion |i_CTRL-X_CTRL-L|. It indicates the type of completion
and the places to scan. It is a comma separated list of flags:
. scan the current buffer ('wrapscan' is ignored)
. scan the current buffer ( 'wrapscan' is ignored)
w scan buffers from other windows
b scan other loaded buffers that are in the buffer list
u scan the unloaded buffers that are in the buffer list
@@ -2117,6 +2148,12 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo->*
> When appending to a register, put a line break before
the appended text.
*cpo-;*
; When using |,| or |;| to repeat the last |t| search
and the cursor is right in front of the searched
character, the cursor won't move. When not included,
the cursor would skip over it and jump to the
following occurrence.
POSIX flags. These are not included in the Vi default value, except
when $VIM_POSIX was set on startup. |posix|
@@ -2209,7 +2246,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Specifies whether to use quickfix window to show cscope results.
See |cscopequickfix|.
*'cscoperelative'* *'csre'*
*'cscoperelative'* *'csre'* *'nocscoperelative'* *'nocsre'*
'cscoperelative' 'csre' boolean (default off)
global
{not available when compiled without the |+cscope|
@@ -2840,7 +2877,7 @@ A jump table for the options with a short description can be found at |Q_op|.
See |file-formats| and |file-read|.
For the character encoding of the file see 'fileencoding'.
When 'binary' is set, the value of 'fileformat' is ignored, file I/O
works like it was set to "unix'.
works like it was set to "unix".
This option is set automatically when starting to edit a file and
'fileformats' is not empty and 'binary' is off.
When this option is set, after starting to edit a file, the 'modified'
@@ -2909,6 +2946,14 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
*'fileignorecase'* *'fic'* *'nofileignorecase'* *'nofic'*
'fileignorecase' 'fic' boolean (default on for systems where case in file
names is normally ignored)
global
{not in Vi}
When set case is ignored when using file names and directories.
See 'wildignorecase' for only ignoring case when doing completion.
*'filetype'* *'ft'*
'filetype' 'ft' string (default: "")
local to buffer
@@ -3026,8 +3071,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The expression used for when 'foldmethod' is "expr". It is evaluated
for each line to obtain its fold level. See |fold-expr|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
This option can't be set from a |modeline| when the 'diff' option is
on.
@@ -3169,8 +3214,8 @@ A jump table for the options with a short description can be found at |Q_op|.
An expression which is used to specify the text displayed for a closed
fold. See |fold-foldtext|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| if set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'foldtext' |textlock|.
@@ -3215,8 +3260,8 @@ A jump table for the options with a short description can be found at |Q_op|.
format function will be used |C-indenting|.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
@@ -3249,9 +3294,9 @@ A jump table for the options with a short description can be found at |Q_op|.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|. That stops the option from working, since changing
the buffer text is not allowed.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'fsync'* *'fs'*
'fsync' 'fs' boolean (default on)
@@ -3535,6 +3580,10 @@ A jump table for the options with a short description can be found at |Q_op|.
to set 'guifontwide' at all unless you want to override the choice
made by Pango/Xft.
Windows +multibyte only: *guifontwide_win_mbyte*
If set and valid, 'guifontwide' is used for IME instead of 'guifont'.
*'guiheadroom'* *'ghr'*
'guiheadroom' 'ghr' number (default 50)
global
@@ -3548,8 +3597,8 @@ A jump table for the options with a short description can be found at |Q_op|.
screen.
*'guioptions'* *'go'*
'guioptions' 'go' string (default "gmrLtT" (MS-Windows),
"agimrLtT" (GTK, Motif and Athena))
'guioptions' 'go' string (default "egmrLtT" (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena))
global
{not in Vi}
{only available when compiled with GUI enabled}
@@ -3575,6 +3624,9 @@ A jump table for the options with a short description can be found at |Q_op|.
windowing system's global selection unless explicitly told to
by a yank or delete operation for the "* register.
The same applies to the modeless selection.
*'go-P'*
'P' Like autoselect but using the "+ register instead of the "*
register.
*'go-A'*
'A' Autoselect for the modeless selection. Like 'a', but only
applies to the modeless selection.
@@ -3763,9 +3815,10 @@ A jump table for the options with a short description can be found at |Q_op|.
'highlight' 'hl' string (default (as a single string):
"8:SpecialKey,@:NonText,d:Directory,
e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
M:ModeMsg,n:LineNr,r:Question,
s:StatusLine,S:StatusLineNC,c:VertSplit,
t:Title,v:Visual,w:WarningMsg,W:WildMenu,
M:ModeMsg,n:LineNr,N:CursorLineNr,
r:Question,s:StatusLine,S:StatusLineNC,
c:VertSplit, t:Title,v:Visual,
w:WarningMsg,W:WildMenu,
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn,B:SpellBad,P:SpellCap,
@@ -3791,6 +3844,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|hl-LineNr| n line number for ":number" and ":#" commands, and
when 'number' or 'relativenumber' option is set.
|hl-CursorLineNr| N like n for when 'cursorline' or 'relativenumber' is
set.
|hl-Question| r |hit-enter| prompt and yes/no questions
|hl-StatusLine| s status line of current window |status-line|
|hl-StatusLineNC| S status lines of not-current windows
@@ -3852,14 +3907,16 @@ A jump table for the options with a short description can be found at |Q_op|.
are not applied.
See also: 'incsearch' and |:match|.
When you get bored looking at the highlighted matches, you can turn it
off with |:nohlsearch|. As soon as you use a search command, the
highlighting comes back.
off with |:nohlsearch|. This does not change the option value, as
soon as you use a search command, the highlighting comes back.
'redrawtime' specifies the maximum time spent on finding matches.
When the search pattern can match an end-of-line, Vim will try to
highlight all of the matched text. However, this depends on where the
search starts. This will be the first line in the window or the first
line below a closed fold. A match in a previous line which is not
drawn may not continue in a newly drawn line.
You can specify whether the highlight status is restored on startup
with the 'h' flag in 'viminfo' |viminfo-h|.
NOTE: This option is reset when 'compatible' is set.
*'history'* *'hi'*
@@ -3939,6 +3996,26 @@ A jump table for the options with a short description can be found at |Q_op|.
Can be overruled by using "\c" or "\C" in the pattern, see
|/ignorecase|.
*'imactivatefunc'* *'imaf'*
'imactivatefunc' 'imaf' string (default "")
global
{not in Vi}
{only available when compiled with |+xim| and
|+GUI_GTK|}
This option specifies a function that will be called to
activate/inactivate Input Method.
Example: >
function ImActivateFunc(active)
if a:active
... do something
else
... do something
endif
" return value is not used
endfunction
set imactivatefunc=ImActivateFunc
<
*'imactivatekey'* *'imak'*
'imactivatekey' 'imak' string (default "")
global
@@ -4035,6 +4112,24 @@ A jump table for the options with a short description can be found at |Q_op|.
The value 0 may not work correctly with Athena and Motif with some XIM
methods. Use 'imdisable' to disable XIM then.
*'imstatusfunc'* *'imsf'*
'imstatusfunc' 'imsf' string (default "")
global
{not in Vi}
{only available when compiled with |+xim| and
|+GUI_GTK|}
This option specifies a function that is called to obtain the status
of Input Method. It must return a positive number when IME is active.
Example: >
function ImStatusFunc()
let is_active = ...do something
return is_active ? 1 : 0
endfunction
set imstatusfunc=ImStatusFunc
<
NOTE: This function is invoked very often. Keep it fast.
*'include'* *'inc'*
'include' 'inc' string (default "^\s*#\s*include")
global or local to buffer |global-local|
@@ -4068,8 +4163,8 @@ A jump table for the options with a short description can be found at |Q_op|.
found. Allows doing "gf" on the name after an 'include' statement.
Also used for |<cfile>|.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'includeexpr' |textlock|.
@@ -4133,8 +4228,8 @@ A jump table for the options with a short description can be found at |Q_op|.
See |indent-expression|.
NOTE: This option is made empty when 'compatible' is set.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'indentexpr' |textlock|.
@@ -4563,24 +4658,31 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Strings to use in 'list' mode and for the |:list| command. It is a
comma separated list of string settings.
*lcs-eol*
eol:c Character to show at the end of each line. When
omitted, there is no extra character at the end of the
line.
*lcs-tab*
tab:xy Two characters to be used to show a tab. The first
char is used once. The second char is repeated to
fill the space that the tab normally occupies.
"tab:>-" will show a tab that takes four spaces as
">---". When omitted, a tab is show as ^I.
*lcs-trail*
trail:c Character to show for trailing spaces. When omitted,
trailing spaces are blank.
*lcs-extends*
extends:c Character to show in the last column, when 'wrap' is
off and the line continues beyond the right of the
screen.
*lcs-precedes*
precedes:c Character to show in the first column, when 'wrap'
is off and there is text preceding the character
visible in the first column.
*lcs-conceal*
conceal:c Character to show in place of concealed text, when
'conceallevel' is set to 1.
*lcs-nbsp*
nbsp:c Character to show for a non-breakable space (character
0xA0, 160). Left blank when omitted.
@@ -4674,8 +4776,10 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
{not in Vi}
Characters that form pairs. The |%| command jumps from one to the
other. Currently only single byte character pairs are allowed, and
they must be different. The characters must be separated by a colon.
other.
Only character pairs are allowed that are different, thus you cannot
jump between two double quotes.
The characters must be separated by a colon.
The pairs must be separated by a comma. Example for including '<' and
'>' (HTML): >
:set mps+=<:>
@@ -4855,6 +4959,10 @@ A jump table for the options with a short description can be found at |Q_op|.
written. A ":set nomodified" command also resets the original
values to the current values and the 'modified' option will be
reset.
This option is not set when a change is made to the buffer as the
result of a BufNewFile, BufRead/BufReadPost, BufWritePost,
FileAppendPost or VimLeave autocommand event. See |gzip-example| for
an explanation.
When 'buftype' is "nowrite" or "nofile" this option may be set, but
will be ignored.
@@ -5043,7 +5151,7 @@ A jump table for the options with a short description can be found at |Q_op|.
respectively; see |CTRL-A| for more info on these commands.
alpha If included, single alphabetical characters will be
incremented or decremented. This is useful for a list with a
letter index a), b), etc. *octal-number*
letter index a), b), etc. *octal-nrformats*
octal If included, numbers that start with a zero will be considered
to be octal. Example: Using CTRL-A on "007" results in "010".
hex If included, numbers starting with "0x" or "0X" will be
@@ -5063,8 +5171,20 @@ A jump table for the options with a short description can be found at |Q_op|.
number.
When a long, wrapped line doesn't start with the first character, '-'
characters are put before the number.
See |hl-LineNr| for the highlighting used for the number.
When setting this option, 'relativenumber' is reset.
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
the number.
*number_relativenumber*
The 'relativenumber' option changes the displayed number to be
relative to the cursor. Together with 'number' there are these
four combinations (cursor in line 3):
'nonu' 'nu' 'nonu' 'nu'
'nornu' 'nornu' 'rnu' 'rnu'
|apple | 1 apple | 2 apple | 2 apple
|pear | 2 pear | 1 pear | 1 pear
|nobody | 3 nobody | 0 nobody |3 nobody
|there | 4 there | 1 there | 1 there
*'numberwidth'* *'nuw'*
'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8)
@@ -5096,6 +5216,8 @@ A jump table for the options with a short description can be found at |Q_op|.
invoked and what it should return.
This option is usually set by a filetype plugin:
|:filetype-plugin-on|
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'opendevice'* *'odev'* *'noopendevice'* *'noodev'*
@@ -5231,7 +5353,7 @@ A jump table for the options with a short description can be found at |Q_op|.
recognized as a compressed file.
Only normal file name characters can be used, "/\*?[|<>" are illegal.
*'path'* *'pa'* *E343* *E345* *E347*
*'path'* *'pa'* *E343* *E345* *E347* *E854*
'path' 'pa' string (default on Unix: ".,/usr/include,,"
on OS/2: ".,/emx/include,,"
other systems: ".,,")
@@ -5446,6 +5568,19 @@ A jump table for the options with a short description can be found at |Q_op|.
matches will be highlighted. This is used to avoid that Vim hangs
when using a very complicated pattern.
*'regexpengine'* *'re'*
'regexpengine' 're' number (default 0)
global
{not in Vi}
This selects the default regexp engine. |two-engines|
The possible values are:
0 automatic selection
1 old engine
2 NFA engine
Note that when using the NFA engine and the pattern contains something
that is not supported the pattern will not match. This is only useful
for debugging the regexp engine.
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
'relativenumber' 'rnu' boolean (default off)
local to window
@@ -5462,8 +5597,12 @@ A jump table for the options with a short description can be found at |Q_op|.
number.
When a long, wrapped line doesn't start with the first character, '-'
characters are put before the number.
See |hl-LineNr| for the highlighting used for the number.
When setting this option, 'number' is reset.
See |hl-LineNr| and |hl-CursorLineNr| for the highlighting used for
the number.
The number in front of the cursor line also depends on the value of
'number', see |number_relativenumber| for all combinations of the two
options.
*'remap'* *'noremap'*
'remap' boolean (default on)
@@ -5884,16 +6023,20 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
*'shellcmdflag'* *'shcf'*
'shellcmdflag' 'shcf' string (default: "-c", MS-DOS and Win32, when 'shell'
does not contain "sh" somewhere: "/c")
'shellcmdflag' 'shcf' string (default: "-c";
MS-DOS and Win32, when 'shell' does not
contain "sh" somewhere: "/c")
global
{not in Vi}
Flag passed to the shell to execute "!" and ":!" commands; e.g.,
"bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
systems, the default is set according to the value of 'shell', to
reduce the need to set this option by the user. It's not used for
OS/2 (EMX figures this out itself). See |option-backslash| about
including spaces and backslashes. See |dos-shell|.
OS/2 (EMX figures this out itself).
On Unix it can have more than one flag. Each white space separated
part is passed as an argument to the shell command.
See |option-backslash| about including spaces and backslashes.
Also see |dos-shell| for MS-DOS and MS-Windows.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5996,7 +6139,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
When on, use temp files for shell commands. When off use a pipe.
When using a pipe is not possible temp files are used anyway.
Currently a pipe is only supported on Unix. You can check it with: >
Currently a pipe is only supported on Unix and MS-Windows 2K and
later. You can check it with: >
:if has("filterpipe")
< The advantage of using a pipe is that nobody can read the temp file
and the 'shell' command does not need to support redirection.
@@ -6020,8 +6164,18 @@ A jump table for the options with a short description can be found at |Q_op|.
0 and 2: use "shell 'shellcmdflag' cmd" to start external commands
1 and 3: use "shell cmd" to start external commands
*'shellxescape'* *'sxe'*
'shellxescape' 'sxe' string (default: "";
for MS-DOS and MS-Windows: "\"&|<>()@^")
global
{not in Vi}
When 'shellxquote' is set to "(" then the characters listed in this
option will be escaped with a '^' character. This makes it possible
to execute most external commands with cmd.exe.
*'shellxquote'* *'sxq'*
'shellxquote' 'sxq' string (default: "";
for Win32, when 'shell' is cmd.exe: "("
for Win32, when 'shell' contains "sh"
somewhere: "\""
for Unix, when using system(): "\"")
@@ -6031,11 +6185,15 @@ A jump table for the options with a short description can be found at |Q_op|.
the "!" and ":!" commands. Includes the redirection. See
'shellquote' to exclude the redirection. It's probably not useful
to set both options.
This is an empty string by default. Known to be useful for
third-party shells when using the Win32 version, such as the MKS Korn
Shell or bash, where it should be "\"". The default is adjusted
according the value of 'shell', to reduce the need to set this option
by the user. See |dos-shell|.
When the value is '(' then ')' is appended. When the value is '"('
then ')"' is appended.
When the value is '(' then also see 'shellxescape'.
This is an empty string by default on most systems, but is known to be
useful for on Win32 version, either for cmd.exe which automatically
strips off the first and last quote on a command, or 3rd-party shells
such as the MKS Korn Shell or bash, where it should be "\"". The
default is adjusted according the value of 'shell', to reduce the need
to set this option by the user. See |dos-shell|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -6053,6 +6211,8 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
Number of spaces to use for each step of (auto)indent. Used for
|'cindent'|, |>>|, |<<|, etc.
When zero the 'ts' value will be used. Use the |shiftwidth()|
function to get the effective shiftwidth value.
*'shortmess'* *'shm'*
'shortmess' 'shm' string (Vim default "filnxtToO", Vi default: "",
@@ -6256,7 +6416,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Override the 'ignorecase' option if the search pattern contains upper
case characters. Only used when the search pattern is typed and
'ignorecase' option is on. Used for the commands "/", "?", "n", "N",
":g" and ":s". Not used for "*", "#", "gd", tag search, etc.. After
":g" and ":s". Not used for "*", "#", "gd", tag search, etc. After
"*" and "#" you can make 'smartcase' used by doing a "/" command,
recalling the search pattern from history and hitting <Enter>.
NOTE: This option is reset when 'compatible' is set.
@@ -6316,6 +6476,7 @@ A jump table for the options with a short description can be found at |Q_op|.
of 8, while being able to edit like it is set to 'sts'. However,
commands like "x" still work on the actual characters.
When 'sts' is zero, this feature is off.
When 'sts' is negative, the value of 'shiftwidth' is used.
'softtabstop' is set to 0 when the 'paste' option is set.
See also |ins-expandtab|. When 'expandtab' is not set, the number of
spaces is minimized by using <Tab>s.
@@ -6529,6 +6690,9 @@ A jump table for the options with a short description can be found at |Q_op|.
evaluated and the result is used as the option value. Example: >
:set statusline=%!MyStatusLine()
< The result can contain %{} items that will be evaluated too.
Note that the "%!" expression is evaluated in the context of the
current window and buffer, while %{} items are evaluated in the
context of the window that the statusline belongs to.
When there is error while evaluating the option then it will be made
empty to avoid further errors. Otherwise screen updating would loop.
@@ -6590,7 +6754,8 @@ A jump table for the options with a short description can be found at |Q_op|.
V N Virtual column number as -{num}. Not displayed if equal to 'c'.
p N Percentage through file in lines as in |CTRL-G|.
P S Percentage through file of displayed window. This is like the
percentage described for 'ruler'. Always 3 in length.
percentage described for 'ruler'. Always 3 in length, unless
translated.
a S Argument list status as in default title. ({current} of {max})
Empty if the argument file count is zero or one.
{ NF Evaluate expression between '%{' and '}' and substitute result.
@@ -6634,8 +6799,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The variable "actual_curbuf" is set to the 'bufnr()' number of the
real current buffer.
The 'statusline' option may be evaluated in the |sandbox|, see
|sandbox-option|.
The 'statusline' option will be evaluated in the |sandbox| if set from
a modeline, see |sandbox-option|.
It is not allowed to change text or jump to another window while
evaluating 'statusline' |textlock|.
@@ -6748,8 +6913,8 @@ A jump table for the options with a short description can be found at |Q_op|.
usetab Like "useopen", but also consider windows in other tab
pages.
split If included, split the current window before loading
a buffer. Otherwise: do not split, use current window.
Supported in |quickfix| commands that display errors.
a buffer for a |quickfix| command that display errors.
Otherwise: do not split, use current window.
newtab Like "split", but open a new tab page. Overrules
"split" when both are present.
@@ -7003,7 +7168,7 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Encoding used for the terminal. This specifies what character
encoding the keyboard produces and the display will understand. For
the GUI it only applies to the keyboard ('encoding' is used for the
the GUI it only applies to the keyboard ( 'encoding' is used for the
display). Except for the Mac when 'macatsui' is off, then
'termencoding' should be "macroman".
In the Win32 console version the default value is the console codepage
@@ -7078,8 +7243,8 @@ A jump table for the options with a short description can be found at |Q_op|.
the file should contain words with similar meaning, separated by
non-keyword characters (white space is preferred). Maximum line
length is 510 bytes.
To obtain a file to be used here, check out the wordlist FAQ at
http://www.hyphenologist.co.uk .
To obtain a file to be used here, check out this ftp site:
ftp://ftp.ox.ac.uk/pub/wordlists/ First get the README file.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.
@@ -7354,6 +7519,12 @@ A jump table for the options with a short description can be found at |Q_op|.
jsbterm JSB term mouse handling.
*pterm-mouse*
pterm QNX pterm mouse handling.
*urxvt-mouse*
urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
*sgr-mouse*
sgr Mouse handling for the terminal that emits SGR-styled
mouse reporting. Works with xterm version 277 or
later.
The mouse handling must be enabled at compile time |+mouse_xterm|
|+mouse_dec| |+mouse_netterm|.
@@ -7366,6 +7537,7 @@ A jump table for the options with a short description can be found at |Q_op|.
or "xterm2" already. The main use of this option is to set it to
"xterm", when the terminal name doesn't start with "xterm", but it can
handle xterm mouse codes.
The "sgr" value will be set if the xterm version is 277 or later.
The "xterm2" value will be set if the xterm version is reported to be
95 or higher. This only works when compiled with the |+termresponse|
feature and if |t_RV| is set to the escape sequence to request the
@@ -7405,7 +7577,7 @@ A jump table for the options with a short description can be found at |Q_op|.
given, no further entry is used.
See |undo-persistence|.
*'undofile'* *'udf'*
*'undofile'* *'noundofile'* *'udf'* *'noudf'*
'undofile' 'udf' boolean (default off)
local to buffer
{not in Vi}
@@ -7417,7 +7589,7 @@ A jump table for the options with a short description can be found at |Q_op|.
For more information about this feature see |undo-persistence|.
The undo file is not read when 'undoreload' causes the buffer from
before a reload to be saved for undo.
WARNING: this is a very new feature. Use at your own risk!
When 'undofile' is turned off the undo file is NOT deleted.
*'undolevels'* *'ul'*
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
@@ -7570,15 +7742,18 @@ A jump table for the options with a short description can be found at |Q_op|.
parameter. The following is a list of the identifying characters and
the effect of their value.
CHAR VALUE ~
*viminfo-!*
! When included, save and restore global variables that start
with an uppercase letter, and don't contain a lowercase
letter. Thus "KEEPTHIS and "K_L_M" are stored, but "KeepThis"
and "_K_L_M" are not. Nested List and Dict items may not be
read back correctly, you end up with an empty item.
*viminfo-quote*
" Maximum number of lines saved for each register. Old name of
the '<' item, with the disadvantage that you need to put a
backslash before the ", otherwise it will be recognized as the
start of a comment!
*viminfo-%*
% When included, save and restore the buffer list. If Vim is
started with a file name argument, the buffer list is not
restored. If Vim is started without a file name argument, the
@@ -7588,38 +7763,48 @@ A jump table for the options with a short description can be found at |Q_op|.
When followed by a number, the number specifies the maximum
number of buffers that are stored. Without a number all
buffers are stored.
*viminfo-'*
' Maximum number of previously edited files for which the marks
are remembered. This parameter must always be included when
'viminfo' is non-empty.
Including this item also means that the |jumplist| and the
|changelist| are stored in the viminfo file.
*viminfo-/*
/ Maximum number of items in the search pattern history to be
saved. If non-zero, then the previous search and substitute
patterns are also saved. When not included, the value of
'history' is used.
*viminfo-:*
: Maximum number of items in the command-line history to be
saved. When not included, the value of 'history' is used.
*viminfo-<*
< Maximum number of lines saved for each register. If zero then
registers are not saved. When not included, all lines are
saved. '"' is the old name for this item.
Also see the 's' item below: limit specified in Kbyte.
*viminfo-@*
@ Maximum number of items in the input-line history to be
saved. When not included, the value of 'history' is used.
*viminfo-c*
c When included, convert the text in the viminfo file from the
'encoding' used when writing the file to the current
'encoding'. See |viminfo-encoding|.
*viminfo-f*
f Whether file marks need to be stored. If zero, file marks ('0
to '9, 'A to 'Z) are not stored. When not present or when
non-zero, they are all stored. '0 is used for the current
cursor position (when exiting or when doing ":wviminfo").
*viminfo-h*
h Disable the effect of 'hlsearch' when loading the viminfo
file. When not included, it depends on whether ":nohlsearch"
has been used since the last search command.
*viminfo-n*
n Name of the viminfo file. The name must immediately follow
the 'n'. Must be the last one! If the "-i" argument was
given when starting Vim, that file name overrides the one
given here with 'viminfo'. Environment variables are expanded
when opening the file, not when setting the option.
*viminfo-r*
r Removable media. The argument is a string (up to the next
','). This parameter can be given several times. Each
specifies the start of a path for which no marks will be
@@ -7628,6 +7813,7 @@ A jump table for the options with a short description can be found at |Q_op|.
also use it for temp files, e.g., for Unix: "r/tmp". Case is
ignored. Maximum length of each 'r' argument is 50
characters.
*viminfo-s*
s Maximum size of an item in Kbyte. If zero then registers are
not saved. Currently only applies to registers. The default
"s10" will exclude registers with more than 10 Kbyte of text.
@@ -7779,9 +7965,9 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+wildignore|
feature}
A list of file patterns. A file that matches with one of these
patterns is ignored when completing file or directory names, and
influences the result of |expand()|, |glob()| and |globpath()| unless
a flag is passed to disable this.
patterns is ignored when expanding |wildcards|, completing file or
directory names, and influences the result of |expand()|, |glob()| and
|globpath()| unless a flag is passed to disable this.
The pattern is used like with |:autocmd|, see |autocmd-patterns|.
Also see 'suffixes'.
Example: >
@@ -7796,7 +7982,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
When set case is ignored when completing file names and directories.
Has no effect on systems where file name case is generally ignored.
Has no effect when 'fileignorecase' is set.
Does not apply when the shell is used to expand wildcards, which
happens when there are special characters.
@@ -7815,6 +8001,7 @@ A jump table for the options with a short description can be found at |Q_op|.
CTRL-P/CTRL-N, cause the highlight to move to the appropriate match.
When 'wildmode' is used, "wildmenu" mode is used where "full" is
specified. "longest" and "list" do not start "wildmenu" mode.
You can check the current mode with |wildmenumode()|.
If there are more matches than can fit in the line, a ">" is shown on
the right and/or a "<" is shown on the left. The status line scrolls
as needed.
@@ -8083,8 +8270,13 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
Make a backup before overwriting a file. The backup is removed after
the file was successfully written, unless the 'backup' option is
also on. Reset this option if your file system is almost full. See
|backup-table| for another explanation.
also on.
WARNING: Switching this option off means that when Vim fails to write
your buffer correctly and then, for whatever reason, Vim exits, you
lose both the original file and what you were writing. Only reset
this option if your file system is almost full and it makes the write
fail (and make sure not to exit Vim until the write was successful).
See |backup-table| for another explanation.
When the 'backupskip' pattern matches, a backup is not made anyway.
NOTE: This option is set to the default value when 'compatible' is
set.

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
*os_vms.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL
@@ -38,9 +38,6 @@ You can download the Vim source code by ftp from the official Vim site:
Or use one of the mirrors:
ftp://ftp.vim.org/pub/vim/MIRRORS
You will need both the Unix and Extra archives to build vim.exe for VMS.
For using Vim's full power you will need the runtime files as well.
You can download precompiled executables from:
http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/
@@ -75,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-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.
platforms with the DEC C compiler. It should work without big problems.
If your system does not have some include libraries you can tune up in
OS_VMS_CONF.H file.
@@ -88,11 +85,11 @@ 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
semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt
MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should
change to subdirectory and build it separately.
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
change to a subdirectory and build it separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above.
@@ -184,9 +181,9 @@ You may want to create .vimrc and .gvimrc files in your home directory
The easiest way is just rename example files. You may leave the menu file
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
be default setup for all users, and for users it is enough just to have their
own additions or resetting in their home directory in files .vimrc and .gvimrc.
It should work without problems.
be the default setup for all users, and for users it is enough to just have
their own additions or resetting in their home directory in files .vimrc and
.gvimrc. It should work without problems.
Note: Remember, system rc files (default for all users) don't have a leading
".". So, system rc files are: >
@@ -200,7 +197,7 @@ and user customized rc files are: >
sys$login:.vimrc
sys$login:.gvimrc
You can check that everything is on the right place with the :version command.
You can check that everything is at the right place with the :version command.
Example LOGIN.COM: >
@@ -209,15 +206,15 @@ Example LOGIN.COM: >
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.5.223/trans=tcpip
Note: This set-up should be enough, if you are working on standalone server or
clustered environment, but if you want to use Vim as internode editor in
Note: This set-up should be enough, if you are working on a standalone server or
clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well.
You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
As for example: >
For example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -300,12 +297,12 @@ For more information type $help set disp in VMS prompt.
4) If you are working on MS-Windows or some other non X/Window environment
you need to set up one X server and run Vim as in point 2.
For MS-Windows there are available free X servers as MIX , Omni X etc.,
For MS-Windows there are available free X servers as MIX, Omni X etc.,
as well as excellent commercial products as eXcursion or ReflectionX with
built-in DEC support.
Please note, that executables without GUI are slightly faster during startup
then with enabled GUI in character mode. Therefore, if you do not use GUI
than with enabled GUI in character mode. Therefore, if you do not use GUI
features, it is worth to choose non GUI executables.
==============================================================================
@@ -326,8 +323,8 @@ features, it is worth to choose non GUI executables.
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.1 Backspace/delete
@@ -360,7 +357,7 @@ number, try these settings. >
:set nowritebackup " does not have any purpose on VMS. It's the
" default.
Recovery is working perfect as well from the default swap file.
Recovery is working perfectly as well from the default swap file.
Read more with :help swapfile
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
@@ -386,7 +383,7 @@ Note: You may use <,> brackets as well (device:<path>file.ext;version) as
rf10:<user.zay.work>test.c;1
(David Elins <delins@foliage.com>, Jerome Lauret
<JLAURET@mail.chem.sunysb.edu> Vim 5.6 )
<JLAURET@mail.chem.sunysb.edu> Vim 5.6)
8.5 Remote host invocation
@@ -445,14 +442,14 @@ Terminal entry not found in termcap
builtin_dumb
defaulting to 'vt320'
---
The solution is to define default terminal name: >
The solution is to define the default terminal name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive
$ define term "vt320"
Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra
keyboard mappings. They should work perfect as they are, including arrows,
Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
keyboard mappings. They should work perfectly as they are, including arrows,
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
.gvimrc: >
@@ -465,8 +462,8 @@ your .vimrc file: >
set ttyfast " set fast terminal
Note: if you're using Vim on remote host or through very slow connection, it's
recommended to avoid fast terminal option with: >
Note: if you're using Vim on remote host or through a very slow connection, it's
recommended to avoid the fast terminal option with: >
set nottyfast " set terminal to slow mode
@@ -483,8 +480,8 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all
DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc.
we're running into trouble if we follow the Vim documentation (see: help
DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
etc. we're running into trouble if we follow the Vim documentation (see: help
xxd).
Solution: Execute with the MC command and add the full path to the executable.
@@ -534,7 +531,7 @@ Example: >
$define SYS$PRINT HP5ANSI
You can print out whole buffer or just the marked area.
You can print out the whole buffer or just the marked area.
More info under :help hardcopy
(Zoltan Arpadffy, Vim 6.0c)
@@ -561,16 +558,16 @@ will be confused after a window-resize.
From 6.0 diff functionality has been implemented, but OpenVMS does not use
GNU/Unix like diff therefore built in diff does not work.
There is a simple solution to solve this anomaly. Install a Unix like diff
and Vim will work perfect in diff mode too. You just have to redefine your
and Vim will work perfectly in diff mode too. You just have to redefine your
diff program as: >
define /nolog diff <GNU_PATH>diff.exe
Another, more sophisticated solution is described below (8.12 diff-mode)
There are some other programs as patch, make etc that may cause same problems.
At www.polarhome.com is possible to download an GNU package for Alpha and VAX
boxes that is meant to solve GNU problems on OpenVMS.
( Zoltan Arpadffy, Vim 6.1)
There are other programs such as patch, make etc that may cause the same
problems. At www.polarhome.com is possible to download an GNU package for
Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
(Zoltan Arpadffy, Vim 6.1)
8.12 diff-mode
@@ -632,7 +629,7 @@ You can now compare files in 4 ways: >
3. VIM diff: $ VIMDIFF <FILE1> <FILE2>
4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.13 Allow '$' in C keywords
@@ -653,35 +650,36 @@ Now word-based commands, e.g. the '*'-search-command and the CTRL-]
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
C keywords since ctags version 5.1.)
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.14 VIMTUTOR for beginners
It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make
first steps with Vim on OpenVMS. Depending of binary distribution you may
start it with: >
The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
steps with Vim on OpenVMS. Depending of binary distribution you may start it
with: >
@vim:vimtutor
(Thomas.R.Wyant III, Vim 6.1)
8.14 Slow start in console mode issue
8.16 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather
slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
slow when user wants to run Vim just in the console mode - because of X
environment detection timeout.
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim73
|----- doc
|----- syntax
|----- syntax
vimrc (system rc files)
gvimrc
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
@@ -692,7 +690,7 @@ Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
Like this, users that do not have X environment and want to use Vim just in
Like this, users that do not have X environment and want to use Vim just in
console mode can avoid performance problems.
(Zoltan Arpadffy, Vim 7.2)
@@ -714,8 +712,8 @@ View of Cluster from system ID 11655 node: TOR
+---------------------------------+
It is convenient to have a common VIM directory but execute different
executables.
There are more solutions for this problem:
executables.
There are several solutions for this problem:
Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added
@@ -769,7 +767,7 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 7.3
- CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename
- filepath completion corrected - too many chars were escaped in filename
and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
@@ -784,10 +782,10 @@ Version 7.3
Version 7.2 (2008 Aug 9)
- VCF files write corrected
- CTAGS 5.7 included
- corrected make_vms.mms (on VAX gave syntax error)
- corrected make_vms.mms (on VAX gave syntax error)
Version 7.1 (2007 Jun 15)
- create TAGS file from menu
- create TAGS file from menu
Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)

View File

@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.3. Last change: 2011 May 28
*os_win32.txt* For Vim version 7.3. Last change: 2012 May 18
VIM REFERENCE MANUAL by George Reilly
@@ -314,13 +314,13 @@ A. When using :! to run an external command, you can run it with "start": >
not have to be closed before Vim.
To avoid this special treatment, use ":! start".
There are two optional arguments (see the next Q):
/min the window will be minimized.
/b" no console window will be opened
You can only one of these flags at a time. A second second one will be
/min the window will be minimized
/b no console window will be opened
You can use only one of these flags at a time. A second one will be
treated as the start of the command.
Q. How do I avoid getting a window for programs that I run asynchronously?
A. You have two possible solutions depending on what exactly do you want:
A. You have two possible solutions depending on what you want:
1) You may use the /min flag in order to run program in a minimized state
with no other changes. It will work equally for console and GUI
applications.
@@ -328,7 +328,7 @@ A. You have two possible solutions depending on what exactly do you want:
console window for them (GUI applications are not affected). But you
should use this flag only if the application you run doesn't require any
input. Otherwise it will get an EOF error because its input stream
(stdin) would be redirected to \\.\NUL (stdoud and stderr too).
(stdin) would be redirected to \\.\NUL (stdout and stderr too).
Example for a console application, run Exuberant ctags: >
:!start /min ctags -R .

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.3. Last change: 2011 May 25
*pattern.txt* For Vim version 7.3. Last change: 2013 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,7 +21,7 @@ explanations are in chapter 27 |usr_27.txt|.
10. Highlighting matches |match-highlight|
==============================================================================
1. Search commands *search-commands* *E486*
1. Search commands *search-commands*
*/*
/{pattern}[/]<CR> Search forward for the [count]'th occurrence of
@@ -150,6 +150,11 @@ use <Esc> to abandon the search.
All matches for the last used search pattern will be highlighted if you set
the 'hlsearch' option. This can be suspended with the |:nohlsearch| command.
When no match is found you get the error: *E486* Pattern not found
Note that for the |:global| command this behaves like a normal message, for Vi
compatibility. For the |:s| command the "e" flag can be used to avoid the
error message |:s_flags|.
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
additional offset may be given. There are two types of offsets: line offsets
@@ -345,6 +350,27 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
or \z( pattern \) |/\z(|
*/\%#=* *two-engines*
Vim includes two regexp engines:
1. An old, backtracking engine that supports everything.
2. A new, NFA engine that works much faster on some patterns, but does not
support everything.
Vim will automatically select the right engine for you. However, if you run
into a problem or want to specifically select one engine or the other, you can
prepend one of the following to the pattern:
\%#=0 Force automatic selection. Only has an effect when
'regexpengine' has been set to a non-zero value.
\%#=1 Force using the old engine.
\%#=2 Force using the NFA engine.
You can also use the 'regexpengine' option to change the default.
*E864* *E868* *E874* *E875* *E876* *E877* *E878*
If selecting the NFA engine and it runs into something that is not implemented
the pattern will not match. This is only useful when debugging Vim.
==============================================================================
3. Magic */magic*
@@ -391,9 +417,10 @@ pattern.
==============================================================================
4. Overview of pattern items *pattern-overview*
*E865* *E866* *E867* *E869*
Overview of multi items. */multi* *E61* *E62*
More explanation and examples below, follow the links. *E64*
More explanation and examples below, follow the links. *E64* *E871*
multi ~
'magic' 'nomagic' matches of the preceding atom ~
@@ -499,16 +526,18 @@ Character classes {not in Vi}: */character-classes*
x x a character with no special meaning matches itself
|/[]| [] \[] any character specified inside the []
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|/\%[]| \%[] \%[] a sequence of optionally matched atoms
|/\c| \c \c ignore case, do not use the 'ignorecase' option
|/\C| \C \C match case, do not use the 'ignorecase' option
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
Useful when searching voweled Hebrew or Arabic text.
|/\m| \m \m 'magic' on for the following chars in the pattern
|/\M| \M \M 'magic' off for the following chars in the pattern
|/\v| \v \v the following chars in the pattern are "very magic"
|/\V| \V \V the following chars in the pattern are "very nomagic"
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
Useful when searching voweled Hebrew or Arabic text.
|/\%#=| \%#=1 \%#=1 select regexp engine |/zero-width|
|/\%d| \%d \%d match specified decimal character (eg \%d123)
|/\%x| \%x \%x match specified hex character (eg \%x2a)
@@ -576,7 +605,7 @@ overview.
\? Just like \=. Cannot be used when searching backwards with the "?"
command. {not in Vi}
*/\{* *E58* *E60* *E554*
*/\{* *E58* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
\{n} Matches n of the preceding atom
\{n,} Matches at least n of the preceding atom, as many as possible
@@ -632,10 +661,10 @@ overview.
*/\@!*
\@! Matches with zero width if the preceding atom does NOT match at the
current position. |/zero-width| {not in Vi}
Like '(?!pattern)" in Perl.
Like "(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
a.\{-}p\@! "a", "ap", "aap", "app", etc. not immediately
a.\{-}p\@! "a", "ap", "app", "appp", etc. not immediately
followed by a "p"
if \(\(then\)\@!.\)*$ "if " not followed by "then"
@@ -643,7 +672,7 @@ overview.
does not match. "a.*p\@!" will match from an "a" to the end of the
line, because ".*" can match all characters in the line and the "p"
doesn't match at the end of the line. "a.\{-}p\@!" will match any
"a", "ap", "aap", etc. that isn't followed by a "p", because the "."
"a", "ap", "app", etc. that isn't followed by a "p", because the "."
can match a "p" and "p\@!" doesn't match after that.
You can't use "\@!" to look for a non-match before the matching
@@ -662,13 +691,14 @@ overview.
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
follows. |/zero-width| {not in Vi}
Like '(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
Example matches ~
\(an\_s\+\)\@<=file "file" after "an" and white space or an
end-of-line
For speed it's often much better to avoid this multi. Try using "\zs"
instead |/\zs|. To match the same as the above example:
an\_s\+\zsfile
At least set a limit for the look-behind, see below.
"\@<=" and "\@<!" check for matches just before what follows.
Theoretically these matches could start anywhere before this position.
@@ -681,20 +711,37 @@ overview.
Example matches ~
\1\@<=,\([a-z]\+\) ",abc" in "abc,abc"
\@123<=
Like "\@<=" but only look back 123 bytes. This avoids trying lots
of matches that are known to fail and make executing the pattern very
slow. Example, check if there is a "<" just before "span":
/<\@1<=span
This will try matching "<" only one byte before "span", which is the
only place that works anyway.
After crossing a line boundary, the limit is relative to the end of
the line. Thus the characters at the start of the line with the match
are not counted (this is just to keep it simple).
The number zero is the same as no limit.
*/\@<!*
\@<! Matches with zero width if the preceding atom does NOT match just
before what follows. Thus this matches if there is no position in the
current or previous line where the atom matches such that it ends just
before what follows. |/zero-width| {not in Vi}
Like '(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
The match with the preceding atom is made to end just before the match
with what follows, thus an atom that ends in ".*" will work.
Warning: This can be slow (because many positions need to be checked
for a match).
for a match). Use a limit if you can, see below.
Example matches ~
\(foo\)\@<!bar any "bar" that's not in "foobar"
\(\/\/.*\)\@<!in "in" which is not after "//"
\@123<!
Like "\@<!" but only look back 123 bytes. This avoids trying lots of
matches that are known to fail and make executing the pattern very
slow.
*/\@>*
\@> Matches the preceding atom like matching a whole pattern. {not in Vi}
Like "(?>pattern)" in Perl.
@@ -932,7 +979,7 @@ match ASCII characters, as indicated by the range.
\l lowercase character: [a-z] */\l*
\L non-lowercase character: [^a-z] */\L*
\u uppercase character: [A-Z] */\u*
\U non-uppercase character [^A-Z] */\U*
\U non-uppercase character: [^A-Z] */\U*
NOTE: Using the atom is faster than the [] form.
@@ -957,7 +1004,8 @@ match ASCII characters, as indicated by the range.
~ matches the last given substitute string */~* */\~*
\(\) A pattern enclosed by escaped parentheses. */\(* */\(\)* */\)*
E.g., "\(^a\)" matches 'a' at the start of a line. *E51* *E54* *E55*
E.g., "\(^a\)" matches 'a' at the start of a line.
*E51* *E54* *E55* *E872* *E873*
\1 Matches the same string that was matched by */\1* *E65*
the first sub-expression in \( and \). {not in Vi}
@@ -988,6 +1036,8 @@ x A single character, with no special meaning, matches itself
[xyz] any 'x', 'y' or 'z'
[a-zA-Z]$ any alphabetic character at the end of a line
\c[a-z]$ same
[А-яЁё] Russian alphabet (with utf-8 and cp1251)
*/[\n]*
With "\_" prepended the collection also includes the end-of-line.
The same can be done by including "\n" in the collection. The
@@ -1036,11 +1086,9 @@ x A single character, with no special meaning, matches itself
These items only work for 8-bit characters.
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. The form
is:
have almost the same meaning, e.g., when ignoring accents. This
only works for Unicode, latin1 and latin9. The form is:
[=a=]
Currently this is only implemented for latin1. Also works for the
latin1 characters in utf-8 and latin9.
*/[[.* *[..]*
- A collation element. This currently simply accepts a single
character in the form:
@@ -1056,6 +1104,8 @@ x A single character, with no special meaning, matches itself
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
'x', 'y' and 'z'. It's better to use "\\" though, future expansions
may use other characters after '\'.
- Omitting the trailing ] is not considered an error. "[]" works like
"[]]", it matches the ']' character.
- The following translations are accepted when the 'l' flag is not
included in 'cpoptions' {not in Vi}:
\e <Esc>
@@ -1161,6 +1211,8 @@ When "\Z" appears anywhere in the pattern, composing characters are ignored.
Thus only the base characters need to match, the composing characters may be
different and the number of composing characters may differ. Only relevant
when 'encoding' is "utf-8".
Exception: If the pattern starts with one or more composing characters, these
must match.
When a composing character appears at the start of the pattern of after an
item that doesn't include the composing character, a match is found at any
@@ -1170,8 +1222,20 @@ When using a dot and a composing character, this works the same as the
composing character by itself, except that it doesn't matter what comes before
this.
The order of composing characters matters, even though changing the order
doesn't change what a character looks like. This may change in the future.
The order of composing characters does not matter. Also, the text may have
more composing characters than the pattern, it still matches. But all
composing characters in the pattern must be found in the text.
Suppose B is a base character and x and y are composing characters:
pattern text match ~
Bxy Bxy yes (perfect match)
Bxy Byx yes (order ignored)
Bxy By no (x missing)
Bxy Bx no (y missing)
Bx Bx yes (perfect match)
Bx By no (x missing)
Bx Bxy yes (extra y ignored)
Bx Byx yes (extra y ignored)
==============================================================================
9. Compare with Perl patterns *perl-patterns*

View File

@@ -1,15 +1,21 @@
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 May 31
*pi_getscript.txt* For Vim version 7.0. Last change: 2012 Apr 07
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
<
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
Authors: Charles E. Campbell <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
*GetLatestVimScripts-copyright*
Copyright: (c) 2004-2010 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE applies to getscript.vim and
pi_getscript.txt (see |copyright|) except use
"getscript" instead of "Vim". No warranty, express or implied.
Use At-Your-Own-Risk.
Copyright: (c) 2004-2012 by Charles E. Campbell *glvs-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including getscriptPlugin.vim, getscript.vim,
GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
instead of "VIM". Like anything else that's free, getscript and its
associated files are provided *as is* and comes with no warranty of
any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
Getscript is a plugin that simplifies retrieval of the latest versions of the
scripts that you yourself use! Typing |:GLVS| will invoke getscript; it will
@@ -337,6 +343,11 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
default= $HOME/vimfiles (windows)
Override where :AutoInstall: scripts will be installed.
Doesn't override vimball installation.
>
g:GetLatestVimScripts_scriptaddr
< default='http://vim.sourceforge.net/script.php?script_id='
Override this if your system needs
... ='http://vim.sourceforge.net/script/script.php?script_id='
==============================================================================
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
@@ -374,6 +385,12 @@ The AutoInstall process will:
==============================================================================
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
changed (somewhat). However, it doesn't work, and
the original one does (under Linux). I'll make it
yet-another-option.
v34 Jun 23, 2011 : * handles additional decompression options for tarballs
(tgz taz tbz txz)
v33 May 31, 2011 : * using fnameescape() instead of escape()
* *.xz support
v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression

View File

@@ -1,4 +1,4 @@
*pi_gzip.txt* For Vim version 7.3. Last change: 2002 Oct 29
*pi_gzip.txt* For Vim version 7.3. Last change: 2012 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -25,6 +25,8 @@ with these extensions:
*.Z compress (Lempel-Ziv)
*.gz gzip
*.bz2 bzip2
*.lzma lzma
*.xz xz
That's actually the only thing you need to know. There are no options.

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
*pi_paren.txt* For Vim version 7.3. Last change: 2008 Jun 16
*pi_paren.txt* For Vim version 7.3. Last change: 2013 May 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -46,7 +46,10 @@ are:
closed folds.
- 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
in a long line with syntax highlighting.
- A timeout of 300 msec (60 msec in Insert mode). This can be changed with the
g:matchparen_timeout and g:matchparen_insert_timeout variables and their
buffer-local equivalents b:matchparen_timeout and
b:matchparen_insert_timeout.
If you would like the |%| command to work better, the matchit plugin can be
used, see |matchit-install|. This plugin also helps to skip matches in

View File

@@ -1,14 +1,21 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2011 May 31
*pi_tar.txt* For Vim version 7.3. Last change: 2013 Apr 17
+====================+
| Tar File Interface |
+====================+
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
tar.vim, tarPlugin.vim, and pi_tar.txt.
No warranty, express or implied. Use At-Your-Own-Risk.
Copyright 2005-2012: *tar-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including tarPlugin.vim, tar.vim, and pi_tar.txt. Like
anything else that's except use "tar.vim" instead of "VIM". Like
anything else that's free, tar.vim and its associated files are
provided *as is* and comes with no warranty of any kind, either
expressed or implied. No guarantees of merchantability. No
guarantees of suitability for any purpose. By using this plugin, you
agree that in no event will the copyright holder be liable for any
damages resulting from the use of this software. Use at your own risk!
==============================================================================
1. Contents *tar* *tar-contents*
@@ -43,6 +50,21 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
*g:tar_extractcmd* , which by default is >
"tar -xf"
<
*:TarDiff*
DIFFERENCING SUPPORT~
:TarDiff [filename]
This command will attempt to show the differences between the tarball
version of a file and the associated file on the system. In order to
find that file on the system, the script uses the path associated with
the file mentioned in the tarball. If the current directory is not
correct for that path, :TarDiff will fail to find the associated file.
If the [filename] is given, that that filename (and path) will be used
to specify the associated file.
PREVENTING LOADING~
If for some reason you do not wish to use vim to examine tar'd files,
@@ -83,6 +105,7 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
4. History *tar-history*
v28 Jun 23, 2011 * a few more decompression options (tbz tb2 txz)
v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
* inserted additional |:keepj| modifiers
* changed silent to sil! (|:silent|)

View File

@@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Apr 02
*pi_vimball.txt* For Vim version 7.3. Last change: 2012 Jan 17
----------------
Vimball Archiver
@@ -6,16 +6,22 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE applies to Vimball.vim, and Vimball.txt
(see |copyright|) except use "Vimball" instead of "Vim".
No warranty, express or implied.
Use At-Your-Own-Risk!
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
except use "vimball" instead of "VIM". Like anything else that's free,
vimball.vim and its associated files are provided *as is* and comes with
no warranty of any kind, either expressed or implied. No guarantees
of merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
==============================================================================
1. Contents *vba* *vimball* *vimball-contents*
1. Contents......................................: |vimball-contents|
2. Vimball Introduction..........................: |vimball-intro|
3. Vimball Manual................................: |vimball-manual|
MkVimball.....................................: |:MkVimball|
UseVimball....................................: |:UseVimball|
@@ -176,6 +182,8 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,

View File

@@ -1,20 +1,21 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2011 May 24
*pi_zip.txt* For Vim version 7.3. Last change: 2013 Apr 17
+====================+
| Zip File Interface |
+====================+
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
Permission is hereby granted to use and distribute this code,
with or without modifications, provided that this copyright
notice is copied with it. Like anything else that's free,
zip.vim, zipPlugin.vim, and pi_zip.txt are provided *as is*
and it comes with no warranty of any kind, either expressed or
implied. By using this plugin, you agree that in no event will
the copyright holder be liable for any damages resulting from
the use of this software.
Copyright: Copyright (C) 2005-2012 Charles E Campbell *zip-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including zipPlugin.vim, zip.vim, and pi_zip.vim. except use
"zip.vim" instead of "VIM". Like anything else that's free, zip.vim
and its associated files are provided *as is* and comes with no
warranty of any kind, either expressed or implied. No guarantees of
merchantability. No guarantees of suitability for any purpose. By
using this plugin, you agree that in no event will the copyright
holder be liable for any damages resulting from the use of this
software. Use at your own risk!
==============================================================================
1. Contents *zip* *zip-contents*
@@ -69,12 +70,11 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
let g:loaded_zipPlugin= 1
let g:loaded_zip = 1
<
<
==============================================================================
3. Additional Extensions *zip-extension*
Apparently there are a number of archivers who generate zip files that
Apparently there are a number of archivers which generate zip files that
don't use the .zip extension (.jar, .xpi, etc). To handle such files,
place a line in your <.vimrc> file: >
@@ -85,6 +85,13 @@ Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
==============================================================================
4. History *zip-history* {{{1
v26 Nov 15, 2012 * (Jason Spiro) provided a lot of new extensions that
are synonyms for .zip
v25 Jun 27, 2011 * using keepj with unzip -Z
(consistent with the -p variant)
* (Ben Staniford) now uses
has("win32unix") && executable("cygpath")
before converting to cygwin-style paths
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
fnameescape'd as well as shellquote'd
* (Motoya Kurotsu) inserted keepj before 0d to protect

View File

@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
*quickfix.txt* For Vim version 7.3. Last change: 2013 Mar 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -561,7 +561,9 @@ commands can be combined to create a NewGrep command: >
*:vim* *:vimgrep* *E682* *E683*
:vim[grep][!] /{pattern}/[g][j] {file} ...
Search for {pattern} in the files {file} ... and set
the error list to the matches.
the error list to the matches. Files matching
'wildignore' are ignored; files in 'suffixes' are
searched last.
Without the 'g' flag each line is added only once.
With 'g' every match is added.
@@ -572,6 +574,8 @@ commands can be combined to create a NewGrep command: >
'ignorecase' applies. To overrule it put |/\c| in the
pattern to ignore case or |/\C| to match case.
'smartcase' is not used.
If {pattern} is empty (e.g. // is specified), the last
used search pattern is used. |last-pattern|
When a number is put before the command this is used
as the maximum number of matches to find. Use
@@ -913,8 +917,8 @@ Basic items
%n error number (finds a number)
%m error message (finds a string)
%r matches the "rest" of a single-line file message %O/P/Q
%p pointer line (finds a sequence of '-', '.' or ' ' and
uses the length for the column number)
%p pointer line (finds a sequence of '-', '.', ' ' or
tabs and uses the length for the column number)
%*{conv} any scanf non-assignable conversion
%% the single '%' character
%s search text (finds a string)

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.3. Last change: 2011 Jun 12
*quickref.txt* For Vim version 7.3. Last change: 2013 Jun 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,7 +7,7 @@
*quickref* *Contents*
tag subject tag subject ~
|Q_ct| list of help files |Q_re| Repeating commands
|Q_ct| list of help files |Q_re| Repeating commands
|Q_lr| motion: Left-right |Q_km| Key mapping
|Q_ud| motion: Up-down |Q_ab| Abbreviations
|Q_tm| motion: Text object |Q_op| Options
@@ -27,7 +27,7 @@
|Q_co| change: Complex |Q_bu| Buffer list commands
|Q_vi| Visual mode |Q_sy| Syntax highlighting
|Q_to| Text objects |Q_gu| GUI commands
|Q_fo| Folding
|Q_fo| Folding
------------------------------------------------------------------------------
N is used to indicate an optional count that can be given before the command.
@@ -186,7 +186,7 @@ N is used to indicate an optional count that can be given before the command.
|:marks| :marks print the active marks
|CTRL-O| N CTRL-O go to Nth older position in jump list
|CTRL-I| N CTRL-I go to Nth newer position in jump list
|:ju| :ju[mps] print the jump list
|:ju| :ju[mps] print the jump list
------------------------------------------------------------------------------
*Q_vm* Various motions
@@ -204,30 +204,30 @@ N is used to indicate an optional count that can be given before the command.
------------------------------------------------------------------------------
*Q_ta* Using tags
|:ta| :ta[g][!] {tag} jump to tag {tag}
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|:ta| :ta[g][!] {tag} jump to tag {tag}
|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
|CTRL-]| CTRL-] jump to the tag under cursor, unless changes
have been made
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
|:tjump| :tj[ump][!] [tag] jump to tag [tag] or select from list when
there are multiple matches
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
location list
|:tags| :tags print tag list
|:tags| :tags print tag list
|CTRL-T| N CTRL-T jump back from Nth older tag in tag list
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
|:tnext| :[count]tn[ext][!] jump to [count]'th next matching tag
|:tp| :[count]tp[revious][!] jump to [count]'th previous matching tag
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|:tl| :tl[ast][!] jump to last matching tag
|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
|:tl| :tl[ast][!] jump to last matching tag
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
|:pts| :pts[elect] like ":tselect" but show tag in preview window
|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
|:pclose| :pc[lose] close tag preview window
|CTRL-W_z| CTRL-W z close tag preview window
|CTRL-W_z| CTRL-W z close tag preview window
------------------------------------------------------------------------------
*Q_sc* Scrolling
@@ -260,7 +260,7 @@ These only work when 'wrap' is off:
|:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used
in Visual block mode:
|v_b_I| I insert the same text in front of all the selected lines
|v_b_I| I insert the same text in front of all the selected lines
|v_b_A| A append the same text after all the selected lines
------------------------------------------------------------------------------
*Q_ai* Insert mode keys
@@ -334,16 +334,16 @@ In Insert or Command-line mode:
*Q_de* Deleting text
|x| N x delete N characters under and after the cursor
|<Del>| N <Del> delete N characters under and after the cursor
|<Del>| N <Del> delete N characters under and after the cursor
|X| N X delete N characters before the cursor
|d| N d{motion} delete the text that is moved over with {motion}
|v_d| {visual}d delete the highlighted text
|v_d| {visual}d delete the highlighted text
|dd| N dd delete N lines
|D| N D delete to the end of the line (and N-1 more lines)
|J| N J join N-1 lines (delete <EOL>s)
|v_J| {visual}J join the highlighted lines
|v_J| {visual}J join the highlighted lines
|gJ| N gJ like "J", but without inserting spaces
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
|:d| :[range]d [x] delete [range] lines [into register x]
------------------------------------------------------------------------------
*Q_cm* Copying and moving text
@@ -369,7 +369,7 @@ In Insert or Command-line mode:
|R| N R enter Replace mode (repeat the entered text N times)
|gR| N gR enter virtual Replace mode: Like Replace mode but
without affecting layout
|v_b_r| {visual}r{char}
|v_b_r| {visual}r{char}
in Visual block mode: Replace each char of the
selected text with {char}
@@ -447,13 +447,13 @@ In Insert or Command-line mode:
|visual-index| list of Visual mode commands.
|v| v start highlighting characters } move cursor and use
|V| V start highlighting linewise } operator to affect
|v| v start highlighting characters } move cursor and use
|V| V start highlighting linewise } operator to affect
|CTRL-V| CTRL-V start highlighting blockwise } highlighted text
|v_o| o exchange cursor position with start of highlighting
|gv| gv start highlighting on previous visual area
|v_v| v highlight characters or stop highlighting
|v_V| V highlight linewise or stop highlighting
|v_o| o exchange cursor position with start of highlighting
|gv| gv start highlighting on previous visual area
|v_v| v highlight characters or stop highlighting
|v_V| V highlight linewise or stop highlighting
|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
------------------------------------------------------------------------------
*Q_to* Text objects (only in Visual mode or after an operator)
@@ -509,8 +509,8 @@ In Insert or Command-line mode:
------------------------------------------------------------------------------
*Q_km* Key mapping
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
mode
|:noremap| :no[remap][!] {lhs} {rhs}
same as ":map", no remapping for this {rhs}
@@ -522,19 +522,19 @@ In Insert or Command-line mode:
Normal and Visual mode
|:map_l!| :ma[p]! [lhs] list mappings (starting with [lhs]) for
Insert and Command-line mode
|:cmap| :cmap/:cunmap/:cnoremap
|:cmap| :cmap/:cunmap/:cnoremap
like ":map!"/":unmap!"/":noremap!" but for
Command-line mode only
|:imap| :imap/:iunmap/:inoremap
|:imap| :imap/:iunmap/:inoremap
like ":map!"/":unmap!"/":noremap!" but for
Insert mode only
|:nmap| :nmap/:nunmap/:nnoremap
|:nmap| :nmap/:nunmap/:nnoremap
like ":map"/":unmap"/":noremap" but for
Normal mode only
|:vmap| :vmap/:vunmap/:vnoremap
|:vmap| :vmap/:vunmap/:vnoremap
like ":map"/":unmap"/":noremap" but for
Visual mode only
|:omap| :omap/:ounmap/:onoremap
|:omap| :omap/:ounmap/:onoremap
like ":map"/":unmap"/":noremap" but only for
when an operator is pending
|:mapc| :mapc[lear] remove mappings for Normal and Visual mode
@@ -691,6 +691,7 @@ Short explanation of each option: *option-list*
'fileencodings' 'fencs' automatically detected character encodings
'fileformat' 'ff' file format used for file I/O
'fileformats' 'ffs' automatically detected values for 'fileformat'
'fileignorecase' 'fic' ignore case when using file names
'filetype' 'ft' type of file, used for autocommands
'fillchars' 'fcs' characters to use for displaying special items
'fkmap' 'fk' Farsi keyboard mapping
@@ -737,10 +738,12 @@ Short explanation of each option: *option-list*
'iconstring' string to use for the Vim icon text
'ignorecase' 'ic' ignore case in search patterns
'imactivatekey' 'imak' key that activates the X input method
'imactivatefunc' 'imaf' function to enable/disable the X input method
'imcmdline' 'imc' use IM when starting to edit a command line
'imdisable' 'imd' do not use the IM in any mode
'iminsert' 'imi' use :lmap or IM in Insert mode
'imsearch' 'ims' use :lmap or IM when typing a search pattern
'imstatusfunc' 'imsf' function to obtain X input method status
'include' 'inc' pattern to be used to find an include file
'includeexpr' 'inex' expression used to process an include line
'incsearch' 'is' highlight match while typing search pattern
@@ -823,6 +826,7 @@ Short explanation of each option: *option-list*
'quoteescape' 'qe' escape characters used in a string
'readonly' 'ro' disallow writing the buffer
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
'regexpengine' 're' default regexp engine to use
'relativenumber' 'rnu' show relative line number in front of each line
'remap' allow mappings to work recursively
'report' threshold for reporting nr. of lines changed
@@ -851,6 +855,7 @@ Short explanation of each option: *option-list*
'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
'shellxescape' 'sxe' characters to escape when 'shellxquote' is (
'shellxquote' 'sxq' like 'shellquote', but include redirection
'shiftround' 'sr' round indent to multiple of shiftwidth
'shiftwidth' 'sw' number of spaces to use for (auto)indent step
@@ -957,9 +962,9 @@ Short explanation of each option: *option-list*
------------------------------------------------------------------------------
*Q_ur* Undo/Redo commands
|u| N u undo last N changes
|u| N u undo last N changes
|CTRL-R| N CTRL-R redo last N undone changes
|U| U restore last changed line
|U| U restore last changed line
------------------------------------------------------------------------------
*Q_et* External commands
@@ -1010,7 +1015,7 @@ Short explanation of each option: *option-list*
C4350, etc.)
|:normal| :norm[al][!] {commands}
execute Normal mode commands
|Q| Q switch to "Ex" mode
|Q| Q switch to "Ex" mode
|:redir| :redir >{file} redirect messages to {file}
|:silent| :silent[!] {command} execute {command} silently
@@ -1086,11 +1091,11 @@ Context-sensitive completion on the command-line:
------------------------------------------------------------------------------
*Q_ex* Special Ex characters
|:bar| | separates two commands (not for ":global" and ":!")
|:bar| | separates two commands (not for ":global" and ":!")
|:quote| " begins comment
|:_%| % current file name (only where a file name is expected)
|:_#| #[num] alternate file name [num] (only where a file name is
|:_%| % current file name (only where a file name is expected)
|:_#| #[num] alternate file name [num] (only where a file name is
expected)
Note: The next seven are typed literally; these are not special keys!
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
@@ -1170,18 +1175,18 @@ Context-sensitive completion on the command-line:
Without !: Fail if changes have been made to the current buffer.
With !: Discard any changes to the current buffer.
|:edit_f| :e[dit][!] {file} edit {file}
|:edit| :e[dit][!] reload the current file
|:enew| :ene[w][!] edit a new, unnamed buffer
|:edit| :e[dit][!] reload the current file
|:enew| :ene[w][!] edit a new, unnamed buffer
|:find| :fin[d][!] {file} find {file} in 'path' and edit it
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|gf| gf or ]f edit the file whose name is under the cursor
|:pwd| :pwd print the current directory name
|:cd| :cd [path] change the current directory to [path]
|:cd-| :cd - back to previous current directory
|:file| :f[ile] print the current file name and the cursor
|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
|gf| gf or ]f edit the file whose name is under the cursor
|:pwd| :pwd print the current directory name
|:cd| :cd [path] change the current directory to [path]
|:cd-| :cd - back to previous current directory
|:file| :f[ile] print the current file name and the cursor
position
|:file| :f[ile] {name} set the current file name to {name}
|:file| :f[ile] {name} set the current file name to {name}
|:files| :files show alternate file names
------------------------------------------------------------------------------
*Q_fl* Using the argument list |argument-list|
@@ -1197,12 +1202,12 @@ Context-sensitive completion on the command-line:
in current window in new window ~
|:argument| :argu[ment] N :sar[gument] N edit file N
|:next| :n[ext] :sn[ext] edit next file
|:next| :n[ext] :sn[ext] edit next file
|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list
and edit first file
|:Next| :N[ext] :sN[ext] edit previous file
|:Next| :N[ext] :sN[ext] edit previous file
|:first| :fir[st] :sfir[st] edit first file
|:last| :la[st] :sla[st] edit last file
|:last| :la[st] :sla[st] edit last file
------------------------------------------------------------------------------
*Q_wq* Writing and quitting

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.3. Last change: 2011 Jan 06
*repeat.txt* For Vim version 7.3. Last change: 2012 Mar 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -109,7 +109,7 @@ q Stops recording. (Implementation note: The 'q' that
it was the result of a mapping) {Vi: no recording}
*@*
@{0-9a-z".=*} Execute the contents of register {0-9a-z".=*} [count]
@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} [count]
times. Note that register '%' (name of the current
file) and '#' (name of the alternate file) cannot be
used.
@@ -123,8 +123,8 @@ q Stops recording. (Implementation note: The 'q' that
*@@* *E748*
@@ Repeat the previous @{0-9a-z":*} [count] times.
:[addr]*{0-9a-z".=} *:@* *:star*
:[addr]@{0-9a-z".=*} Execute the contents of register {0-9a-z".=*} as an Ex
:[addr]*{0-9a-z".=+} *:@* *:star*
:[addr]@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} as an Ex
command. First set cursor at line [addr] (default is
current line). When the last line in the register does
not have a <CR> it will be added automatically when

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