Compare commits

...

543 Commits

Author SHA1 Message Date
Bram Moolenaar
ebbcb824ba updated for version 7.3.034
Problem:    Win32: may be loading .dll from the wrong directory.
Solution:   Go to the Vim executable directory when opening a library.
2010-10-23 14:02:54 +02:00
Bram Moolenaar
b8e86705ca updated for version 7.3.033
Problem:    Can't build without FEAT_LOCALMAP.
Solution:   Add an #ifdef. (John Marriott)
2010-10-22 22:13:52 +02:00
Bram Moolenaar
bd74325960 updated for version 7.3.032
Problem:    maparg() doesn't return the flags, such as <buffer>, <script>,
            <silent>.  These are needed to save and restore a mapping.
Solution:   Improve maparg(). (also by Christian Brabandt)
2010-10-20 21:23:33 +02:00
Bram Moolenaar
727c876b78 updated for version 7.3.031
Problem:    Can't pass the X window ID to another application.
Solution:   Add v:windowid. (Christian J. Robinson, Lech Lorens)
2010-10-20 19:17:48 +02:00
Bram Moolenaar
483c5d80a7 Updated runtime files and translations. 2010-10-20 18:45:33 +02:00
Bram Moolenaar
680eeca955 updated for version 7.3.030
Problem:    Cannot store Dict and List in viminfo file.
Solution:   Add support for this. (Christian Brabandt)
2010-10-20 17:44:42 +02:00
Bram Moolenaar
f75d498844 updated for version 7.3.029
Problem:    ":sort n" sorts lines without a number as number zero. (Beeyawned)
Solution:   Make lines without a number sort before lines with a number.  Also
            fix sorting negative numbers.
2010-10-15 20:20:05 +02:00
Bram Moolenaar
b60574ba21 updated for version 7.3.028
Problem:    Signs don't show up. (Charles Campbell)
Solution:   Don't use negative numbers.  Also assign a number to signs that
            have a name of all digits to avoid using a sign number twice.
2010-10-14 21:29:37 +02:00
Bram Moolenaar
464c92545a updated for version 7.3.027
Problem:    Opening a file on a network share is very slow.
Solution:   When fixing file name case append "\*" to directory, server and
            network share names. (David Anderson, John Beckett)
2010-10-13 20:37:41 +02:00
Bram Moolenaar
77a0aa457d updated for version 7.3.026
Problem:    CTRL-] in a help file doesn't always work. (Tony Mechelynck)
Solution:   Don't escape special characters. (Carlo Teubner)
2010-10-13 18:06:47 +02:00
Bram Moolenaar
78f74a91bf updated for version 7.3.025
Problem:    ":mksession" does not square brackets escape file name properly.
Solution:   Improve escapging of file names. (partly by Peter Odding)
2010-10-13 17:50:07 +02:00
Bram Moolenaar
a4f332b44c updated for version 7.3.024
Problem:    Named signs do not use a negative number as intended.
Solution:   Fix the numbering of named signs. (Xavier de Gaye)
2010-10-13 16:44:23 +02:00
Bram Moolenaar
624891f3ef updated for version 7.3.023
Problem:    External program may hang when it tries to write to the tty.
Solution:   Don't close the slave tty until after the child exits. (Nikola
            Knezevic)
2010-10-13 16:22:09 +02:00
Bram Moolenaar
d5784f9fc4 updated for version 7.3.022
Problem:    When opening a new window the 'spellcapcheck' option is cleared.
Solution:   Copy the correct option value. (Christian Brabandt)
2010-10-13 14:05:35 +02:00
Bram Moolenaar
423f97277d updated for version 7.3.021
Problem:    Conflict for defining Boolean in Mac header files.
Solution:   Define NO_X11_INCLUDES. (Rainer Muller)
2010-10-10 17:08:43 +02:00
Bram Moolenaar
341ad7a699 updated for version 7.3.020
Problem:    Cursor position wrong when joining multiple lines and
            'formatoptions' contains "a". (Moshe Kamensky)
Solution:   Adjust cursor position for skipped indent. (Carlo Teubner)
2010-10-09 17:23:31 +02:00
Bram Moolenaar
4a74803ef8 Runtime file updates. 2010-09-30 21:47:56 +02:00
Bram Moolenaar
c2a406b317 updated for version 7.3.019
Problem:    ":nbstart" can fail silently.
Solution:   Give an error when netbeans is not supported by the GUI. (Xavier
            de Gaye)
2010-09-30 21:03:26 +02:00
Bram Moolenaar
d622beb3c3 updated for version 7.3.018
Problem:    Missing argument to windres in MingW makefiles.
Solution:   Add the argument that was wrapped in the patch. (Jon Maken)
2010-09-29 18:42:28 +02:00
Bram Moolenaar
a8fc79895e updated for version 7.3.017
Problem:    smatch reports errors.
Solution:   Fix the reported errors. (Dominique Pelle)
2010-09-29 18:32:52 +02:00
Bram Moolenaar
173c98550f updated for version 7.3.016
Problem:    Netbeans doesn't work under Athena.
Solution:   Support Athena, just like Motif. (Xavier de Gaye)
2010-09-29 17:27:01 +02:00
Bram Moolenaar
3967692f9e updated for version 7.3.015
Problem:    Test is using error message that no longer exists.
Solution:   Change E106 to E121. (Dominique Pelle)
2010-09-29 16:55:49 +02:00
Bram Moolenaar
417f5e7f11 updated for version 7.3.014
Problem:    Ending a line in a backslash inside an ":append" or ":insert"
            command in Ex mode doesn't work properly. (Ray Frush)
Solution:   Halve the number of backslashes, only insert a NUL after an odd
            number of backslashes.
2010-09-29 15:50:30 +02:00
Bram Moolenaar
f9b5ef8c88 updated for version 7.3.013
Problem:    Dynamic loading with Ruby doesn't work for 1.9.2.
Solution:   Handle rb_str2cstr differently.  Also support dynamic loading on
            Unix. (Jon Maken)
2010-09-29 13:02:53 +02:00
Bram Moolenaar
3c9ab1c0e0 updated for version 7.3.012
Problem:    Problems building with MingW.
Solution:   Adjust the MingW makefiles. (Jon)
2010-09-29 12:38:00 +02:00
Bram Moolenaar
006590697c Updated runtime files. 2010-09-21 22:34:02 +02:00
Bram Moolenaar
62b42181fb updated for version 7.3.011
Problem:    X11 clipboard doesn't work in Athena/Motif GUI.  First selection
            after a shell command doesn't work.
Solution:   When using the GUI use XtLastTimestampProcessed() instead of
            changing a property.  (partly by Toni Ronkko)
            When executing a shell command disown the selection.
2010-09-21 22:09:37 +02:00
Bram Moolenaar
b05034a4ed updated for version 7.3.010
Problem:    Mac GUI: Missing break statements.
Solution:   Add the break statements. (Dominique Pelle)
2010-09-21 17:34:31 +02:00
Bram Moolenaar
d32a99a6d9 updated for version 7.3.009
Problem:    Win32: Crash on Windows when using a bad argument for strftime().
            (Christian Brabandt)
Solution:   Use the bad_param_handler(). (Mike Williams)
2010-09-21 17:29:23 +02:00
Bram Moolenaar
3368ea2152 updated for version 7.3.008
Problem:    'cursorbind' is kept in places where 'scrollbind' is reset.
Solution:   Reset 'cursorbind'.
2010-09-21 16:56:35 +02:00
Bram Moolenaar
2eea198564 updated for version 7.3.007
Problem:    Python code defines global "buffer".  Re-implements a grow-array.
Solution:   Use a grow-array instead of coding the same functionality.  Handle
            out-of-memory situation properly.
2010-09-21 16:49:37 +02:00
Bram Moolenaar
24ea3babed Updated runtime files. 2010-09-19 19:01:21 +02:00
Bram Moolenaar
60bb4e1b46 updated for version 7.3.006
Problem:    Can't build some multi-byte code with C89.
Solution:   Move code to after declarations. (Joachim Schmitz)
2010-09-18 13:36:49 +02:00
Bram Moolenaar
217d285fdd updated for version 7.3.005
Problem:    Crash when using undotree(). (Christian Brabandt)
Solution:   Increase the list reference count.  Add a test for undotree()
            (Lech Lorens)
2010-09-14 12:47:37 +02:00
Bram Moolenaar
73a92fe013 updated for version 7.3.004
Problem:    Crash when using very long regexp. (Peter Odding)
Solution:   Reset reg_toolong. (Carlo Teubner)
2010-09-14 10:55:47 +02:00
Bram Moolenaar
66e1f8860a Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Mechelynck)
2010-08-20 11:11:57 +02:00
Bram Moolenaar
832f80e310 updated for version 7.3.003
Problem:    Crash with specific BufWritePost autocmd. (Peter Odding)
Solution:   Don't free the quickfix title twice. (Lech Lorens)
2010-08-17 20:26:59 +02:00
Bram Moolenaar
c24b6977a1 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
            variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
            Ramliy)
2010-08-16 22:34:29 +02:00
Bram Moolenaar
da9836cfa9 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
            variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
            Ramliy)
2010-08-16 21:53:27 +02:00
Bram Moolenaar
7f03644116 Last changes for the 7.3 release! 2010-08-15 15:24:20 +02:00
Bram Moolenaar
35f330c0d2 Fix #ifdef for GDK_SUPER_MASK. (Stephan Schulz) 2010-08-15 13:53:58 +02:00
Bram Moolenaar
db84e4599c Make the references to features in the help more consistent. (Sylvain Hitier) 2010-08-15 13:50:43 +02:00
Bram Moolenaar
d04f440259 Docs fix for tabpagewinnr(). (Sylvain Hitier) 2010-08-15 13:30:34 +02:00
Bram Moolenaar
d732f9aee0 Two fixes for :find completion and more testing. (Nazri Ramliy) 2010-08-15 13:29:11 +02:00
Bram Moolenaar
10d4664330 Do include Mac clipboard code for MacVim. 2010-08-15 12:57:37 +02:00
Bram Moolenaar
abf39e880d Runtime file updates. 2010-08-14 21:57:32 +02:00
Bram Moolenaar
e00289df69 Fix building the Mac version with GUI. 2010-08-14 21:56:42 +02:00
Bram Moolenaar
755bd26c59 README and help file updates. 2010-08-14 17:46:20 +02:00
Bram Moolenaar
bb3d5dc320 Fix: in compatible mode, in an empty buffer, ":r file" triggered an error
message.
2010-08-14 14:32:54 +02:00
Bram Moolenaar
cda000e97f Fix: strcat() on overlapping string. (Dominique Pelle) 2010-08-14 13:34:39 +02:00
Bram Moolenaar
4421d6af22 Version 7.3f -> 7.3g 2010-08-14 13:33:56 +02:00
Bram Moolenaar
bfc8b97639 Preparations for 7.3f release. 2010-08-13 22:05:54 +02:00
Bram Moolenaar
dc685aba75 Cleanup in :find completion code. Make it work for "./subdir" in 'path'. 2010-08-13 21:16:49 +02:00
Bram Moolenaar
daf3b39559 Use mkdir() instead of !mkdir in test 73, it's more reliable. 2010-08-13 19:13:18 +02:00
Bram Moolenaar
673b87b577 Now really fix using expressions in the command line (hopefully). 2010-08-13 19:12:07 +02:00
Bram Moolenaar
35a3423c6a Fix illegal memory access when using expressions in the command line. 2010-08-13 16:51:26 +02:00
Bram Moolenaar
4a474d36d7 Update message for :python/:py3 usage with approximate translations. 2010-08-13 16:24:30 +02:00
Bram Moolenaar
b744b2fa32 Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier) 2010-08-13 16:22:57 +02:00
Bram Moolenaar
2a988a162c Conceal feature caused the 'cursorline' highlighting to stop early. 2010-08-13 15:24:39 +02:00
Bram Moolenaar
0fcd237614 Fix for Yaml syntax file. (Nikolai Weibull) 2010-08-13 14:58:53 +02:00
Bram Moolenaar
6b6eedfc1c Runtime file updates. 2010-08-13 14:38:12 +02:00
Bram Moolenaar
580061a821 Fix #ifdef for GDK_SUPER_MASK. 2010-08-13 13:57:13 +02:00
Bram Moolenaar
31710268ed More fixes for :find completion. (mostly by Nazri Ramliy) 2010-08-13 13:36:15 +02:00
Bram Moolenaar
f354981d4b Update to Perl runtime files. (Andy Lester) 2010-08-13 12:09:22 +02:00
Bram Moolenaar
7900f14991 Updated Italian menus. (Vlad Sandrini) 2010-08-13 11:57:42 +02:00
Bram Moolenaar
8df7f88890 Updates for :TOhtml. (Benjamin Fritz) 2010-08-13 11:30:02 +02:00
Bram Moolenaar
2f1e050414 Avoid warnings from the clang compiler. (Dominique Pelle) 2010-08-13 11:18:02 +02:00
Bram Moolenaar
0e97531298 Updated Finnish translations. (Flammie Pirinen) 2010-08-12 22:19:09 +02:00
Bram Moolenaar
2bd6a1b542 Fix: Lua interface tried to load the library when closing a buffer or window. 2010-08-12 22:14:01 +02:00
Bram Moolenaar
0be992e347 Improvements for :find completion. 2010-08-12 21:50:51 +02:00
Bram Moolenaar
d7b734a493 Include wchar.h in charset.c for towupper(). 2010-08-12 20:17:02 +02:00
Bram Moolenaar
ede981a27f Runtime file updates. 2010-08-11 23:37:32 +02:00
Bram Moolenaar
fae6c1a02d Updated translations. Added Portuguese tutor. 2010-08-11 23:11:47 +02:00
Bram Moolenaar
9bc040c8e1 Fixes for :find completion. 2010-08-11 22:05:57 +02:00
Bram Moolenaar
0ee8df9ce5 Improved pt_PT spell file generation. 2010-08-10 22:53:02 +02:00
Bram Moolenaar
d70b2a8355 Updated message translations. 2010-08-10 22:52:25 +02:00
Bram Moolenaar
7fc0c065f0 Runtime file updates. Fix tar plugin window split. 2010-08-10 21:43:35 +02:00
Bram Moolenaar
2d7c47de45 Make :find completion work better with the DJGPP build. (Nazri Ramliy) 2010-08-10 19:50:26 +02:00
Bram Moolenaar
d5ee95f964 Fix compiler warning. 2010-08-10 09:25:48 +02:00
Bram Moolenaar
d54a688130 Fix crash when using netbeans in a terminal when compiled with GUI support.
(partly by Xavier de Gaye)
2010-08-09 22:49:00 +02:00
Bram Moolenaar
9de9997949 Runtime file updates. 2010-08-09 22:33:06 +02:00
Bram Moolenaar
bc226b6ded Fix: :ltag command did not set w:quickfix_title. (Lech Lorens) 2010-08-09 22:14:48 +02:00
Bram Moolenaar
314f11d44c Fix for float values on VMS. (Zoltan Arpadffy) 2010-08-09 22:07:08 +02:00
Bram Moolenaar
b61f95c31f When building with both Python 2 and Python 3 don't use RTLD_GLOBAL, so that
both may work.
2010-08-09 22:06:13 +02:00
Bram Moolenaar
82d1c33a8a Version 7.3e -> 7.3f. 2010-08-09 20:16:32 +02:00
Bram Moolenaar
6af737fdb4 Runtime file updates. (Tim Pope) 2010-08-09 20:13:35 +02:00
Bram Moolenaar
4eccc3e301 Prepare for 7.3e release. 2010-08-08 21:39:46 +02:00
Bram Moolenaar
5eba45c74b Update version info in help files. 2010-08-08 21:15:53 +02:00
Bram Moolenaar
3479c5dc48 Fixed: on MS-Windows sometimes files with number 4913 or higher are left
behind.
2010-08-08 18:46:06 +02:00
Bram Moolenaar
e2b590ebf6 Update help about wildcards in 'tags' option. 2010-08-08 18:29:48 +02:00
Bram Moolenaar
463ee340d0 Fix: 'suffixesadd' was used for finding tags file. 2010-08-08 18:17:52 +02:00
Bram Moolenaar
09092155a6 Remove unused code. 2010-08-08 16:38:42 +02:00
Bram Moolenaar
83687a7215 NL spelling: remove REP items to avoid lots of suggestions with dots. 2010-08-08 16:34:14 +02:00
Bram Moolenaar
a0a2d437c2 Also support Doxygen in C# files. (Andreas J. Beblik) 2010-08-08 15:28:22 +02:00
Bram Moolenaar
96118f3e38 Improve positioning of combining characters in GTK. 2010-08-08 14:40:37 +02:00
Bram Moolenaar
2d231cb89c Make test 11 pass when there is no gzip program. (John Beckett) 2010-08-08 13:18:47 +02:00
Bram Moolenaar
5a7d7cde15 Avoid that test 73 ovewrites viminfo. (James Vega) 2010-08-08 13:13:51 +02:00
Bram Moolenaar
db41fa255d Fix: test 73 failed with small features. 2010-08-08 13:07:57 +02:00
Bram Moolenaar
06583f137b Change readfile() to ignore byte order marks, unless in binary mode. 2010-08-07 20:30:49 +02:00
Bram Moolenaar
1549e29af4 Use different Czech keymap (Stepan Nemec) 2010-08-07 18:42:45 +02:00
Bram Moolenaar
c0cba4d9b1 Fixed: on MS-Windows completion of shell commands didn't work. 2010-08-07 17:07:21 +02:00
Bram Moolenaar
b92159d59e Updated translations. (Dominique Pelle) 2010-08-07 16:38:38 +02:00
Bram Moolenaar
7ba6ed34fe Fix: An unprintable multi-byte character at the start of the screen line
caused the following text to be drawn at the wrong position.
2010-08-07 16:38:13 +02:00
Bram Moolenaar
bebca9daa4 Updates for :TOhtml. (Ben Fritz) 2010-08-07 15:47:30 +02:00
Bram Moolenaar
706e84b3ea Fix: with newer GTK versions accented characters were drawn too much to the
left.
2010-08-07 15:46:45 +02:00
Bram Moolenaar
311dc17d96 Update for jsp syntax file. 2010-08-07 13:46:23 +02:00
Bram Moolenaar
d3dd26658c Some messages were missing when updating translations. (Dominique Pelle) 2010-08-07 13:45:59 +02:00
Bram Moolenaar
dd10ce91a8 Set 'visualbell' in test 72 to avoid a beep. 2010-08-07 13:27:48 +02:00
Bram Moolenaar
6ab1cc4d65 Update pt_BR translations. 2010-08-07 13:19:56 +02:00
Bram Moolenaar
33aea1875c Update README files. Remove references to extra and lang archives. 2010-08-07 13:19:27 +02:00
Bram Moolenaar
0390ded91b Fix: ml_get errors when using undo with 'virtualedit'. 2010-08-07 12:54:12 +02:00
Bram Moolenaar
c3d2c4478d Updated Dutch spell files to use latest OpenOffic.org version. 2010-08-06 22:14:36 +02:00
Bram Moolenaar
3737f8988c Update version number in gvim.exe manifest. (Michael Wookey) 2010-08-06 20:53:49 +02:00
Bram Moolenaar
97cfe90de8 Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron) 2010-08-06 20:42:30 +02:00
Bram Moolenaar
e90ee31c40 Updated syntax files. 2010-08-05 22:08:47 +02:00
Bram Moolenaar
076e8b2a0b Improve handling of user settings in :TOhtml. Default to generating CSS.
(Benjamin Fritz)
2010-08-05 21:54:00 +02:00
Bram Moolenaar
84f888a5b3 Fix a few problems for :find completion. Test much more. (Nazri Ramliy) 2010-08-05 21:40:16 +02:00
Bram Moolenaar
74cbdf0334 Updated syntax files. (Charles Campbell) 2010-08-04 23:03:17 +02:00
Bram Moolenaar
a9d0cba165 Fixed: "make install" installed a few Amiga .info files. 2010-08-04 22:44:27 +02:00
Bram Moolenaar
5c3bd0a0fb Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars'
contains a character that would become double width.
2010-08-04 20:55:44 +02:00
Bram Moolenaar
e4ce65d445 After entering a crypt key would need to hit return to continue.
When silencing a message it would still clear a kept message.
2010-08-04 20:12:32 +02:00
Bram Moolenaar
257a9c873f 7.3d -> 7.3e. 2010-08-04 19:29:04 +02:00
Bram Moolenaar
3ea5fa7a11 Make test 73 a bit more portable. 2010-08-04 18:27:57 +02:00
Bram Moolenaar
1affd72471 Preparations for 7.3d release. 2010-08-04 17:49:30 +02:00
Bram Moolenaar
80a7dcf8b5 Make :find completion consistent between Unix and MS-Windows. Add a test.
(Nazri Ramliy)
2010-08-04 17:07:20 +02:00
Bram Moolenaar
150a1321b2 Add translations in diff syntax. (Jakson A. Aquino) 2010-08-04 16:11:50 +02:00
Bram Moolenaar
280a29f931 Small changes to the test files. (John Beckett) 2010-08-04 16:10:19 +02:00
Bram Moolenaar
a411e5d97d Set 'wrapscan' when checking the .po files. (Mike Williams) 2010-08-04 15:47:08 +02:00
Bram Moolenaar
3832c466d7 Fix: when setting crypt key seed was not updated when the swap file wasn't
created yet.
2010-08-04 15:32:46 +02:00
Bram Moolenaar
f9bb734367 When undoing a reload, move the cursor to the first changed line. 2010-08-04 14:29:54 +02:00
Bram Moolenaar
006d2b036b Fix crash when no item in 'path' is used for :find completion. 2010-08-04 12:39:44 +02:00
Bram Moolenaar
a68cac57de Rename quickfix plugin to match the filetype set in the code. 2010-08-04 12:05:40 +02:00
Bram Moolenaar
5aae419afe Runtime file updates. 2010-08-03 23:00:38 +02:00
Bram Moolenaar
245803840b Recognize .f03 and .f08 as Fortran files. (Ajit Thakkar) 2010-08-03 22:45:06 +02:00
Bram Moolenaar
7f0f621c4c Fix crash in :find completion. (Nazri Ramliy) 2010-08-03 22:21:00 +02:00
Bram Moolenaar
57adda1e90 Fix: With 'path' set to relative directory ":find" completion didn't work.
(Nazri Ramliy)
2010-08-03 22:11:29 +02:00
Bram Moolenaar
bf65051b7b Windows uninstaller: Instead of calling RegDeleteKeyEx() directly load it
dynamically from the .dll.  Should work everywhere.
2010-08-02 23:06:46 +02:00
Bram Moolenaar
61a91766f7 Take OLE registration back to 32 bit registry, the unregister wasn't working
for the 64 registry.
2010-08-02 22:13:25 +02:00
Bram Moolenaar
4b22cdb060 Syntax file updates. (Charles Campbell) 2010-08-02 22:12:46 +02:00
Bram Moolenaar
413177336f Updated version of gettext for use with MVC. (Mike Williams) 2010-08-02 21:43:29 +02:00
Bram Moolenaar
bdc975cdfe Improvements for :find completion. (Nazri Ramliy) 2010-08-02 21:33:37 +02:00
Bram Moolenaar
bbdcb4848a Put quotes around the gvim.exe path for the "Open with" menu entry. 2010-08-02 20:45:27 +02:00
Bram Moolenaar
3f97ebf730 Workaround for missing RegDeleteKeyEx() method. 2010-08-02 20:26:43 +02:00
Bram Moolenaar
e04abda52f Update version.h for 7.3c -> 7.3d. 2010-08-01 22:35:43 +02:00
Bram Moolenaar
90df5507c0 Add Datascript syntax file. (Dominique Pelle) 2010-08-01 21:48:21 +02:00
Bram Moolenaar
3a0ae77fe6 Fix: the MS-Windows uninstaller did not delete registry keys on 64 bit systems. 2010-08-01 21:15:45 +02:00
Bram Moolenaar
9379f83030 Version 7.3c -> 7.3d 2010-08-01 20:38:51 +02:00
Bram Moolenaar
4b26dff329 Update todo file. 2010-08-01 20:18:38 +02:00
Bram Moolenaar
92096d529e Define the WOW64 key when needed. 2010-08-01 19:50:25 +02:00
Bram Moolenaar
c0f15ce171 Update utf-8 version of tutor. 2010-08-01 19:11:06 +02:00
Bram Moolenaar
44886d93c4 Minor updates for the 7.3c release. 2010-08-01 19:06:10 +02:00
Bram Moolenaar
1a509df322 Remove unused variable and STRLEN(). (Dominique Pelle) 2010-08-01 17:59:57 +02:00
Bram Moolenaar
f4274feeef Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often. 2010-08-01 17:37:17 +02:00
Bram Moolenaar
f9d5ca1de4 Runtime file updates. 2010-08-01 16:13:51 +02:00
Bram Moolenaar
7e88c3dc19 Avoid illegal memory access in spell suggestion. (Dominique Pelle) 2010-08-01 15:47:35 +02:00
Bram Moolenaar
00ec6854e3 Avoid that running tests changes viminfo. 2010-08-01 15:47:03 +02:00
Bram Moolenaar
95e8579e1c Fix: crash in spell checking with a 0x300 character. 2010-08-01 15:37:02 +02:00
Bram Moolenaar
121d95f7d1 Fix: uninitialized memory access. (Dominique Pelle) 2010-08-01 15:11:43 +02:00
Bram Moolenaar
3b0dd7cd35 Fix typos in README files. (Dominique Pelle) 2010-08-01 14:36:59 +02:00
Bram Moolenaar
a539df01f8 No need to redraw cursorline when 'modifiable' is changed. (Dominique Pelle) 2010-08-01 14:35:05 +02:00
Bram Moolenaar
d1cb65e440 Fix: changing case of a character removed combining characters. 2010-08-01 14:22:48 +02:00
Bram Moolenaar
a621a03839 Add the WOW64 flag back to OLE registration. (untested) 2010-08-01 13:25:05 +02:00
Bram Moolenaar
760d14a55c Fix that uninstaller isn't found on 64-bit Windows. 2010-07-31 22:03:44 +02:00
Bram Moolenaar
7805004319 Fix: on MS-Windows the "open with..." menu starts Vim without a file. 2010-07-31 20:53:54 +02:00
Bram Moolenaar
ca8a4dfe7a Move many more common Python items to if_py_both.c. 2010-07-31 19:54:14 +02:00
Bram Moolenaar
3b1c48569d Fixed: CTRL-R in Insert mode doesn't insert composing characters. 2010-07-31 17:59:29 +02:00
Bram Moolenaar
a9d52e3b79 Fixes for coverity warnings. 2010-07-31 16:44:19 +02:00
Bram Moolenaar
a26559b553 Support syntax and filetype completion for user commands. (Christian Brabandt) 2010-07-31 14:59:19 +02:00
Bram Moolenaar
460fbaca72 Possibly make OLE work on Windows 64 bit. (untested) 2010-07-31 14:45:05 +02:00
Bram Moolenaar
8408a9ad9b More updated runtime files. 2010-07-30 22:41:22 +02:00
Bram Moolenaar
f878bcfb2e Improvements for VMS. (Zoltan Arpadffy) 2010-07-30 22:29:41 +02:00
Bram Moolenaar
68392724b8 Correct comments in testdir makefiles. (John Beckett) 2010-07-30 22:04:17 +02:00
Bram Moolenaar
8b68277fdc Runtime file updates. 2010-07-30 21:49:40 +02:00
Bram Moolenaar
0e1673aef4 Fix test 72 not setting encryption method. (Dominique Pelle) 2010-07-30 21:49:07 +02:00
Bram Moolenaar
3b72f1d2aa Dectect Perl6. 2010-07-29 23:12:43 +02:00
Bram Moolenaar
48bae372e9 Few more fixes for VMS. 2010-07-29 23:12:15 +02:00
Bram Moolenaar
30a8635b56 Fix a few compile warnings. (Mike Williams) 2010-07-29 23:10:40 +02:00
Bram Moolenaar
40af4e3903 Updated runtime files. Add logcheck filetype plugin. (James Vega) 2010-07-29 22:33:18 +02:00
Bram Moolenaar
1587a1e37d Add completion for ":ownsyntax" and improve completion for ":filetype".
(Dominique Pelle)
2010-07-29 20:59:59 +02:00
Bram Moolenaar
8ada2cca0a Updated runtime files. :TOhtml improvements by Benjamin Fritz. 2010-07-29 20:43:36 +02:00
Bram Moolenaar
16c98f9c9f Update for Lua interface. (Luis Carvalho) 2010-07-28 22:46:08 +02:00
Bram Moolenaar
92048a3110 Remove Mupad indent and ftplugin files, they are not useful. 2010-07-28 22:30:00 +02:00
Bram Moolenaar
162bd91564 Improvements for ":find" completion. (Nazri Ramliy) 2010-07-28 22:29:10 +02:00
Bram Moolenaar
8e46927a32 Changes for VMS. Mostly by Zoltan Arpadffy. 2010-07-28 19:38:16 +02:00
Bram Moolenaar
1dba0fbb7a Fix: :redir to a dictionary that is changed before ":redir END" causes a
memory access error.
2010-07-28 18:55:02 +02:00
Bram Moolenaar
477db060eb More runtime file updates. 2010-07-28 18:17:41 +02:00
Bram Moolenaar
6e202e52b7 Fix: concealed regions didn't get redrawn correctly when moving the cursor
through them.
2010-07-28 18:14:45 +02:00
Bram Moolenaar
e0021c79a5 More accented characters in tex.vim syntax. (Charles Campbell) 2010-07-28 17:25:21 +02:00
Bram Moolenaar
c6485bceb1 Updated runtime files. 2010-07-28 17:02:55 +02:00
Bram Moolenaar
2929160846 Updated Italian messages. (Vlad Sandrini) 2010-07-28 14:28:48 +02:00
Bram Moolenaar
59c0395e6b Minor runtime file updates. 2010-07-28 12:52:27 +02:00
Bram Moolenaar
5ac3b1aae2 Updated runtime files. New netrw plugin version. 2010-07-27 22:50:36 +02:00
Bram Moolenaar
8765a4ac3a Fix build warnings and problems for tiny/small Win32 build. (Mike Williams) 2010-07-27 22:41:43 +02:00
Bram Moolenaar
3b95389d45 Fix for "concealends". (Vince Negri) 2010-07-27 20:47:25 +02:00
Bram Moolenaar
611df5b96e Update TeX syntax file. 2010-07-26 22:51:56 +02:00
Bram Moolenaar
5e109c4ab0 Fix compiler warnings on 64 bit systems. 2010-07-26 22:51:28 +02:00
Bram Moolenaar
0ed0eea206 Updated runtime files. 2010-07-26 22:21:27 +02:00
Bram Moolenaar
f82bac3717 Fix: terminal title not properly restured when there are multi-byte
characters.  (partly by James Vega)
2010-07-25 22:30:20 +02:00
Bram Moolenaar
c3301874a6 7.3b -> 7.3c 2010-07-25 20:53:06 +02:00
Bram Moolenaar
6fc45b55fc Prepare for 7.3b release. Fix src/Makefile enabling python3 by default. 2010-07-25 17:42:45 +02:00
Bram Moolenaar
7fd7320014 Add "q" item for 'statusline'. Add w:quickfix_title. (Lech Lorens) 2010-07-25 16:58:46 +02:00
Bram Moolenaar
fa0ff9aedf Fix: editing a not encrypted file after a crypted file messed up reading the
text from an undo file.
2010-07-25 16:05:19 +02:00
Bram Moolenaar
8d9b40e71a Add support for horizontal scroll wheel. (Bjorn Winckler) 2010-07-25 15:49:07 +02:00
Bram Moolenaar
0fe849a13b Better fix for memory access in recovery. (Dominique Pelle) 2010-07-25 15:11:11 +02:00
Bram Moolenaar
0ad014c8a0 Fix memory access to 'cryptmethod' during recovery. (Dominique Pelle) 2010-07-25 14:00:46 +02:00
Bram Moolenaar
904fb861e7 Add completion for :setfiletype. (Dominique Pelle) 2010-07-25 13:53:11 +02:00
Bram Moolenaar
22b306f3e0 Add completion for :lmap and :lunmap. 2010-07-25 13:50:33 +02:00
Bram Moolenaar
d68554d4fe Include old Python changes in Python 3 interface. 2010-07-25 13:43:20 +02:00
Bram Moolenaar
bed7beca58 Fix: when resetting both 'title' and 'icon' the title would be set after a
shell command.
Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up.
2010-07-25 13:42:29 +02:00
Bram Moolenaar
8220a6813e Use the SONAME-versioned liblua, if it exists. (James Vega) 2010-07-25 13:12:49 +02:00
Bram Moolenaar
7510fe7433 Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz) 2010-07-25 12:46:44 +02:00
Bram Moolenaar
e6dc573b6e Let 'v' flag in 'concealcursor' apply to all lines in the Visual area. 2010-07-24 23:52:26 +02:00
Bram Moolenaar
170bf1aed5 Move some common code from if_python.c and if_python3.c to if_py_both.h. 2010-07-24 23:51:45 +02:00
Bram Moolenaar
365bdf7a7b More runtime file updates. 2010-07-24 20:57:44 +02:00
Bram Moolenaar
eb80f04f6e Fix for compiler warning about function prototype in pty.c. 2010-07-24 20:44:27 +02:00
Bram Moolenaar
1b20d3d608 Add 'window' to the options window. 2010-07-24 20:44:02 +02:00
Bram Moolenaar
1deee627fa Further improvements for :options. (Dominique Pelle) 2010-07-24 20:35:12 +02:00
Bram Moolenaar
59f931ef54 Add the 'undoreload' option to be able to undo a file reload. 2010-07-24 20:27:03 +02:00
Bram Moolenaar
72ada0f8c2 Fix for cursor position in wrapped line with concealed text. 2010-07-24 17:39:52 +02:00
Bram Moolenaar
ffbbcb597c Give each syntax item a sequence number, so that we know when it starts and
can show the 'cchar' for each of them.
2010-07-24 17:29:03 +02:00
Bram Moolenaar
2c3b1d9976 Document extra argument for Python append(). 2010-07-24 16:58:02 +02:00
Bram Moolenaar
904c622b10 Fix: errors for allocating zero bytes when profiling an empty function. 2010-07-24 16:57:39 +02:00
Bram Moolenaar
5dff57d714 Remove -arch flag from build flags for Perl. (Bjorn Wickler) 2010-07-24 16:19:44 +02:00
Bram Moolenaar
9f5e36bc60 Find python3 also in lib64 directory. (Ben Boeckel) 2010-07-24 16:11:21 +02:00
Bram Moolenaar
b31e4383cd Fix memory leak in :find completion. (Dominique Pelle) 2010-07-24 16:01:56 +02:00
Bram Moolenaar
4f99eae082 Better text for 'concealcursor' in :options window. 2010-07-24 15:56:43 +02:00
Bram Moolenaar
fa9a37096d Fix 'autochdir' not showing up in :options window. (Dominique Pelle)
Adjust :options window for changes in conceal options.
2010-07-24 15:48:31 +02:00
Bram Moolenaar
4c3a326c53 Temporary solution for crashing when using both :py and :py3: disallow both in
one session.
2010-07-24 15:42:14 +02:00
Bram Moolenaar
2a7e2a6254 Specify library to load for Python more precisely. (James Vega) 2010-07-24 15:19:11 +02:00
Bram Moolenaar
ca8c9867c2 Add the 'c' flag to 'concealcursor'. 2010-07-24 15:00:38 +02:00
Bram Moolenaar
f691b84fba Another conceal fix: cursor in wrong column when 'number' set. 2010-07-24 13:31:09 +02:00
Bram Moolenaar
f70e3d6c7e Don't conceal text in lines inside the Visual area. 2010-07-24 13:15:07 +02:00
Bram Moolenaar
d497a30cbe Window split didn't copy the value of 'conceallevel'. 2010-07-23 22:27:03 +02:00
Bram Moolenaar
f5963f719e Add the 'concealcursor' option to decide when the cursor line is to be
concealed or not.
Rename 'conc' to 'cole' as the short name for 'conceallevel'.
2010-07-23 22:10:27 +02:00
Bram Moolenaar
c88ebf7fa8 Update Fortran indent and syntax file. (Ajit Thakkar) 2010-07-22 22:30:23 +02:00
Bram Moolenaar
8a09b98ff1 Fix: strdisplaywidth("x", 2) returned 3 instead of 1. 2010-07-22 22:20:57 +02:00
Bram Moolenaar
27c735b2f8 For conceal mode: when two different syntax items follow each other, show the
replacement character for both.
2010-07-22 22:16:29 +02:00
Bram Moolenaar
fa5d1e63c7 Fix: "import termios" doesn't work with dynamically loaded Python. (James
Vega)
2010-07-22 21:44:13 +02:00
Bram Moolenaar
2334b6d594 Make it possible to load Lua dynamically on Unix. (Luis Carvalho) 2010-07-22 21:32:16 +02:00
Bram Moolenaar
766fb0d2b2 Fix building with Perl on Windows with MingW. (James Vega) 2010-07-22 11:34:16 +02:00
Bram Moolenaar
c89533b525 Update French and Esperanto translations. (Dominique Pelle) 2010-07-21 22:27:37 +02:00
Bram Moolenaar
e06c188bbf Make it possible to load Perl dynamically on Unix. (James Vega) 2010-07-21 22:05:20 +02:00
Bram Moolenaar
cdda8fe1c6 Fix dependencies in help Makefile. (James Vega) 2010-07-21 20:40:27 +02:00
Bram Moolenaar
60aad974be Small docs fixes. 2010-07-21 20:36:22 +02:00
Bram Moolenaar
ce69e82711 Fix build problem when fchown() not available. (Gary Johnson) 2010-07-21 20:31:07 +02:00
Bram Moolenaar
b65905262b Fix that :py3file was not working. 2010-07-21 16:00:43 +02:00
Bram Moolenaar
b8521960d6 Update timestamps for recently changed help files. 2010-07-20 22:45:13 +02:00
Bram Moolenaar
c095b280df Fix hang when resizing in diff mode and there are concealed items. 2010-07-20 22:33:34 +02:00
Bram Moolenaar
5bedfc6091 Avoid error when exiting in diff mode with EXITFREE defined. 2010-07-20 22:30:01 +02:00
Bram Moolenaar
9c44972817 When resetting 'mousehide' show the mouse pointer right away. 2010-07-20 18:44:27 +02:00
Bram Moolenaar
cb9d45cb84 Fix some duplicates in ":find" completion. (Nazri Ramliy) 2010-07-20 18:10:15 +02:00
Bram Moolenaar
49771f4fb0 Change 'cryptmethod' from a number to a string option. Make it global-local. 2010-07-20 17:32:38 +02:00
Bram Moolenaar
c7040a5615 Fix: When 'searchhl' causes a hang make CTRL-C disable 'shearchhl'. 2010-07-20 13:11:28 +02:00
Bram Moolenaar
704ac92541 Add a few items to the syntax menu. Split up long submenus. 2010-07-20 13:10:11 +02:00
Bram Moolenaar
fa01c39d48 Updated sh and vim syntax files. (Charles Campbell) 2010-07-20 12:36:02 +02:00
Bram Moolenaar
973bd47c48 Fix 'colorcolumn' adjecent columns not highlighted after end of line. 2010-07-20 11:29:07 +02:00
Bram Moolenaar
fcb7ab6117 Fix typos in documentation. (Dominique Pelle) 2010-07-20 11:16:17 +02:00
Bram Moolenaar
9e193ac732 Fixed: crash with ":find " completion, using uninitialized count. 2010-07-19 23:11:27 +02:00
Bram Moolenaar
97ff9de4a5 Updated Ukranian translations. (Anatoli Sakhnik) 2010-07-19 22:08:50 +02:00
Bram Moolenaar
25f076536f Updated Polish translations. (Mikolaj Machowski) 2010-07-19 21:51:01 +02:00
Bram Moolenaar
3804aebf60 Fix configure for Python3 libs and version number. (James Vega) 2010-07-19 21:18:54 +02:00
Bram Moolenaar
368373e909 Rename some "python3" symbols to "py3", as the command name.
Documentation updates.
2010-07-19 20:46:22 +02:00
Bram Moolenaar
a7781e0516 Never hide text for conceal in cursor line. Do hide when there is
highlighting.
2010-07-19 20:13:22 +02:00
Bram Moolenaar
c400cb9ca7 Rename w_p_conceal to w_p_conc for consistency. 2010-07-19 19:52:13 +02:00
Bram Moolenaar
01a8f38fcd Also make ALT modifier work for mouse wheel. (Benjamin Haskell) 2010-07-18 23:32:13 +02:00
Bram Moolenaar
d160c34019 Fix: 'colorcolumn' interfered with concealed text. 2010-07-18 23:30:34 +02:00
Bram Moolenaar
d28478b557 Vim 7.3a -> 7.3b. 2010-07-18 23:29:58 +02:00
Bram Moolenaar
16d79a3b62 Fix: MS-Windows installer used wrong path for uninstaller key. 2010-07-18 22:33:56 +02:00
Bram Moolenaar
4d32c2d31f Last few changes for the 7.3a BETA release. 2010-07-18 22:10:01 +02:00
Bram Moolenaar
69154f22a6 Fixes and improvements for MS-Windows build. 2010-07-18 21:42:34 +02:00
Bram Moolenaar
607cc1e015 Minor runtime file updates. 2010-07-18 18:47:44 +02:00
Bram Moolenaar
6df6f47d6d Make automatic prototype generation work with more interfaces. 2010-07-18 18:04:50 +02:00
Bram Moolenaar
dc536095ac Added strdisplaywidth() function. 2010-07-18 15:45:49 +02:00
Bram Moolenaar
72597a57b5 Added strwidth() and strchars() functions. 2010-07-18 15:31:08 +02:00
Bram Moolenaar
9855d6b361 Better conceal in help. (partly by Dominique Pelle) 2010-07-18 14:34:51 +02:00
Bram Moolenaar
5074e3018b Make CTRL modifier work for mouse wheel. (Benjamin Haskell) 2010-07-18 14:26:11 +02:00
Bram Moolenaar
fdf732eed7 Fix build broken without multi-byte feature. 2010-07-18 14:20:35 +02:00
Bram Moolenaar
7c86f4cca3 Improved :TOhtml. (Benjamin Fritz) 2010-07-18 14:07:22 +02:00
Bram Moolenaar
85363abfb1 Build problem when using all interfaces except Lua. 2010-07-18 13:58:26 +02:00
Bram Moolenaar
ac550fdb4b Make 'cursorcolumn' work together with the conceal feature. 2010-07-18 13:55:02 +02:00
Bram Moolenaar
0d2e4fce8d Make it easier to build with Lua. Remove compiler warnings. 2010-07-18 12:35:47 +02:00
Bram Moolenaar
55d5c0348c Whitespace cleanup. 2010-07-17 23:52:29 +02:00
Bram Moolenaar
bd5e15fd5c Added support for Python 3. (Roland Puntaier) 2010-07-17 21:19:38 +02:00
Bram Moolenaar
02c707a87d Add the 'L' item to 'cinoptions'. (Manuel Konig) 2010-07-17 17:12:06 +02:00
Bram Moolenaar
76b96fc08b Mac: Support disabling antialias. (LC Mi) 2010-07-17 16:44:59 +02:00
Bram Moolenaar
58f0a1f8e1 Make it possible to drag a tab page label to another position. (Paul B. Mahol) 2010-07-17 16:30:42 +02:00
Bram Moolenaar
c5604bc165 Better implementation of creating the Color Scheme menu. (Juergen Kraemer) 2010-07-17 15:20:30 +02:00
Bram Moolenaar
f91787cb9a In Visual mode with 'showcmd' display the number of bytes and characters. 2010-07-17 12:47:16 +02:00
Bram Moolenaar
11505dcd2b Fix bad parsing of 'colorcolumn'. (Dominique Pelle) 2010-07-16 21:29:06 +02:00
Bram Moolenaar
624c7aa691 Avoid compiler warnings for size_t to int conversions. 2010-07-16 20:38:52 +02:00
Bram Moolenaar
349b2fb048 Improved version of 2html.vim.
Includes progress bar.
Fix dynamic folding in diff view.
(Benjamin Fritz)
2010-07-16 20:35:36 +02:00
Bram Moolenaar
0ba042961f Added Lua interfae. (Luis Carvalho) 2010-07-14 23:23:17 +02:00
Bram Moolenaar
26dcc7e8df Fix: When entering a digraph or special character after a line that fits the
window the '?' or '^' on the next line is not redrawn. (Ian Kelling)
2010-07-14 22:35:55 +02:00
Bram Moolenaar
61623362be Allow synIDattr() getting GUI attributes when build without GUI.
(Matt Wozniski)
2010-07-14 22:04:22 +02:00
Bram Moolenaar
865242e121 Disallow setting 'enc' in a modeline. (Patrick Texier) 2010-07-14 21:12:05 +02:00
Bram Moolenaar
23c347c66b Fix: cursor line not properly concealed when moving between windows.
(Vince Negri)
2010-07-14 20:57:00 +02:00
Bram Moolenaar
66bd1c9b54 Remove obsolete Mac code. 2010-07-14 20:31:44 +02:00
Bram Moolenaar
1a38442dbc Added 'colorcolumn' option. Partly by Gregor Uhlenheuer. 2010-07-14 19:53:30 +02:00
Bram Moolenaar
b28ebbca84 Fix using freed memory in :find completion. 2010-07-14 16:59:57 +02:00
Bram Moolenaar
c8bbaa3b18 Missing piece for Mac console clipboard support. (Bjorn Winckler) 2010-07-14 16:54:21 +02:00
Bram Moolenaar
cc448b373d Support completion for ":find". (Nazri Ramliy)
Cleanup white space.
2010-07-14 16:52:17 +02:00
Bram Moolenaar
d43848c0dd Fix a few compiler warnings. 2010-07-14 14:28:26 +02:00
Bram Moolenaar
164fca39bd Add clipboard support in Mac console. (Bjorn Winckler) 2010-07-14 13:58:07 +02:00
Bram Moolenaar
7abcaab78d Minor runtime file updates. 2010-07-12 23:05:41 +02:00
Bram Moolenaar
0c56c60a0f Fix: Composing characters in :s substitute text were dropped. 2010-07-12 22:42:33 +02:00
Bram Moolenaar
1c727d8208 updated for version 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.
2010-07-12 21:38:19 +02:00
Bram Moolenaar
4d770fb566 updated for version 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.
2010-07-12 21:38:19 +02:00
Bram Moolenaar
2cefbedaab Fix: exists() was causing an autload script to be loaded. 2010-07-11 23:12:29 +02:00
Bram Moolenaar
b02cbe3468 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
side-by-side.  (Christian Brabandt)
2010-07-11 22:38:52 +02:00
Bram Moolenaar
69f787af84 Filter out -pthread for cproto. 2010-07-11 20:52:58 +02:00
Bram Moolenaar
a9dc375744 Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin
Toft)
2010-07-11 20:46:53 +02:00
Bram Moolenaar
a3f4166286 Avoid use of the GTK mail_loop() so that the GtkFileChooser can be used.
(James Vega)
2010-07-11 19:01:06 +02:00
Bram Moolenaar
cabf20199a Add back SAL lines for Swedish spell file. 2010-07-11 18:03:15 +02:00
Bram Moolenaar
dc781a79b4 Fix crash in generating spell .sug file. 2010-07-11 18:01:39 +02:00
Bram Moolenaar
700303e8f7 When 'formatexpr' evaluates to non-zero fall back to internal formatting, also
for "gq". (James Vega)
2010-07-11 17:35:50 +02:00
Bram Moolenaar
3acfc30409 Improve Javascript indenting. Add "J" flag to 'cino'. (Hari Kumar G) 2010-07-11 17:23:02 +02:00
Bram Moolenaar
9028b10dfe Support :browse for commands that use an error file argument. (Lech Lorens) 2010-07-11 16:58:51 +02:00
Bram Moolenaar
7e6d3bd3da Support wide file names in gvimext. (Szabolcs Horvat) 2010-07-10 19:22:44 +02:00
Bram Moolenaar
893eaab41f Make joining a range of lines much faster. (Milan Vancura) 2010-07-10 17:51:46 +02:00
Bram Moolenaar
622925875c Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
didn't work in 'compatible' mode.
2010-07-10 16:36:59 +02:00
Bram Moolenaar
9c754c4542 Update spell files for Ubuntu locale names. 2010-07-10 15:52:35 +02:00
Bram Moolenaar
06a108f34c Improve test for joining lines. (Milan Vancura) 2010-07-10 14:10:50 +02:00
Bram Moolenaar
0bc380a96b Fixed ":s" message. Docs updates. 2010-07-10 13:52:13 +02:00
Bram Moolenaar
d04b7507fd Make synstack() work on the character just after the end of the line. 2010-07-08 22:27:55 +02:00
Bram Moolenaar
b0b508808f Apply patch 7.2.445. 2010-07-07 18:26:28 +02:00
Bram Moolenaar
84e67dfa9c updated for version 7.2.445
Problem:    Crash when using undo/redo and a FileChangedRO autocmd event that
            reloads the buffer. (Dominique Pelle)
Solution:   Do not allow autocommands while performing and undo or redo.
2010-07-07 18:20:28 +02:00
Bram Moolenaar
ab8205e8b8 Make the dos installer work with more compilers. 2010-07-07 15:14:03 +02:00
Bram Moolenaar
ccd9ccfa59 Adjust MS-Windows installer so that it also works for 64 bit systems. (George
Reilly)
2010-07-07 13:19:55 +02:00
Bram Moolenaar
e667c95335 Change SKIP_GTK to SKIP_GTK2 in configure. 2010-07-05 22:57:59 +02:00
Bram Moolenaar
0af8cebc6c Better init for match highlighting when using conceal feature. 2010-07-05 22:22:57 +02:00
Bram Moolenaar
996343d38e Mainly documentation updates. 2010-07-04 22:20:21 +02:00
Bram Moolenaar
b2c0350c67 Make updating text for conceal mode simpler. A few compiler warning fixes. 2010-07-02 20:20:09 +02:00
Bram Moolenaar
730cde924c Added ":earlier 1f" and ":later 1f". 2010-06-27 05:18:54 +02:00
Bram Moolenaar
a800b42975 Add file save counter to undo information. Add undotree() function. 2010-06-27 01:15:55 +02:00
Bram Moolenaar
d69980f9dd Remove wrong #ifdef added by previous change. 2010-06-26 21:15:50 +02:00
Bram Moolenaar
644044794e Various small fixes from Dominique Pelle. 2010-06-26 06:24:45 +02:00
Bram Moolenaar
0eda7ac7f8 Change remaining HAVE_GTK2 to FEAT_GUI_GTK. 2010-06-26 05:38:18 +02:00
Bram Moolenaar
51f53dfe17 Fix that :mksession may generate "2argu" even though there is no such
argument. (Peter Odding)
2010-06-26 05:25:54 +02:00
Bram Moolenaar
182c5be111 Remove the old and not well supported GTK 1 code. (James Vega) 2010-06-25 05:37:59 +02:00
Bram Moolenaar
ba52cde53d Fix build problem with Ruby on Windows. (Cesar Romani) 2010-06-25 04:29:11 +02:00
Bram Moolenaar
e242b83535 Fix a memory leak in encryption. (Dominique Pelle) 2010-06-24 05:39:03 +02:00
Bram Moolenaar
e77fb8ca53 Fix compiler warning. 2010-06-24 05:20:13 +02:00
Bram Moolenaar
f506c5bb1c Fix compiler warnings for shadowed variables. Make 'conceal' a long instead
of int.
2010-06-22 06:28:58 +02:00
Bram Moolenaar
7cfea75ed6 Fixes for time in clipboard request. Also fix ownership. (David Fries) 2010-06-22 06:07:12 +02:00
Bram Moolenaar
370df58df9 Couple of small fixes for conceal feature. (Dominique Pelle) 2010-06-22 05:16:38 +02:00
Bram Moolenaar
883f5d08e4 Command line completion for :ownsyntax. (Dominique Pelle) 2010-06-21 06:24:34 +02:00
Bram Moolenaar
a8ffcbbf5d Crypt the swapfile. 2010-06-21 06:15:46 +02:00
Bram Moolenaar
191e0a2bc7 Fix tiny build, move functions to undo.c. 2010-06-14 01:39:13 +02:00
Bram Moolenaar
80794b1ce6 Added salt to blowfish encryption. 2010-06-13 05:20:42 +02:00
Bram Moolenaar
31c8f28cca updated for version 7.2.444
Problem:    Can't build with GTK 1, gtk_selection_clear_targets() is not
            available. (Patrick Texier)
Solution:   Don't change the targets for GTK 1, set them once.
2010-06-13 02:35:46 +02:00
Bram Moolenaar
46f9d49601 Update help files. 2010-06-12 20:18:19 +02:00
Bram Moolenaar
9ea339d58c updated for version 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
            internal error. (Peter Odding)
Solution:   Check for duplicate field names.
2010-06-12 20:12:02 +02:00
Bram Moolenaar
8bcf9654dc updated for version 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
            internal error. (Peter Odding)
Solution:   Check for duplicate field names.
2010-06-12 20:12:02 +02:00
Bram Moolenaar
97ea511bbf Minor typo and docs update. 2010-06-12 06:46:44 +02:00
Bram Moolenaar
f9b0129f5f Avoid compiler warnings on Mac 10.6. 2010-06-12 06:45:20 +02:00
Bram Moolenaar
6f0d3dd270 Update src/po/it.po. Fixed errors in ko.po. 2010-06-08 23:17:01 +02:00
Bram Moolenaar
d5b3a2cbd9 Fix conceal feature for gj, gk, etc. (Vince Negri) 2010-06-08 22:59:42 +02:00
Bram Moolenaar
cdddaa46a2 Fix crash when using ":grep". 2010-06-07 23:07:44 +02:00
Bram Moolenaar
6a3c997104 Fix Make_ivc.mak makefile. (Vince Negri) 2010-06-07 22:50:29 +02:00
Bram Moolenaar
e0c6a656f3 Fix crash for ":ownsyntax". (Dominique Pelle) 2010-06-06 23:10:19 +02:00
Bram Moolenaar
9d6650f6c4 Avoid compiler warnings. 2010-06-06 23:04:47 +02:00
Bram Moolenaar
debe25a2a5 One more fix for conceal patch. 2010-06-06 17:41:24 +02:00
Bram Moolenaar
fd29f4628e Fixed: after ":ownsyntax perl" and ":e" syntax was cleared in other window. 2010-06-06 16:11:09 +02:00
Bram Moolenaar
1950c3529b Fixed memory leak in ":ownsyntax". 2010-06-06 15:21:10 +02:00
Bram Moolenaar
56be950094 Fix a few compiler warnings. Fix crash with encrypted undo file. 2010-06-06 14:20:26 +02:00
Bram Moolenaar
860cae1cec Add the conceal patch from Vince Negri. 2010-06-05 23:22:07 +02:00
Bram Moolenaar
945e2dbb63 Use full path in undofile(). Updated docs. 2010-06-05 17:43:32 +02:00
Bram Moolenaar
f949563afa updated for version 7.2.442
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
            Vega)
2010-06-05 12:49:46 +02:00
Bram Moolenaar
a76638f47d updated for version 7.2.442
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
            Vega)
2010-06-05 12:49:46 +02:00
Bram Moolenaar
2c704a77c1 Add patch to improve support of z/OS (OS/390). (Ralf Schandl) 2010-06-03 21:17:25 +02:00
Bram Moolenaar
9160441955 Move text from various.txt to a new helphelp.txt help file. 2010-06-03 20:25:18 +02:00
Bram Moolenaar
bbd6afe03e Optimize the blowfish crypt/decrypt code a bit more. 2010-06-02 20:32:23 +02:00
Bram Moolenaar
04c9bafa71 Made crypt/decrypt faster. 2010-06-01 23:37:39 +02:00
Bram Moolenaar
8cd213c09a Fix completion of file names with '%' and '*'. 2010-06-01 21:57:09 +02:00
Bram Moolenaar
83d09bb85e Don't use pointers to store numbers, use a union.
Fixed MSVC makefile use of /Wp64 flag.
2010-06-01 19:58:08 +02:00
Bram Moolenaar
914703bee2 Correct use of long instead of off_t for file size. (James Vega) 2010-05-31 21:59:46 +02:00
Bram Moolenaar
20a825ae0f Add test for gettabvar() and settabvar(). 2010-05-31 21:27:30 +02:00
Bram Moolenaar
a3ff49fdcc Crypt the text in the undo file if the file itself is crypted. 2010-05-30 22:48:02 +02:00
Bram Moolenaar
6ed8ed84f9 Made reading/writing undo info a bit more robust. 2010-05-30 20:40:11 +02:00
Bram Moolenaar
fd3e5dc97f Add a few #ifdefs to exclude functions that are not used. (Domnique Pelle) 2010-05-30 19:00:15 +02:00
Bram Moolenaar
a17d4c1934 Added the undofile() function. Updated runtime files. 2010-05-30 18:30:36 +02:00
Bram Moolenaar
504a82173c Do not write an undo file if there is nothing to undo. 2010-05-30 17:17:42 +02:00
Bram Moolenaar
d96699e696 updated for version 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.
2010-05-30 16:55:22 +02:00
Bram Moolenaar
8f1f629d85 updated for version 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.
2010-05-30 16:55:22 +02:00
Bram Moolenaar
6773b2ba7e A bit of cleanup and simplification for undofile. 2010-05-30 16:01:37 +02:00
Bram Moolenaar
644fdff7c1 A few more fixes for undo file. Split test in two parts so that it doesn't
fail with tiny features.
2010-05-30 13:26:21 +02:00
Bram Moolenaar
9db580634c Various improvements to undo file code to make it more robust. 2010-05-29 20:33:07 +02:00
Bram Moolenaar
f05e3b0220 Remove old and unused method to allocate memory for undo. 2010-05-29 15:40:47 +02:00
Bram Moolenaar
cdf04208f3 Fix a few more things for persistent undo. 2010-05-29 15:11:47 +02:00
Bram Moolenaar
97bc5a52c9 updated for version 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
            the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)
2010-05-28 22:06:46 +02:00
Bram Moolenaar
bc42c1e427 updated for version 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
            the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)
2010-05-28 22:06:46 +02:00
Bram Moolenaar
5d4c25b335 updated for version 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
            'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
            (Dominique Pelle)
2010-05-28 21:31:58 +02:00
Bram Moolenaar
04fa5427b8 updated for version 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
            'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
            (Dominique Pelle)
2010-05-28 21:31:58 +02:00
Bram Moolenaar
0e1e25fb0a Don't execute some autocommands when v:dying is 2 or more. 2010-05-28 21:07:08 +02:00
Bram Moolenaar
1d68952a3e Runtime file updates. 2010-05-28 20:54:39 +02:00
Bram Moolenaar
167632fcdd Fix definition of UINT_PTR for 64 bit systems. 2010-05-26 21:42:54 +02:00
Bram Moolenaar
6a18eb6f62 More strict checks for the undo file. 2010-05-26 21:21:00 +02:00
Bram Moolenaar
83ad0147c0 Fix for using ":wundo foo" when foo is an empty file. 2010-05-25 22:09:21 +02:00
Bram Moolenaar
07e8db1da5 updated for version 7.2.438
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.
2010-05-25 21:37:17 +02:00
Bram Moolenaar
64354da438 updated for version 7.2.438
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.
2010-05-25 21:37:17 +02:00
Bram Moolenaar
b230bd5a16 Found a way to make the MS-Windows installer wait for the uninstaller to
finish, no need for the user to press Enter.
2010-05-25 21:02:00 +02:00
Bram Moolenaar
9d72807646 And another small fix for persistent undo. 2010-05-24 22:06:04 +02:00
Bram Moolenaar
6a244fefd9 Fix: :wundo didn't work in a buffer without a name. 2010-05-24 22:02:24 +02:00
Bram Moolenaar
442b4225d3 Improve the MS-Windows installer. 2010-05-24 21:34:22 +02:00
Bram Moolenaar
e66194a54e Tiny change for Italian man page. 2010-05-24 21:25:23 +02:00
Bram Moolenaar
7db5fc838a Fix uninit memory read in undo code. Fix uint32_t in proto file.
A few minor changes.
2010-05-24 11:59:29 +02:00
Bram Moolenaar
55debbe384 Included patch for persistent undo. Lots of changes and added test. 2010-05-23 23:34:36 +02:00
Bram Moolenaar
c39125d7c4 Fix for Netbeans on MS-Windows not compiling. 2010-05-23 12:06:58 +02:00
Bram Moolenaar
1d2beae176 Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr.
Attempt at a fix.
2010-05-22 21:56:55 +02:00
Bram Moolenaar
be18d10fd4 Fix wrong memory access when clearing crypt key. 2010-05-22 21:37:53 +02:00
Bram Moolenaar
b26e6327e6 Add :nbstart and :nbclose. 2010-05-22 21:34:09 +02:00
Bram Moolenaar
67c5384434 Included the patch to support netbeans in a terminal. 2010-05-22 18:28:27 +02:00
Bram Moolenaar
ca7e1f2066 Fix: window title not updated after file dropped. 2010-05-22 15:50:12 +02:00
Bram Moolenaar
06b5d5167a Add the settabvar() and gettabvar() functions.
Various runtime file updates.
2010-05-22 15:37:44 +02:00
Bram Moolenaar
db7c686ea5 Add extra floating point functions. 2010-05-21 16:33:48 +02:00
Bram Moolenaar
b382ad13ca "g8" doesn't work properly on a NUL. 2010-05-21 15:46:35 +02:00
Bram Moolenaar
f50a2533d0 A few more changes for encryption. Add test that encrypted file can be read. 2010-05-21 15:36:08 +02:00
Bram Moolenaar
6dc79f2890 updated for version 7.2.437
Problem:    When "\\\n" appears in the expression result the \n doesn't result
            in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.
2010-05-21 13:08:58 +02:00
Bram Moolenaar
6019078ece updated for version 7.2.437
Problem:    When "\\\n" appears in the expression result the \n doesn't result
            in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.
2010-05-21 13:08:58 +02:00
Bram Moolenaar
7a329911b9 Updated runtime files. 2010-05-21 12:05:36 +02:00
Bram Moolenaar
c6af8125c7 Other solution for GTK not changing the locale. 2010-05-21 12:04:55 +02:00
Bram Moolenaar
218116c1d0 Various smaller changes. Updated proto files. Updated dependencies. 2010-05-20 21:46:00 +02:00
Bram Moolenaar
fa7584cb86 Use UINT32_T in the code, define it to uint32_t or unsigned int.
Better autoconf check for uint32_t.
2010-05-19 21:57:45 +02:00
Bram Moolenaar
b702c84d0d Updated a few runtime files. 2010-05-18 22:28:22 +02:00
Bram Moolenaar
4890f1f7f4 One more fix for defining uint32_t. 2010-05-18 21:49:58 +02:00
Bram Moolenaar
6323508e5e Change wording in link.sh: "remove" -> "omit" 2010-05-18 21:41:09 +02:00
Bram Moolenaar
4a9b19ace8 Fix build on Cygwin and MingW. 2010-05-18 21:17:10 +02:00
Bram Moolenaar
76e69cef0c Undefine uint32_t when building if_perl.xs to fix the build. 2010-05-18 21:05:27 +02:00
Bram Moolenaar
edac185487 Add blowfish and sha256 source files to more Makefiles. 2010-05-18 20:34:20 +02:00
Bram Moolenaar
927edbd134 Small update to help files. 2010-05-17 22:07:47 +02:00
Bram Moolenaar
30bb41445c Avoid warnings for unused arguments when compiling with Gnome. 2010-05-17 22:07:15 +02:00
Bram Moolenaar
cfc0eee85f Undo undesired changes in src/Makefile. 2010-05-17 21:37:47 +02:00
Bram Moolenaar
0bbabe8080 Fixed encryption big/little endian test.
Use uint32_t to avoid crash on 64 bit machines.
Added error numbers for Blowfish errors.
Fixed the tiny version not building.
2010-05-17 20:32:55 +02:00
Bram Moolenaar
823a165119 Minor updates to blowfish encryption. 2010-05-16 23:02:33 +02:00
Bram Moolenaar
40e6a71c67 Add the blowfish encryption patch from Mohsin Ahmed. Needs more work. 2010-05-16 22:32:54 +02:00
Bram Moolenaar
64486671c3 Add 'relativenumber' patch from Markus Heidelberg. 2010-05-16 15:46:46 +02:00
Bram Moolenaar
13c4c5da67 Remove outdated line from top Makefile. 2010-05-16 15:15:27 +02:00
Bram Moolenaar
ff312a4eb8 Move items around in the todo list. 2010-05-16 15:14:25 +02:00
Bram Moolenaar
8ce55d13c4 updated for version 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)
2010-05-16 13:56:06 +02:00
Bram Moolenaar
2767c60008 updated for version 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)
2010-05-16 13:56:06 +02:00
Bram Moolenaar
2e530fa526 Fix typo in release date. 2010-05-16 13:40:33 +02:00
Bram Moolenaar
281798deab updated for version 7.2.435
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
2010-05-16 13:26:25 +02:00
Bram Moolenaar
34b4daf2b7 updated for version 7.2.435
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
2010-05-16 13:26:25 +02:00
Bram Moolenaar
4137564709 Merge patch 7.2.434. 2010-05-16 12:49:27 +02:00
Bram Moolenaar
546b35e190 updated for version 7.2.434
Problem:    Compilation fails without the multi-lang feature.
Solution:   Add #ifdefs. (Johm Marriott)
2010-05-16 12:32:51 +02:00
Bram Moolenaar
2dfa4d7c13 Merged change from default branch: Correct Japanese menus. 2010-05-15 21:29:02 +02:00
Bram Moolenaar
23d99ec5f7 Correct Japanese menus to avoid error while loading them after 7.2.432. 2010-05-15 18:21:26 +02:00
Bram Moolenaar
fc2d5bdfc6 After recovery check if the text changed. If it did mark the buffer as
modified.
2010-05-15 17:06:53 +02:00
Bram Moolenaar
864665d1b2 Get rid of the "extra" and "lang" archives. 2010-05-15 15:41:59 +02:00
Bram Moolenaar
abb8d0b23a Switched from autoconf 2.63 to 2.65. 2010-05-15 15:04:53 +02:00
Bram Moolenaar
0b65f8938b Small fix for compiler warning in Netbeans. 2010-05-15 14:49:02 +02:00
Bram Moolenaar
fff2beeeaa First step in the Vim 7.3 branch. Changed version numbers. 2010-05-15 13:56:02 +02:00
Bram Moolenaar
00a927d62b Updated runtime files. 2010-05-14 23:24:24 +02:00
Bram Moolenaar
f1eeae94fd updated for version 7.2.433
Problem:    Can't use cscope with QuickFixCmdPre and QuickFixCmdPost.
Solution:   Add cscope support for these autocmd events. (Bryan Venteicher)
2010-05-14 23:14:42 +02:00
Bram Moolenaar
70b11cdd56 updated for version 7.2.432
Problem:    When menus are translated they can only be found by the translated
            name.  That makes ":emenu" difficult to use.
Solution:   Store the untranslated name and use it for completion and :emenu.
            (Edward L. Fox / Liang Peng / Bezetek James)
2010-05-14 22:24:40 +02:00
Bram Moolenaar
7871a50071 updated for version 7.2.431
Problem:    ":amenu" moves the cursor when in Insert mode.
Solution:   Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
2010-05-14 21:19:23 +02:00
Bram Moolenaar
9c0044df7c updated for version 7.2.430
Problem:    The ++bad argument is handled wrong, resulting in an invalid
            memory access.
Solution:   Use the bad_char field only for the replacement character, add
            bad_char_idx to store the position. (Dominique Pelle)
2010-05-14 20:41:05 +02:00
Bram Moolenaar
2efbc66e26 updated for version 7.2.429
Problem:    A file that exists but access is denied may result in a "new file"
            message.  E.g. when its directory is unreadable.
Solution:   Specifically check for ENOENT to decide a file doesn't exist.
            (partly by James Vega)
2010-05-14 18:56:38 +02:00
Bram Moolenaar
f9ddb94283 updated for version 7.2.428
Problem:    Using setqflist([]) to clear the error list doesn't work properly.
Solution:   Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt)
2010-05-14 18:10:27 +02:00
Bram Moolenaar
9dbe4758b1 updated for version 7.2.427
Problem:    The swapfile is created using the destination of a symlink, but
            recovery doesn't follow symlinks.
Solution:   When recovering, resolve symlinks. (James Vega)
2010-05-14 17:52:42 +02:00
Bram Moolenaar
6af0506370 updated for version 7.2.426
Problem:    Commas in 'langmap' are not always handled correctly.
Solution:   Require commas to be backslash escaped. (James Vega)
2010-05-14 17:32:58 +02:00
Bram Moolenaar
2321c9255e updated for version 7.2.425
Problem:    Some compilers complain about fourth EX() argument.
Solution:   Add cast to long_u.
2010-05-14 15:42:53 +02:00
Bram Moolenaar
e685079848 updated for version 7.2.424
Problem:    ":colorscheme" without an argument doesn't do anything.
Solution:   Make it echo the current color scheme name.  (partly by Christian
            Brabandt)
2010-05-14 15:28:44 +02:00
Bram Moolenaar
9577c3e973 updated for version 7.2.423
Problem:    Crash when assigning s: to variable. (Yukihiro Nakadaira)
Solution:   Make ga_scripts contain pointer to scriptvar_T instead of
            scriptvar_T itself. (Dominique Pelle)
2010-05-14 12:16:25 +02:00
Bram Moolenaar
54ab0f1e54 updated for version 7.2.422
Problem:    May get E763 when using spell dictionaries.
Solution:   Avoid utf-8 case folded character to be truncated to 8 bits and
            differ from latin1. (Dominique Pelle)
2010-05-13 17:46:58 +02:00
Bram Moolenaar
38ab0e21b8 updated for version 7.2.421
Problem:    Folds are sometimes not updated properly and there is no way to
            force an update.
Solution:   Make "zx" and "zX" recompute folds (suggested by Christian
            Brabandt)
2010-05-13 17:35:59 +02:00
Bram Moolenaar
eb4883fabc updated for version 7.2.420
Problem:    ":argedit" does not accept "++enc=utf8" as documented. (Dominique
            Pelle)
Solution:   Add the ARGOPT flag to ":argedit".
2010-05-13 16:46:21 +02:00
Bram Moolenaar
103e6efc84 updated for version 7.2.419
Problem:    Memory leak in Motif when clicking on "Search Vim Help".
Solution:   Free string returned by XmTextGetString(). (Dominique Pelle)
2010-05-13 16:31:25 +02:00
Bram Moolenaar
ccbab93b42 updated for version 7.2.418
Problem:    Vim tries to set the background or foreground color in a terminal
            to -1.  (Graywh)  Happens with ":hi Normal ctermbg=NONE".
Solution:   When resetting the foreground or background color don't set the
            color, let the clear screen code do that.
2010-05-13 15:40:30 +02:00
Bram Moolenaar
ae61bcf0ab updated for version 7.2.417
Problem:    When 'shell' has an argument with a slash then 'shellpipe' is not
            set properly. (Britton Kerin)
Solution:   Assume there are no spaces in the path, arguments follow.
2010-05-13 13:12:06 +02:00
Bram Moolenaar
0387e653c8 updated for version 7.2.416
Problem:    Logtalk.dict is not installed.
Solution:   Add it to the install target. (Markus Heidelberg)
2010-05-07 16:54:37 +02:00
Bram Moolenaar
ad249fb74c updated for version 7.2.415
Problem:    Win32: Can't open a remote file when starting Vim.
Solution:   Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi)
2010-05-07 16:35:04 +02:00
Bram Moolenaar
ceb45be4d3 updated for version 7.2.414
Problem:    CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony
            Mechelynck)
Solution:   Remove the Unicode range 0xe000 - 0xefff from digraphs, these are
            not valid characters.
2010-05-07 16:18:14 +02:00
Bram Moolenaar
317fd3ae3b updated for version 7.2.413
Problem:    Large file support is incorrect.
Solution:   Add AC_SYS_LARGEFILE to configure. (James Vega)
2010-05-07 16:05:55 +02:00
Bram Moolenaar
5ea0ac77b3 updated for version 7.2.412
Problem:    [ or ] followed by mouse click doesn't work.
Solution:   Reverse check for key being a mouse event. (Dominique Pelle)
2010-05-07 15:52:08 +02:00
Bram Moolenaar
dfdf3c446f updated for version 7.2.411
Problem:    When parsing 'cino' a comma isn't skipped properly.
Solution:   Skip the comma. (Lech Lorens)
2010-03-23 18:22:46 +01:00
Bram Moolenaar
63fa526b50 updated for version 7.2.410
Problem:    Highlighting directories for completion doesn't work properly.
Solution:   Don't halve backslashes when not needed, expaned "~/".
            (Dominique Pelle)
2010-03-23 18:06:52 +01:00
Bram Moolenaar
d25bc23870 updated for version 7.2.409
Problem:    Summary of number of substitutes is incorrect for ":folddo". (Jean
            Johner)
Solution:   Reset sub_nsubs and sub_nlines in global_exe().
2010-03-23 17:49:24 +01:00
Bram Moolenaar
46475520d7 updated for version 7.2.408
Problem:    With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line
            that was not changed.
Solution:   Only set '[ and '] marks when a substitution was done.
2010-03-23 17:36:29 +01:00
Bram Moolenaar
06975a4a98 updated for version 7.2.407
Problem:    When using an expression in ":s" backslashes in the result are
            dropped. (Sergey Goldgaber, Christian Brabandt)
Solution:   Double backslashes.
2010-03-23 16:27:22 +01:00
Bram Moolenaar
70c49c1af4 updated for version 7.2.406
Problem:    Patch 7.2.119 introduces uninit mem read. (Dominique Pelle)
Solution:   Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro
            Nakadaira)  Also clear ScreeenLinesC when allocating.
2010-03-23 15:36:35 +01:00
Bram Moolenaar
53339b2877 updated for version 7.2.405
Problem:    When built with small features the matching text is not
            highlighted for ":s/pat/repl/c".
Solution:   Remove the #ifdef for IncSearch. (James Vega)
2010-03-23 14:39:12 +01:00
Bram Moolenaar
216b71069a updated for version 7.2.404
Problem:    Pointers for composing characters are not properly initialized.
Solution:   Compute the size of the pointer, not what it points to. (Yukihiro
            Nakadaira)
2010-03-23 13:56:59 +01:00
Bram Moolenaar
94127e4abc updated for version 7.2.403
Problem:    Compiler warning for pointer type. (Tony Mechelynck)
Solution:   Move type cast to the right place.
2010-03-19 23:08:48 +01:00
Bram Moolenaar
b52073ac11 Updated runtime and language files. 2010-03-17 20:02:06 +01:00
Bram Moolenaar
baff0fec3f updated for version 7.2.402
Problem:    This gives a #705 error: let X = function('haslocaldir')
            let X = function('getcwd')
Solution:   Don't give E705 when the name is found in the hashtab. (Sergey
            Khorev)
2010-03-17 19:53:49 +01:00
Bram Moolenaar
b91e59b0f3 updated for version 7.2.401
Problem:    ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight
            directory names with a space. (Alexandre Provencio)
Solution:   Remove the backslash before checking if the name is a directory.
            (Dominique Pelle)
2010-03-17 19:13:27 +01:00
Bram Moolenaar
639a2554e4 updated for version 7.2.400
Problem:    Dynamic Ruby is not initialised properly for version 1.9.1.
            Ruby cannot create strings from NULL.
Solution:   Cleanup #ifdefs.  Handle NULL like an empty string.  Add
            ruby_init_stack. (Sergey Khorev)
2010-03-17 18:15:23 +01:00
Bram Moolenaar
8c79cafcfa updated for version 7.2.399
Problem:    Cannot compile on MingW
Solution:   Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle)
2010-03-17 17:25:09 +01:00
Bram Moolenaar
9b73a78ed7 updated for version 7.2.398
Problem:    When moving windows the cursor ends up in the wrong line.
Solution:   Set the window width and height properly. (Lech Lorens)
2010-03-17 16:54:57 +01:00
Bram Moolenaar
08bb82e8c5 updated for version 7.2.397
Problem:    Redundant check for w_lines_valid.
Solution:   Remove the if.  (Lech Lorens)
2010-03-17 16:45:12 +01:00
Bram Moolenaar
9c27fc3dba updated for version 7.2.396
Problem:    Get E38 errors. (Dasn)
Solution:   Set cursor to line 1 instead of 0. (Dominique Pelle)
2010-03-17 14:48:24 +01:00
Bram Moolenaar
97e7a84b6d updated for version 7.2.395
Problem:    In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony
            Mechelynck)
Solution:   Don't escape ? for a help command. (Sergey Khorev)
2010-03-17 13:07:08 +01:00
Bram Moolenaar
33cfa2b0ee updated for version 7.2.394
Problem:    .xz files are not supported.
Solution:   Recognize .xz files so that they can be edited.
2010-03-10 17:16:12 +01:00
Bram Moolenaar
595a7bee57 updated for version 7.2.393
Problem:    Mac: Can't build with different Xcode developer tools directory.
Solution:   make "Developer" directory name configurable. (Rainer Muller)
2010-03-10 16:28:12 +01:00
Bram Moolenaar
581f6dc94d updated for version 7.2.392
Problem:    Netbeans hangs reading from a socket at the maximum block size.
Solution:   Use select() or poll(). (Xavier de Gaye)
2010-03-10 16:12:48 +01:00
Bram Moolenaar
37d619f896 updated for version 7.2.391
Problem:    Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen)
Solution:   Fix computations in getvcol(). (partly by Lech Lorens)
2010-03-10 14:46:26 +01:00
Bram Moolenaar
be678f86d1 updated for version 7.2.390
Problem:    In some situations the popup menu can be displayed wrong.
Solution:   Remove the popup menu if the cursor moved. (Lech Lorens)
2010-03-10 14:15:54 +01:00
Bram Moolenaar
12682fda7a updated for version 7.2.389
Problem:    synIDattr() cannot return the font.
Solution:   Support the "font" argument. (Christian Brabandt)
2010-03-10 13:43:49 +01:00
Bram Moolenaar
66ca320d9e updated for version 7.2.388
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   Different approach to build file. (Sergey Khorev)
2010-03-10 13:20:40 +01:00
Bram Moolenaar
42d57f0017 updated for version 7.2.387
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   More #ifdefs for the  Ruby code. (Sergey Khorev)
2010-03-10 12:47:00 +01:00
Bram Moolenaar
42624592cb updated for version 7.2.386
Problem:    Focus hack for KDE 3.1 causes problems for other window managers.
Solution:   Remove the hack. (forwarded by Joel Bradshaw)
2010-03-10 12:25:03 +01:00
Bram Moolenaar
f679a43dbb updated for version 7.2.385
Problem:    When in the command line window dragging status line only works
            for last-but-one window. (Jean Johner)
Solution:   Remove the code that disallows this.
2010-03-02 18:16:09 +01:00
Bram Moolenaar
2498b3ab10 updated for version 7.2.384
Problem:    Vim doesn't build properly with MSVC 2010.
Solution:   Add the nmake version to the build file. (George Reilly)
2010-03-02 17:59:44 +01:00
Bram Moolenaar
8b9c05fa54 updated for version 7.2.383
Problem:    Vim doesn't build cleanly with MSVC 2010.
Solution:   Change a few types. (George Reilly)
2010-03-02 17:54:33 +01:00
Bram Moolenaar
8006d69d3c updated for version 7.2.382
Problem:    Accessing freed memory when closing the cmdline window when
            'bufhide' is set to "wipe".
Solution:   Check if the buffer still exists before invoking close_buffer()
            (Dominique Pelle)
2010-03-02 17:23:21 +01:00
Bram Moolenaar
5e3dae8b6b Updated runtime an documentation files. 2010-03-02 16:19:40 +01:00
Bram Moolenaar
42b4ddab95 updated for version 7.2.381
Problem:    No completion for :behave.
Solution:   Add :behave completion.  Minor related fixes. (Dominique Pelle)
2010-03-02 15:56:05 +01:00
Bram Moolenaar
58cb0898a3 updated for version 7.2.380
Problem:    Perl interface builds with 5.10.1 but not with 5.10.0.
Solution:   Change the #ifdefs. (Sergey Khorev)
2010-03-02 15:14:33 +01:00
Bram Moolenaar
8cac9fd020 updated for version 7.2.379
Problem:    'eventignore' is set to an invalid value inside ":doau". (Antony
            Scriven)
Solution:   Don't include the leading comma when the option was empty.
2010-03-02 12:48:05 +01:00
Bram Moolenaar
1a89bbe849 updated for version 7.2.378
Problem:    C function declaration indented too much. (Rui)
Solution:   Don't see a line containing { or } as a type. (Matt Wozniski)
2010-03-02 12:38:22 +01:00
Bram Moolenaar
86ce1cc086 updated for version 7.2.377
Problem:    Misplaced assignment.  Duplicate build line for gvimext.dll.
Solution:   Move setting CROSS_COMPILE to before ifneq.  Remove the wrong
            build line. (Markus Heidelberg)
2010-02-26 22:05:22 +01:00
Bram Moolenaar
72b73c12dc updated for version 7.2.376
Problem:    ml_get error when using SiSU syntax. (Nathan Thomas)
Solution:   If the match ends below the last line move it to the end of the
            last line.
2010-02-24 17:22:20 +01:00
Bram Moolenaar
89c0ea4ea1 updated for version 7.2.375
Problem:    ml_get errors when using ":bprevious" in a BufEnter autocmd.
            (Dominique Pelle)
Solution:   Clear w_valid when entering another buffer.
2010-02-24 16:58:36 +01:00
Bram Moolenaar
3fac56e87e updated for version 7.2.374
Problem:    Ruby eval() doesn't understand Vim types.
Solution:   Add the vim_to_ruby() function.  (George Gensure)
2010-02-24 15:48:04 +01:00
Bram Moolenaar
a4e782eee0 updated for version 7.2.373
Problem:    Gcc 4.5 adds more error messages. (Chris Indy)
Solution:   Update default 'errorformat'.
2010-02-24 15:25:25 +01:00
Bram Moolenaar
48f80c276b updated for version 7.2.372
Problem:    Cross-compiling GvimExt and xxd doesn't work.
Solution:   Change the build files. (Markus Heidelberg)
2010-02-24 15:08:27 +01:00
Bram Moolenaar
25153e127d updated for version 7.2.371
Problem:    Build problems on Tandem NonStop.
Solution:   A few changes to #ifdefs (Joachim Schmitz)
2010-02-24 14:47:08 +01:00
Bram Moolenaar
f4d7f944ba updated for version 7.2.370
Problem:    A redraw may cause folds to be closed.
Solution:   Revert part of the previous patch.  Add a test. (Lech Lorens)
2010-02-24 14:34:19 +01:00
Bram Moolenaar
54c1b4965b updated for version 7.2.369
Problem:    Error message is not easy to understand.
Solution:   Add quotes. (SungHyun Nam)
2010-02-24 14:01:28 +01:00
Bram Moolenaar
83bac8b756 updated for version 7.2.368
Problem:    Ruby interface: Appending line doesn't work. (Michael Henry)
Solution:   Reverse check for NULL line. (James Vega)
2010-02-18 15:53:29 +01:00
Bram Moolenaar
8a33e74dd2 updated for version 7.2.367
Problem:    "xxd -r -p" doesn't work as documented.
Solution:   Skip white space. (James Vega)
2010-02-17 18:28:41 +01:00
Bram Moolenaar
bacd9da40e updated for version 7.2.366
Problem:    CTRL-B doesn't go back to the first line of the buffer.
Solution:   Avoid an overflow when adding MAXCOL.
2010-02-17 18:20:37 +01:00
Bram Moolenaar
8c83ac3d83 updated for version 7.2.365
Problem:    MS-Windows with MingW: "File->Save As" does not work. (John
            Marriott)
Solution:   Correctly fill in structure size. (Andy Kittner)
2010-02-17 17:34:43 +01:00
Bram Moolenaar
175aa24846 updated for version 7.2.364
Problem:    Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
Solution:   Check if _MSC_VER is defined. (Andy Kittner)
2010-02-17 17:24:27 +01:00
Bram Moolenaar
3a0573acae updated for version 7.2.363
Problem:    Can't dynamically load Perl 5.10.
Solution:   Add the function Perl_croak_xs_usage. (Sergey Khorev)
2010-02-17 16:40:58 +01:00
Bram Moolenaar
33d0b69ab8 updated for version 7.2.362
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Instead of handling WM_NCCREATE, create wide text area window
            class if the parent window iw side. (Sergey Khorev)
2010-02-17 16:31:32 +01:00
Bram Moolenaar
165641da25 updated for version 7.2.361
Problem:    Ruby 1.9 is not supported.
Solution:   Add Ruby 1.9 support. (Msaki Suketa)
2010-02-17 16:23:09 +01:00
Bram Moolenaar
0b69c73411 updated for version 7.2.360
Problem:    Ruby on MS-Windows: can't use sockets.
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
2010-02-17 15:11:50 +01:00
Bram Moolenaar
0ca4b350f0 updated for version 7.2.359
Problem:    Crash when using the Netbeans join command.
Solution:   Make sure the ml_flush_line() function is not used recursively.
            (Xavier de Gaye)
2010-02-11 18:54:43 +01:00
Bram Moolenaar
b4990bf90b updated for version 7.2.358
Problem:    Compiler warnings on VMS. (Zoltan Arpadffy)
Solution:   Pass array itself instead its address.  Return a value.
2010-02-11 18:19:38 +01:00
Bram Moolenaar
0413d48711 updated for version 7.2.357
Problem:    When changing 'fileformat' from/to "mac" and there is a CR in the
            text the display is wrong.
Solution:   Redraw the text when 'fileformat' is changed. (Ben Schmidt)
2010-02-11 17:02:11 +01:00
Bram Moolenaar
6dfc28be25 Updated runtime files. 2010-02-11 14:19:15 +01:00
Bram Moolenaar
cee6a352b2 updated for version 7.2.356
Problem:    When 'foldmethod' is changed not all folds are closed as expected.
Solution:   In foldUpdate() correct the start position and reset fd_flags when
            w_foldinvalid is set. (Lech Lorens)
2010-02-03 18:14:49 +01:00
Bram Moolenaar
6427c608e7 updated for version 7.2.355
Problem:    Computing the cursor column in validate_cursor_col() is wrong when
            line numbers are used and 'n' is not in 'cpoptions', causing the
            popup menu to be positioned wrong.
Solution:   Correctly use the offset. (partly by Dominique Pelle)
2010-02-03 17:43:07 +01:00
Bram Moolenaar
990bb661a1 updated for version 7.2.354
Problem:    Japanese single-width double-byte characters not handled correctly.
Solution:   Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[].
            (partly by Kikuchan)
2010-02-03 15:48:04 +01:00
Bram Moolenaar
f86f26c06a updated for version 7.2.353
Problem:    No command line completion for ":profile".
Solution:   Complete the subcommand and file name.
2010-02-03 15:14:22 +01:00
Bram Moolenaar
4d526ad35a updated for version 7.2.352
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Always return TRUE for the WM_NCCREATE message. (Andy Kittner)
2010-02-03 12:23:24 +01:00
Bram Moolenaar
d21d9a6c61 updated for version 7.2.351
Problem:    Can't build with some compilers.
Solution:   Move the #ifdef outside of a macro.  Cleanup the code.
2010-01-28 22:58:16 +01:00
Bram Moolenaar
c5d5d01ad9 updated for version 7.2.350
Problem:    Win32: When changing font the window may jump from the secondary
            to the primary screen. (Michael Wookey)
Solution:   When the screen position was negative don't correct it to zero.
2010-01-27 21:05:05 +01:00
Bram Moolenaar
6d1dcffc35 updated for version 7.2.349
Problem:    CTRL-W gf doesn't put the new tab in the same place as "tab split"
            and "gf". (Tony Mechelynck)
Solution:   Store the tab number in cmdmod.tab.
2010-01-27 20:26:46 +01:00
Bram Moolenaar
da4d7a92d5 updated for version 7.2.348
Problem:    Unicode double-width characters are not up-to date.
Solution:   Produce the double-width table like the others.
2010-01-27 18:29:26 +01:00
Bram Moolenaar
0dbf720d86 updated for version 7.2.347
Problem:    Crash when executing <expr> mapping redefines that same mapping.
Solution:   Save the values used before evaluating the expression.
2010-01-27 17:31:43 +01:00
613 changed files with 58682 additions and 117297 deletions

3
.gitignore vendored
View File

@@ -2,6 +2,8 @@
*.o
src/vim
src/xxd/xxd
src/auto/if_perl.c
src/tags
# We do need src/auto/configure and src/auto/config.mk.
src/auto/osdef.h
@@ -36,4 +38,5 @@ gvimext.lib
*.rej
*.orig
*.mo
*.swp
*~

View File

@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 7.2. Also runs under UNIX, MSDOS and other systems.
vim72rt.tgz contains the documentation and syntax files.
vim72bin.tgz contains the binaries.
vim72src.tgz contains the sources.
Version 7.3. Also runs under UNIX, MSDOS and other systems.
vim73rt.tgz contains the documentation and syntax files.
vim73bin.tgz contains the binaries.
vim73src.tgz contains the sources.
Author: Bram Moolenaar et al.

View File

@@ -7,6 +7,7 @@ SRC_ALL = \
src/arabic.c \
src/arabic.h \
src/ascii.h \
src/blowfish.c \
src/buffer.c \
src/charset.c \
src/diff.c \
@@ -58,6 +59,7 @@ SRC_ALL = \
src/regexp.h \
src/screen.c \
src/search.c \
src/sha256.c \
src/structs.h \
src/spell.c \
src/syntax.c \
@@ -79,6 +81,7 @@ SRC_ALL = \
src/testdir/test49.vim \
src/testdir/test60.vim \
src/proto.h \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/charset.pro \
src/proto/diff.pro \
@@ -116,6 +119,7 @@ SRC_ALL = \
src/proto/regexp.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/sha256.pro \
src/proto/spell.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
@@ -206,19 +210,24 @@ SRC_UNIX = \
SRC_DOS_UNIX = \
src/if_cscope.c \
src/if_cscope.h \
src/if_lua.c \
src/if_mzsch.c \
src/if_mzsch.h \
src/if_perl.xs \
src/if_perlsfio.c \
src/if_python.c \
src/if_python3.c \
src/if_py_both.h \
src/if_ruby.c \
src/if_sniff.h \
src/if_tcl.c \
src/proto/if_cscope.pro \
src/proto/if_lua.pro \
src/proto/if_mzsch.pro \
src/proto/if_perl.pro \
src/proto/if_perlsfio.pro \
src/proto/if_python.pro \
src/proto/if_python3.pro \
src/proto/if_ruby.pro \
src/proto/if_tcl.pro \
src/typemap \
@@ -369,7 +378,7 @@ SRC_MAC = \
src/os_mac.h \
src/os_mac.rsr.hqx \
src/os_mac_conv.c \
src/os_macosx.c \
src/os_macosx.m \
src/proto/gui_mac.pro \
src/proto/os_mac_conv.pro \
@@ -654,13 +663,12 @@ EXTRA = \
farsi/fonts/*/far-* \
runtime/vimlogo.xpm \
src/swis.s \
src/tee/Makefile* \
src/tee/Makefile \
src/tee/tee.c \
csdpmi4b.zip \
# generic language files
LANG_GEN = \
README_lang.txt \
runtime/doc/*-fr.1 \
runtime/doc/*-fr.UTF-8.1 \
runtime/doc/*-it.1 \

210
Makefile
View File

@@ -3,8 +3,10 @@
# 2. Creating the various distribution files.
# 1. Using this Makefile without an argument will compile Vim for Unix.
#########################################################################
# 1. Starting the compilation of Vim for Unix.
#
# Using this Makefile without an argument will compile Vim for Unix.
# "make install" is also possible.
#
# NOTE: If this doesn't work properly, first change directory to "src" and use
@@ -33,20 +35,14 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
cd src && $(MAKE) $@
# 2. Create the various distributions:
#########################################################################
# 2. Creating the various distribution files.
#
# TARGET PRODUCES CONTAINS
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
#
# extra vim-#.#-extra.tar.gz Extra source and runtime files
# lang vim-#.#-lang.tar.gz multi-language files
# unixall vim-#.#.tar.bz2 All runtime files and sources, for Unix
#
# html vim##html.zip HTML docs
#
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##d16.zip binary for MS-DOS 16 bits
@@ -55,7 +51,11 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
# gvim##_s.zip exe for Win32s GUI
# doslang vim##lang.zip language files for Win32
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# os2bin vim##os2.zip binary for OS/2
# (use RT from dosrt)
@@ -64,29 +64,35 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
# To do all this you need the unix, extra and lang archives, and
# compiled binaries.
# To do all this you need the Unix archive and compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7
MINOR = 2
MINOR = 3
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
# Uncomment this line if the 16 bit DOS version is to be included.
# DOSBIN_D16 = dosbin_d16
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
# MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def,
# src/gvim.exe.mnf.
# - Adjust the date and other info in src/version.h.
# - Correct included_patches[] in src/version.c.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme (if you can make it
# work), Cscope and "huge" features. Exclude workshop and SNiFF.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if
# you can make it all work), Cscope and "huge" features. Exclude workshop
# and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - "make lint" and check the output (ignore GTK warnings).
# - If you have a lint program: "make lint" and check the output (ignore GTK
# warnings).
# - Enable the efence library in "src/Makefile" and run "make test". Disable
# Python and Ruby to avoid trouble with threads (efence is not threadsafe).
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
@@ -102,10 +108,10 @@ DOSBIN_S = dosbin_s
# the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
# - "make unixall", "make extra", "make lang", "make html"
# - "make unixall", "make html"
# - Make diff files against the previous release: "makediff7 7.1 7.2"
#
# Amiga:
# Amiga: (OBSOLETE, Amiga files are no longer distributed)
# - "make amisrc", move the archive to the Amiga and compile:
# "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
@@ -114,8 +120,9 @@ DOSBIN_S = dosbin_s
# - "make amirt", "make amibin".
#
# PC:
# - Run make on Unix to update the ".mo" files.
# - "make dossrc" and "make dosrt". Unpack the archives on a PC.
# 16 bit DOS version:
# 16 bit DOS version: (OBSOLETE, 16 bit version doesn't build)
# - Set environment for compiling with Borland C++ 3.1.
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
# case set environment for compiling with Borland C++ 4.0 and do
@@ -131,9 +138,11 @@ DOSBIN_S = dosbin_s
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# Win32 console version:
# - Set environment for Visual C++ 2008 Express Edition: "msvc2008.bat". Or,
# when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths
# when necessary). For Windows 98 the 2003 version is required.
# - Set environment for Visual C++ 2008, e.g.:
# "E:\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat". Or, when using the
# Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths when necessary).
# For Windows 98/ME the 2003 version is required, but then it won't work on
# Windows 7 and 64 bit.
# - "nmake -f Make_mvc.mak"
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
@@ -154,8 +163,8 @@ DOSBIN_S = dosbin_s
# - Delete install.exe and uninstal.exe.
# - If building the Win32s version delete vimrun.exe.
# Win32s GUI version:
# - Set environment for Visual C++ 4.1 (requires a new console window)
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
# - Set environment for Visual C++ 4.1 (requires a new console window):
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
@@ -166,21 +175,23 @@ DOSBIN_S = dosbin_s
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
# - "make dosbin".
# - Run make on Unix to update the ".mo" files.
# - "make doslang".
# NSIS self installing exe:
# - Unpack the doslang archive on the PC.
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
# from a binary archive or build them)
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
# VisVim.dll in src/VisVim
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
# It is part of vim72.zip as vim72/gvimext.dll.
# - make sure there is a diff.exe two levels up
# - go to ../nsis and do "makensis gvim.nsi".
# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
# - Copy gvim##.exe to the dist directory.
#
# OS/2:
# - Unpack the Unix "src", "extra" and "rt" archives.
# OS/2: (OBSOLETE, OS/2 version is no longer distributed)
# - Unpack the Unix archive.
# - "make -f Make_os2.mak".
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
# them to here.
@@ -215,8 +226,6 @@ dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_RT1 = comment/$(VERSION)-rt1
COMMENT_RT2 = comment/$(VERSION)-rt2
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
@@ -227,17 +236,10 @@ COMMENT_SRC = comment/$(VERSION)-src
COMMENT_OS2 = comment/$(VERSION)-bin-os2
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
COMMENT_LANG = comment/$(VERSION)-lang
dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_RT1): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
dist/$(COMMENT_RT2): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
dist/$(COMMENT_D16): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
@@ -268,9 +270,6 @@ dist/$(COMMENT_HTML): dist/comment
dist/$(COMMENT_FARSI): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
dist/$(COMMENT_LANG): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
unixall: dist prepare
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
@@ -286,6 +285,8 @@ unixall: dist prepare
$(SRC_ALL) \
$(SRC_UNIX) \
$(SRC_DOS_UNIX) \
$(EXTRA) \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Need to use a "distclean" config.mk file
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
@@ -293,26 +294,6 @@ unixall: dist prepare
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
extra: dist prepare
-rm -f dist/$(VIMVER)-extra.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(EXTRA) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-extra.tar
lang: dist prepare
-rm -f dist/$(VIMVER)-lang.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
@@ -322,9 +303,11 @@ lang: dist prepare
touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-lang.tar
# Create the archive.
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
# Amiga runtime - OBSOLETE
amirt: dist prepare
-rm -f dist/vim$(VERSION)rt.tar.gz
-rm -rf dist/Vim
@@ -347,6 +330,7 @@ amirt: dist prepare
gzip -9 dist/vim$(VERSION)rt.tar
mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
# Amiga binaries - OBSOLETE
amibin: dist prepare
-rm -f dist/vim$(VERSION)bin.tar.gz
-rm -rf dist/Vim
@@ -364,6 +348,7 @@ amibin: dist prepare
gzip -9 dist/vim$(VERSION)bin.tar
mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
# Amiga sources - OBSOLETE
amisrc: dist prepare
-rm -f dist/vim$(VERSION)src.tar.gz
-rm -rf dist/Vim
@@ -384,15 +369,41 @@ amisrc: dist prepare
no_title.vim: Makefile
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
cd runtime/doc && $(MAKE) uganda.nsis.txt
dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
-rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
# Split in two parts to avoid a "argument list too long" error.
# Split in two parts to avoid an "argument list too long" error.
dosrt_unix2dos: dist prepare no_title.vim
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
tar cf - \
$(RT_ALL) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
@@ -412,6 +423,18 @@ dosrt_unix2dos: dist prepare no_title.vim
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl.dll dist/vim/$(VIMRTDIR)/
# Convert runtime files from Unix fileformat to dos fileformat.
@@ -421,7 +444,7 @@ runtime_unix2dos: dosrt_unix2dos
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
@@ -531,53 +554,6 @@ dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
# make Win32 lang archive
doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
-rm -rf dist/vim$(VERSION)lang.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl.dll dist/vim/$(VIMRTDIR)/
cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
cd runtime/doc && $(MAKE) uganda.nsis.txt
os2bin: dist no_title.vim dist/$(COMMENT_OS2)
-rm -rf dist/vim$(VERSION)os2.zip
-rm -rf dist/vim

View File

@@ -1,4 +1,4 @@
README.txt for version 7.2 of Vim: Vi IMproved.
README.txt for version 7.3 of Vim: Vi IMproved.
WHAT IS VIM
@@ -9,13 +9,13 @@ on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
"runtime/doc/vi_diff.txt" for differences with Vi.
This editor is very useful for editing programs and other plain ASCII files.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
Vim currently runs under Amiga DOS, MS-DOS, MS-Windows 95/98/Me/NT/2000/XP,
Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
Vim runs under Amiga DOS, MS-DOS, MS-Windows (95, 98, Me, NT, 2000, XP, Vista,
7), Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
UNIX. Porting to other systems should not be very difficult.
@@ -32,19 +32,19 @@ an overview of currently available distributions.
DOCUMENTATION
The vim tutor is a one hour training course for beginners. Mostly it can be
started as "vimtutor". See ":help tutor" for more information.
The best is to use ":help" in Vim. If you don't have an executable yet, read
"runtime/doc/help.txt". It contains pointers to the other documentation
files. The User Manual reads like a book and is recommended to learn to use
Vim. See ":help user-manual".
The vim tutor is a one hour training course for beginners. Mostly it can be
started as "vimtutor". See ":help tutor" for more information.
COPYING
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation to orphans in Uganda. Please read the file
encouraged to make a donation to help orphans in Uganda. Please read the file
"runtime/doc/uganda.txt" for details (do ":help uganda" inside Vim).
Summary of the license: There are no restrictions on using or distributing an
@@ -86,6 +86,8 @@ README_os2.txt OS/2
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
INFORMATION
@@ -98,39 +100,12 @@ If you have problems, have a look at the Vim FAQ:
Send bug reports to:
Bram Moolenaar <Bram@vim.org>
There are five mailing lists for Vim:
<vim@vim.org>
For discussions about using existing versions of Vim: Useful mappings,
questions, answers, where to get a specific version, etc.
<vim-dev@vim.org>
For discussions about changing Vim: New features, porting, beta-test
versions, etc.
<vim-announce@vim.org>
Announcements about new versions of Vim; also beta-test versions and
ports to different systems.
<vim-multibyte@vim.org>
For discussions about using and improving the multi-byte aspects of
Vim: XIM, Hangul, fontset, etc.
<vim-mac@vim.org>
For discussions about using and improving Vim on the Macintosh.
For more info and URLs of the archives see "http://www.vim.org/maillist.php".
NOTE:
- You can only send messages to these lists if you have subscribed!
- You need to send the messages from the same location as where you subscribed
from (to avoid spam mail).
- Maximum message size is 40000 characters.
If you want to join a maillist, send a message to
<vim-help@vim.org>
Make sure that your "From:" address is correct. Then the list server will
send you a help message.
There are several mailing lists for Vim, see http://www.vim.org/maillist.php.
MAIN AUTHOR
Send any other comments, patches, pizza and suggestions to:
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar E-mail: Bram@vim.org
Finsterruetihof 1

View File

@@ -1,4 +1,4 @@
README_ami.txt for version 7.2 of Vim: Vi IMproved.
README_ami.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_amibin.txt for version 7.2 of Vim: Vi IMproved.
README_amibin.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.

View File

@@ -1,4 +1,4 @@
README_amisrc.txt for version 7.2 of Vim: Vi IMproved.
README_amisrc.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.

View File

@@ -1,19 +1,19 @@
README_bindos.txt for version 7.2 of Vim: Vi IMproved.
README_bindos.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim72rt.zip).
These files are in the runtime archive (vim73rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim72d16.zip 16 bit DOS version
vim72d32.zip 32 bit DOS version
vim72w32.zip Windows 95/98/NT/etc. console version
gvim72.zip Windows 95/98/NT/etc. GUI version
gvim72ole.zip Windows 95/98/NT/etc. GUI version with OLE
gvim72_s.zip Windows 3.1 GUI version
vim73d16.zip 16 bit DOS version
vim73d32.zip 32 bit DOS version
vim73w32.zip Windows 95/98/NT/etc. console version
gvim73.zip Windows 95/98/NT/etc. GUI version
gvim73ole.zip Windows 95/98/NT/etc. GUI version with OLE
gvim73_s.zip Windows 3.1 GUI version
You MUST also get the runtime archive (vim72rt.zip).
The sources are also available (vim72src.zip).
You MUST also get the runtime archive (vim73rt.zip).
The sources are also available (vim73src.zip).

View File

@@ -1,4 +1,4 @@
README_dos.txt for version 7.2 of Vim: Vi IMproved.
README_dos.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
@@ -47,13 +47,13 @@ These are the normal steps to install Vim from the .zip archives:
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim72",
2. Unpack the zip archives. This will create a new directory "vim\vim73",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim72.zip
unzip vim72w32.zip
pkunzip -d gvim73.zip
unzip vim73w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim72
cd vim\vim73
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim72
set path=%path%;D:\editors\vim\vim72
set path=%path%;C:\vim\vim73
set path=%path%;D:\editors\vim\vim73
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@@ -93,8 +93,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 7.2 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim72. See ":help $VIM" for more information.
Vim version 7.3 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim73. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@@ -105,14 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim72\vim.exe The Vim version 7.2 executable.
C:\vim\vim72\doc\*.txt The version 7.2 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 7.2 script.
C:\vim\vim72\... Other version 7.2 distributed files.
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
C:\vim\vim73\... Other version 7.3 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim72". Don't add
"vim72" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim73". Don't add
"vim73" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@@ -136,8 +136,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim72\vim.exe
C:\command.com /c D:\editors\vim\vim72\vim.exe
C:\command.com /c C:\vim\vim73\vim.exe
C:\command.com /c D:\editors\vim\vim73\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".

View File

@@ -1,61 +1,54 @@
README_extra.txt for version 7.2 of Vim: Vi IMproved.
README_extra.txt for version 7.3 of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive
(vim-7.2-src.tar.gz). The extra archive is useless without it.
For more information, see the "README.txt" file that comes with the runtime
archive (vim-7.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!
The extra archive plus the source and runtime achives make up the complete
sources of Vim for all systems.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"
file.
Some of the things that the extra archive contains:
farsi/* Files for the Farsi (persian) language. If you don't
know what Farsi is, this is not for you.
Farsi Files for the Farsi (persian) language. If you don't know
what Farsi is, this is not for you.
src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
this is not for you.
if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is
not for you.
src/os_amiga.* Files for the Amiga port.
os_amiga Files for the Amiga port.
src/gui_riscos.*
src/os_riscos.* Files for the RISC OS port.
gui_riscos
os_riscos Files for the RISC OS port.
src/gui_beos.*
src/os_beos.* Files for the BeOS port.
gui_beos
os_beos Files for the BeOS port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.
os_msdos
os_dos Files for the MS-DOS port.
src/gui_mac.*
src/os_mac.* Files for the Mac port.
gui_mac
os_mac Files for the Mac port.
src/os_mint.8 Files for the Atari Mint port.
os_mint Files for the Atari Mint port.
src/os_os2* Files for the OS/2 port.
src/tee/* Extra program for OS/2.
os_os2 Files for the OS/2 port.
tee Extra program for OS/2.
src/os_vms* Files for the VMS port.
os_vms Files for the VMS port.
src/os_w32*
src/os_win32.* Files for the Win32 port.
os_w32
os_win32 Files for the Win32 port.
src/gui_w32.* Files for the Win32 GUI.
src/gui_w48.* Files for the Win32 and Win16 GUI.
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
runtime/rgb.txt File with color definitions for the Win32 GUI.
gui_w32 Files for the Win32 GUI.
gui_w48 Files for the Win32 and Win16 GUI.
Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
rgb.txt File with color definitions for the Win32 GUI.
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
if_ole OLE automation interface, for MS Windows 95 and NT.
src/VisVim/* Integration of Win32 GUI with MS Visual Developer
Studio.
VisVim Integration of Win32 GUI with MS Visual Developer Studio.
src/GvimExt/* DLL for the "Edit with Vim" context menu entry
GvimExt DLL for the "Edit with Vim" context menu entry
nsis/* NSIS script to build the self-installing MS-Windows exe
nsis NSIS script to build the self-installing MS-Windows exe
runtime/doc/*.man Preprocessed manual pages.
*.man Preprocessed manual pages.
file_select.vim Vim script to browse directories (Unix only).
runtime/macros/file_select.vim Vim script to browse directories (Unix only).

View File

@@ -1,5 +0,0 @@
README_lang.txt for version 7.2 of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.
- Translated menus.

View File

@@ -1,4 +1,4 @@
README_mac.txt for version 7.2 of Vim: Vi IMproved.
README_mac.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_ole.txt for version 7.2 of Vim: Vi IMproved.
README_ole.txt for version 7.3 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you
@@ -16,5 +16,5 @@ Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help if_ole
Futhermore, this archive contains VISVIM.DLL. It can be used to integrate
Furthermore, this archive contains VISVIM.DLL. It can be used to integrate
the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt.

View File

@@ -1,32 +1,32 @@
README_os2.txt for version 7.2 of Vim: Vi IMproved.
README_os2.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
NOTE: You will need two archives:
vim72rt.zip contains the runtime files (same as for the PC version)
vim72os2.zip contains the OS/2 executables
vim73rt.zip contains the runtime files (same as for the PC version)
vim73os2.zip contains the OS/2 executables
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
2. Unpack the zip archives. This will create a new directory "vim/vim72",
2. Unpack the zip archives. This will create a new directory "vim/vim73",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d vim72os2.zip
unzip vim72os2.zip
pkunzip -d vim73os2.zip
unzip vim73os2.zip
After you unpacked the files, you can still move the whole directory tree
to another location.
3. Add the directory where vim.exe is to your path. The simplest is to add a
line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim72
set path=%path%;D:\editors\vim\vim72
set path=%path%;C:\vim\vim73
set path=%path%;D:\editors\vim\vim73
That's it!
@@ -41,10 +41,10 @@ Extra remarks:
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim72\vim.exe The Vim version 7.2 executable.
C:\vim\vim72\doc\*.txt The version 7.2 documentation files.
C:\vim\vim72\bugreport.vim A Vim version 7.2 script.
C:\vim\vim72\... Other version 7.2 distributed files.
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
C:\vim\vim73\... Other version 7.3 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim

View File

@@ -1,51 +1,84 @@
README_os_390.txt for version 7.2 of Vim: Vi IMproved.
README_zOS.txt for version 7.3 of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.
ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
I expect you to know how to handle alpha software!
Most likely there are not many users out there using Vim on z/OS. So chances
are good, that some bugs are still undiscovered.
This port was done by Ralf Schandl <schandl@de.ibm.com>.
This port is not maintained or supported by IBM!!
Getting the source to z/OS:
==========================
First get the source code in one big tar file and ftp it a binary to z/OS. If
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
uncompress it on your PC, as this tools are (most likely) not available on the
mainframe.
For the list of changes see runtime/doc/os_390.txt.
To reduce the size of the tar file you might compress it into a zip file. On
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
jar xvf <zip file name>
Unpack the tar file on z/OS with
pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar
Note: The Vim source contains a few bitmaps etc which will be destroyed by
this command, but these files are not needed on zOS (at least not for the
console version).
Compiling:
----------
==========
Note: After the file configure was created via autoconf, it had been
handedited, to make the test for ICEConnectionNumber work.
DO NOT run autoconf again!
Vim can be compiled with or without GUI support. For 7.3 only the compilation
without GUI was tested. Below is a section about compiling with X11 but this
is from an earlier version of Vim.
Without X11:
Console only:
-------------
If you build VIM without X11 support, compiling and building is nearly
straightforward. The only restriction is, that you can't call make from the
VIM toplevel directory. Change to the src directory first and call make from
there. Here is a what to do:
straightforward.
Change to the vim directory and do:
# Don't use c89!
# Make additional symbols visible.
# Allow intermixing of compiler options and files.
$ export CC=cc
$ export CFLAGS=-D_ALL_SOURCE
$ export _CC_CCMODE=1
$./configure --enable-max-features --without-x --enable-gui=no
$./configure --with-features=big --without-x --enable-gui=no
$ cd src
$ make
There may be warnings:
- include files not found (libc, sys/param.h, ...)
- Redeclaration of ... differs from ...
-- just ignore them.
$ make test
Note: Test 28 will be reported as failed. This is because diff can't
compare files containing '\0' characters. Test 11 will fail if you
don't have gzip.
This will produce lots of garbage on your screen (including error
messages). Don't worry.
If the test stops at one point in vim (might happen in test 11), just
press :q!
Expected test failures:
11: If you don't have gzip installed
24: test of backslash sequences in regexp are ASCII dependent
42: Multibyte is not supported on z/OS
55: ASCII<->EBCDIC sorting
57: ASCII<->EBCDIC sorting
58: Spell checking is not supported with EBCDIC
71: Blowfish encryption doesn't work
$ make install
With X11:
---------
WARNING: This instruction was not tested with Vim 7.3.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
@@ -54,8 +87,6 @@ you want Motif.
The easy way:
$ export CC=cc
$ export CFLAGS="-D_ALL_SOURCE -W c,dll"
$ export LDFLAGS="-W l,dll"
$ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif
$ cd src
@@ -65,7 +96,7 @@ you want Motif.
The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the
following contense:
following content (see src/link.390):
s/-lXext *//g
s/-lXmu *//g
@@ -84,47 +115,3 @@ you want Motif.
See the Makefile and the file link.sh on how link.sed is used.
Hint:
-----
Use the online help! (See weaknesses below.)
Example:
Enter ':help syntax' and then press <TAB> several times, you will switch
through all help items containing 'syntax'. Press <ENTER> on the one you are
interested at. Or press <Ctrl-D> and you will get a list of all items printed
that contain 'syntax'.
The helpfiles contains cross-references. Links are between '|'. Position the
cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
back.
Known weaknesses:
-----------------
- You can't call make from the toplevel directory, you have to do a 'cd src'
first. If you do it, make will call configure again. I don't know why and
didn't investigate it, there were more important things to do. If you can
make it work drop me a note.
- The documentation was not updated for this alpha release. It contains lot of
ASCII dependencies, especially in examples.
- Digraphs are dependent on code page 1047. Digraphs are used to enter
characters that normally cannot be entered by an ordinary keyboard.
See ":help digraphs".
- Using 'ga' to show the code of the character under the cursor shows the
correct dec/hex/oct values, but the other informations might be missing or
wrong.
- The sed syntax file doesn't work, it is ASCII dependent.
Bugs:
-----
If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
Moolenaar. It's most likely a bug I introduced during porting or some ASCII
dependency I didn't notice.
Feedback:
---------
Feedback welcome! Just drop me a note.

View File

@@ -1,10 +1,10 @@
README_src.txt for version 7.2 of Vim: Vi IMproved.
README_src.txt for version 7.3 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
systems in combination with the extra archive (vim-7.2-extra.tar.gz, in the
systems in combination with the extra archive (vim-7.3-extra.tar.gz, in the
"extra" directory of ftp.vim.org).
For more information, see the README.txt file that comes with the runtime
archive (vim-7.2-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-7.3-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!

View File

@@ -1,8 +1,8 @@
README_srcdos.txt for version 7.2 of Vim: Vi IMproved.
README_srcdos.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim72rt.zip).
These files are in the runtime archive (vim73rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or

View File

@@ -1,4 +1,4 @@
README_unix.txt for version 7.2 of Vim: Vi IMproved.
README_unix.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.

View File

@@ -1,4 +1,4 @@
README_vms.txt for version 7.2 of Vim: Vi IMproved.
README_vms.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.

View File

@@ -1,4 +1,4 @@
README_w32s.txt for version 7.2 of Vim: Vi IMproved.
README_w32s.txt for version 7.3 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.

View File

@@ -1,6 +1,6 @@
# NSIS file to create a self-installing exe for Vim.
# It requires NSIS version 2.0 or later.
# Last change: 2004 May 02
# Last Change: 2010 Jul 30
# WARNING: if you make changes to this script, look out for $0 to be valid,
# because uninstall deletes most files in $0.
@@ -22,17 +22,20 @@
!define HAVE_NLS
!define VER_MAJOR 7
!define VER_MINOR 2
!define VER_MINOR 3
# ----------- No configurable settings below this line -----------
!include UpgradeDLL.nsh # for VisVim.dll
!include LogicLib.nsh
!include x64.nsh
Name "Vim ${VER_MAJOR}.${VER_MINOR}"
OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
CRCCheck force
SetCompressor lzma
SetDatablockOptimize on
RequestExecutionLevel highest
ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
DirText "Choose a directory to install Vim (must end in 'vim')"
@@ -290,13 +293,21 @@ Section "Add an Edit-with-Vim context menu entry"
SetOutPath $0
ClearErrors
SetOverwrite try
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
${If} ${RunningX64}
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
${Else}
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
${EndIf}
IfErrors 0 GvimExtDone
# Can't copy gvimext.dll, create it under another name and rename it on
# next reboot.
GetTempFileName $3 $0
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
${If} ${RunningX64}
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
${Else}
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
${EndIf}
Rename /REBOOTOK $3 $0\gvimext.dll
GvimExtDone:
@@ -438,8 +449,8 @@ Section Uninstall
AskRemove:
MessageBox MB_YESNO|MB_ICONQUESTION \
"Remove all files in your $1\vimfiles directory? \
$\nIf you have created something there that you want to keep, click No" IDNO Fin
"Remove all files in your $1\vimfiles directory?$\n \
$\nCAREFUL: If you have created something there that you want to keep, click No" IDNO Fin
RMDir /r $1\vimfiles
NoRemove:

View File

@@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 Aug 30
" Last Change: 2010 Mar 23
" This function is used for the 'omnifunc' option.
@@ -161,7 +161,7 @@ function! ccomplete#Complete(findstart, base)
let res = [{'match': match, 'tagline' : '', 'kind' : kind, 'info' : line}]
else
" Completing "var.", "var.something", etc.
let res = s:Nextitem(strpart(line, 0, col), items[-1], 0, 1)
let res = s:Nextitem(strpart(line, 0, col), items[1:], 0, 1)
endif
endif

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,606 @@
"python3complete.vim - Omni Completion for python
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
" Version: 0.9
" Last Updated: 18 Jun 2009
"
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
"
" Changes
" TODO:
" 'info' item output can use some formatting work
" Add an "unsafe eval" mode, to allow for return type evaluation
" Complete basic syntax along with import statements
" i.e. "import url<c-x,c-o>"
" Continue parsing on invalid line??
"
" v 0.9
" * Fixed docstring parsing for classes and functions
" * Fixed parsing of *args and **kwargs type arguments
" * Better function param parsing to handle things like tuples and
" lambda defaults args
"
" v 0.8
" * Fixed an issue where the FIRST assignment was always used instead of
" using a subsequent assignment for a variable
" * Fixed a scoping issue when working inside a parameterless function
"
"
" v 0.7
" * Fixed function list sorting (_ and __ at the bottom)
" * Removed newline removal from docs. It appears vim handles these better in
" recent patches
"
" v 0.6:
" * Fixed argument completion
" * Removed the 'kind' completions, as they are better indicated
" with real syntax
" * Added tuple assignment parsing (whoops, that was forgotten)
" * Fixed import handling when flattening scope
"
" v 0.5:
" Yeah, I skipped a version number - 0.4 was never public.
" It was a bugfix version on top of 0.3. This is a complete
" rewrite.
"
if !has('python3')
echo "Error: Required vim compiled with +python3"
finish
endif
function! python3complete#Complete(findstart, base)
"findstart = 1 when we need to get the text length
if a:findstart == 1
let line = getline('.')
let idx = col('.')
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w'
continue
elseif ! c =~ '\.'
let idx = -1
break
else
break
endif
endwhile
return idx
"findstart = 0 when we need to return the list of completions
else
"vim no longer moves the cursor upon completion... fix that
let line = getline('.')
let idx = col('.')
let cword = ''
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w' || c =~ '\.'
let cword = c . cword
continue
elseif strlen(cword) > 0 || idx == 0
break
endif
endwhile
execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')"
return g:python3complete_completions
endif
endfunction
function! s:DefPython()
py3 << PYTHONEOF
import sys, tokenize, io, types
from token import NAME, DEDENT, NEWLINE, STRING
debugstmts=[]
def dbg(s): debugstmts.append(s)
def showdbg():
for d in debugstmts: print("DBG: %s " % d)
def vimpy3complete(context,match):
global debugstmts
debugstmts = []
try:
import vim
cmpl = Completer()
cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
all = cmpl.get_completions(context,match)
all.sort(key=lambda x:x['abbr'].replace('_','z'))
dictstr = '['
# have to do this for double quoting
for cmpl in all:
dictstr += '{'
for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x])
dictstr += '"icase":0},'
if dictstr[-1] == ',': dictstr = dictstr[:-1]
dictstr += ']'
#dbg("dict: %s" % dictstr)
vim.command("silent let g:python3complete_completions = %s" % dictstr)
#dbg("Completion dict:\n%s" % all)
except vim.error:
dbg("VIM Error: %s" % vim.error)
class Completer(object):
def __init__(self):
self.compldict = {}
self.parser = PyParser()
def evalsource(self,text,line=0):
sc = self.parser.parse(text,line)
src = sc.get_code()
dbg("source: %s" % src)
try: exec(src,self.compldict)
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
for l in sc.locals:
try: exec(l,self.compldict)
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
def _cleanstr(self,doc):
return doc.replace('"',' ').replace("'",' ')
def get_arguments(self,func_obj):
def _ctor(class_ob):
try: return class_ob.__init__
except AttributeError:
for base in class_ob.__bases__:
rc = _ctor(base)
if rc is not None: return rc
return None
arg_offset = 1
if type(func_obj) == type: func_obj = _ctor(func_obj)
elif type(func_obj) == types.MethodType: arg_offset = 1
else: arg_offset = 0
arg_text=''
if type(func_obj) in [types.FunctionType, types.LambdaType,types.MethodType]:
try:
cd = func_obj.__code__
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
defaults = func_obj.__defaults__ or []
defaults = ["=%s" % name for name in defaults]
defaults = [""] * (len(real_args)-len(defaults)) + defaults
items = [a+d for a,d in zip(real_args,defaults)]
if func_obj.__code__.co_flags & 0x4:
items.append("...")
if func_obj.__code__.co_flags & 0x8:
items.append("***")
arg_text = (','.join(items)) + ')'
except:
dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
pass
if len(arg_text) == 0:
# The doc string sometimes contains the function signature
# this works for alot of C modules that are part of the
# standard library
doc = func_obj.__doc__
if doc:
doc = doc.lstrip()
pos = doc.find('\n')
if pos > 0:
sigline = doc[:pos]
lidx = sigline.find('(')
ridx = sigline.find(')')
if lidx > 0 and ridx > 0:
arg_text = sigline[lidx+1:ridx] + ')'
if len(arg_text) == 0: arg_text = ')'
return arg_text
def get_completions(self,context,match):
#dbg("get_completions('%s','%s')" % (context,match))
stmt = ''
if context: stmt += str(context)
if match: stmt += str(match)
try:
result = None
all = {}
ridx = stmt.rfind('.')
if len(stmt) > 0 and stmt[-1] == '(':
result = eval(_sanitize(stmt[:-1]), self.compldict)
doc = result.__doc__
if doc is None: doc = ''
args = self.get_arguments(result)
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
elif ridx == -1:
match = stmt
all = self.compldict
else:
match = stmt[ridx+1:]
stmt = _sanitize(stmt[:ridx])
result = eval(stmt, self.compldict)
all = dir(result)
dbg("completing: stmt:%s" % stmt)
completions = []
try: maindoc = result.__doc__
except: maindoc = ' '
if maindoc is None: maindoc = ' '
for m in all:
if m == "_PyCmplNoType": continue #this is internal
try:
dbg('possible completion: %s' % m)
if m.find(match) == 0:
if result is None: inst = all[m]
else: inst = getattr(result,m)
try: doc = inst.__doc__
except: doc = maindoc
typestr = str(inst)
if doc is None or doc == '': doc = maindoc
wrd = m[len(match):]
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
if "function" in typestr:
c['word'] += '('
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
elif "method" in typestr:
c['word'] += '('
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
elif "module" in typestr:
c['word'] += '.'
elif "type" in typestr:
c['word'] += '('
c['abbr'] += '('
completions.append(c)
except:
i = sys.exc_info()
dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
return completions
except:
i = sys.exc_info()
dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
return []
class Scope(object):
def __init__(self,name,indent,docstr=''):
self.subscopes = []
self.docstr = docstr
self.locals = []
self.parent = None
self.name = name
self.indent = indent
def add(self,sub):
#print('push scope: [%s@%s]' % (sub.name,sub.indent))
sub.parent = self
self.subscopes.append(sub)
return sub
def doc(self,str):
""" Clean up a docstring """
d = str.replace('\n',' ')
d = d.replace('\t',' ')
while d.find(' ') > -1: d = d.replace(' ',' ')
while d[0] in '"\'\t ': d = d[1:]
while d[-1] in '"\'\t ': d = d[:-1]
dbg("Scope(%s)::docstr = %s" % (self,d))
self.docstr = d
def local(self,loc):
self._checkexisting(loc)
self.locals.append(loc)
def copy_decl(self,indent=0):
""" Copy a scope's declaration only, at the specified indent level - not local variables """
return Scope(self.name,indent,self.docstr)
def _checkexisting(self,test):
"Convienance function... keep out duplicates"
if test.find('=') > -1:
var = test.split('=')[0].strip()
for l in self.locals:
if l.find('=') > -1 and var == l.split('=')[0].strip():
self.locals.remove(l)
def get_code(self):
str = ""
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
for l in self.locals:
if l.startswith('import'): str += l+'\n'
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
for sub in self.subscopes:
str += sub.get_code()
for l in self.locals:
if not l.startswith('import'): str += l+'\n'
return str
def pop(self,indent):
#print('pop scope: [%s] to [%s]' % (self.indent,indent))
outer = self
while outer.parent != None and outer.indent >= indent:
outer = outer.parent
return outer
def currentindent(self):
#print('parse current indent: %s' % self.indent)
return ' '*self.indent
def childindent(self):
#print('parse child indent: [%s]' % (self.indent+1))
return ' '*(self.indent+1)
class Class(Scope):
def __init__(self, name, supers, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.supers = supers
def copy_decl(self,indent=0):
c = Class(self.name,self.supers,indent, self.docstr)
for s in self.subscopes:
c.add(s.copy_decl(indent+1))
return c
def get_code(self):
str = '%sclass %s' % (self.currentindent(),self.name)
if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers)
str += ':\n'
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
if len(self.subscopes) > 0:
for s in self.subscopes: str += s.get_code()
else:
str += '%spass\n' % self.childindent()
return str
class Function(Scope):
def __init__(self, name, params, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.params = params
def copy_decl(self,indent=0):
return Function(self.name,self.params,indent, self.docstr)
def get_code(self):
str = "%sdef %s(%s):\n" % \
(self.currentindent(),self.name,','.join(self.params))
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
str += "%spass\n" % self.childindent()
return str
class PyParser:
def __init__(self):
self.top = Scope('global',0)
self.scope = self.top
def _parsedotname(self,pre=None):
#returns (dottedname, nexttoken)
name = []
if pre is None:
tokentype, token, indent = self.donext()
if tokentype != NAME and token != '*':
return ('', token)
else: token = pre
name.append(token)
while True:
tokentype, token, indent = self.donext()
if token != '.': break
tokentype, token, indent = self.donext()
if tokentype != NAME: break
name.append(token)
return (".".join(name), token)
def _parseimportlist(self):
imports = []
while True:
name, token = self._parsedotname()
if not name: break
name2 = ''
if token == 'as': name2, token = self._parsedotname()
imports.append((name, name2))
while token != "," and "\n" not in token:
tokentype, token, indent = self.donext()
if token != ",": break
return imports
def _parenparse(self):
name = ''
names = []
level = 1
while True:
tokentype, token, indent = self.donext()
if token in (')', ',') and level == 1:
if '=' not in name: name = name.replace(' ', '')
names.append(name.strip())
name = ''
if token == '(':
level += 1
name += "("
elif token == ')':
level -= 1
if level == 0: break
else: name += ")"
elif token == ',' and level == 1:
pass
else:
name += "%s " % str(token)
return names
def _parsefunction(self,indent):
self.scope=self.scope.pop(indent)
tokentype, fname, ind = self.donext()
if tokentype != NAME: return None
tokentype, open, ind = self.donext()
if open != '(': return None
params=self._parenparse()
tokentype, colon, ind = self.donext()
if colon != ':': return None
return Function(fname,params,indent)
def _parseclass(self,indent):
self.scope=self.scope.pop(indent)
tokentype, cname, ind = self.donext()
if tokentype != NAME: return None
super = []
tokentype, thenext, ind = self.donext()
if thenext == '(':
super=self._parenparse()
elif thenext != ':': return None
return Class(cname,super,indent)
def _parseassignment(self):
assign=''
tokentype, token, indent = self.donext()
if tokentype == tokenize.STRING or token == 'str':
return '""'
elif token == '(' or token == 'tuple':
return '()'
elif token == '[' or token == 'list':
return '[]'
elif token == '{' or token == 'dict':
return '{}'
elif tokentype == tokenize.NUMBER:
return '0'
elif token == 'open' or token == 'file':
return 'file'
elif token == 'None':
return '_PyCmplNoType()'
elif token == 'type':
return 'type(_PyCmplNoType)' #only for method resolution
else:
assign += token
level = 0
while True:
tokentype, token, indent = self.donext()
if token in ('(','{','['):
level += 1
elif token in (']','}',')'):
level -= 1
if level == 0: break
elif level == 0:
if token in (';','\n'): break
assign += token
return "%s" % assign
def donext(self):
type, token, (lineno, indent), end, self.parserline = next(self.gen)
if lineno == self.curline:
#print('line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name))
self.currentscope = self.scope
return (type, token, indent)
def _adjustvisibility(self):
newscope = Scope('result',0)
scp = self.currentscope
while scp != None:
if type(scp) == Function:
slice = 0
#Handle 'self' params
if scp.parent != None and type(scp.parent) == Class:
slice = 1
newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
for p in scp.params[slice:]:
i = p.find('=')
if len(p) == 0: continue
pvar = ''
ptype = ''
if i == -1:
pvar = p
ptype = '_PyCmplNoType()'
else:
pvar = p[:i]
ptype = _sanitize(p[i+1:])
if pvar.startswith('**'):
pvar = pvar[2:]
ptype = '{}'
elif pvar.startswith('*'):
pvar = pvar[1:]
ptype = '[]'
newscope.local('%s = %s' % (pvar,ptype))
for s in scp.subscopes:
ns = s.copy_decl(0)
newscope.add(ns)
for l in scp.locals: newscope.local(l)
scp = scp.parent
self.currentscope = newscope
return self.currentscope
#p.parse(vim.current.buffer[:],vim.eval("line('.')"))
def parse(self,text,curline=0):
self.curline = int(curline)
buf = io.StringIO(''.join(text) + '\n')
self.gen = tokenize.generate_tokens(buf.readline)
self.currentscope = self.scope
try:
freshscope=True
while True:
tokentype, token, indent = self.donext()
#dbg( 'main: token=[%s] indent=[%s]' % (token,indent))
if tokentype == DEDENT or token == "pass":
self.scope = self.scope.pop(indent)
elif token == 'def':
func = self._parsefunction(indent)
if func is None:
print("function: syntax error...")
continue
dbg("new scope: function")
freshscope = True
self.scope = self.scope.add(func)
elif token == 'class':
cls = self._parseclass(indent)
if cls is None:
print("class: syntax error...")
continue
freshscope = True
dbg("new scope: class")
self.scope = self.scope.add(cls)
elif token == 'import':
imports = self._parseimportlist()
for mod, alias in imports:
loc = "import %s" % mod
if len(alias) > 0: loc += " as %s" % alias
self.scope.local(loc)
freshscope = False
elif token == 'from':
mod, token = self._parsedotname()
if not mod or token != "import":
print("from: syntax error...")
continue
names = self._parseimportlist()
for name, alias in names:
loc = "from %s import %s" % (mod,name)
if len(alias) > 0: loc += " as %s" % alias
self.scope.local(loc)
freshscope = False
elif tokentype == STRING:
if freshscope: self.scope.doc(token)
elif tokentype == NAME:
name,token = self._parsedotname(token)
if token == '=':
stmt = self._parseassignment()
dbg("parseassignment: %s = %s" % (name, stmt))
if stmt != None:
self.scope.local("%s = %s" % (name,stmt))
freshscope = False
except StopIteration: #thrown on EOF
pass
except:
dbg("parse error: %s, %s @ %s" %
(sys.exc_info()[0], sys.exc_info()[1], self.parserline))
return self._adjustvisibility()
def _sanitize(str):
val = ''
level = 0
for c in str:
if c in ('(','{','['):
level += 1
elif c in (']','}',')'):
level -= 1
elif level == 0:
val += c
return val
sys.path.extend(['.','..'])
PYTHONEOF
endfunction
call s:DefPython()

View File

@@ -1,17 +1,28 @@
"pythoncomplete.vim - Omni Completion for python
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
" Version: 0.7
" Last Updated: 19 Oct 2006
" Version: 0.9
" Last Updated: 18 Jun 2009
"
" Changes
" TODO:
" User defined docstrings aren't handled right...
" 'info' item output can use some formatting work
" Add an "unsafe eval" mode, to allow for return type evaluation
" Complete basic syntax along with import statements
" i.e. "import url<c-x,c-o>"
" Continue parsing on invalid line??
"
" v 0.9
" * Fixed docstring parsing for classes and functions
" * Fixed parsing of *args and **kwargs type arguments
" * Better function param parsing to handle things like tuples and
" lambda defaults args
"
" v 0.8
" * Fixed an issue where the FIRST assignment was always used instead of
" using a subsequent assignment for a variable
" * Fixed a scoping issue when working inside a parameterless function
"
"
" v 0.7
" * Fixed function list sorting (_ and __ at the bottom)
" * Removed newline removal from docs. It appears vim handles these better in
@@ -63,7 +74,7 @@ function! pythoncomplete#Complete(findstart, base)
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w' || c =~ '\.' || c == '('
if c =~ '\w' || c =~ '\.'
let cword = c . cword
continue
elseif strlen(cword) > 0 || idx == 0
@@ -206,7 +217,7 @@ class Completer(object):
if len(stmt) > 0 and stmt[-1] == '(':
result = eval(_sanitize(stmt[:-1]), self.compldict)
doc = result.__doc__
if doc == None: doc = ''
if doc is None: doc = ''
args = self.get_arguments(result)
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
elif ridx == -1:
@@ -223,18 +234,18 @@ class Completer(object):
try: maindoc = result.__doc__
except: maindoc = ' '
if maindoc == None: maindoc = ' '
if maindoc is None: maindoc = ' '
for m in all:
if m == "_PyCmplNoType": continue #this is internal
try:
dbg('possible completion: %s' % m)
if m.find(match) == 0:
if result == None: inst = all[m]
if result is None: inst = all[m]
else: inst = getattr(result,m)
try: doc = inst.__doc__
except: doc = maindoc
typestr = str(inst)
if doc == None or doc == '': doc = maindoc
if doc is None or doc == '': doc = maindoc
wrd = m[len(match):]
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
@@ -260,9 +271,9 @@ class Completer(object):
return []
class Scope(object):
def __init__(self,name,indent):
def __init__(self,name,indent,docstr=''):
self.subscopes = []
self.docstr = ''
self.docstr = docstr
self.locals = []
self.parent = None
self.name = name
@@ -281,29 +292,28 @@ class Scope(object):
while d.find(' ') > -1: d = d.replace(' ',' ')
while d[0] in '"\'\t ': d = d[1:]
while d[-1] in '"\'\t ': d = d[:-1]
dbg("Scope(%s)::docstr = %s" % (self,d))
self.docstr = d
def local(self,loc):
if not self._hasvaralready(loc):
self.locals.append(loc)
self._checkexisting(loc)
self.locals.append(loc)
def copy_decl(self,indent=0):
""" Copy a scope's declaration only, at the specified indent level - not local variables """
return Scope(self.name,indent)
return Scope(self.name,indent,self.docstr)
def _hasvaralready(self,test):
def _checkexisting(self,test):
"Convienance function... keep out duplicates"
if test.find('=') > -1:
var = test.split('=')[0].strip()
for l in self.locals:
if l.find('=') > -1 and var == l.split('=')[0].strip():
return True
return False
self.locals.remove(l)
def get_code(self):
# we need to start with this, to fix up broken completions
# hopefully this name is unique enough...
str = '"""'+self.docstr+'"""\n'
str = ""
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
for l in self.locals:
if l.startswith('import'): str += l+'\n'
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
@@ -330,11 +340,11 @@ class Scope(object):
return ' '*(self.indent+1)
class Class(Scope):
def __init__(self, name, supers, indent):
Scope.__init__(self,name,indent)
def __init__(self, name, supers, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.supers = supers
def copy_decl(self,indent=0):
c = Class(self.name,self.supers,indent)
c = Class(self.name,self.supers,indent, self.docstr)
for s in self.subscopes:
c.add(s.copy_decl(indent+1))
return c
@@ -351,11 +361,11 @@ class Class(Scope):
class Function(Scope):
def __init__(self, name, params, indent):
Scope.__init__(self,name,indent)
def __init__(self, name, params, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.params = params
def copy_decl(self,indent=0):
return Function(self.name,self.params,indent)
return Function(self.name,self.params,indent, self.docstr)
def get_code(self):
str = "%sdef %s(%s):\n" % \
(self.currentindent(),self.name,','.join(self.params))
@@ -371,7 +381,7 @@ class PyParser:
def _parsedotname(self,pre=None):
#returns (dottedname, nexttoken)
name = []
if pre == None:
if pre is None:
tokentype, token, indent = self.next()
if tokentype != NAME and token != '*':
return ('', token)
@@ -405,17 +415,20 @@ class PyParser:
while True:
tokentype, token, indent = self.next()
if token in (')', ',') and level == 1:
names.append(name)
if '=' not in name: name = name.replace(' ', '')
names.append(name.strip())
name = ''
if token == '(':
level += 1
name += "("
elif token == ')':
level -= 1
if level == 0: break
else: name += ")"
elif token == ',' and level == 1:
pass
else:
name += str(token)
name += "%s " % str(token)
return names
def _parsefunction(self,indent):
@@ -495,16 +508,26 @@ class PyParser:
#Handle 'self' params
if scp.parent != None and type(scp.parent) == Class:
slice = 1
p = scp.params[0]
i = p.find('=')
if i != -1: p = p[:i]
newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
for p in scp.params[slice:]:
i = p.find('=')
if len(p) == 0: continue
pvar = ''
ptype = ''
if i == -1:
newscope.local('%s = _PyCmplNoType()' % p)
pvar = p
ptype = '_PyCmplNoType()'
else:
newscope.local('%s = %s' % (p[:i],_sanitize(p[i+1])))
pvar = p[:i]
ptype = _sanitize(p[i+1:])
if pvar.startswith('**'):
pvar = pvar[2:]
ptype = '{}'
elif pvar.startswith('*'):
pvar = pvar[1:]
ptype = '[]'
newscope.local('%s = %s' % (pvar,ptype))
for s in scp.subscopes:
ns = s.copy_decl(0)
@@ -532,17 +555,19 @@ class PyParser:
self.scope = self.scope.pop(indent)
elif token == 'def':
func = self._parsefunction(indent)
if func == None:
if func is None:
print "function: syntax error..."
continue
dbg("new scope: function")
freshscope = True
self.scope = self.scope.add(func)
elif token == 'class':
cls = self._parseclass(indent)
if cls == None:
if cls is None:
print "class: syntax error..."
continue
freshscope = True
dbg("new scope: class")
self.scope = self.scope.add(cls)
elif token == 'import':
@@ -569,6 +594,7 @@ class PyParser:
name,token = self._parsedotname(token)
if token == '=':
stmt = self._parseassignment()
dbg("parseassignment: %s = %s" % (name, stmt))
if stmt != None:
self.scope.local("%s = %s" % (name,stmt))
freshscope = False

View File

@@ -1,11 +1,11 @@
" Vim completion script
" Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info>
" Info: $Id: rubycomplete.vim,v 1.41 2008/06/30 06:50:45 segy Exp $
" Last Change: 2009 Sep 28
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Maintainer Version: 0.8
" Maintainer Version: 0.8.1
" ----------------------------------------------------------------------------
"
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
@@ -325,7 +325,7 @@ class VimRubyCompletion
ln = buf[x]
if /^\s*(module|class|def|include)\s+/.match(ln)
clscnt += 1 if $1 == "class"
#dprint "\$1: %s" % $1
#dprint "\$1$1
classdef += "%s\n" % ln
classdef += "end\n" if /def\s+/.match(ln)
dprint ln
@@ -632,7 +632,7 @@ class VimRubyCompletion
methods = Object.constants
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
receiver = $1
message = Regexp.quote($4)
dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ]
@@ -666,7 +666,7 @@ class VimRubyCompletion
dprint "global"
methods = global_variables.grep(Regexp.new(Regexp.quote($1)))
when /^((\.?[^.]+)+)\.([^.]*)$/ # variable
when /^((\.?[^.]+)+?)\.([^.]*)$/ # variable
dprint "variable"
receiver = $1
message = Regexp.quote($3)

View File

@@ -1,16 +1,44 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 7.0
" Last Change: 2009 Jan 04
" Version: 10.0
" Last Change: 2010 Jun 11
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" History
" Version 10.0
" 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.
" - Verifies the parameters are the correct type and displays a
" warning if not.
" - Verifies the parameters are the correct type and displays a
" warning if not.
" Updated SQLCWarningMsg()
" - Prepends warning message with SQLComplete so you know who issued
" the warning.
" Updated SQLCErrorMsg()
" - Prepends error message with SQLComplete so you know who issued
" the error.
"
" Version 9.0
" 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
" 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
" when drilling in and out of a column list for a table.
"
" Version 7.0
" Better handling of object names
"
" Version 6.0
" Supports object names with spaces "my table name"
"
@@ -28,7 +56,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
let g:loaded_sql_completion = 70
let g:loaded_sql_completion = 100
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -250,7 +278,7 @@ function! sqlcomplete#Complete(findstart, base)
" 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 <C-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
" cached table list. If it does, then we have
@@ -354,7 +382,13 @@ endfunc
function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = []
let syn_items = []
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
endif
let syn_group_arr = a:1
else
let syn_group_arr = g:omni_sql_precache_syntax_groups
@@ -363,7 +397,36 @@ function! sqlcomplete#PreCacheSyntax(...)
" the sytnax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
call s:SQLCGetSyntaxList(group_name)
let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) )
endfor
endif
return syn_items
endfunction
function! sqlcomplete#ResetCacheSyntax(...)
let syn_group_arr = []
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
endif
let syn_group_arr = a:1
else
let syn_group_arr = g:omni_sql_precache_syntax_groups
endif
" For each group specified in the list, precache all
" the sytnax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
let list_idx = index(s:syn_list, group_name, 0, &ignorecase)
if list_idx > -1
" Remove from list of groups
call remove( s:syn_list, list_idx )
" Remove from list of keywords
call remove( s:syn_value, list_idx )
endif
endfor
endif
endfunction
@@ -390,13 +453,14 @@ function! sqlcomplete#DrillIntoTable()
call sqlcomplete#Map('column')
" C-Y, makes the currently highlighted entry active
" and trigger the omni popup to be redisplayed
call feedkeys("\<C-Y>\<C-X>\<C-O>")
call feedkeys("\<C-Y>\<C-X>\<C-O>", 'n')
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Right> behaviour
exec "normal! \<C-Right>"
endif
" 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
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
endif
return ""
endfunction
@@ -408,24 +472,25 @@ function! sqlcomplete#DrillOutOfColumns()
" Trigger the omni popup to be redisplayed
call feedkeys("\<C-X>\<C-O>")
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Left> behaviour
exec "normal! \<C-Left>"
endif
" 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
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
endif
return ""
endfunction
function! s:SQLCWarningMsg(msg)
echohl WarningMsg
echomsg a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
function! s:SQLCErrorMsg(msg)
echohl ErrorMsg
echomsg a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
@@ -451,7 +516,7 @@ function! s:SQLCGetSyntaxList(syn_group)
let g:omni_syntax_group_include_sql = syn_group
endif
let g:omni_syntax_group_exclude_sql = ''
let syn_value = OmniSyntaxList()
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
@@ -609,7 +674,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" Search backwards to the beginning of the statement
" and do NOT wrap
" exec 'silent! normal! v?\<\(select\|update\|delete\|;\)\>'."\n".'"yy'
exec 'silent! normal! ?\<\(select\|update\|delete\|;\)\>'."\n"
exec 'silent! normal! ?\<\c\(select\|update\|delete\|;\)\>'."\n"
" Start characterwise visual mode
" Advance right one character
@@ -618,27 +683,38 @@ function! s:SQLCGetColumns(table_name, list_type)
" 2. A ; at the end of a line (the delimiter)
" 3. The end of the file (incase no delimiter)
" Yank the visually selected text into the "y register.
exec 'silent! normal! vl/\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
exec 'silent! normal! vl/\c\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
let query = @y
let query = substitute(query, "\n", ' ', 'g')
let found = 0
" if query =~? '^\(select\|update\|delete\)'
if query =~? '^\(select\)'
" if query =~? '^\c\(select\)'
if query =~? '^\(select\|update\|delete\)'
let found = 1
" \(\(\<\w\+\>\)\.\)\? -
" 'from.\{-}' - Starting at the from clause
" '\c\(from\|join\|,\).\{-}' - Starting at the from clause (case insensitive)
" '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional)
" '\<\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,
" \ '\c\(from\|join\|,\).\{-}'.
" \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'.
" \ '\("\|\[\)\?.\{-}\("\|\]\)\?\ze'.
" \ '\s\+\%(as\s\+\)\?\<'.
" \ matchstr(table_name, '.\{-}\ze\.\?$').
" \ '\>'.
" \ '\s*\.\@!.*'.
" \ '\(\<where\>\|$\)'.
" \ '.*'
" \ )
let table_name_new = matchstr(@y,
\ 'from.\{-}'.
\ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'.
\ '\("\|\[\)\?.\{-}\("\|\]\)\ze'.
\ '\c\(\<from\>\|\<join\>\|,\)\s*'.
\ '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?'.
\ '\("\|\[\)\?\w\+\("\|\]\)\?\ze'.
\ '\s\+\%(as\s\+\)\?\<'.
\ matchstr(table_name, '.\{-}\ze\.\?$').
\ '\>'.
@@ -649,7 +725,7 @@ function! s:SQLCGetColumns(table_name, list_type)
if table_name_new != ''
let table_alias = table_name
let table_name = table_name_new
let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
if list_idx > -1
@@ -717,4 +793,3 @@ function! s:SQLCGetColumns(table_name, list_type)
return table_cols
endfunction

View File

@@ -1,10 +1,35 @@
" Vim completion script
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn.vim@gmail.com>
" Version: 4.0
" Last Change: Fri 26 Oct 2007 05:27:03 PM Eastern Daylight Time
" 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"
" History
"
" Version 7.0
" Updated syntaxcomplete#OmniSyntaxList()
" - Looking up the syntax groups defined from a syntax file
" looked for only 1 format of {filetype}GroupName, but some
" syntax writers use this format as well:
" {b:current_syntax}GroupName
" OmniSyntaxList() will now check for both if the first
" method does not find a match.
"
" Version 6.0
" 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
" sqlcomplete plugin to populate a Choose box.
"
" Version 5.0
" 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.
@@ -19,7 +44,7 @@ endif
if exists('g:loaded_syntax_completion')
finish
endif
let g:loaded_syntax_completion = 40
let g:loaded_syntax_completion = 70
" Set ignorecase to the ftplugin standard
" This is the default setting, but if you define a buffer local
@@ -123,7 +148,30 @@ function! syntaxcomplete#Complete(findstart, base)
return compl_list
endfunc
function! OmniSyntaxList()
function! syntaxcomplete#OmniSyntaxList(...)
if a:0 > 0
let parms = []
if 3 == type(a:1)
let parms = a:1
elseif 1 == type(a:1)
let parms = split(a:1, ',')
endif
return OmniSyntaxList( parms )
else
return OmniSyntaxList()
endif
endfunc
function! OmniSyntaxList(...)
let list_parms = []
if a:0 > 0
if 3 == type(a:1)
let list_parms = a:1
elseif 1 == type(a:1)
let list_parms = split(a:1, ',')
endif
endif
" Default to returning a dictionary, if use_dictionary is set to 0
" a list will be returned.
" let use_dictionary = 1
@@ -152,16 +200,40 @@ function! OmniSyntaxList()
endif
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')
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},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
else
" A specific list was provided, use it
endif
" Loop through all the syntax groupnames, and build a
" 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
" directory.
" 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 '
silent! exec 'syntax list '.join(list_parms)
redir END
let syntax_full = "\n".@l
@@ -176,31 +248,23 @@ function! OmniSyntaxList()
let filetype = substitute(&filetype, '\.', '_', 'g')
" 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')
if syntax_group_include_{filetype} =~ '\w'
let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
" Default the exclude group to nothing
let syntax_group_exclude_{filetype} = ''
" 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')
if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
let list_exclude_groups = []
if a:0 > 0
" Do nothing since we have specific a specific list of groups
else
" Default the exclude group to nothing
let syntax_group_exclude_{filetype} = ''
" 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')
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},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
endif
@@ -225,47 +289,51 @@ function! OmniSyntaxList()
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
" if syntax_group_include_{&filetype} == ''
" if syntax_group_exclude_{&filetype} != ''
" if '\<'.syntax_group_exclude_{&filetype}.'\>' =~ '\<'.group_name.'\>'
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
" else
" if '\<'.syntax_group_include_{&filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
if syntax_group_exclude_{filetype} != ''
if '\<'.syntax_group_exclude_{filetype}.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endif
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)
" if !empty(extra_syn_list)
" for elem in extra_syn_list
" let item = {'word':elem, 'kind':'t', 'info':group_name}
" let compl_list += [item]
" endfor
" endif
let syn_list = syn_list . extra_syn_list . "\n"
endif
@@ -312,9 +380,13 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \zs - start the match
" .\{-} - everything ...
" \ze - end the match
" \( - start a group or 2 potential matches
" \n\w - at the first newline starting with a character
" \| - 2nd potential match
" \%$ - matches end of the file or string
" \) - end a group
let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w'
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)'
\ )
if syntax_group != ""

View File

@@ -1,7 +1,7 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Dec 28, 2009
" Version: 24
" Date: Aug 09, 2010
" Version: 26
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v24"
let g:loaded_tar= "v26"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -127,7 +127,7 @@ fun! tar#Browse(tarfile)
if &ma != 1
set ma
endif
let w:tarfile= a:tarfile
let b:tarfile= a:tarfile
setlocal noswapfile
setlocal buftype=nofile
@@ -164,6 +164,9 @@ fun! tar#Browse(tarfile)
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
@@ -195,13 +198,13 @@ fun! tar#Browse(tarfile)
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
let &report= repkeep
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
endfun
" ---------------------------------------------------------------------
" TarBrowseSelect: {{{2
fun! s:TarBrowseSelect()
" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">")
" call Dfunc("TarBrowseSelect() b:tarfile<".b:tarfile."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
@@ -221,8 +224,8 @@ fun! s:TarBrowseSelect()
return
endif
" about to make a new window, need to use w:tarfile
let tarfile= w:tarfile
" about to make a new window, need to use b:tarfile
let tarfile= b:tarfile
let curfile= expand("%")
if has("win32") && executable("cygpath")
" assuming cygwin
@@ -265,10 +268,13 @@ fun! tar#Read(fname,mode)
elseif fname =~ '\.lzma$' && executable("lzcat")
let decmp= "|lzcat"
let doro = 1
elseif fname =~ '\.xz$' && executable("xzcat")
let decmp= "|xzcat"
let doro = 1
else
let decmp=""
let doro = 0
if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.zip$\|\.Z$'
if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$'
setlocal bin
endif
endif
@@ -290,6 +296,9 @@ fun! tar#Read(fname,mode)
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
@@ -304,7 +313,7 @@ fun! tar#Read(fname,mode)
setlocal ro
endif
let w:tarfile= a:fname
let b:tarfile= a:fname
exe "file tarfile::".fnameescape(fname)
" cleanup
@@ -312,13 +321,13 @@ fun! tar#Read(fname,mode)
set nomod
let &report= repkeep
" call Dret("tar#Read : w:tarfile<".w:tarfile.">")
" call Dret("tar#Read : b:tarfile<".b:tarfile.">")
endfun
" ---------------------------------------------------------------------
" tar#Write: {{{2
fun! tar#Write(fname)
" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
let repkeep= &report
set report=10
@@ -374,8 +383,8 @@ fun! tar#Write(fname)
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(w:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives
if tarfile =~# '\.bz2'
@@ -387,17 +396,22 @@ fun! tar#Write(fname)
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.lzma'
call system("lzma -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.lzma','','e')
let compress= "lzma -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz'
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.xz'
call system("xz -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.xz','','e')
let compress= "xz -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.lzma'
call system("lzma -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.lzma','','e')
let compress= "lzma -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
endif
" call Decho("tarfile<".tarfile.">")

378
runtime/autoload/tohtml.vim Normal file
View File

@@ -0,0 +1,378 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
"
" Additional contributors:
"
" Original by Bram Moolenaar <Bram@vim.org>
" Diff2HTML() added by Christian Brabandt <cb@256bit.org>
"
" See Mercurial change logs for more!
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo-=C
func! tohtml#Convert2HTML(line1, line2)
let s:settings = tohtml#GetUserSettings()
if !&diff || s:settings.diff_one_file
if a:line2 >= a:line1
let g:html_start_line = a:line1
let g:html_end_line = a:line2
else
let g:html_start_line = a:line2
let g:html_end_line = a:line1
endif
runtime syntax/2html.vim
else
let win_list = []
let buf_list = []
windo | if &diff | call add(win_list, winbufnr(0)) | endif
let s:settings.whole_filler = 1
let g:html_diff_win_num = 0
for window in win_list
exe ":" . bufwinnr(window) . "wincmd w"
let g:html_start_line = 1
let g:html_end_line = line('$')
let g:html_diff_win_num += 1
runtime syntax/2html.vim
call add(buf_list, bufnr('%'))
endfor
unlet g:html_diff_win_num
call tohtml#Diff2HTML(win_list, buf_list)
endif
unlet g:html_start_line
unlet g:html_end_line
unlet s:settings
endfunc
func! tohtml#Diff2HTML(win_list, buf_list)
let xml_line = ""
let tag_close = '>'
let s:old_paste = &paste
set paste
let s:old_magic = &magic
set magic
if s:settings.use_xhtml
if s:settings.encoding != ""
let xml_line = "<?xml version=\"1.0\" encoding=\"" . s:settings.encoding . "\"?>"
else
let xml_line = "<?xml version=\"1.0\"?>"
endif
let tag_close = ' />'
endif
let style = [s:settings.use_xhtml ? "" : '-->']
let body_line = ''
let html = []
if s:settings.use_xhtml
call add(html, xml_line)
endif
if s:settings.use_xhtml
call add(html, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">")
call add(html, '<html xmlns="http://www.w3.org/1999/xhtml">')
elseif s:settings.use_css && !s:settings.no_pre
call add(html, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">")
call add(html, '<html>')
else
call add(html, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"')
call add(html, ' "http://www.w3.org/TR/html4/loose.dtd">')
call add(html, '<html>')
endif
call add(html, '<head>')
" include encoding as close to the top as possible, but only if not already
" contained in XML information (to avoid haggling over content type)
if s:settings.encoding != "" && !s:settings.use_xhtml
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
endif
call add(html, '<title>diff</title>')
call add(html, '<meta name="Generator" content="Vim/'.v:version/100.'.'.v:version%100.'"'.tag_close)
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]'),',').
\ '"'.tag_close)
call add(html, '</head>')
let body_line_num = len(html)
call add(html, '<body>')
call add(html, '<table border="1" width="100%">')
call add(html, '<tr>')
for buf in a:win_list
call add(html, '<th>'.bufname(buf).'</th>')
endfor
call add(html, '</tr><tr>')
let diff_style_start = 0
let insert_index = 0
for buf in a:buf_list
let temp = []
exe bufwinnr(buf) . 'wincmd w'
" If text is folded because of user foldmethod settings, etc. we don't want
" to act on everything in a fold by mistake.
setlocal nofoldenable
" When not using CSS or when using xhtml, the <body> line can be important.
" Assume it will be the same for all buffers and grab it from the first
" buffer. Similarly, need to grab the body end line as well.
if body_line == ''
1
call search('<body')
let body_line = getline('.')
$
call search('</body>', 'b')
let s:body_end_line = getline('.')
endif
" Grab the style information. Some of this will be duplicated...
1
let style_start = search('^<style type="text/css">')
1
let style_end = search('^</style>')
if style_start > 0 && style_end > 0
let buf_styles = getline(style_start + 1, style_end - 1)
for a_style in buf_styles
if index(style, a_style) == -1
if diff_style_start == 0
if a_style =~ '\<Diff\(Change\|Text\|Add\|Delete\)'
let diff_style_start = len(style)-1
endif
endif
call insert(style, a_style, insert_index)
let insert_index += 1
endif
endfor
endif
if diff_style_start != 0
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_
$
?</body>?,$d_
let temp = getline(1,'$')
" 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
if s:settings.use_css
call add(html, '<td valign="top"><div>')
elseif s:settings.use_xhtml
call add(html, '<td nowrap="nowrap" valign="top"><div>')
else
call add(html, '<td nowrap valign="top"><div>')
endif
let html += temp
call add(html, '</div></td>')
" Close this buffer
" TODO: the comment above says we're going to allow saving the file
" later...but here we discard it?
quit!
endfor
let html[body_line_num] = body_line
call add(html, '</tr>')
call add(html, '</table>')
call add(html, s:body_end_line)
call add(html, '</html>')
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
while filereadable(name)
let name = substitute(name, '\d*\.x\?html$', '', '') . i . '.' . fnamemodify(copy(name), ":t:e")
let i += 1
endwhile
exe "topleft new " . name
setlocal modifiable
" just in case some user autocmd creates content in the new buffer, make sure
" it is empty before proceeding
%d
call append(0, html)
if len(style) > 0
1
let style_start = search('^</head>')-1
" 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++)",
\ " {",
\ " var fold;",
\ ' fold = document.getElementById("win"+win_num+objID);',
\ " if(fold.className == 'closed-fold')",
\ " {",
\ " fold.className = 'open-fold';",
\ " }",
\ " else if (fold.className == 'open-fold')",
\ " {",
\ " fold.className = 'closed-fold';",
\ " }",
\ " }",
\ " }",
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif
" 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
" up the full browser window (but not more), and be static in size,
" horizontally scrollable when the lines are too long. Otherwise, the diff
" is pretty useless for really long lines.
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
\ style+
\ [ s:settings.use_xhtml ? '' : '<!--',
\ 'table { table-layout: fixed; }',
\ 'html, body, table, tbody { width: 100%; margin: 0; padding: 0; }',
\ 'th, td { width: '.printf("%.1f",100.0/len(a:win_list)).'%; }',
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
\ '</style>'
\ ])
endif
endif
let &paste = s:old_paste
let &magic = s:old_magic
endfunc
" Gets a single user option and sets it in the passed-in Dict, or gives it the
" default value if the option doesn't actually exist.
func! tohtml#GetOption(settings, option, default)
if exists('g:html_'.a:option)
let a:settings[a:option] = g:html_{a:option}
else
let a:settings[a:option] = a:default
endif
endfunc
" returns a Dict containing the values of all user options for 2html, including
" default values for those not given an explicit value by the user. Discards the
" html_ prefix of the option for nicer looking code.
func! tohtml#GetUserSettings()
if exists('s:settings')
" just restore the known options if we've already retrieved them
return s:settings
else
" otherwise figure out which options are set
let user_settings = {}
" Define the correct option if the old option name exists and we haven't
" already defined the correct one. Maybe I'll put out a warnig message about
" this sometime and remove the old option entirely at some even later time,
" but for now just silently accept the old option.
if exists('g:use_xhtml') && !exists("g:html_use_xhtml")
let g:html_use_xhtml = g:use_xhtml
endif
" get current option settings with appropriate defaults
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'use_css', 1 )
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, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" override those settings that need it
" hover opening implies dynamic folding
if user_settings.hover_unfold
let user_settings.dynamic_folds = 1
endif
" ignore folding overrides dynamic folding
if user_settings.ignore_folding && user_settings.dynamic_folds
let user_settings.dynamic_folds = 0
let user_settings.hover_unfold = 0
endif
" dynamic folding with no foldcolumn implies hover opens
if user_settings.dynamic_folds && user_settings.no_foldcolumn
let user_settings.hover_unfold = 1
endif
" dynamic folding implies css
if user_settings.dynamic_folds
let user_settings.use_css = 1
endif
" if we're not using CSS we cannot use a pre section because <font> tags
" aren't allowed inside a <pre> block
if !user_settings.use_css
let user_settings.no_pre = 1
endif
" Figure out proper MIME charset from the 'encoding' option.
if exists("g:html_use_encoding")
let user_settings.encoding = g:html_use_encoding
else
let vim_encoding = &encoding
if vim_encoding =~ '^8bit\|^2byte'
let vim_encoding = substitute(vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if vim_encoding == 'latin1'
let user_settings.encoding = 'iso-8859-1'
elseif vim_encoding =~ "^cp12"
let user_settings.encoding = substitute(vim_encoding, 'cp', 'windows-', '')
elseif vim_encoding == 'sjis' || vim_encoding == 'cp932'
let user_settings.encoding = 'Shift_JIS'
elseif vim_encoding == 'big5' || vim_encoding == 'cp950'
let user_settings.encoding = "Big5"
elseif vim_encoding == 'euc-cn'
let user_settings.encoding = 'GB_2312-80'
elseif vim_encoding == 'euc-tw'
let user_settings.encoding = ""
elseif vim_encoding =~ '^euc\|^iso\|^koi'
let user_settings.encoding = substitute(vim_encoding, '.*', '\U\0', '')
elseif vim_encoding == 'cp949'
let user_settings.encoding = 'KS_C_5601-1987'
elseif vim_encoding == 'cp936'
let user_settings.encoding = 'GBK'
elseif vim_encoding =~ '^ucs\|^utf'
let user_settings.encoding = 'UTF-8'
else
let user_settings.encoding = ""
endif
endif
" TODO: font
return user_settings
endif
endfunc
let &cpo = s:cpo_sav
unlet s:cpo_sav
" Make sure any patches will probably use consistent indent
" vim: ts=8 sw=2 sts=2 noet

View File

@@ -1,7 +1,7 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Dec 28, 2009
" Version: 30
" Date: Apr 12, 2010
" Version: 31
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2009 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 = "v30"
let g:loaded_vimball = "v31"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"

View File

@@ -1,7 +1,7 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Jul 30, 2008
" Version: 22
" Date: Apr 12, 2010
" Version: 23
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
@@ -16,13 +16,19 @@
" ---------------------------------------------------------------------
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if &cp || exists("g:loaded_zip") || v:version < 700
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v23"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_zip = "v22"
let s:zipfile_escape = ' ?&;\'
let s:ERROR = 2
let s:WARNING = 1

View File

@@ -0,0 +1,29 @@
" Vim compiler file
" Compiler: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Aug 09
if exists("current_compiler")
finish
endif
let current_compiler = "cucumber"
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=cucumber
CompilerSet errorformat=
\%W%m\ (Cucumber::Undefined),
\%E%m\ (%.%#),
\%Z%f:%l,
\%Z%f:%l:%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set sw=2 sts=2:

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: eRuby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id: eruby.vim,v 1.7 2008/06/29 04:18:42 tpope Exp $
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2009-05-01
" Latest Revision: 2010-10-14
if exists("current_compiler")
finish
@@ -18,7 +18,11 @@ CompilerSet errorformat=
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:%c:\ %trror:\ %m,
\%f:%l:%c:\ %tarning:\ %m,
\%f:%l:%c:\ %m,
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',

View File

@@ -1,6 +1,6 @@
" Vim Compiler File
" Compiler: Perl syntax checks (perl -Wc)
" Maintainer: Christian J. Robinson <infynity@onewest.net>
" Maintainer: Christian J. Robinson <heptite@gmail.com>
" Last Change: 2006 Aug 13
if exists("current_compiler")

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: RSpec
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Info: $Id: rspec.vim,v 1.2 2008/06/29 04:18:42 tpope Exp $
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 22
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -2,7 +2,7 @@
" Language: Ruby
" Function: Syntax check and/or error reporting
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
" Info: $Id: ruby.vim,v 1.13 2008/06/29 04:18:43 tpope Exp $
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -1,7 +1,7 @@
" Vim compiler file
" Language: Test::Unit - Ruby Unit Testing Framework
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id: rubyunit.vim,v 1.12 2008/06/29 04:18:43 tpope Exp $
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>

View File

@@ -37,8 +37,10 @@ DOCS = \
hangulin.txt \
hebrew.txt \
help.txt \
helphelp.txt \
howto.txt \
if_cscop.txt \
if_lua.txt \
if_mzsch.txt \
if_ole.txt \
if_perl.txt \
@@ -167,8 +169,10 @@ HTMLS = \
gui_x11.html \
hangulin.html \
hebrew.html \
helphelp.html \
howto.html \
if_cscop.html \
if_lua.html \
if_mzsch.html \
if_ole.html \
if_perl.html \
@@ -336,12 +340,14 @@ uganda.nsis.txt: uganda.txt
uganda.txt | uniq >uganda.nsis.txt
# Awk version of .txt to .html conversion.
html: noerrors tags tags.ref $(HTMLS)
html: noerrors tags $(HTMLS)
@if test -f errors.log; then more errors.log; fi
noerrors:
-rm -f errors.log
$(HTMLS): tags.ref
.txt.html:
$(AWK) -f makehtml.awk $< >$@

View File

@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.2. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -275,7 +275,7 @@ o Keyboard
+ CTRL-^ in insert/replace mode toggles between Arabic/Latin mode
+ Keyboard mapping is based on the Microsoft's Arabic keymap (the
defacto standard in the Arab world):
de facto standard in the Arab world):
+---------------------------------------------------------------------+
|! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ |

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.2. Last change: 2009 Nov 25
*autocmd.txt* For Vim version 7.3. Last change: 2010 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -401,6 +401,8 @@ BufUnload Before unloading a buffer. This is when the
buffer being unloaded "<afile>".
Don't change to another buffer, it will cause
problems.
When exiting and v:dying is 2 or more this
event is not triggered.
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
@@ -422,6 +424,8 @@ BufWinLeave Before a buffer is removed from a window.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
When exiting and v:dying is 2 or more this
event is not triggered.
*BufWipeout*
BufWipeout Before completely deleting a buffer. The
BufUnload and BufDelete events may be called
@@ -678,10 +682,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|). The pattern is
matched against the command being run. When
|:grep| is used but 'grepprg' is set to
"internal" it still matches "grep".
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
The pattern is matched against the command
being run. When |:grep| is used but 'grepprg'
is set to "internal" it still matches "grep".
This command cannot be used to set the
'makeprg' and 'grepprg' variables.
If this command causes an error, the quickfix
@@ -799,6 +803,8 @@ VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
To detect an abnormal exit use |v:dying|.
When v:dying is 2 or more this event is not
triggered.
*VimLeavePre*
VimLeavePre Before exiting Vim, just before writing the
.viminfo file. This is executed only once,
@@ -807,6 +813,8 @@ VimLeavePre Before exiting Vim, just before writing the
Mostly useful with a "*" pattern. >
:autocmd VimLeavePre * call CleanupStuff()
< To detect an abnormal exit use |v:dying|.
When v:dying is 2 or more this event is not
triggered.
*VimResized*
VimResized After the Vim window was resized, thus 'lines'
and/or 'columns' changed. Not when starting
@@ -1272,7 +1280,7 @@ and "++ff=" argument that are effective. These should be used for the command
that reads/writes the file. The |v:cmdbang| variable is one when "!" was
used, zero otherwise.
See the $VIMRUNTIME/plugin/netrw.vim for examples.
See the $VIMRUNTIME/plugin/netrwPlugin.vim for examples.
==============================================================================
11. Disabling autocommands *autocmd-disable*

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.2. Last change: 2009 Nov 11
*change.txt* For Vim version 7.3. Last change: 2010 Jul 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -159,7 +159,7 @@ gR Enter Virtual Replace mode: Each character you type
<Tab> may replace several characters at once.
Repeat the entered text [count]-1 times. See
|Virtual-Replace-mode| for more details.
{not available when compiled without the +vreplace
{not available when compiled without the |+vreplace|
feature}
*c*
@@ -279,7 +279,7 @@ gr{char} Replace the virtual characters under the cursor with
space. See |gR| and |Virtual-Replace-mode| for more
details. As with |r| a count may be given.
{char} can be entered like with |r|.
{not available when compiled without the +vreplace
{not available when compiled without the |+vreplace|
feature}
*digraph-arg*
@@ -585,7 +585,7 @@ For other systems the tmpnam() library function is used.
":&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
the flags.
@@ -622,9 +622,9 @@ The flags that you can use for the substitute commands:
'a' to substitute this and all remaining matches {not in Vi}
'q' to quit substituting {not in Vi}
CTRL-E to scroll the screen up {not in Vi, not available when
compiled without the +insert_expand feature}
compiled without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not in Vi, not available when
compiled without the +insert_expand feature}
compiled without the |+insert_expand| feature}
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
@@ -1139,7 +1139,7 @@ characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
7. Selection and drop registers "*, "+ and "~
Use these register for storing and retrieving the selected text for the GUI.
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
@@ -1245,7 +1245,8 @@ gq{motion} Format the lines that {motion} moves over.
:nnoremap Q gq
gqgq *gqgq* *gqq*
gqq Format the current line. {not in Vi}
gqq Format the current line. With a count format that
many lines. {not in Vi}
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.2. Last change: 2009 Oct 25
*cmdline.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -182,7 +182,7 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
the word that was already typed is not inserted again.
{not in Vi}
CTRL-F and CTRL-P: {only when +file_in_path feature is
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
@@ -416,11 +416,15 @@ CTRL-L A match is done on the pattern in front of the cursor. If
than the pattern, no completion is done.
When 'incsearch' is set, entering a search pattern for "/" or
"?" and the current match is displayed then CTRL-L will add
one character from the end of the current match.
one character from the end of the current match. If
'ignorecase' and 'smartcase' are set and the command line has
no uppercase characters, the added character is converted to
lowercase.
The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted. '*' matches any string, '?' matches exactly one character.
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
@@ -522,6 +526,7 @@ followed by another Vim command:
:registers
:read !
:scscope
:sign
:tcl
:tcldo
:tclfile
@@ -750,7 +755,7 @@ function expand() |expand()|.
#<n (where n is a number > 0) is replaced with old *:_#<* *c_#<*
file name n. See |:oldfiles| or |v:oldfiles| to get the
number. *E809*
{only when compiled with the +eval and +viminfo features}
{only when compiled with the |+eval| and |+viminfo| features}
Note that these, except "#<n", give the file name as it was typed. If an
absolute path is needed (when using the file name from a different directory),
@@ -804,6 +809,7 @@ Note: these are typed literally, they are not special keys!
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
@@ -1027,7 +1033,7 @@ VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the +vertsplit feature
- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax

View File

@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.2. Last change: 2009 Jul 22
*debug.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -22,7 +22,8 @@ compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
which you can uncomment).
which you can uncomment). Also make sure "strip" is disabled (do not
install it, or use the line "STRIP = /bin/true").
2. Execute these commands (replace "11" with the test that fails): >
cd testdir
@@ -39,7 +40,7 @@ This also applies when using the MingW tools.
==============================================================================
2. Locating memory leaks *debug-leaks*
2. Locating memory leaks *debug-leaks* *valgrind*
If you suspect Vim is leaking memory and you are using Linux, the valgrind
tool is very useful to pinpoint memory leaks.
@@ -47,14 +48,18 @@ tool is very useful to pinpoint memory leaks.
First of all, build Vim with EXITFREE defined. Search for this in MAKEFILE
and uncomment the line.
Use this command to start Vim: *valgrind*
Use this command to start Vim:
>
valgrind --log-file=valgrind.log ./vim
valgrind --log-file=valgrind.log --leak-check=full ./vim
Note: Vim will run much slower. If your .vimrc is big or you have several
plugins you need to be patient for startup, or run with the "-u NONE"
argument.
There are often a few leaks from libraries, such as getpwuid() and
XtVaAppCreateShell(). Those are unavoidable. The number of bytes should be
very small a Kbyte or less.
==============================================================================
3. Windows Bug Reporting *debug-win32*
@@ -63,7 +68,7 @@ If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.
GENERIC ~
3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
@@ -85,7 +90,7 @@ a Vim executable compiled with the Borland compiler; gdb (see above
*debug-vs2005*
2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
@@ -119,7 +124,7 @@ installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
2.3 Debugging Vim crashes with WinDbg ~
3.3 Debugging Vim crashes with WinDbg ~
See |get-ms-debuggers| to obtain a copy of WinDbg.
@@ -145,7 +150,7 @@ To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
<
*debug-minidump*
2.4 Opening a Minidump ~
3.4 Opening a Minidump ~
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
@@ -157,7 +162,7 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
2.5 Obtaining Microsoft Debugging Tools ~
3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx

View File

@@ -1,4 +1,4 @@
*debugger.txt* For Vim version 7.2. Last change: 2005 Mar 29
*debugger.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.2. Last change: 2008 Dec 17
*develop.txt* For Vim version 7.3. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,11 +1,11 @@
*diff.txt* For Vim version 7.2. Last change: 2009 Sep 15
*diff.txt* For Vim version 7.3. Last change: 2010 Sep 30
VIM REFERENCE MANUAL by Bram Moolenaar
*diff* *vimdiff* *gvimdiff* *diff-mode*
This file describes the +diff feature: Showing differences between two,
This file describes the |+diff| feature: Showing differences between two,
three or four versions of the same file.
The basics are explained in section |08.7| of the user manual.
@@ -57,6 +57,7 @@ In each of the edited files these options are set:
'diff' on
'scrollbind' on
'cursorbind' on
'scrollopt' includes "hor"
'wrap' off
'foldmethod' "diff"
@@ -133,6 +134,7 @@ the old values are not remembered.
'diff' off
'scrollbind' off
'cursorbind' off
'scrollopt' without "hor"
'wrap' on
'foldmethod' "manual"
@@ -259,10 +261,12 @@ that the buffers will be equal within the specified range.
*do*
do Same as ":diffget" without argument or range. The "o" stands
for "obtain" ("dg" can't be used, it could be the start of
"dgg"!).
"dgg"!). Note: this doesn't work in Visual mode.
*dp*
dp Same as ":diffput" without argument or range.
Note: this doesn't work in Visual mode.
When no [range] is given, the diff at the cursor position or just above it is
affected. When [range] is used, Vim tries to only put or get the specified

View File

@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 7.2. Last change: 2008 Aug 06
*digraph.txt* For Vim version 7.3. Last change: 2010 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -57,8 +57,8 @@ conversion to be available, it might fail. For the NUL character you will see
"10". That's because NUL characters are internally represented with a NL
character. When you write the file it will become a NUL character.
When Vim was compiled without the +multi_byte feature, you need to specify the
character in the encoding given with 'encoding'. You might want to use
When Vim was compiled without the |+multi_byte| feature, you need to specify
the character in the encoding given with 'encoding'. You might want to use
something like this: >
if has("multi_byte")

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.2. Last change: 2009 Jun 10
*editing.txt* For Vim version 7.3. Last change: 2010 Sep 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -782,7 +782,7 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
{not available when compiled without the |+windows| or |+listcmds| feature}
{not available when compiled without the |+windows| or |+listcmds| features}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
@@ -1171,14 +1171,21 @@ If you want to always use ":confirm", set the 'confirm' option.
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
:bro[wse] {command} Open a file selection dialog for an argument to
{command}. At present this works for |:e|, |:w|,
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc|,
|:mksession|, |:split|, |:vsplit|, and |:tabe|.
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
|:view|, |:sview|, |:r|, |:saveas|, |:sp|, |:mkexrc|,
|:mkvimrc|, |:mksession|, |:mkview|, |:split|,
|:vsplit|, |:tabe|, |:tabnew|, |:cfile|, |:cgetfile|,
|:caddfile|, |:lfile|, |:lgetfile|, |:laddfile|,
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
and |:qall| if 'confirm' is set.
{only in Win32, Athena, Motif, GTK and Mac GUI}
When ":browse" is not possible you get an error
message. If the |+browse| feature is missing or the
{command} doesn't support browsing, the {command} is
executed without a dialog.
":browse set" works like |:options|.
See also |:oldfiles| for ":browse oldfiles".
The syntax is best shown via some examples: >
:browse e $vim/foo
@@ -1331,11 +1338,14 @@ There are a few things to remember when editing binary files:
Vim is able to write files encrypted, and read them back. The encrypted text
cannot be read without the right key.
{only available when compiled with the |+cryptv| feature} *E833*
Note: The swapfile and text in memory is not encrypted. A system
administrator will be able to see your text while you are editing it.
When filtering text with ":!filter" or using ":w !command" the text is not
encrypted, this may reveal it to others.
The text in the swap file and the undo file is also encrypted.
Note: The text in memory is not encrypted. A system administrator may be able
to see your text while you are editing it. When filtering text with
":!filter" or using ":w !command" the text is not encrypted, this may reveal
it to others. The 'viminfo' file is not encrypted.
WARNING: If you make a typo when entering the key and then write the file and
exit, the text will be lost!
@@ -1361,10 +1371,36 @@ the file is encrypted.
To disable the encryption, reset the 'key' option to an empty value: >
:set key=
When reading a file that has been encrypted and this option is not empty, it
will be used for decryption. If the value is empty, you will be prompted to
enter the key. If you don't enter a key, the file is edited without being
decrypted.
You can use the 'cryptmethod' option to select the type of encryption, use one
of these two: >
:setlocal cm=zip " weak method, backwards compatible
:setlocal cm=blowfish " strong method
Do this before writing the file. When reading an encrypted file it will be
set automatically to the method used when that file was written. You can
change 'cryptmethod' before writing that file to change the method.
To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
*E817* *E818* *E819* *E820*
When encryption does not work properly, you would be able to write your text
to a file and never be able to read it back. Therefore a test is performed to
check if the encryption works as expected. If you get one of these errors
don't write the file encrypted! You need to rebuild the Vim binary to fix
this.
*E831* This is an internal error, "cannot happen". If you can reproduce it,
please report to the developers.
When reading a file that has been encrypted and the 'key' option is not empty,
it will be used for decryption. If the value is empty, you will be prompted
to enter the key. If you don't enter a key, or you enter the wrong key, the
file is edited without being decrypted. There is no warning about using the
wrong key (this makes brute force methods to find the key more difficult).
If want to start reading a file that uses a different key, set the 'key'
option to an empty string, so that Vim will prompt for a new one. Don't use
@@ -1374,10 +1410,13 @@ your shoulder.
Since the value of the 'key' option is supposed to be a secret, its value can
never be viewed. You should not set this option in a vimrc file.
An encrypted file can be recognized by the "file" command, if you add this
line to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
An encrypted file can be recognized by the "file" command, if you add these
lines to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
"magic" file: >
0 string VimCrypt~ Vim encrypted file
>9 string 01 - "zip" cryptmethod
>9 string 02 - "blowfish" cryptmethod
Notes:
- Encryption is not possible when doing conversion with 'charconvert'.
@@ -1392,13 +1431,15 @@ Notes:
history, showing the 'key' value in a viminfo file.
- There is never 100% safety. The encryption in Vim has not been tested for
robustness.
- The algorithm used is breakable. A 4 character key in about one hour, a 6
character key in one day (on a Pentium 133 PC). This requires that you know
some text that must appear in the file. An expert can break it for any key.
When the text has been decrypted, this also means that the key can be
revealed, and other files encrypted with the same key can be decrypted.
- Pkzip uses the same encryption, and US Govt has no objection to its export.
Pkzip's public file APPNOTE.TXT describes this algorithm in detail.
- The algorithm used for 'cryptmethod' "zip" is breakable. A 4 character key
in about one hour, a 6 character key in one day (on a Pentium 133 PC). This
requires that you know some text that must appear in the file. An expert
can break it for any key. When the text has been decrypted, this also means
that the key can be revealed, and other files encrypted with the same key
can be decrypted.
- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
objection to its export. Pkzip's public file APPNOTE.TXT describes this
algorithm in detail.
- Vim originates from the Netherlands. That is where the sources come from.
Thus the encryption code is not exported from the USA.
@@ -1583,10 +1624,13 @@ There are three different types of searching:
In the above example you might want to set path to: >
:set path=**,/u/user_x/**
< This searches: >
/u/user_x/work/release/**
/u/user_x/**
< This searches the same directories, but in a different order.
< This searches:
/u/user_x/work/release/** ~
/u/user_x/** ~
This searches the same directories, but in a different order.
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. >
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.2. Last change: 2010 Jan 05
*eval.txt* For Vim version 7.3. Last change: 2010 Oct 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -63,21 +63,21 @@ The Number and String types are converted automatically, depending on how they
are used.
Conversion from a Number to a String is by making the ASCII representation of
the Number. Examples: >
Number 123 --> String "123"
Number 0 --> String "0"
Number -1 --> String "-1"
the Number. Examples:
Number 123 --> String "123" ~
Number 0 --> String "0" ~
Number -1 --> String "-1" ~
*octal*
Conversion from a String to a Number is done by converting the first digits
to a number. Hexadecimal "0xf9" and Octal "017" numbers are recognized. If
the String doesn't start with digits, the result is zero. Examples: >
String "456" --> Number 456
String "6bar" --> Number 6
String "foo" --> Number 0
String "0xf1" --> Number 241
String "0100" --> Number 64
String "-8" --> Number -8
String "+8" --> Number 0
the String doesn't start with digits, the result is zero. Examples:
String "456" --> Number 456 ~
String "6bar" --> Number 6 ~
String "foo" --> Number 0 ~
String "0xf1" --> Number 241 ~
String "0100" --> Number 64 ~
String "-8" --> Number -8 ~
String "+8" --> Number 0 ~
To force conversion from String to Number, add zero to it: >
:echo "0100" + 0
@@ -535,6 +535,10 @@ remaining that refers to it.
It is not necessary to use the "dict" attribute for a numbered function.
If you get an error for a numbered function, you can find out what it is with
a trick. Assuming the function is 42, the command is: >
:function {42}
Functions for Dictionaries ~
*E715*
@@ -1020,7 +1024,9 @@ A string constant accepts these special characters:
\t tab <Tab>
\\ backslash
\" double quote
\<xxx> Special key named "xxx". e.g. "\<C-W>" for CTRL-W.
\<xxx> Special key named "xxx". e.g. "\<C-W>" for CTRL-W. This is for use
in mappings, the 0x80 byte is escaped. Don't use <Char-xxxx> to get a
utf-8 character, use \uxxxx as mentioned above.
Note that "\xff" is stored as the byte 255, which may be invalid in some
encodings. Use "\u00ff" to store character 255 according to the current value
@@ -1109,8 +1115,8 @@ See below |functions|.
==============================================================================
3. Internal variable *internal-variables* *E121*
*E461*
3. Internal variable *internal-variables* *E461*
An internal variable name can be made up of letters, digits and '_'. But it
cannot start with a digit. It's also possible to use curly braces, see
|curly-braces-names|.
@@ -1164,7 +1170,7 @@ is deleted when the window is closed.
*tabpage-variable* *t:var*
A variable name that is preceded with "t:" is local to the current tab page,
It is deleted when the tab page is closed. {not available when compiled
without the +windows feature}
without the |+windows| feature}
*global-variable* *g:var*
Inside functions global variables are accessed with "g:". Omitting this will
@@ -1284,7 +1290,7 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed
character when using <expr> in an abbreviation |map-<expr>|.
character when using <expr> in an abbreviation |:map-<expr>|.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -1346,7 +1352,9 @@ v:dying Normally zero. When a deadly signal is caught it's set to
terminate normally. {only works on Unix}
Example: >
:au VimLeave * if v:dying | echo "\nAAAAaaaarrrggghhhh!!!\n" | endif
<
< Note: if another deadly signal is caught when v:dying is one,
VimLeave autocommands will not be executed.
*v:errmsg* *errmsg-variable*
v:errmsg Last given error message. It's allowed to set this variable.
Example: >
@@ -1470,10 +1478,11 @@ v:lc_time The current locale setting for time messages of the runtime
command. See |multi-lang|.
*v:lnum* *lnum-variable*
v:lnum Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
expressions, tab page number for 'guitablabel' and
'guitabtooltip'. Only valid while one of these expressions is
being evaluated. Read-only when in the |sandbox|.
v:lnum Line number for the 'foldexpr' |fold-expr|, 'formatexpr' and
'indentexpr' expressions, tab page number for 'guitablabel'
and 'guitabtooltip'. Only valid while one of these
expressions is being evaluated. Read-only when in the
|sandbox|.
*v:mouse_win* *mouse_win-variable*
v:mouse_win Window number for a mouse click obtained with |getchar()|.
@@ -1499,7 +1508,7 @@ v:oldfiles List of file names that is loaded from the |viminfo| file on
The List can be modified, but this has no effect on what is
stored in the |viminfo| file later. If you use values other
than String this will cause trouble.
{only when compiled with the +viminfo feature}
{only when compiled with the |+viminfo| feature}
*v:operator* *operator-variable*
v:operator The last operator given in Normal mode. This is a single
@@ -1648,6 +1657,11 @@ v:version Version number of Vim: Major version number times 100 plus
*v:warningmsg* *warningmsg-variable*
v:warningmsg Last given warning message. It's allowed to set this variable.
*v:windowid* *windowid-variable*
v:windowid When any X11 based GUI is running or when running in a
terminal and Vim connects to the X server (|-X|) this will be
set to the window ID. Otherwise the value is zero.
==============================================================================
4. Builtin Functions *functions*
@@ -1658,6 +1672,7 @@ See |function-list| for a list grouped by what the function is used for.
USAGE RESULT DESCRIPTION ~
abs( {expr}) Float or Number absolute value of {expr}
acos( {expr}) Float arc cosine of {expr}
add( {list}, {item}) List append {item} to |List| {list}
append( {lnum}, {string}) Number append {string} below line {lnum}
append( {lnum}, {list}) Number append lines {list} below line {lnum}
@@ -1665,7 +1680,9 @@ argc() Number number of files in the argument list
argidx() Number current index in the argument list
argv( {nr}) String {nr} entry of the argument list
argv( ) List the argument list
asin( {expr}) Float arc sine of {expr}
atan( {expr}) Float arc tangent of {expr}
atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2}
browse( {save}, {title}, {initdir}, {default})
String put up a file requester
browsedir( {title}, {initdir}) String put up a directory requester
@@ -1692,6 +1709,7 @@ confirm( {msg} [, {choices} [, {default} [, {type}]]])
Number number of choice picked by user
copy( {expr}) any make a shallow copy of {expr}
cos( {expr}) Float cosine of {expr}
cosh( {expr}) Float hyperbolic cosine of {expr}
count( {list}, {expr} [, {start} [, {ic}]])
Number count how many {expr} are in {list}
cscope_connection( [{num} , {dbpath} [, {prepend}]])
@@ -1712,6 +1730,7 @@ executable( {expr}) Number 1 if executable {expr} exists
exists( {expr}) Number TRUE if {expr} exists
extend( {expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
exp( {expr}) Float exponential of {expr}
expand( {expr} [, {flag}]) String expand special keywords in {expr}
feedkeys( {string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable( {file}) Number TRUE if {file} is a readable file
@@ -1724,6 +1743,7 @@ findfile( {name}[, {path}[, {count}]])
String find file {name} in {path}
float2nr( {expr}) Number convert Float {expr} to a Number
floor( {expr}) Float round {expr} down
fmod( {expr1}, {expr2}) Float remainder of {expr1} / {expr2}
fnameescape( {fname}) String escape special characters in {fname}
fnamemodify( {fname}, {mods}) String modify file name
foldclosed( {lnum}) Number first line of fold at {lnum} if closed
@@ -1759,6 +1779,7 @@ getpos( {expr}) List position of cursor, mark, etc.
getqflist() List list of quickfix items
getreg( [{regname} [, 1]]) String contents of register
getregtype( [{regname}]) String type of register
gettabvar( {nr}, {varname}) any variable {varname} in tab {nr}
gettabwinvar( {tabnr}, {winnr}, {name})
any {name} in {winnr} in tab page {tabnr}
getwinposx() Number X coord in pixels of GUI Vim window
@@ -1803,9 +1824,10 @@ line( {expr}) Number line nr of cursor, last line or mark
line2byte( {lnum}) Number byte count of line {lnum}
lispindent( {lnum}) Number Lisp indent for line {lnum}
localtime() Number current time
log( {expr}) Float natural logarithm (base e) of {expr}
log10( {expr}) Float logarithm of Float {expr} to base 10
map( {expr}, {string}) List/Dict change each item in {expr} to {expr}
maparg( {name}[, {mode} [, {abbr}]])
maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
String rhs of mapping {name} in mode {mode}
mapcheck( {name}[, {mode} [, {abbr}]])
String check for mappings matching {name}
@@ -1877,6 +1899,7 @@ setmatches( {list}) Number restore a list of matches
setpos( {expr}, {list}) Number set the {expr} position to {list}
setqflist( {list}[, {action}]) Number modify quickfix list using {list}
setreg( {n}, {v}[, {opt}]) Number set register to value and type
settabvar( {nr}, {varname}, {val}) set {varname} in tab page {nr} to {val}
settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
{winnr} in tab page {tabnr} to {val}
setwinvar( {nr}, {varname}, {val}) set {varname} in window {nr} to {val}
@@ -1885,6 +1908,7 @@ shellescape( {string} [, {special}])
command argument
simplify( {filename}) String simplify filename as much as possible
sin( {expr}) Float sine of {expr}
sinh( {expr}) Float hyperbolic sine of {expr}
sort( {list} [, {func}]) List sort {list}, using {func} to compare
soundfold( {word}) String sound-fold {word}
spellbadword() String badly spelled word at cursor
@@ -1895,6 +1919,8 @@ split( {expr} [, {pat} [, {keepempty}]])
sqrt( {expr} Float squar root of {expr}
str2float( {expr}) Float convert String to Float
str2nr( {expr} [, {base}]) Number convert String to Number
strchars( {expr}) Number character length of the String {expr}
strdisplaywidth( {expr} [, {col}]) Number display length of the String {expr}
strftime( {format}[, {time}]) String time in specified format
stridx( {haystack}, {needle}[, {start}])
Number index of {needle} in {haystack}
@@ -1905,6 +1931,7 @@ strpart( {src}, {start}[, {len}])
strridx( {haystack}, {needle} [, {start}])
Number last index of {needle} in {haystack}
strtrans( {expr}) String translate string to make it printable
strwidth( {expr}) Number display cell length of the String {expr}
submatch( {nr}) String specific match in ":substitute"
substitute( {expr}, {pat}, {sub}, {flags})
String all {pat} in {expr} replaced with {sub}
@@ -1912,6 +1939,7 @@ synID( {lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
synIDattr( {synID}, {what} [, {mode}])
String attribute {what} of syntax ID {synID}
synIDtrans( {synID}) Number translated syntax ID of {synID}
synconcealed( {lnum}, {col}) List info about concealing
synstack( {lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
system( {expr} [, {input}]) String output of shell command/filter {expr}
tabpagebuflist( [{arg}]) List list of buffer numbers in tab page
@@ -1921,12 +1949,16 @@ tabpagewinnr( {tabarg}[, {arg}])
taglist( {expr}) List list of tags matching {expr}
tagfiles() List tags files used
tempname() String name for a temporary file
tan( {expr}) Float tangent of {expr}
tanh( {expr}) Float hyperbolic tangent of {expr}
tolower( {expr}) String the String {expr} switched to lowercase
toupper( {expr}) String the String {expr} switched to uppercase
tr( {src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
to chars in {tostr}
trunc( {expr} Float truncate Float {expr}
type( {name}) Number type of variable {name}
undofile( {name}) String undo file name for {name}
undotree() List undo file tree
values( {dict}) List values in {dict}
virtcol( {expr}) Number screen column of cursor or mark
visualmode( [expr]) String last visual mode used
@@ -1956,6 +1988,20 @@ abs({expr}) *abs()*
< 4
{only available when compiled with the |+float| feature}
acos({expr}) *acos()*
Return the arc cosine of {expr} measured in radians, as a
|Float| in the range of [0, pi].
{expr} must evaluate to a |Float| or a |Number| in the range
[-1, 1].
Examples: >
:echo acos(0)
< 1.570796 >
:echo acos(-0.5)
< 2.094395
{only available when compiled with the |+float| feature}
add({list}, {expr}) *add()*
Append the item {expr} to |List| {list}. Returns the
resulting |List|. Examples: >
@@ -1998,6 +2044,19 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the
< Without the {nr} argument a |List| with the whole |arglist| is
returned.
asin({expr}) *asin()*
Return the arc sine of {expr} measured in radians, as a |Float|
in the range of [-pi/2, pi/2].
{expr} must evaluate to a |Float| or a |Number| in the range
[-1, 1].
Examples: >
:echo asin(0.8)
< 0.927295 >
:echo asin(-0.5)
< -0.523599
{only available when compiled with the |+float| feature}
atan({expr}) *atan()*
Return the principal value of the arc tangent of {expr}, in
the range [-pi/2, +pi/2] radians, as a |Float|.
@@ -2009,6 +2068,19 @@ atan({expr}) *atan()*
< -1.326405
{only available when compiled with the |+float| feature}
atan2({expr1}, {expr2}) *atan2()*
Return the arc tangent of {expr1} / {expr2}, measured in
radians, as a |Float| in the range [-pi, pi].
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
Examples: >
:echo atan2(-1, 1)
< -0.785398 >
:echo atan2(1, -1)
< 2.356194
{only available when compiled with the |+float| feature}
*browse()*
browse({save}, {title}, {initdir}, {default})
Put up a file requester. This only works when "has("browse")"
@@ -2292,11 +2364,13 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
choice this is 1.
Note: confirm() is only supported when compiled with dialog
support, see |+dialog_con| and |+dialog_gui|.
{msg} is displayed in a |dialog| with {choices} as the
alternatives. When {choices} is missing or empty, "&OK" is
used (and translated).
{msg} is a String, use '\n' to include a newline. Only on
some systems the string is wrapped when it doesn't fit.
{choices} is a String, with the individual choices separated
by '\n', e.g. >
confirm("Save changes?", "&Yes\n&No\n&Cancel")
@@ -2306,15 +2380,18 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
confirm("file has been modified", "&Save\nSave &All")
< For the console, the first letter of each choice is used as
the default shortcut key.
The optional {default} argument is the number of the choice
that is made if the user hits <CR>. Use 1 to make the first
choice the default one. Use 0 to not set a default. If
{default} is omitted, 1 is used.
The optional {type} argument gives the type of dialog. This
is only used for the icon of the Win32 GUI. It can be one of
these values: "Error", "Question", "Info", "Warning" or
"Generic". Only the first character is relevant. When {type}
is omitted, "Generic" is used.
The optional {type} argument gives the type of dialog. This
is only used for the icon of the GTK, Mac, Motif and Win32
GUI. It can be one of these values: "Error", "Question",
"Info", "Warning" or "Generic". Only the first character is
relevant. When {type} is omitted, "Generic" is used.
If the user aborts the dialog by pressing <Esc>, CTRL-C,
or another valid interrupt key, confirm() returns 0.
@@ -2353,6 +2430,18 @@ cos({expr}) *cos()*
< -0.646043
{only available when compiled with the |+float| feature}
cosh({expr}) *cosh()*
Return the hyperbolic cosine of {expr} as a |Float| in the range
[1, inf].
{expr} must evaluate to a |Float| or a |Number|.
Examples: >
:echo cosh(0.5)
< 1.127626 >
:echo cosh(-0.5)
< -1.127626
{only available when compiled with the |+float| feature}
count({comp}, {expr} [, {ic} [, {start}]]) *count()*
Return the number of times an item with value {expr} appears
@@ -2613,6 +2702,18 @@ exists({expr}) The result is a Number, which is non-zero if {expr} is
< This doesn't check for existence of the "bufcount" variable,
but gets the value of "bufcount", and checks if that exists.
exp({expr}) *exp()*
Return the exponential of {expr} as a |Float| in the range
[0, inf].
{expr} must evaluate to a |Float| or a |Number|.
Examples: >
:echo exp(2)
< 7.389056 >
:echo exp(-1)
< 0.367879
{only available when compiled with the |+float| feature}
expand({expr} [, {flag}]) *expand()*
Expand wildcards and the following special keywords in {expr}.
The result is a String.
@@ -2801,7 +2902,8 @@ finddir({name}[, {path}[, {count}]]) *finddir()*
{name} in {path} instead of the first one.
When {count} is negative return all the matches in a |List|.
This is quite similar to the ex-command |:find|.
{only available when compiled with the +file_in_path feature}
{only available when compiled with the |+file_in_path|
feature}
findfile({name}[, {path}[, {count}]]) *findfile()*
Just like |finddir()|, but find a file instead of a directory.
@@ -2845,6 +2947,23 @@ floor({expr}) *floor()*
< 4.0
{only available when compiled with the |+float| feature}
fmod({expr1}, {expr2}) *fmod()*
Return the remainder of {expr1} / {expr2}, even if the
division is not representable. Returns {expr1} - i * {expr2}
for some integer i such that if {expr2} is non-zero, the
result has the same sign as {expr1} and magnitude less than
the magnitude of {expr2}. If {expr2} is zero, the value
returned is zero. The value returned is a |Float|.
{expr1} and {expr2} must evaluate to a |Float| or a |Number|.
Examples: >
:echo fmod(12.33, 1.22)
< 0.13 >
:echo fmod(-12.33, 1.22)
< -0.13
{only available when compiled with |+float| feature}
fnameescape({string}) *fnameescape()*
Escape {string} for use as file name command argument. All
characters that have a special meaning, such as '%' and '|'
@@ -3261,6 +3380,12 @@ getregtype([{regname}]) *getregtype()*
<CTRL-V> is one character with value 0x16.
If {regname} is not specified, |v:register| is used.
gettabvar({tabnr}, {varname}) *gettabvar()*
Get the value of a tab-local variable {varname} in tab page
{tabnr}. |t:var|
Tabs are numbered starting with one.
Note that the name without "t:" must be used.
gettabwinvar({tabnr}, {winnr}, {varname}) *gettabwinvar()*
Get the value of window-local variable {varname} in window
{winnr} in tab page {tabnr}.
@@ -3500,7 +3625,7 @@ iconv({expr}, {from}, {to}) *iconv()*
< Note that Vim uses UTF-8 for all Unicode encodings, conversion
from/to UCS-2 is automatically changed to use UTF-8. You
cannot use UCS-2 in a string anyway, because of the NUL bytes.
{only available when compiled with the +multi_byte feature}
{only available when compiled with the |+multi_byte| feature}
*indent()*
indent({lnum}) The result is a Number, which is indent of line {lnum} in the
@@ -3800,6 +3925,18 @@ localtime() *localtime()*
1970. See also |strftime()| and |getftime()|.
log({expr}) *log()*
Return the natural logarithm (base e) of {expr} as a |Float|.
{expr} must evaluate to a |Float| or a |Number| in the range
(0, inf].
Examples: >
:echo log(10)
< 2.302585 >
:echo log(exp(5))
< 5.0
{only available when compiled with the |+float| feature}
log10({expr}) *log10()*
Return the logarithm of Float {expr} to base 10 as a |Float|.
{expr} must evaluate to a |Float| or a |Number|.
@@ -3835,23 +3972,51 @@ map({expr}, {string}) *map()*
further items in {expr} are processed.
maparg({name}[, {mode} [, {abbr}]]) *maparg()*
Return the rhs of mapping {name} in mode {mode}. When there
is no mapping for {name}, an empty String is returned.
maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command
listing.
When there is no mapping for {name}, an empty String is
returned.
The {name} can have special key names, like in the ":map"
command.
{mode} can be one of these strings:
"n" Normal
"v" Visual
"v" Visual (including Select)
"o" Operator-pending
"i" Insert
"c" Cmd-line
"s" Select
"x" Visual
"l" langmap |language-mapping|
"" Normal, Visual and Operator-pending
When {mode} is omitted, the modes for "" are used.
When {abbr} is there and it is non-zero use abbreviations
instead of mappings.
The {name} can have special key names, like in the ":map"
command. The returned String has special characters
translated like in the output of the ":map" command listing.
When {dict} is there and it is non-zero return a dictionary
containing all the information of the mapping with the
following items:
"lhs" The {lhs} of the mapping.
"rhs" The {rhs} of the mapping as typed.
"silent" 1 for a |:map-silent| mapping, else 0.
"noremap" 1 if the {rhs} of the mapping is remappable.
"expr" 1 for an expression mapping (|:map-<expr>|).
"buffer" 1 for a buffer local mapping (|:map-local|).
"mode" Modes for which the mapping is defined. In
addition to the modes mentioned above, these
characters will be used:
" " Normal, Visual and Operator-pending
"!" Insert and Commandline mode
(|mapmpde-ic|)
"sid" the Script local ID, used for <sid> mappings
(|<SID>|)
The mappings local to the current buffer are checked first,
then the global mappings.
This function can be used to map a key even when it's already
@@ -4394,6 +4559,7 @@ readfile({fname} [, {binary} [, {max}]])
as an item. Lines broken at NL characters. Macintosh files
separated with CR will result in a single long line (unless a
NL appears somewhere).
All NUL characters are replaced with a NL character.
When {binary} is equal to "b" binary mode is used:
- When the last line ends in a NL an extra empty list item is
added.
@@ -4401,7 +4567,8 @@ readfile({fname} [, {binary} [, {max}]])
Otherwise:
- CR characters that appear before a NL are removed.
- Whether the last line ends in a NL or not does not matter.
All NUL characters are replaced with a NL character.
- When 'encoding' is Unicode any UTF-8 byte order mark is
removed from the text.
When {max} is given this specifies the maximum number of lines
to be read. Useful if you only want to check the first ten
lines of a file: >
@@ -4429,7 +4596,7 @@ reltime([{start} [, {end}]]) *reltime()*
and {end}.
The {start} and {end} arguments must be values returned by
reltime().
{only available when compiled with the +reltime feature}
{only available when compiled with the |+reltime| feature}
reltimestr({time}) *reltimestr()*
Return a String that represents the time value of {time}.
@@ -4444,7 +4611,7 @@ reltimestr({time}) *reltimestr()*
can use split() to remove it. >
echo split(reltimestr(reltime(start)))[0]
< Also see |profiling|.
{only available when compiled with the +reltime feature}
{only available when compiled with the |+reltime| feature}
*remote_expr()* *E449*
remote_expr({server}, {string} [, {idvar}])
@@ -4631,7 +4798,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
{timeout} is 500 the search stops after half a second.
The value must not be negative. A zero value is like not
giving the argument.
{only available when compiled with the +reltime feature}
{only available when compiled with the |+reltime| feature}
If there is no match a 0 is returned and the cursor doesn't
move. No error message is given.
@@ -4784,8 +4951,8 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
the column position of the match. If no match is found,
returns [0, 0].
>
returns [0, 0]. >
:let [lnum,col] = searchpairpos('{', '', '}', 'n')
<
See |match-parens| for a bigger and more useful example.
@@ -4944,6 +5111,8 @@ setqflist({list} [, {action}]) *setqflist()*
item will not be handled as an error line.
If both "pattern" and "lnum" are present then "pattern" will
be used.
If you supply an empty {list}, the quickfix list will be
cleared.
Note that the list is not exactly the same as what
|getqflist()| returns.
@@ -4966,7 +5135,7 @@ setreg({regname}, {value} [,{options}])
Set the register {regname} to {value}.
If {options} contains "a" or {regname} is upper case,
then the value is appended.
{options} can also contains a register type specification:
{options} can also contain a register type specification:
"c" or "v" |characterwise| mode
"l" or "V" |linewise| mode
"b" or "<CTRL-V>" |blockwise-visual| mode
@@ -4996,6 +5165,15 @@ setreg({regname}, {value} [,{options}])
nothing: >
:call setreg('a', '', 'al')
settabvar({tabnr}, {varname}, {val}) *settabvar()*
Set tab-local variable {varname} to {val} in tab page {tabnr}.
|t:var|
Note that the variable name without "t:" must be used.
Tabs are numbered starting with one.
Vim briefly goes to the tab page {tabnr}, this may trigger
TabLeave and TabEnter autocommands.
This function is not available in the |sandbox|.
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
Set option or local variable {varname} in window {winnr} to
{val}.
@@ -5072,6 +5250,18 @@ sin({expr}) *sin()*
{only available when compiled with the |+float| feature}
sinh({expr}) *sinh()*
Return the hyperbolic sine of {expr} as a |Float| in the range
[-inf, inf].
{expr} must evaluate to a |Float| or a |Number|.
Examples: >
:echo sinh(0.5)
< 0.521095 >
:echo sinh(-0.9)
< -1.026517
{only available when compiled with the |+float| feature}
sort({list} [, {func}]) *sort()* *E702*
Sort the items in {list} in-place. Returns {list}. If you
want a list to remain unmodified make a copy first: >
@@ -5217,6 +5407,25 @@ str2nr( {expr} [, {base}]) *str2nr()*
Text after the number is silently ignored.
strchars({expr}) *strchars()*
The result is a Number, which is the number of characters
String {expr} occupies. Composing characters are counted
separately.
Also see |strlen()|, |strdisplaywidth()| and |strwidth()|.
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
String {expr} occupies on the screen.
When {col} is omitted zero is used. Otherwise it is the
screen column where to start. This matters for Tab
characters.
The option settings of the current window are used. This
matters for anything that's displayed differently, such as
'tabstop' and 'display'.
When {expr} contains characters with East Asian Width Class
Ambiguous, this function's return value depends on 'ambiwidth'.
Also see |strlen()|, |strwidth()| and |strchars()|.
strftime({format} [, {time}]) *strftime()*
The result is a String, which is a formatted date and time, as
specified by the {format} string. The given {time} is used,
@@ -5279,7 +5488,8 @@ strlen({expr}) The result is a Number, which is the length of the String
<
If the argument is a Number it is first converted to a String.
For other types an error is given.
Also see |len()|.
Also see |len()|, |strchars()|, |strdisplaywidth()| and
|strwidth()|.
strpart({src}, {start}[, {len}]) *strpart()*
The result is a String, which is part of {src}, starting from
@@ -5322,6 +5532,14 @@ strtrans({expr}) *strtrans()*
< This displays a newline in register a as "^@" instead of
starting a new line.
strwidth({expr}) *strwidth()*
The result is a Number, which is the number of display cells
String {expr} occupies. A Tab character is counted as one
cell, alternatively use |strdisplaywidth()|.
When {expr} contains characters with East Asian Width Class
Ambiguous, this function's return value depends on 'ambiwidth'.
Also see |strlen()|, |strdisplaywidth()| and |strchars()|.
submatch({nr}) *submatch()*
Only for an expression in a |:substitute| command. Returns
the {nr}'th submatch of the matched text. When {nr} is 0
@@ -5373,6 +5591,7 @@ synID({lnum}, {col}, {trans}) *synID()*
Example (echoes the name of the syntax item under the cursor): >
:echo synIDattr(synID(line("."), col("."), 1), "name")
<
synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
The result is a String, which is the {what} attribute of
syntax ID {synID}. This can be used to obtain information
@@ -5388,6 +5607,8 @@ synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
the color, cterm: color number as a string,
term: empty string)
"bg" background color (as with "fg")
"font" font name (only available in the GUI)
|highlight-font|
"sp" special color (as with "fg") |highlight-guisp|
"fg#" like "fg", but for the GUI and the GUI is
running the name in "#RRGGBB" form
@@ -5397,6 +5618,7 @@ synIDattr({synID}, {what} [, {mode}]) *synIDattr()*
"italic" "1" if italic
"reverse" "1" if reverse
"inverse" "1" if inverse (= reverse)
"standout" "1" if standout
"underline" "1" if underlined
"undercurl" "1" if undercurled
@@ -5410,6 +5632,20 @@ synIDtrans({synID}) *synIDtrans()*
highlight the character. Highlight links given with
":highlight link" are followed.
synconcealed({lnum}, {col}) *synconcealed()*
The result is a List. The first item in the list is 0 if the
character at the position {lnum} and {col} is not part of a
concealable region, 1 if it is. The second item in the list is
a string. If the first item is 1, the second item contains the
text which will be displayed in place of the concealed text,
depending on the current setting of 'conceallevel'. The third
and final item in the list is a unique number representing the
specific syntax region matched. This allows detection of the
beginning of a new concealable region if there are two
consecutive regions with the same replacement character.
For an example use see $VIMRUNTIME/syntax/2html.vim .
synstack({lnum}, {col}) *synstack()*
Return a |List|, which is the stack of syntax items at the
position {lnum} and {col} in the current window. Each item in
@@ -5423,6 +5659,10 @@ synstack({lnum}, {col}) *synstack()*
for id in synstack(line("."), col("."))
echo synIDattr(id, "name")
endfor
< When the position specified with {lnum} and {col} is invalid
nothing is returned. The position just after the last
character in a line and the first column in an empty line are
valid positions.
system({expr} [, {input}]) *system()* *E677*
Get the output of the shell command {expr}.
@@ -5484,7 +5724,7 @@ tabpagenr([{arg}]) *tabpagenr()*
tabpagewinnr({tabarg}, [{arg}]) *tabpagewinnr()*
Like |winnr()| but for tab page {arg}.
Like |winnr()| but for tab page {tabarg}.
{tabarg} specifies the number of tab page to be used.
{arg} is used like with |winnr()|:
- When omitted the current window number is returned. This is
@@ -5548,6 +5788,31 @@ tempname() *tempname()* *temp-file-name*
For MS-Windows forward slashes are used when the 'shellslash'
option is set or when 'shellcmdflag' starts with '-'.
tan({expr}) *tan()*
Return the tangent of {expr}, measured in radians, as a |Float|
in the range [-inf, inf].
{expr} must evaluate to a |Float| or a |Number|.
Examples: >
:echo tan(10)
< 0.648361 >
:echo tan(-4.01)
< -1.181502
{only available when compiled with the |+float| feature}
tanh({expr}) *tanh()*
Return the hyperbolic tangent of {expr} as a |Float| in the
range [-1, 1].
{expr} must evaluate to a |Float| or a |Number|.
Examples: >
:echo tanh(0.5)
< 0.462117 >
:echo tanh(-1)
< -0.761594
{only available when compiled with the |+float| feature}
tolower({expr}) *tolower()*
The result is a copy of the String given, with all uppercase
characters turned into lowercase (just like applying |gu| to
@@ -5601,6 +5866,60 @@ type({expr}) The result is a Number, depending on the type of {expr}:
:if type(myvar) == type({})
:if type(myvar) == type(0.0)
undofile({name}) *undofile()*
Return the name of the undo file that would be used for a file
with name {name} when writing. This uses the 'undodir'
option, finding directories that exist. It does not check if
the undo file exists.
{name} is always expanded to the full path, since that is what
is used internally.
Useful in combination with |:wundo| and |:rundo|.
When compiled without the +persistent_undo option this always
returns an empty string.
undotree() *undotree()*
Return the current state of the undo tree in a dictionary with
the following items:
"seq_last" The highest undo sequence number used.
"seq_cur" The sequence number of the current position in
the undo tree. This differs from "seq_last"
when some changes were undone.
"time_cur" Time last used for |:earlier| and related
commands. Use |strftime()| to convert to
something readable.
"save_last" Number of the last file write. Zero when no
write yet.
"save_cur" Number of the current position in the undo
tree.
"synced" Non-zero when the last undo block was synced.
This happens when waiting from input from the
user. See |undo-blocks|.
"entries" A list of dictionaries with information about
undo blocks.
The first item in the "entries" list is the oldest undo item.
Each List item is a Dictionary with these items:
"seq" Undo sequence number. Same as what appears in
|:undolist|.
"time" Timestamp when the change happened. Use
|strftime()| to convert to something readable.
"newhead" Only appears in the item that is the last one
that was added. This marks the last change
and where further changes will be added.
"curhead" Only appears in the item that is the last one
that was undone. This marks the current
position in the undo tree, the block that will
be used by a redo command. When nothing was
undone after the last change this item will
not appear anywhere.
"save" Only appears on the last block before a file
write. The number is the write count. The
first write has number 1, the last one the
"save_last" mentioned above.
"alt" Alternate entry. This is again a List of undo
blocks. Each item may again have an "alt"
item.
values({dict}) *values()*
Return a |List| with all the values of {dict}. The |List| is
in arbitrary order.
@@ -5864,6 +6183,7 @@ lispindent Compiled with support for lisp indenting.
listcmds Compiled with commands for the buffer list |:files|
and the argument list |arglist|.
localmap Compiled with local mappings and abbr. |:map-local|
lua Compiled with Lua interface |Lua|.
mac Macintosh version of Vim.
macunix Macintosh version of Vim, using Unix files (OS-X).
menu Compiled with support for |:menu|.
@@ -5883,12 +6203,13 @@ multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
mzscheme Compiled with MzScheme interface |mzscheme|.
netbeans_intg Compiled with support for |netbeans|.
netbeans_enabled Compiled with support for |netbeans| and it's used.
netbeans_enabled Compiled with support for |netbeans| and connected.
ole Compiled with OLE automation support for Win32.
os2 OS/2 version of Vim.
osfiletype Compiled with support for osfiletypes |+osfiletype|
path_extra Compiled with up/downwards search in 'path' and 'tags'
perl Compiled with Perl interface.
persistent_undo Compiled with support for persistent undo history.
postscript Compiled with PostScript file printing.
printer Compiled with |:hardcopy| support.
profile Compiled with |:profile| support.
@@ -5929,7 +6250,7 @@ toolbar Compiled with support for |gui-toolbar|.
unix Unix version of Vim.
user_commands User-defined commands.
viminfo Compiled with viminfo support.
vim_starting True while initial source'ing takes place.
vim_starting True while initial source'ing takes place. |startup|
vertsplit Compiled with vertically split windows |:vsplit|.
virtualedit Compiled with 'virtualedit' option.
visual Compiled with Visual mode.
@@ -6454,7 +6775,8 @@ This would call the function "my_func_whizz(parameter)".
:let [{name}, ..., ; {lastname}] -= {expr1}
Like above, but append/add/subtract the value for each
|List| item.
*E106*
*E121*
:let {var-name} .. List the value of variable {var-name}. Multiple
variable names may be given. Special names recognized
here: *E738*
@@ -6825,14 +7147,16 @@ This would call the function "my_func_whizz(parameter)".
<
*:exe* *:execute*
:exe[cute] {expr1} .. Executes the string that results from the evaluation
of {expr1} as an Ex command. Multiple arguments are
concatenated, with a space in between. {expr1} is
used as the processed command, command line editing
keys are not recognized.
of {expr1} as an Ex command.
Multiple arguments are concatenated, with a space in
between. To avoid the extra space use the "."
operator to concatenate strings into one argument.
{expr1} is used as the processed command, command line
editing keys are not recognized.
Cannot be followed by a comment.
Examples: >
:execute "buffer " nextbuf
:execute "normal " count . "w"
:execute "buffer" nextbuf
:execute "normal" count . "w"
<
":execute" can be used to append a command to commands
that don't accept a '|'. Example: >
@@ -7980,11 +8304,11 @@ missing: >
==============================================================================
11. The sandbox *eval-sandbox* *sandbox* *E48*
The 'foldexpr', 'includeexpr', 'indentexpr', 'statusline' and 'foldtext'
options are evaluated in a sandbox. This means that you are protected from
these expressions having nasty side effects. This gives some safety for when
these options are set from a modeline. It is also used when the command from
a tags file is executed and for CTRL-R = in the command line.
The 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' and
'foldtext' options may be evaluated in a sandbox. This means that you are
protected from these expressions having nasty side effects. This gives some
safety for when these options are set from a modeline. It is also used when
the command from a tags file is executed and for CTRL-R = in the command line.
The sandbox is also used for the |:sandbox| command.
These items are not allowed in the sandbox:

View File

@@ -17,10 +17,10 @@ e imposta le opzioni per farlo comportare come un editore "modeless".
State sempre usando Vim, ma come un editore "posizionati-e-clicca".
Simile all'uso di Notepad in MS-Windows.
.B evim
richiede la presenza della GUI, per avere a disposizione menu e barra
richiede la presenza della GUI, per avere a disposizione men<EFBFBD> e barra
strumenti.
.PP
Da usarsi solo da parte di chi non <20> in grado di lavorare con Vim nella
Da usarsi soltanto se non si <EFBFBD> in grado di lavorare con Vim nella
maniera usuale.
La modifica file sar<61> molto meno efficiente.
.PP
@@ -34,7 +34,7 @@ L'opzione 'insertmode'
Sono definite delle mappature che consentono di usare COPIA e INCOLLA con i
familiari tasti usati sotto MS-Windows.
CTRL-X taglia testo, CTRL-C copia testo e CTRL-V incolla testo.
Usate CTRL-Q per ottenere quello chs si ottierrebbe con CTRL-V in Vim nativo.
Usate CTRL-Q per ottenere quello che si otterrebbe con CTRL-V in Vim nativo.
.SH OPZIONI
Vedere vim(1).
.SH FILE
@@ -51,4 +51,4 @@ vim(1)
Buona parte di
.B Vim
<EFBFBD> stato scritto da Bram Moolenaar, con molto aiuto da altri.
Vedere il Menu "Aiuto/Crediti".
Vedere il men<EFBFBD> "Aiuto/Crediti".

View File

@@ -17,10 +17,10 @@ e imposta le opzioni per farlo comportare come un editore "modeless".
State sempre usando Vim, ma come un editore "posizionati-e-clicca".
Simile all'uso di Notepad in MS-Windows.
.B evim
richiede la presenza della GUI, per avere a disposizione menu e barra
richiede la presenza della GUI, per avere a disposizione menù e barra
strumenti.
.PP
Da usarsi solo da parte di chi non è in grado di lavorare con Vim nella
Da usarsi soltanto se non si è in grado di lavorare con Vim nella
maniera usuale.
La modifica file sarà molto meno efficiente.
.PP
@@ -34,7 +34,7 @@ L'opzione 'insertmode' è impostata per poter immettere del testo direttamente.
Sono definite delle mappature che consentono di usare COPIA e INCOLLA con i
familiari tasti usati sotto MS-Windows.
CTRL-X taglia testo, CTRL-C copia testo e CTRL-V incolla testo.
Usate CTRL-Q per ottenere quello chs si ottierrebbe con CTRL-V in Vim nativo.
Usate CTRL-Q per ottenere quello che si otterrebbe con CTRL-V in Vim nativo.
.SH OPZIONI
Vedere vim(1).
.SH FILE
@@ -51,4 +51,4 @@ vim(1)
Buona parte di
.B Vim
è stato scritto da Bram Moolenaar, con molto aiuto da altri.
Vedere il Menu "Aiuto/Crediti".
Vedere il menù "Aiuto/Crediti".

View File

@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 7.2. Last change: 2005 Mar 29
*farsi.txt* For Vim version 7.3. Last change: 2010 Aug 07
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@@ -62,8 +62,8 @@ o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
Farsi Fonts *farsi fonts*
-----------
If the "extra" archive has been unpacked, the following files are found in the
subdirectories of the '$VIM/farsi' directory:
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
directory:
+ far-a01.pcf X Windows fonts for Unix including Linux systems
+ far-a01.bf X Windows fonts for SunOS

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.2. Last change: 2008 Jul 15
*filetype.txt* For Vim version 7.3. Last change: 2008 Jul 15
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 7.2. Last change: 2009 Dec 22
*fold.txt* For Vim version 7.3. Last change: 2010 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -15,7 +15,7 @@ You can find an introduction on folding in chapter 28 of the user manual.
4. Behavior of folds |fold-behavior|
{Vi has no Folding}
{not available when compiled without the +folding feature}
{not available when compiled without the |+folding| feature}
==============================================================================
1. Fold methods *fold-methods*
@@ -127,6 +127,9 @@ fold level. But note that foldlevel() may return -1 if the level is not known
yet. And it returns the level at the start of the line, while a fold might
end in that line.
It may happened that folds are not updated properly. You can use |zx| or |zX|
to force updating folds.
SYNTAX *fold-syntax*
@@ -274,7 +277,7 @@ zf{motion} or
Also see |fold-create-marker|.
*zF*
zF Create a fold for N lines. Works like "zf".
zF Create a fold for [count] lines. Works like "zf".
:{range}fo[ld] *:fold* *:fo*
Create a fold for the lines in {range}. Works like "zf".
@@ -352,9 +355,13 @@ zv View cursor line: Open just enough folds to make the line in
*zx*
zx Update folds: Undo manually opened and closed folds: re-apply
'foldlevel', then do "zv": View cursor line.
Also forces recomputing folds. This is useful when using
'foldexpr' and the buffer is changed in a way that results in
folds not to be updated properly.
*zX*
zX Undo manually opened and closed folds: re-apply 'foldlevel'.
Also forces recomputing folds, like |zx|.
*zm*
zm Fold more: Subtract one from 'foldlevel'. If 'foldlevel' was
@@ -399,24 +406,24 @@ MOVING OVER FOLDS ~
[z Move to the start of the current open fold. If already at the
start, move to the start of the fold that contains it. If
there is no containing fold, the command fails.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
*]z*
]z Move to the end of the current open fold. If already at the
end, move to the end of the fold that contains it. If there
is no containing fold, the command fails.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
*zj*
zj Move downwards to the start of the next fold. A closed fold
is counted as one fold.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
This command can be used after an |operator|.
*zk*
zk Move upwards to the end of the previous fold. A closed fold
is counted as one fold.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
This command can be used after an |operator|.

View File

@@ -1,4 +1,4 @@
*ft_ada.txt* For Vim version 7.2. Last change: 2008 Jun 21
*ft_ada.txt* For Vim version 7.3. Last change: 2010 Jul 20
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@@ -6,20 +6,20 @@
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
2. Plug-in |ft-ada-plugin|
2. File type Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
4.1 Dec Ada |compiler-decada|
4.2 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
5.2 Functions |ft-ada-functions|
5.3 Commands |ft-ada-commands|
5.4 Variables |ft-ada-variables|
5.5 Constants |ft-ada-constants|
8. Extra Plug-ins |ada-extra-plugins|
5.2 Commands |ft-ada-commands|
5.3 Variables |ft-ada-variables|
5.4 Constants |ft-ada-constants|
5.5 Functions |ft-ada-functions|
6. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
@@ -45,7 +45,7 @@ to change how loops are displayed, enter the command ":hi Repeat" followed by
the colour specification; on simple terminals the colour specification
ctermfg=White often shows well).
There are several options you can select in this Ada mode. See|ft-ada-options|
There are several options you can select in this Ada mode. See |ft-ada-options|
for a complete list.
To enable them, assign a value to the option. For example, to turn one on:
@@ -139,11 +139,11 @@ The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
4. Compiler Support ~
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more than one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
compiler set in |g:ada_default_compiler| whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
development of specialized compiler plug-ins fine tuned to your development
@@ -171,20 +171,20 @@ GNAT OBJECT ~
*g:gnat.Make()*
g:gnat.Make()
Calls|g:gnat.Make_Command|and displays the result inside a
Calls |g:gnat.Make_Command| and displays the result inside a
|quickfix| window.
*g:gnat.Pretty()*
g:gnat.Pretty()
Calls|g:gnat.Pretty_Command|
Calls |g:gnat.Pretty_Program|
*g:gnat.Find()*
g:gnat.Find()
Calls|g:gnat.Find_Command|
Calls |g:gnat.Find_Program|
*g:gnat.Tags()*
g:gnat.Tags()
Calls|g:gnat.Tags_Command|
Calls |g:gnat.Tags_Command|
*g:gnat.Set_Project_File()*
g:gnat.Set_Project_File([{file}])
@@ -200,19 +200,19 @@ g:gnat.Project_File string
*g:gnat.Make_Command*
g:gnat.Make_Command string
External command used for|g:gnat.Make()| (|'makeprg'|).
External command used for |g:gnat.Make()| (|'makeprg'|).
*g:gnat.Pretty_Program*
g:gnat.Pretty_Program string
External command used for|g:gnat.Pretty()|
External command used for |g:gnat.Pretty()|
*g:gnat.Find_Program*
g:gnat.Find_Program string
External command used for|g:gnat.Find()|
External command used for |g:gnat.Find()|
*g:gnat.Tags_Command*
g:gnat.Tags_Command string
External command used for|g:gnat.Tags()|
External command used for |g:gnat.Tags()|
*g:gnat.Error_Format*
g:gnat.Error_Format string
@@ -237,8 +237,8 @@ DEC ADA OBJECT ~
*g:decada.Make()*
g:decada.Make() function
Calls|g:decada.Make_Command|and displays the result inside a
|quickfix| window.
Calls |g:decada.Make_Command| and displays the result inside a
|quickfix| window.
*g:decada.Unit_Name()*
g:decada.Unit_Name() function
@@ -246,7 +246,7 @@ g:decada.Unit_Name() function
*g:decada.Make_Command*
g:decada.Make_Command string
External command used for|g:decadat.Make()| (|'makeprg'|).
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
g:decada.Error_Format| string
@@ -367,7 +367,7 @@ false when the variable is undefined. The value to which the variable is set
makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
5.2 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
@@ -406,15 +406,15 @@ makes no difference.
g:gnat object
Control object which manages GNAT compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'gnat'. See|gnat_members|
for details.
that |g:ada_default_compiler| is set to 'gnat'. See
|gnat_members| for details.
*g:decada*
g:decada object
Control object which manages Dec Ada compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'decada'. See
|decada_members|for details.
that |g:ada_default_compiler| is set to 'decada'. See
|decada_members| for details.
------------------------------------------------------------------------------
5.4 Constants ~
@@ -445,7 +445,7 @@ g:ada#Ctags_Kinds dictionary of lists
for Ctags generates.
------------------------------------------------------------------------------
5.2 Functions ~
5.5 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
@@ -479,7 +479,7 @@ gnat#New ()
==============================================================================
8. Extra Plugins ~
6. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-ins. They work well with

View File

@@ -1,4 +1,4 @@
*sql.txt* For Vim version 7.2. Last change: 2009 Nov 03
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
by David Fishburn
@@ -205,7 +205,7 @@ Press any of the following keys: >
*sqlanywhere*
*oracle* *plsql* *sqlj*
*sqlserver*
*mysql* *postgress* *psql*
*mysql* *postgresql* *psql*
*informix*
All relational databases support SQL. There is a portion of SQL that is
@@ -536,7 +536,7 @@ Example of using column completion:
completion window is active. If the completion popup window is
not active, a normal <Right> or <Left> will be executed.
Lets look how we can build a SQL statement dynamically. A select statement
Let's look at how we can build a SQL statement dynamically. A select statement
requires a list of columns. There are two ways to build a column list using
the SQL completion plugin. >
One column at a time:
@@ -632,7 +632,7 @@ your |vimrc|: >
MYTABLENAME --> M
omni_sql_ignorecase
< - Default: Current setting for|ignorecase|
< - Default: Current setting for 'ignorecase'
- Valid settings are 0 or 1.
- When entering a few letters before initiating completion, the list
will be filtered to display only the entries which begin with the
@@ -738,8 +738,8 @@ platform you can also use <C-Space> or ALT keys.
Many times SQL can be used with different filetypes. For example Perl, Java,
PHP, Javascript can all interact with a database. Often you need both the SQL
completion as well as the completion capabilities for the current language you
are editing.
completion and the completion capabilities for the current language you are
editing.
This can be enabled easily with the following steps (assuming a Perl file): >
1. :e test.pl

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.2. Last change: 2009 Jan 22
*gui.txt* For Vim version 7.3. Last change: 2010 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -556,7 +556,7 @@ some modes:
mode inserted appended ~
Normal nothing nothing
Visual <C-C> <C-\><C-G>
Insert <C-O>
Insert <C-\><C-O>
Cmdline <C-C> <C-\><C-G>
Op-pending <C-C> <C-\><C-G>
@@ -571,7 +571,7 @@ is equal to: >
:nmenu File.Next :next^M
:vmenu File.Next ^C:next^M^\^G
:imenu File.Next ^O:next^M
:imenu File.Next ^\^O:next^M
:cmenu File.Next ^C:next^M^\^G
:omenu File.Next ^C:next^M^\^G
@@ -678,7 +678,7 @@ and Photon GUI. It should turn up in other GUIs in due course. The
default toolbar is setup in menu.vim.
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
can thus have menu & toolbar together, or either on its own, or neither.
The appearance is controlled by the 'toolbar' option. You can chose between
The appearance is controlled by the 'toolbar' option. You can choose between
an image, text or both.
*toolbar-icon*

View File

@@ -1,4 +1,4 @@
*gui_w16.txt* For Vim version 7.2. Last change: 2005 Mar 29
*gui_w16.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.2. Last change: 2007 Aug 30
*gui_w32.txt* For Vim version 7.3. Last change: 2007 Aug 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.2. Last change: 2009 Oct 28
*gui_x11.txt* For Vim version 7.3. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -453,14 +453,12 @@ searched for. If all three fail, the GUI will be disabled.
For GTK+, Vim's configuration process requires that GTK+ be properly
installed. That is, the shell script 'gtk-config' must be in your PATH, and
you can already successful compile, build, and execute a GTK+ program. The
reason for this is because the compiler flags (CFLAGS) and link flags
(LDFLAGS) are obtained through the 'gtk-config' shell script.
reason for this is that the compiler flags (CFLAGS) and link flags (LDFLAGS)
are obtained through the 'gtk-config' shell script.
If you want to build with GTK+ 2 support pass the --enable-gtk2-check argument
to ./configure. Optionally, support for GNOME 2 will be compiled if the
--enable-gnome-check option is also given. Note that the support for GTK+ 2
is still experimental. However, many people have reported that it works just
fine for them.
--enable-gnome-check option is also given.
Otherwise, if you are using Motif or Athena, when you have the Motif or Athena
files in a directory where configure doesn't look, edit the Makefile to enter
@@ -468,15 +466,12 @@ the names of the directories. Search for "GUI_INC_LOC" for an example to set
the Motif directories, "CONF_OPT_X" for Athena.
*gui-x11-gtk*
At the time of this writing, you may use either GTK+ version 1.0.6 or 1.2. It
is suggested that you use v1.2 since not all of Vim's GUI features are present
if using v1.0.6. For instance, there are no tearoff menus present in v1.0.6.
Using a version from GTK+'s CVS tree may or may not work, and is therefore not
supported and not recommended.
At the time of this writing, GTK+ version 1.0.6 and 1.2 are outdated. It
is suggested that you use GTK 2. The GTK 1 support will most likely be
dropped soon.
For the experimental GTK+ 2 GUI, using the latest release of the GTK+ 2.0 or
GTK+ 2.2 series is recommended. CVS HEAD seems to work fine most of time as
well.
For the GTK+ 2 GUI, using the latest release of the GTK+ 2.0 or GTK+ 2.2
series is recommended.
Lastly, although GTK+ has supposedly been ported to the Win32 platform, this
has not been tested with Vim and is also unsupported. Also, it's unlikely to

View File

@@ -1,4 +1,4 @@
*hangulin.txt* For Vim version 7.2. Last change: 2009 Jun 24
*hangulin.txt* For Vim version 7.3. Last change: 2009 Jun 24
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam

View File

@@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 7.2. Last change: 2007 Jun 14
*hebrew.txt* For Vim version 7.3. Last change: 2007 Jun 14
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.2. Last change: 2008 Jul 21
*help.txt* For Vim version 7.3. Last change: 2010 Jul 20
VIM - main help file
k
@@ -26,6 +26,7 @@ Get specific help: It is possible to go directly to whatever you want help
Option ' :help 'textwidth'
Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
VIM stands for Vi IMproved. Most of VIM was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
@@ -90,6 +91,7 @@ REFERENCE MANUAL: These files explain every detail of Vim. *reference_toc*
General subjects ~
|intro.txt| general introduction to Vim; notation used in help files
|help.txt| overview and quick reference (this file)
|helphelp.txt| about using the help files
|index.txt| alphabetical index of all commands
|help-tags| all the tags you can jump to (index of tags)
|howto.txt| how to do the most common editing tasks
@@ -156,6 +158,7 @@ GUI ~
Interfaces ~
|if_cscop.txt| using Cscope with Vim
|if_lua.txt| Lua interface
|if_mzsch.txt| MzScheme interface
|if_perl.txt| Perl interface
|if_pyth.txt| Python interface
@@ -208,10 +211,11 @@ Now that you've jumped here with CTRL-] or a double mouse click, you can use
CTRL-T, CTRL-O, g<RightMouse>, or <C-RightMouse> to go back to where you were.
Note that tags are within | characters, but when highlighting is enabled these
are hidden. That makes it easier to read a command.
characters are hidden. That makes it easier to read a command.
Anyway, you can use CTRL-] on any word, also when it is not within |, and Vim
will try to find help for it.
will try to find help for it. Especially for options in single quotes, e.g.
'compatible'.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:

349
runtime/doc/helphelp.txt Normal file
View File

@@ -0,0 +1,349 @@
*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
Help on help files *helphelp*
1. Help commands |online-help|
2. Translated help files |help-translated|
3. Writing help files |help-writing|
==============================================================================
1. Help commands *online-help*
*help* *<Help>* *:h* *:help* *<F1>* *i_<F1>* *i_<Help>*
<Help> or
:h[elp] Open a window and display the help file in read-only
mode. If there is a help window open already, use
that one. Otherwise, if the current window uses the
full width of the screen or is at least 80 characters
wide, the help window will appear just above the
current window. Otherwise the new window is put at
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
{not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
{subject} can include wildcards like "*", "?" and
"[a-z]":
:help z? jump to help for any "z" command
:help z. jump to the help for "z."
If there is no full match for the pattern, or there
are several matches, the "best" match will be used.
A sophisticated algorithm is used to decide which
match is better than another one. These items are
considered in the computation:
- A match with same case is much better than a match
with different case.
- A match that starts after a non-alphanumeric
character is better than a match in the middle of a
word.
- A match at or near the beginning of the tag is
better than a match further on.
- The more alphanumeric characters match, the better.
- The shorter the length of the match, the better.
The 'helplang' option is used to select a language, if
the {subject} is available in several languages.
To find a tag in a specific language, append "@ab",
where "ab" is the two-letter language code. See
|help-translated|.
Note that the longer the {subject} you give, the less
matches will be found. You can get an idea how this
all works by using commandline completion (type CTRL-D
after ":help subject" |c_CTRL-D|).
If there are several matches, you can have them listed
by hitting CTRL-D. Example: >
:help cont<Ctrl-D>
< Instead of typing ":help CTRL-V" to search for help
for CTRL-V you can type: >
:help ^V
< This also works together with other characters, for
example to find help for CTRL-V in Insert mode: >
:help i^V
<
To use a regexp |pattern|, first do ":help" and then
use ":tag {pattern}" in the help window. The
":tnext" command can then be used to jump to other
matches, "tselect" to list matches and choose one. >
:help index| :tse z.
< When there is no argument you will see matches for
"help", to avoid listing all possible matches (that
would be very slow).
The number of matches displayed is limited to 300.
This command can be followed by '|' and another
command, but you don't need to escape the '|' inside a
help command. So these both work: >
:help |
:help k| only
< Note that a space before the '|' is seen as part of
the ":help" argument.
You can also use <LF> or <CR> to separate the help
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
< {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpg* *:helpgrep*
:helpg[rep] {pattern}[@xx]
Search all help text files and make a list of lines
in which {pattern} matches. Jumps to the first match.
The optional [@xx] specifies that only matches in the
"xx" language are to be found.
You can navigate through the matches with the
|quickfix| commands, e.g., |:cnext| to jump to the
next one. Or use |:cwindow| to get the list of
matches in the quickfix window.
{pattern} is used as a Vim regexp |pattern|.
'ignorecase' is not used, add "\c" to ignore case.
Example for case sensitive search: >
:helpgrep Uganda
< Example for case ignoring search: >
:helpgrep uganda\c
< Example for searching in French help: >
:helpgrep backspace@fr
< The pattern does not support line breaks, it must
match within one line. You can use |:grep| instead,
but then you need to get the list of help files in a
complicated way.
Cannot be followed by another command, everything is
used as part of the pattern. But you can use
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
Same as ":helpgrep", except the location list is used
instead of the quickfix list. If the help window is
already opened, then the location list for that window
is used. Otherwise, a new help window is opened and
the location list for that window is set. The
location list for the current window is not changed.
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command. {not in Vi}
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command. {not in Vi}
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
files in the directories specified in the 'runtimepath' option.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
Jump to specific subjects by using tags. This can be done in two ways:
- Use the "CTRL-]" command while standing on the name of a command or option.
This only works when the tag is a keyword. "<C-Leftmouse>" and
"g<LeftMouse>" work just like "CTRL-]".
- use the ":ta {subject}" command. This also works with non-keyword
characters.
Use CTRL-T or CTRL-O to jump back.
Use ":q" to close the help window.
If there are several matches for an item you are looking for, this is how you
can jump to each one of them:
1. Open a help window
2. Use the ":tag" command with a slash prepended to the tag. E.g.: >
:tag /min
3. Use ":tnext" to jump to the next matching tag.
It is possible to add help files for plugins and other items. You don't need
to change the distributed help files for that. See |add-local-help|.
To write a local help file, see |write-local-help|.
Note that the title lines from the local help files are automagically added to
the "LOCAL ADDITIONS" section in the "help.txt" help file |local-additions|.
This is done when viewing the file in Vim, the file itself is not changed. It
is done by going through all help files and obtaining the first line of each
file. The files in $VIMRUNTIME/doc are skipped.
*help-xterm-window*
If you want to have the help in another xterm window, you could use this
command: >
:!xterm -e vim +help &
<
*:helpfind* *:helpf*
:helpf[ind] Like |:help|, but use a dialog to enter the argument.
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
{not in Vi}
*:helpt* *:helptags*
*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.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
< {not in Vi}
==============================================================================
2. Translated help files *help-translated*
It is possible to add translated help files, next to the original English help
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
See the Vim website to find them: http://www.vim.org/translations.php
A set of translated help files consists of these files:
help.abx
howto.abx
...
tags-ab
"ab" is the two-letter language code. Thus for Italian the names are:
help.itx
howto.itx
...
tags-it
The 'helplang' option can be set to the preferred language(s). The default is
set according to the environment. Vim will first try to find a matching tag
in the preferred language(s). English is used when it cannot be found.
To find a tag in a specific language, append "@ab" to a tag, where "ab" is the
two-letter language code. Example: >
:he user-manual@it
:he user-manual@en
The first one finds the Italian user manual, even when 'helplang' is empty.
The second one finds the English user manual, even when 'helplang' is set to
"it".
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
to select a language.
Help files must use latin1 or utf-8 encoding. Vim assumes the encoding is
utf-8 when finding non-ASCII characters in the first line. Thus you must
translate the header with "For Vim version".
The same encoding must be used for the help files of one language in one
directory. You can use a different encoding for different languages and use
a different encoding for help files of the same language but in a different
directory.
Hints for translators:
- Do not translate the tags. This makes it possible to use 'helplang' to
specify the preferred language. You may add new tags in your language.
- When you do not translate a part of a file, add tags to the English version,
using the "tag@en" notation.
- Make a package with all the files and the tags file available for download.
Users can drop it in one of the "doc" directories and start use it.
Report this to Bram, so that he can add a link on www.vim.org.
- Use the |:helptags| command to generate the tags files. It will find all
languages in the specified directory.
==============================================================================
3. Writing help files *help-writing*
For ease of use, a Vim help file for a plugin should follow the format of the
standard Vim help files. If you are writing a new help file it's best to copy
one of the existing files and use it as a template.
The first line in a help file should have the following format:
*helpfile_name.txt* For Vim version 7.3 Last change: 2010 June 4
The first field is a link to the help file name. The second field describes
the applicable Vim version. The last field specifies the last modification
date of the file. Each field is separated by a tab.
At the bottom of the help file, place a Vim modeline to set the 'textwidth'
and 'tabstop' options and the 'filetype' to 'help'. Never set a global option
in such a modeline, that can have consequences undesired by whoever reads that
help.
TAGS
To define a help tag, place the name between asterisks (*tag-name*). The
tag-name should be different from all the Vim help tag names and ideally
should begin with the name of the Vim plugin. The tag name is usually right
aligned on a line.
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'
HIGHLIGHTING
To define a column heading, use a tilde character at the end of the line.
This will highlight the column heading in a different color. E.g.
Column heading~
To separate sections in a help file, place a series of '=' characters in a
line starting from the first column. The section separator line is highlighted
differently.
To quote a block of ex-commands verbatim, place a greater than (>) character
at the end of the line before the block and a less than (<) character as the
first non-blank on a line following the block. Any line starting in column 1
also implicitly stops the block of ex-commands before it. E.g. >
function Example_Func()
echo "Example"
endfunction
<
The following are highlighted differently in a Vim help file:
- a special key name expressed either in <> notation as in <PageDown>, or
as a Ctrl character as in CTRL-X
- anything between {braces}, e.g. {lhs} and {rhs}
The word "Note", "Notes" and similar automagically receive distinctive
highlighting. So do these:
*Todo something to do
*Error something wrong
You can find the details in $VIMRUNTIME/syntax/help.vim
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*howto.txt* For Vim version 7.2. Last change: 2006 Apr 02
*howto.txt* For Vim version 7.3. Last change: 2006 Apr 02
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.2. Last change: 2009 Mar 18
*if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Andy Kahn
@@ -112,8 +112,7 @@ The available subcommands are:
:cscope add /projects/vim/cscope.out /usr/local/vim
:cscope add cscope.out /usr/local/vim -C
<
*cscope-find* *cs-find*
*E565* *E567*
*cscope-find* *cs-find* *E567*
find : Query cscope. All cscope query options are available
except option #5 ("Change this grep pattern").
@@ -198,7 +197,7 @@ The available subcommands are:
USAGE :cs help
*E260* *E261*
*E261*
kill : Kill a cscope connection (or kill all cscope connections).
USAGE :cs kill {num|partial_name}

244
runtime/doc/if_lua.txt Normal file
View File

@@ -0,0 +1,244 @@
*if_lua.txt* For Vim version 7.3. Last change: 2010 Jul 22
VIM REFERENCE MANUAL by Luis Carvalho
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|
{Vi does not have any of these commands}
The Lua interface is available only when Vim was compiled with the
|+lua| feature.
==============================================================================
1. Commands *lua-commands*
*:lua*
:[range]lua {chunk}
Execute Lua chunk {chunk}. {not in Vi}
Examples:
>
:lua print("Hello, Vim!")
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
:[range]lua << {endmarker}
{script}
{endmarker}
Execute Lua script {script}. {not in Vi}
Note: This command doesn't work when the Lua
feature wasn't compiled in. To avoid errors, see
|script-here|.
{endmarker} must NOT be preceded by any white space. If {endmarker} is
omitted from after the "<<", a dot '.' must be used after {script}, like
for the |:append| and |:insert| commands.
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.
Example:
>
function! CurrentLineInfo()
lua << EOF
local linenr = vim.window().line
local curline = vim.buffer()[linenr]
print(string.format("Current line [%d] has %d chars",
linenr, #curline))
EOF
endfunction
<
*: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}
Examples:
>
:luado return string.format("%s\t%d", line:reverse(), #line)
:lua require"lpeg"
:lua -- balanced parenthesis grammar:
:lua bp = lpeg.P{ "(" * ((1 - lpeg.S"()") + lpeg.V(1))^0 * ")" }
:luado if bp:match(line) then return "-->\t" .. line end
<
*:luafile*
:[range]luafile {file}
Execute Lua script in {file}. {not in Vi}
The whole argument is used as a single file name.
Examples:
>
:luafile script.lua
:luafile %
<
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.
Lua uses the "vim" module (see |lua-vim|) to issue commands to Vim
and manage buffers (|lua-buffer|) and windows (|lua-window|). However,
procedures that alter buffer content, open new buffers, and change cursor
position are restricted when the command is executed in the |sandbox|.
==============================================================================
2. The vim module *lua-vim*
Lua interfaces Vim through the "vim" module. The first and last line of the
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.buffer([arg]) If "arg" is a number, returns buffer with
number "arg" in the buffer list or, if "arg"
is a string, returns buffer whose full or short
name is "arg". In both cases, returns 'nil'
(nil value, not string) if the buffer is not
found. Otherwise, if "toboolean(arg)" is
'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.command({cmd}) Executes the vim (ex-mode) command {cmd}.
Examples: >
:lua vim.command"set tw=60"
:lua vim.command"normal ddp"
<
vim.eval({expr}) Evaluates expression {expr} (see |expression|),
converts the result to Lua, and returns it.
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).
Examples: >
:lua tw = vim.eval"&tw"
:lua print(vim.eval"{'a': 'one'}".a)
<
vim.line() Returns the current line (without the trailing
<EOL>), a Lua string.
vim.beep() Beeps.
vim.open({fname}) Opens a new buffer for file {fname} and
returns it. Note that the buffer is not set as
current.
==============================================================================
3. Buffer userdata *lua-buffer*
Buffer userdata represent vim buffers. A buffer userdata "b" has the following
properties and methods:
Properties
----------
o "b()" sets "b" as the current buffer.
o "#b" is the number of lines in buffer "b".
o "b[k]" represents line number k: "b[k] = newline" replaces line k
with string "newline" and "b[k] = nil" deletes line k.
o "b.name" contains the short name of buffer "b" (read-only).
o "b.fname" contains the full name of buffer "b" (read-only).
o "b.number" contains the position of buffer "b" in the buffer list
(read-only).
Methods
-------
o "b:insert(newline[, pos])" inserts string "newline" at (optional)
position "pos" in the buffer. The default value for "pos" is
"#b + 1". If "pos == 0" then "newline" becomes the first line in
the buffer.
o "b:next()" returns the buffer next to "b" in the buffer list.
o "b:previous()" returns the buffer previous to "b" in the buffer
list.
o "b:isvalid()" returns 'true' (boolean) if buffer "b" corresponds to
a "real" (not freed from memory) Vim buffer.
Examples:
>
:lua b = vim.buffer() -- current buffer
:lua print(b.name, b.number)
:lua b[1] = "first line"
:lua b:insert("FIRST!", 0)
:lua b[1] = nil -- delete top line
:lua for i=1,3 do b:insert(math.random()) end
:3,4lua for i=vim.lastline,vim.firstline,-1 do b[i] = nil end
:lua vim.open"myfile"() -- open buffer and set it as current
function! ListBuffers()
lua << EOF
local b = vim.buffer(true) -- first buffer in list
while b ~= nil do
print(b.number, b.name, #b)
b = b:next()
end
vim.beep()
EOF
endfunction
<
==============================================================================
4. Window userdata *lua-window*
Window objects represent vim windows. A window userdata "w" has the following
properties and methods:
Properties
----------
o "w()" sets "w" as the current window.
o "w.buffer" contains the buffer of window "w" (read-only).
o "w.line" represents the cursor line position in window "w".
o "w.col" represents the cursor column position in window "w".
o "w.width" represents the width of window "w".
o "w.height" represents the height of window "w".
Methods
-------
o "w:next()" returns the window next to "w".
o "w:previous()" returns the window previous to "w".
o "w:isvalid()" returns 'true' (boolean) if window "w" corresponds to
a "real" (not freed from memory) Vim window.
Examples:
>
:lua w = vim.window() -- current window
:lua print(w.buffer.name, w.line, w.col)
:lua w.width = w.width + math.random(10)
:lua w.height = 2 * math.random() * w.height
:lua n,w = 0,vim.window(true) while w~=nil do n,w = n + 1,w:next() end
:lua print("There are " .. n .. " windows")
<
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.2. Last change: 2010 Jan 19
*if_mzsch.txt* For Vim version 7.3. Last change: 2010 Feb 11
VIM REFERENCE MANUAL by Sergey Khorev
@@ -185,8 +185,7 @@ Buffers *mzscheme-buffer*
current buffer will be used.
(get-buff-line-list {start} {end} [buffer])
Get a list of lines in a buffer. {Start}
and {end} are 1-based. {Start} is
inclusive, {end} - exclusive.
and {end} are 1-based and inclusive.
(set-buff-line-list {start} {end} {string-list} [buffer])
Set a list of lines in a buffer. If
string-list is #f or null, the lines get
@@ -200,8 +199,8 @@ Buffers *mzscheme-buffer*
Insert a list of lines into a buffer after
{linenr}. If {linenr} is 0, lines will be
inserted at start.
(curr-buff) Get the current buffer. Use procedures
from "vimcmd" module to change it.
(curr-buff) Get the current buffer. Use other MzScheme
interface procedures to change it.
(buff-count) Get count of total buffers in the editor.
(get-next-buff [buffer]) Get next buffer.
(get-prev-buff [buffer]) Get previous buffer. Return #f when there
@@ -234,7 +233,7 @@ Windows *mzscheme-window*
==============================================================================
5. mzeval() Vim function *mzscheme-mzeval*
To facilitate bi-directional interface, you can use |mzeval| function to
To facilitate bi-directional interface, you can use |mzeval()| function to
evaluate MzScheme expressions and pass their values to VimL.
==============================================================================

View File

@@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 7.2. Last change: 2008 Aug 16
*if_ole.txt* For Vim version 7.3. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 7.2. Last change: 2006 Mar 06
*if_perl.txt* For Vim version 7.3. Last change: 2010 Jul 21
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -265,18 +265,26 @@ Note that "EOF" must be at the start of the line.
==============================================================================
4. Dynamic loading *perl-dynamic*
On MS-Windows the Perl library can be loaded dynamically. The |:version|
output then includes |+perl/dyn|.
On MS-Windows and Unix the Perl library can be loaded dynamically. The
|:version| output then includes |+perl/dyn|.
This means that Vim will search for the Perl DLL file only when needed. When
you don't use the Perl interface you don't need it, thus you can use Vim
without this DLL file.
This means that Vim will search for the Perl DLL or shared library file only
when needed. When you don't use the Perl interface you don't need it, thus
you can use Vim without this file.
To use the Perl interface the Perl DLL must be in your search path. In a
console window type "path" to see what directories are used.
MS-Windows ~
You can download Perl from http://www.perl.org. The one from ActiveState was
used for building Vim.
To use the Perl interface the Perl DLL must be in your search path.
If Vim reports it cannot find the perl512.dll, make sure your $PATH includes
the directory where it is located. The Perl installer normally does that.
In a console window type "path" to see what directories are used.
The name of the DLL must match the Perl version Vim was compiled with.
Currently the name is "perl58.dll". That is for Perl 5.8. To know for
Currently the name is "perl512.dll". That is for Perl 5.12. To know for
sure edit "gvim.exe" and search for "perl\d*.dll\c".
==============================================================================

View File

@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.2. Last change: 2008 Aug 16
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Oct 20
VIM REFERENCE MANUAL by Paul Moore
@@ -12,11 +12,14 @@ The Python Interface to Vim *python* *Python*
4. Range objects |python-range|
5. Window objects |python-window|
6. Dynamic loading |python-dynamic|
7. Python 3 |python3|
{Vi does not have any of these commands}
The Python interface is available only when Vim was compiled with the
The Python 2.x interface is available only when Vim was compiled with the
|+python| feature.
The Python 3 interface is available only when Vim was compiled with the
|+python3| feature.
==============================================================================
1. Commands *python-commands*
@@ -237,10 +240,12 @@ with marks (see below) which use vim line numbers.
The buffer object methods are:
b.append(str) Append a line to the buffer
b.append(str, nr) Idem, below line "nr"
b.append(list) Append a list of lines to the buffer
Note that the option of supplying a list of strings to
the append method differs from the equivalent method
for Python's built-in list objects.
b.append(list, nr) Idem, below line "nr"
b.mark(name) Return a tuple (row,col) representing the position
of the named mark (can also get the []"<> marks)
b.range(s,e) Return a range object (see |python-range|) which
@@ -282,10 +287,12 @@ The range object attributes are:
The range object methods are:
r.append(str) Append a line to the range
r.append(str, nr) Idem, after line "nr"
r.append(list) Append a list of lines to the range
Note that the option of supplying a list of strings to
the append method differs from the equivalent method
for Python's built-in list objects.
r.append(list, nr) Idem, after line "nr"
Example (assume r is the current range):
# Send all lines in a range to the default printer
@@ -327,5 +334,49 @@ The name of the DLL must match the Python version Vim was compiled with.
Currently the name is "python24.dll". That is for Python 2.4. To know for
sure edit "gvim.exe" and search for "python\d*.dll\c".
==============================================================================
7. Python 3 *python3*
*:py3* *:python3*
The |:py3| and |:python3| commands work similar to |:python|.
*:py3file*
The |:py3file| command works similar to |:pyfile|.
Vim can be built in four ways (:version output):
1. No Python support (-python, -python3)
2. Python 2 support only (+python or +python/dyn, -python3)
3. Python 3 support only (-python, +python3 or +python3/dyn)
4. Python 2 and 3 support (+python/dyn, +python3/dyn)
Some more details on the special case 4:
When Python 2 and Python 3 are both supported they must be loaded dynamically.
When doing this on Linux/Unix systems and importing global symbols, this leads
to a crash when the second Python version is used. So either global symbols
are loaded but only one Python version is activated, or no global symbols are
loaded. The latter makes Python's "import" fail on libraries that expect the
symbols to be provided by Vim.
*E836* *E837*
Vim's configuration script makes a guess for all libraries based on one
standard Python library (termios). If importing this library succeeds for
both Python versions, then both will be made available in Vim at the same
time. If not, only the version first used in a session will be enabled.
When trying to use the other one you will get the E836 or E837 error message.
Here Vim's behavior depends on the system in which it was configured. In a
system where both versions of Python were configured with --enable-shared,
both versions of Python will be activated at the same time. There will still
be problems with other third party libraries that were not linked to
libPython.
To work around such problems there are these options:
1. The problematic library is recompiled to link to the according
libpython.so.
2. Vim is recompiled for only one Python version.
3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This
may crash Vim though.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.2. Last change: 2008 Aug 16
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Shugo Maeda
@@ -194,12 +194,20 @@ This means that Vim will search for the Ruby DLL file only when needed. When
you don't use the Ruby interface you don't need it, thus you can use Vim
without this DLL file.
You need to install the right version of Ruby for this to work. You can find
the package to download from:
http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
Currently that is ruby-1.9.1-p429-i386-mswin32.zip
To use the Ruby interface the Ruby DLL must be in your search path. In a
console window type "path" to see what directories are used.
The name of the DLL must match the Ruby version Vim was compiled with.
Currently the name is "ruby18.dll". That is for Ruby 1.8. To know for sure
edit "gvim.exe" and search for "ruby\d*.dll\c".
Currently the name is "msvcrt-ruby191.dll". That is for Ruby 1.9.1. To know
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.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*if_sniff.txt* For Vim version 7.2. Last change: 2005 Mar 29
*if_sniff.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL

View File

@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 7.2. Last change: 2008 Aug 16
*if_tcl.txt* For Vim version 7.3. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Ingo Wilken

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.2. Last change: 2009 Nov 12
*indent.txt* For Vim version 7.3. Last change: 2010 Jul 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -215,6 +215,19 @@ assume a 'shiftwidth' of 4.
a = b; a = b; a = b;
} } }
} } }
<
LN Controls placement of jump labels. If N is negative, the label
will be placed at column 1. If N is non-negative, the indent of
the label will be the prevailing indent minus N. (default -1).
cino= cino=L2 cino=Ls >
func() func() func()
{ { {
{ { {
stmt; stmt; stmt;
LABEL: LABEL: LABEL:
} } }
} } }
<
:N Place case labels N characters from the indent of the switch().
(default 'shiftwidth').
@@ -430,6 +443,24 @@ assume a 'shiftwidth' of 4.
do_something();
}
});
<
*javascript-cinoptions* *javascript-indenting*
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'). >
var bar = {
foo: {
that: this,
some: ok,
},
"bar":{
a : 2,
b: "123abc",
x: 4,
"y": 5
}
}
<
)N Vim searches for unclosed parentheses at most N lines away.
This limits the time needed to search for parentheses. (default
@@ -437,7 +468,7 @@ assume a 'shiftwidth' of 4.
*N Vim searches for unclosed comments at most N lines away. This
limits the time needed to search for the start of a comment.
(default 30 lines).
(default 70 lines).
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognizes '#' comments. Note
@@ -446,13 +477,14 @@ assume a 'shiftwidth' of 4.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,:s,=s,l0,b0,gs,hs,ps,ts,is,+s,c3,C0,
/0,(2s,us,U0,w0,W0,m0,j0,)20,*30,#0
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
- It starts with a label (a keyword followed by ':', other than "case" and
"default").
"default") and 'cinoptions' does not contain an 'L' entry with a positive
value.
- Any combination of indentations causes the line to have less than 0
indentation.
@@ -552,6 +584,10 @@ For example, with N = 1, this will give:
(Notice the extra indent between the PHP container markers and the code)
-------------
To indent PHP tags as the surrounding code: >
:let g:PHP_outdentphpescape = 0
-------------
To automatically remove '\r' characters when the 'fileformat' is set to Unix: >
:let g:PHP_removeCRwhenUnix = 1
-------------
@@ -577,7 +613,7 @@ 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
(By default they are indented at the same level than the 'switch()' to avoid
(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)

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.2. Last change: 2009 Jul 01
*index.txt* For Vim version 7.3. Last change: 2010 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -102,7 +102,7 @@ tag char action ~
|i_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|i_CTRL-_| CTRL-_ When 'allowrevins' set: change language
(Hebrew, Farsi) {only when compiled with
+rightleft feature}
the |+rightleft| feature}
<Space> to '~' not used, except '0' and '^' followed by
CTRL-D
@@ -136,10 +136,14 @@ tag char action ~
|i_<Help>| <Help> stop insert mode and display help window
|i_<Insert>| <Insert> toggle Insert/Replace mode
|i_<LeftMouse>| <LeftMouse> cursor at mouse click
|i_<MouseDown>| <MouseDown> scroll three lines downwards
|i_<S-MouseDown>| <S-MouseDown> scroll a full page downwards
|i_<MouseUp>| <MouseUp> scroll three lines upwards
|i_<S-MouseUp>| <S-MouseUp> scroll a full page upwards
|i_<ScrollWheelDown>| <ScrollWheelDown> move window three lines down
|i_<S-ScrollWheelDown>| <S-ScrollWheelDown> move window one page down
|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_<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|i_<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
commands in CTRL-X submode *i_CTRL-X_index*
@@ -159,7 +163,7 @@ commands in CTRL-X submode *i_CTRL-X_index*
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the +insert_expand feature}
{not available when compiled without the |+insert_expand| feature}
==============================================================================
2. Normal mode *normal-index*
@@ -441,10 +445,14 @@ tag char note action in Normal mode ~
|<S-Up>| <S-Up> 1 same as CTRL-B
|<Undo>| <Undo> 2 same as "u"
|<Up>| <Up> 1 same as "k"
|<MouseDown>| <MouseDown> scroll three lines downwards
|<S-MouseDown>| <S-MouseDown> scroll a full page downwards
|<MouseUp>| <MouseUp> scroll three lines upwards
|<S-MouseUp>| <S-MouseUp> scroll a full page upwards
|<ScrollWheelDown>| <ScrollWheelDown> move window three lines down
|<S-ScrollWheelDown>| <S-ScrollWheelDown> move window one page down
|<ScrollWheelUp>| <ScrollWheelUp> move window three lines up
|<S-ScrollWheelUp>| <S-ScrollWheelUp> move window one page up
|<ScrollWheelLeft>| <ScrollWheelLeft> move window six columns left
|<S-ScrollWheelLeft>| <S-ScrollWheelLeft> move window one page left
|<ScrollWheelRight>| <ScrollWheelRight> move window six columns right
|<S-ScrollWheelRight>| <S-ScrollWheelRight> move window one page right
==============================================================================
2.1 Text objects *objects*
@@ -1299,6 +1307,9 @@ The commands are sorted on the non-optional part of their name.
|:ltag| :lt[ag] jump to tag and add matching tags to the
location list
|:lunmap| :lu[nmap] like ":unmap!" but includes Lang-Arg mode
|:lua| :lua execute |Lua| command
|:luado| :luad[o] execute Lua command for each line
|:luafile| :luaf[ile] execute |Lua| script file
|:lvimgrep| :lv[imgrep] search for pattern in files
|:lvimgrepadd| :lvimgrepa[dd] like :vimgrep, but append to current list
|:lwindow| :lw[indow] open or close location window
@@ -1321,7 +1332,9 @@ The commands are sorted on the non-optional part of their name.
|:mode| :mod[e] show or change the screen mode
|:mzscheme| :mz[scheme] execute MzScheme command
|:mzfile| :mzf[ile] execute MzScheme script file
|:nbclose| :nbc[lose] close the current Netbeans session
|:nbkey| :nb[key] pass a key to Netbeans
|:nbstart| :nbs[art] start a new Netbeans session
|:next| :n[ext] go to next file in the argument list
|:new| :new create a new empty window
|:nmap| :nm[ap] like ":map" but for Normal mode
@@ -1350,6 +1363,7 @@ The commands are sorted on the non-optional part of their name.
|:options| :opt[ions] open the options-window
|:ounmap| :ou[nmap] like ":unmap" but for Operator-pending mode
|:ounmenu| :ounme[nu] remove menu for Operator-pending mode
|:ownsyntax| :ow[nsyntax] set new local syntax highlight for this window
|:pclose| :pc[lose] close preview window
|:pedit| :ped[it] edit file in the preview window
|:perl| :pe[rl] execute Perl command
@@ -1376,6 +1390,9 @@ The commands are sorted on the non-optional part of their name.
|:ptselect| :pts[elect] |:tselect| and show tag in preview window
|:put| :pu[t] insert contents of register in the text
|:pwd| :pw[d] print current directory
|:py3| :py3 execute Python 3 command
|:python3| :python3 same as :py3
|:py3file| :py3f[ile] execute Python 3 script file
|:python| :py[thon] execute Python command
|:pyfile| :pyf[ile] execute Python script file
|:quit| :q[uit] quit current window (when one window quit Vim)
@@ -1397,6 +1414,7 @@ The commands are sorted on the non-optional part of their name.
|:ruby| :rub[y] execute Ruby command
|:rubydo| :rubyd[o] execute Ruby command for each line
|:rubyfile| :rubyf[ile] execute Ruby script file
|:rundo| :rund[o] read undo information from a file
|:runtime| :ru[ntime] source vim scripts in 'runtimepath'
|:rviminfo| :rv[iminfo] read from viminfo file
|:substitute| :s[ubstitute] find and replace text
@@ -1562,6 +1580,7 @@ The commands are sorted on the non-optional part of their name.
|:wq| :wq write to a file and quit window or Vim
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|:wsverb| :ws[verb] pass the verb to workshop over IPC
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
|:xall| :xa[ll] same as ":wqall"

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.2. Last change: 2009 Jul 14
*insert.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -359,10 +359,14 @@ CTRL-G CTRL-J cursor one line down, insert start column *i_CTRL-G_CTRL-J*
<PageUp> move window one page up *i_<PageUp>*
<S-Down> move window one page down *i_<S-Down>*
<PageDown> move window one page down *i_<PageDown>*
<MouseDown> scroll three lines down *i_<MouseDown>*
<S-MouseDown> scroll a full page down *i_<S-MouseDown>*
<MouseUp> scroll three lines up *i_<MouseUp>*
<S-MouseUp> scroll a full page up *i_<S-MouseUp>*
<ScrollWheelDown> move window three lines down *i_<ScrollWheelDown>*
<S-ScrollWheelDown> move window one page down *i_<S-ScrollWheelDown>*
<ScrollWheelUp> move window three lines up *i_<ScrollWheelUp>*
<S-ScrollWheelUp> move window one page up *i_<S-ScrollWheelUp>*
<ScrollWheelLeft> move window six columns left *i_<ScrollWheelLeft>*
<S-ScrollWheelLeft> move window one page left *i_<S-ScrollWheelLeft>*
<ScrollWheelRight> move window six columns right *i_<ScrollWheelRight>*
<S-ScrollWheelRight> move window one page right *i_<S-ScrollWheelRight>*
CTRL-O execute one command, return to Insert mode *i_CTRL-O*
CTRL-\ CTRL-O like CTRL-O but don't move the cursor *i_CTRL-\_CTRL-O*
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
@@ -523,7 +527,7 @@ last one). {Vi does not have the 'expandtab' option}
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
Enter Virtual Replace mode with the "gR" command in normal mode.
{not available when compiled without the +vreplace feature}
{not available when compiled without the |+vreplace| feature}
{Vi does not have Virtual Replace mode}
Virtual Replace mode is similar to Replace mode, but instead of replacing
@@ -551,12 +555,11 @@ CTRL-D, 'expandtab', 'smarttab', 'softtabstop', etc.
In 'list' mode, Virtual Replace mode acts as if it was not in 'list' mode,
unless "L" is in 'cpoptions'.
Note that the only times characters beyond the cursor should appear to move
are in 'list' mode, and occasionally when 'wrap' is set (and the line changes
length to become shorter or wider than the width of the screen), or
momentarily when typing over a CTRL character. A CTRL character takes up two
screen spaces. When replacing it with two normal characters, the first will
be inserted and the second will replace the CTRL character.
Note that the only situations for which characters beyond the cursor should
appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
(and the line changes length to become shorter or wider than the width of the
screen). In other cases spaces may be inserted to avoid following characters
to move.
This mode is very useful for editing <Tab> separated columns in tables, for
entering new data while keeping all the columns aligned.
@@ -639,6 +642,7 @@ completion operation: >
return "\<Tab>"
else
return "\<C-N>"
endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
@@ -1357,7 +1361,7 @@ Script completes:
- function names with additional info:
- in case of built-in functions list of possible arguments and after | type
data returned by function
- in case of user function arguments and name of file were function was
- in case of user function arguments and name of file where function was
defined (if it is not current file)
- constants names
@@ -1445,8 +1449,8 @@ 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
First thing you will notice is there are many different syntax groups. The
PHP language can include elements from different languages like HTML,
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,
JavaScript and many more. The syntax plugin will only include syntax groups
that begin with the filetype, "php", in this case. For example these syntax
groups are included by default with the PHP: phpEnvVar, phpIntVar,
@@ -1483,6 +1487,38 @@ on word characters. This can be controlled adding the following to your
vimrc: >
let g:omni_syntax_use_iskeyword = 0
For plugin developers, the plugin exposes a public function OmniSyntaxList.
This function can be used to request a List of syntax items. When editing a
SQL file (:e syntax.sql) you can use the ":syntax list" command to see the
various groups and syntax items. For example: >
syntax list
Yields data similar to this: >
sqlOperator xxx some prior all like and any escape exists in is not
or intersect minus between distinct
links to Operator
sqlType xxx varbit varchar nvarchar bigint int uniqueidentifier
date money long tinyint unsigned xml text smalldate
double datetime nchar smallint numeric time bit char
varbinary binary smallmoney
image float integer timestamp real decimal
There are two syntax groups listed here: sqlOperator and sqlType. To retrieve
a List of syntax items you can call OmniSyntaxList a number of different
ways. To retrieve all syntax items regardless of syntax group: >
echo OmniSyntaxList( [] )
To retrieve only the syntax items for the sqlOperator syntax group: >
echo OmniSyntaxList( ['sqlOperator'] )
To retrieve all syntax items for both the sqlOperator and sqlType groups: >
echo OmniSyntaxList( ['sqlOperator', 'sqlType'] )
From within a plugin, you would typically assign the output to a List: >
let myKeywords = []
let myKeywords = OmniSyntaxList( ['sqlKeyword'] )
SQL *ft-sql-omni*
@@ -1730,6 +1766,11 @@ These two commands will keep on asking for lines, until you type a line
containing only a ".". Watch out for lines starting with a backslash, see
|line-continuation|.
When in Ex mode (see |-e|) a backslash at the end of the line can be used to
insert a NUL character. To be able to have a line ending in a backslash use
two backslashes. This means that the number of backslashes is halved, but
only at the end of the line.
NOTE: These commands cannot be used with |:global| or |:vglobal|.
":append" and ":insert" don't work properly in between ":if" and
":endif", ":for" and ":endfor", ":while" and ":endwhile".
@@ -1744,7 +1785,7 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
or script is finished.
This command does not work from |:normal|.
{not in Vi}
{not available when compiled without the +ex_extra
{not available when compiled without the |+ex_extra|
feature}
*:stopi* *:stopinsert*
@@ -1763,14 +1804,14 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
script that the replacement will only start after
the function or script is finished.
{not in Vi}
{not available when compiled without the +ex_extra
{not available when compiled without the |+ex_extra|
feature}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
{not in Vi}
{not available when compiled without the +ex_extra
{not available when compiled without the |+ex_extra|
feature}
==============================================================================

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.2. Last change: 2009 Apr 21
*intro.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -194,6 +194,7 @@ patches, suggestions and giving feedback about what is good and bad in Vim.
Vim would never have become what it is now, without the help of these people!
Ron Aaron Win32 GUI changes
Mohsin Ahmed encryption
Zoltan Arpadffy work on VMS port
Tony Andrews Stevie
Gert van Antwerpen changes for DJGPP on MS-DOS
@@ -226,13 +227,13 @@ Vim would never have become what it is now, without the help of these people!
David Leonard Port of Python extensions to Unix
Avner Lottem Edit in right-to-left windows
Flemming Madsen X11 client-server, various features and patches
Microsoft Gave me a copy of DevStudio to compile Vim with
Tony Mechelynck answers many user questions
Paul Moore Python interface extensions, many patches
Katsuhito Nagano Work on multi-byte versions
Sung-Hyun Nam Work on multi-byte versions
Vince Negri Win32 GUI and generic console enhancements
Steve Oualline Author of the first Vim book |frombook|
Dominique Pelle figuring out valgrind reports and fixes
Dominique Pelle valgrind reports and many fixes
A.Politz Many bug reports and some fixes
George V. Reilly Win32 port, Win32 GUI start-off
Stephen Riehm bug collector
@@ -299,7 +300,7 @@ and <> are part of what you type, the context should make this clear.
[] Characters in square brackets are optional.
*count* *[count]* *E489*
*count* *[count]*
[count] An optional number that may precede the command to multiply
or iterate the command. If no number is given, a count of one
is used, unless otherwise noted. Note that in this manual the

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.2. Last change: 2009 Nov 04
*map.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -594,7 +594,7 @@ otherwise you would not be able to use those commands anymore. Here are a few
suggestions:
- Function keys <F2>, <F3>, etc.. Also the shifted function keys <S-F1>,
<S-F2>, etc. Note that <F1> is already used for the help command.
- Meta-keys (with the ALT key pressed). Depending on your keybord accented
- Meta-keys (with the ALT key pressed). Depending on your keyboard accented
characters may be used as well. |:map-alt-keys|
- Use the '_' or ',' character and then any other character. The "_" and ","
commands do exist in Vim (see |_| and |,|), but you probably never use them.
@@ -767,10 +767,10 @@ g@{motion} Call the function set by the 'operatorfunc' option.
The function is called with one String argument:
"line" {motion} was |linewise|
"char" {motion} was |characterwise|
"block" {motion} was |blockwise-visual||
"block" {motion} was |blockwise-visual|
Although "block" would rarely appear, since it can
only result from Visual mode where "g@" is not useful.
{not available when compiled without the +eval
{not available when compiled without the |+eval|
feature}
Here is an example that counts the number of spaces with <F4>: >
@@ -1080,7 +1080,7 @@ to find out what they are defined to.
The |:scriptnames| command can be used to see which scripts have been sourced
and what their <SNR> number is.
This is all {not in Vi} and {not available when compiled without the +eval
This is all {not in Vi} and {not available when compiled without the |+eval|
feature}.
==============================================================================
@@ -1203,18 +1203,22 @@ completion can be enabled:
-complete=augroup autocmd groups
-complete=buffer buffer names
-complete=command Ex command (and arguments)
-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=shellcmd Shell command
-complete=filetype filetype names |'filetype'|
-complete=function function name
-complete=help help subjects
-complete=highlight highlight groups
-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=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
-complete=var user variables
@@ -1266,6 +1270,8 @@ the 'path' option: >
: return split(globpath(&path, a:A), "\n")
:endfun
<
This example does not work for file names with spaces!
Range handling *E177* *E178* *:command-range*
*:command-count*

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.2. Last change: 2009 Nov 17
*mbyte.txt* For Vim version 7.3. Last change: 2010 Jul 26
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -14,7 +14,7 @@ For an introduction to the most common features, see |usr_45.txt| in the user
manual.
For changing the language of messages and menus see |mlang.txt|.
{not available when compiled without the +multi_byte feature}
{not available when compiled without the |+multi_byte| feature}
1. Getting started |mbyte-first|
@@ -753,7 +753,7 @@ Then add a command to your |gvimrc| file to set 'guifont': >
X INPUT METHOD (XIM) BACKGROUND *XIM* *xim* *x-input-method*
XIM is an international input module for X. There are two kind of structures,
XIM is an international input module for X. There are two kinds of structures,
Xlib unit type and |IM-server| (Input-Method server) type. |IM-server| type
is suitable for complex input, such as CJK.
@@ -775,7 +775,7 @@ is suitable for complex input, such as CJK.
For Chinese, there's a great XIM server named "xcin", you can input both
Traditional and Simplified Chinese characters. And it can accept other
locale if you make a correct input table. Xcin can be found at:
http://xcin.linux.org.tw/
http://cle.linux.org.tw/xcin/
Others are scim: http://scim.freedesktop.org/ and fcitx:
http://www.fcitx.org/
@@ -826,7 +826,7 @@ Use the RPM or port for your system.
of Preedit Area and Status Area: |OnTheSpot|, |OffTheSpot|, |OverTheSpot|
and |Root|.
Currently, GUI Vim support three style, |OverTheSpot|, |OffTheSpot| and
Currently, GUI Vim supports three styles, |OverTheSpot|, |OffTheSpot| and
|Root|.
*. on-the-spot *OnTheSpot*
@@ -928,7 +928,7 @@ See 'imactivatekey' for the format.
{only works Windows GUI and compiled with the |+multi_byte_ime| feature}
To input multibyte characters on Windows, you have to use Input Method Editor
To input multibyte characters on Windows, you can use an Input Method Editor
(IME). In process of your editing text, you must switch status (on/off) of
IME many many many times. Because IME with status on is hooking all of your
key inputs, you cannot input 'j', 'k', or almost all of keys to Vim directly.
@@ -947,7 +947,7 @@ the different input methods or disable them temporarily.
WHAT IS IME
IME is a part of East asian version Windows. That helps you to input
multibyte character. English and other language version Windows does not
have any IME. (Also there are no need usually.) But there is one that
have any IME. (Also there is no need usually.) But there is one that
called Microsoft Global IME. Global IME is a part of Internet Explorer
4.0 or above. You can get more information about Global IME, at below
URL.
@@ -963,10 +963,10 @@ WHAT IS GLOBAL IME *global-ime*
language version of Global IME at same place.
- Global IME detailed information.
http://www.microsoft.com/windows/ie/features/ime.asp
http://search.microsoft.com/results.aspx?q=global+ime
- Active Input Method Manager (Global IME)
http://msdn.microsoft.com/workshop/misc/AIMM/aimm.asp
http://msdn.microsoft.com/en-us/library/aa741221(v=VS.85).aspx
Support for Global IME is an experimental feature.
@@ -1267,8 +1267,8 @@ is no longer relevant in the GTK+ 2 GUI.
When reading a file a BOM (Byte Order Mark) can be used to recognize the
Unicode encoding:
EF BB BF utf-8
FF FE utf-16 big endian
FE FF utf-16 little endian
FE FF utf-16 big endian
FF FE utf-16 little endian
00 00 FE FF utf-32 big endian
FF FE 00 00 utf-32 little endian

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.2. Last change: 2009 Oct 28
*message.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,7 +19,7 @@ The ":messages" command can be used to view previously given messages. This
is especially useful when messages have been overwritten or truncated. This
depends on the 'shortmess' option.
The number of remembered messages is fixed at 20 for the tiny version and 100
The number of remembered messages is fixed at 20 for the tiny version and 200
for other versions.
*g<*
@@ -65,14 +65,14 @@ or view a list of recent messages with: >
LIST OF MESSAGES
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
*E323* *E341* *E473* *E570* *E685* >
*E323* *E341* *E473* *E570* *E685* >
Add to read buffer
makemap: Illegal mode
Cannot create BalloonEval with both message and callback
Hangul automata ERROR
block was not locked
Didn't get block nr {N}?
ml_timestamp: Didn't get block 0??
ml_upd_block0(): Didn't get block 0??
pointer block id wrong {N}
Updated too many blocks?
get_varp ERROR
@@ -128,7 +128,6 @@ The color name {name} is unknown. See |gui-colors| for a list of colors that
are available on most systems.
*E458* >
Cannot allocate colormap entry for "xxxx"
Cannot allocate colormap entry, some colors may be incorrect
This means that there are not enough colors available for Vim. It will still
@@ -180,7 +179,7 @@ manually delete the link or the file, or change the permissions so that Vim
can overwrite.
*E46* >
Cannot set read-only variable "{name}"
Cannot change read-only variable "{name}"
You are trying to assign a value to an argument of a function |a:var| or a Vim
internal variable |v:var| which is read-only.
@@ -279,8 +278,8 @@ Writing a file was not completed successfully. The file is probably
incomplete.
*E13* *E189* >
File exists (use ! to override)
"{filename}" exists (use ! to override)
File exists (add ! to override)
"{filename}" exists (add ! to override)
You are protected from accidentally overwriting a file. When you want to
write anyway, use the same command, but add a "!" just after the command.
@@ -349,7 +348,7 @@ the other way around. It should be used like this: {foo,bar}. This matches
"foo" and "bar".
*E315* >
ml_get: invalid lnum:
ml_get: invalid lnum: {number}
This is an internal Vim error. Please try to find out how it can be
reproduced, and submit a bug report |bugreport.vim|.
@@ -420,8 +419,8 @@ mapping. All variations of this command give the same message: ":cunmap",
|:map-<buffer>|
*E37* *E89* >
No write since last change (use ! to override)
No write since last change for buffer {N} (use ! to override)
No write since last change (add ! to override)
No write since last change for buffer {N} (add ! to override)
You are trying to |abandon| a file that has changes. Vim protects you from
losing your work. You can either write the changed file with ":w", or, if you
@@ -468,7 +467,16 @@ Oh, oh. You must have been doing something complicated, or some other program
is consuming your memory. Be careful! Vim is not completely prepared for an
out-of-memory situation. First make sure that any changes are saved. Then
try to solve the memory shortage. To stay on the safe side, exit Vim and
start again. Also see |msdos-limitations|.
start again.
Buffers are only partly kept in memory, thus editing a very large file is
unlikely to cause an out-of-memory situation. Undo information is completely
in memory, you can reduce that with these options:
- 'undolevels' Set to a low value, or to -1 to disable undo completely. This
helps for a change that affects all lines.
- 'undoreload' Set to zero to disable.
Also see |msdos-limitations|.
*E339* >
Pattern too long
@@ -477,7 +485,7 @@ This only happens on systems with 16 bit ints: The compiled regexp pattern is
longer than about 65000 characters. Try using a shorter pattern.
*E45* >
'readonly' option is set (use ! to override)
'readonly' option is set (add ! to override)
You are trying to write a file that was marked as read-only. To write the
file anyway, either reset the 'readonly' option, or add a '!' character just
@@ -539,7 +547,7 @@ Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
can then be used, which is a lot faster than a linear search. If your tags
files are not properly sorted, reset the |'tagbsearch'| option.
This message is only given when Vim detects a problem when searching for a
tag. Sometimes this message is not given, even thought the tags file is not
tag. Sometimes this message is not given, even though the tags file is not
properly sorted.
*E460* >
@@ -586,6 +594,7 @@ when using ":w"), therefore Vim requires using a ! after the command, e.g.:
Messages like this appear when starting up. This is not a Vim problem, your
X11 configuration is wrong. You can find a hint on how to solve this here:
http://groups.yahoo.com/group/solarisonintel/message/12179.
[this URL is no longer valid]
*W10* >
Warning: Changing a readonly file
@@ -641,7 +650,7 @@ bit to be reset. It should be safe to reload the file. Set 'autoread' to
automatically reload the file.
*E211* >
Warning: File "{filename}" no longer available
File "{filename}" no longer available
The file which you have started editing has disappeared, or is no longer
accessible. Make sure you write the buffer somewhere to avoid losing
@@ -688,6 +697,7 @@ no argument has been specified.
*E474* *E475* >
Invalid argument
Invalid argument: {arg}
An Ex command has been executed, but an invalid argument has been specified.
@@ -715,8 +725,8 @@ A range was specified for an Ex command that doesn't permit one. See
Vim cannot create a temporary file.
*E484* *E485* >
Can't open file %s"
Can't read file %s"
Can't open file {filename}
Can't read file {filename}
Vim cannot read a temporary file.

View File

@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.2. Last change: 2008 Jun 08
*mlang.txt* For Vim version 7.3. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -58,8 +58,10 @@ use of "-" and "_".
The locale {name} must be a valid locale on your
system. Some systems accept aliases like "en" or
"en_US", but some only accept the full specification
like "en_US.ISO_8859-1".
With the "messages" argument the language used for
like "en_US.ISO_8859-1". On Unix systems you can use
the 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,
for example, English messages while editing Japanese
text. This sets $LC_MESSAGES.

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.2. Last change: 2009 Sep 15
*motion.txt* For Vim version 7.3. Last change: 2010 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -315,6 +315,7 @@ _ <underscore> [count] - 1 lines downward, on the first non-blank
G Goto line [count], default last line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
G is a one of |jump-motions|.
*<C-End>*
<C-End> Goto line [count], default last line, on the last
@@ -328,6 +329,8 @@ gg Goto line [count], default first line, on the first
:[range] Set the cursor on the last line number in [range].
[range] can also be just one line number, e.g., ":1"
or ":'m".
In contrast with |G| this command does not modify the
|jumplist|.
*N%*
{count}% Go to {count} percentage in the file, on the first
non-blank in the line |linewise|. To compute the new
@@ -1007,7 +1010,7 @@ unless the line containing that position was changed or deleted.
*CTRL-O*
CTRL-O Go to [count] Older cursor position in jump list
(not a motion command). {not in Vi}
{not available without the +jumplist feature}
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
@@ -1015,18 +1018,18 @@ CTRL-I Go to [count] newer cursor position in jump list
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}
{not available without the |+jumplist| feature}
*:ju* *:jumps*
:ju[mps] Print the jump list (not a motion command). {not in
Vi} {not available without the +jumplist feature}
Vi} {not available without the |+jumplist| feature}
*jumplist*
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
can go to cursor positions before older jumps, and back again. Thus you can
move up and down the list. There is a separate jump list for each window.
The maximum number of entries is fixed at 100.
{not available without the +jumplist feature}
{not available without the |+jumplist| feature}
For example, after three jump commands you have this jump list:
@@ -1103,14 +1106,14 @@ g; Go to [count] older position in change list.
If there is no older change an error message is given.
(not a motion command)
{not in Vi}
{not available without the +jumplist feature}
{not available without the |+jumplist| feature}
*g,* *E663*
g, Go to [count] newer cursor position in change list.
Just like |g;| but in the opposite direction.
(not a motion command)
{not in Vi}
{not available without the +jumplist feature}
{not available without the |+jumplist| feature}
When using a count you jump as far back or forward as possible. Thus you can
use "999g;" to go to the first change for which the position is still

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.2. Last change: 2009 Jan 06
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -14,7 +14,7 @@ Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
4. Error Messages |netbeans-messages|
5. Running Vim in NetBeans mode |netbeans-run|
6. NetBeans protocol |netbeans-protocol|
7. NetBeans key |netbeans-key|
7. NetBeans commands |netbeans-commands|
8. Known problems |netbeans-problems|
9. Debugging NetBeans protocol |netbeans-debugging|
10. NetBeans External Editor
@@ -48,6 +48,8 @@ Current projects using the NetBeans protocol of Vim are:
http://www.a-a-p.org
- Clewn, a gdb integration into Vim, written in C:
http://clewn.sourceforge.net/
- Pyclewn, a gdb integration into Vim, written in Python:
http://pyclewn.sourceforge.net/
- VimPlugin, integration of Vim inside Eclipse:
http://vimplugin.sourceforge.net/wiki/pmwiki.php
- PIDA, IDE written in Python integrating Vim:
@@ -101,7 +103,8 @@ use the |clientserver| interface.
==============================================================================
3. Configuring Vim for NetBeans *netbeans-configure*
For more help installing Vim, please read |usr_90.txt| in the Vim User Manual.
For more help about installing Vim, please read |usr_90.txt| in the Vim User
Manual.
On Unix:
@@ -114,9 +117,9 @@ the required features succeeds.
In case you do not want the NetBeans interface you can disable it by
uncommenting a line with "--disable-netbeans" in the Makefile.
Currently, only GVim is supported in this integration as NetBeans does not
have means to supply a terminal emulator for the Vim command. Furthermore,
there is only GUI support for GTK, GNOME, and Motif.
Currently the NetBeans interface is supported by Vim running in a terminal and
by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
Athena and Motif.
If Motif support is required the user must supply XPM libraries. See
|workshop-xpm| for details on obtaining the latest version of XPM.
@@ -150,6 +153,12 @@ Region is guarded, cannot modify
which you cannot change. Also sets the current buffer, if
necessary.
*E532*
The defineAnnoType highlighting color name is too long
The maximum length of the "fg" or "bg" color argument in the
defineAnnoType command is 32 characters.
New in version 2.5.
*E656*
Writes of unmodified buffers forbidden
Writes of unmodified buffers that were opened from the
@@ -180,25 +189,37 @@ Read-only file
==============================================================================
5. Running Vim in NetBeans mode *netbeans-run*
Vim must be started with the |-nb| argument. Three forms can be used, that
differ in the way the information for the connection is specified:
There are two different ways to run Vim in NetBeans mode:
+ an IDE may start Vim with the |-nb| command line argument
+ NetBeans can be started from within Vim with the |:nbstart| command
*netbeans-parameters*
Three forms can be used to setup the NetBeans connection parameters.
When started from the command line, the |-nb| command line argument may be:
-nb={fname} from a file
-nb:{hostname}:{addr}:{password} directly
-nb from a file or environment
When started from within Vim, the |:nbstart| optional argument may be:
={fname} from a file
:{hostname}:{addr}:{password} directly
<MISSING ARGUMENT> from a file or environment
*E660* *E668*
For security reasons, the best method is to write the information in a file
readable only by the user. The name of the file can be passed with the
"-nb={fname}" argument or, when "-nb" is used without a parameter, the
environment variable "__NETBEANS_CONINFO". The file must contain these three
lines, in any order:
When NetBeans is started from the command line, for security reasons, the best
method is to write the information in a file readable only by the user. The
name of the file can be passed with the "-nb={fname}" argument or, when "-nb"
is used without a parameter, the environment variable "__NETBEANS_CONINFO".
The file must contain these three lines, in any order:
host={hostname}
port={addr}
auth={password}
Other lines are ignored. The caller of Vim is responsible for deleting the
Other lines are ignored. The Vim Controller is responsible for deleting the
file afterwards.
{hostname} is the name of the machine where Vim Controller is running. When
@@ -235,8 +256,8 @@ problems and has been fixed in 2.2. To decrease the likelihood of this
confusion happening again, netbeans_saved() has been renamed to
netbeans_save_buffer().
We are now at version 2.4. For the differences between 2.3 and 2.4 search for
"2.4" below.
We are now at version 2.5. For the differences between 2.4 and 2.5 search for
"2.5" below.
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
@@ -303,8 +324,11 @@ boolean Argument with two possible values:
number Argument with a decimal number.
optnum Argument with either a decimal number or "none" (without the
quotes).
color Argument with either a decimal number, "none" (without the
quotes) or the name of a color (without the quotes) defined
both in the color list in |highlight-ctermfg| and in the color
list in |gui-colors|.
New in version 2.5.
offset A number argument that indicates a byte position in a buffer.
The first byte has offset zero. Line breaks are counted for
@@ -365,9 +389,14 @@ defineAnnoType typeNum typeName tooltip glyphFile fg bg
typeName string name that identifies this annotation
tooltip string not used
glyphFile string name of icon file
fg optnum foreground color for line highlighting
bg optnum background color for line highlighting
fg color foreground color for line highlighting
bg color background color for line highlighting
Vim will define a sign for the annotation.
When color is a number, this is the "#rrggbb" Red, Green and
Blue values of the color (see |gui-colors|) and the
highlighting is only defined for GVim.
When color is a name, this color is defined both for Vim
running in a color terminal and for GVim.
When both "fg" and "bg" are "none" no line highlighting is
used (new in version 2.1).
When "glyphFile" is empty, no text sign is used (new in
@@ -431,6 +460,7 @@ putBufferNumber pathname
New in version 2.1.
raise Bring the editor to the foreground.
Only when Vim is run with a GUI.
New in version 2.1.
removeAnno serNum
@@ -520,6 +550,7 @@ showBalloon text
Show a balloon (popup window) at the mouse pointer position,
containing "text", a string argument. The balloon should
disappear when the mouse is moved more than a few pixels.
Only when Vim is run with a GUI.
New in version 2.1.
specialKeys
@@ -653,6 +684,7 @@ balloonText text
Used when 'ballooneval' is set and the mouse pointer rests on
some text for a moment. "text" is a string, the text under
the mouse pointer.
Only when Vim is run with a GUI.
New in version 2.1.
buttonRelease button lnum col
@@ -786,10 +818,22 @@ These errors occur when a message violates the protocol:
==============================================================================
7. NetBeans key *netbeans-key*
7. NetBeans commands *netbeans-commands*
*:nbstart* *E511* *E838*
:nbs[tart] {connection} Start a new Netbeans session with {connection} as the
socket connection parameters. The format of
{connection} is described in |netbeans-parameters|.
At any time, one may check if the netbeans socket is
connected by running the command:
':echo has("netbeans_enabled")'
*:nbclose*
:nbc[lose] Close the current NetBeans session. Remove all placed
signs.
*:nbkey*
:nbkey key Pass the key to the Vim Controller for processing
: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
@@ -802,6 +846,13 @@ newDotAndMark, keyCommand and keyAtPos are generated (in this order).
NUL bytes are not possible. For editor -> IDE they will appear as NL
characters. For IDE -> editor they cannot be inserted.
A NetBeans session may be initiated with Vim running in a terminal, and
continued later in a GUI environment after running the |:gui| command. In this
case, the highlighting defined for the NetBeans annotations may be cleared
when the ":gui" command sources .gvimrc and this file loads a colorscheme
that runs the command ":highlight clear".
New in version 2.5.
==============================================================================
9. Debugging NetBeans protocol *netbeans-debugging*

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.2. Last change: 2010 Jan 06
*options.txt* For Vim version 7.3. Last change: 2010 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -40,6 +40,7 @@ achieve special effects. These options come in three forms:
:se[t] no{option} Toggle option: Reset, switch it off.
*:set-!* *:set-inv*
:se[t] {option}! or
:se[t] inv{option} Toggle option: Invert value. {not in Vi}
@@ -136,7 +137,7 @@ A few special texts:
Last set from error handler ~
Option was cleared when evaluating it resulted in an error.
{not available when compiled without the +eval feature}
{not available when compiled without the |+eval| feature}
*:set-termcap* *E522*
For {option} the form "t_xx" may be used to set a terminal option. This will
@@ -272,10 +273,10 @@ You will not get back the 'list' value as it was the last time you edited
current buffer or window. Not all options have a
local value. If the option does not have a local
value the global value is set.
With the "all" argument: display all local option's
local values.
Without argument: Display all local option's local
values which are different from the default.
With the "all" argument: display local values for all
local options.
Without argument: Display local values for all local
options which are different from the default.
When displaying a specific local option, show the
local value. For a global/local boolean option, when
the global value is being used, "--" is displayed
@@ -297,10 +298,10 @@ You will not get back the 'list' value as it was the last time you edited
:setg[lobal] ... Like ":set" but set only the global value for a local
option without changing the local value.
When displaying an option, the global value is shown.
With the "all" argument: display all local option's
global values.
Without argument: display all local option's global
values which are different from the default.
With the "all" argument: display global values for all
local options.
Without argument: display global values for all local
options which are different from the default.
{not in Vi}
For buffer-local and window-local options:
@@ -664,6 +665,9 @@ A jump table for the options with a short description can be found at |Q_op|.
"single": Use the same width as characters in US-ASCII. This is
expected by most users.
"double": Use twice the width of ASCII characters.
*E834* *E835*
The value "double" cannot be used if 'listchars' or 'fillchars'
contains a character that would be double width.
There are a number of CJK fonts for which the width of glyphs for
those characters are solely based on how many octets they take in
@@ -696,8 +700,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'autochdir' 'acd' boolean (default off)
global
{not in Vi}
{only available when compiled with the
|+netbeans_intg| or |+sun_workshop| feature}
{only available when compiled with it, use
exists("+autochdir") to check}
When on, Vim will change the current working directory whenever you
open a file, switch buffers, delete a buffer or open/close a window.
It will change to the directory containing the file which was opened
@@ -1155,7 +1159,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'breakat' 'brk' string (default " ^I!@*-+;:,./?")
global
{not in Vi}
{not available when compiled without the |+linebreak|
{not available when compiled without the |+linebreak|
feature}
This option lets you choose which characters might cause a line
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
@@ -1168,7 +1172,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Win32 GUI}
Which directory to use for the file browser:
last Use same directory as with last file browser, where a
file was opened or saved.
file was opened or saved.
buffer Use the directory of the related buffer.
current Use the current directory.
{path} Use the specified directory
@@ -1315,7 +1319,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'charconvert' 'ccv' string (default "")
global
{only available when compiled with the |+multi_byte|
feature and the |+eval| feature}
and |+eval| features}
{not in Vi}
An expression that is used for character encoding conversion. It is
evaluated when a file that is to be read or has been written has a
@@ -1449,6 +1453,8 @@ A jump table for the options with a short description can be found at |Q_op|.
as HTML. This works to copy rendered HTML from
Firefox, paste it as raw HTML in Vim, select the HTML
in Vim and paste it in a rich edit box in Firefox.
You probably want to add this only temporarily,
possibly use BufEnter autocommands.
Only supported for GTK version 2 and later.
Only available with the |+multi_byte| feature.
@@ -1490,6 +1496,25 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Number of screen lines to use for the command-line window. |cmdwin|
*'colorcolumn'* *'cc'*
'colorcolumn' 'cc' string (default "")
local to window
{not in Vi}
{not available when compiled without the |+syntax|
feature}
'colorcolumn' is a comma separated list of screen columns that are
highlighted with ColorColumn |hl-ColorColumn|. Useful to align
text. Will make screen redrawing slower.
The screen column can be an absolute number, or a number preceded with
'+' or '-', which is added to or subtracted from 'textwidth'. >
:set cc=+1 " highlight column after 'textwidth'
:set cc=+1,+2,+3 " highlight three columns after 'textwidth'
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
<
When 'textwidth' is zero then the items with '-' and '+' are not used.
A maximum of 256 columns are highlighted.
*'columns'* *'co'* *E594*
'columns' 'co' number (default 80 or terminal width)
global
@@ -1618,7 +1643,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'whichwrap' + "" left-right movements don't wrap
'wildchar' + CTRL-E only when the current value is <Tab>
use CTRL-E for cmdline completion
'writebackup' on or off depends on +writebackup feature
'writebackup' on or off depends on the |+writebackup| feature
*'complete'* *'cpt'* *E535*
'complete' 'cpt' string (default: ".,w,b,u,t,i")
@@ -1668,8 +1693,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'completefunc' 'cfu' string (default: empty)
local to buffer
{not in Vi}
{not available when compiled without the +eval
or +insert_expand feature}
{not available when compiled without the |+eval|
or |+insert_expand| features}
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
@@ -1704,6 +1729,55 @@ A jump table for the options with a short description can be found at |Q_op|.
combination with "menu" or "menuone".
*'concealcursor'* *'cocu'*
'concealcursor' 'cocu' string (default: "")
local to window
{not in Vi}
{not available when compiled without the |+conceal|
feature}
Sets the modes in which text in the cursor line can also be concealed.
When the current mode is listed then concealing happens just like in
other lines.
n Normal mode
v Visual mode
i Insert mode
c Command line editing, for 'incsearch'
'v' applies to all lines in the Visual area, not only the cursor.
A useful value is "nc". This is used in help files. So long as you
are moving around text is concealed, but when starting to insert text
or selecting a Visual area the concealed text is displayed, so that
you can see what you are doing.
Keep in mind that the cursor position is not always where it's
displayed. E.g., when moving vertically it may change column.
'conceallevel' 'cole' *'conceallevel'* *'cole'*
number (default 0)
local to window
{not in Vi}
{not available when compiled without the |+conceal|
feature}
Determine how text with the "conceal" syntax attribute |:syn-conceal|
is shown:
Value Effect ~
0 Text is shown normally
1 Each block of concealed text is replaced with one
character. If the syntax item does not have a custom
replacement character defined (see |:syn-cchar|) the
character defined in 'listchars' is used (default is a
space).
It is highlighted with the "Conceal" highlight group.
2 Concealed text is completely hidden unless it has a
custom replacement character defined (see
|:syn-cchar|).
3 Concealed text is completely hidden.
Note: in the cursor line concealed text is not hidden, so that you can
edit and copy the text. This can be changed with the 'concealcursor'
option.
*'confirm'* *'cf'* *'noconfirm'* *'nocf'*
'confirm' 'cf' boolean (default off)
global
@@ -1883,8 +1957,9 @@ A jump table for the options with a short description can be found at |Q_op|.
parenthesis match. When included "%" ignores
backslashes, which is Vi compatible.
*cpo-n*
n When included, the column used for 'number' will also
be used for text of wrapped lines.
n When included, the column used for 'number' and
'relativenumber' will also be used for text of wrapped
lines.
*cpo-o*
o Line offset to search command is not remembered for
next search.
@@ -2047,6 +2122,36 @@ A jump table for the options with a short description can be found at |Q_op|.
with system specific functions.
*'cryptmethod'* *'cm'*
'cryptmethod' string (default "zip")
global or local to buffer |global-local|
{not in Vi}
Method used for encryption when the buffer is written to a file:
*pkzip*
zip PkZip compatible method. A weak kind of encryption.
Backwards compatible with Vim 7.2 and older.
*blowfish*
blowfish Blowfish method. Strong encryption. Requires Vim 7.3
or later, files can NOT be read by Vim 7.2 and older.
This adds a "seed" to the file, every time you write
the file the encrypted bytes will be different.
When reading an encrypted file 'cryptmethod' will be set automatically
to the detected method of the file being read. Thus if you write it
without changing 'cryptmethod' the same method will be used.
Changing 'cryptmethod' does not mark the file as modified, you have to
explicitly write it, you don't get a warning unless there are other
modifications. Also see |:X|.
When setting the global value to an empty string, it will end up with
the value "zip". When setting the local value to an empty string the
buffer will use the global value.
When a new encryption method is added in a later version of Vim, and
the current version does not recognize it, you will get *E821* .
You need to edit this file with the later version of Vim.
*'cscopepathcomp'* *'cspc'*
'cscopepathcomp' 'cspc' number (default 0)
global
@@ -2104,12 +2209,26 @@ A jump table for the options with a short description can be found at |Q_op|.
Give messages when adding a cscope database. See |cscopeverbose|.
NOTE: This option is reset when 'compatible' is set.
*'cursorbind'* *'crb'* *'nocursorbind'* *'nocrb'*
'cursorbind' 'crb' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+cursorbind|
feature}
When this option is set, as the cursor in the current
window moves other cursorbound windows (windows that also have
this option set) move their cursors to the corresponding line and
column. This option is useful for viewing the
differences between two versions of a file (see 'diff'); in diff mode,
inserted and deleted lines (though not characters within a line) are
taken into account.
*'cursorcolumn'* *'cuc'* *'nocursorcolumn'* *'nocuc'*
'cursorcolumn' 'cuc' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+syntax|
{not available when compiled without the |+syntax|
feature}
Highlight the screen column of the cursor with CursorColumn
|hl-CursorColumn|. Useful to align text. Will make screen redrawing
@@ -2124,7 +2243,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'cursorline' 'cul' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+syntax|
{not available when compiled without the |+syntax|
feature}
Highlight the screen line of the cursor with CursorLine
|hl-CursorLine|. Useful to easily spot the cursor. Will make screen
@@ -2344,7 +2463,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'eadirection' 'ead' string (default "both")
global
{not in Vi}
{not available when compiled without the +vertsplit
{not available when compiled without the |+vertsplit|
feature}
Tells when the 'equalalways' option applies:
ver vertically, width of windows is not affected
@@ -2375,6 +2494,9 @@ A jump table for the options with a short description can be found at |Q_op|.
It should normally be kept at its default value, or set when Vim
starts up. See |multibyte|. To reload the menus see |:menutrans|.
This option cannot be set from a |modeline|. It would most likely
corrupt the text.
NOTE: For GTK+ 2 it is highly recommended to set 'encoding' to
"utf-8". Although care has been taken to allow different values of
'encoding', "utf-8" is the natural choice for the environment and
@@ -2558,6 +2680,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
{not in Vi}
Sets the character encoding for the file of this buffer.
When 'fileencoding' is different from 'encoding', conversion will be
done when writing the file. For reading see below.
When 'fileencoding' is empty, the same value as 'encoding' will be
@@ -2570,24 +2693,32 @@ A jump table for the options with a short description can be found at |Q_op|.
is most likely done in a way that the reverse conversion
results in the same text. When 'encoding' is not "utf-8" some
characters may be lost!
See 'encoding' for the possible values. Additionally, values may be
specified that can be handled by the converter, see
|mbyte-conversion|.
When reading a file 'fileencoding' will be set from 'fileencodings'.
To read a file in a certain encoding it won't work by setting
'fileencoding', use the |++enc| argument. One exception: when
'fileencodings' is empty the value of 'fileencoding' is used.
For a new file the global value of 'fileencoding' is used.
Prepending "8bit-" and "2byte-" has no meaning here, they are ignored.
When the option is set, the value is converted to lowercase. Thus
you can set it with uppercase values too. '_' characters are
replaced with '-'. If a name is recognized from the list for
'encoding', it is replaced by the standard name. For example
"ISO8859-2" becomes "iso-8859-2".
When this option is set, after starting to edit a file, the 'modified'
option is set, because the file would be different when written.
If you do this in a modeline, you might want to set 'nomodified' to
avoid this.
Keep in mind that changing 'fenc' from a modeline happens
AFTER the text has been read, thus it applies to when the file will be
written. If you do set 'fenc' in a modeline, you might want to set
'nomodified' to avoid not being able to ":q".
This option can not be changed when 'modifiable' is off.
*'fe'*
@@ -2705,13 +2836,13 @@ A jump table for the options with a short description can be found at |Q_op|.
2. If a <NL> is found and 'fileformats' includes "unix", 'fileformat'
is set to "unix". Note that when a <NL> is found without a
preceding <CR>, "unix" is preferred over "dos".
3. If 'fileformats' includes "mac", 'fileformat' is set to "mac".
This means that "mac" is only chosen when "unix" is not present,
or when no <NL> is found in the file, and when "dos" is not
present, or no <CR><NL> is present in the file.
Also if "unix" was first chosen, but the first <CR> is before
the first <NL> and there appears to be more <CR>'s than <NL>'s in
the file, then 'fileformat' is set to "mac".
3. If 'fileformat' has not yet been set, and if 'fileformats'
includes "mac", 'fileformat' is set to "mac".
This means that "mac" is only chosen when:
"unix" is not present or no <NL> is found in the file, and
"dos" is not present or no <CR><NL> is found in the file.
Except: if "unix" was chosen, but there is a <CR> before
the first <NL>, and there appear to be more <CR>s than <NL>s in
4. If 'fileformat' is still not set, the first name from
'fileformats' is used.
When reading a file into an existing buffer, the same is done, but
@@ -2850,7 +2981,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window
{not in Vi}
{not available when compiled without the |+folding|
or |+eval| feature}
or |+eval| features}
The expression used for when 'foldmethod' is "expr". It is evaluated
for each line to obtain its fold level. See |fold-expr|.
@@ -3049,12 +3180,15 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+eval|
feature}
Expression which is evaluated to format a range of lines for the |gq|
operator. When this option is empty 'formatprg' is used.
operator or automatic formatting (see 'formatoptions'). When this
option is empty 'formatprg' is used.
The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted. This can be empty. Don't insert it yet!
inserted if the expression is being evaluated due to
automatic formatting. This can be empty. Don't insert
it yet!
Example: >
:set formatexpr=mylang#Format()
@@ -3065,8 +3199,10 @@ A jump table for the options with a short description can be found at |Q_op|.
text beyond that limit. This happens under the same conditions as
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation. When the function returns
non-zero Vim will fall back to using the internal format mechanism.
return "i" or "R" in this situation.
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|.
@@ -3424,15 +3560,15 @@ A jump table for the options with a short description can be found at |Q_op|.
'i' Use a Vim icon. For GTK with KDE it is used in the left-upper
corner of the window. It's black&white on non-GTK, because of
limitations of X11. For a color icon, see |X11-icon|.
*'go-m'*
*'go-m'*
'm' Menu bar is present.
*'go-M'*
*'go-M'*
'M' The system menu "$VIMRUNTIME/menu.vim" is not sourced. Note
that this flag must be added in the .vimrc file, before
switching on syntax or filetype recognition (when the |gvimrc|
file is sourced the system menu has already been loaded; the
":syntax on" and ":filetype on" commands load the menu too).
*'go-g'*
*'go-g'*
'g' Grey menu items: Make menu items that are not active grey. If
'g' is not included inactive menu items are not shown at all.
Exception: Athena will always use grey menu items.
@@ -3444,36 +3580,36 @@ A jump table for the options with a short description can be found at |Q_op|.
and Athena GUIs.
*'go-r'*
'r' Right-hand scrollbar is always present.
*'go-R'*
*'go-R'*
'R' Right-hand scrollbar is present when there is a vertically
split window.
*'go-l'*
*'go-l'*
'l' Left-hand scrollbar is always present.
*'go-L'*
*'go-L'*
'L' Left-hand scrollbar is present when there is a vertically
split window.
*'go-b'*
'b' Bottom (horizontal) scrollbar is present. Its size depends on
the longest visible line, or on the cursor line if the 'h'
flag is included. |gui-horiz-scroll|
*'go-h'*
*'go-h'*
'h' Limit horizontal scrollbar size to the length of the cursor
line. Reduces computations. |gui-horiz-scroll|
And yes, you may even have scrollbars on the left AND the right if
you really want to :-). See |gui-scrollbars| for more information.
*'go-v'*
*'go-v'*
'v' Use a vertical button layout for dialogs. When not included,
a horizontal layout is preferred, but when it doesn't fit a
vertical layout is used anyway.
*'go-p'*
*'go-p'*
'p' Use Pointer callbacks for X11 GUI. This is required for some
window managers. If the cursor is not blinking or hollow at
the right moment, try adding this flag. This must be done
before starting the GUI. Set it in your |gvimrc|. Adding or
removing it after the GUI has started has no effect.
*'go-F'*
*'go-F'*
'F' Add a footer. Only for Motif. See |gui-footer|.
@@ -3490,7 +3626,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
{only available when compiled with GUI enabled and
with the +windows feature}
with the |+windows| feature}
When nonempty describes the text to use in a label of the GUI tab
pages line. When empty and when the result is empty Vim will use a
default label. See |setting-guitablabel| for more info.
@@ -3507,7 +3643,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
{only available when compiled with GUI enabled and
with the +windows feature}
with the |+windows| feature}
When nonempty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
@@ -3534,7 +3670,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'helpheight' 'hh' number (default 20)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
Minimal initial height of the help window when it is opened with the
":help" command. The initial height of the help window is half of the
@@ -3587,7 +3723,7 @@ A jump table for the options with a short description can be found at |Q_op|.
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn,B:SpellBad,P:SpellCap,
R:SpellRare,L:SpellLocal,
R:SpellRare,L:SpellLocal,-:Conceal,
+:Pmenu,=:PmenuSel,
x:PmenuSbar,X:PmenuThumb")
global
@@ -3607,7 +3743,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-Search| l last search pattern highlighting (see 'hlsearch')
|hl-MoreMsg| m |more-prompt|
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|hl-LineNr| n line number for ":number" and ":#" commands
|hl-LineNr| n line number for ":number" and ":#" commands, and
when 'number' or 'relativenumber' option 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
@@ -3627,9 +3764,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-DiffText| T inserted text in diff mode
|hl-SignColumn| > column used for |signs|
|hl-SpellBad| B misspelled word |spell|
|hl-SpellCap| P word that should start with capital|spell|
|hl-SpellCap| P word that should start with capital |spell|
|hl-SpellRare| R rare word |spell|
|hl-SpellLocal| L word from other region |spell|
|hl-Conceal| - the placeholders used for concealed characters
(see 'conceallevel')
|hl-Pmenu| + popup menu normal line
|hl-PmenuSel| = popup menu normal line
|hl-PmenuSbar| x popup menu scrollbar
@@ -3759,7 +3898,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
{only available when compiled with |+xim| and
|+GUI_GTK|}
|+GUI_GTK|} *E599*
Specifies the key that your Input Method in X-Windows uses for
activation. When this is specified correctly, vim can fully control
IM with 'imcmdline', 'iminsert' and 'imsearch'.
@@ -3790,8 +3929,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imcmdline' 'imc' boolean (default off)
global
{not in Vi}
{only available when compiled with the |+xim|
|+multi_byte_ime| or |global-ime| feature}
{only available when compiled with the |+xim|,
|+multi_byte_ime| or |global-ime| features}
When set the Input Method is always on when starting to edit a command
line, unless entering a search pattern (see 'imsearch' for that).
Setting this option is useful when your input method allows entering
@@ -3802,8 +3941,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'imdisable' 'imd' boolean (default off, on for some systems (SGI))
global
{not in Vi}
{only available when compiled with the |+xim|
|+multi_byte_ime| or |global-ime| feature}
{only available when compiled with the |+xim|,
|+multi_byte_ime| or |global-ime| features}
When set the Input Method is never used. This is useful to disable
the IM when it doesn't work properly.
Currently this option is on by default for SGI/IRIX machines. This
@@ -3873,7 +4012,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
{not in Vi}
{not available when compiled without the
|+find_in_path| or |+eval| feature}
|+find_in_path| or |+eval| features}
Expression to be used to transform the string found with the 'include'
option to a file name. Mostly useful to change "." to "/" for Java: >
:set includeexpr=substitute(v:fname,'\\.','/','g')
@@ -3894,7 +4033,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
{not available when compiled without the
|+extra_search| feature}
|+extra_search| features}
While typing a search command, show where the pattern, as it was typed
so far, matches. The matched string is highlighted. If the pattern
is invalid or not found, nothing is shown. The screen will be updated
@@ -3910,7 +4049,9 @@ A jump table for the options with a short description can be found at |Q_op|.
The highlighting can be set with the 'i' flag in 'highlight'.
See also: 'hlsearch'.
CTRL-L can be used to add one character from after the current match
to the command line.
to the command line. If 'ignorecase' and 'smartcase' are set and the
command line has no uppercase characters, the added character is
converted to lowercase.
CTRL-R CTRL-W can be used to add the word at the end of the current
match, excluding the characters that were already typed.
NOTE: This option is reset when 'compatible' is set.
@@ -4137,8 +4278,10 @@ A jump table for the options with a short description can be found at |Q_op|.
'key' string (default "")
local to buffer
{not in Vi}
{only available when compiled with the |+cryptv|
feature}
The key that is used for encrypting and decrypting the current buffer.
See |encryption|.
See |encryption| and 'cryptmethod'.
Careful: Do not set the key value by hand, someone might see the typed
key. Use the |:X| command. But you can make 'key' empty: >
:set key=
@@ -4283,7 +4426,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'linebreak' 'lbr' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the |+linebreak|
{not available when compiled without the |+linebreak|
feature}
If on Vim will wrap long lines at a character in 'breakat' rather
than at the last character that fits on the screen. Unlike
@@ -4369,8 +4512,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'listchars' 'lcs' string (default "eol:$")
global
{not in Vi}
Strings to use in 'list' mode. It is a comma separated list of string
settings.
Strings to use in 'list' mode and for the |:list| command. It is a
comma separated list of string settings.
eol:c Character to show at the end of each line. When
omitted, there is no extra character at the end of the
line.
@@ -4387,6 +4530,8 @@ A jump table for the options with a short description can be found at |Q_op|.
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.
conceal:c Character to show in place of concealed text, when
'conceallevel' is set to 1.
nbsp:c Character to show for a non-breakable space (character
0xA0, 160). Left blank when omitted.
@@ -4519,7 +4664,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'maxfuncdepth' 'mfd' number (default 100)
global
{not in Vi}
{not available when compiled without the +eval
{not available when compiled without the |+eval|
feature}
Maximum depth of function calls for user functions. This normally
catches endless recursion. When using a recursive function with
@@ -4849,7 +4994,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.
letter index a), b), etc. *octal-number*
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
@@ -4870,6 +5015,7 @@ A jump table for the options with a short description can be found at |Q_op|.
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.
*'numberwidth'* *'nuw'*
'numberwidth' 'nuw' number (Vim default: 4 Vi default: 8)
@@ -4878,13 +5024,14 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |+linebreak|
feature}
Minimal number of columns to use for the line number. Only relevant
when the 'number' option is set or printing lines with a line number.
Since one space is always between the number and the text, there is
one less character for the number itself.
when the 'number' or 'relativenumber' option is set or printing lines
with a line number. Since one space is always between the number and
the text, there is one less character for the number itself.
The value is the minimum width. A bigger width is used when needed to
fit the highest line number in the buffer. Thus with the Vim default
of 4 there is room for a line number up to 999. When the buffer has
1000 lines five columns will be used.
fit the highest line number in the buffer respectively the number of
rows in the window, depending on whether 'number' or 'relativenumber'
is set. Thus with the Vim default of 4 there is room for a line number
up to 999. When the buffer has 1000 lines five columns will be used.
The minimum value is 1, the maximum value is 10.
NOTE: 'numberwidth' is reset to 8 when 'compatible' is set.
@@ -4892,8 +5039,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'omnifunc' 'ofu' string (default: empty)
local to buffer
{not in Vi}
{not available when compiled without the +eval
or +insert_expand feature}
{not available when compiled without the |+eval|
or |+insert_expand| features}
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is
@@ -5121,7 +5268,7 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
{not available when compiled without the |+windows| or
|+quickfix| feature}
|+quickfix| features}
Default height for a preview window. Used for |:ptag| and associated
commands. Used for |CTRL-W_}| when no count is given.
@@ -5131,7 +5278,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window
{not in Vi}
{not available when compiled without the |+windows| or
|+quickfix| feature}
|+quickfix| features}
Identifies the preview window. Only one window can have this option
set. It's normally not set directly, but by using one of the commands
|:ptag|, |:pedit|, etc.
@@ -5258,6 +5405,25 @@ 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.
*'relativenumber'* *'rnu'* *'norelativenumber'* *'nornu'*
'relativenumber' 'rnu' boolean (default off)
local to window
{not in Vi}
Show the line number relative to the line with the cursor in front of
each line. Relative line numbers help you use the |count| you can
precede some vertical motion commands (e.g. j k + -) with, without
having to calculate it yourself. Especially useful in combination with
other commands (e.g. y d c < > gq gw =).
When the 'n' option is excluded from 'cpoptions' a wrapped
line will not use the column of line numbers (this is the default when
'compatible' isn't set).
The 'numberwidth' option can be used to set the room used for the line
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.
*'remap'* *'noremap'*
'remap' boolean (default on)
global
@@ -5317,7 +5483,7 @@ A jump table for the options with a short description can be found at |Q_op|.
and left-to-right strings so that both sets are displayed properly
in different windows). Also see |rileft.txt|.
*'rightleftcmd'* *'rlc'* *'norightleftcmd'* *'norlc'*
*'rightleftcmd'* *'rlc'*
'rightleftcmd' 'rlc' string (default "search")
local to window
{not in Vi}
@@ -5603,7 +5769,7 @@ A jump table for the options with a short description can be found at |Q_op|.
help,options,tabpages,winsize")
global
{not in Vi}
{not available when compiled without the +mksession
{not available when compiled without the |+mksession|
feature}
Changes the effect of the |:mksession| command. It is a comma
separated list of words. Each word enables saving and restoring
@@ -5708,7 +5874,8 @@ A jump table for the options with a short description can be found at |Q_op|.
in a file and echoed to the screen. If the 'shell' option is "csh" or
"tcsh" after initializations, the default becomes "|& tee". If the
'shell' option is "sh", "ksh", "zsh" or "bash" the default becomes
"2>&1| tee". This means that stderr is also included.
"2>&1| tee". This means that stderr is also included. Before using
the 'shell' option a path is removed, thus "/bin/sh" uses "sh".
The initialization of this option is done after reading the ".vimrc"
and the other initializations, so that when the 'shell' option is set
there, the 'shellpipe' option changes automatically, unless it was
@@ -5912,14 +6079,14 @@ A jump table for the options with a short description can be found at |Q_op|.
'showbreak' 'sbr' string (default "")
global
{not in Vi}
{not available when compiled without the |+linebreak|
{not available when compiled without the |+linebreak|
feature}
String to put at the start of lines that have been wrapped. Useful
values are "> " or "+++ ": >
:set showbreak=>\
< Note the backslash to escape the trailing space. It's easier like
this: >
:let &showbreak = '+++ '
:let &showbreak = '+++ '
< Only printable single-cell characters are allowed, excluding <Tab> and
comma (in a future version the comma might be used to separate the
part that is shown at the end and at the start of a line).
@@ -5940,6 +6107,8 @@ A jump table for the options with a short description can be found at |Q_op|.
option off if your terminal is slow.
In Visual mode the size of the selected area is shown:
- When selecting characters within a line, the number of characters.
If the number of bytes is different it is also displayed: "2-6"
means two characters and six bytes.
- When selecting more than one line, the number of lines.
- When selecting a block, the size in screen characters:
{lines}x{columns}.
@@ -5994,7 +6163,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'showtabline' 'stal' number (default 1)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
The value of this option specifies when the line with tab page labels
will be displayed:
@@ -6269,7 +6438,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'splitbelow' 'sb' boolean (default off)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
When on, splitting a window will put the new window below the current
one. |:split|
@@ -6278,7 +6447,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'splitright' 'spr' boolean (default off)
global
{not in Vi}
{not available when compiled without the +vertsplit
{not available when compiled without the |+vertsplit|
feature}
When on, splitting a window will put the new window right of the
current one. |:vsplit|
@@ -6360,6 +6529,7 @@ A jump table for the options with a short description can be found at |Q_op|.
y F Type of file in the buffer, e.g., "[vim]". See 'filetype'.
Y F Type of file in the buffer, e.g., ",VIM". See 'filetype'.
{not available when compiled without |+autocmd| feature}
q S "[Quickfix List]", "[Location List]" or empty.
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
being used: "<keymap>"
n N Buffer number.
@@ -6538,7 +6708,7 @@ A jump table for the options with a short description can be found at |Q_op|.
a buffer. Otherwise: do not split, use current window.
Supported in |quickfix| commands that display errors.
newtab Like "split", but open a new tab page. Overrules
"split" when both are present.
"split" when both are present.
*'synmaxcol'* *'smc'*
'synmaxcol' 'smc' number (default 3000)
@@ -6587,7 +6757,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'tabline' 'tal' string (default empty)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
When nonempty, this option determines the content of the tab pages
line at the top of the Vim window. When empty Vim will use a default
@@ -6596,7 +6766,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The tab pages line only appears as specified with the 'showtabline'
option and only when there is no GUI tab line. When 'e' is in
'guioptions' and the GUI supports a tab line 'guitablabel' is used
instead.
instead. Note that the two tab pages lines are very different.
The value is evaluated like with 'statusline'. You can use
|tabpagenr()|, |tabpagewinnr()| and |tabpagebuflist()| to figure out
@@ -6611,7 +6781,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'tabpagemax' 'tpm' number (default 10)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
Maximum number of tab pages to be opened by the |-p| command line
argument or the ":tab all" command. |tabpage|
@@ -6717,8 +6887,11 @@ A jump table for the options with a short description can be found at |Q_op|.
'cpoptions'. Environment variables are expanded |:set_env|. Also see
|tags-option|.
"*", "**" and other wildcards can be used to search for tags files in
a directory tree. See |file-searching|. {not available when compiled
without the |+path_extra| feature}
a directory tree. See |file-searching|. E.g., "/lib/**/tags" will
find all files named "tags" below "/lib". The filename itself cannot
contain wildcards, it is used as-is. E.g., "/lib/**/tags?" will find
files called "tags?". {not available when compiled without the
|+path_extra| feature}
The |tagfiles()| function can be used to get a list of the file names
actually used.
If Vim was compiled with the |+emacs_tags| feature, Emacs-style tag
@@ -7171,6 +7344,38 @@ A jump table for the options with a short description can be found at |Q_op|.
global
Alias for 'term', see above.
*'undodir'* *'udir'*
'undodir' 'udir' string (default ".")
global
{not in Vi}
{only when compiled with the |+persistent_undo| feature}
List of directory names for undo files, separated with commas.
See |'backupdir'| for details of the format.
"." means using the directory of the file. The undo file name for
"file.txt" is ".file.txt.un~".
For other directories the file name is the full path of the edited
file, with path separators replaced with "%".
When writing: The first directory that exists is used. "." always
works, no directories after "." will be used for writing.
When reading all entries are tried to find an undo file. The first
undo file that exists is used. When it cannot be read an error is
given, no further entry is used.
See |undo-persistence|.
*'undofile'* *'udf'*
'undofile' 'udf' boolean (default off)
local to buffer
{not in Vi}
{only when compiled with the |+persistent_undo| feature}
When on, Vim automatically saves undo history to an undo file when
writing a buffer to a file, and restores undo history from the same
file on buffer read.
The directory where the undo file is stored is specified by 'undodir'.
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!
*'undolevels'* *'ul'*
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
Win32 and OS/2)
@@ -7184,10 +7389,27 @@ A jump table for the options with a short description can be found at |Q_op|.
set ul=0
< But you can also get Vi compatibility by including the 'u' flag in
'cpoptions', and still be able to use CTRL-R to repeat undo.
Also see |undo-two-ways|.
Set to a negative number for no undo at all: >
set ul=-1
< This helps when you run out of memory for a single change.
Also see |undo-two-ways|.
Also see |clear-undo|.
*'undoreload'* *'ur'*
'undoreload' 'ur' number (default 10000)
global
{not in Vi}
Save the whole buffer for undo when reloading it. This applies to the
":e!" command and reloading for when the buffer changed outside of
Vim. |FileChangedShell|
The save only happens when this options is negative or when the number
of lines is smaller than the value of this option.
Set this option to zero to disable undo for a reload.
When saving undo for a reload, any undo file is not read.
Note that this causes the whole buffer to be stored in memory. Set
this option to a lower value if you run out of memory.
*'updatecount'* *'uc'*
'updatecount' 'uc' number (default: 200)
@@ -7244,7 +7466,7 @@ A jump table for the options with a short description can be found at |Q_op|.
When not empty all messages are written in a file with this name.
When the file exists messages are appended.
Writing to the file ends when Vim exits or when 'verbosefile' is made
empty.
empty. Writes are buffered, thus may not show up for some time.
Setting 'verbosefile' to a new value is like making it empty first.
The difference with |:redir| is that verbose messages are not
displayed when 'verbosefile' is set.
@@ -7258,7 +7480,7 @@ A jump table for the options with a short description can be found at |Q_op|.
for RiscOS: "Choices:vimfiles/view")
global
{not in Vi}
{not available when compiled without the +mksession
{not available when compiled without the |+mksession|
feature}
Name of the directory where to store files for |:mkview|.
This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -7268,7 +7490,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'viewoptions' 'vop' string (default: "folds,options,cursor")
global
{not in Vi}
{not available when compiled without the +mksession
{not available when compiled without the |+mksession|
feature}
Changes the effect of the |:mkview| command. It is a comma separated
list of words. Each word enables saving and restoring something:
@@ -7294,7 +7516,7 @@ A jump table for the options with a short description can be found at |Q_op|.
for others: '100,<50,s10,h)
global
{not in Vi}
{not available when compiled without the |+viminfo|
{not available when compiled without the |+viminfo|
feature}
When non-empty, the viminfo file is read upon startup and written
when exiting Vim (see |viminfo-file|). The string should be a comma
@@ -7308,8 +7530,9 @@ A jump table for the options with a short description can be found at |Q_op|.
! 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. Only String and Number types are
stored.
and "_K_L_M" are not. Nested List and Dict items may not be
read back correctly, you end up with a string representation
instead.
" 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
@@ -7658,7 +7881,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winheight' 'wh' number (default 1)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
Minimal number of lines for the current window. This is not a hard
minimum, Vim will use fewer lines if there is not enough room. If the
@@ -7681,7 +7904,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winfixheight' 'wfh' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
Keep the window height when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|. Set by default for the
@@ -7692,7 +7915,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winfixwidth' 'wfw' boolean (default off)
local to window
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
Keep the window width when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|.
@@ -7702,7 +7925,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winminheight' 'wmh' number (default 1)
global
{not in Vi}
{not available when compiled without the +windows
{not available when compiled without the |+windows|
feature}
The minimal height of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
@@ -7718,7 +7941,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winminwidth' 'wmw' number (default 1)
global
{not in Vi}
{not available when compiled without the +vertsplit
{not available when compiled without the |+vertsplit|
feature}
The minimal width of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
@@ -7735,7 +7958,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'winwidth' 'wiw' number (default 20)
global
{not in Vi}
{not available when compiled without the +vertsplit
{not available when compiled without the |+vertsplit|
feature}
Minimal number of columns for the current window. This is not a hard
minimum, Vim will use fewer columns if there is not enough room. If

View File

@@ -1,4 +1,4 @@
*os_390.txt* For Vim version 7.2. Last change: 2008 Dec 17
*os_390.txt* For Vim version 7.3. Last change: 2010 May 30
VIM REFERENCE MANUAL by Ralf Schandl
@@ -6,24 +6,12 @@
*zOS* *z/OS* *OS390* *os390* *MVS*
This file contains the particulars for the z/OS UNIX version of Vim.
1. Open source on z/OS UNIX |zOS-open-source|
2. Your feedback is needed |zOS-feedback|
3. Building VIM for z/OS UNIX |zOS-building|
4. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
5. XTerm Problems |zOS-xterm|
6. Motif Problems |zOS-Motif|
7. Bugs |zOS-Bugs|
8. Known weaknesses |zOS-weaknesses|
9. Changes |zOS-changes|
DISCLAIMER: ~
We are IBM employees, but IBM is not responsible for this port. This is our
private fun, and is provided in the hopes that it may be useful to others.
Please note that this software has NOT been submitted to any formal IBM
testing and is published AS IS. Please do not contact IBM for support for this
software, as it is not an official component of any IBM product. IT IS NOT
SUPPORTED, GUARANTEED, OR RELATED WHATSOEVER TO IBM.
1. ASCII/EBCDIC dependent scripts |zOS-has-ebcdic|
2. Putty and Colors |zOS-PuTTY|
3. Motif Problems |zOS-Motif|
4. Bugs |zOS-Bugs|
5. Limitations |zOS-limitations|
6. Open source on z/OS UNIX |zOS-open-source|
Contributors: ~
The port to z/OS UNIX was done by Ralf Schandl for the Redbook mentioned
@@ -32,128 +20,11 @@ below.
Changes, bug-reports, or both by:
David Moore
Anthony Giorgio <agiorgio@fastmail.fm>
Anthony Giorgio
and others
This document was written by Ralf Schandl and revised by Anthony Giorgio.
==============================================================================
1. Open source on z/OS UNIX *OS390-open-source* *zOS-open-source*
If you are interested in other Open Source Software on z/OS UNIX, have a
look at the following Redbook:
Mike MacIsaac et al
"Open Source Software for z/OS and OS/390 UNIX"
IBM Form Number: SG24-5944-01
ISBN: 0738424633
You can find out more information, order a hard copy, or download a PDF
version of these Redbooks at:
http://www.redbooks.ibm.com
==============================================================================
2. Your feedback is needed *OS390-feedback* *zOS-feedback*
Vim should compile, link, and run right out of the box on a standard IBM z/OS
UNIX mainframe. I've personally run it on z/OS V1R2 and V1R3 machines without
problems.
Many changes had to be done to the code to port Vim to z/OS UNIX. As like
most UNIX programs, Vim contained heavy ASCII dependencies. I might have
missed an ASCII dependency, or it is possible that a new one has been added
with a feature or bug fix. Most programmers are simply not aware of possible
ASCII/EBCDIC conversion issues. If you hit a problem that seems related to
this, feel free to contact us at the email addresses above.
One indication of ASCII/EBCDIC conversion problems is screen corruption with
"unprintable" characters. For example, at one point the errorbell was broken
in Vim. Any time Vim tried to ring the terminal bell an ASCII character 0x07
would be printed. This works fine on most terminals, but is broken on an
EBCDIC one. The correct solution was to define a different value for the bell
character on EBCDIC systems.
Remember, it's only possible to fix a bug if the community knows about it.
Don't rely on someone else to report it! See the section |bug-reports|.
==============================================================================
3. Building VIM for z/OS UNIX *OS390-building* *zOS-building*
A word on debugging code first: ~
The normal run of configure adds the flag '-g' to the compiler options,
to include debugging information into the executable. This information
are normally removed from the executable with the strip command during
installation. On z/OS UNIX, it is not possible to remove this from
the executable. The strip command exists on z/OS UNIX and is called
during the installation, but it does nothing. It is equivalent to the
'touch' command. This is due to the way debug symbols are stored in the
objects generated by the compiler.
If you want to build Vim without debugging code, export the environment
variable CFLAGS set to an empty string before you call the configure script.
>
export CFLAGS=""
Building without X11: ~
Note: Use cc to build Vim. The c89 compiler has stricter syntax checking
and will not compile Vim cleanly.
If you build VIM without X11 support, compiling and building is
straightforward. Don't forget to export _CC_CCMODE=1 before calling
configure and make.
>
$ export _CC_CCMODE=1
$./configure --with-features=big --without-x --enable-gui=no
$ make
$ make test
<
Test notes:
Test 11 will fail if you do not have gzip installed.
Test 42 will fail, as VIM on z/OS UNIX doesn't support the multibyte
feature. (David Moore: "Doesn't work _yet_! :-) I'll see what I
can do.")
>
$ make install
Building with X11: ~
There are two ways for building Vim with X11 support. You can link it
statically with the X11 libraries or can bind it with the X11 DLLs. The
statically linked version results in a huge executable (~13MB), while the
dynamically linked executable is much smaller (~4.5MB).
Here is what you do, if you want Motif:
a) Static link >
$ configure --with-features=big --enable-gui=motif
$ make
<
VIM is now linked statically with the X11 libraries.
b) Dynamic link:
Make VIM as described for the static link. Then change the contents of
the 'auto/link.sed' file by appending: >
s%-lXm *%/usr/lib/Xm.x %g
s%-lX11 *%/usr/lib/X11.x %g
s%-lSM *%/usr/lib/SM.x %g
s%-lICE *%/usr/lib/ICE.x %g
<
Then do: >
$ rm vim
$ make
<
Now Vim is linked with the X11-DLLs.
See the Makefile and the file link.sh on how link.sed is used.
==============================================================================
4. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
1. ASCII/EBCDIC dependent scripts *OS390-has-ebcdic* *zOS-has-ebcdic*
For the internal script language the feature "ebcdic" was added. With this
you can fix ASCII dependent scripts like this:
@@ -164,24 +35,28 @@ you can fix ASCII dependent scripts like this:
let space = 32
endif
<
==============================================================================
5. XTerm problems *OS390-xterm* *zOS-xterm*
2. PuTTY and Colors *OS390-PuTTY* *zOS-PuTTY*
Note: This problem was resolved in version 6.1b. ~
If you see problems with syntax highlighting or screen corruptions when you
connect to z/OS using Putty, try the following:
I saw one problem with XTerm on z/OS UNIX. The terminal code for moving the
cursor to the left is wrong in the termlib database. Perhaps not wrong, but
it didn't work with VIM syntax highlighting and command line cursor movement.
- Configure Putty as "vt220" terminal (Connection->Data)
- Add the following 3 lines to your vimrc:
If the highlighting is messed up while you type, but is okay after you refreshed
the screen with <C-L> or if you can't move to the left with the cursor key on
the command line, try adding >
:set t_le=^H
>
set t_AB=[4%p1%dm
set t_AF=[3%p1%dm
set t_CO=8
<
to your .vimrc. Note: '^H' is one character, hit <C-V><C-H> to get it.
Note:  is one character use <C-V><Esc> to enter it.
==============================================================================
6. Motif Problems *OS390-Motif* *zOS-Motif*
3. Motif Problems *OS390-Motif* *zOS-Motif*
Note: Seen with Vim 6.*, never tested since.
It seems that in porting the Motif library to z/OS, a translation from EBCDIC
to ASCII for the accelerator characters of the pull-down menus was forgotten.
@@ -190,17 +65,17 @@ to only work for the opening of menus (like <Alt-F> to open the file menu).
They still do not work for the menu items themselves (like <Alt-F>O to open
the file browser).
There is no solution for this as of yet.
There is no solution for this yet.
==============================================================================
7. Bugs *OS390-bugs* *zOS-Bugs*
4. Bugs *OS390-bugs* *zOS-Bugs*
- Vim will consistently hang when a large amount of text is selected in
visual block mode. This may be due to a memory corruption issue. Note that
this occurs in both the terminal and gui versions.
==============================================================================
8. Known weaknesses *OS390-weaknesses* *zOS-weaknesses*
5. Limitations *OS390-limitations* *zOS-limitations*
- No binary search in tag files.
The program /bin/sort sorts by ASCII value by default. This program is
@@ -208,9 +83,6 @@ There is no solution for this as of yet.
ctags out there, that does it right, but we can't be sure. So this seems to
be a permanent restriction.
- Multibyte support (utf-8) doesn't work, it's disabled at compile time.
(|multibyte|)
- The cscope interface (|cscope|) doesn't work for the version of cscope
that we use on our mainframe. We have a copy of version 15.0b12, and it
causes Vim to hang when using the "cscope add" command. I'm guessing that
@@ -221,6 +93,13 @@ There is no solution for this as of yet.
- No glib/gtk support. I have not been able to successfully compile glib on
z/OS UNIX. This means you'll have to live without the pretty gtk toolbar.
Disabled at compile time:
- Multibyte support (|multibyte|)
- Right-to-left mode (|rileft|)
- Farsi key map (|Farsi|)
- Arabic language support (|Arabic|)
- Spell checking (|spell|)
Never tested:
- Perl interface (|perl|)
@@ -233,108 +112,24 @@ Never tested:
- TCL interface (|tcl|)
...
If you try any of these features and they work, drop us a note!
==============================================================================
9. Changes *OS390-changes* *zOS-changes*
6. Open source on z/OS UNIX *OS390-open-source* *zOS-open-source*
This is a small reference of the changes made to the z/OS port of Vim. It is
not an exhaustive summary of all the modifications made to the code base.
If you are interested in other Open Source Software on z/OS UNIX, have a
look at the following Redbook:
6.1b (beta):
Changed KS_LE in term.c to be "\b" instead of "\010" This fixed the
screen corruption problems in gVim reported by Anthony Giorgio.
Mike MacIsaac et al
"Open Source Software for z/OS and OS/390 UNIX"
IBM Form Number: SG24-5944-01
ISBN: 0738424633
http://www-03.ibm.com/systems/resources/servers_eserver_zseries_zos_unix_redbook_sg245944.pdf
Anthony Giorgio updated this document:
- Changed OS/390 to z/OS where appropriate. IBM decided to rename
all of its servers and operating systems. z/OS and OS/390
are the same product, but the version numbering system was
reset for the name change (e.g. OS/390 V2R11 == z/OS V1R1).
- Added information about second edition of the Open Source Redbook.
- Moved Redbook information to a separate section.
- Various tweaks and changes.
- Updated testing section.
6.0au:
Changed configure.in
Changed documentation.
Anthony Giorgio fixed the errorbell.
David Moore found some problems, which were fixed by Bram and/or David for
6.0au.
6.0q (alpha):
Minor changes for nrformats=alpha (see |'nrformats'|).
Problem with hard-coded keycode for the English pound sign. Added a define in
ascii.h
Disabled multibyte for EBCDIC in feature.h
6.0f (alpha):
First compile of Vim 6 on z/OS UNIX. Some minor changes were needed.
Finally found the reason why make from the top level didn't work (I must have
been blind before!). The Makefile contained a list of targets in one target
line. On all other UNIX's the macro $@ evaluates to the first target in this
list, only on z/OS UNIX it evaluates to the last one :-(.
5.6-390d:
Cleaned up some hacks.
5.6-390c:
I grepped through the source and examined every spot with a character
involved in an operation (+-). I hope I now found all EBCDIC/ASCII
stuff, but ....
Fixed:
- fixed warning message in do_fixdel()
- fixed translation from Ctrl-Char to symbolic name (like ^h to CTRL-H)
for :help
- fixed yank/delete/... into register
- fixed :register command
- fixed viminfo register storing
- fixed quick-access table in findoptions()
- fixed 'g^H' select mode
- fixed tgetstr() 'get terminal capability string', ESC and
Ctrl chars where wrong. (Not used on OS/390 UNIX)
Also look at:
http://www.redbooks.ibm.com
http://www-03.ibm.com/systems/z/os/zos/features/unix/
http://www-03.ibm.com/systems/z/os/zos/features/unix/library/IBM+Redbooks/index.html
ctags:
- added trigraphs support (used in prolog of system header files)
(get.c)
- fixed sorting order with LC_COLLATE=S390 to force EBCDIC sorting.
(sort.c)
5.6-390b:
Changed:
- configure.in:
- added test for OS/390 UNIX
- added special compiler and linker options if building with X11
- configure:
- after created via autoconf hand-edited it to make the test for
ICEConnectionNumber work. This is an autoconf problem. OS/390 UNIX
needs -lX11 for this.
- Makefile
- Don't include the lib directories ('-L...') into the variable
ALL_LIBS. Use own variable ALL_LIB_DIRS instead. A fully POSIX
compliant compiler must not accept objects/libraries and options
mixed. Now we can call the linker like this:
$(CC) $(LDFLAGS) $(ALL_LIB_DIRS) $(OBJ) $(ALL_LIBS)
Fixed:
- Double quote couldn't be entered
Missed ASCII dependencies while setting up terminal
In ASCII 127 is the delete char, in EBCDIC codepage 1047 the value 127
is the double quote.
- fixed ':fixdel'
5.6-390a:
first alpha release for OS/390 UNIX.
Addition:
- For the internal script language I added the feature "ebcdic".
This can be queried with the has()-function of the internal
script language.
------------------------------------------------------------------------------
vim:tw=78:fo=tcq2:ts=8:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*os_amiga.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_amiga.txt* For Vim version 7.3. Last change: 2010 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8,6 +8,8 @@
This file contains the particularities for the Amiga version of Vim.
There is also a section specifically for |MorphOS| below.
NOTE: The Amiga code is still included, but has not been maintained or tested.
Installation on the Amiga:
- Assign "VIM:" to the directory where the Vim "doc" directory is. Vim will
look for the file "VIM:doc/help.txt" (for the help command).

View File

@@ -1,4 +1,4 @@
*os_beos.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_beos.txt* For Vim version 7.3. Last change: 2010 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -131,38 +131,9 @@ You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
5. The BeOS GUI *beos-gui*
Normally Vim starts with the GUI if you start it as gvim or vim -g. The BeOS
version tries to determine if it was started from the Tracker instead of the
Terminal, and if so, use the GUI anyway. However, the current detection scheme
is fooled if you use the command "vim - </dev/null" or "vim filename &". The
latter can be called a feature but probably only works because there is no
BSD-style job control.
Stuff that does not work yet:
- Running external commands from the GUI does not work 100% (again due to lack
of support for select()). There was a choice between seeing the command's
output, or being able to interrupt it. I chose for seeing the output. Even
now the command sometimes crashes mysteriously, apparently in Be's
malloc_internal() called from the putenv() function, after fork()ing. (data
access exception occurred, ec01b0ec: 90e80000 *stw r7, 0x0000 (r8)). (:!ls
works usually, :r !ls usually doesn't). This has been reported as bug
# 971215-083826.
- The window title.
- Starting the GUI from the Terminal version with :gui always acts as if
:gui -f were used. There is no way to fix this that I can see.
- There are some small display glitches here and there that I hope to clean up
later. Most of them occur when the window is partially obscured. Some of
them seem to be bugs in BeOS, because the Terminal has similar glitches.
- Mouse up events are not generated when outside the window. This is a bug in
BeOS. You can notice this when selecting text and moving the cursor outside
the window, then letting go of the mouse button. Another way is when you
drag the scrollbar and do the same thing. Because Vim still thinks you are
still playing with the scrollbar it won't change it itself. I provided a
workaround which kicks in when the window is activated or deactivated (so it
works best with focus- follows-mouse (/boot/bin/ffm) turned on).
- The cursor does not flash (very low priority; I'm not sure I even like it
when it flashes)
The BeOS GUI is no longer included. It was not maintained for a while and
most likely didn't work. If you want to work on this: get the Vim 6.x version
and merge it back in.
6. The $VIM directory *beos-vimdir*

View File

@@ -1,4 +1,4 @@
*os_dos.txt* For Vim version 7.2. Last change: 2006 Mar 30
*os_dos.txt* For Vim version 7.3. Last change: 2006 Mar 30
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_mac.txt* For Vim version 7.2. Last change: 2006 Apr 30
*os_mac.txt* For Vim version 7.3. Last change: 2006 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar et al.

View File

@@ -1,4 +1,4 @@
*os_mint.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_mint.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff

View File

@@ -1,4 +1,4 @@
*os_msdos.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_msdos.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_os2.txt* For Vim version 7.2. Last change: 2007 Apr 22
*os_os2.txt* For Vim version 7.3. Last change: 2007 Apr 22
VIM REFERENCE MANUAL by Paul Slootman
@@ -183,7 +183,8 @@ anyway you need an additional tool which gives you access to the clipboard
from within a vio application. The freeware package clipbrd.zip by Stefan
Gruendel can be used for this purpose. You might download the package
including precompiled binaries and all sources from:
http://www.stellarcom.org/vim/index.html
http://www.os2site.com/sw/util/clipboard/index.html
http://download.uni-hd.de/ftp/pub/os2/pmtools/
Installation of this package is straight forward: just put the two executables
that come with this package into a directory within your PATH for Vim should
@@ -201,7 +202,7 @@ vim-manner and call: >
which will write your selection right into OS/2's clipboard.
For ease of use you might want to add some maps for this commands. E.g. to
For ease of use you might want to add some maps for these commands. E.g. to
use F11 to paste the clipboard into Vim and F12 to copy selected text to the
clipboard you would use: >

View File

@@ -1,4 +1,4 @@
*os_qnx.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_qnx.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Julian Kinraid

View File

@@ -1,4 +1,4 @@
*os_risc.txt* For Vim version 7.2. Last change: 2008 Jun 28
*os_risc.txt* For Vim version 7.3. Last change: 2010 Aug 07
VIM REFERENCE MANUAL by Thomas Leonard
@@ -275,7 +275,6 @@ Downloading everything you need:
- Get the latest source distribution (see www.vim.org)
- Get the runtime environment files (e.g. these help files)
- Get the "extra" archive (contains the RISC OS specific bits)
- Get the RISC OS binary distribution (if possible)

View File

@@ -1,4 +1,4 @@
*os_unix.txt* For Vim version 7.2. Last change: 2005 Mar 29
*os_unix.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.2. Last change: 2009 Oct 28
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
VIM REFERENCE MANUAL
@@ -99,7 +99,7 @@ specific source might contain CTAGS source files as described above.
You can find more information about CTAGS on VMS at
http://www.polarhome.com/ctags/
Advanced users may try some acrobatics in FEATURE.H file also.
Advanced users may try some acrobatics in FEATURE.H file as well.
It is possible to compile with +xfontset +xim options too, but then you have
to set up GUI fonts etc. correctly. See :help xim from Vim command prompt.
@@ -639,7 +639,7 @@ You can now compare files in 4 ways: >
DEC C uses many identifiers with '$' in them. This is not allowed in ANSI C,
and Vim recognises the '$' as the end of the identifier. You can change this
with the |iskeyword|command.
with the 'iskeyword' option.
Add this command to your .vimrc file: >
autocmd FileType c,cpp,cs set iskeyword+=$
@@ -675,7 +675,7 @@ slow when user wants to run Vim just in the console mode - because of X environm
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim72
|- vim73
|----- doc
|----- syntax
vimrc (system rc files)
@@ -685,7 +685,7 @@ both GUI/GTK build and just console build executables, like below: >
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
$ vi*m :== mcr VIM:VIM.EXE
$ gvi*m :== mcr VIM:GVIM.EXE
$ ! or you can try to spawn with
@@ -755,7 +755,7 @@ Solution 2. Different directories: >
$ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
$ endif
$! VIMRUNTIME must be defined in order to find runtime files
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
A good example for this approach is the [GNU]gnu_tools.com script from
GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
@@ -766,16 +766,20 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
9. VMS related changes *vms-changes*
Recent changes
- The following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
bufexplorer 7.1.7, taglist 4.5
- minor changes in vimrc (just in VMS runtime)
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
and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
bufexplorer 7.1.7, taglist 4.5
- minor changes in vimrc (just in VMS runtime)
- make_vms.mms - HUGE model is the default
- [TESTDIR]make_vms.mms include as many tests possible
- modify test30 and test54 for VMS
- enable FLOAT feature in VMS port
- os_vms.txt updated
- os_vms.txt updated
Version 7.2 (2008 Aug 9)
- VCF files write corrected

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