Compare commits

...

690 Commits

Author SHA1 Message Date
Bjorn Winckler b959dabf31 Snapshot 62 2011-09-18 16:02:14 +02:00
Bjorn Winckler fb682aa63b Add preference to disable native full-screen 2011-09-18 13:41:28 +02:00
Bjorn Winckler 0df4812a34 Merge branch 'vim'
Conflicts:
	src/gui.c
2011-09-15 12:21:16 +02:00
Bram Moolenaar 33238357a4 Added tag v7-3-315 for changeset 3ecf9e91d88a 2011-09-14 19:04:40 +02:00
Bram Moolenaar a7433858d2 updated for version 7.3.315
Problem:    Opening a window before forking causes problems for GTK.
Solution:   Fork first, create the window in the child and report back to the
	    parent process whether it worked.  If successful the parent exits,
	    if unsuccessful the child exits and the parent continues in the
	    terminal. (Tim Starling)
2011-09-14 19:04:39 +02:00
Bram Moolenaar feab21d38e Added tag v7-3-314 for changeset 6ab1b45cc95e 2011-09-14 19:01:42 +02:00
Bram Moolenaar 38f22f9c19 updated for version 7.3.314
Problem:    Missing parenthesis.
Solution:   Add it. (Benjamin R. Haskell)
2011-09-14 19:01:42 +02:00
Bram Moolenaar 49ee1c0362 Added tag v7-3-313 for changeset dc60200a16b2 2011-09-14 18:59:40 +02:00
Bram Moolenaar becaaaead9 updated for version 7.3.313
Problem:    One more warning when compiling with dynamic Python 3.
Solution:   Change PySliceObject to PyObject.
2011-09-14 18:59:39 +02:00
Bram Moolenaar f7a78fd1d6 Updated runtime files. 2011-09-14 17:55:08 +02:00
Bram Moolenaar 13cb4e6055 Added tag v7-3-312 for changeset 0ed06069aaf3 2011-09-14 17:50:14 +02:00
Bram Moolenaar 406ac0a6d3 updated for version 7.3.312
Problem:    Can't compile with tiny features.
Solution:   Add #ifdef around win_valid().
2011-09-14 17:50:14 +02:00
Bram Moolenaar e7c4730ea7 Added tag v7-3-311 for changeset 2cbde6bcc623 2011-09-14 16:52:09 +02:00
Bram Moolenaar d07211ba92 updated for version 7.3.311
Problem:    Complete function isn't called when the leader changed.
Solution:   Allow the complete function to return a dictionary with a flag
	    that indicates ins_compl_restart() is to be called when the leader
	    changes. (Taro Muraoka)
2011-09-14 16:52:09 +02:00
Bram Moolenaar 2c634a61c1 Added tag v7-3-310 for changeset 51ce22ba89d1 2011-09-14 16:05:15 +02:00
Bram Moolenaar ce2d6ca8a0 updated for version 7.3.310
Problem:    Code not following Vim style.
Solution:   Fix the style. (Elias Diem)
2011-09-14 16:05:15 +02:00
Bram Moolenaar 0949e7f3cb Added tag v7-3-309 for changeset 6eae1b42c668 2011-09-14 15:41:58 +02:00
Bram Moolenaar 020e3b0da8 updated for version 7.3.309
Problem:    Warnings for pointer types.
Solution:   Change PySliceObject to PyObject.
2011-09-14 15:41:58 +02:00
Bram Moolenaar 9a0bd38bac Added tag v7-3-308 for changeset 61c5e1527bd8 2011-09-14 15:39:29 +02:00
Bram Moolenaar b7bb0bdc20 updated for version 7.3.308
Problem:    Writing to 'verbosefile' has problems, e.g. for :highlight.
Solution:   Do not use a separate verbose_write() function but write with the
	    same code that does redirecting. (Yasuhiro Matsumoto)
2011-09-14 15:39:29 +02:00
Bram Moolenaar 3011c698b3 Added tag v7-3-307 for changeset 880b7dd69331 2011-09-14 15:01:58 +02:00
Bram Moolenaar a1213ba4c8 updated for version 7.3.307
Problem:    Python 3 doesn't support slice assignment.
Solution:   Implement slices. (Brett Overesch, Roland Puntaier)
2011-09-14 15:01:58 +02:00
Bram Moolenaar 324460bd91 Added tag v7-3-306 for changeset 0787bb5f387b 2011-09-14 14:43:25 +02:00
Bram Moolenaar 69f06a5f47 updated for version 7.3.306
Problem:    When closing a window there is a chance that deleting a scrollbar
	    triggers a GUI resize, which uses the window while it is not in a
	    valid state.
Solution:   Set the buffer pointer to NULL to be able to detect the invalid
	    situation.  Fix a few places that used the buffer pointer
	    incorrectly.
2011-09-14 14:43:25 +02:00
Bram Moolenaar a21d5cd3fb Added tag v7-3-305 for changeset 0e06c025f66f 2011-09-14 14:33:51 +02:00
Bram Moolenaar 349aba9d06 updated for version 7.3.305
Problem:    Auto-loading a function while editing the command line causes
	    scrolling up the display.
Solution:   Don't set msg_scroll when defining a function and the user is not
	    typing. (Yasuhiro Matsumoto)
2011-09-14 14:33:51 +02:00
Bram Moolenaar 0390598346 Added tag v7-3-304 for changeset b3a523ced6bd 2011-09-14 10:49:46 +02:00
Bram Moolenaar 393701519f updated for version 7.3.304
Problem:    Strawberry Perl doesn't work on MS-Windows.
Solution:   Use xsubpp if needed. (Yasuhiro Matsumoto)
2011-09-14 10:49:46 +02:00
Bjorn Winckler 439e2de8e4 Merge branch 'vim'
Conflicts:
	src/auto/configure
	src/if_ruby.c
	src/os_unix.c
2011-09-11 10:39:17 +02:00
Bram Moolenaar d080627083 Added tag v7-3-303 for changeset d832d642f520 2011-09-08 23:24:14 +02:00
Bram Moolenaar 16fa70308c updated for version 7.3.303
Problem:    Compilation error.
Solution:   Correct return type from int to pid_t. (Danek Duvall)
2011-09-08 23:24:14 +02:00
Bram Moolenaar 770d08e1d9 Added tag v7-3-302 for changeset 61b2f2662310 2011-09-08 23:22:40 +02:00
Bram Moolenaar 6aae53fbbc updated for version 7.3.302
Problem:    Test 19 fails without 'smartindent' and +eval.
Solution:   Don't use ":exe". Source small.vim.
2011-09-08 23:22:40 +02:00
Bram Moolenaar 79f63a43c8 Added tag v7-3-301 for changeset 4a7097153089 2011-09-07 19:58:10 +02:00
Bram Moolenaar 81a7633180 updated for version 7.3.301
Problem:    When 'smartindent' and 'copyindent' are set a Tab is used even
	    though 'expandtab' is set.
Solution:   Do not insert Tabs. Add a test. (Christian Brabandt)
2011-09-07 19:58:09 +02:00
Bram Moolenaar 4df94e4d83 Added tag v7-3-300 for changeset 2665b456ee59 2011-09-07 19:30:21 +02:00
Bram Moolenaar 8645ea43d0 updated for version 7.3.300
Problem:    Python doesn't parse multi-byte argument correctly.
Solution:   Use "t" instead of "s". (lilydjwg)
2011-09-07 19:30:21 +02:00
Bram Moolenaar ca1a04794c Added tag v7-3-299 for changeset eb4972982bfe 2011-09-07 19:09:01 +02:00
Bram Moolenaar 51e31e9713 updated for version 7.3.299
Problem:    Source code not in Vim style.
Solution:   Adjust the style. (Elias Diem)
2011-09-07 19:09:01 +02:00
Bram Moolenaar 994b93a73d Added tag v7-3-298 for changeset 43b1d031e302 2011-09-07 18:58:30 +02:00
Bram Moolenaar dc6e5f1009 updated for version 7.3.298
Problem:    Built-in colors are different from rgb.txt.
Solution:   Adjust the color values. (Benjamin Haskell)
2011-09-07 18:58:29 +02:00
Bram Moolenaar 9d6da2621a Added tag v7-3-297 for changeset 22550986c713 2011-09-07 18:47:23 +02:00
Bram Moolenaar 65c62e1036 updated for version 7.3.297
Problem:    Can't load Perl 5.14 dynamically.
Solution:   Add code in #ifdefs. (Charles Cooper)
2011-09-07 18:47:23 +02:00
Bram Moolenaar 92011ac52a Added tag v7-3-296 for changeset c19c15a9e9bf 2011-09-07 15:04:31 +02:00
Bram Moolenaar 9d2bfce7a5 updated for version 7.3.296
Problem:    When writing to an external command a zombie process may be left
	    behind.
Solution:   Wait on the process. (James Vega)
2011-09-07 15:04:31 +02:00
Bram Moolenaar 2e1ef7f670 Added tag v7-3-295 for changeset 0d8494c05113 2011-09-07 14:06:47 +02:00
Bram Moolenaar 5507ad9c4e updated for version 7.3.295
Problem:    When filtering text with an external command Vim may not read all
	    the output.
Solution:   When select() is interrupted loop and try again. (James Vega)
2011-09-07 14:06:47 +02:00
Bram Moolenaar 5b43e33aa6 Added tag v7-3-294 for changeset dbd73fe939cf 2011-09-05 20:13:42 +02:00
Bram Moolenaar b5711505da updated for version 7.3.294
Problem:    Patch 289 causes more problems than it solves.
Solution:   Rever the patch untill a better solution is found.
2011-09-05 20:13:42 +02:00
Bjorn Winckler 54eddb6057 Plug memory leak in PSMTabBarControl 2011-09-04 17:33:39 +02:00
Bram Moolenaar f17a7b3224 Added tag v7-3-293 for changeset 6cd0d6413a2e 2011-09-02 14:18:20 +02:00
Bram Moolenaar a26ab7715d updated for version 7.3.293
Problem:    MSVC compiler has a problem with non-ASCII characters.
Solution:   Avoid non-ASCII characters. (Hong Xu)
2011-09-02 14:18:20 +02:00
Bram Moolenaar 71f29fbc2d Added tag v7-3-292 for changeset b6af1c5dd22f 2011-09-02 14:07:36 +02:00
Bram Moolenaar 8b7e080a84 updated for version 7.3.292
Problem:    Crash when using fold markers and selecting a visual block that
	    includes a folded line and goes to end of line. (Sam Lidder)
Solution:   Check for the column to be MAXCOL. (James Vega)
2011-09-02 14:07:36 +02:00
Bram Moolenaar 90af7efedf Added tag v7-3-291 for changeset e8ee4b4ebf41 2011-09-02 12:27:25 +02:00
Bram Moolenaar f959b996e8 updated for version 7.3.291
Problem:    Configure doesn't work properly with Python3.
Solution:   Put -ldl before $LDFLAGS. Add PY3_NO_RTLD_GLOBAL. (Roland
	    Puntaier)
2011-09-02 12:27:25 +02:00
Bram Moolenaar e48974af8c Added tag v7-3-290 for changeset df33dba4e553 2011-09-02 11:56:20 +02:00
Bram Moolenaar 2de2bfa2d0 updated for version 7.3.290
Problem:    When a BufWriteCmd autocommand resets 'modified' this doesn't
	    change older buffer states to be marked as 'modified' like
	    ":write" does.  (Yukihiro Nakadaira)
Solution:   When the BufWriteCmd resets 'modified' then adjust the undo
	    information like ":write" does.
2011-09-02 11:56:20 +02:00
Bjorn Winckler 5cfb54ead4 Change full-screen maximization heuristic
Only maximize full-screen window on certain events, such as toggling tab
line or scrollbars.  This modifies the behavior introduced in commit
88fc234df7 which could cause problems upon
entering full-screen.
2011-08-29 21:45:33 +02:00
Bjorn Winckler b7571e20e7 Fix window dimension autosave regression
Also compensate for tabline if it is visible by adding another row to
the autosaved rows.
2011-08-29 19:56:03 +02:00
Bjorn Winckler 27933401af Restore hard-coded <Backspace> binding
Binding <Backspace> in the sytem gvimrc caused problems with plugins, so
restore the hard-coded binding instead.
2011-08-29 18:41:40 +02:00
Bjorn Winckler afc4e4ce4a Revert "Map delete key to delete visual selection"
This reverts commit ec80934916.
2011-08-29 18:36:54 +02:00
Bram Moolenaar 6a9a8f9b19 Added tag v7-3-289 for changeset 44ffd0a8abcd 2011-08-28 16:02:28 +02:00
Bram Moolenaar e5c652eca9 updated for version 7.3.289
Problem:    Complete function isn't called when the leader changed.
Solution:   Call ins_compl_restart() when the leader changed.  (Taro Muraoka)
2011-08-28 16:02:28 +02:00
Bram Moolenaar 3ab9c1384f Added tag v7-3-288 for changeset e4f3fa1a474e 2011-08-28 16:00:19 +02:00
Bram Moolenaar 054b67b2b8 updated for version 7.3.288
Problem:    has('python') may give an error message for not being able to load
	    the library after using python3.
Solution:   Only give the error when the verbose argument is true.
2011-08-28 16:00:19 +02:00
Björn Winckler bf9c575456 Merge pull request #18 from splhack/fix_im_underline 2011-08-28 01:03:14 -07:00
Bram Moolenaar a4f92ceca3 Added tag v7-3-287 for changeset 07bc2ccfe555 2011-08-27 15:10:04 +02:00
Bram Moolenaar 970f752598 updated for version 7.3.287
Problem:    Can't compile with MSVC and tiny options.
Solution:   Move variables and #ifdefs. (Sergey Khorev)
2011-08-27 15:10:04 +02:00
Björn Winckler 08147f3210 Merge pull request #19 from budrick/master
Handle spaces in output directories
2011-08-26 10:58:19 -07:00
Bram Moolenaar 63eb54becf Added tag v7-3-286 for changeset 3f822e54765c 2011-08-26 16:13:00 +02:00
Bram Moolenaar 716195299b updated for version 7.3.286
Problem:    Crash when using "zd" on a large number of folds. (Sam King)
Solution:   Recompute pointer after reallocating array.  Move fewer entries
	    when making room.
2011-08-26 16:13:00 +02:00
Matt Cegielka eadead4e05 Handle spaces in output directories 2011-08-24 11:29:43 +01:00
Bram Moolenaar dae8dd82a1 Added tag v7-3-285 for changeset 6018c815e120 2011-08-19 22:29:02 +02:00
Bram Moolenaar 36083d9981 updated for version 7.3.285
Problem:    Mapping <Char-123> no longer works.
Solution:   Properly check for "char-".  Add a test for it.
2011-08-19 22:29:02 +02:00
Bram Moolenaar 24c79f8574 Added tag v7-3-284 for changeset 27d43855b723 2011-08-17 20:33:23 +02:00
Bram Moolenaar a73d723be8 updated for version 7.3.284
Problem:    The str2special() function doesn't handle multi-byte characters
	    properly.
Solution:   Recognize multi-byte characters. (partly by Vladimir Vichniakov)
2011-08-17 20:33:22 +02:00
Bram Moolenaar bc4b1d2485 Added tag v7-3-283 for changeset 47b6d37b6012 2011-08-17 17:18:20 +02:00
Bram Moolenaar 9404aab7e5 updated for version 7.3.283
Problem:    An expression mapping with a multi-byte character containing a
	    0x80 byte gets messed up. (ZyX)
Solution:   Unescape the expression before evaluating it (Yukihiro Nakadaira)
2011-08-17 17:18:20 +02:00
Bram Moolenaar f226625aef Added tag v7-3-282 for changeset 92167bb91c95 2011-08-17 16:25:48 +02:00
Bram Moolenaar f55f73cb30 updated for version 7.3.282
Problem:    When using input() and :echo in a loop the displayed text is
	    incorrect. (Benjamin Fritz)
Solution:   Only restore the cursor position when there is a command line.
	    (Ben Schmidt)
2011-08-17 16:25:48 +02:00
Bram Moolenaar f4bbe1b24d Added tag v7-3-281 for changeset 45ead8a0bede 2011-08-17 15:23:23 +02:00
Bram Moolenaar 252510d3df updated for version 7.3.281
Problem:    After using "expand('%:8')" the buffer name is changed.
Solution:   Make a copy of the file name before shortening it.
2011-08-17 15:23:23 +02:00
Bram Moolenaar 50a0c80dd7 Added tag v7-3-280 for changeset 58bba69b3371 2011-08-10 18:36:54 +02:00
Bram Moolenaar 9f368a11b2 updated for version 7.3.280
Problem:    ":lmake" does not update the quickfix window title.
Solution:   Update the title. (Lech Lorens)
2011-08-10 18:36:54 +02:00
Bram Moolenaar a4fc0ce9eb Added tag v7-3-279 for changeset 342b17608967 2011-08-10 17:44:45 +02:00
Bram Moolenaar ee5543b7de updated for version 7.3.279
Problem:    With GTK, when gvim is full-screen and a tab is opened and using a
	    specific monitor configuration the window is too big.
Solution:   Adjust the window size like on MS-Windows. (Yukihiro Nakadaira)
2011-08-10 17:44:45 +02:00
Bram Moolenaar aa016a5bfe Added tag v7-3-278 for changeset 6622f28b7e87 2011-08-10 17:25:52 +02:00
Bram Moolenaar 4cc118bb3d updated for version 7.3.278
Problem:    Passing the file name to open in VisVim doesn't work.
Solution:   Adjust the index and check for end of buffer. (Jiri Sedlak)
2011-08-10 17:25:51 +02:00
Bram Moolenaar b26f0fb957 Added tag v7-3-277 for changeset e5b17a5f6516 2011-08-10 17:08:03 +02:00
Bram Moolenaar 4f487cb1a0 updated for version 7.3.277
Problem:    MS-Windows: some characters do not show in dialogs.
Solution:   Use the wide methods when available. (Yanwei Jia)
2011-08-10 17:08:03 +02:00
Bram Moolenaar 9b6d1038ba Added tag v7-3-276 for changeset 37a54a85413e 2011-08-10 16:31:24 +02:00
Bram Moolenaar a44e66647e updated for version 7.3.276
Problem:    GvimExt sets $LANG in the wrong way.
Solution:   Save the environment and use it for gvim. (Yasuhiro Matsumoto)
2011-08-10 16:31:23 +02:00
Bram Moolenaar 2fc242e6cc Added tag v7-3-275 for changeset 125c7bf52271 2011-08-10 15:56:27 +02:00
Bram Moolenaar af81f033f9 updated for version 7.3.275
Problem:    MS-Windows: When using a black background some screen updates
	    cause the window to flicker.
Solution:   Add WS_CLIPCHILDREN to CreateWindow().  (René Aguirre)
2011-08-10 15:56:27 +02:00
Bram Moolenaar e1cd0dfcd0 Added tag v7-3-274 for changeset 1bb6776fa8c4 2011-08-10 14:32:39 +02:00
Bram Moolenaar 5ebe10cd56 updated for version 7.3.274
Problem:    With concealed characters tabs do not have the right size.
Solution:   Use VCOL_HLC instead of vcol. (Eiichi Sato)
2011-08-10 14:32:39 +02:00
Bram Moolenaar eae54ba84f Added tag v7-3-273 for changeset 7d4e5e31d8c1 2011-08-10 13:21:46 +02:00
Bram Moolenaar 025402ead3 updated for version 7.3.273
Problem:    A BOM in an error file is seen as text. (Aleksey Baibarin)
Solution:   Remove the BOM from the text before evaluating. (idea by Christian
	    Brabandt)
2011-08-10 13:21:46 +02:00
Bram Moolenaar 69761f00d2 Added tag v7-3-272 for changeset 02f5abca10ae 2011-08-10 12:38:08 +02:00
Bram Moolenaar b6f9d20ef4 updated for version 7.3.272
Problem:    ":put =list" does not add an empty line for a trailing empty
	    item.
Solution:   Add a trailing NL when turning a list into a string.
2011-08-10 12:38:08 +02:00
Bram Moolenaar 994b223919 Added tag v7-3-271 for changeset 32a52f06f33b 2011-08-10 12:19:04 +02:00
Bram Moolenaar 6fb1ea8d7f updated for version 7.3.271
Problem:    Code not following Vim coding style.
Solution:   Fix the style. (Elias Diem)
2011-08-10 12:19:04 +02:00
Bram Moolenaar c58a35b454 Added tag v7-3-270 for changeset b9182da84c7e 2011-08-10 12:11:01 +02:00
Bram Moolenaar 8b4e70c31d updated for version 7.3.270
Problem:    Illegal memory access.
Solution:   Swap conditions. (Dominique Pelle)
2011-08-10 12:11:01 +02:00
Kazuki Sakamoto 674896651e Fix to draw the underline for inline IM inputs
imdisable should not affect drawing the underline for inline IM inputs.
2011-08-06 06:15:39 +09:00
Bram Moolenaar 57747fd2bf Added tag v7-3-269 for changeset 7f4f5ca70dbd 2011-08-04 22:59:28 +02:00
Bram Moolenaar 1e1f876bc1 updated for version 7.3.269
Problem:    'shellcmdflag' only works with one flag.
Solution:   Split into multiple arguments. (Gary Johnson)
2011-08-04 22:59:28 +02:00
Bram Moolenaar e1fae7284e Added tag v7-3-268 for changeset ee17ee712512 2011-08-04 19:36:52 +02:00
Bram Moolenaar b35ffe84c6 updated for version 7.3.268
Problem:    Vim freezes when executing an external command with zsh.
Solution:   Use O_NOCTTY both in the master and slave. (Bjorn Winckler)
2011-08-04 19:36:52 +02:00
Bram Moolenaar c2d6883594 Added tag v7-3-267 for changeset ad404f2a4bfa 2011-08-04 19:34:59 +02:00
Bram Moolenaar a810a2915f updated for version 7.3.267
Problem:    Ruby on Mac OS X 10.7 may crash.
Solution:   Avoid alloc(0). (Bjorn Winckler)
2011-08-04 19:34:59 +02:00
Bjorn Winckler 490a242c79 Hide tabline separator in full-screen 2011-07-30 15:54:26 +02:00
Bjorn Winckler 88fc234df7 Ensure window stays maximized in full-screen
For example, if the tabline or a scrollbar is hidden then the window
will resize so that it stays maximized (in full-screen).  (A side-effect
is that ":set co=.." does nothing in full-screen if 'fuopt' includes
"maxhorz".)
2011-07-28 17:58:26 +02:00
Bjorn Winckler 95b3957d73 Avoid compilation warning on OS X 10.4 - 10.6 2011-07-27 22:19:22 +02:00
Björn Winckler 31d7d95535 Merge pull request #17 from seanfarley/master
Fix capitalization typo in Xcode project
2011-07-27 12:50:06 -07:00
Sean Farley b68b47e81f Fixed typo in the project file when MMFullscreenWindow was renamed to MMFullScreenWindow 2011-07-27 14:39:55 -05:00
Bjorn Winckler af13572c16 Snapshot 61 2011-07-27 20:01:59 +02:00
Bjorn Winckler 62511ccb37 Merge branch 'lion' 2011-07-27 19:33:33 +02:00
Bjorn Winckler 9007fe7ea4 Rename MMFullscreenWindow -> MMFullScreenWindow 2011-07-27 18:58:26 +02:00
Bjorn Winckler 1435c84507 Use "full-screen" and [Ff]ullScreen consistently 2011-07-27 18:55:20 +02:00
Bjorn Winckler 8d255ed95a Avoid window animation on custom full-screen exit
This only applies when running Mac OS X 10.7+.
2011-07-27 18:31:25 +02:00
Bram Moolenaar ff09e61694 Added tag v7-3-266 for changeset 25be7c9dda54 2011-07-27 18:25:44 +02:00
Bram Moolenaar f33d8610ca updated for version 7.3.266
Problem:    In Gvim with iBus typing space in Insert mode doesn't work.
Solution:   Clear xim_expected_char after checking it.
2011-07-27 18:25:44 +02:00
Bjorn Winckler 84bd7acdcb Final fix for open new window in full-screen
The original fix for opening a new window while in full-screen was
flawed.  This commit takes a new approach and corrects problems related
to opening a new window while MacVim was in full-screen as well as
problems with using "mvim" from a full-screen Terminal window.
2011-07-27 18:18:29 +02:00
Bram Moolenaar d7868fe396 Added tag v7-3-265 for changeset eff686fb8de6 2011-07-27 17:58:46 +02:00
Bram Moolenaar 4fbfd3b72d updated for version 7.3.265
Problem:    When storing a pattern in search history there is no proper check
	    for the separator character.
Solution:   Pass the separator character to in_history(). (Muraoka Taro)
2011-07-27 17:58:46 +02:00
Bram Moolenaar e3c8fb2cc5 Added tag v7-3-264 for changeset aa40bddeea9a 2011-07-27 17:31:47 +02:00
Bram Moolenaar 67755f963f updated for version 7.3.264
Problem:    When the current directory name contains wildcard characters, such
	    as "foo[with]bar", the tags file can't be found.  (Jeremy
	    Erickson)
Solution:   When searching for matching files also match without expanding
	    wildcards.  This is a bit of a hack.
2011-07-27 17:31:47 +02:00
Bjorn Winckler 871d6fb68d Fix window restore on enter full-screen failure 2011-07-27 16:59:02 +02:00
Bram Moolenaar 2dcdd2a153 Added tag v7-3-263 for changeset a56259157c93 2011-07-27 14:15:46 +02:00
Bram Moolenaar 2999bcc962 updated for version 7.3.263
Problem:    Perl and Tcl have a few code style problems.
Solution:   Clean it up.  (Elias Diem)
2011-07-27 14:15:46 +02:00
Bram Moolenaar bb18281bd3 Added tag v7-3-262 for changeset 847733973bfd 2011-07-27 14:09:09 +02:00
Bram Moolenaar a0aba21f7a updated for version 7.3.262
Problem:    Photon code style doesn't match Vim style.
Solution:   Clean up some of it.  (Elias Diem)
2011-07-27 14:09:09 +02:00
Bjorn Winckler 8b7a78a4ca Addendum to fix for open window in full-screen
Don't switch window to full-screen after presenting it if for some
reason the application is no longer in full-screen.  Seems to happen
sometimes when starting MacVim from a full-screen Terminal window.
2011-07-27 13:59:58 +02:00
Bram Moolenaar ef6d40a9c4 Added tag v7-3-261 for changeset 410d42e3d4da 2011-07-27 13:59:21 +02:00
Bram Moolenaar dc9a599bb4 updated for version 7.3.261
Problem:    G++ error message errornously recognized as error.
Solution:   Ignore "In file included from" line also when it ends in a colon.
	    (Fernando Castillo)
2011-07-27 13:59:21 +02:00
Bjorn Winckler 98346d00d1 Add user default for native/custom full screen
The boolean user default MMNativeFullScreen can be used to control
whether to use native or custom full-screen.  Set to 0 for custom, set
to 1 for native full-screen, for example

    $ defaults write org.vim.MacVim MMNativeFullScreen 0

The default is to use native full-screen when available.  This user
default does nothing on pre-Lion Mac OS X.

Also conditionally call Lion APIs so that it is possible to compile with
10.7 SDK but still support 10.6 (nb. 10.5 and earlier SDKs are not
supported as of Xcode 4).  (Suggestion and initial patch by @splhack.)
2011-07-27 13:42:46 +02:00
Bjorn Winckler 7f8ed177e5 Handle screen parameter changes in full screen 2011-07-26 19:56:12 +02:00
Bjorn Winckler d01ee9a02b Use correct presentation option API 2011-07-26 19:53:54 +02:00
Bjorn Winckler 4fbdea5683 Fix for opening new window while in full screen 2011-07-26 16:42:44 +02:00
Bjorn Winckler bcfd3686d3 Maximize both directions in full screen by default
The default for 'fuopt' is now "maxhorz,maxvert".  Update help to
reflect this and add note that the background option of 'fuopt' is not
supported when using Mac OS X native full screen mode.
2011-07-26 14:51:50 +02:00
Bjorn Winckler 705cce16cb Support "set fu" in gvimrc for Lion full screen 2011-07-26 14:43:34 +02:00
Bjorn Winckler ec80934916 Map delete key to delete visual selection
Also update the help.  The delete key used to be hard coded in the
source but now it is mapped in MacVim's gvimrc file instead.
2011-07-26 13:10:15 +02:00
Bjorn Winckler 9dabefa342 Change toolbar style in full screen 2011-07-25 23:21:44 +02:00
Bjorn Winckler 19d9e88653 Fix visibility of toolbar in full screen
The toolbar will pop up when the mouse is moved to the top of the screen
in full screen mode if and only if it is visible outside of full screen
mode.

Bug: if the toolbar is toggled in full screen mode then sometimes it is
no longer possible to enable it after exiting full screen.
2011-07-25 23:05:07 +02:00
Bjorn Winckler f295c0db32 Keep full screen window centered, change animation
Keep the window centered in full screen when it changes size.  At the
moment the Lion full screen background is shown around the window,
meaning that the "background" option of 'fuopt' is ignored.

The animation when entering full screen is now a fade out of the
decorated window, followed by a fade in of the full screen window.  Any
attempts at making an animation of the window frame failed because of
the way content is drawn (by pushing drawing updates).  For this reason
I settled on a fade animation which is not exactly pretty, but at least
it is as objectionable as the default animation.

A side effect of implementing a custom animation is that the correct
window now gets focus when closing a full screen window.
2011-07-25 22:59:50 +02:00
Bjorn Winckler b8e2540fef Set proper animation behavior for window
This causes a window to animate when it opens just like windows in other
Lion apps do.
2011-07-24 21:35:29 +02:00
Bjorn Winckler 6f05829f7e Switch spaces when closing window in full screen
A remaining problem is that if there is another window open then it does
not get focus when the full screen window closes.
2011-07-24 21:33:47 +02:00
Bjorn Winckler 9e6a7b76b5 Clicking full screen button updates 'fu' option
This fixes a bug where the 'fu' option would not be updated when clicking
the full screen button in the top right corner of a window.
2011-07-24 18:40:16 +02:00
Bjorn Winckler aa86531f82 Snapshot 60 2011-07-22 20:17:04 +02:00
Bjorn Winckler e0f133cb14 Merge branch 'vim' 2011-07-22 19:51:20 +02:00
Bjorn Winckler 56390fac62 Fix for zsh causing freezes on Lion
Make sure tty is opened using the same flags as when opening the pty.
In particular, the O_NOCTTY was missing from the tty open call.  This
caused waitpid() to always return 0 and Vim would get stuck in an
endless loop waiting for the child to exit.
2011-07-22 19:46:58 +02:00
Bjorn Winckler c35d6d1d3c Addendum to emergency fix
Ensure vim_message() outputs an empty message when the Ruby string has
length 0.  Failing to do this will cause the message area not to clear
when it should.
2011-07-22 19:46:49 +02:00
Bjorn Winckler 27086e3b64 Emergency fix for Ruby problems
With optimizations enabled "alloca(len)" generates code which depends on
"len > 0".  If "len == 0" then the stack pointer becomes botched.  This
fix simply avoids a call to "alloca(len)" in the latter case.  The root
of this problem may be deeper than this, hence I am calling this an
"emergency fix" for now but at least it fixes the crashes in the Ruby
interface that appear when compiling on Mac OS X 10.7.
2011-07-22 19:46:36 +02:00
Bjorn Winckler df741b5f4e Fix for zsh causing freezes on Lion
Make sure tty is opened using the same flags as when opening the pty.
In particular, the O_NOCTTY was missing from the tty open call.  This
caused waitpid() to always return 0 and Vim would get stuck in an
endless loop waiting for the child to exit.
2011-07-22 19:26:13 +02:00
Bjorn Winckler 79ba4bcdc0 Addendum to emergency fix
Ensure vim_message() outputs an empty message when the Ruby string has
length 0.  Failing to do this will cause the message area not to clear
when it should.
2011-07-21 22:14:24 +02:00
Bjorn Winckler 6bd19ecf62 Emergency fix for Ruby problems
With optimizations enabled "alloca(len)" generates code which depends on
"len > 0".  If "len == 0" then the stack pointer becomes botched.  This
fix simply avoids a call to "alloca(len)" in the latter case.  The root
of this problem may be deeper than this, hence I am calling this an
"emergency fix" for now but at least it fixes the crashes in the Ruby
interface that appear when compiling on Mac OS X 10.7.
2011-07-21 21:57:33 +02:00
Bjorn Winckler df0c4d770c Fix compilation warnings in PSMTabBarControl
This also disables icon drawing code in tabs.  The reason being that the
code is unused, caused warnings and looked generally dangerous.
2011-07-21 15:00:59 +02:00
Bjorn Winckler 672bf1f0fc Fix open/save panel related compilation warnings 2011-07-21 14:36:23 +02:00
Bjorn Winckler 1c1b721b93 Update .gitignore 2011-07-21 12:34:40 +02:00
Bjorn Winckler 37741a0cb5 Use correct availability macros 2011-07-21 12:28:23 +02:00
Bram Moolenaar e967a23863 Added tag v7-3-260 for changeset cb4682b95909 2011-07-20 18:29:39 +02:00
Bram Moolenaar 851cd145ab updated for version 7.3.260
Problem:    CursorHold triggers on an incomplete mapping. (Will Gray)
Solution:   Don't trigger CursorHold when there is typeahead.
2011-07-20 18:29:39 +02:00
Bram Moolenaar 12011cfc3e Added tag v7-3-259 for changeset 59130cd78dfc 2011-07-20 17:58:20 +02:00
Bram Moolenaar 073aa81247 updated for version 7.3.259
Problem:    Equivalence classes only work for latin characters.
Solution:   Add the Unicode equivalence characters. (Dominique Pelle)
2011-07-20 17:58:20 +02:00
Bram Moolenaar 3f7b3209d8 Added tag v7-3-258 for changeset bdc3335bd72e 2011-07-20 17:27:25 +02:00
Bram Moolenaar d293bc15ca updated for version 7.3.258
Problem:    MS-Windows: The edit with existing vim context menu entries can be
	    unwanted.
Solution:   Let a registry entry disable them. (Jerome Vuarand)
2011-07-20 17:27:25 +02:00
Bram Moolenaar 136af5316e Added tag v7-3-257 for changeset 1fad9c73d77a 2011-07-20 16:37:24 +02:00
Bram Moolenaar e01174b1f3 updated for version 7.3.257
Problem:    Not all completions are available to user commands.
Solution:   Add "color", "compiler", "file_in_path" and "locale". (Dominique
	    Pelle)
2011-07-20 16:37:24 +02:00
Bram Moolenaar 103ac57ae2 Added tag v7-3-256 for changeset c296c225736e 2011-07-20 15:09:44 +02:00
Bram Moolenaar ac79fd3bee updated for version 7.3.256
Problem:    Javascript indenting not sufficiently tested.
Solution:   Add more tests. (Luc Deschenaux)  Mark the lines that are indented
	    wrong.
2011-07-20 15:09:43 +02:00
Bram Moolenaar fc6320cf98 Added tag v7-3-255 for changeset aa998de9f959 2011-07-20 15:04:59 +02:00
Bram Moolenaar 31ed9f1341 updated for version 7.3.255
Problem:    When editing a file such as "File[2010-08-15].vim" an E16 error is
	    given. (Manuel Stol)
Solution:   Don't give an error for failing to compile the regexp.
2011-07-20 15:04:58 +02:00
Bjorn Winckler 88b7b921be Use GCC instead of platform default
This is necessary since the Vim executable is built using GCC.  Using
LLVM for the frontend and GCC for the backend caused runtime errors in
distributed object calls.
2011-07-20 15:04:43 +02:00
Bjorn Winckler 35c355a085 Disable automatic relaunching on OS X 10.7 2011-07-20 15:04:43 +02:00
Bjorn Winckler 47e83bcd2e Use native Lion full screen functionality
On Lion use the full screen functionality built into the OS.  Also
change the shortcut to toggle full screen to Cmd-Ctrl-f.
2011-07-20 15:04:42 +02:00
Bram Moolenaar 1e4ca096eb Updated runtime files.
Add missing test82 files.
2011-07-18 19:40:27 +02:00
Bjorn Winckler 301fd4c3ac Merge branch 'vim'
Conflicts:
	src/auto/configure
2011-07-17 21:12:55 +02:00
Bjorn Winckler b5fae0ff3f Fix compiler warning 2011-07-16 15:48:33 +02:00
Bjorn Winckler d99c9c1101 Fix bug in swipe code 2011-07-16 15:46:38 +02:00
Bram Moolenaar 155ee7b0ca Added tag v7-3-254 for changeset 1eb805225de7 2011-07-15 21:24:12 +02:00
Bram Moolenaar c3d99f427d updated for version 7.3.254
Problem:    The coladd field is not reset when setting the line number for a
	    ":call" command.
Solution:   Reset it.
2011-07-15 21:24:11 +02:00
Bram Moolenaar cee4357a5b Added tag v7-3-253 for changeset c21429d7768c 2011-07-15 21:16:59 +02:00
Bram Moolenaar fa6185ce52 updated for version 7.3.253
Problem:    "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
	    Checks in mb_strnicmp() for illegal and truncated bytes are
	    wrong.  Should not assume that byte length is equal before case
	    folding.
Solution:   Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
	    this. (Ivan Krasilnikov)
2011-07-15 21:16:59 +02:00
Bram Moolenaar c9cf2496c7 Added tag v7-3-252 for changeset 0b4289bcf836 2011-07-15 17:56:16 +02:00
Bram Moolenaar 803d8bdfb4 updated for version 7.3.252
Problem:    Tests fail. (David Northfield)
Solution:   Add missing update for .ok file.
2011-07-15 17:56:16 +02:00
Bram Moolenaar 4616dfcd3a Added tag v7-3-251 for changeset fe6ad3fd8532 2011-07-15 17:51:34 +02:00
Bram Moolenaar 37573a22d4 updated for version 7.3.251
Problem:    "gH<Del>" deletes the current line, except when it's the last
	    line.
Solution:   Set the "include" flag to indicate the last line is to be deleted.
2011-07-15 17:51:34 +02:00
Bram Moolenaar 44d2f391c9 Added tag v7-3-250 for changeset f909f4f0f38c 2011-07-15 15:54:44 +02:00
Bram Moolenaar 187319ac73 updated for version 7.3.250
Problem:    Python: Errors in Unicode characters not handled nicely.
Solution:   Add the surrogateescape error handler. (lilydjwg)
2011-07-15 15:54:44 +02:00
Bram Moolenaar bea434d7ad Added tag v7-3-249 for changeset 9f71f5a526af 2011-07-15 14:12:31 +02:00
Bram Moolenaar ddc01469a8 updated for version 7.3.249
Problem:    Wrong indenting for array initializer.
Solution:   Detect '}' in a better way. (Lech Lorens)
2011-07-15 14:12:30 +02:00
Bram Moolenaar 1f1e41911e Added tag v7-3-248 for changeset 57a7998e0fa8 2011-07-15 13:52:04 +02:00
Bram Moolenaar 7c4547bf99 updated for version 7.3.248
Problem:    PC Install instructions missing install instructions.
Solution:   Step-by-step explanation. (Michael Soyka)
2011-07-15 13:52:04 +02:00
Bram Moolenaar 7322c3ba4b Added tag v7-3-247 for changeset 7fe2c092913e 2011-07-15 13:33:21 +02:00
Bram Moolenaar 9d86f0c543 updated for version 7.3.247
Problem:    Running tests changes the users viminfo file.  Test for patch
	    7.3.245 missing.
Solution:   Add "nviminfo" to the 'viminfo' option.  Include the test.
2011-07-15 13:33:21 +02:00
Bram Moolenaar be9bf38b00 Added tag v7-3-246 for changeset 3f1a4ed36d1b 2011-07-15 13:21:30 +02:00
Bram Moolenaar 78f1705c39 updated for version 7.3.246
Problem:    Repeating "f4" in "4444" skips one 4.
Solution:   Check the t_cmd flag. (Christian Brabandt)
2011-07-15 13:21:30 +02:00
Bram Moolenaar f752a1288f Added tag v7-3-245 for changeset 52512eddb876 2011-07-15 13:09:51 +02:00
Bram Moolenaar 5aa313472e updated for version 7.3.245
Problem:    Python 3.2 libraries not correctly detected.
Solution:   Add the suffix to the library name. (Niclas Zeising)
2011-07-15 13:09:51 +02:00
Bjorn Winckler b0625e5e96 Snapshot 59 2011-07-10 17:06:35 +02:00
Bjorn Winckler 8c1e930854 Use public API to toggle display of hidden files
Use public API (introduced in OS X 10.6) to toggle display of hidden
files in the open and save panels.  This fixes a bug where MacVim would
lock up or crash when using the open or save panels on OS X 10.7.
2011-07-09 19:54:35 +02:00
Bram Moolenaar ff3e697c62 Added tag v7-3-244 for changeset be6b65096362 2011-07-07 17:43:42 +02:00
Bram Moolenaar 9c42afa550 updated for version 7.3.244
Problem:    MS-Windows: Build problem with old compiler. (John Beckett)
Solution:   Only use HandleToLong() when available. (Mike Williams)
2011-07-07 17:43:41 +02:00
Bram Moolenaar cf1628689a Added tag v7-3-243 for changeset 512ddd87f1a8 2011-07-07 17:36:57 +02:00
Bram Moolenaar b70aad41ed updated for version 7.3.243
Problem:    Illegal memory access in readline().
Solution:   Swap the conditions. (Dominique Pelle)
2011-07-07 17:36:56 +02:00
Bram Moolenaar 8dd190f611 Added tag v7-3-242 for changeset 3d96ddbeb3b0 2011-07-07 17:15:33 +02:00
Bram Moolenaar b20d2575d0 updated for version 7.3.242
Problem:    Illegal memory access in after_pathsep().
Solution:   Check that the pointer is not at the start of the file name.
	    (Dominique Pelle)
2011-07-07 17:15:33 +02:00
Bram Moolenaar 195add0620 Added tag v7-3-241 for changeset 0a650db02653 2011-07-07 16:44:38 +02:00
Bram Moolenaar fd92d3e268 updated for version 7.3.241
Problem:    Using CTRL-R CTRL-W on the command line may insert only part of
	    the word.
Solution:   Use the cursor position instead of assuming it is at the end of
	    the command. (Tyru)
2011-07-07 16:44:37 +02:00
Bram Moolenaar a9c96dd4b4 Added tag v7-3-240 for changeset bf283e37792b 2011-07-07 16:20:52 +02:00
Bram Moolenaar 09fcb03138 updated for version 7.3.240
Problem:    External commands can't use pipes on MS-Windows.
Solution:   Implement pipes and use them when 'shelltemp' isn't set. (Vincent
	    Berthoux)
2011-07-07 16:20:52 +02:00
Bram Moolenaar dab1828e3d Added tag v7-3-239 for changeset 0bef86c5c985 2011-07-07 15:08:58 +02:00
Bram Moolenaar a732285db7 updated for version 7.3.239
Problem:    Python corrects the cursor column without taking 'virtualedit'
	    into account. (lilydjwg)
Solution:   Call check_cursor_col_win().
2011-07-07 15:08:58 +02:00
Bram Moolenaar f562b94b3f Added tag v7-3-238 for changeset f2c108f44f41 2011-07-07 15:04:52 +02:00
Bram Moolenaar 64379f252a updated for version 7.3.238
Problem:    Compiler warning for conversion.
Solution:   Add type cast. (Mike Williams)
2011-07-07 15:04:52 +02:00
Bjorn Winckler 5a13bc1fed Snapshot 58 2011-06-27 12:18:00 +02:00
Bjorn Winckler f6c0037945 Merge branch 'vim'
Conflicts:
	src/gui.c
2011-06-27 12:03:57 +02:00
Bram Moolenaar 961eab79ea Added tag v7-3-237 for changeset e3bb93df6c34 2011-06-26 19:40:23 +02:00
Bram Moolenaar e201ce759a updated for version 7.3.237
Problem:    "filetype" completion doesn't work on Windows. (Yue Wu)
Solution:   Don't use a glob pattern for the directories, use a list of
	    directories. (Dominique Pelle)
2011-06-26 19:40:23 +02:00
Bram Moolenaar 28aab099ac Added tag v7-3-236 for changeset c1733ef5b6e8 2011-06-26 19:13:51 +02:00
Bram Moolenaar c4ffce9c94 updated for version 7.3.236
Problem:    Python 3 doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
2011-06-26 19:13:50 +02:00
Bram Moolenaar 0a51880d44 Added tag v7-3-235 for changeset 441d364773dc 2011-06-26 05:36:34 +02:00
Bram Moolenaar beda110d44 updated for version 7.3.235
Problem:    ";" gets stuck on a "t" command, it's not useful.
Solution:   Add the ';' flag in 'cpo'. (Christian Brabandt)
2011-06-26 05:36:34 +02:00
Bram Moolenaar deef077331 Added tag v7-3-234 for changeset 7653420fdc45 2011-06-26 04:49:00 +02:00
Bram Moolenaar b70ae538c9 updated for version 7.3.234
Problem:    With GTK menu may be popping down.
Solution:   Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
2011-06-26 04:49:00 +02:00
Bram Moolenaar 87ed530032 Added tag v7-3-233 for changeset 69b90e43b728 2011-06-26 04:25:30 +02:00
Bram Moolenaar be9de3cbaf updated for version 7.3.233
Problem:    ":scriptnames" and ":breaklist" show long file names.
Solution:   Shorten to use "~/" when possible. (Jean-Rene David)
2011-06-26 04:25:30 +02:00
Bram Moolenaar ba5f3329d8 Added tag v7-3-232 for changeset b67d3a44262a 2011-06-26 04:01:44 +02:00
Bram Moolenaar 66af0b2adb updated for version 7.3.232
Problem:    Python doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined.
2011-06-26 04:01:44 +02:00
Bram Moolenaar 44aca09673 Added tag v7-3-231 for changeset 455a4c85d04d 2011-06-26 03:18:52 +02:00
Bram Moolenaar a59ce30cdb updated for version 7.3.231
Problem:    Runtime file patches failed.
Solution:   Redo the patches made against the patched files instead of the
	    files in the mercurial repository.
2011-06-26 03:18:52 +02:00
Bram Moolenaar a99496b7f2 Added tag v7-3-230 for changeset 70c8f54e7efb 2011-06-20 05:02:58 +02:00
Bram Moolenaar befc3cb32f updated for version 7.3.230
Problem:    ":wundo" and ":rundo" don't unescape their argument.  (Aaron
	    Thoma)
Solution:   Use FILE1 instead of XFILE.
2011-06-20 05:02:58 +02:00
Bram Moolenaar 1bb588dd8c Added tag v7-3-229 for changeset 07647a0545c9 2011-06-20 00:53:15 +02:00
Bram Moolenaar c9a00c5398 updated for version 7.3.229
Problem:    Using fork() makes gvim crash on Mac when build with
	    CoreFoundation.
Solution:   Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka)
2011-06-20 00:53:15 +02:00
Bram Moolenaar 960fec7f12 Added tag v7-3-228 for changeset c6df8554b39d 2011-06-20 00:45:58 +02:00
Bram Moolenaar 6af28e78bd updated for version 7.3.228
Problem:    "2gj" does not always move to the correct position.
Solution:   Get length of line after moving to a next line. (James Vega)
2011-06-20 00:45:58 +02:00
Bram Moolenaar 3a686b2786 Added tag v7-3-227 for changeset b65a26a2aa09 2011-06-20 00:25:44 +02:00
Bram Moolenaar 3844e50139 updated for version 7.3.227
Problem:    Mac OS doesn't have the linewise clipboard fix.
Solution:   Also change the Mac OS file. (Bjorn Winckler)
2011-06-20 00:25:44 +02:00
Bram Moolenaar c06b3af207 Updated runtime files. 2011-06-19 05:09:16 +02:00
Bram Moolenaar de5765153a Added tag v7-3-226 for changeset 8477b2cc2b81 2011-06-19 04:54:22 +02:00
Bram Moolenaar bea751a99e updated for version 7.3.226
Problem:    On a 64 bit system "syn sync fromstart" is very slow.  (Bjorn
	    Steinbrink)
Solution:   Store the state when starting to parse from the first line.
2011-06-19 04:54:21 +02:00
Bram Moolenaar e733bfcbad Added tag v7-3-225 for changeset c249d9aa60f7 2011-06-19 04:32:15 +02:00
Bram Moolenaar 8a6556b02c updated for version 7.3.225
Problem:    Using "\n" in a substitute inside ":s" does not result in a line
	    break.
Solution:   Change behavior inside vim_regexec_nl().   Add tests.  (Motoya
	    Kurotsu)
2011-06-19 04:32:15 +02:00
Bram Moolenaar 46ac6c8ed5 Added tag v7-3-224 for changeset 69e0783ed0ef 2011-06-19 02:55:38 +02:00
Bram Moolenaar ebcf5fa241 updated for version 7.3.224
Problem:    Can't pass dict to sort function.
Solution:   Add the optional {dict} argument to sort(). (ZyX)
2011-06-19 02:55:37 +02:00
Bram Moolenaar 2bba29d744 Added tag v7-3-223 for changeset 4e21fd3cfc30 2011-06-19 01:30:07 +02:00
Bram Moolenaar 5d930f4b08 updated for version 7.3.223
Problem:    MingW cross compilation doesn't work with tiny features.
Solution:   Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
	    "#ifdef CLIPBOARD".  Fix typo in makefile.
2011-06-19 01:30:07 +02:00
Bram Moolenaar 5db465dfb1 Added tag v7-3-222 for changeset c3b4b1c89d8e 2011-06-19 01:27:34 +02:00
Bram Moolenaar a949911b55 updated for version 7.3.222
Problem:    Warning for building GvimExt.
Solution:   Comment-out the DESCRIPTION line. (Mike Williams)
2011-06-19 01:27:34 +02:00
Bram Moolenaar d88e997f35 Added tag v7-3-221 for changeset fd4224d9ee09 2011-06-19 01:14:29 +02:00
Bram Moolenaar f280de7b25 updated for version 7.3.221
Problem:    Text from the clipboard is sometimes handled as linewise, but not
	    consistently.
Solution:   Assume the text is linewise when it ends in a CR or NL.
2011-06-19 01:14:29 +02:00
Bram Moolenaar ff1604d5f5 Added tag v7-3-220 for changeset fe9c7da98b5e 2011-06-19 00:27:51 +02:00
Bram Moolenaar e8c4996e56 updated for version 7.3.220
Problem:    Python 3: vim.error is a 'str' instead of an 'Exception' object,
	    so 'except' or 'raise' it causes a 'SystemError' exception.
	    Buffer objects do not support slice assignment.
	    When exchanging text between Vim and Python, multibyte texts become
	    gabage or cause Unicode Expceptions, etc.
	    'py3file' tries to read in the file as Unicode, sometimes causes
	    UnicodeDecodeException
Solution:   Fix the problems. (lilydjwg)
2011-06-19 00:27:51 +02:00
Bjorn Winckler 30332fd2ac Remove unused Carbon include 2011-06-14 20:33:38 +02:00
Bjorn Winckler 93116bdb88 Merge branch 'vim'
Conflicts:
	src/auto/configure
	src/vim.h
2011-06-14 20:26:16 +02:00
Bram Moolenaar c8550f3099 Add files added by recent patches. 2011-06-13 21:21:22 +02:00
Bram Moolenaar d0e744cbef Added tag v7-3-219 for changeset acda456c788a 2011-06-13 02:04:00 +02:00
Bram Moolenaar fb3e1c2a39 updated for version 7.3.219
Problem:    Can't compile with GTK on Mac.
Solution:   Add some #ifdef trickery. (Ben Schmidt)
2011-06-13 02:04:00 +02:00
Bram Moolenaar 6e39600c36 Added tag v7-3-218 for changeset cf89a1d3a0dd 2011-06-13 01:32:47 +02:00
Bram Moolenaar 835b978fb0 updated for version 7.3.218
Problem:    Tiny configuration problem with Python 3.
Solution:   Add abiflags in one more place. (Andreas Behr)
2011-06-13 01:32:46 +02:00
Bram Moolenaar e28bc5cf93 Added tag v7-3-217 for changeset 15705b520c29 2011-06-13 01:19:56 +02:00
Bram Moolenaar 9be5c3e5b4 updated for version 7.3.217
Problem:    Inside an "if" a ":wincmd" causes problems.
Solution:   When skipping commands let ":wincmd" skip over its argument.
2011-06-13 01:19:56 +02:00
Bram Moolenaar 6d901b26e2 Added tag v7-3-216 for changeset eb6c70460702 2011-06-13 01:07:27 +02:00
Bram Moolenaar 81257b83bb updated for version 7.3.216
Problem:    When recovering a file a range of lines is missing. (Charles Jie)
Solution:   Reset the index when advancing to the next pointer block.  Add a
	    test to verify recovery works.
2011-06-13 01:07:27 +02:00
Bram Moolenaar de3f282492 Added tag v7-3-215 for changeset b7523ef31e23 2011-06-12 22:13:41 +02:00
Bram Moolenaar 7cf54dc283 updated for version 7.3.215
Problem:    Wrong file names in previous patch. (Toothpik)
Solution:   Include the option changes.
2011-06-12 22:13:40 +02:00
Bram Moolenaar 29726c771c Added tag v7-3-214 for changeset d84a564f28c9 2011-06-12 22:03:23 +02:00
Bram Moolenaar 21e6897baf updated for version 7.3.214
Problem:    The text displayed by ":z-" isn't exactly like old Vi.
Solution:   Add one to the start line number. (ChangZhuo Chen)
2011-06-12 22:03:23 +02:00
Bram Moolenaar ac8e1de210 Added tag v7-3-213 for changeset 493897f8bf90 2011-06-12 21:51:08 +02:00
Bram Moolenaar f9a4c81c8c updated for version 7.3.213
Problem:    Javascript object literal is not indented correctly.
Solution:   Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
2011-06-12 21:51:08 +02:00
Bram Moolenaar 288de1c3be Added tag v7-3-212 for changeset 6bbdb9c7a425 2011-06-12 21:37:13 +02:00
Bram Moolenaar 6c57e2a441 updated for version 7.3.212
Problem:    With Python 3.2 ":py3" fails.
Solution:   Move PyEval_InitThreads() to after Py_Initialize(). (Roland
	    Puntaier)  Check abiflags in configure. (Andreas Behr)
2011-06-12 21:37:13 +02:00
Bram Moolenaar bec12f5d07 Added tag v7-3-211 for changeset c7d942260772 2011-06-12 21:25:00 +02:00
Bram Moolenaar 7e24d094eb updated for version 7.3.211
Problem:    Compiler warning.
Solution:   Add type cast.
2011-06-12 21:25:00 +02:00
Bram Moolenaar 177020d4bf Added tag v7-3-210 for changeset eeb1ac4f66d1 2011-06-12 20:42:22 +02:00
Bram Moolenaar 4d3049155a updated for version 7.3.210
Problem:    Can't always find the file when using cscope.
Solution:   Add the 'cscoperelative' option. (Raghavendra D Prabhu)
2011-06-12 20:42:22 +02:00
Bram Moolenaar 4efcc45248 Added tag v7-3-209 for changeset 82cd9f1e8d6b 2011-06-12 20:36:09 +02:00
Bram Moolenaar d61d77b467 updated for version 7.3.209
Problem:    MSVC Install instructions point to wrong batch file.
Solution:   Add a batch file for use with MSVC 10.
2011-06-12 20:36:09 +02:00
Bram Moolenaar 959be16128 Added tag v7-3-208 for changeset 205adc87d579 2011-06-12 20:33:38 +02:00
Bram Moolenaar 2a3af00db7 updated for version 7.3.208
Problem:    Early terminated if statement.
Solution:   Remove the semicolon. (Lech Lorens)
2011-06-12 20:33:38 +02:00
Bram Moolenaar 99d12d6e38 Added tag v7-3-207 for changeset d1445b72ddb7 2011-06-12 20:31:31 +02:00
Bram Moolenaar 8afdd1ca38 updated for version 7.3.207
Problem:    Can't compile with MSVC with pentium4 and 64 bit.
Solution:   Only use SSE2 for 32 bit. (Mike Williams)
2011-06-12 20:31:31 +02:00
Bjorn Winckler b8ec9035b6 Plug major memory leak 2011-06-09 20:21:13 +02:00
Bjorn Winckler d8066f8a5d Fix untitled window open regression
Fixes bug where Quickstart would cause no window to open when the Dock
icon was clicked with MacVim already launched and no open windows.  This
commit also plugs a minor memory leak.
2011-05-31 11:39:01 +02:00
Bjorn Winckler c60f09b824 Merge branch 'vim'
Conflicts:
	src/ex_getln.c
	src/gui.c
	src/gui.h
	src/vim.h
2011-05-30 21:42:28 +02:00
Bram Moolenaar 2bdcd40dc1 Added tag v7-3-206 for changeset 46544d3ae7ec 2011-05-25 21:18:06 +02:00
Bram Moolenaar c915094815 updated for version 7.3.206
Problem:    64bit MS-Windows compiler warning.
Solution:   Use HandleToLong() instead of type cast. (Mike Williams)
2011-05-25 21:18:06 +02:00
Bram Moolenaar 14136c04f5 Added tag v7-3-205 for changeset 8d8bd6307b1a 2011-05-25 17:56:27 +02:00
Bram Moolenaar 03de7d2640 updated for version 7.3.205
Problem:    Syntax "extend" doesn't work correctly.
Solution:   Avoid calling check_state_ends() recursively (Ben Schmidt)
2011-05-25 17:56:27 +02:00
Bram Moolenaar ae34050c41 Added tag v7-3-204 for changeset e6ce47f06836 2011-05-25 17:29:44 +02:00
Bram Moolenaar 2b724c2f9a updated for version 7.3.204
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
2011-05-25 17:29:44 +02:00
Bram Moolenaar c1acf0d255 Added tag v7-3-203 for changeset ce1dce2af2a3 2011-05-25 17:06:23 +02:00
Bram Moolenaar 218031ae11 updated for version 7.3.203
Problem:    MS-Windows: Can't run an external command without a console window.
Solution:   Support ":!start /b cmd". (Xaizek)
2011-05-25 17:06:22 +02:00
Bram Moolenaar 36732acfc3 Added tag v7-3-202 for changeset f80e67bd6271 2011-05-25 15:16:18 +02:00
Bram Moolenaar 02d1fbc72f updated for version 7.3.202
Problem:    Cannot influence the indent inside a namespace.
Solution:   Add the "N" 'cino' parameter. (Konstantin Lepa)
2011-05-25 15:16:18 +02:00
Bram Moolenaar 1c093c505c Added tag v7-3-201 for changeset 78859ef2982b 2011-05-25 13:34:04 +02:00
Bram Moolenaar b935466893 updated for version 7.3.201
Problem:    "} else" still causes following lines to be indented too much.
Solution:   Better detection for the "else" block. (Lech Lorens)
2011-05-25 13:34:04 +02:00
Bram Moolenaar 987ccc53b3 Added tag v7-3-200 for changeset 41b17dd07029 2011-05-25 12:51:22 +02:00
Bram Moolenaar 93e15bc5e3 updated for version 7.3.200
Problem:    CTRL-D doesn't complete :lang.
Solution:   Add the missing part of the change. (Dominique Pelle)
2011-05-25 12:51:22 +02:00
Bram Moolenaar 493d43c74a Added tag v7-3-199 for changeset c76efe33a3c1 2011-05-25 12:09:50 +02:00
Bram Moolenaar 3a7bc43e4d updated for version 7.3.199
Problem:    MS-Windows: Compilation problem of OLE with MingW compiler.
Solution:   Put #ifdef around declarations. (Guopeng Wen)
2011-05-25 12:09:50 +02:00
Bram Moolenaar 86b160506f Added tag v7-3-198 for changeset b0190e93e601 2011-05-19 18:26:40 +02:00
Bram Moolenaar df053212ba updated for version 7.3.198
Problem:    No completion for ":lang".
Solution:   Get locales to complete from. (Dominique Pelle)
2011-05-19 18:26:40 +02:00
Bram Moolenaar 123bfb110d Added tag v7-3-197 for changeset 45c536fe48db 2011-05-19 17:42:59 +02:00
Bram Moolenaar 651ca1529b updated for version 7.3.197
Problem:    When a QuickfixCmdPost event removes all errors, Vim still tries
	    to jump to the first error, resulting in E42.
Solution:   Get the number of error after the autocmd event. (Mike Lundy)
2011-05-19 17:42:59 +02:00
Bram Moolenaar ed7e7e9b62 Added tag v7-3-196 for changeset d641f141f937 2011-05-19 17:25:41 +02:00
Bram Moolenaar f3e738a583 updated for version 7.3.196
Problem:    Can't intercept a character that is going to be inserted.
Solution:   Add the InsertCharPre autocommand event. (Jakson A. Aquino)
2011-05-19 17:25:41 +02:00
Bram Moolenaar 091f96ef35 Added tag v7-3-195 for changeset 8dbea5adc937 2011-05-19 16:35:09 +02:00
Bram Moolenaar 42e346cacd updated for version 7.3.195
Problem:    "} else" causes following lines to be indented too much. (Rouben
	    Rostamian)
Solution:   Better detection for the "else". (Lech Lorens)
2011-05-19 16:35:09 +02:00
Bram Moolenaar ed5764ab40 Added tag v7-3-194 for changeset 664c1adcb909 2011-05-19 14:59:10 +02:00
Bram Moolenaar dd0a9c58ac updated for version 7.3.194
Problem:    When "b" is a symlink to directory "a", resolve("b/") doesn't
	    result in "a/".  (ZyX)
Solution:   Remove the trailing slash. (Jean-Rene David)
2011-05-19 14:59:10 +02:00
Bram Moolenaar 84f79796e2 Added tag v7-3-193 for changeset e1c5f69de95b 2011-05-19 14:50:54 +02:00
Bram Moolenaar 941dce206c updated for version 7.3.193
Problem:    In the command line window ":close" doesn't work properly. (Tony
	    Mechelynck)
Solution:   Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene
	    David)
2011-05-19 14:50:54 +02:00
Bram Moolenaar 5c77b48708 Added tag v7-3-192 for changeset 8470ac4679c1 2011-05-19 14:30:16 +02:00
Bram Moolenaar b1d4f0435f updated for version 7.3.192
Problem:    Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
	    (Dominique Pelle)
Solution:   Advance over whole character instead of one byte.
2011-05-19 14:30:16 +02:00
Bram Moolenaar f697b48d81 Updated message translations. 2011-05-19 13:44:07 +02:00
Bram Moolenaar 7b04f15258 Added tag v7-3-191 for changeset 107b03fdf1ad 2011-05-19 13:41:14 +02:00
Bram Moolenaar 73a0c98c11 updated for version 7.3.191
Problem:    Still some RISC OS stuff to remove.
Solution:   Remove files and lines. (Hong Xu)
	    Remove the 'osfiletype' option code.
2011-05-19 13:41:14 +02:00
Bram Moolenaar 436044e240 Updated runtime files. 2011-05-19 12:22:51 +02:00
Bram Moolenaar 254777bd7f Added tag v7-3-190 for changeset 30b7cde21940 2011-05-19 12:14:11 +02:00
Bram Moolenaar d9c06c301b updated for version 7.3.190
Problem:    When there is a "containedin" syntax argument highlighting may be
	    wrong. (Radek)
Solution:   Reset current_next_list. (Ben Schmidt)
2011-05-19 12:14:10 +02:00
Bjorn Winckler 42402338c1 Use "Source File" consistently in Info.plist 2011-05-11 19:30:26 +02:00
Bjorn Winckler 7e1e159165 Add Lua to supported file types in Info.plist
Based on patch by Andrea D'Amore.
2011-05-11 19:29:52 +02:00
Bjorn Winckler a761f7959f Revert "Fix Cmd-v pasting in insert mode"
This patch causes re-indentation of pasted text, sometimes causing
nicely formatted text to "staircase" when pasted.  Ugh.

This reverts commit 3b33bfb6d1.
2011-05-11 18:36:13 +02:00
Bram Moolenaar 98dad7de42 Added tag v7-3-189 for changeset 71e1da07e141 2011-05-10 17:29:34 +02:00
Bram Moolenaar ad071c2cb4 updated for version 7.3.189
Problem:    Can't build without +clipboard feature. (Christian Ebert)
Solution:   Add the missing #ifdef.
2011-05-10 17:29:33 +02:00
Bram Moolenaar 7fc039338e Added tag v7-3-188 for changeset f2e1c3a90a3b 2011-05-10 17:21:56 +02:00
Bram Moolenaar cbae63cff9 updated for version 7.3.188
Problem:    More RISC OS files to remove.
Solution:   Remove them.  Update the file list.
2011-05-10 17:21:56 +02:00
Bram Moolenaar a93c4e62ab Updated runtime files. 2011-05-10 17:18:44 +02:00
Bram Moolenaar caeb8c0eb4 Remove the deleted RISC OS files. 2011-05-10 16:42:00 +02:00
Bram Moolenaar ec1195bb6a Added tag v7-3-187 for changeset 8bd38abda314 2011-05-10 16:41:26 +02:00
Bram Moolenaar 88903e9bb6 updated for version 7.3.187
Problem:    The RISC OS port has obvious errors and is not being maintained.
Solution:   Remove the RISC OS files and code.
2011-05-10 16:41:25 +02:00
Bram Moolenaar e24151f3c4 Added tag v7-3-186 for changeset 3d1a3aa0240c 2011-05-10 16:12:45 +02:00
Bram Moolenaar 67631189d3 updated for version 7.3.186
Problem:    When 'clipboard' contains "unnamed" or "unnamedplus" the value of
	    v:register is wrong for operators without a specific register.
Solution:   Adjust the register according to 'clipboard'. (Ingo Karkat)
2011-05-10 16:12:45 +02:00
Bram Moolenaar 9f601b9c18 Added tag v7-3-185 for changeset 9c8dffc62a41 2011-05-10 16:00:47 +02:00
Bram Moolenaar eebb917f13 updated for version 7.3.185
Problem:    ":windo g/pattern/q" closes windows and reports "N more lines".
	    (Tim Chase)
Solution:   Remember what buffer ":global" started in. (Jean-Rene David)
2011-05-10 16:00:47 +02:00
Bram Moolenaar f5b91de515 Added tag v7-3-184 for changeset b941cc96926a 2011-05-10 15:52:15 +02:00
Bram Moolenaar 421e72c802 updated for version 7.3.184
Problem:    Static code analysis errors in riscOS.
Solution:   Make buffer size bigger. (Dominique Pelle)
2011-05-10 15:52:15 +02:00
Bram Moolenaar 0bf68f0ec0 Added tag v7-3-183 for changeset e4403440e192 2011-05-10 15:42:03 +02:00
Bram Moolenaar eb0abdc869 updated for version 7.3.183
Problem:    When Exuberant ctags binary is exuberant-ctags it's not found.
Solution:   Add configure check for exuberant-ctags.
2011-05-10 15:42:03 +02:00
Bram Moolenaar ebf2482918 Added tag v7-3-182 for changeset 21346361ce6c 2011-05-10 14:44:11 +02:00
Bram Moolenaar f9c94d65e1 updated for version 7.3.182
Problem:    Compiler warning for uninitialized variable.
Solution:   Add dummy initializer.
2011-05-10 14:44:11 +02:00
Bram Moolenaar 24e22acbe6 Added tag v7-3-181 for changeset 5381eb5b1eb9 2011-05-10 14:22:16 +02:00
Bram Moolenaar 1a229150cd updated for version 7.3.181
Problem:    When repeating the insert of CTRL-V or a digraph the display may
	    not be updated correctly.
Solution:   Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
2011-05-10 14:22:16 +02:00
Bram Moolenaar 294ec7351d Added tag v7-3-180 for changeset ed47d18b39c6 2011-05-10 13:38:27 +02:00
Bram Moolenaar 7811b8d46e updated for version 7.3.180
Problem:    When both a middle part of 'comments' matches and an end part, the
	    middle part was used errornously.
Solution:   After finding the middle part match continue looking for a better
	    end part match. (partly by Lech Lorens)
2011-05-10 13:38:27 +02:00
Bjorn Winckler aa8c27fa33 Use generic doc icon for VHDL 2011-05-10 13:26:17 +02:00
Trond Danielsen cd9acb1214 Added VHDL to the list of supported files in Info.plist 2011-05-10 13:26:17 +02:00
Bjorn Winckler 77b96094f0 Fix cursor drawing issue with 'rl' enabled 2011-05-10 13:11:31 +02:00
Bjorn Winckler 3c7743bc13 Remove hard-coded Cmd-key mappings 2011-05-10 12:58:30 +02:00
Bjorn Winckler 3b33bfb6d1 Fix Cmd-v pasting in insert mode
Hitting Cmd-v in insert mode will paste at cursor (not line above) even
if pasteboard contains "linewise" text.  Also fixes problems with
pasting after typing I in block-wise visual mode.
2011-05-10 12:36:24 +02:00
Bram Moolenaar c139b75eba Added tag v7-3-179 for changeset 11e62fb6f815 2011-05-10 11:56:30 +02:00
Bram Moolenaar adc67a01b3 updated for version 7.3.179
Problem:    C-indent doesn't handle colon in string correctly.
Solution:   Skip the string. (Lech Lorens)
2011-05-10 11:56:30 +02:00
Bram Moolenaar 21e8ca393b Added tag v7-3-178 for changeset ac639ca9f58f 2011-05-10 11:39:19 +02:00
Bram Moolenaar 4cc979f7e7 updated for version 7.3.178
Problem:    C-indent doesn't handle code right after { correctly.
Solution:   Fix detecting unterminated line. (Lech Lorens)
2011-05-10 11:39:19 +02:00
Bjorn Winckler d0d1d08737 Merge branch 'vim'
Conflicts:
	src/auto/configure
	src/configure.in
2011-05-07 16:06:07 +02:00
Bram Moolenaar 45f4f1d1f7 Added tag v7-3-177 for changeset 66f2d62271fe 2011-05-05 18:31:59 +02:00
Bram Moolenaar 723ead6149 updated for version 7.3.177
Problem:    MS-Windows: mkdir() doesn't work properly when 'encoding' is
	    "utf-8".
Solution:   Convert to utf-16. (Yukihiro Nakadaira)
2011-05-05 18:31:59 +02:00
Bram Moolenaar 913fec0bff Added tag v7-3-176 for changeset 94f42ae4e4e6 2011-05-05 18:10:16 +02:00
Bram Moolenaar a6ecd62891 updated for version 7.3.176
Problem:    Ruby linking doesn't work properly on Mac OS X.
Solution:   Fix the configure check for Ruby. (Bjorn Winckler)
2011-05-05 18:10:16 +02:00
Bram Moolenaar 7a27ffc335 Added tag v7-3-175 for changeset 537e0102c0f9 2011-05-05 17:32:44 +02:00
Bram Moolenaar cf06c0b8de updated for version 7.3.175
Problem:    When 'colorcolumn' is set locally to a window, ":new" opens a
	    window with the same highlighting but 'colorcolumn' is empty.
	    (Tyru)
Solution:   Call check_colorcolumn() after clearing and copying options.
	    (Christian Brabandt)
2011-05-05 17:32:44 +02:00
Bram Moolenaar fb45742fc5 Added tag v7-3-174 for changeset 820f12659c50 2011-05-05 17:24:27 +02:00
Bram Moolenaar 8ced361fbc updated for version 7.3.174
Problem:    When Exuberant ctags binary is exctags it's not found.
Solution:   Add configure check for exctags. (Hong Xu)
2011-05-05 17:24:27 +02:00
Bram Moolenaar 5b1a973ab6 Added tag v7-3-173 for changeset 133d089f247e 2011-05-05 17:14:14 +02:00
Bram Moolenaar f132f35de4 updated for version 7.3.173
Problem:    After using setqflist() to make the quickfix list empty ":cwindow"
	    may open the window anyway.  Also after ":vimgrep".
Solution:   Correctly check whether the list is empty. (Ingo Karkat)
2011-05-05 17:14:14 +02:00
Bram Moolenaar 40683d3fc9 Added tag v7-3-172 for changeset ee48b3da9d53 2011-05-05 16:41:24 +02:00
Bram Moolenaar 6fff088061 updated for version 7.3.172
Problem:    MS-Windows: rename() might delete the file if the name differs but
	    it's actually the same file.
Solution:   Use the file handle to check if it's the same file. (Yukihiro
	    Nakadaira)
2011-05-05 16:41:24 +02:00
Bram Moolenaar e5ad1c011c Added tag v7-3-171 for changeset 1bd8af13fb43 2011-05-05 14:26:41 +02:00
Bram Moolenaar 825b6d5bca updated for version 7.3.171
Problem:    When the clipboard isn't supported: ":yank*" gives a confusing
	    error message.
Solution:   Specifically mention that the register name is invalid.
	    (Jean-Rene David)
2011-05-05 14:26:41 +02:00
Bram Moolenaar 0d9e478cc9 Added tag v7-3-170 for changeset 64c3402df964 2011-04-28 19:05:05 +02:00
Bram Moolenaar 6a44f3ca2b updated for version 7.3.170
Problem:    VMS Makefile for testing was not updated for test77.
Solution:   Add test77 to the Makefile.
2011-04-28 19:05:05 +02:00
Bram Moolenaar e8f41f95a7 Updated runtime files. 2011-04-28 19:02:44 +02:00
Bram Moolenaar 4cb303909d Added tag v7-3-169 for changeset 5f45bacf31ef 2011-04-28 17:48:44 +02:00
Bram Moolenaar f4310fdea0 updated for version 7.3.169
Problem:    Freeing memory already freed, warning from static code analyzer.
Solution:   Initialize pointers to NULL, correct use of "mustfree". (partly by
	    Dominique Pelle)
2011-04-28 17:48:44 +02:00
Bram Moolenaar f6a8ba67b9 Added tag v7-3-168 for changeset 930b171ce3fc 2011-04-28 17:30:09 +02:00
Bram Moolenaar ce00dbcbd6 updated for version 7.3.168
Problem:    When the second argument of input() contains a CR the text up to
	    that is used without asking the user. (Yasuhiro Matsumoto)
Solution:   Change CR, NL and ESC in the text to a space.
2011-04-28 17:30:09 +02:00
Bram Moolenaar 9d8a66a8d4 Added tag v7-3-167 for changeset 0a0d7961b4fe 2011-04-28 17:27:09 +02:00
Bram Moolenaar 8ce2ed700c updated for version 7.3.167
Problem:    When using the internal grep QuickFixCmdPost is not triggered.
	    (Yukihiro Nakadaira)
Solution:   Change the place where autocommands are triggered.
2011-04-28 17:27:09 +02:00
Bram Moolenaar 457f607ed2 Added tag v7-3-166 for changeset 5ddb68c2a845 2011-04-28 17:24:58 +02:00
Bram Moolenaar 068fe803c8 updated for version 7.3.166
Problem:    Buffer on the stack may be too big
Solution:   Allocate the space.
2011-04-28 17:24:58 +02:00
Bram Moolenaar c4087bdf67 Added tag v7-3-165 for changeset e92a4b9b4484 2011-04-28 17:21:54 +02:00
Bram Moolenaar 72d938651c updated for version 7.3.165
Problem:    ":find" completion does not escape spaces in a directory name.
	    (Isz)
Solution:   Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
2011-04-28 17:21:53 +02:00
Bram Moolenaar a7435d1c45 Added tag v7-3-164 for changeset cdefcbb70e8c 2011-04-28 13:02:09 +02:00
Bram Moolenaar 7ef3518c0f updated for version 7.3.164
Problem:    C-indenting: a preprocessor statement confuses detection of a
	    function delcaration.
Solution:   Ignore preprocessor lines. (Lech Lorens)  Also recognize the style
	    to put a comma before the argument name.
2011-04-28 13:02:09 +02:00
Bram Moolenaar e882419cdb Added tag v7-3-163 for changeset e8f012b00187 2011-04-28 12:57:36 +02:00
Bram Moolenaar 4f1e668795 updated for version 7.3.163
Problem:    For the default of 'shellpipe' "mksh" and "pdksh" are not
	    recognized.
Solution:   Recognize these shell names.
2011-04-28 12:57:36 +02:00
Bram Moolenaar 7ae77cbf3c Added tag v7-3-162 for changeset 18ad854f5dcd 2011-04-21 14:27:28 +02:00
Bram Moolenaar ad7e25727b updated for version 7.3.162
Problem:    No error message when assigning to a list with an index out of
	    range. (Yukihiro Nakadaira)
Solution:   Add the error message.
2011-04-21 14:27:28 +02:00
Bjorn Winckler f7f11165e3 Merge branch 'vim' 2011-04-21 11:07:30 +02:00
Bram Moolenaar e509b664d0 Added tag v7-3-161 for changeset 25672ad7f377 2011-04-11 21:35:11 +02:00
Bram Moolenaar 0ebab84605 updated for version 7.3.161
Problem:    Items on the stack may be too big.
Solution:   Make items static or allocate them.
2011-04-11 21:35:11 +02:00
Bram Moolenaar 3de223977c Added tag v7-3-160 for changeset c5e47b752f07 2011-04-11 16:56:35 +02:00
Bram Moolenaar fe7d891b2a updated for version 7.3.160
Problem:    Unsafe string copying.
Solution:   Use vim_strncpy() instead of strcpy().  Use vim_strcat() instead
	    of strcat().
2011-04-11 16:56:35 +02:00
Bram Moolenaar 391b796edb Added tag v7-3-159 for changeset 415c55534d90 2011-04-11 14:29:18 +02:00
Bram Moolenaar 534a71230d updated for version 7.3.159
Problem:    Using uninitialized pointer when out of memory.
Solution:   Check for NULL return value.
2011-04-11 14:29:17 +02:00
Bram Moolenaar 5c43378c07 Added tag v7-3-158 for changeset b5f774f15927 2011-04-11 14:27:38 +02:00
Bram Moolenaar 88b8254da3 updated for version 7.3.158
Problem:    Might use uninitialized memory in C indenting.
Solution:   Init arrays to empty.
2011-04-11 14:27:38 +02:00
Bram Moolenaar 2fdb9ea81e Added tag v7-3-157 for changeset 9a98d8562637 2011-04-11 14:26:19 +02:00
Bram Moolenaar 498df33ab0 updated for version 7.3.157
Problem:    Superfluous assignment.
Solution:   Remove assignment.
2011-04-11 14:26:19 +02:00
Bram Moolenaar 47a61988e3 Added tag v7-3-156 for changeset 7fb8cdb9cb25 2011-04-11 14:24:37 +02:00
Bram Moolenaar 0e62d42d66 updated for version 7.3.156
Problem:    Tty names possibly left unterminated.
Solution:   Use vim_strncpy() instead of strncpy().
2011-04-11 14:24:37 +02:00
Bram Moolenaar b70f5520fe Added tag v7-3-155 for changeset 5747cd65d62b 2011-04-11 13:46:14 +02:00
Bram Moolenaar b0095b9531 updated for version 7.3.155
Problem:    Crash when using map(), filter() and remove() on v:. (ZyX)
            Also for extend(). (Yukihiro Nakadaira)
Solution:   Mark v: as locked.  Also correct locking error messages.
2011-04-11 13:46:13 +02:00
Bram Moolenaar 8d629f3e45 Added tag v7-3-154 for changeset d72d709f0e18 2011-04-02 15:12:50 +02:00
Bram Moolenaar a061651587 updated for version 7.3.154
Problem:    Can't compile with tiny features. (Tony Mechelynck)
Solution:   Move #define outside of #ifdef.
2011-04-02 15:12:50 +02:00
Bram Moolenaar 1aaca95fa9 Added tag v7-3-153 for changeset d0cae5983609 2011-04-02 14:44:56 +02:00
Bram Moolenaar 6d006c90db updated for version 7.3.153
Problem:    Compiler warning for ambiguous else, missing prototype.
Solution:   Add braces. (Dominique Pelle)  Add prototype for die().
2011-04-02 14:44:55 +02:00
Bram Moolenaar 426c90eabb Added tag v7-3-152 for changeset 0f7f66682a55 2011-04-01 19:14:40 +02:00
Bram Moolenaar be59799582 updated for version 7.3.152
Problem:    Xxd does not check for errors from library functions.
Solution:   Add error checks. (Florian Zumbiehl)
2011-04-01 19:14:40 +02:00
Bram Moolenaar ce0253ed24 Updated runtime files. 2011-04-01 18:03:16 +02:00
Bram Moolenaar 5735af75f2 Added tag v7-3-151 for changeset f169a51f7ead 2011-04-01 16:28:39 +02:00
Bram Moolenaar 44d4897fc9 updated for version 7.3.151
Problem:    When "unnamedplus" is in 'clipboard' the selection is sometimes
	    also copied to the star register.
Solution:   Avoid copy to the star register when undesired. (James Vega)
2011-04-01 16:28:38 +02:00
Bram Moolenaar 219f913e21 Added tag v7-3-150 for changeset 6146c9859f65 2011-04-01 16:07:46 +02:00
Bram Moolenaar e81654e2ce updated for version 7.3.150
Problem:    readline() does not return the last line when the NL is missing.
	    (Hong Xu)
Solution:   When at the end of the file Also check for a previous line.
2011-04-01 16:07:46 +02:00
Bram Moolenaar e27224e5b6 Added tag v7-3-149 for changeset 7f937a04cdba 2011-04-01 15:33:59 +02:00
Bram Moolenaar 6cd3d80da1 updated for version 7.3.149
Problem:    The cursor disappears after the processing of the 'setDot'
	    netbeans command when vim runs in a terminal.
Solution:   Show the cursor after a screen update. (Xavier de Gaye, 2011
2011-04-01 15:33:59 +02:00
Bram Moolenaar d4bf197d3b Added tag v7-3-148 for changeset d67916de812a 2011-04-01 14:44:59 +02:00
Bram Moolenaar e5d0e3db86 updated for version 7.3.148
Problem:    A syntax file with a huge number of items or clusters causes weird
	    behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution:   Check running out of IDs. (partly by Ben Schmidt)
2011-04-01 14:44:59 +02:00
Bram Moolenaar a14d86bf45 Added tag v7-3-147 for changeset 55fe8407514f 2011-04-01 13:05:46 +02:00
Bram Moolenaar 598cd24352 updated for version 7.3.147
Problem:    Can't build on HP-UX.
Solution:   Remove an unnecessary backslash. (John Marriott)
2011-04-01 13:05:45 +02:00
JessThrysoee 76f08e5853 Honor VIM and VIMRUNTIME environment variables 2011-03-30 20:41:06 +02:00
Bram Moolenaar 36d4cc881b Added tag v7-3-146 for changeset 2bd574a2ef1c 2011-03-27 16:03:15 +02:00
Bram Moolenaar aae002e178 updated for version 7.3.146
Problem:    It's possible to assign to a read-only member of a dict.
	    It's possible to create a global variable "0". (ZyX)
            It's possible to add a v: variable with ":let v:.name = 1".
Solution:   Add check for dict item being read-only.
	    Check the name of g: variables.
	    Disallow adding v: variables.
2011-03-27 16:03:15 +02:00
Bram Moolenaar b5795b5d85 Added tag v7-3-145 for changeset 329a9676040c 2011-03-26 18:32:06 +01:00
Bram Moolenaar 31a04844b5 updated for version 7.3.145
Problem:    Can't build with Python dynamically loading.
Solution:   Add dll_PyType_Ready.
2011-03-26 18:32:05 +01:00
Bram Moolenaar abb0528865 Added tag v7-3-144 for changeset 322a5c8d392b 2011-03-26 13:56:48 +01:00
Bram Moolenaar 94caed3c03 updated for version 7.3.144
Problem:    Crash with ":python help(dir)". (Kearn Holliday)
Solution:   Fix the way the type is set on objects. (Tobias Columbus)
2011-03-26 13:56:48 +01:00
Bjorn Winckler 557788dc9e Merge branch 'vim'
Conflicts:
	runtime/menu.vim
2011-03-22 22:09:37 +01:00
Bram Moolenaar 3fa799c7cc Added tag v7-3-143 for changeset 632f43801ddb 2011-03-22 20:54:25 +01:00
Bram Moolenaar 910de71ad4 Remove tag. 2011-03-22 20:54:22 +01:00
Bram Moolenaar 812b94f3da Add missing files for patch 7.3.143. 2011-03-22 20:52:37 +01:00
Bram Moolenaar 2f1fb87fe1 Added tag v7-3-143 for changeset e0a90042318d 2011-03-22 18:10:45 +01:00
Bram Moolenaar fa4251cf34 updated for version 7.3.143
Problem:    Memfile is not tested sufficiently.  Looking up blocks in a
	    memfile is slow when there are many blocks.
Solution:   Add high level test and unittest.  Adjust the number of hash
	    buckets to the number of blocks.  (Ivan Krasilnikov)
2011-03-22 18:10:45 +01:00
Bram Moolenaar c370d9ee31 Updated runtime file. Fix Italian translations. 2011-03-22 17:40:10 +01:00
Bram Moolenaar 23e9b91745 Added tag v7-3-142 for changeset 62e8d93241cd 2011-03-22 15:47:44 +01:00
Bram Moolenaar 8862aa78c8 updated for version 7.3.142
Problem:    Python stdout doesn't have a flush() method, causing an import to
	    fail.
Solution:   Add a dummy flush() method. (Tobias Columbus)
2011-03-22 15:47:44 +01:00
Bram Moolenaar 734af5576d updated for version 7.3.141
Problem:    When a key code is not set get a confusing error message.
Solution:   Change the error message to say the key code is not set.
2011-03-22 14:35:05 +01:00
Bram Moolenaar 49d654e23e Updated runtime files. 2011-03-22 14:05:35 +01:00
Bram Moolenaar 084da87a47 updated for version 7.3.140
Problem:    Crash when drawing the "$" at end-of-line for list mode just after
	    the window border and 'cursorline' is set.
Solution:   Don't check for 'cursorline'. (Quentin Carbonneaux)
2011-03-22 13:29:24 +01:00
Bram Moolenaar 2f27037885 updated for version 7.3.139
Problem:    When 'lazyredraw' is set ":ver" output can't be read.
Solution:   Don't redraw the screen when at a prompt or command line.
2011-03-22 13:07:26 +01:00
Bjorn Winckler 638774c620 Add note on document icon generation to README 2011-03-21 19:17:53 +01:00
Bjorn Winckler 3811f44935 Disable document icon generation
By default all document icons will be a document sheet with the MacVim
icon on top.  In order to get proper document icons call "make all"
inside src/MacVim/icons before building.  This will generate document
icons with the extension of the represented file type on the icon.  (To
get nicer small icons, call "make getenvy", then "make all".  This
downloads the Envy Code R font first which is then used to generate
nicer icons.)
2011-03-21 18:27:29 +01:00
Bram Moolenaar 959ece9e4d updated for version 7.3.138
Problem:    ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Solution:   Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
2011-03-03 15:54:50 +01:00
Bram Moolenaar 7d7272b506 updated for version 7.3.137
Problem:    When 'lazyredraw' is set the screen may not be updated. (Ivan
	    Krasilnikov)
Solution:   Call update_screen() before waiting for input.
2011-03-03 15:04:08 +01:00
Bram Moolenaar 028c80a30c updated for version 7.3.136
Problem:    Duplicate include of assert.h.
Solution:   Remove it.
2011-03-03 15:01:30 +01:00
Bjorn Winckler 386f229708 Make it possible to compile without a GUI 2011-02-27 22:20:22 +01:00
David Whetstone d12f09201e Envy Code R no longer required to build
Use Monaco if Envy Code R is unavailable during the document icon
generation phase.  Call 'make getenvy' inside the icons/ folder to
manually download Envy Code R.
2011-02-27 21:55:26 +01:00
Janusz Bossy cebfc0471f Make :winpos measure Y coordinates from top
This is to make :winpos consistent with other ports where Y coordinates
are measured from the top instead of the bottom of the screen.
2011-02-27 21:42:07 +01:00
Bram Moolenaar cae485de36 updated for version 7.3.135
Problem:    When there is no previous substitute pattern, the previous search
	    pattern is used.  The other way around doesn't work.
Solution:   When there is no previous search pattern, use the previous
	    substitute pattern if possible. (Christian Brabandt)
2011-02-25 18:38:36 +01:00
Bram Moolenaar 4677895033 updated for version 7.3.134
Problem:    Drag-n-drop doesn't work in KDE Dolphin.
Solution:   Add GDK_ACTION_MOVE flag. (Florian Degner)
2011-02-25 17:10:27 +01:00
Bram Moolenaar 1df4978375 updated for version 7.3.133
Problem:    When using encryption it's not clear what method was used.
Solution:   In the file message show "blowfish" when using blowfish.
2011-02-25 16:52:17 +01:00
Bram Moolenaar 6c91e04896 updated for version 7.3.132
Problem:    C++ style comments.
Solution:   Change to C comments.
2011-02-25 15:18:50 +01:00
Bram Moolenaar 26a4e590d1 updated for version 7.3.131
Problem:    Including errno.h too often.
Solution:   Don't include errno.h in Unix header file.
2011-02-25 15:17:19 +01:00
Bram Moolenaar 346fb6a297 updated for version 7.3.130
Problem:    Variable misplaced in #ifdef.
Solution:   Move clipboard_event_time outside of #ifdef.
2011-02-25 15:15:50 +01:00
Bram Moolenaar 5c9a44edda updated for version 7.3.129
Problem:    Using integer like a boolean.
Solution:   Nicer check for integer being non-zero.
2011-02-25 15:13:48 +01:00
Bram Moolenaar f9c4a950c4 updated for version 7.3.128
Problem:    Another compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 15:11:22 +01:00
Bram Moolenaar 419de51056 updated for version 7.3.127
Problem:    Compiler complains about comma.
Solution:   Remove comma after last enum element.
2011-02-25 14:46:09 +01:00
Bram Moolenaar 8cc3b3177b updated for version 7.3.126
Problem:    Compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 14:42:45 +01:00
Bram Moolenaar 163e8a729a Runtime file updates. 2011-02-25 14:42:19 +01:00
Bjorn Winckler 088d1203b0 Update URL for Envy Code R download 2011-02-23 10:19:06 +01:00
Bjorn Winckler 8b4669ff38 Constrain window before autosaving dimensions
This fixes a bug where the view would not be maximized vertically when
entering full screen on startup.  (Debugging assist by David Whetstone.)
2011-02-22 20:50:19 +01:00
Bjorn Winckler 4ea64bd52c Merge branch 'vim' 2011-02-20 14:17:19 +01:00
Karsten Gebbert 299188302d Fix --with-ruby-command argument
Original patch to get Ruby 1.9 to work by Michael Shapiro (koudelka).
2011-02-16 19:02:37 +01:00
Bram Moolenaar cd6a821ac5 updated for version 7.3.125
Problem:    MSVC: Problem with quotes in link argument.
Solution:   Escape backslashes and quotes. (Weasley)
2011-02-15 18:06:15 +01:00
Bram Moolenaar 1fd163bd82 updated for version 7.3.124
Problem:    When writing a file in binary mode it may be missing the final EOL
	    if a file previously read was missing the EOL. (Kevin Goodsell)
Solution:   Move the write_no_eol_lnum into the buffer struct.
2011-02-15 17:39:22 +01:00
Bram Moolenaar 5e69f973fd updated for version 7.3.123
Problem:    ml_get error when executing register being recorded into, deleting
	    lines and 'conceallevel' is set. (ZyX)
Solution:   Don't redraw a line for concealing when it doesn't exist.
2011-02-15 16:29:59 +01:00
Bram Moolenaar eaee7938b0 updated for version 7.3.122
Problem:    Having auto/config.mk in the repository causes problems.
Solution:   Remove auto/config.mk from the distribution.  In the toplevel
	    Makefile copy it from the "dist" file.
2011-02-15 15:28:09 +01:00
Bram Moolenaar 00c19fd486 updated for version 7.3.121
Problem:    Complicated 'statusline' causes a crash. (Christian Brabandt)
Solution:   Check that the number of items is not too big.
2011-02-15 14:24:46 +01:00
Bram Moolenaar cd5139dfd3 updated for version 7.3.120
Problem:    The message for an existing swap file is too long to fit in a 25
	    line terminal.
Solution:   Make the message shorter. (Chad Miller)
2011-02-15 11:57:04 +01:00
Bjorn Winckler 633dfac838 Merge branch 'vim'
Conflicts:
	src/auto/configure
2011-02-13 17:33:16 +01:00
Bram Moolenaar 3321f186b4 updated for version 7.3.119
Problem:    Build problem on Mac. (Nicholas Stallard)
Solution:   Use "extern" instead of "EXTERN" for p_vfile.
2011-02-12 14:00:03 +01:00
Eric Wing 3d348a439e Fix URL scheme handler to accept paths with spaces 2011-02-10 18:16:17 +01:00
Bram Moolenaar d7eaf66c4d updated for version 7.3.118
Problem:    Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
Solution:   Ignore SIGVTALARM. (Dominique Pelle)
2011-02-09 18:47:40 +01:00
Bram Moolenaar 7ea0ed346d updated for version 7.3.117
Problem:    On some systems --as-needed does not work, because the "tinfo"
	    library is included indirectly from "ncurses". (Charles Campbell)
Solution:   In configure prefer using "tinfo" instead of "ncurses".
2011-02-09 17:42:57 +01:00
Bram Moolenaar 66584afea5 updated for version 7.3.116
Problem:    'cursorline' is displayed too short when there are concealed
	    characters and 'list' is set.  (Dennis Preiser)
Solution:   Check for 'cursorline' when 'list' is set. (Christian Brabandt)
2011-02-09 17:09:30 +01:00
Bram Moolenaar 6a29db8542 Updated runtime files and translations. 2011-02-09 17:07:58 +01:00
Bram Moolenaar 3cbb489efc updated for version 7.3.115
Problem:    Vim can crash when tmpnam() returns NULL.
Solution:   Check for NULL. (Hong Xu)
2011-02-09 16:44:51 +01:00
Bram Moolenaar ef378e504f updated for version 7.3.114
Problem:    Potential problem in initialization when giving an error message
	    early.
Solution:   Initialize 'verbosefile' empty. (Ben Schmidt)
2011-02-09 15:59:37 +01:00
Bram Moolenaar 67f827d664 updated for version 7.3.113
Problem:    Windows: Fall back directory for creating temp file is wrong.
Solution:   Use "." instead of empty string. (Hong Xu)
2011-02-09 14:47:03 +01:00
Bram Moolenaar 5bd57dcfcd updated for version 7.3.112
Problem:    Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
Solution:   Check for NUL after %.
2011-02-01 21:55:01 +01:00
Bjorn Winckler 1eee089039 Force flush output before running shell command
Shell commands may take a long time to finish (without drawing anything)
so force a flush before executing any shell command.
2011-02-01 20:19:15 +01:00
Bram Moolenaar 7ecf6c20db updated for version 7.3.111
Problem:    Executing a :normal command in 'statusline' evaluation causes the
	    cursor to move. (Dominique Pelle)
Solution:   When updating the cursor for 'cursorbind' allow the cursor beyond
	    the end of the line.  When evaluating 'statusline' temporarily
	    reset 'cursorbind'.
2011-02-01 18:01:11 +01:00
Bram Moolenaar 7822b718c4 updated for version 7.3.110
Problem:    The "nbsp" item in 'listchars' isn't used for ":list".
Solution:   Make it work. (Christian Brabandt)
2011-02-01 17:12:25 +01:00
Bram Moolenaar 467eeffa84 updated for version 7.3.109
Problem:    Processing new Esperanto spell file fails and crashes Vim.
	    (Dominique Pelle)
Solution:   When running out of memory give an error.  Handle '?' in
	    COMPOUNDRULE properly.
2011-02-01 13:59:48 +01:00
Bram Moolenaar 024087914b updated for version 7.3.108
Problem:    Useless check for NULL when calling vim_free().
Solution:   Remove the check. (Dominique Pelle)
2011-02-01 13:48:53 +01:00
Bjorn Winckler 6e6fac588c Snapshot 57 2011-01-29 15:49:40 +01:00
Bjorn Winckler 20ded53831 Fix compilation problems caused by patch 7.3.102 2011-01-29 15:22:20 +01:00
Bjorn Winckler 5e544c5abe Merge branch 'vim' 2011-01-29 15:08:23 +01:00
Bjorn Winckler f19b66ea39 Refactor MRU code
Only add to MRU in GUI mode and limit number of files added to the
maximum that Cocoa will display.
2011-01-23 13:02:01 +01:00
Bram Moolenaar 38b167abc5 updated for version 7.3.107
Problem:    Year number for :undolist can be confused with month or day.
Solution:   Change "%y" to "%Y".
2011-01-22 21:25:11 +01:00
Bram Moolenaar ade0ce2c47 updated for version 7.3.106
Problem:    When 'cursorbind' is set another window may scroll unexpectedly
	    when 'scrollbind' is also set. (Xavier Wang)
Solution:   Don't call update_topline() if 'scrollbind' is set.
2011-01-22 21:05:07 +01:00
Bjorn Winckler 7bcc5932e0 Fix for 'set fu' in gvimrc
It is now possible to enter full screen on startup by setting the option
'fullscreen' in gvimrc.
2011-01-22 18:41:40 +01:00
Bram Moolenaar 43592906a0 updated for version 7.3.105
Problem:    Can't get the value of "b:changedtick" with getbufvar().
Solution:   Make it work. (Christian Brabandt)
2011-01-22 01:13:39 +01:00
Bram Moolenaar dba2afde7d updated for version 7.3.104
Problem:    Conceal: using Tab for cchar causes problems. (ZyX)
Solution:   Do not accept a control character for cchar.
2011-01-22 00:58:20 +01:00
Bram Moolenaar 9285b887ec updated for version 7.3.103
Problem:    Changing 'fileformat' and then using ":w" in an empty file sets
	    the 'modified' option.
Solution:   In unchanged() don't ignore 'ff' for an empty file.
2011-01-22 00:11:50 +01:00
Bjorn Winckler dfa2561d7d Add --nomru switch
Use this switch from the command line to skip adding file to MRU list
(Most Recently Used files).  This may be useful when setting e.g.
$EDITOR to avoid temporary files from being added to the MRU.
2011-01-20 21:44:23 +01:00
Bjorn Winckler 506b335894 Add files opened from command line to MRU
Only files opened from the command line is added to the MRU (Most
Recently Used files).  Files opened from inside Vim (using :e, etc.) are
not added to the MRU.
2011-01-20 21:41:27 +01:00
Bjorn Winckler 16895bea46 Raise correct window on file open
This fixes a regression introduced in commit 210a71b4cb where
double-clicking a file in Finder that was already open would not cause
the window/tab containing that file to be raised.
2011-01-20 17:46:34 +01:00
Bjorn Winckler 4a85f40d23 Change heuristic to determine cell width
Some fonts (e.g. Monaco:h9) looked way too tight with the old heuristic
and the Core Text renderer.  Now the Core Text renderer uses the same
heuristic as the default renderer.
2011-01-18 22:00:31 +01:00
Bram Moolenaar b8e65930d2 updated for version 7.3.102
Problem:    When using ":make", typing the next command and then getting the
	    "reload" prompt the next command is (partly) eaten by the reload
	    prompt.
Solution:   Accept ':' as a special character at the reload prompt to accept
	    the default choice and execute the command.
2011-01-17 20:08:11 +01:00
Bram Moolenaar f2cfab95d8 updated for version 7.3.101
Problem:    ino_t defined with wrong size.
Solution:   Move including auto/config.h before other includes. (Marius
	    Geminas)
2011-01-17 19:53:27 +01:00
Bram Moolenaar b434a909e6 updated for version 7.3.100
Problem:    When using :normal v:count isn't set.
Solution:   Call normal_cmd() with toplevel set to TRUE.
2011-01-17 19:50:06 +01:00
Bjorn Winckler f6dc8d2962 Fix untitled window opening regression
This fixes a regression that caused two windows to open when a file was
opened from Xcode (one window holding the file, the other empty).
2011-01-17 19:12:55 +01:00
Bjorn Winckler 210a71b4cb Fix open from Xcode with selection range
This is an initial attempt to fix a problem where double clicking a
search result in Xcode would select an incorrect range of characters
when the file opened in MacVim.  It only works the file uses an 8 bit
encoding.
2011-01-17 18:00:30 +01:00
Bjorn Winckler 00936cdd77 Merge branch 'vim'
Conflicts:
	runtime/doc/eval.txt
2011-01-09 16:16:35 +01:00
Bjorn Winckler 75ca477625 Add suppression tick box to termination alert
This will disable the warning about multiple window and tabs.  Tiger
users can access this functionality by setting the user default
MMSuppressTerminationAlert to 1.
2011-01-09 16:10:16 +01:00
Bjorn Winckler 7ec523f4a8 Delete obsolete README-repo.txt 2011-01-09 13:56:19 +01:00
Bjorn Winckler 9109c9355a Hide Dock before entering full screen
This avoids the hide animation from playing after fading to black when
entering full screen.
2011-01-09 13:04:56 +01:00
Bjorn Winckler 353b836087 No partially grey window when leaving full screen 2011-01-09 12:37:37 +01:00
Bjorn Winckler 6863b04a52 Avoid switching Spaces when leaving full screen
This fixes a bug where if the full screen window was moved to another
Space a Space switch would occur when leaving full screen.
2011-01-08 19:12:29 +01:00
Bjorn Winckler 8ca9999ea6 Fix for dragging full screen window in Spaces
Ensure the full screen window is still covering the screen after having
dragged it in Spaces (or moved it in any other manner).
2011-01-08 19:04:53 +01:00
Bram Moolenaar fa35c64041 Updated runtime files. 2011-01-08 16:06:37 +01:00
Bram Moolenaar 72050cce91 updated for version 7.3.099
Problem:    Crash when splitting a window with zero height. (Yukihiro
	    Nakadaira)
Solution:   Don't set the fraction in a window with zero height.
2011-01-08 14:46:03 +01:00
Bram Moolenaar fa57d270bb updated for version 7.3.098
Problem:    Function that ignores error still causes called_emsg to be set.
	    E.g. when expand() fails the status line is disabled.
Solution:   Move check for emsg_not_now() up. (James Vega)
2011-01-04 19:25:50 +01:00
Bram Moolenaar 5e2f13cc52 updated for version 7.3.097
Problem:    Using ":call" inside "if 0" does not see that a function returns a
	    Dict and gives error for "." as string concatenation.
Solution:   Use eval0() to skip over the expression.  (Yasuhiro Matsumoto)
2011-01-04 19:03:27 +01:00
Bram Moolenaar a14d5d9f66 updated for version 7.3.096
Problem:    "gvim -nb" is not interruptable.  Leaking file descriptor on
	    netbeans connection error.
Solution:   Check for CTRL-C typed.  Free file descriptor.  (Xavier de Gaye)
2011-01-04 18:11:43 +01:00
Bram Moolenaar 60a00567b5 updated for version 7.3.095
Problem:    Win32: In Chinese tear-off menu doesn't work. (Weasley)
Solution:   Use menu_name_equal().  (Alex Jakushev)
2011-01-04 17:49:32 +01:00
Bjorn Winckler 0e9b4e11b0 Handle resolution changes while in full screen
If the screen resolution changes (either due to an external monitor
being unplugged or because the settings were changed manually) the full
screen window is now resized to match the new resolution.  Before this
commit full screen was exited on such an event.

This fixes a bug where the full screen option got out of sync after the
resolution changed.
2010-12-31 23:02:15 +01:00
Bjorn Winckler fa41b4a850 Fix compilation problems on OS X 10.4 2010-12-31 11:06:42 +01:00
Bjorn Winckler 3bcd07d562 Avoid switching Spaces when entering full screen
This fixes a bug where MacVim would switch Space when entering full
screen (which only occurred when MacVim was assigned to a specific
Space in the System Preferences).
2010-12-30 21:23:13 +01:00
Bjorn Winckler 1cb9a4ffb9 Fix file open problem in full screen with Spaces
This fixes a problem when a full screen window was on another Space and
files were set to open in the topmost window.  Previously, this caused a
new window to open on the current Space instead of opening the file in
the full screen window on the other Space.
2010-12-30 15:31:22 +01:00
Bjorn Winckler deb3e9a368 Add full screen window title to "Window" menu 2010-12-30 15:20:08 +01:00
Bram Moolenaar d593ffe24c updated for version 7.3.094
Problem:    Using abs() requires type cast to int.
Solution:   Use labs() so that the value remains long. (Hong Xu)
2010-12-30 14:57:08 +01:00
Bram Moolenaar 1fcd6cf86c updated for version 7.3.093
Problem:    New DLL dependencies in MingW with gcc 4.5.0.
Solution:   Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
2010-12-30 14:50:52 +01:00
Bram Moolenaar 9faca9f9ea updated for version 7.3.092
Problem:    Resizing the window when exiting.
Solution:   Don't resize when exiting.
2010-12-30 14:47:36 +01:00
Bram Moolenaar 6b0175c466 updated for version 7.3.091
Problem:    "vim -w foo" writes special key codes for removed escape
	    sequences. (Josh Triplett)
Solution:   Don't write K_IGNORE codes.
2010-12-30 12:30:31 +01:00
Bram Moolenaar 9d282c465a updated for version 7.3.090
Problem:    Wrong help text for Cscope.
Solution:   Adjust the help text for "t". (Dominique Pelle)
2010-12-30 11:41:09 +01:00
Bjorn Winckler 3a2e09f42d Update help file 2010-12-28 21:48:57 +01:00
Bjorn Winckler 57975f6dad Update Mac specific README files 2010-12-24 15:09:30 +01:00
Bram Moolenaar ecb97f5d05 updated for version 7.3.089
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2010-12-24 14:00:17 +01:00
Bram Moolenaar a65917abf4 updated for version 7.3.088
Problem:    Ruby can't load Gems sometimes, may cause a crash.
Solution:   Undefine off_t.  Use ruby_process_options(). (Yasuhiro Matsumoto)
2010-12-24 13:39:35 +01:00
Bjorn Winckler d1182d2223 Snapshot 56 2010-12-21 14:43:24 +01:00
Bjorn Winckler 1be91f7476 Avoid use of CLEAR flag when not using GUI 2010-12-21 11:11:22 +01:00
Bjorn Winckler caabb3f058 Avoid unnecessary clearing of the status line
When resizing a (Vim-) window don't use the CLEAR flag as it causes the
status line to be redrawn (which causes problems for plugins like
Command-T).

The reason CLEAR was used in the first place was because resizing a
window would cause display corruption due to wide letters like "w"
spilling over into the neigboring display cell.  To circumvent this
problem we now always clear neigboring blank cells whenever a cell is
cleared (just like other GUIs deal with faked bold glyphs spilling over
into neighboring display cells).
2010-12-20 21:57:36 +01:00
Bjorn Winckler 50b3a7f8e7 Fix proxy icon response to modified buffers
The proxy icon is only disabled when the current buffer is modified
(previously this happened when any buffer was modified).  This also has
the consequence that the dot in the red "close button" only appears when
the current buffer is modified.
2010-12-19 12:19:30 +01:00
Bjorn Winckler 34d035c0ac Merge branch 'vim'
Conflicts:
	runtime/syntax/vim.vim
2010-12-19 12:18:48 +01:00
Bram Moolenaar e88db6d282 updated for version 7.3.087
Problem:    EINTR is not always defined.
Solution:   Include errno.h in vim.h.
2010-12-17 20:24:01 +01:00
Bram Moolenaar 7d51f1a543 updated for version 7.3.086
Problem:    When using a mapping with an expression and there was no count,
	    v:count has the value of the previous command. (ZyX)
Solution:   Also set v:count and v:count1 before getting the character that
	    could be a command or a count.
2010-12-17 18:53:01 +01:00
Bram Moolenaar cd6656d82b updated for version 7.3.085
Problem:    Inconsistency with preproc symbols.  void * computation.
Solution:   Include vimio.h from vim.h.  Add type cast.
2010-12-17 18:06:06 +01:00
Bram Moolenaar 3017c44c4b updated for version 7.3.084
Problem:    When splitting the window, the new one scrolls with the cursor at
	    the top.
Solution:   Compute w_fraction before setting the new height.
2010-12-17 17:35:10 +01:00
Bram Moolenaar 25ac995bea updated for version 7.3.083
Problem:    When a read() or write() is interrupted by a signal it fails.
Solution:   Add read_eintr() and write_eintr().
2010-12-17 16:27:16 +01:00
Bram Moolenaar 7b65439491 updated for version 7.3.082
Problem:    Leaking file descriptor when hostname doesn't exist.
Solution:   Remove old debugging lines.
2010-12-17 12:19:21 +01:00
Bram Moolenaar f2c486c416 Update runtime files. 2010-12-10 20:35:50 +01:00
Bjorn Winckler c42b133098 Check for conversion error in Core Text renderer
Original patch by Kazuki Sakamoto.
2010-12-10 19:37:19 +01:00
Bjorn Winckler 29697da99f Merge branch 'vim' into merge
Conflicts:
	src/auto/configure
	src/eval.c
	src/netbeans.c
2010-12-10 19:13:58 +01:00
Bram Moolenaar aa0a6d7be4 updated for version 7.3.081
Problem:    Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution:   Use transstr(). (partly by Caio Ariede)
2010-12-08 19:56:58 +01:00
Bram Moolenaar 5a48d473ef updated for version 7.3.080
Problem:    Spell doesn't work on VMS.
Solution:   Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
2010-12-08 17:09:32 +01:00
Bram Moolenaar d6a9ced3b1 updated for version 7.3.079
Problem:    Duplicate lines in makefile.
Solution:   Remove the lines. (Hong Xu)
2010-12-08 14:55:02 +01:00
Bram Moolenaar a1faf70262 updated for version 7.3.078
Problem:    Warning for unused variable.
Solution:   Adjuste #ifdefs.
2010-12-08 14:23:15 +01:00
Bram Moolenaar 115821eae9 updated for version 7.3.077
Problem:    When updating crypt of swapfile fails there is no error message.
	    (Carlo Teubner)
Solution:   Add the error message.
2010-12-08 13:17:03 +01:00
Bram Moolenaar 664e7696dd updated for version 7.3.076
Problem:    Clang warnings for dead code.
Solution:   Remove it. (Carlo Teubner)
2010-12-08 13:11:21 +01:00
Bram Moolenaar 4d81d0d159 updated for version 7.3.075
Problem:    Missing part of 'wildignorecase'
Solution:   Also adjust expand()
2010-12-02 21:44:40 +01:00
Bram Moolenaar 38b368ba4d updated for version 7.3.074
Problem:    Can't use the "+ register like "* for yank and put.
Solution:   Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
2010-12-02 21:43:16 +01:00
Bram Moolenaar 3e515b81da updated for version 7.3.073
Problem:    Double free memory when netbeans command follows DETACH.
Solution:   Only free the node when owned. (Xavier de Gaye)
2010-12-02 17:09:54 +01:00
Bram Moolenaar 5ac44c0391 updated for version 7.3.072
Problem:    Can't complete file names while ignoring case.
Solution:   Add 'wildignorecase'.
2010-12-02 16:01:29 +01:00
Bram Moolenaar a17cdd917e updated for version 7.3.071
Problem:    Editing a file in a window that's in diff mode resets 'diff'
	    but not cursor binding.
Solution:   Reset cursor binding in two more places.
2010-12-02 15:33:21 +01:00
Bram Moolenaar 4ece06e069 updated for version 7.3.070
Problem:    Can set environment variables in the sandbox, could be abused.
Solution:   Disallow it.
2010-12-02 14:48:14 +01:00
Bram Moolenaar 7c84bd9153 updated for version 7.3.069
Problem:    GTK: pressing Enter in inputdialog() doesn't work like clicking OK
	    as documented.
Solution:   call gtk_entry_set_activates_default(). (Britton Kerin)
2010-11-24 18:48:12 +01:00
Bram Moolenaar 8601f0b5aa updated for version 7.3.068
Problem:    Using freed memory when doing ":saveas" and an autocommand sets
	    'autochdir'. (Kevin Klement)
Solution:   Get the value of fname again after executing autocommands.
2010-11-24 17:59:32 +01:00
Bram Moolenaar 35e32414c7 updated for version 7.3.067
Problem:    Ruby: Init_prelude is not always available.
Solution:   Remove use of Init_prelude. (Yasuhiro Matsumoto)
2010-11-24 17:03:38 +01:00
Bram Moolenaar e703226fe0 updated for version 7.3.066
Problem:    Crash when changing to another window while in a :vimgrep command.
	    (Christian Brabandt)
Solution:   When wiping out the dummy before, remove it from aucmd_win.
2010-11-24 16:32:05 +01:00
Bram Moolenaar 401556f3b1 updated for version 7.3.065
Problem:    Can't get current line number in a source file.
Solution:   Add the <slnum> item, similar to <sfile>.
2010-11-24 15:50:59 +01:00
Bram Moolenaar 2b09922e3c updated for version 7.3.064
Problem:    Win32: ":dis +" shows nothing, but "+p does insert text.
Solution:   Display the * register, since that's what will be inserted.
	    (Christian Brabandt)
2010-11-24 14:28:58 +01:00
Bram Moolenaar 2286d370ca updated for version 7.3.063
Problem:    Win32: Running a filter command makes Vim lose focus.
Solution:   Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
2010-11-24 12:35:21 +01:00
Bram Moolenaar 96d70531dd Updated runtime files. 2010-11-16 20:34:40 +01:00
Bram Moolenaar 17bcd02554 updated for version 7.3.062
Problem:    Python doesn't work properly when installed in another directory
	    than expected.
Solution:   Figure out home directory in configure and use Py_SetPythonHome()
	    at runtime. (Roland Puntaier)
2010-11-16 19:26:02 +01:00
Bram Moolenaar 4f6c7e6888 updated for version 7.3.061
Problem:    Remote ":drop" does not respect 'autochdir'. (Peter Odding)
Solution:   Don't restore the directory when 'autochdir' is set. (Benjamin
	    Fritz)
2010-11-16 16:25:51 +01:00
Bram Moolenaar 73b4a4e09e updated for version 7.3.060
Problem:    Netbeans: crash when socket is disconnected unexpectedly.
Solution:   Don't cleanup when a read fails, put a message in the queue and
	    disconnect later. (Xavier de Gaye)
2010-11-16 15:49:02 +01:00
Bram Moolenaar 1e08012084 updated for version 7.3.059
Problem:    Netbeans: Problem with recursively handling messages for Athena
	    and Motif.
Solution:   Call netbeans_parse_messages() in the main loop, like it's done
	    for GTK. (Xavier de Gaye)
2010-11-16 15:04:57 +01:00
Bram Moolenaar 29dfc2cfeb updated for version 7.3.058
Problem:    Error "code converter not found" when loading Ruby script.
Solution:   Load Gem module. (Yasuhiro Matsumoto)
2010-11-16 14:46:19 +01:00
Bram Moolenaar 1d286783fc updated for version 7.3.057
Problem:    Segfault with command line abbreviation. (Randy Morris)
Solution:   Don't retrigger the abbreviation when abandoning the command line.
	    Continue editing the command line after the error.
2010-11-16 14:06:08 +01:00
Kazuki Sakamoto dc7ffe83f7 Fix build problem on Leopard 2010-11-16 13:22:14 +01:00
Bram Moolenaar 419aa8ea7e updated for version 7.3.056
Problem:    "getline" argument in do_cmdline() shadows global.
Solution:   Rename the argument.
Files:	    src/ex_docmd.c
2010-11-16 11:32:01 +01:00
Bram Moolenaar a3b7664813 updated for version 7.3.055
Problem:    Recursively nested lists and dictionaries cause a near-endless
	    loop when comparing them with a copy. (ZyX)
Solution:   Limit recursiveness in a way that non-recursive structures can
	    still be nested very deep.
Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
2010-11-10 20:41:57 +01:00
Bram Moolenaar a9b86193df updated for version 7.3.054
Problem:    Can define a user command for :Print, but it doesn't work. (Aaron
	    Thoma)
Solution:   Let user command :Print overrule the builtin command (Christian
	    Brabandt)  Disallow :X and :Next as a user defined command.
2010-11-10 19:00:01 +01:00
Bram Moolenaar 6505c5126b updated for version 7.3.053
Problem:    complete() function doesn't reset complete direction.  Can't use
	    an empty string in the list of matches.
Solution:   Set compl_direction to FORWARD.  Add "empty" key to allow empty
	    words. (Kikuchan)
2010-11-10 17:11:33 +01:00
Bram Moolenaar 951183ee1c updated for version 7.3.052
Problem:    When 'completefunc' opens a new window all kinds of errors follow.
	    (Xavier Deguillard)
Solution:   When 'completefunc' goes to another window or buffer and when it
	    deletes text abort completion.  Add a test for 'completefunc'.
2010-11-10 16:54:20 +01:00
Bram Moolenaar 917f0addc2 updated for version 7.3.051
Problem:    Crash when /home/mool/bin:/usr/local/sbin:/usr/local/bin:/home/mool/java/jdk/bin:/bin:/sbin:/usr/bin:/usr/games:/usr/sbin:/usr/X11R6/bin:/usr/local/linux-jdk1.3.1/bin:/usr/local/lib/python2.2/Tools/idle is empty.
Solution:   Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
2010-11-10 15:37:05 +01:00
Bjorn Winckler 32e3d8896d Do not process IM state change immediately
IM state change needs to update the cursor which may cause Vim state
changes and so the processing of IM messages needs to be delayed.
2010-11-06 14:09:22 +01:00
Kazuki Sakamoto d2e82df267 Fix to update cursor at the IM state changed
It fixes changing cursor with ":hi CursorIM" even though the cursor
blinking is turned off (:set gcr=a:blinkon0) when the IM state is
changed.
2010-11-06 21:26:40 +09:00
Kazuki Sakamoto 8587729a7a Listen to InputSourceChanged notification
This way Vim is immediately made aware when the input source changes
(previously it polled this on keyboard input) which is useful e.g. if
":hi CursorIM .." is set.
2010-11-05 20:46:29 +01:00
Bram Moolenaar 7282627798 updated for version 7.3.050
Problem:    The link script is clumsy.
Solution:   Use the --as-needed linker option if available. (Kirill A.
	    Shutemov)
2010-11-03 22:32:24 +01:00
Bram Moolenaar 180512e308 updated for version 7.3.049
Problem:    PLT has rebranded their Scheme to Racket.
Solution:   Add support for Racket 5.x. (Sergey Khorev)
2010-11-03 21:59:30 +01:00
Bram Moolenaar 8a2d7636c8 updated for version 7.3.048
Problem:    ":earlier 1f" doesn't work after loading undo file.
Solution:   Set b_u_save_nr_cur when loading an undo file. (Christian
	    Brabandt)
	    Fix only showing time in ":undolist"
2010-11-03 19:32:42 +01:00
Bjorn Winckler 5c71a17d6c Merge branch 'vim'
Conflicts:
	src/auto/configure
2010-11-01 13:39:23 +01:00
Bram Moolenaar 76712c4f9c updated for version 7.3.047
Problem:    Missing makefile updates for test 75.
Solution:   Update the makefiles.
2010-10-27 18:36:36 +02:00
Bram Moolenaar 65cb201df3 Updated runtile files. 2010-10-27 18:34:44 +02:00
Bram Moolenaar cfce532319 updated for version 7.3.046
Problem:    Can't build Ruby on MS-Windows.
Solution:   Add #ifdef, don't use WIN3264 before including vim.h.
2010-10-27 17:40:59 +02:00
Bram Moolenaar 35a2c2a0c3 updated for version 7.3.045
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable always.
2010-10-27 17:39:05 +02:00
Bram Moolenaar 41a630757e updated for version 7.3.044
Problem:    The preview window opened by the popup menu is larger than
	    specified with 'previewheight'. (Benjamin Haskell)
Solution:   Use 'previewheight' if it's set and smaller.
2010-10-27 17:11:15 +02:00
Bram Moolenaar aa49bfd374 updated for version 7.3.043
Problem:    Can't load Ruby dynamically on Unix.
Solution:   Adjust the configure script. (James Vega)
2010-10-27 16:49:47 +02:00
Bram Moolenaar 745b4e08ad updated for version 7.3.042
Problem:    No spell highlighting when re-using an empty buffer.
Solution:   Clear the spell checking info only when clearing the options for a
	    buffer. (James Vega)
2010-10-27 16:18:00 +02:00
Bram Moolenaar 4641b5152a updated for version 7.3.041
Problem:    Compiler warning for accessing mediumVersion. (Tony Mechelynck)
Solution:   Use the pointer instead of the array itself. (Dominique Pelle)
2010-10-27 16:01:27 +02:00
Bram Moolenaar 2f0e0b3e71 updated for version 7.3.040
Problem:    Comparing strings while ignoring case goes beyond end of the
	    string when there are illegal bytes. (Dominique Pelle)
Solution:   Explicitly check for illegal bytes.
2010-10-27 13:37:44 +02:00
Bram Moolenaar 33685d8d01 updated for version 7.3.039
Problem:    Crash when using skk.vim plugin.
Solution:   Get length of expression evaluation result only after checking for
	    NULL.  (Noriaki Yagi, Dominique Pelle)
2010-10-27 12:58:23 +02:00
Bram Moolenaar c68d7a56e1 updated for version 7.3.038
Problem:    v:windowid isn't set on MS-Windows.
Solution:   Set it to the window handle. (Chris Sutcliffe)
2010-10-27 12:33:17 +02:00
Bram Moolenaar 2f749d43e9 updated for version 7.3.037
Problem:    Compiler warnings for loss of data. (Mike Williams)
Solution:   Add type casts.
2010-10-27 12:18:00 +02:00
Bram Moolenaar ba7586c13b updated for version 7.3.036
Problem:    Win32 GUI: When building without menus, the font for dialogs and
	    tab page headers also changes.
Solution:   Define USE_SYSMENU_FONT always. (Harig G.)
2010-10-27 12:15:33 +02:00
Bram Moolenaar 074c397ed7 updated for version 7.3.035
Problem:    Stray semicolon after if statement. (Hari G)
Solution:   Remove the semicolon.
2010-10-24 14:33:43 +02:00
Bram Moolenaar 8e94a6f547 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 74cbc24648 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 8b9203b419 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 112534aad5 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 679e2d9461 Updated runtime files and translations. 2010-10-20 18:45:33 +02:00
Bram Moolenaar 79603e8b55 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
Bjorn Winckler 243ebf0db8 Use correct screen when constraining views
The view constraining code could get called before the window had been
placed sometimes causing the wrong screen to be used when more than one
monitor was connected.
2010-10-19 11:24:47 +02:00
Bjorn Winckler c9972234b6 Fix cascading with multiple monitors
The window cascading code had an "off by one" bug which could cause the
wrong screen to used when using more than one monitor.
2010-10-19 11:22:26 +02:00
Bram Moolenaar 5055b0389e 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
Bjorn Winckler 73626de24f Update help on binding to Cmd-key 2010-10-15 15:34:54 +02:00
Bram Moolenaar 733962c814 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
Bjorn Winckler 98b5cd3e62 Use correct screen for full screen
The autocommand "au GUIEnter * set fu" would cause the full screen
window to always appear on the primary monitor when multiple monitors
were connected.  This commit fixes this problem.
2010-10-14 20:08:45 +02:00
Bjorn Winckler 291a5c40b4 Merge branch 'vim'
Conflicts:
	src/os_unix.c
2010-10-14 17:41:28 +02:00
Bram Moolenaar 4758cc5fb2 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 a95ebf0fcd 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 801135edc8 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 0a7cafb2c8 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 a112c49589 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 b5f9dd7b3f 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 eb3ed243d9 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 0a8e611590 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
Bjorn Winckler 76f937b87b Snapshot 55 2010-10-05 21:14:36 +02:00
Bjorn Winckler c96d4dcc8e Do not change pwd on open file for onscreen window
This change is to make the behavior more consistent and easier to
predict (e.g. when MacVim is used with PeepOpen).

If opening new files causes a new window to appear on screen, then the
pwd is set to the directory of the first file being opened.

If a window is already visible and new files are set to open in the
"current" window, then the pwd will not change when opening files.
2010-10-03 17:49:23 +02:00
Bjorn Winckler cc43c3f65c Fix inline marked text regression
This regression was introduced in commit be8446006b.
2010-10-02 19:21:20 +02:00
Bjorn Winckler e1f144fff9 Snapshot 54 2010-10-01 21:33:51 +02:00
Bjorn Winckler 96a5aaca30 Update credits 2010-10-01 21:23:12 +02:00
Bjorn Winckler fe4dcf1ea1 Patch 7.3.019 missing #ifdef 2010-10-01 16:57:50 +02:00
Bjorn Winckler 051dd87d5e Merge branch 'vim'
Conflicts:
	src/main.c
2010-10-01 16:55:17 +02:00
Dmitry Vazhov 24b70ebcfa Set represented filename for full screen window
This fixes a bug which caused DTerm not to work when in full screen
mode.
2010-10-01 16:47:55 +02:00
Bram Moolenaar 8d49009628 Runtime file updates. 2010-09-30 21:47:56 +02:00
Bram Moolenaar 59d9dd938d 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
Bjorn Winckler fdd289b215 Shorter input check intervals 2010-09-30 12:25:54 +02:00
Bjorn Winckler be8446006b Avoid Vim locking up whilst waiting for input
Put keyboard input on Vim's input buffer as soon as it arrives instead
of first putting it on the backend's input buffer.

This should fix problems with MacVim spuriously locking up when opening
files as has been reported by users of the PeepOpen utility.
2010-09-30 11:59:32 +02:00
Bram Moolenaar daa5cfe9dd 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 855f2810f5 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 09915c6560 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 32de6c1f95 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 2e002ed5f0 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 9b3ee033ca 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 e0035e72ff 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 3a7b73bbe8 Updated runtime files. 2010-09-21 22:34:02 +02:00
Bram Moolenaar fa8a10cc0d 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 e35b5e0207 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 f04780aebd 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 3faee0eea8 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 e4b1724130 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 7e9a35b73e Updated runtime files. 2010-09-19 19:01:21 +02:00
Bram Moolenaar a030e14f4c 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
Bjorn Winckler 3609f1181b Update help on Quickstart feature 2010-09-17 21:47:40 +02:00
Bram Moolenaar 7f521f9180 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 5bfb7b6c36 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
Bjorn Winckler 6b593596a8 Deprecate Pinch/Rotate gestures
These do not make much sense to include (and they could not easily be
mapped to because of the fact that they generate events as the gesture
is being performed).

Also, make some updates to the help.
2010-09-08 18:51:30 +02:00
Bjorn Winckler 355030366f Add help on trackpad gestures 2010-09-02 20:49:03 +02:00
Bjorn Winckler a542a26f2e Use swipe gesture to navigate help
Left/right swipe goes back/forward through tag stag when reading help.
2010-09-02 19:02:53 +02:00
Bjorn Winckler 65065e6c02 Avoid <SwipeLeft> etc. being inserted
Performing a gesture will not cause <SwipeLeft> etc. to be inserted into
the text while in insert mode/cmdline mode/etc.
2010-09-02 18:54:52 +02:00
Bjorn Winckler a5db9c5785 Add support for trackpad gestures
Supported gestures are swipe, pinch and rotate.  These generate the
following keys:

    <SwipeLeft> <SwipeRight> <SwipeUp> <SwipeDown>
    <PinchIn>   <PinchOut>
    <RotateCW>  <RotateCCW>

(CW = ClockWise, CCW = CounterClockWise)
2010-09-01 22:30:21 +02:00
Bjorn Winckler 2a25ea4e26 Improvements to Spotlight integration
No longer issue a warning if the text entered in Spotlight can not be
found in a file opened from Spotlight.  Sanitize Spotlight input before
passing it on to Vim.
2010-09-01 18:02:56 +02:00
Nikola Knezevic f4e9d096f2 Fix Vim hanging when using zsh+git
This fixes the problem explained in [2]. Essentially, when executing
external program, where default shell is zsh, Vim would hang. This
behaviour does not occur with bash, or other shells.

Problem:
When Vim executes an external program from GUI (MacVim in this case), it
opens PTYs. Parent passes information to the child via these PTYs. Savvy
implementation closes all unused filehandles, so slave PTY fd is closed
in the parent immediately after fork(). This causes problems on
MacVim, due to [1]. In a nutshell, on BSD-like systems, write operations
on PTY would block until one side reads or exits. If a child tries to
write on a PTY, which is closed in parent, that would block the child,
and stop further progress.

Resolution:
Instead of closing child's fd in the parent immediately after fork(),
close it after child exits.

[1] http://osdir.com/ml/darwin-kernel/2010-04/msg00025.html
[2] http://groups.google.com/group/vim_mac/browse_thread/thread/78b18ce8cc15557d
2010-08-29 14:29:51 +02:00
Nikola Knezevic daa43ff96d Revert "Double fork to avoid Vim hanging when using zsh"
This reverts commit 453876f267.

This is not the right/complete solution.
2010-08-29 14:25:00 +02:00
Nikola Knezevic 453876f267 Double fork to avoid Vim hanging when using zsh 2010-08-24 19:49:32 +02:00
Bjorn Winckler 329a140ce1 Remove snapshot appcast 2010-08-24 15:41:38 +02:00
Bram Moolenaar 8dfe0f6e7a 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 9be9c0aaeb 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
Bjorn Winckler ff0faa47a4 Merge 'Snapshot 53' commit 2010-08-17 13:43:00 +02:00
Bjorn Winckler f408e184c1 Merge branch 'vim' 2010-08-17 12:58:43 +02:00
Bram Moolenaar d22aff9897 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 85431083e7 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 0d3005d65e Make the vim73 branch the default branch. 2010-08-16 21:24:09 +02:00
Bram Moolenaar b34087a4a2 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 874574c6bb 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 6e664be861 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 a92a746da4 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 18ce00cbee 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 8e9bf3f572 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 c0dd720f49 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 69c231441a 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 c93594baa5 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 bc69624568 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 30887c5a27 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 350b73a180 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 4b758f6023 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 5ebd22a7c0 Undo changes that are meant for the Vim 7.3 branch. 2010-05-15 21:13:04 +02:00
Bram Moolenaar d8025cb9da After recovery check if the text changed. If it did mark the buffer as
modified.

--HG--
extra : rebase_source : 0527eb0f6918ca9111d64d32092d92ec8ea70e11
2010-05-15 17:06:53 +02:00
Bram Moolenaar 524b356466 Get rid of the "extra" and "lang" archives.
--HG--
extra : rebase_source : c1d31f774a03e6e4bea6e08ea6608915da43aa39
2010-05-15 15:41:59 +02:00
Bram Moolenaar b3bdfdd3dc Switched from autoconf 2.63 to 2.65.
--HG--
extra : rebase_source : 29df04ae0fad8926f8f6a7166d26caae32974134
2010-05-15 15:04:53 +02:00
Bram Moolenaar e306f514a6 Small fix for compiler warning in Netbeans.
--HG--
extra : rebase_source : e8ef654038c4d9d18187be14a2ca49ec746e70f9
2010-05-15 14:49:02 +02:00
Bram Moolenaar 13b802f309 First step in the Vim 7.3 branch. Changed version numbers.
--HG--
extra : rebase_source : 7c8c7c95a865c6da6338889441b8d55d8c5b656d
2010-05-15 13:56:02 +02:00
482 changed files with 24251 additions and 16368 deletions
+4
View File
@@ -3,6 +3,8 @@
src/MacVim/MacVim.xcodeproj/*.mode1
src/MacVim/MacVim.xcodeproj/*.mode1v3
src/MacVim/MacVim.xcodeproj/*.pbxuser
src/MacVim/MacVim.xcodeproj/project.xcworkspace
src/MacVim/MacVim.xcodeproj/xcuserdata
src/MacVim/icons/*.pyc
src/MacVim/icons/*.ttf
src/MacVim/icons/*.reg
@@ -16,6 +18,7 @@ src/MacVim/icons/makeicns/makeicns
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.mode1
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.mode1v3
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.pbxuser
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/xcuserdata
src/MacVim/PSMTabBarControl/build
src/MacVim/PSMTabBarControl/build
src/MacVim/build
@@ -35,3 +38,4 @@ src/po/*.mo
src/tags
src/xxd/xxd
src/xxd/xxd.dSYM
src/a.out.dSYM
+11 -2
View File
@@ -7,14 +7,15 @@ 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
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
@@ -42,3 +43,11 @@ gvimext.lib
*.mo
*.swp
*~
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
+432
View File
File diff suppressed because it is too large Load Diff
+4 -7
View File
@@ -39,6 +39,7 @@ SRC_ALL = \
src/mark.c \
src/mbyte.c \
src/memfile.c \
src/memfile_test.c \
src/memline.c \
src/menu.c \
src/message.c \
@@ -261,6 +262,7 @@ SRC_DOS = \
src/bigvim.bat \
src/msvcsetup.bat \
src/msvc2008.bat \
src/msvc2010.bat \
src/dimm.idl \
src/dlldata.c \
src/dosinst.c \
@@ -426,9 +428,6 @@ SRC_EXTRA = \
$(SRC_VMS) \
README_os390.txt \
src/Make_mint.mak \
src/Make_ro.mak \
src/gui_riscos.c \
src/gui_riscos.h \
src/if_sniff.c \
src/infplist.xml \
src/link.390 \
@@ -436,10 +435,6 @@ SRC_EXTRA = \
src/os_beos.h \
src/os_beos.rsrc \
src/os_mint.h \
src/os_riscos.c \
src/os_riscos.h \
src/proto/gui_riscos.pro \
src/proto/os_riscos.pro \
src/os_vms_fix.com \
src/toolbar.phi \
@@ -686,6 +681,8 @@ LANG_GEN = \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.??.* \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
+6
View File
@@ -23,6 +23,9 @@
# has run can result in compiling with $(CC) empty.
first:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@@ -30,6 +33,9 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
+4 -5
View File
@@ -13,17 +13,16 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
src/os_amiga.* Files for the Amiga port.
src/gui_riscos.*
src/os_riscos.* Files for the RISC OS port.
src/gui_beos.*
src/os_beos.* Files for the BeOS port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.
src/gui_mac.*
src/os_mac.* Files for the Mac port.
src/gui_mac.* Carbon GUI (not used)
src/os_mac* Shared files for the different Mac ports.
src/MacVim/* Files for the MacVim port.
src/os_mint.8 Files for the Atari Mint port.
+31 -2
View File
@@ -1,8 +1,37 @@
README_mac.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
This file explains the installation of MacVim.
See "README.txt" for general information about Vim.
See "src/MacVim/README" for an overview of the MacVim specific source code.
MacVim uses the usual configure/make steps to build the binary but instead of
"make install" you just drag the app bundle into the directory you wish to
install in (usually `/Applications').
Sorry, this text still needs to be written!
How to build and install
========================
Run `./configure` in the `src/` directory with the flags you want, e.g.:
$ cd src
$ ./configure --with-features=huge \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-cscope
Now build the project using `make`:
$ make
The resulting app bundle will reside under `MacVim/build/Release`. To try it
out quickly, type:
$ open MacVim/build/Release/MacVim.app
To install MacVim, type
$ open MacVim/build/Release
and drag the MacVim icon into your `Applications` folder.
+10 -4
View File
@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
" Date: Dec 28, 2009
" Version: 32
" Date: May 31, 2011
" Version: 33
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v32"
let g:loaded_getscript= "v33"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@@ -519,6 +519,7 @@ fun! s:GetOneScript(...)
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
" call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall)
if doautoinstall
" call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
@@ -526,7 +527,7 @@ fun! s:GetOneScript(...)
" call Decho("<".sname."> is readable")
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
let curdir = escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
let installdir= curdir."/Installed"
if !isdirectory(installdir)
call mkdir(installdir)
@@ -557,6 +558,11 @@ fun! s:GetOneScript(...)
exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
elseif sname =~ '\.xz$'
" call Decho("decompress: attempt to unxz ".sname)
exe "silent !unxz ".shellescape(sname)
let sname= substitute(sname,'\.xz$','','')
" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
+2 -1
View File
@@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Oct 19
" Last Change: 2011 Apr 28
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@@ -285,6 +285,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let cssfiles = styletable + secimportfiles
let classes = []
for file in cssfiles
let classlines = []
if filereadable(file)
let stylesheet = readfile(file)
let stylefile = join(stylesheet, ' ')
+805 -563
View File
File diff suppressed because it is too large Load Diff
+32 -32
View File
@@ -1,13 +1,13 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Aug 09, 2010
" Version: 26
" Date: May 31, 2011
" Version: 27
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005-2009 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -22,7 +22,7 @@
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v26"
let g:loaded_tar= "v27"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
@@ -47,6 +47,17 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:netrw_cygwin= 0
endif
endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
@@ -63,17 +74,6 @@ if !exists("g:tar_copycmd")
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:netrw_cygwin= 0
endif
endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
@@ -142,9 +142,9 @@ fun! tar#Browse(tarfile)
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
$put =''
0d
$
keepj $put =''
keepj 0d
keepj $
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
@@ -154,26 +154,26 @@ fun! tar#Browse(tarfile)
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" 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." - "
exe "sil! 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." - "
exe "sil! 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.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif
if v:shell_error != 0
redraw!
@@ -184,12 +184,12 @@ fun! tar#Browse(tarfile)
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
silent %d
keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".fnameescape(a:tarfile)
let &ei= eikeep
1d
keepj sil! 1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
@@ -286,19 +286,19 @@ fun! tar#Read(fname,mode)
endif
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
exe "silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "silent r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
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
exe "sil! 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
exe "sil! 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.
@@ -317,7 +317,7 @@ fun! tar#Read(fname,mode)
exe "file tarfile::".fnameescape(fname)
" cleanup
0d
keepj sil! 0d
set nomod
let &report= repkeep
+447 -67
View File
@@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2010 Aug 12
" Last Change: 2011 Apr 05
"
" Additional contributors:
"
@@ -13,10 +13,284 @@
let s:cpo_sav = &cpo
set cpo-=C
func! tohtml#Convert2HTML(line1, line2)
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
" this. Let the user specify these however since they won't be supported on
" every system.
"
" Note, not all of Vim's supported encodings have a charset to use.
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#encoding_to_charset: {{{
let g:tohtml#encoding_to_charset = {
\ 'latin1' : 'ISO-8859-1',
\ 'iso-8859-2' : 'ISO-8859-2',
\ 'iso-8859-3' : 'ISO-8859-3',
\ 'iso-8859-4' : 'ISO-8859-4',
\ 'iso-8859-5' : 'ISO-8859-5',
\ 'iso-8859-6' : 'ISO-8859-6',
\ 'iso-8859-7' : 'ISO-8859-7',
\ 'iso-8859-8' : 'ISO-8859-8',
\ 'iso-8859-9' : 'ISO-8859-9',
\ 'iso-8859-10' : '',
\ 'iso-8859-13' : 'ISO-8859-13',
\ 'iso-8859-14' : '',
\ 'iso-8859-15' : 'ISO-8859-15',
\ 'koi8-r' : 'KOI8-R',
\ 'koi8-u' : 'KOI8-U',
\ 'macroman' : 'macintosh',
\ 'cp437' : '',
\ 'cp775' : '',
\ 'cp850' : '',
\ 'cp852' : '',
\ 'cp855' : '',
\ 'cp857' : '',
\ 'cp860' : '',
\ 'cp861' : '',
\ 'cp862' : '',
\ 'cp863' : '',
\ 'cp865' : '',
\ 'cp866' : 'IBM866',
\ 'cp869' : '',
\ 'cp874' : '',
\ 'cp1250' : 'windows-1250',
\ 'cp1251' : 'windows-1251',
\ 'cp1253' : 'windows-1253',
\ 'cp1254' : 'windows-1254',
\ 'cp1255' : 'windows-1255',
\ 'cp1256' : 'windows-1256',
\ 'cp1257' : 'windows-1257',
\ 'cp1258' : 'windows-1258',
\ 'euc-jp' : 'EUC-JP',
\ 'sjis' : 'Shift_JIS',
\ 'cp932' : 'Shift_JIS',
\ 'cp949' : '',
\ 'euc-kr' : 'EUC-KR',
\ 'cp936' : 'GBK',
\ 'euc-cn' : 'GB2312',
\ 'big5' : 'Big5',
\ 'cp950' : 'Big5',
\ 'utf-8' : 'UTF-8',
\ 'ucs-2' : 'UTF-8',
\ 'ucs-2le' : 'UTF-8',
\ 'utf-16' : 'UTF-8',
\ 'utf-16le' : 'UTF-8',
\ 'ucs-4' : 'UTF-8',
\ 'ucs-4le' : 'UTF-8',
\ }
lockvar g:tohtml#encoding_to_charset
" Notes:
" 1. All UCS/UTF are converted to UTF-8 because it is much better supported
" 2. Any blank spaces are there because Vim supports it but at least one major
" web browser does not according to http://wiki.whatwg.org/wiki/Web_Encodings.
" }}}
" Only automatically find encodings supported natively by Vim, let the user
" specify the encoding if it's not natively supported. This function is only
" used when the user specifies the charset, they better know what they are
" doing!
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#charset_to_encoding: {{{
let g:tohtml#charset_to_encoding = {
\ 'iso_8859-1:1987' : 'latin1',
\ 'iso-ir-100' : 'latin1',
\ 'iso_8859-1' : 'latin1',
\ 'iso-8859-1' : 'latin1',
\ 'latin1' : 'latin1',
\ 'l1' : 'latin1',
\ 'ibm819' : 'latin1',
\ 'cp819' : 'latin1',
\ 'csisolatin1' : 'latin1',
\ 'iso_8859-2:1987' : 'iso-8859-2',
\ 'iso-ir-101' : 'iso-8859-2',
\ 'iso_8859-2' : 'iso-8859-2',
\ 'iso-8859-2' : 'iso-8859-2',
\ 'latin2' : 'iso-8859-2',
\ 'l2' : 'iso-8859-2',
\ 'csisolatin2' : 'iso-8859-2',
\ 'iso_8859-3:1988' : 'iso-8859-3',
\ 'iso-ir-109' : 'iso-8859-3',
\ 'iso_8859-3' : 'iso-8859-3',
\ 'iso-8859-3' : 'iso-8859-3',
\ 'latin3' : 'iso-8859-3',
\ 'l3' : 'iso-8859-3',
\ 'csisolatin3' : 'iso-8859-3',
\ 'iso_8859-4:1988' : 'iso-8859-4',
\ 'iso-ir-110' : 'iso-8859-4',
\ 'iso_8859-4' : 'iso-8859-4',
\ 'iso-8859-4' : 'iso-8859-4',
\ 'latin4' : 'iso-8859-4',
\ 'l4' : 'iso-8859-4',
\ 'csisolatin4' : 'iso-8859-4',
\ 'iso_8859-5:1988' : 'iso-8859-5',
\ 'iso-ir-144' : 'iso-8859-5',
\ 'iso_8859-5' : 'iso-8859-5',
\ 'iso-8859-5' : 'iso-8859-5',
\ 'cyrillic' : 'iso-8859-5',
\ 'csisolatincyrillic' : 'iso-8859-5',
\ 'iso_8859-6:1987' : 'iso-8859-6',
\ 'iso-ir-127' : 'iso-8859-6',
\ 'iso_8859-6' : 'iso-8859-6',
\ 'iso-8859-6' : 'iso-8859-6',
\ 'ecma-114' : 'iso-8859-6',
\ 'asmo-708' : 'iso-8859-6',
\ 'arabic' : 'iso-8859-6',
\ 'csisolatinarabic' : 'iso-8859-6',
\ 'iso_8859-7:1987' : 'iso-8859-7',
\ 'iso-ir-126' : 'iso-8859-7',
\ 'iso_8859-7' : 'iso-8859-7',
\ 'iso-8859-7' : 'iso-8859-7',
\ 'elot_928' : 'iso-8859-7',
\ 'ecma-118' : 'iso-8859-7',
\ 'greek' : 'iso-8859-7',
\ 'greek8' : 'iso-8859-7',
\ 'csisolatingreek' : 'iso-8859-7',
\ 'iso_8859-8:1988' : 'iso-8859-8',
\ 'iso-ir-138' : 'iso-8859-8',
\ 'iso_8859-8' : 'iso-8859-8',
\ 'iso-8859-8' : 'iso-8859-8',
\ 'hebrew' : 'iso-8859-8',
\ 'csisolatinhebrew' : 'iso-8859-8',
\ 'iso_8859-9:1989' : 'iso-8859-9',
\ 'iso-ir-148' : 'iso-8859-9',
\ 'iso_8859-9' : 'iso-8859-9',
\ 'iso-8859-9' : 'iso-8859-9',
\ 'latin5' : 'iso-8859-9',
\ 'l5' : 'iso-8859-9',
\ 'csisolatin5' : 'iso-8859-9',
\ 'iso-8859-10' : 'iso-8859-10',
\ 'iso-ir-157' : 'iso-8859-10',
\ 'l6' : 'iso-8859-10',
\ 'iso_8859-10:1992' : 'iso-8859-10',
\ 'csisolatin6' : 'iso-8859-10',
\ 'latin6' : 'iso-8859-10',
\ 'iso-8859-13' : 'iso-8859-13',
\ 'iso-8859-14' : 'iso-8859-14',
\ 'iso-ir-199' : 'iso-8859-14',
\ 'iso_8859-14:1998' : 'iso-8859-14',
\ 'iso_8859-14' : 'iso-8859-14',
\ 'latin8' : 'iso-8859-14',
\ 'iso-celtic' : 'iso-8859-14',
\ 'l8' : 'iso-8859-14',
\ 'iso-8859-15' : 'iso-8859-15',
\ 'iso_8859-15' : 'iso-8859-15',
\ 'latin-9' : 'iso-8859-15',
\ 'koi8-r' : 'koi8-r',
\ 'cskoi8r' : 'koi8-r',
\ 'koi8-u' : 'koi8-u',
\ 'macintosh' : 'macroman',
\ 'mac' : 'macroman',
\ 'csmacintosh' : 'macroman',
\ 'ibm437' : 'cp437',
\ 'cp437' : 'cp437',
\ '437' : 'cp437',
\ 'cspc8codepage437' : 'cp437',
\ 'ibm775' : 'cp775',
\ 'cp775' : 'cp775',
\ 'cspc775baltic' : 'cp775',
\ 'ibm850' : 'cp850',
\ 'cp850' : 'cp850',
\ '850' : 'cp850',
\ 'cspc850multilingual' : 'cp850',
\ 'ibm852' : 'cp852',
\ 'cp852' : 'cp852',
\ '852' : 'cp852',
\ 'cspcp852' : 'cp852',
\ 'ibm855' : 'cp855',
\ 'cp855' : 'cp855',
\ '855' : 'cp855',
\ 'csibm855' : 'cp855',
\ 'ibm857' : 'cp857',
\ 'cp857' : 'cp857',
\ '857' : 'cp857',
\ 'csibm857' : 'cp857',
\ 'ibm860' : 'cp860',
\ 'cp860' : 'cp860',
\ '860' : 'cp860',
\ 'csibm860' : 'cp860',
\ 'ibm861' : 'cp861',
\ 'cp861' : 'cp861',
\ '861' : 'cp861',
\ 'cp-is' : 'cp861',
\ 'csibm861' : 'cp861',
\ 'ibm862' : 'cp862',
\ 'cp862' : 'cp862',
\ '862' : 'cp862',
\ 'cspc862latinhebrew' : 'cp862',
\ 'ibm863' : 'cp863',
\ 'cp863' : 'cp863',
\ '863' : 'cp863',
\ 'csibm863' : 'cp863',
\ 'ibm865' : 'cp865',
\ 'cp865' : 'cp865',
\ '865' : 'cp865',
\ 'csibm865' : 'cp865',
\ 'ibm866' : 'cp866',
\ 'cp866' : 'cp866',
\ '866' : 'cp866',
\ 'csibm866' : 'cp866',
\ 'ibm869' : 'cp869',
\ 'cp869' : 'cp869',
\ '869' : 'cp869',
\ 'cp-gr' : 'cp869',
\ 'csibm869' : 'cp869',
\ 'windows-1250' : 'cp1250',
\ 'windows-1251' : 'cp1251',
\ 'windows-1253' : 'cp1253',
\ 'windows-1254' : 'cp1254',
\ 'windows-1255' : 'cp1255',
\ 'windows-1256' : 'cp1256',
\ 'windows-1257' : 'cp1257',
\ 'windows-1258' : 'cp1258',
\ 'extended_unix_code_packed_format_for_japanese' : 'euc-jp',
\ 'cseucpkdfmtjapanese' : 'euc-jp',
\ 'euc-jp' : 'euc-jp',
\ 'shift_jis' : 'sjis',
\ 'ms_kanji' : 'sjis',
\ 'sjis' : 'sjis',
\ 'csshiftjis' : 'sjis',
\ 'ibm-thai' : 'cp874',
\ 'csibmthai' : 'cp874',
\ 'ks_c_5601-1987' : 'cp949',
\ 'iso-ir-149' : 'cp949',
\ 'ks_c_5601-1989' : 'cp949',
\ 'ksc_5601' : 'cp949',
\ 'korean' : 'cp949',
\ 'csksc56011987' : 'cp949',
\ 'euc-kr' : 'euc-kr',
\ 'cseuckr' : 'euc-kr',
\ 'gbk' : 'cp936',
\ 'cp936' : 'cp936',
\ 'ms936' : 'cp936',
\ 'windows-936' : 'cp936',
\ 'gb_2312-80' : 'euc-cn',
\ 'iso-ir-58' : 'euc-cn',
\ 'chinese' : 'euc-cn',
\ 'csiso58gb231280' : 'euc-cn',
\ 'big5' : 'big5',
\ 'csbig5' : 'big5',
\ 'utf-8' : 'utf-8',
\ 'iso-10646-ucs-2' : 'ucs-2',
\ 'csunicode' : 'ucs-2',
\ 'utf-16' : 'utf-16',
\ 'utf-16be' : 'utf-16',
\ 'utf-16le' : 'utf-16le',
\ 'utf-32' : 'ucs-4',
\ 'utf-32be' : 'ucs-4',
\ 'utf-32le' : 'ucs-4le',
\ 'iso-10646-ucs-4' : 'ucs-4',
\ 'csucs4' : 'ucs-4'
\ }
lockvar g:tohtml#charset_to_encoding
"}}}
func! tohtml#Convert2HTML(line1, line2) "{{{
let s:settings = tohtml#GetUserSettings()
if !&diff || s:settings.diff_one_file
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
@@ -24,31 +298,51 @@ func! tohtml#Convert2HTML(line1, line2)
let g:html_start_line = a:line2
let g:html_end_line = a:line1
endif
runtime syntax/2html.vim
else
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
" switch to the next buffer to convert
exe ":" . bufwinnr(window) . "wincmd w"
" figure out whether current charset and encoding will work, if not
" default to UTF-8
if !exists('g:html_use_encoding') &&
\ (((&l:fileencoding=='' || (&l:buftype!='' && &l:buftype!=?'help'))
\ && &encoding!=?s:settings.vim_encoding)
\ || &l:fileencoding!='' && &l:fileencoding!=?s:settings.vim_encoding)
echohl WarningMsg
echomsg "TOhtml: mismatched file encodings in Diff buffers, using UTF-8"
echohl None
let s:settings.vim_encoding = 'utf-8'
let s:settings.encoding = 'UTF-8'
endif
" set up for diff-mode conversion
let g:html_start_line = 1
let g:html_end_line = line('$')
let g:html_diff_win_num += 1
" convert this file
runtime syntax/2html.vim
" remember the HTML buffer for later combination
call add(buf_list, bufnr('%'))
endfor
unlet g:html_diff_win_num
call tohtml#Diff2HTML(win_list, buf_list)
endif
endif "}}}
unlet g:html_start_line
unlet g:html_end_line
unlet s:settings
endfunc
endfunc "}}}
func! tohtml#Diff2HTML(win_list, buf_list)
func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let xml_line = ""
let tag_close = '>'
@@ -87,7 +381,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
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)
" contained in XML information
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
@@ -133,7 +427,8 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let s:body_end_line = getline('.')
endif
" Grab the style information. Some of this will be duplicated...
" Grab the style information. Some of this will be duplicated so only insert
" it if it's not already there. {{{
1
let style_start = search('^<style type="text/css">')
1
@@ -151,8 +446,10 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let insert_index += 1
endif
endfor
endif
endif " }}}
" everything new will get added before the diff styles so diff highlight
" properly overrides normal highlight
if diff_style_start != 0
let insert_index = diff_style_start
endif
@@ -203,6 +500,20 @@ func! tohtml#Diff2HTML(win_list, buf_list)
" just in case some user autocmd creates content in the new buffer, make sure
" it is empty before proceeding
%d
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
call append(0, html)
if len(style) > 0
@@ -210,7 +521,7 @@ func! tohtml#Diff2HTML(win_list, buf_list)
let style_start = search('^</head>')-1
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active.
" if dynamic folding is active. {{{
if s:settings.dynamic_folds
call append(style_start, [
\ "<script type='text/javascript'>",
@@ -234,13 +545,13 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif
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.
" is pretty useless for really long lines. {{{
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
@@ -252,28 +563,28 @@ func! tohtml#Diff2HTML(win_list, buf_list)
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
\ '</style>'
\ ])
endif
\])
endif "}}}
endif
let &paste = s:old_paste
let &magic = s:old_magic
endfunc
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)
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
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()
func! tohtml#GetUserSettings() "{{{
if exists('s:settings')
" just restore the known options if we've already retrieved them
return s:settings
@@ -289,21 +600,23 @@ func! tohtml#GetUserSettings()
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 )
" 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, 'pre_wrap', &wrap )
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
" override those settings that need it {{{
" hover opening implies dynamic folding
if user_settings.hover_unfold
@@ -332,47 +645,114 @@ func! tohtml#GetUserSettings()
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
" pre_wrap doesn't do anything if not using pre or not using CSS
if user_settings.no_pre || !user_settings.use_css
let user_settings.pre_wrap=0
endif
"}}}
" set up expand_tabs option after all the overrides so we know the
" appropriate defaults {{{
if user_settings.no_pre == 0
call tohtml#GetOption(user_settings,
\ 'expand_tabs',
\ &expandtab || &ts != 8 || user_settings.number_lines ||
\ (user_settings.dynamic_folds && !user_settings.no_foldcolumn))
else
let user_settings.expand_tabs = 1
endif
" }}}
if exists("g:html_use_encoding") "{{{
" user specified the desired MIME charset, figure out proper
" 'fileencoding' from it or warn the user if we cannot
let user_settings.encoding = g:html_use_encoding
let user_settings.vim_encoding = tohtml#EncodingFromCharset(g:html_use_encoding)
if user_settings.vim_encoding == ''
echohl WarningMsg
echomsg "TOhtml: file encoding for"
\ g:html_use_encoding
\ "unknown, please set 'fileencoding'"
echohl None
endif
else
" Figure out proper MIME charset from 'fileencoding' if possible
if &l:fileencoding != ''
" If the buffer is not a "normal" type, the 'fileencoding' value may not
" be trusted; since the buffer should not be written the fileencoding is
" not intended to be used.
if &l:buftype=='' || &l:buftype==?'help'
let user_settings.vim_encoding = &l:fileencoding
call tohtml#CharsetFromEncoding(user_settings)
else
let user_settings.encoding = '' " trigger detection using &encoding
endif
endif
" else from 'encoding' if possible
if &l:fileencoding == '' || user_settings.encoding == ''
let user_settings.vim_encoding = &encoding
call tohtml#CharsetFromEncoding(user_settings)
endif
" else default to UTF-8 and warn user
if user_settings.encoding == ''
let user_settings.vim_encoding = 'utf-8'
let user_settings.encoding = 'UTF-8'
echohl WarningMsg
echomsg "TOhtml: couldn't determine MIME charset, using UTF-8"
echohl None
endif
endif "}}}
" TODO: font
return user_settings
endif
endfunc
endfunc "}}}
" get the proper HTML charset name from a Vim encoding option.
function! tohtml#CharsetFromEncoding(settings) "{{{
let l:vim_encoding = a:settings.vim_encoding
if exists('g:html_charset_override') && has_key(g:html_charset_override, l:vim_encoding)
let a:settings.encoding = g:html_charset_override[l:vim_encoding]
else
if l:vim_encoding =~ '^8bit\|^2byte'
" 8bit- and 2byte- prefixes are to indicate encodings available on the
" system that Vim will convert with iconv(), look up just the encoding name,
" not Vim's prefix.
let l:vim_encoding = substitute(l:vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if has_key(g:tohtml#encoding_to_charset, l:vim_encoding)
let a:settings.encoding = g:tohtml#encoding_to_charset[l:vim_encoding]
else
let a:settings.encoding = ""
endif
endif
if a:settings.encoding != ""
let l:vim_encoding = tohtml#EncodingFromCharset(a:settings.encoding)
if l:vim_encoding != ""
" if the Vim encoding to HTML encoding conversion is set up (by default or
" by the user) to convert to a different encoding, we need to also change
" the Vim encoding of the new buffer
let a:settings.vim_encoding = l:vim_encoding
endif
endif
endfun "}}}
" Get the proper Vim encoding option setting from an HTML charset name.
function! tohtml#EncodingFromCharset(encoding) "{{{
if exists('g:html_encoding_override') && has_key(g:html_encoding_override, a:encoding)
return g:html_encoding_override[a:encoding]
elseif has_key(g:tohtml#charset_to_encoding, tolower(a:encoding))
return g:tohtml#charset_to_encoding[tolower(a:encoding)]
else
return ""
endif
endfun "}}}
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
" vim: ts=8 sw=2 sts=2 noet fdm=marker
+62 -49
View File
@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Apr 12, 2010
" Version: 31
" Date: Apr 02, 2011
" Version: 33
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2009 by Charles E. Campbell, Jr.
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_vimball")
finish
endif
let g:loaded_vimball = "v31"
let g:loaded_vimball = "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -67,10 +67,10 @@ endif
" vimball#MkVimball: creates a vimball given a list of paths to files {{{2
" Input:
" line1,line2: a range of lines containing paths to files to be included in the vimball
" writelevel : if true, force a write to filename.vba, even if it exists
" writelevel : if true, force a write to filename.vmb, even if it exists
" (usually accomplished with :MkVimball! ...
" filename : base name of file to be created (ie. filename.vba)
" Output: a filename.vba using vimball format:
" filename : base name of file to be created (ie. filename.vmb)
" Output: a filename.vmb using vimball format:
" path
" filesize
" [file]
@@ -80,12 +80,12 @@ endif
fun! vimball#MkVimball(line1,line2,writelevel,...) range
" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:1.">) a:0=".a:0)
if a:1 =~ '\.vim$' || a:1 =~ '\.txt$'
let vbname= substitute(a:1,'\.\a\{3}$','.vba','')
let vbname= substitute(a:1,'\.\a\{3}$','.vmb','')
else
let vbname= a:1
endif
if vbname !~ '\.vba$'
let vbname= vbname.'.vba'
if vbname !~ '\.vmb$'
let vbname= vbname.'.vmb'
endif
" call Decho("vbname<".vbname.">")
if !a:writelevel && a:1 =~ '[\/]'
@@ -134,7 +134,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" create/switch to mkvimball tab
if !exists("vbtabnr")
tabnew
silent! file Vimball
sil! file Vimball
let vbtabnr= tabpagenr()
else
exe "tabn ".vbtabnr
@@ -195,8 +195,8 @@ fun! vimball#Vimball(really,...)
" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
if v:version < 701 || (v:version == 701 && !exists('*fnameescape'))
echoerr "your vim is missing the fnameescape() function"
" call Dret("vimball#Vimball : needs 7.1 with patch 299")
echoerr "your vim is missing the fnameescape() function (pls upgrade to vim 7.2 or later)"
" call Dret("vimball#Vimball : needs 7.1 with patch 299 or later")
return
endif
@@ -214,7 +214,7 @@ fun! vimball#Vimball(really,...)
" set up vimball tab
" call Decho("setting up vimball tab")
tabnew
silent! file Vimball
sil! file Vimball
let vbtabnr= tabpagenr()
let didhelp= ""
@@ -254,11 +254,10 @@ fun! vimball#Vimball(really,...)
while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g')
" let fsize = getline(linenr+1)+0
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\+\)$','\1','')
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
let filecnt = filecnt + 1
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt. " fenc=".fenc)
if a:really
echomsg "extracted <".fname.">: ".fsize." lines"
@@ -306,20 +305,22 @@ fun! vimball#Vimball(really,...)
let linenr = linenr + 2
let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a")
exe "silent ".linenr.",".lastline."yank a"
" no point in handling a zero-length file
if lastline >= linenr
exe "silent ".linenr.",".lastline."yank a"
" copy "a" buffer into tab
" copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr
setlocal ma
silent! %d
silent put a
1
silent d
exe "tabn ".vbtabnr
setlocal ma
sil! %d
silent put a
1
sil! d
" write tab to file
if a:really
let fnamepath= home."/".fname
" write tab to file
if a:really
let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath))
if fenc != ""
exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
@@ -328,17 +329,18 @@ fun! vimball#Vimball(really,...)
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
endif
endif
" return to tab with vimball
" return to tab with vimball
" call Decho("exe tabn ".curtabnr)
exe "tabn ".curtabnr
exe "tabn ".curtabnr
" set up help if its a doc/*.txt file
" set up help if its a doc/*.txt file
" call Decho("didhelp<".didhelp."> fname<".fname.">")
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
" call Decho("didhelp<".didhelp.">")
endif
endif
" update for next file
@@ -400,7 +402,9 @@ fun! vimball#RmVimball(...)
let curfile= a:1
" call Decho("case a:0=".a:0.": curfile<".curfile.">")
endif
if curfile =~ '\.vba$'
if curfile =~ '\.vmb$'
let curfile= substitute(curfile,'\.vmb','','')
elseif curfile =~ '\.vba$'
let curfile= substitute(curfile,'\.vba','','')
endif
if a:0 >= 2
@@ -418,13 +422,17 @@ fun! vimball#RmVimball(...)
" call Decho(".VimballRecord is readable")
" call Decho("curfile<".curfile.">")
keepalt keepjumps 1split
silent! keepalt keepjumps e .VimballRecord
sil! keepalt keepjumps e .VimballRecord
let keepsrch= @/
" call Decho('search for ^\M'.curfile.'.\m: ')
" call Decho('search for ^\M'.curfile.'.\mvba: ')
" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.vba: ')
" call Decho('search for ^\M'.curfile.'.\m{vba|vmb}: ')
" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.{vba|vmb}: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1
elseif search('^\M'.curfile.".\mvmb: ",'cw')
let foundit= 2
elseif search('^\M'.curfile.'\m[-0-9.]*\.vmb: ','cw')
let foundit= 2
elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1
elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
@@ -433,25 +441,29 @@ fun! vimball#RmVimball(...)
let foundit = 0
endif
if foundit
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
if foundit == 1
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
else
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vmb: ','','')
endif
let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring)
silent! keepalt keepjumps exe exestring
silent! keepalt keepjumps d
sil! keepalt keepjumps exe exestring
sil! keepalt keepjumps d
let exestring= strlen(substitute(exestring,'call delete(.\{-})|\=',"D","g"))
" call Decho("exestring<".exestring.">")
echomsg "removed ".exestring." files"
else
let s:VBRstring= ''
let curfile = substitute(curfile,'\.vba','','')
let curfile = substitute(curfile,'\.vmb','','')
" call Decho("unable to find <".curfile."> in .VimballRecord")
if !exists("s:ok_unablefind")
call vimball#ShowMesg(s:WARNING,"(RmVimball) unable to find <".curfile."> in .VimballRecord")
endif
endif
silent! keepalt keepjumps g/^\s*$/d
silent! keepalt keepjumps wq!
sil! keepalt keepjumps g/^\s*$/d
sil! keepalt keepjumps wq!
let @/= keepsrch
endif
call s:ChgDir(curdir)
@@ -599,7 +611,7 @@ fun! s:RecordInFile(home)
let cmd= expand("%:tr").": "
" call Decho("cmd<".cmd.">")
silent! keepalt keepjumps e .VimballRecord
sil! keepalt keepjumps e .VimballRecord
setlocal ma
$
if exists("s:recordfile") && exists("s:recorddir")
@@ -616,8 +628,8 @@ fun! s:RecordInFile(home)
" put command into buffer, write .VimballRecord `file
keepalt keepjumps put=cmd
silent! keepalt keepjumps g/^\s*$/d
silent! keepalt keepjumps wq!
sil! keepalt keepjumps g/^\s*$/d
sil! keepalt keepjumps wq!
call s:ChgDir(curdir)
if exists("s:recorddir")
@@ -693,10 +705,11 @@ fun! vimball#SaveSettings()
let s:repkeep = &report
let s:vekeep = &ve
let s:ffkeep = &l:ff
let s:swfkeep = &l:swf
if exists("&acd")
setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix
setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
else
setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix
setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
endif
" vimballs should be in unix format
setlocal ff=unix
+16 -27
View File
@@ -1,10 +1,10 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Apr 12, 2010
" Version: 23
" Date: May 24, 2011
" Version: 24
" 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
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -19,7 +19,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v23"
let g:loaded_zip= "v24"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
@@ -103,38 +103,26 @@ fun! zip#Browse(zipfile)
set ft=tar
" give header
let lastline= line("$")
call setline(lastline+1,'" zip.vim version '.g:loaded_zip)
call setline(lastline+2,'" Browsing zipfile '.a:zipfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
$put =''
0d
$
call append(0, ['" zip.vim version '.g:loaded_zip,
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
exe "silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1)
exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".fnameescape(a:zipfile)
exe "keepj r ".fnameescape(a:zipfile)
let &ei= eikeep
1d
keepj 1d
" call Dret("zip#Browse")
return
endif
" call Decho("line 6: ".getline(6))
let namecol= stridx(getline(6),'Name') + 1
" call Decho("namecol=".namecol)
4,$g/^\s*----/d
4,$g/^\s*\a/d
$d
if namecol > 0
exe 'silent 4,$s/^.*\%'.namecol.'c//'
endif
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
@@ -205,11 +193,12 @@ fun! zip#Read(fname,mode)
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1))
exe "silent r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fname,1)
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
filetype detect
" cleanup
0d
keepj 0d
set nomod
let &report= repkeep
+7 -5
View File
@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: ms C#
" Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2004 Mar 27
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2011 Apr 21
if exists("current_compiler")
finish
@@ -12,8 +13,9 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
" default errorformat
CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
" default make
CompilerSet makeprg=csc\ %
+23
View File
@@ -0,0 +1,23 @@
" Compiler: G95
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 2011 Apr 01
" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
" https://bitbucket.org/xuhdev/compiler-g95.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'g95'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%AIn\ file\ %f:%l,
\%-C%p1,
\%-Z%trror:\ %m,
\%-Z%tarning\ (%n):\ %m,
\%-C%.%#
+3 -3
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-05-30
" Latest Revision: 2010-10-14
if exists("current_compiler")
finish
@@ -18,10 +18,10 @@ 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:\ %terror:\ %m,
\%f:%l:%c:\ %trror:\ %m,
\%f:%l:%c:\ %tarning:\ %m,
\%f:%l:%c:\ %m,
\%f:%l:\ %terror:\ %m,
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
+22
View File
@@ -0,0 +1,22 @@
" Compiler: GNU Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 19 March 2011
" Homepage: http://www.vim.org/scripts/script.php?script_id=3496
" https://bitbucket.org/xuhdev/compiler-gfortran.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'gfortran'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%A%f:%l.%c:,
\%-Z%trror:\ %m,
\%-Z%tarning:\ %m,
\%-C%.%#
+22
View File
@@ -0,0 +1,22 @@
" Compiler: Intel Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.1
" Last Change: 19 March 2011
" Homepage: http://www.vim.org/scripts/script.php?script_id=3497
" https://bitbucket.org/xuhdev/compiler-ifort.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'ifort'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%A%f(%l):\ %trror\ \#%n:\ %m,
\%A%f(%l):\ %tarning\ \#%n:\ %m,
\%-Z%p^,
\%-G%.%#
+2 -2
View File
@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.3. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -146,7 +146,7 @@ o Enable Arabic settings [short-cut]
:set arabic
<
The two above noted possible invocations are the preferred manner
in which users are instructed to proceed. Baring an enabled 'termbidi'
in which users are instructed to proceed. Barring an enabled 'termbidi'
setting, both command options:
1. set the appropriate keymap
+22 -2
View File
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.3. Last change: 2010 Jul 22
*autocmd.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -299,6 +299,8 @@ Name triggered by ~
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
|ColorScheme| after loading a color scheme
@@ -446,6 +448,9 @@ BufWriteCmd Before writing the whole buffer to a file.
'modified' if successful, unless '+' is in
'cpo' and writing to another file |cpo-+|.
The buffer contents should not be changed.
When the command resets 'modified' the undo
information is adjusted to mark older undo
states as 'modified', like |:write| does.
|Cmd-event|
*BufWritePost*
BufWritePost After writing the whole buffer to a file
@@ -506,6 +511,7 @@ CursorMoved After the cursor was moved in Normal mode.
not expect or that is slow.
*CursorMovedI*
CursorMovedI After the cursor was moved in Insert mode.
Not triggered when the popup menu is visible.
Otherwise the same as CursorMoved.
*EncodingChanged*
EncodingChanged Fires off after the 'encoding' option has been
@@ -657,6 +663,17 @@ InsertChange When typing <Insert> while in Insert or
indicates the new mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertCharPre*
InsertCharPre When a character is typed in Insert mode,
before inserting the char.
The |v:char| variable indicates the char typed
and can be changed during the event to insert
a different character. When |v:char| is set
to more than one character this text is
inserted literally.
It is not allowed to change the text |textlock|.
The event is not triggered when 'paste' is
set.
*InsertEnter*
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The
@@ -786,7 +803,10 @@ TermChanged After the value of 'term' has changed. Useful
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
can be used to do things depending on the
terminal version.
terminal version. Note that this event may be
triggered halfway executing another event,
especially if file I/O, a shell command or
anything else that takes time is involved.
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
+46 -28
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.3. Last change: 2010 Jul 29
*change.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -522,11 +522,11 @@ comment (starting with '"') after the ":!" command.
={motion} Filter {motion} lines through the external program
given with the 'equalprg' option. When the 'equalprg'
option is empty (this is the default), use the
internal formatting function |C-indenting|. But when
'indentexpr' is not empty, it will be used instead
|indent-expression|. When Vim was compiled without
internal formatting then the "indent" program is used
as a last resort.
internal formatting function |C-indenting| and
|'lisp'|. But when 'indentexpr' is not empty, it will
be used instead |indent-expression|. When Vim was
compiled without internal formatting then the "indent"
program is used as a last resort.
*==*
== Filter [count] lines like with ={motion}.
@@ -690,7 +690,8 @@ reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
pattern from the last substitute or ":global" command. With the [r] flag, the
pattern from the last substitute or ":global" command. If there is none, but
there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command.
@@ -716,11 +717,13 @@ Otherwise it works on whole lines anyway.
*sub-replace-special* *:s\=*
When the {string} starts with "\=" it is evaluated as an expression, see
|sub-replace-expression|. You can use that for any special characters.
|sub-replace-expression|. You can use that for complex replacement or special
characters.
Otherwise these characters in {string} have a special meaning:
*:s%*
When {string} is equal to "%" and '/' is included with the 'cpoptions' option,
then the {string} of the previous substitute command is used. |cpo-/|
then the {string} of the previous substitute command is used, see |cpo-/|
magic nomagic action ~
& \& replaced with the whole matched pattern *s/\&*
@@ -755,6 +758,14 @@ magic nomagic action ~
\x where x is any character not mentioned above:
Reserved for future expansion
The special meaning is also used inside the third argument {sub} of
the |substitute()| function with the following exceptions:
- A % inserts a percent literally without regard to 'cpoptions'.
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
- \<CR> does not have a special meaning. it's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
:s/\([abc]\)\([efg]\)/\2\1/g modifies "af fa bg" to "fa fa gb"
@@ -786,17 +797,19 @@ either the first or second pattern in parentheses did not match, so either
Substitute with an expression *sub-replace-expression*
*sub-replace-\=*
When the substitute string starts with "\=" the remainder is interpreted as an
expression. This does not work recursively: a substitute() function inside
expression. This does not work recursively: a |substitute()| function inside
the expression cannot use "\=" for the substitute string.
The special meaning for characters as mentioned at |sub-replace-special| does
not apply except for "<CR>", "\<CR>" and "\\". Thus in the result of the
expression you need to use two backslashes to get one, put a backslash before a
<CR> you want to insert, and use a <CR> without a backslash where you want to
break the line.
not apply except for "<CR>". A <NL> character is used as a line break, you
can get one with a double-quote string: "\n". Prepend a backslash to get a
real <NL> character (which will be a NUL in the file).
For convenience a <NL> character is also used as a line break. Prepend a
backslash to get a real <NL> character (which will be a NUL in the file).
The "\=" notation can also be used inside the third argument {sub} of
|substitute()| function. In this case, the special meaning for characters as
mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
<NL> are interpreted not as a line break but as a carriage-return and a
new-line respectively.
When the result is a |List| then the items are joined with separating line
breaks. Thus each item becomes a line, except that they can contain line
@@ -916,8 +929,10 @@ inside of strings can change! Also see 'softtabstop' option. >
{Visual}["x]Y Yank the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
*:y* *:yank*
:[range]y[ank] [x] Yank [range] lines [into register x].
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
"* or "+ registers is possible only when the
|+clipboard| feature is included.
:[range]y[ank] [x] {count}
Yank {count} lines, starting with last line number
@@ -1387,16 +1402,19 @@ before typing anything else on the new line. This will replace the
middle-comment leader with the end-comment leader and apply any specified
alignment, leaving just " */". There is no need to hit BackSpace first.
When there is a match with a middle part, but there also is a maching end part
which is longer, the end part is used. This makes a C style comment work
without requiring the middle part to end with a space.
Here is an example of alignment flags at work to make a comment stand out
(kind of looks like a 1 too). Consider comment string >
sr:/***,m:**,ex2:******/
/***
**<--right aligned from "r" flag
**
offset 2 spaces from the "2" flag--->**
******/
(kind of looks like a 1 too). Consider comment string: >
:set comments=sr:/***,m:**,ex-2:******/
<
/*** ~
**<--right aligned from "r" flag ~
** ~
offset 2 spaces for the "-2" flag--->** ~
******/ ~
In this case, the first comment was typed, then return was pressed 4 times,
then "/" was pressed to end the comment.
@@ -1414,8 +1432,8 @@ Reindenting using a different method like |gq| or |=| will not consult
alignment flags either. The same behaviour can be defined in those other
formatting options. One consideration is that 'cindent' has additional options
for context based indenting of comments but cannot replicate many three piece
indent alignments. However, 'indentexpr' is has the ability to work better
with three piece comments.
indent alignments. However, 'indentexpr' has the ability to work better with
three piece comments.
Other examples: >
"b:*" Includes lines starting with "*", but not if the "*" is
+31 -26
View File
@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.3. Last change: 2010 May 07
*cmdline.txt* For Vim version 7.3. Last change: 2011 Mar 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -83,9 +83,9 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
CTRL-Q Same as CTRL-V. But with some terminals it is used for
control flow, it doesn't work then.
*c_<Left>*
*c_<Left>* *c_Left*
<Left> cursor left
*c_<Right>*
*c_<Right>* *c_Right*
<Right> cursor right
*c_<S-Left>*
<S-Left> or <C-Left> *c_<C-Left>*
@@ -93,18 +93,18 @@ CTRL-Q Same as CTRL-V. But with some terminals it is used for
*c_<S-Right>*
<S-Right> or <C-Right> *c_<C-Right>*
cursor one WORD right
CTRL-B or <Home> *c_CTRL-B* *c_<Home>*
CTRL-B or <Home> *c_CTRL-B* *c_<Home>* *c_Home*
cursor to beginning of command-line
CTRL-E or <End> *c_CTRL-E* *c_<End>*
CTRL-E or <End> *c_CTRL-E* *c_<End>* *c_End*
cursor to end of command-line
*c_<LeftMouse>*
<LeftMouse> Move the cursor to the position of the mouse click.
CTRL-H *c_<BS>* *c_CTRL-H*
CTRL-H *c_<BS>* *c_CTRL-H* *c_BS*
<BS> Delete the character in front of the cursor (see |:fixdel| if
your <BS> key does not do what you want).
*c_<Del>*
*c_<Del>* *c_Del*
<Del> Delete the character under the cursor (at end of line:
character before the cursor) (see |:fixdel| if your <Del>
key does not do what you want).
@@ -118,7 +118,7 @@ CTRL-U Remove all characters between the cursor position and
preferred behavior, add the following to your .vimrc: >
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>*
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
{char1} <BS> {char2} or *c_digraph*
@@ -224,9 +224,9 @@ CTRL-Y When there is a modeless selection, copy the selection into
the clipboard. |modeless-selection|
If there is no selection CTRL-Y is inserted as a character.
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>*
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
<CR> or <NL> start entered command
*c_<Esc>*
*c_<Esc>* *c_Esc*
<Esc> When typed and 'x' not present in 'cpoptions', quit
Command-line mode without executing. In macros or when 'x'
present in 'cpoptions', start entered command.
@@ -235,12 +235,12 @@ CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>*
*c_CTRL-C*
CTRL-C quit command-line without executing
*c_<Up>*
*c_<Up>* *c_Up*
<Up> recall older command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
feature}
*c_<Down>*
*c_<Down>* *c_Down*
<Down> recall more recent command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
@@ -372,10 +372,10 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled with the |+cmdline_compl| feature disabled, only file
names, directories and help items can be completed. The number of help item
matches is limited (currently to 300) to avoid a long delay when there are
very many matches.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
These are the commands that can be used:
@@ -423,7 +423,8 @@ CTRL-L A match is done on the pattern in front of the cursor. If
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>
@@ -781,30 +782,34 @@ it, no matter how many backslashes.
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
*E495* *E496* *E497* *E498* *E499* *E500*
*<slnum>* *E495* *E496* *E497* *E499* *E500*
Note: these are typed literally, they are not special keys!
<cword> is replaced with the word under the cursor (like |star|)
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
<cfile> is replaced with the path name under the cursor (like what
|gf| uses)
<afile> when executing autocommands, is replaced with the file name
for a file read or write
<abuf> when executing autocommands, is replaced with the currently
<afile> When executing autocommands, is replaced with the file name
for a file read or write.
<abuf> When executing autocommands, is replaced with the currently
effective buffer number (for ":r file" and ":so file" it is
the current buffer, the file being read/sourced is not in a
buffer).
<amatch> when executing autocommands, is replaced with the match for
<amatch> When executing autocommands, is replaced with the match for
which this autocommand was executed. It differs from
<afile> only when the file name isn't used to match with
(for FileType, Syntax and SpellFileMissing events).
<sfile> when executing a ":source" command, is replaced with the
file name of the sourced file;
when executing a function, is replaced with
<sfile> When executing a ":source" command, is replaced with the
file name of the sourced file. *E498*
When executing a function, is replaced with
"function {function-name}"; function call nesting is
indicated like this:
"function {function-name1}..{function-name2}". Note that
filename-modifiers are useless when <sfile> is used inside
a function.
<slnum> When executing a ":source" command, is replaced with the
line number. *E842*
When executing a function it's the line number relative to
the start of the function.
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
@@ -860,7 +865,7 @@ These modifiers can be given, in this order:
After this, the previous modifiers can be used again. For
example ":p", to make a full path after the substitution.
:gs?pat?sub?
Substitute all occurrences of "path" with "sub". Otherwise
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
Examples, when the file name is "src/version.c", current dir
+9 -8
View File
@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.3. Last change: 2010 Jul 20
*debug.txt* For Vim version 7.3. Last change: 2010 Dec 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -21,8 +21,9 @@ When Vim crashes in one of the test files, and you are using gcc for
compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
which you can uncomment).
1. Compile Vim with the "-g" option (there is a line in the src/Makefile for
this, 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
@@ -67,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
@@ -89,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
@@ -123,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.
@@ -149,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.
@@ -161,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
+9 -7
View File
@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2010 Jul 31
*diff.txt* For Vim version 7.3. Last change: 2011 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -167,8 +167,8 @@ in diff mode in one window and "normal" in another window. It is also
possible to view the changes you have made to a buffer since the file was
loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
between the current buffer and the file it was loaded from.
@@ -261,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
@@ -371,9 +373,9 @@ get an error message. Possible causes:
If it's not clear what the problem is set the 'verbose' option to one or more
to see more messages.
The self-installing Vim includes a diff program. If you don't have it you
might want to download a diff.exe. For example from
http://jlb.twu.net/code/unixkit.php.
The self-installing Vim for MS-Windows includes a diff program. If you don't
have it you might want to download a diff.exe. For example from
http://gnuwin32.sourceforge.net/packages/diffutils.htm.
USING PATCHES *diff-patchexpr*
+1231 -98
View File
File diff suppressed because it is too large Load Diff
+23 -13
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2010 Jul 28
*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -276,10 +276,11 @@ If you want to keep the changed buffer without saving it, switch on the
'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file (equivalent to ":e #").
Mostly the alternate file is the previously edited
file. This is a quick way to toggle between two
files.
CTRL-^ Edit the alternate file. Mostly the alternate file is
the previously edited file. This is a quick way to
toggle between two files. It is equivalent to ":e #",
except that it also works when there is no file name.
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
@@ -984,6 +985,11 @@ explanation of when the copy is made and when the file is renamed.
If the creation of a backup file fails, the write is not done. If you want
to write anyway add a '!' to the command.
*write-permissions*
When writing a new file the permissions are read-write. For unix the mask is
0666 with additionally umask applied. When writing a file that was read Vim
will preserve the permissions, but clear the s-bit.
*write-readonly*
When the 'cpoptions' option contains 'W', Vim will refuse to overwrite a
readonly file. When 'W' is not present, ":w!" will overwrite a readonly file,
@@ -1340,7 +1346,7 @@ 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*
The text in the swap file and the undo file is also encrypted.
The text in the swap file and the undo file is also encrypted. *E843*
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
@@ -1382,6 +1388,8 @@ To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
The message given for reading and writing a file will show "[crypted]" when
using zip, "[blowfish]" when using blowfish.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
@@ -1431,13 +1439,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.
+158 -89
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2010 Aug 15
*eval.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,7 +39,7 @@ done, the features in this document are not available. See |+eval| and
*E712*
There are six types of variables:
Number A 32 bit signed number. |expr-number| *Number*
Number A 32 or 64 bit signed number. |expr-number| *Number*
Examples: -123 0x10 0177
Float A floating point number. |floating-point-format| *Float*
@@ -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
@@ -721,7 +721,8 @@ if it evaluates to true.
*expr-<#* *expr-<=#* *expr-=~#* *expr-!~#*
*expr-==?* *expr-!=?* *expr->?* *expr->=?*
*expr-<?* *expr-<=?* *expr-=~?* *expr-!~?*
*expr-is*
*expr-is* *expr-isnot* *expr-is#* *expr-isnot#*
*expr-is?* *expr-isnot?*
use 'ignorecase' match case ignore case ~
equal == ==# ==?
not equal != !=# !=?
@@ -731,8 +732,8 @@ smaller than < <# <?
smaller than or equal <= <=# <=?
regexp matches =~ =~# =~?
regexp doesn't match !~ !~# !~?
same instance is
different instance isnot
same instance is is# is?
different instance isnot isnot# isnot?
Examples:
"abc" ==# "Abc" evaluates to 0
@@ -753,12 +754,14 @@ recursively. Ignoring case means case is ignored when comparing item values.
A |Funcref| can only be compared with a |Funcref| and only "equal" and "not
equal" can be used. Case is never ignored.
When using "is" or "isnot" with a |List| this checks if the expressions are
referring to the same |List| instance. A copy of a |List| is different from
the original |List|. When using "is" without a |List| it is equivalent to
using "equal", using "isnot" equivalent to using "not equal". Except that a
different type means the values are different. "4 == '4'" is true, "4 is '4'"
is false.
When using "is" or "isnot" with a |List| or a |Dictionary| this checks if the
expressions are referring to the same |List| or |Dictionary| instance. A copy
of a |List| is different from the original |List|. When using "is" without
a |List| or a |Dictionary| it is equivalent to using "equal", using "isnot"
equivalent to using "not equal". Except that a different type means the
values are different: "4 == '4'" is true, "4 is '4'" is false and "0 is []" is
false and not a error. "is#"/"isnot#" and "is?"/"isnot?" can be used to match
and ignore case.
When comparing a String with a Number, the String is converted to a Number,
and the comparison is done on Numbers. This means that "0 == 'x'" is TRUE,
@@ -1115,8 +1118,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|.
@@ -1286,11 +1289,14 @@ v:beval_text The text under or after the mouse pointer. Usually a word as
*v:beval_winnr* *beval_winnr-variable*
v:beval_winnr The number of the window, over which the mouse pointer is. Only
valid while evaluating the 'balloonexpr' option.
valid while evaluating the 'balloonexpr' option. The first
window has number zero (unlike most other places where a
window gets a number).
*v:char* *char-variable*
v:char Argument for evaluating 'formatexpr' and used for the typed
character when using <expr> in an abbreviation |:map-<expr>|.
It is also used by the |InsertCharPre| event.
*v:charconvert_from* *charconvert_from-variable*
v:charconvert_from
@@ -1542,8 +1548,11 @@ v:progname Contains the name (with path removed) with which Vim was
Read-only.
*v:register* *register-variable*
v:register The name of the register supplied to the last normal mode
command. Empty if none were supplied. |getreg()| |setreg()|
v:register The name of the register in effect for the current normal mode
command. If none is supplied it is the default register '"',
unless 'clipboard' contains "unnamed" or "unnamedplus", then
it is '*' or '+'.
Also see |getreg()| and |setreg()|
*v:scrollstart* *scrollstart-variable*
v:scrollstart String describing the script or function that caused the
@@ -1657,6 +1666,15 @@ 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.
When an MS-Windows GUI is running this will be set to the
window handle.
Otherwise the value is zero.
Note: for windows inside Vim use |winnr()|.
==============================================================================
4. Builtin Functions *functions*
@@ -1822,7 +1840,7 @@ 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}
@@ -1904,14 +1922,15 @@ shellescape( {string} [, {special}])
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
sort( {list} [, {func} [, {dict}]])
List sort {list}, using {func} to compare
soundfold( {word}) String sound-fold {word}
spellbadword() String badly spelled word at cursor
spellsuggest( {word} [, {max} [, {capital}]])
List spelling suggestions
split( {expr} [, {pat} [, {keepempty}]])
List make |List| from {pat} separated {expr}
sqrt( {expr} Float squar root of {expr}
sqrt( {expr}) Float square 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}
@@ -1927,13 +1946,14 @@ 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"
submatch( {nr}) String specific match in ":s" or substitute()
substitute( {expr}, {pat}, {sub}, {flags})
String all {pat} in {expr} replaced with {sub}
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
@@ -1949,7 +1969,7 @@ 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}
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
@@ -2257,7 +2277,8 @@ char2nr({expr}) *char2nr()*
< The current 'encoding' is used. Example for "utf-8": >
char2nr("á") returns 225
char2nr("á"[0]) returns 195
< |nr2char()| does the opposite.
< A combining character is a separate character.
|nr2char()| does the opposite.
cindent({lnum}) *cindent()*
Get the amount of indent for line {lnum} according the C
@@ -2710,7 +2731,7 @@ exp({expr}) *exp()*
expand({expr} [, {flag}]) *expand()*
Expand wildcards and the following special keywords in {expr}.
The result is a String.
The result is a String. 'wildignorecase' applies.
When there are several matches, they are separated by <NL>
characters. [Note: in version 5.0 a space was used, which
@@ -2731,6 +2752,7 @@ expand({expr} [, {flag}]) *expand()*
<abuf> autocmd buffer number (as a String!)
<amatch> autocmd matched name
<sfile> sourced script file name
<slnum> sourced script file line number
<cword> word under the cursor
<cWORD> WORD under the cursor
<client> the {clientid} of the last received
@@ -3424,6 +3446,7 @@ glob({expr} [, {flag}]) *glob()*
the 'suffixes' and 'wildignore' options apply: Names matching
one of the patterns in 'wildignore' will be skipped and
'suffixes' affect the ordering of matches.
'wildignorecase' always applies.
If the expansion fails, the result is an empty string.
A name for a non-existing file is not included.
@@ -3966,23 +3989,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 not 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
(|mapmode-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
@@ -4031,6 +4082,7 @@ match({expr}, {pat}[, {start}[, {count}]]) *match()*
{pat} matches.
A match at the first character or |List| item returns zero.
If there is no match -1 is returned.
For getting submatches see |matchlist()|.
Example: >
:echo match("testing", "ing") " results in 4
:echo match([1, 'x'], '\a') " results in 1
@@ -5228,7 +5280,7 @@ sinh({expr}) *sinh()*
{only available when compiled with the |+float| feature}
sort({list} [, {func}]) *sort()* *E702*
sort({list} [, {func} [, {dict}]]) *sort()* *E702*
Sort the items in {list} in-place. Returns {list}. If you
want a list to remain unmodified make a copy first: >
:let sortedlist = sort(copy(mylist))
@@ -5236,6 +5288,8 @@ sort({list} [, {func}]) *sort()* *E702*
Numbers sort after Strings, |Lists| after Numbers.
For sorting text in the current buffer use |:sort|.
When {func} is given and it is one then case is ignored.
{dict} is for functions with the "dict" attribute. It will be
used to set the local variable "self". |Dictionary-function|
When {func} is a |Funcref| or a function name, this function
is called to compare items. The function is invoked with two
items as argument and must return zero if they are equal, 1 or
@@ -5416,8 +5470,8 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
{haystack} of the first occurrence of the String {needle}.
If {start} is specified, the search starts at index {start}.
This can be used to find a second match: >
:let comma1 = stridx(line, ",")
:let comma2 = stridx(line, ",", comma1 + 1)
:let colon1 = stridx(line, ":")
:let colon2 = stridx(line, ":", colon1 + 1)
< The search is done case-sensitive.
For pattern searches use |match()|.
-1 is returned if the {needle} does not occur in {haystack}.
@@ -5507,9 +5561,11 @@ strwidth({expr}) *strwidth()*
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
the whole matched text is returned.
Only for an expression in a |:substitute| command or
substitute() function.
Returns the {nr}'th submatch of the matched text. When {nr}
is 0 the whole matched text is returned.
Also see |sub-replace-expression|.
Example: >
:s/\d\+/\=submatch(0) + 1/
< This finds the first number in the line and adds one to it.
@@ -5517,26 +5573,35 @@ submatch({nr}) *submatch()*
substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
The result is a String, which is a copy of {expr}, in which
the first match of {pat} is replaced with {sub}. This works
like the ":substitute" command (without any flags). But the
matching with {pat} is always done like the 'magic' option is
set and 'cpoptions' is empty (to make scripts portable).
'ignorecase' is still relevant. 'smartcase' is not used.
See |string-match| for how {pat} is used.
And a "~" in {sub} is not replaced with the previous {sub}.
the first match of {pat} is replaced with {sub}.
When {flags} is "g", all matches of {pat} in {expr} are
replaced. Otherwise {flags} should be "".
This works like the ":substitute" command (without any flags).
But the matching with {pat} is always done like the 'magic'
option is set and 'cpoptions' is empty (to make scripts
portable). 'ignorecase' is still relevant. 'smartcase' is
not used. See |string-match| for how {pat} is used.
A "~" in {sub} is not replaced with the previous {sub}.
Note that some codes in {sub} have a special meaning
|sub-replace-special|. For example, to replace something with
"\n" (two characters), use "\\\\n" or '\\n'.
When {pat} does not match in {expr}, {expr} is returned
unmodified.
When {flags} is "g", all matches of {pat} in {expr} are
replaced. Otherwise {flags} should be "".
Example: >
:let &path = substitute(&path, ",\\=[^,]*$", "", "")
< This removes the last component of the 'path' option. >
:echo substitute("testing", ".*", "\\U\\0", "")
< results in "TESTING".
When {sub} starts with "\=", the remainder is interpreted as
an expression. See |sub-replace-expression|. Example: >
:echo substitute(s, '%\(\x\x\)',
\ '\=nr2char("0x" . submatch(1))', 'g')
synID({lnum}, {col}, {trans}) *synID()*
The result is a Number, which is the syntax ID at the position
{lnum} and {col} in the current window.
@@ -5558,20 +5623,6 @@ synID({lnum}, {col}, {trans}) *synID()*
:echo synIDattr(synID(line("."), col("."), 1), "name")
<
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 .
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
@@ -5612,6 +5663,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
@@ -5904,7 +5969,7 @@ virtcol({expr}) *virtcol()*
When 'virtualedit' is used {expr} can be [lnum, col, off], where
"off" is the offset in screen columns from the start of the
character. E.g., a position within a <Tab> or after the last
character.
character. When "off" is omitted zero is used.
When Virtual editing is active in the current mode, a position
beyond the end of the line can be returned. |'virtualedit'|
The accepted positions are:
@@ -6093,17 +6158,17 @@ cmdline_compl Compiled with |cmdline-completion| support.
cmdline_hist Compiled with |cmdline-history| support.
cmdline_info Compiled with 'showcmd' and 'ruler' support.
comments Compiled with |'comments'| support.
compatible Compiled to be very Vi compatible.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
compatible Compiled to be very Vi compatible.
debug Compiled with "DEBUG" defined.
dialog_con Compiled with console dialog support.
dialog_gui Compiled with GUI dialog support.
diff Compiled with |vimdiff| and 'diff' support.
digraphs Compiled with support for digraphs.
dnd Compiled with support for the "~ register |quote_~|.
dos32 32 bits DOS (DJGPP) version of Vim.
dos16 16 bits DOS version of Vim.
dos32 32 bits DOS (DJGPP) version of Vim.
ebcdic Compiled on a machine with ebcdic character set.
emacs_tags Compiled with support for Emacs tags.
eval Compiled with expression evaluation support. Always
@@ -6127,16 +6192,16 @@ fullscreen Compiled with 'fullscreen' support.
gettext Compiled with message translation |multi-lang|
gui Compiled with GUI enabled.
gui_athena Compiled with Athena GUI.
gui_gnome Compiled with Gnome support (gui_gtk is also defined).
gui_gtk Compiled with GTK+ GUI (any version).
gui_gtk2 Compiled with GTK+ 2 GUI (gui_gtk is also defined).
gui_gnome Compiled with Gnome support (gui_gtk is also defined).
gui_mac Compiled with Macintosh GUI.
gui_macvim Compiled with MacVim GUI.
gui_motif Compiled with Motif GUI.
gui_photon Compiled with Photon GUI.
gui_running Vim is running in the GUI, or it will start soon.
gui_win32 Compiled with MS Windows Win32 GUI.
gui_win32s idem, and Win32s system being used (Windows 3.1)
gui_running Vim is running in the GUI, or it will start soon.
hangul_input Compiled with Hangul input support. |hangul|
iconv Can use iconv() for conversion.
insert_expand Compiled with support for CTRL-X expansion commands in
@@ -6158,31 +6223,31 @@ menu Compiled with support for |:menu|.
mksession Compiled with support for |:mksession|.
modify_fname Compiled with file name modifiers. |filename-modifiers|
mouse Compiled with support mouse.
mouseshape Compiled with support for 'mouseshape'.
mouse_dec Compiled with support for Dec terminal mouse.
mouse_gpm Compiled with support for gpm (Linux console mouse)
mouse_netterm Compiled with support for netterm mouse.
mouse_pterm Compiled with support for qnx pterm mouse.
mouse_sysmouse Compiled with support for sysmouse (*BSD console mouse)
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.
multi_byte Compiled with support for 'encoding'
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
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 connected.
netbeans_intg Compiled with support for |netbeans|.
odbeditor Compiled with |odbeditor| support.
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.
python Compiled with Python interface.
python Compiled with Python 2.x interface. |has-python|
python3 Compiled with Python 3.x interface. |has-python|
qnx QNX version of Vim.
quickfix Compiled with |quickfix| support.
reltime Compiled with |reltime()| support.
@@ -6193,11 +6258,11 @@ showcmd Compiled with 'showcmd' support.
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
sniff Compiled with SNiFF interface support.
spell Compiled with spell checking support |spell|.
startuptime Compiled with |--startuptime| support.
statusline Compiled with support for 'statusline', 'rulerformat'
and special formats of 'titlestring' and 'iconstring'.
sun_workshop Compiled with support for Sun |workshop|.
spell Compiled with spell checking support |spell|.
syntax Compiled with syntax highlighting support |syntax|.
syntax_items There are active syntax highlighting items for the
current buffer.
@@ -6219,9 +6284,9 @@ toolbar Compiled with support for |gui-toolbar|.
transparency Compiled with 'transparency' support.
unix Unix version of Vim.
user_commands User-defined commands.
viminfo Compiled with viminfo support.
vim_starting True while initial source'ing takes place.
vertsplit Compiled with vertically split windows |:vsplit|.
vim_starting True while initial source'ing takes place. |startup|
viminfo Compiled with viminfo support.
virtualedit Compiled with 'virtualedit' option.
visual Compiled with Visual mode.
visualextra Compiled with extra Visual mode commands.
@@ -6230,13 +6295,14 @@ vms VMS version of Vim.
vreplace Compiled with |gR| and |gr| commands.
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
windows Compiled with support for more than one window.
winaltkeys Compiled with 'winaltkeys' option.
win16 Win16 version of Vim (MS-Windows 3.1).
win32 Win32 version of Vim (MS-Windows 95/98/ME/NT/2000/XP).
win64 Win64 version of Vim (MS-Windows 64 bit).
win32 Win32 version of Vim (MS-Windows 95 and later, 32 or
64 bits)
win32unix Win32 version of Vim, using Unix files (Cygwin)
win64 Win64 version of Vim (MS-Windows 64 bit).
win95 Win32 version for MS-Windows 95/98/ME.
winaltkeys Compiled with 'winaltkeys' option.
windows Compiled with support for more than one window.
writebackup Compiled with 'writebackup' default on.
xfontset Compiled with X fontset support |xfontset|.
xim Compiled with X input method support |xim|.
@@ -6745,7 +6811,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*
@@ -7031,7 +7098,9 @@ This would call the function "my_func_whizz(parameter)".
is terminated.
Example: >
:try | throw "oops" | catch /^oo/ | echo "caught" | endtry
<
< Note that "catch" may need to be on a separate line
for when an error causes the parsing to skip the whole
line and not see the "|" that separates the commands.
*:ec* *:echo*
:ec[ho] {expr1} .. Echoes each {expr1}, with a space in between. The
+4 -3
View File
@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.3. Last change: 2008 Jul 15
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -270,6 +270,9 @@ directories!
*autocmd-osfiletypes*
NOTE: this code is currently disabled, as the RISC OS implementation was
removed. In the future this will use the 'filetype' option.
On operating systems which support storing a file type with the file, you can
specify that an autocommand should only be executed if the file is of a
certain type.
@@ -296,8 +299,6 @@ must both match): >
This will match files of type "&fff" whose names start with "diff".
Note that osfiletype checking is skipped if Vim is compiled without the
|+osfiletype| feature.
*plugin-details*
The "plugin" directory can be in any of the directories in the 'runtimepath'
+1 -1
View File
@@ -60,7 +60,7 @@ level form a fold, with the lines with a higher level forming a nested fold.
The nesting of folds is limited with 'foldnestmax'.
Some lines are ignored and get the fold level of the line above or below it,
whatever is the lowest. These are empty or white lines and lines starting
whichever is lower. These are empty or white lines and lines starting
with a character in 'foldignore'. White space is skipped before checking for
characters in 'foldignore'. For C use "#" to ignore preprocessor lines.
+11 -11
View File
@@ -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 ~
@@ -139,7 +139,7 @@ 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
@@ -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*
@@ -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
+30 -21
View File
@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 May 14
*gui.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,6 +147,15 @@ task bar with the 'guiheadroom' option.
If you are running the X Window System, you can get information about the
window Vim is running in with this command: >
:!xwininfo -id $WINDOWID
<
*gui-IME* *iBus*
Input methods for international characters in X that rely on the XIM
framework, most notably iBus, have been known to produce undesirable results
in gVim. These may include an inability to enter spaces, or long delays
between typing a character and it being recognized by the application.
One workaround that has been successful, for unknown reasons, is to prevent
gvim from forking into the background by starting it with the |-f| argument.
==============================================================================
2. Scrollbars *gui-scrollbars*
@@ -156,26 +165,26 @@ configure which ones appear with the 'guioptions' option.
The interface looks like this (with ":set guioptions=mlrb"):
+------------------------------+
| File Edit Help | <- Menu bar (m)
+-+--------------------------+-+
|^| |^|
|#| Text area. |#|
| | | |
|v|__________________________|v|
Normal status line -> |-+ File.c 5,2 +-|
between Vim windows |^|""""""""""""""""""""""""""|^|
| | | |
| | Another file buffer. | |
| | | |
|#| |#|
Left scrollbar (l) -> |#| |#| <- Right
|#| |#| scrollbar (r)
| | | |
|v| |v|
+-+--------------------------+-+
| |< #### >| | <- Bottom
+-+--------------------------+-+ scrollbar (b)
+------------------------------+ `
| File Edit Help | <- Menu bar (m) `
+-+--------------------------+-+ `
|^| |^| `
|#| Text area. |#| `
| | | | `
|v|__________________________|v| `
Normal status line -> |-+ File.c 5,2 +-| `
between Vim windows |^|""""""""""""""""""""""""""|^| `
| | | | `
| | Another file buffer. | | `
| | | | `
|#| |#| `
Left scrollbar (l) -> |#| |#| <- Right `
|#| |#| scrollbar (r) `
| | | | `
|v| |v| `
+-+--------------------------+-+ `
| |< #### >| | <- Bottom `
+-+--------------------------+-+ scrollbar (b) `
Any of the scrollbar or menu components may be turned off by not putting the
appropriate letter in the 'guioptions' string. The bottom scrollbar is
+79 -31
View File
@@ -1,4 +1,4 @@
*gui_mac.txt* For Vim version 7.3. Last change: 2010 Aug 1
*gui_mac.txt* For Vim version 7.3. Last change: 2010 Dec 28
VIM REFERENCE MANUAL by Bjorn Winckler
@@ -16,9 +16,10 @@ The MacVim Graphical User Interface *macvim* *gui-macvim*
8. System services |macvim-services|
9. mvim:// URL handler |macvim-url-handler|
10. Keyboard shortcuts |macvim-shortcuts|
11. International |macvim-international|
12. Known bugs/missing features |macvim-todo|
13. Hints |macvim-hints|
11. Trackpad gestures |macvim-gestures|
12. International |macvim-international|
13. Known bugs/missing features |macvim-todo|
14. Hints |macvim-hints|
Other relevant documentation:
|gui.txt| For generic items of the GUI.
@@ -171,6 +172,8 @@ time you start MacVim, you could create an alias such as >
alias gvim='/Applications/MacVim.app/Contents/MacOS/Vim -g'
and add that to "~/.profile".
Note: Do NOT call the MacVim binary inside the app bundle to start MacVim.
*mvim*
A more flexible way to start MacVim is to use the shell script "mvim" which
comes bundled with MacVim. Put this script in a folder in your path and then
@@ -209,13 +212,15 @@ pressed. This feature can be enabled from the Advanced preferences pane (it
is disabled by default). Note that this setting does not affect the speed
with which windows open when using the |mvim| command.
The main reason why this feature is not enabled by default is because on OS X
10.4 changes to runtime files (e.g. those in "~/.vim") are not detected. For
example, if you install a new plugin and then press <D-n> to open a new
window, then that first window will not notice the plugin (but any consecutive
windows after the first one will). On OS X 10.5 and later all modifications
to runtime files in "~/.vim" are detected, so unless you keep runtime files in
another folder there should be no problems.
Note that any changes to runtime files that are kept in a non-standard
location (i.e. not in ~/.vim) will not be picked up for the first window that
opens after any changes. Also, there are some issues related to reading and
writing of the |viminfo| file which can lead to the command line history
appearing to be lost (as well as any other information stored in the |viminfo|
file). For example, if you open a window, edit some files then close the
window, then the next window that opens will not have the same command line
history as the window you just closed (however the next window you open will).
For these reasons Quickstart is disabled by default.
*odbeditor* *external-editor*
MacVim can act as an 'external editor' for Mac OS X applications that support
@@ -233,8 +238,8 @@ is sent back to the server application.
3. Preferences *macvim-prefs* *macvim-preferences*
Some settings are global to the MacVim application and would not make sense as
Vim options. These settings are stored in a user default database and can be
accessed via the "MacVim.Preferences..." menu item.
Vim options. These settings are stored in the user defaults database and can
be accessed via the "MacVim.Preferences..." menu item.
*macvim-user-defaults*
Not all entries in the user defaults database are exposed via the preference
@@ -501,24 +506,20 @@ outline.
==============================================================================
8. System services *macvim-services*
MacVim supports a few system services. These can be accessed from the MacVim
submenu in the Services menu. For services to work, MacVim.app should be
located in the /Applications folder. (You might have to logout and then login
again before Mac OS X detects the MacVim services.)
MacVim supports two system services. These can be accessed from the MacVim
submenu in the Services menu or by right-clicking a selection. For services
to work, MacVim.app should be located in the /Applications folder. (You might
have to logout and then login again before Mac OS X detects the MacVim
services.)
These are the currently supported services:
* New Document Containing Selection: Open a new window and paste the
* New MacVim Buffer With Selection: Create a new buffer and paste the
currently selected text.
* New Document Here: Open a new window and set the current directory
to that of the selected text. This is intended to be used from a
Finder window to open an empty document in the currently selected
folder.
* Open Selected File: If the selected text represents a file name,
then the corresponding file is opened in a new window.
* New MacVim Buffer Here: Create a new buffer and set the current
directory to the file or folder that is selected in the Finder.
If new files are set to open in the current window (in the General preference
pane) then the above services will also reuse the topmost window, instead of
opening a new window.
The services respect the "Open files from applications" setting in the general
preferences.
==============================================================================
9. mvim:// URL handler *mvim://* *macvim-url-handler*
@@ -546,7 +547,8 @@ Note that url has to be a file:// url pointing to an existing local file.
Most keyboard shortcuts in MacVim are bound to menu items and can be
discovered by looking through the menus (see |macvim-menus| on how to create
your own menu shortcuts). The remaining shortcuts are listed here:
your own menu shortcuts, see |cmd-key| on how to map your own commands to
Cmd-key shortcuts). The remaining shortcuts are listed here:
*Cmd-.* *<D-.>*
Cmd-. Interrupt Vim. Unlike Ctrl-C which is sent as normal
@@ -605,8 +607,54 @@ equivalents which are not set up with :map).
See |macvim-shift-movement| if you want Shift to select text when used in
conjunction with the above Cmd/Alt movement shortcuts.
*cmd-key* *cmd-shortcuts*
Creating key mappings that involve the Cmd key (<D-..> in Vim notation) can
sometimes be slightly involved. Here are all the things you need to consider:
- Make sure the shortcut is not used by a menu item by looking through the
menus. If it is then you need to unbind it before you can map to it. This
is described under the help for the |:macmenu| command.
- Bindings to <D-..> are case sensitive: <D-d> is not the same as <D-D>. If
you want to map something to Cmd+Shift+d, then you need to use <D-D>, not
<D-S-d> or <D-S-D>.
- Some command key shortcuts are reserved by Mac OS X and cannot be mapped to
(e.g. <D-Tab>). However, some of these shortcuts can be freed up in the
System Preferences under Keyboard (e.g. Cmd+Space).
- A few command key mappings are set up by MacVim, see |cmd-movement|.
==============================================================================
11. International *macvim-international*
11. Trackpad gestures *macvim-gestures*
MacVim supports trackpad swipe gestures. By default this can be used to
navigate back/forward in the help (try it!).
Each gesture generates one of the following Vim pseudo keys:
*<SwipeLeft>* *<SwipeRight>*
Generated when swiping three fingers across the trackpad in a
horizontal direction. The Apple Magic Mouse generates these
events when swiping two fingers in a horizontal direction.
*<SwipeUp>* *<SwipeDown>*
Generated when swiping three fingers across the trackpad in a
vertical direction. (Not supported by the Apple Magic Mouse.)
You can map these keys like with any other key using the |:map| family of
commands. For example, the following commands map left/right swipe to change
to the previous/next tab in normal mode: >
nmap <SwipeLeft> gT
nmap <SwipeRight> gt
As another example, here is how to switch buffers by swiping left/right: >
nmap <SwipeLeft> :bN<CR>
nmap <SwipeRight> :bn<CR>
See the section on |key-mapping| for more help on how to map keys.
==============================================================================
12. International *macvim-international*
When editing non-English text it may be convenient to keep separate keyboard
layouts for normal and insert mode. This is supported via the 'imd' option on
@@ -627,7 +675,7 @@ wrong layout when going back to normal mode, then select the layout you want
to use in normal mode and type ":set imd" followed by ":set noimd".
==============================================================================
12. Known bugs/missing features *macvim-todo*
13. Known bugs/missing features *macvim-todo*
This list is by no means exhaustive, it only enumerates some of the more
prominent bugs/missing features.
@@ -651,7 +699,7 @@ This is also the best place for making feature requests as well as for asking
general questions about MacVim.
==============================================================================
13. Hints *macvim-hints*
14. Hints *macvim-hints*
In this section some general (not necessarily MacVim specific) hints are
given.
+7 -2
View File
@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2007 Aug 30
*gui_w32.txt* For Vim version 7.3. Last change: 2011 Jul 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -137,6 +137,9 @@ options:
And if there already is a gvim running:
"Edit with existing gvim" -- edit the file with the running gvim
The "edit with existing Vim" entries can be disabled by adding an entry in the
registry under HKLM\Software\Vim\Gvim, named DisableEditWithExisting, and with
any value.
*install-registry*
You can add the "Edit with Vim" menu entry in an easy way by using the
"install.exe" program. It will add several registry entries for you.
@@ -293,7 +296,9 @@ Normally, Vim waits for a command to complete before continuing (this makes
sense for most shell commands which produce output for Vim to use). If you
want Vim to start a program and return immediately, you can use the following
syntax on W95 & NT: >
:!start {command}
:!start [/min] {command}
The optional "/min" causes the window to be minimized.
On Win32s, you will have to go to another window instead. Don't forget that
you must tell Windows 3.1x to keep executing a DOS command in the background
while you switch back to Vim.
+3 -1
View File
@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.3. Last change: 2010 Jul 20
*gui_x11.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -61,6 +61,8 @@ launches the gui but doesn't fork (see |mvim|). However, doing |:gui| in an
already running vim will never fork in MacVim.
"gvim --nofork" does the same as "gvim -f".
*E851* *E852*
When starting the GUI fails Vim will try to continue running in the terminal.
If you want the GUI to run in the foreground always, include the 'f'
flag in 'guioptions'. |-f|. MacVim does not support this flag in
+3 -3
View File
@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.3. Last change: 2010 Jul 29
*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -7,7 +7,7 @@
Help on help files *helphelp*
1. Help commands |online-help|
2. Translating help files |help-translated|
2. Translated help files |help-translated|
3. Writing help files |help-writing|
==============================================================================
@@ -188,7 +188,7 @@ command: >
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}
{not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
+17 -8
View File
@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.3. Last change: 2009 Mar 18
*if_cscop.txt* For Vim version 7.3. Last change: 2011 Jun 12
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}
@@ -265,12 +264,22 @@ seems to be useful: >
:set cscopequickfix=s-,c-,d-,i-,t-,e-
<
*cscopetag* *cst*
If 'cscopetag' set, the commands ":tag" and CTRL-] as well as "vim -t" will
always use |:cstag| instead of the default :tag behavior. Effectively, by
setting 'cst', you will always search your cscope databases as well as your
tag files. The default is off. Examples: >
If 'cscopetag' is set, the commands ":tag" and CTRL-] as well as "vim -t"
will always use |:cstag| instead of the default :tag behavior. Effectively,
by setting 'cst', you will always search your cscope databases as well as
your tag files. The default is off. Examples: >
:set cst
:set nocst
<
*cscoperelative* *csre*
If 'cscoperelative' is set, then in absence of a prefix given to cscope
(prefix is the argument of -P option of cscope), basename of cscope.out
location (usually the project root directory) will be used as the prefix
to construct an absolute path. The default is off. Note: This option is
only effective when cscope (cscopeprg) is initialized without a prefix
path (-P). Examples: >
:set csre
:set nocsre
<
*cscopetagorder* *csto*
The value of 'csto' determines the order in which |:cstag| performs a search.
+14 -2
View File
@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Aug 13
*if_pyth.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Paul Moore
@@ -355,7 +355,7 @@ 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 libaries that expect the
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
@@ -377,6 +377,18 @@ To work around such problems there are these options:
3. You undefine PY_NO_RTLD_GLOBAL in auto/config.h after configuration. This
may crash Vim though.
*has-python*
You can test what Python version is available with: >
if has('python')
echo 'there is Python 2.x'
elseif has('python3')
echo 'there is Python 3.x'
endif
Note however, that when Python 2 and 3 are both available and loaded
dynamically, these has() calls will try to load them. If only one can be
loaded at a time, just checking if Python 2 or 3 are available will prevent
the other one from being available.
==============================================================================
vim:tw=78:ts=8:ft=help:norl:
+9 -6
View File
@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Jul 20
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Oct 27
VIM REFERENCE MANUAL by Shugo Maeda
@@ -40,6 +40,9 @@ downloading Ruby there.
wasn't compiled in. To avoid errors, see
|script-here|.
Command to try it out: >
:ruby print "Hello" # this is a comment
Example Vim script: >
function! RedGem()
@@ -187,12 +190,12 @@ $curbuf The current buffer object.
==============================================================================
6. Dynamic loading *ruby-dynamic*
On MS-Windows the Ruby library can be loaded dynamically. The |:version|
output then includes |+ruby/dyn|.
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|:version| output then includes |+ruby/dyn|.
This means that Vim will search for the Ruby DLL file only when needed. When
you don't use the Ruby interface you don't need it, thus you can use Vim
without this DLL file.
This means that Vim will search for the Ruby DLL file or shared library only
when needed. When you don't use the Ruby interface you don't need it, thus
you can use Vim even though this library file is not on your system.
You need to install the right version of Ruby for this to work. You can find
the package to download from:
+133 -21
View File
@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2010 Jul 30
*indent.txt* For Vim version 7.3. Last change: 2011 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -128,13 +128,20 @@ have changed the indent by typing <BS>, <Tab>, or <Space> in the indent or
used CTRL-T or CTRL-D.
*cinoptions-values*
The 'cinoptions' option sets how Vim performs indentation. In the list below,
The 'cinoptions' option sets how Vim performs indentation. The value after
the option character can be one of these (N is any number):
N indent N spaces
-N indent N spaces to the left
Ns N times 'shiftwidth' spaces
-Ns N times 'shiftwidth' spaces to the left
In the list below,
"N" represents a number of your choice (the number can be negative). When
there is an 's' after the number, Vim multiplies the number by 'shiftwidth':
"1s" is 'shiftwidth', "2s" is two times 'shiftwidth', etc. You can use a
decimal point, too: "-0.5s" is minus half a 'shiftwidth'. The examples below
assume a 'shiftwidth' of 4.
decimal point, too: "-0.5s" is minus half a 'shiftwidth'.
The examples below assume a 'shiftwidth' of 4.
*cino->*
>N Amount added for "normal" indent. Used after a line that should
increase the indent (lines starting with "if", an opening brace,
etc.). (default 'shiftwidth').
@@ -145,6 +152,7 @@ assume a 'shiftwidth' of 4.
foo; foo; foo;
} } }
<
*cino-e*
eN Add N to the prevailing indent inside a set of braces if the
opening brace at the End of the line (more precise: is not the
first character in a line). This is useful if you want a
@@ -160,6 +168,7 @@ assume a 'shiftwidth' of 4.
bar; bar; bar;
} } }
<
*cino-n*
nN Add N to the prevailing indent for a statement after an "if",
"while", etc., if it is NOT inside a set of braces. This is
useful if you want a different indent when there is no '{'
@@ -174,6 +183,7 @@ assume a 'shiftwidth' of 4.
bar; bar; bar;
} } }
<
*cino-f*
fN Place the first opening brace of a function or other block in
column N. This applies only for an opening brace that is not
inside other braces and is at the start of the line. What comes
@@ -184,6 +194,7 @@ assume a 'shiftwidth' of 4.
{ { {
int foo; int foo; int foo;
<
*cino-{*
{N Place opening braces N characters from the prevailing indent.
This applies only for opening braces that are inside other
braces. (default 0).
@@ -193,6 +204,7 @@ assume a 'shiftwidth' of 4.
{ { {
foo; foo; foo;
<
*cino-}*
}N Place closing braces N characters from the matching opening
brace. (default 0).
@@ -202,6 +214,7 @@ assume a 'shiftwidth' of 4.
foo; foo; foo;
} } }
<
*cino-^*
^N Add N to the prevailing indent inside a set of braces if the
opening brace is in column 0. This can specify a different
indent for whole of a function (some may like to set it to a
@@ -216,6 +229,7 @@ assume a 'shiftwidth' of 4.
} } }
} } }
<
*cino-L*
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).
@@ -229,6 +243,7 @@ assume a 'shiftwidth' of 4.
} } }
} } }
<
*cino-:*
:N Place case labels N characters from the indent of the switch().
(default 'shiftwidth').
@@ -240,6 +255,7 @@ assume a 'shiftwidth' of 4.
default: default:
} }
<
*cino-=*
=N Place statements occurring after a case label N characters from
the indent of the label. (default 'shiftwidth').
@@ -247,6 +263,7 @@ assume a 'shiftwidth' of 4.
case 11: case 11: a = a + 1;
a = a + 1; b = b + 1;
<
*cino-l*
lN If N != 0 Vim will align with a case label instead of the
statement after it in the same line.
@@ -256,8 +273,10 @@ assume a 'shiftwidth' of 4.
break; break;
} }
<
*cino-b*
bN If N != 0 Vim will align a final "break" with the case label,
so that case..break looks like a sort of block. (default: 0).
When using 1, consider adding "0=break" to 'cinkeys'.
cino= cino=b1 >
switch (x) switch(x)
@@ -271,6 +290,7 @@ assume a 'shiftwidth' of 4.
break; break;
} }
<
*cino-g*
gN Place C++ scope declarations N characters from the indent of the
block they are in. (default 'shiftwidth'). A scope declaration
can be "public:", "protected:" or "private:".
@@ -282,6 +302,7 @@ assume a 'shiftwidth' of 4.
private: private:
} }
<
*cino-h*
hN Place statements occurring after a C++ scope declaration N
characters from the indent of the label. (default
'shiftwidth').
@@ -290,6 +311,21 @@ assume a 'shiftwidth' of 4.
public: public: a = a + 1;
a = a + 1; b = b + 1;
<
*cino-N*
NN Indent inside C++ namespace N characters extra compared to a
normal block. (default 0).
cino= cino=N-s >
namespace { namespace {
void function(); void function();
} }
namespace my namespace my
{ {
void function(); void function();
} }
<
*cino-p*
pN Parameter declarations for K&R-style function declarations will
be indented N characters from the margin. (default
'shiftwidth').
@@ -299,6 +335,7 @@ assume a 'shiftwidth' of 4.
int a; int a; int a;
char b; char b; char b;
<
*cino-t*
tN Indent a function return type declaration N characters from the
margin. (default 'shiftwidth').
@@ -306,6 +343,7 @@ assume a 'shiftwidth' of 4.
int int int
func() func() func()
<
*cino-i*
iN Indent C++ base class declarations and constructor
initializations, if they start in a new line (otherwise they
are aligned at the right side of the ':').
@@ -319,13 +357,18 @@ assume a 'shiftwidth' of 4.
BaseClass(3) BaseClass(3)
{} {}
<
+N Indent a continuation line (a line that spills onto the next) N
additional characters. (default 'shiftwidth').
*cino-+*
+N Indent a continuation line (a line that spills onto the next)
inside a function N additional characters. (default
'shiftwidth').
Outside of a function, when the previous line ended in a
backslash, the 2 * N is used.
cino= cino=+10 >
a = b + 9 * a = b + 9 *
c; c;
<
*cino-c*
cN Indent comment lines after the comment opener, when there is no
other text with which to align, N characters from the comment
opener. (default 3). See also |format-comments|.
@@ -335,6 +378,7 @@ assume a 'shiftwidth' of 4.
text. text.
*/ */
<
*cino-C*
CN When N is non-zero, indent comment lines by the amount specified
with the c flag above even if there is other text behind the
comment opener. (default 0).
@@ -345,12 +389,14 @@ assume a 'shiftwidth' of 4.
********/ ********/
< (Example uses ":set comments& comments-=s1:/* comments^=s0:/*")
*cino-/*
/N Indent comment lines N characters extra. (default 0).
cino= cino=/4 >
a = b; a = b;
/* comment */ /* comment */
c = d; c = d;
<
*cino-(*
(N When in unclosed parentheses, indent N characters from the line
with the unclosed parentheses. Add a 'shiftwidth' for every
unclosed parentheses. When N is 0 or the unclosed parentheses
@@ -366,6 +412,7 @@ assume a 'shiftwidth' of 4.
(c2 || c3)) (c2 || c3))
{ {
<
*cino-u*
uN Same as (N, but for one level deeper. (default 'shiftwidth').
cino= cino=u2 >
@@ -373,6 +420,7 @@ assume a 'shiftwidth' of 4.
&& (c22345 && (c22345
|| c3)) || c3))
<
*cino-U*
UN When N is non-zero, do not ignore the indenting specified by
( or u in case that the unclosed parentheses is the first
non-white character in its line. (default 0).
@@ -384,6 +432,7 @@ assume a 'shiftwidth' of 4.
c3 c3
) && c4; ) && c4;
<
*cino-w*
wN When in unclosed parentheses and N is non-zero and either
using "(0" or "u0", respectively, or using "U0" and the unclosed
parentheses is the first non-white character in its line, line
@@ -396,6 +445,7 @@ assume a 'shiftwidth' of 4.
|| c3)) || c3))
foo; foo;
<
*cino-W*
WN When in unclosed parentheses and N is non-zero and either
using "(0" or "u0", respectively and the unclosed parentheses is
the last non-white character in its line and it is not the
@@ -410,6 +460,7 @@ assume a 'shiftwidth' of 4.
a_short_line(argument, a_short_line(argument,
argument); argument);
<
*cino-m*
mN When N is non-zero, line up a line starting with a closing
parentheses with the first character of the line with the
matching opening parentheses. (default 0).
@@ -424,6 +475,7 @@ assume a 'shiftwidth' of 4.
) )
foo; foo;
<
*cino-M*
MN When N is non-zero, line up a line starting with a closing
parentheses with the first character of the previous line.
(default 0).
@@ -433,10 +485,11 @@ assume a 'shiftwidth' of 4.
cond2 cond2
) )
<
*java-cinoptions* *java-indenting*
jN Indent java anonymous classes correctly. The value 'N' is
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
indent for example the following code snippet correctly: >
*java-cinoptions* *java-indenting* *cino-j*
jN Indent Java anonymous classes correctly. Also works well for
Javascript. The value 'N' is currently unused but must be
non-zero (e.g. 'j1'). 'j1' will indent for example the
following code snippet correctly: >
object.add(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
@@ -444,10 +497,11 @@ assume a 'shiftwidth' of 4.
}
});
<
*javascript-cinoptions* *javascript-indenting*
*javascript-cinoptions* *javascript-indenting* *cino-J*
JN Indent JavaScript object declarations correctly by not confusing
them with labels. The value 'N' is currently unused but must be
non-zero (e.g. 'J1'). >
non-zero (e.g. 'J1'). If you enable this you probably also want
to set |cino-j|. >
var bar = {
foo: {
@@ -462,14 +516,19 @@ assume a 'shiftwidth' of 4.
}
}
<
*cino-)*
)N Vim searches for unclosed parentheses at most N lines away.
This limits the time needed to search for parentheses. (default
20 lines).
*cino-star*
*N Vim searches for unclosed comments at most N lines away. This
limits the time needed to search for the start of a comment.
If your /* */ comments stop indenting afer N lines this is the
value you will want to change.
(default 70 lines).
*cino-#*
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognizes '#' comments. Note
that lines starting with # will still be seen as preprocessor
@@ -477,7 +536,7 @@ assume a 'shiftwidth' of 4.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,ps,ts,is,+s,
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,J0,)20,*70,#0
Vim puts a line in column 1 if:
@@ -504,13 +563,15 @@ REMARKS ABOUT SPECIFIC INDENT FILES ~
FORTRAN *ft-fortran-indent*
Block if, select case, and where constructs are indented. Comments, labelled
statements and continuation lines are indented if the Fortran is in free
source form, whereas they are not indented if the Fortran is in fixed source
form because of the left margin requirements. Hence manual indent corrections
will be necessary for labelled statements and continuation lines when fixed
source form is being used. For further discussion of the method used for the
detection of source format see |ft-fortran-syntax|.
Block if, select case, where, and forall constructs are indented. So are
type, interface, associate, block, and enum constructs. The indenting of
subroutines, functions, modules, and program blocks is optional. Comments,
labelled statements and continuation lines are indented if the Fortran is in
free source form, whereas they are not indented if the Fortran is in fixed
source form because of the left margin requirements. Hence manual indent
corrections will be necessary for labelled statements and continuation lines
when fixed source form is being used. For further discussion of the method
used for the detection of source format see |ft-fortran-syntax|.
Do loops ~
All do loops are left unindented by default. Do loops can be unstructured in
@@ -537,6 +598,20 @@ autocommand such as >
to get do loops indented in .f90 files and left alone in Fortran files with
other extensions such as .for.
Program units ~
The indenting of program units (subroutines, functions, modules, and program
blocks) is enabled by default but can be suppressed if a lighter, screen-width
preserving indent style is desired. To suppress the indenting of program
units for all fortran files set the global fortran_indent_less variable in
your .vimrc as follows >
let fortran_indent_less=1
A finer level of suppression can be achieved by setting the corresponding
buffer-local variable as follows >
let b:fortran_indent_less=1
PHP *ft-php-indent* *php-indent* *php-indenting*
@@ -631,6 +706,43 @@ Indent for a continuation line: >
let g:pyindent_continue = '&sw * 2'
R *ft-r-indent*
Function arguments are aligned if they span for multiple lines. If you prefer
do not have the arguments of functions aligned, put in your |vimrc|:
>
let r_indent_align_args = 0
<
All lines beginning with a comment character, #, get the same indentation
level of the normal R code. Users of Emacs/ESS may be used to have lines
beginning with a single # indented in the 40th column, ## indented as R code,
and ### not indented. If you prefer that lines beginning with comment
characters are aligned as they are by Emacs/ESS, put in your |vimrc|:
>
let r_indent_ess_comments = 1
<
If you prefer that lines beginning with a single # are aligned at a column
different from the 40th one, you should set a new value to the variable
r_indent_comment_column, as in the example below:
>
let r_indent_comment_column = 30
<
Any code after a line that ends with "<-" is indented. Emacs/ESS does not
indent the code if it is a top level function. If you prefer that the
Vim-R-plugin behaves like Emacs/ESS in this regard, put in your |vimrc|:
>
let r_indent_ess_compatible = 1
<
Below is an example of indentation with and without this option enabled:
>
### r_indent_ess_compatible = 1 ### r_indent_ess_compatible = 0
foo <- foo <-
function(x) function(x)
{ {
paste(x) paste(x)
} }
<
SHELL *ft-sh-indent*
The amount of indent applied under various circumstances in a shell file can
+10 -5
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2010 Jul 21
*index.txt* For Vim version 7.3. Last change: 2011 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -29,7 +29,7 @@ For a complete listing of all help items see |help-tags|.
==============================================================================
1. Insert mode *insert-index*
tag char action ~
tag char action in Insert mode ~
-----------------------------------------------------------------------
|i_CTRL-@| CTRL-@ insert previously inserted text and stop
insert
@@ -459,7 +459,7 @@ tag char note action in Normal mode ~
These can be used after an operator or in Visual mode to select an object.
tag command action in Normal mode ~
tag command action in op-pending and Visual mode ~
------------------------------------------------------------------------------
|v_aquote| a" double quoted string
|v_a'| a' single quoted string
@@ -721,6 +721,7 @@ tag char note action in Normal mode ~
|gJ| gJ 2 join lines without inserting space
|gP| ["x]gP 2 put the text [from register x] before the
cursor N times, leave the cursor after it
|gQ| gQ switch to "Ex" mode with Vim editing
|gR| gR 2 enter Virtual Replace mode
|gU| gU{motion} 2 make Nmove text uppercase
|gV| gV don't reselect the previous Visual area
@@ -951,11 +952,13 @@ Normal characters are inserted at the current cursor position.
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
cursor and insert all matches
|c_CTRL-B| CTRL-B cursor to begin of command-line
|c_CTRL-C| CTRL-C same as <ESC>
|c_CTRL-C| CTRL-C same as <Esc>
|c_CTRL-D| CTRL-D list completions that match the pattern in
front of the cursor
|c_CTRL-E| CTRL-E cursor to end of command-line
@@ -1046,6 +1049,8 @@ This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
|:#| :# same as ":number"
@@ -1256,7 +1261,7 @@ The commands are sorted on the non-optional part of their name.
|:k| :k set a mark
|:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|:keepjumps| :keepj[jumps] following command keeps jumplist and marks
|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines
+41 -14
View File
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Jul 29
*insert.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -382,6 +382,10 @@ mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
beware of the cursor possibly being beyond the end of the line.
The CTRL-O command takes you to Normal mode. If you then use a command enter
Insert mode again it doesn't nest. Thus when typing "a<C-O>a" and then <Esc>
takes you back to Normal mode, you do not need to type <Esc> twice.
The shifted cursor keys are not available on all terminals.
Another side effect is that a count specified before the "i" or "a" command is
@@ -555,12 +559,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.
@@ -1017,6 +1020,21 @@ On the second invocation the arguments are:
The function must return a List with the matching words. These matches
usually include the "a:base" text. When there are no matches return an empty
List.
In order to return more information than the matching words, return a Dict
that contains the List. The Dict can have these items:
words The List of matching words (mandatory).
refresh A string to control re-invocation of the function
(optional).
The only value currently recognized is "always", the
effect is that the function is called whenever the
leading text is changed.
Other items are ignored.
For example, the function can contain this: >
let matches = ... list of words ...
return {'words': matches, 'refresh': 'always'}
<
*complete-items*
Each list item can either be a string or a Dictionary. When it is a string it
is used as the completion. When it is a Dictionary it can contain these
@@ -1034,17 +1052,21 @@ items:
items that only differ in case are added
dup when non-zero this match will be added even when an
item with the same word is already present.
empty when non-zero this match will be added even when it is
an empty string
All of these except 'icase' must be a string. If an item does not meet these
requirements then an error message is given and further items in the list are
not used. You can mix string and Dictionary items in the returned list.
All of these except 'icase', 'dup' and 'empty' must be a string. If an item
does not meet these requirements then an error message is given and further
items in the list are not used. You can mix string and Dictionary items in
the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
the preview window when "preview" appears in 'completeopt'. The "info" item
will also remain displayed after the popup menu has been removed. This is
useful for function arguments. Use a single space for "info" to remove
existing text in the preview window.
existing text in the preview window. The size of the preview window is three
lines, but 'previewheight' is used when it has a value of 1 or 2.
The "kind" item uses a single letter to indicate the kind of completion. This
may be used to show the completion differently (different color or icon).
@@ -1060,9 +1082,9 @@ match to the total list. These matches should then not appear in the returned
list! Call |complete_check()| now and then to allow the user to press a key
while still searching for matches. Stop searching when it returns non-zero.
The function is allowed to move the cursor, it is restored afterwards. This
option cannot be set from a |modeline| or in the |sandbox|, for security
reasons.
*E839* *E840*
The function is allowed to move the cursor, it is restored afterwards.
The function is not allowed to move to another window or delete text.
An example that completes the names of the months: >
fun! CompleteMonths(findstart, base)
@@ -1767,6 +1789,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".
+9 -8
View File
@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Jul 20
*intro.txt* For Vim version 7.3. Last change: 2011 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -135,8 +135,10 @@ http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim*
Send bug reports to: Vim bugs <bugs@vim.org>
This is not a maillist but the message is redirected to the Vim maintainer.
Send bug reports to: Vim Developers <vim_dev@vim.org>
This is a maillist, many people will see the message. If you don't want that,
e.g. because it is a security issue, send it to <bugs@vim.org>, this only goes
to the Vim maintainer (that's Bram).
Please be brief; all the time that is spent on answering mail is subtracted
from the time that is spent on improving Vim! Always give a reproducible
example and try to find out which settings or other things influence the
@@ -300,7 +302,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
@@ -616,7 +618,6 @@ Replace <Esc> -- -- <Insert> -- --
Command-line *3 -- -- :start -- --
Ex :vi -- -- -- -- --
- NA
-- not possible
*1 Go from Normal mode to Insert mode by giving the command "i", "I", "a",
@@ -703,7 +704,7 @@ Lines longer than the window width will wrap, unless the 'wrap' option is off
(see below). The 'linebreak' option can be set to wrap at a blank character.
If the window has room after the last line of the buffer, Vim will show '~' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|some line |
@@ -715,7 +716,7 @@ the first column of the last lines in the window, like this: >
Thus the '~' lines indicate that the end of the buffer was reached.
If the last line in a window doesn't fit, Vim will indicate this with a '@' in
the first column of the last lines in the window, like this: >
the first column of the last lines in the window, like this:
+-----------------------+
|first line |
@@ -730,7 +731,7 @@ window.
When the "lastline" flag is present in the 'display' option, you will not see
'@' characters at the left side of window. If the last line doesn't fit
completely, only the part that fits is shown, and the last three characters of
the last line are replaced with "@@@", like this: >
the last line are replaced with "@@@", like this:
+-----------------------+
|first line |
+45 -28
View File
@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2010 Jul 31
*map.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -107,6 +107,8 @@ modes.
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
Remove ALL mappings for the modes where the map
command applies. {not in Vi}
Use the <buffer> argument to remove buffer-local
mappings |:map-<buffer>|
Warning: This also removes the default mappings.
:map |mapmode-nvo|
@@ -226,7 +228,7 @@ text before the cursor and start omni completion when some condition is met.
For abbreviations |v:char| is set to the character that was typed to trigger
the abbreviation. You can use this to decide how to expand the {lhs}. You
can't change v:char and you should not insert it.
should not either insert or change the v:char.
Be very careful about side effects! The expression is evaluated while
obtaining characters, you may very well make the command dysfunctional.
@@ -480,9 +482,9 @@ You can create an empty {rhs} by typing nothing after a single CTRL-V (you
have to type CTRL-V two times). Unfortunately, you cannot do this in a vimrc
file.
*<Nop>*
A easier way to get a mapping that doesn't produce anything, is to use "<Nop>"
for the {rhs}. This only works when the |<>| notation is enabled. For
example, to make sure that function key 8 does nothing at all: >
An easier way to get a mapping that doesn't produce anything, is to use
"<Nop>" for the {rhs}. This only works when the |<>| notation is enabled.
For example, to make sure that function key 8 does nothing at all: >
:map <F8> <Nop>
:map! <F8> <Nop>
<
@@ -495,7 +497,7 @@ scenario: >
:set encoding=utf-8
The mapping for <M-C> is defined with the latin1 encoding, resulting in a 0xc3
byte. If you type the character á (0xe1 <M-a>) in UTF-8 encoding this is the
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then,
two bytes 0xc3 0xa1. You don't want the 0xc3 byte to be mapped then or
otherwise it would be impossible to type the á character.
*<Leader>* *mapleader*
@@ -542,6 +544,7 @@ construct can be used:
<Char-123> character 123
<Char-033> character 27
<Char-0x7f> character 127
<S-Char-114> character 114 ('r') shifted ('R')
This is useful to specify a (multi-byte) character in a 'keymap' file.
Upper and lowercase differences are ignored.
@@ -934,11 +937,12 @@ See |:verbose-cmd| for more information.
avoid that a typed {lhs} is expanded, since
command-line abbreviations apply here.
:ab[breviate] [<expr>] {lhs} {rhs}
:ab[breviate] [<expr>] [<buffer>] {lhs} {rhs}
add abbreviation for {lhs} to {rhs}. If {lhs} already
existed it is replaced with the new {rhs}. {rhs} may
contain spaces.
See |:map-<expr>| for the optional <expr> argument.
See |:map-<buffer>| for the optional <buffer> argument.
*:una* *:unabbreviate*
:una[bbreviate] {lhs} Remove abbreviation for {lhs} from the list. If none
@@ -948,12 +952,12 @@ See |:verbose-cmd| for more information.
expansion insert a CTRL-V (type it twice).
*:norea* *:noreabbrev*
:norea[bbrev] [<expr>] [lhs] [rhs]
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but no remapping for this {rhs} {not
in Vi}
*:ca* *:cabbrev*
:ca[bbrev] [<expr>] [lhs] [rhs]
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only. {not
in Vi}
@@ -962,12 +966,12 @@ See |:verbose-cmd| for more information.
in Vi}
*:cnorea* *:cnoreabbrev*
:cnorea[bbrev] [<expr>] [lhs] [rhs]
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only and no
remapping for this {rhs} {not in Vi}
*:ia* *:iabbrev*
:ia[bbrev] [<expr>] [lhs] [rhs]
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only. {not in Vi}
*:iuna* *:iunabbrev*
@@ -975,18 +979,18 @@ See |:verbose-cmd| for more information.
Vi}
*:inorea* *:inoreabbrev*
:inorea[bbrev] [<expr>] [lhs] [rhs]
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only and no
remapping for this {rhs} {not in Vi}
*:abc* *:abclear*
:abc[lear] Remove all abbreviations. {not in Vi}
:abc[lear] [<buffer>] Remove all abbreviations. {not in Vi}
*:iabc* *:iabclear*
:iabc[lear] Remove all abbreviations for Insert mode. {not in Vi}
:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode. {not in Vi}
*:cabc* *:cabclear*
:cabc[lear] Remove all abbreviations for Command-line mode. {not
:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode. {not
in Vi}
*using_CTRL-V*
@@ -1093,16 +1097,20 @@ is executed, it is transformed into a normal Ex command and then executed.
For starters: See section |40.2| in the user manual.
*E183* *user-cmd-ambiguous*
*E183* *E841* *user-cmd-ambiguous*
All user defined commands must start with an uppercase letter, to avoid
confusion with builtin commands. (There are a few builtin commands, notably
:Next, :Print and :X, which do start with an uppercase letter. The builtin
will always take precedence in these cases). The other characters of the user
command can be uppercase letters, lowercase letters or digits. When using
digits, note that other commands that take a numeric argument may become
ambiguous. For example, the command ":Cc2" could be the user command ":Cc2"
without an argument, or the command ":Cc" with argument "2". It is advised to
put a space between the command name and the argument to avoid these problems.
confusion with builtin commands. Exceptions are these builtin commands:
:Next
:X
They cannot be used for a user defined command. ":Print" is also an existing
command, but it is deprecated and can be overruled.
The other characters of the user command can be uppercase letters, lowercase
letters or digits. When using digits, note that other commands that take a
numeric argument may become ambiguous. For example, the command ":Cc2" could
be the user command ":Cc2" without an argument, or the command ":Cc" with
argument "2". It is advised to put a space between the command name and the
argument to avoid these problems.
When using a user-defined command, the command can be abbreviated. However, if
an abbreviation is not unique, an error will be issued. Furthermore, a
@@ -1173,13 +1181,15 @@ reported if any are supplied). However, it is possible to specify that the
command can take arguments, using the -nargs attribute. Valid cases are:
-nargs=0 No arguments are allowed (the default)
-nargs=1 Exactly one argument is required
-nargs=* Any number of arguments are allowed (0, 1, or many)
-nargs=1 Exactly one argument is require, it includes spaces
-nargs=* Any number of arguments are allowed (0, 1, or many),
separated by white space
-nargs=? 0 or 1 arguments are allowed
-nargs=+ Arguments must be supplied, but any number are allowed
Arguments are considered to be separated by (unescaped) spaces or tabs in this
context.
context, except when there is one argument, then the white space is part of
the argument.
Note that arguments are used as text, not as expressions. Specifically,
"s:var" will use the script-local variable in the script where the command was
@@ -1202,20 +1212,26 @@ completion can be enabled:
-complete=augroup autocmd groups
-complete=buffer buffer names
-complete=color color schemes
-complete=command Ex command (and arguments)
-complete=compiler compilers
-complete=cscope |:cscope| suboptions
-complete=dir directory names
-complete=environment environment variable names
-complete=event autocommand events
-complete=expression Vim expression
-complete=file file and directory names
-complete=file_in_path file and directory names in |'path'|
-complete=filetype filetype names |'filetype'|
-complete=function function name
-complete=help help subjects
-complete=highlight highlight groups
-complete=locale locale names (as output of locale -a)
-complete=mapping mapping name
-complete=menu menus
-complete=option options
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
-complete=tag tags
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
@@ -1285,7 +1301,8 @@ Possible attributes are:
-range Range allowed, default is current line
-range=% Range allowed, default is whole file (1,$)
-range=N A count (default N) which is specified in the line
number position (like |:split|)
number position (like |:split|); allows for zero line
number.
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like |:Next|).
Specifying -count (without a default) acts like -count=0
+9 -5
View File
@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.3. Last change: 2010 Jul 26
*mbyte.txt* For Vim version 7.3. Last change: 2011 Jul 18
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -280,7 +280,7 @@ Note that all encodings must use ASCII for the characters up to 128 (except
when compiled for EBCDIC).
Supported 'encoding' values are: *encoding-values*
1 latin1 8-bit characters (ISO 8859-1)
1 latin1 8-bit characters (ISO 8859-1, also used for cp1252)
1 iso-8859-n ISO_8859 variant (n = 2 to 15)
1 koi8-r Russian
1 koi8-u Ukrainian
@@ -336,7 +336,11 @@ For MS-Windows "cp{number}" means using codepage {number}.
Examples: >
:set encoding=8bit-cp1252
:set encoding=2byte-cp932
<
The MS-Windows codepage 1252 is very similar to latin1. For practical reasons
the same encoding is used and it's called latin1. 'isprint' can be used to
display the characters 0x80 - 0xA0 or not.
Several aliases can be used, they are translated to one of the names above.
An incomplete list:
@@ -1302,8 +1306,8 @@ character. However, search patterns may not match on an overlong sequence.
character.) An exception is NUL (zero) which is displayed as "<00>".
In the file and buffer the full range of Unicode characters can be used (31
bits). However, displaying only works for 16 bit characters, and only for the
characters present in the selected font.
bits). However, displaying only works for the characters present in the
selected font.
Useful commands:
- "ga" shows the decimal, hexadecimal and octal value of the character under
+7 -5
View File
@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.3. Last change: 2010 Aug 10
*message.txt* For Vim version 7.3. Last change: 2011 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,8 +27,8 @@ The "g<" command can be used to see the last page of previous command output.
This is especially useful if you accidentally typed <Space> at the hit-enter
prompt. You are then back at the hit-enter prompt and can then scroll further
back.
Note: when you stopped the output with "q" at the more prompt only up to that
point will be displayed.
Note: If the output has been stopped with "q" at the more prompt, it will only
be displayed up to this point.
The previous command output is cleared when another command produces output.
If you are using translated messages, the first printed line tells who
@@ -65,7 +65,7 @@ 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
@@ -481,8 +481,10 @@ Also see |msdos-limitations|.
*E339* >
Pattern too long
This only happens on systems with 16 bit ints: The compiled regexp pattern is
This happens on systems with 16 bit ints: The compiled regexp pattern is
longer than about 65000 characters. Try using a shorter pattern.
It also happens when the offset of a rule doesn't fit in the space available.
Try simplifying the pattern.
*E45* >
'readonly' option is set (add ! to override)
+2 -2
View File
@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.3. Last change: 2010 Jul 20
*mlang.txt* For Vim version 7.3. Last change: 2010 Dec 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -68,7 +68,7 @@ use of "-" and "_".
With the "ctype" argument the language used for
character encoding is set. This affects the libraries
that Vim was linked with. It's unusual to set this to
a different value from 'encoding'. This sets
a different value from 'encoding' or "C". This sets
$LC_CTYPE.
With the "time" argument the language used for time
and date messages is set. This affects strftime().
+9 -9
View File
@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.3. Last change: 2010 May 14
*motion.txt* For Vim version 7.3. Last change: 2011 Jul 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -269,11 +269,11 @@ T{char} Till after [count]'th occurrence of {char} to the
{char} can be entered like with the |f| command.
*;*
; Repeat latest f, t, F or T [count] times.
; Repeat latest f, t, F or T [count] times. See |cpo-;|
*,*
, Repeat latest f, t, F or T in opposite direction
[count] times.
[count] times. See also |cpo-;|
==============================================================================
3. Up-down motions *up-down-motions*
@@ -344,6 +344,8 @@ gg Goto line [count], default first line, on the first
last number in it used as the byte count. End-of-line
characters are counted depending on the current
'fileformat' setting.
Also see the |line2byte()| function, and the 'o'
option in 'statusline'.
{not in Vi}
{not available when compiled without the
|+byte_offset| feature}
@@ -1015,8 +1017,6 @@ CTRL-O Go to [count] Older cursor position in jump list
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
In a |quickfix-window| it takes you to the position of
the error under the cursor.
{not in Vi}
{not available without the |+jumplist| feature}
@@ -1033,20 +1033,20 @@ The maximum number of entries is fixed at 100.
For example, after three jump commands you have this jump list:
jump line col file/line ~
jump line col file/text ~
3 1 0 some text ~
2 70 0 another line ~
1 1154 23 end. ~
> ~
The "file/line" column shows the file name, or the text at the jump if it is
The "file/text" column shows the file name, or the text at the jump if it is
in the current file (an indent is removed and a long line is truncated to fit
in the window).
You are currently in line 1167. If you then use the CTRL-O command, the
cursor is put in line 1154. This results in:
jump line col file/line ~
jump line col file/text ~
2 1 0 some text ~
1 70 0 another line ~
> 0 1154 23 end. ~
@@ -1076,7 +1076,7 @@ command. You can explicitly add a jump by setting the ' mark.
After the CTRL-O command that got you into line 1154 you could give another
jump command (e.g., "G"). The jump list would then become:
jump line col file/line ~
jump line col file/text ~
4 1 0 some text ~
3 70 0 another line ~
2 1167 0 foo bar ~
+4 -3
View File
@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -118,7 +118,8 @@ In case you do not want the NetBeans interface you can disable it by
uncommenting a line with "--disable-netbeans" in the Makefile.
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, and Motif.
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.
@@ -819,7 +820,7 @@ These errors occur when a message violates the protocol:
==============================================================================
7. NetBeans commands *netbeans-commands*
*:nbstart* *E511*
*: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|.
+140 -71
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2010 Aug 15
*options.txt* For Vim version 7.3. Last change: 2011 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -150,6 +150,18 @@ example, if Alt-b produces <Esc>b, use this: >
(the ^[ is a real <Esc> here, use CTRL-V <Esc> to enter it)
The advantage over a mapping is that it works in all situations.
You can define any key codes, e.g.: >
:set t_xy=^[foo;
There is no warning for using a name that isn't recognized. You can map these
codes as you like: >
:map <t_xy> something
< *E846*
When a key code is not set, it's like it does not exist. Trying to get its
value will result in an error: >
:set t_kb=
:set t_kb
E846: Key code not set: t_kb
The t_xx options cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -361,6 +373,7 @@ Setting the filetype
settings and syntax files to be loaded.
{not in Vi}
*option-window* *optwin*
:bro[wse] se[t] *:set-browse* *:browse-set* *:opt* *:options*
:opt[ions] Open a window for viewing and setting all options.
Options are grouped by function.
@@ -807,7 +820,7 @@ A jump table for the options with a short description can be found at |Q_op|.
been set.
*'background'* *'bg'*
'background' 'bg' string (default "dark" or "light")
'background' 'bg' string (default "dark" or "light", see below)
global
{not in Vi}
When set to "dark", Vim will try to use colors that look good on a
@@ -841,6 +854,12 @@ A jump table for the options with a short description can be found at |Q_op|.
color). To get around this, force the GUI window to be opened by
putting a ":gui" command in the .gvimrc file, before where the value
of 'background' is used (e.g., before ":syntax on").
For MS-DOS, Windows and OS/2 the default is "dark".
For other systems "dark" is used when 'term' is "linux",
"screen.linux", "cygwin" or "putty", or $COLORFGBG suggests a dark
background. Otherwise the default is "light".
Normally this option would be set in the .vimrc file. Possibly
depending on the terminal name. Example: >
:if &term == "pcterm"
@@ -1439,6 +1458,15 @@ A jump table for the options with a short description can be found at |Q_op|.
explicitly accessed using the "* notation. Also see
|gui-clipboard|.
unnamedplus A variant of "unnamed" flag which uses the clipboard
register '+' (|quoteplus|) instead of register '*' for
all operations except yank. Yank shall copy the text
into register '+' and also into '*' when "unnamed" is
included.
Only available with the |+X11| feature.
Availability can be checked with: >
if has('unnamedplus')
<
autoselect Works like the 'a' flag in 'guioptions': If present,
then whenever Visual mode is started, or the Visual
area extended, Vim tries to become the owner of the
@@ -1501,6 +1529,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
@@ -1685,7 +1732,8 @@ A jump table for the options with a short description can be found at |Q_op|.
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
invoked and what it should return.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
@@ -2074,6 +2122,12 @@ A jump table for the options with a short description can be found at |Q_op|.
*cpo->*
> When appending to a register, put a line break before
the appended text.
*cpo-;*
; When using |,| or |;| to repeat the last |t| search
and the cursor is right in front of the searched
character, the cursor won't move. When not included,
the cursor would skip over it and jump to the
following occurence.
POSIX flags. These are not included in the Vi default value, except
when $VIM_POSIX was set on startup. |posix|
@@ -2166,6 +2220,16 @@ A jump table for the options with a short description can be found at |Q_op|.
Specifies whether to use quickfix window to show cscope results.
See |cscopequickfix|.
*'cscoperelative'* *'csre'*
'cscoperelative' 'csre' boolean (default off)
global
{not available when compiled without the |+cscope|
feature}
{not in Vi}
In the absence of a prefix (-P) for cscope. setting this option enables
to use the basename of cscope.out path as the prefix.
See |cscoperelative|.
*'cscopetag'* *'cst'* *'nocscopetag'* *'nocst'*
'cscopetag' 'cst' boolean (default off)
global
@@ -2822,13 +2886,14 @@ 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
the first few lines, "mac" is used.
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
@@ -2836,6 +2901,9 @@ A jump table for the options with a short description can be found at |Q_op|.
file only, the option is not changed.
When 'binary' is set, the value of 'fileformats' is not used.
Note that when Vim starts up with an empty buffer this option is not
used. Set 'fileformat' in your .vimrc instead.
For systems with a Dos-like <EOL> (<CR><NL>), when reading files that
are ":source"ed and for vimrc files, automatic <EOL> detection may be
done:
@@ -2876,8 +2944,6 @@ A jump table for the options with a short description can be found at |Q_op|.
This will use the "c" filetype first, then the "doxygen" filetype.
This works both for filetype plugins and for syntax files. More than
one dot may appear.
Do not confuse this option with 'osfiletype', which is for the file
type that is actually stored with the file.
This option is not copied to another buffer, independent of the 's' or
'S' flag in 'cpoptions'.
Only normal file name characters can be used, "/\*?[|<>" are illegal.
@@ -3049,9 +3115,11 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
{not available when compiled without the |+folding|
feature}
Sets the minimum number of screen lines for a fold to be displayed
closed. Also for manually closed folds.
Note that this only has an effect of what is displayed. After using
Sets the number of screen lines above which a fold can be displayed
closed. Also for manually closed folds. With the default value of
one a fold can only be closed if it takes up two or more screen lines.
Set to zero to be able to close folds of just one screen line.
Note that this only has an effect on what is displayed. After using
"zc" to close a fold, which is displayed open because it's smaller
than 'foldminlines', a following "zc" may close a containing fold.
@@ -3075,6 +3143,10 @@ A jump table for the options with a short description can be found at |Q_op|.
Specifies for which type of commands folds will be opened, if the
command moves the cursor into a closed fold. It is a comma separated
list of items.
NOTE: When the command is part of a mapping this option is not used.
Add the |zv| command to the mapping to get the same effect.
(rationale: the mapping may want to control opening folds itself)
item commands ~
all any
block "(", "{", "[[", "[{", etc.
@@ -3089,8 +3161,6 @@ A jump table for the options with a short description can be found at |Q_op|.
Also for |[s| and |]s|.
tag jumping to a tag: ":ta", CTRL-T, etc.
undo undo or redo: "u" and CTRL-R
When the command is part of a mapping this option is not used. Add
the |zv| command to the mapping to get the same effect.
When a movement command is used for an operator (e.g., "dl" or "y%")
this option is not used. This means the operator will include the
whole closed fold.
@@ -3191,7 +3261,8 @@ A jump table for the options with a short description can be found at |Q_op|.
the internal format mechanism.
The expression may be evaluated in the |sandbox|, see
|sandbox-option|.
|sandbox-option|. That stops the option from working, since changing
the buffer text is not allowed.
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
'fsync' 'fs' boolean (default on)
@@ -3237,7 +3308,7 @@ A jump table for the options with a short description can be found at |Q_op|.
XXX: Think about how 'fullscreen' and 'transparency' should interact.
*'fuoptions'* *'fuopt'*
'fuoptions' 'fuopt' string (default "maxvert")
'fuoptions' 'fuopt' string (default "maxvert,maxhorz")
global
{not in Vi}
{only in MacVim GUI}
@@ -3257,6 +3328,7 @@ A jump table for the options with a short description can be found at |Q_op|.
number of columns, it is restored to the value it had before
entering fullscreen.
background:color
{not supported in Mac OS X native full screen}
When entering fullscreen, 'color' defines the color of the part
of the screen that is not occupied by the Vim control. If
'color' is an 8-digit hexadecimal number preceded by '#',
@@ -3268,15 +3340,15 @@ A jump table for the options with a short description can be found at |Q_op|.
scheme.
Examples:
Don't change size of Vim when entering fullscreen: >
Don't change size when entering fullscreen: >
:set fuoptions=
< Maximize Vim when entering fullscreen: >
:set fuoptions=maxvert,maxhorz
< Maximize Vim only vertically when entering fullscreen, and color the
< Only maximize vertically when entering fullscreen: >
:set fuoptions=maxvert
< Maximize only vertically when entering fullscreen, and color the
background dark blue: >
:set fuoptions=maxvert,background:#FF003042
< Don't change the size of Vim when entering fullscreen, and color the
background like the current text background: >
< Don't change size when entering fullscreen, and color the background
like the current text background: >
:set fuoptions=background:Normal
<
XXX: what if the font size is changed? you probably never want to
@@ -3424,7 +3496,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:highlight Cursor gui=NONE guifg=bg guibg=fg
<
*'guifont'* *'gfn'*
*E235* *E596* *E610* *E611*
*E235* *E596*
'guifont' 'gfn' string (default "")
global
{not in Vi}
@@ -4148,7 +4220,8 @@ A jump table for the options with a short description can be found at |Q_op|.
It is used when a new line is created, for the |=| operator and
in Insert mode as specified with the 'indentkeys' option.
When this option is not empty, it overrules the 'cindent' and
'smartindent' indenting.
'smartindent' indenting. When 'lisp' is set, this option is
overridden by the Lisp indentation algorithm.
When 'paste' is set this option is not used for indenting.
The expression is evaluated with |v:lnum| set to the line number for
which the indent is to be computed. The cursor is also in this line
@@ -4371,6 +4444,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"echo &key". This is to avoid showing it to someone who shouldn't
know. It also means you cannot see it yourself once you have set it,
be careful not to make a typing error!
You can use "&key" in an expression to detect whether encryption is
enabled. When 'key' is set it returns "*****" (five stars).
*'keymap'* *'kmp'* *E544*
'keymap' 'kmp' string (default "")
@@ -4715,25 +4790,6 @@ A jump table for the options with a short description can be found at |Q_op|.
< This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'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.
*'matchpairs'* *'mps'*
'matchpairs' 'mps' string (default "(:),{:},[:]")
local to buffer
@@ -4920,6 +4976,10 @@ A jump table for the options with a short description can be found at |Q_op|.
written. A ":set nomodified" command also resets the original
values to the current values and the 'modified' option will be
reset.
This option is not set when a change is made to the buffer as the
result of a BufNewFile, BufRead/BufReadPost, BufWritePost,
FileAppendPost or VimLeave autocommand event. See |gzip-example| for
an explanation.
When 'buftype' is "nowrite" or "nofile" this option may be set, but
will be ignored.
@@ -5186,20 +5246,12 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons.
*'osfiletype'* *'oft'* *E366*
'osfiletype' 'oft' string (RISC-OS default: "Text",
others default: "")
*'osfiletype'* *'oft'*
'osfiletype' 'oft' string (default: "")
local to buffer
{not in Vi}
{only available when compiled with the |+osfiletype|
feature}
Some operating systems store extra information about files besides
name, datestamp and permissions. This option contains the extra
information, the nature of which will vary between systems.
The value of this option is usually set when the file is loaded, and
is used to set the operating system file type when file is written.
It can affect the pattern matching of the automatic commands.
|autocmd-osfiletypes|
This option was supported on RISC OS, which has been removed.
*'paragraphs'* *'para'*
'paragraphs' 'para' string (default "IPLPPPQPP TPHPLIPpLpItpplpipbp")
@@ -5965,8 +6017,11 @@ A jump table for the options with a short description can be found at |Q_op|.
"bash.exe -c ls" or "command.com /c dir". For the MS-DOS-like
systems, the default is set according to the value of 'shell', to
reduce the need to set this option by the user. It's not used for
OS/2 (EMX figures this out itself). See |option-backslash| about
including spaces and backslashes. See |dos-shell|.
OS/2 (EMX figures this out itself).
On Unix it can have more than one flag. Each white space separated
part is passed as an argument to the shell command.
See |option-backslash| about including spaces and backslashes.
Also see |dos-shell| for MS-DOS and MS-Windows.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5987,9 +6042,10 @@ A jump table for the options with a short description can be found at |Q_op|.
For Unix the default it "| tee". The stdout of the compiler is saved
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. Before using
the 'shell' option a path is removed, thus "/bin/sh" uses "sh".
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
default becomes "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
@@ -6068,7 +6124,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi}
When on, use temp files for shell commands. When off use a pipe.
When using a pipe is not possible temp files are used anyway.
Currently a pipe is only supported on Unix. You can check it with: >
Currently a pipe is only supported on Unix and MS-Windows 2K and
later. You can check it with: >
:if has("filterpipe")
< The advantage of using a pipe is that nobody can read the temp file
and the 'shell' command does not need to support redirection.
@@ -6342,8 +6399,9 @@ A jump table for the options with a short description can be found at |Q_op|.
Do smart autoindenting when starting a new line. Works for C-like
programs, but can also be used for other languages. 'cindent' does
something like this, works better in most cases, but is more strict,
see |C-indenting|. When 'cindent' is on, setting 'si' has no effect.
'indentexpr' is a more advanced alternative.
see |C-indenting|. When 'cindent' is on or 'indentexpr' is set,
setting 'si' has no effect. 'indentexpr' is a more advanced
alternative.
Normally 'autoindent' should also be on when using 'smartindent'.
An indent is automatically inserted:
- After a line ending in '{'.
@@ -6581,7 +6639,7 @@ A jump table for the options with a short description can be found at |Q_op|.
where it was the last time the buffer was edited.
NOTE: This option is set when 'compatible' is set.
*'statusline'* *'stl'* *E540* *E541* *E542*
*'statusline'* *'stl'* *E540* *E542*
'statusline' 'stl' string (default empty)
global or local to window |global-local|
{not in Vi}
@@ -6594,7 +6652,7 @@ A jump table for the options with a short description can be found at |Q_op|.
normal text. Each status line item is of the form:
%-0{minwid}.{maxwid}{item}
All fields except the {item} is optional. A single percent sign can
be given as "%%". Up to 80 items can be specified.
be given as "%%". Up to 80 items can be specified. *E541*
When the option starts with "%!" then it is used as an expression,
evaluated and the result is used as the option value. Example: >
@@ -6647,7 +6705,7 @@ A jump table for the options with a short description can be found at |Q_op|.
k S Value of "b:keymap_name" or 'keymap' when |:lmap| mappings are
being used: "<keymap>"
n N Buffer number.
b N Value of byte under cursor.
b N Value of character under cursor.
B N As above, in hexadecimal.
o N Byte number in file of byte under cursor, first byte is 1.
Mnemonic: Offset from start of file (with one added)
@@ -7656,8 +7714,8 @@ 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 an empty item.
" 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
@@ -7873,6 +7931,17 @@ A jump table for the options with a short description can be found at |Q_op|.
a pattern from the list. This avoids problems when a future version
uses another default.
*'wildignorecase'* *'wic'* *'nowildignorecase'* *'nowic'*
'wildignorecase' 'wic' boolean (default off)
global
{not in Vi}
When set case is ignored when completing file names and directories.
Has no effect on systems where file name case is generally ignored.
Does not apply when the shell is used to expand wildcards, which
happens when there are special characters.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off)
global
+3 -313
View File
@@ -1,322 +1,12 @@
*os_risc.txt* For Vim version 7.3. Last change: 2010 Aug 07
*os_risc.txt* For Vim version 7.3. Last change: 2011 May 10
VIM REFERENCE MANUAL by Thomas Leonard
*riscos* *RISCOS* *RISC-OS*
This file contains the particularities for the RISC OS version of Vim.
The RISC OS support has been removed from Vim with patch 7.3.187.
If you would like to use Vim on RISC OS get the files from before that patch.
The RISC OS port is a completely new port and is not based on the old "archi"
port.
1. File locations |riscos-locations|
2. Filename munging |riscos-munging|
3. Command-line use |riscos-commandline|
4. Desktop (GUI) use |riscos-gui|
5. Remote use (telnet) |riscos-remote|
6. Temporary files |riscos-temp-files|
7. Interrupting |riscos-interrupt|
8. Memory usage |riscos-memory|
9. Filetypes |riscos-filetypes|
10. The shell |riscos-shell|
11. Porting new releases |riscos-porting|
If I've missed anything, email me and I'll try to fix it. In fact, even if I
haven't missed anything then email me anyway to give me some confidence that it
actually works!
Thomas Leonard <tal197@ecs.soton.ac.uk>
[these URLs no longer work...]
Port homepage: http://www.ecs.soton.ac.uk/~tal197/
or try: http://www.soton.ac.uk/~tal197/
==============================================================================
*riscos-locations*
1. File locations
The Vim executable and shared resource files are all stored inside the !Vim
application directory.
When !Vim is first seen by the filer, it aliases the *vi and *ex commands to
run the command-line versions of Vim (see |riscos-commandline|).
!Vim.Resources and !Vim.Resources2 contain the files from the standard Vim
distribution, but modified slightly to work within the limits of ADFS, plus
some extra files such as the window templates.
User choices are read from "Choices:*" and are saved to "<Choices$Write>.*".
If you have the new !Boot structure then these should be set up already. If
not, set Choices$Path to a list of directories to search when looking for
user configuration files. Set Choices$Write to the directory you want files
to be saved into (so your search patterns and marks can be remembered between
sessions).
==============================================================================
*riscos-munging*
2. Filename munging
All pathname munging is disabled by default, so Vim should behave like a
normal RISC OS application now. So, if you want to edit "doc/html" then you
actually type "*vi doc/html".
The only times munging is done is when:
- Searching included files from C programs, since these are always munged.
See |[I|.
Note: make sure you are in the right directory when you use this
command (i.e. the one with subdirectories "c" and "h").
- Sourcing files using |:so|.
Paths starting "$VIM/" are munged like this:
$VIM/syntax/help.vim -> Vim:syntax.help
Also, files ending in ".vim" have their extensions removed, and slashes
replaced with dots.
Some tag files and script files may have to be edited to work under this port.
==============================================================================
*riscos-commandline*
3. Command-line use
To use Vim from the command-line use the "*vi" command (or "*ex" for
|Ex-mode|).
Type "*vi -h" for a list of options.
Running the command-line version of Vim in a large high-color mode may cause
the scrolling to be very slow. Either change to a mode with fewer colors or
use the GUI version.
Also, holding down Ctrl will slow it down even more, and Ctrl-Shift will
freeze it, as usual for text programs.
==============================================================================
*riscos-gui*
4. Desktop use
Limitations:
- Left scrollbars don't work properly (right and bottom are fine).
- Doesn't increase scroll speed if it gets behind.
You can resize the window by dragging the lower-right corner, even though
there is no icon shown there.
You can use the --rows and --columns arguments to specify the initial size of
the Vim window, like this: >
*Vi -g --rows 20 --columns 80
The global clipboard is supported, so you can select some text and then
paste it directly into another application (provided it supports the
clipboard too).
Clicking Menu now opens a menu like a normal RISC OS program. Hold down Shift
when clicking Menu to paste (from the global clipboard).
Dragging a file to the window replaces the CURRENT buffer (the one with the
cursor, NOT the one you dragged to) with the file.
Dragging with Ctrl held down causes a new Vim window to be opened for the
file (see |:sp|).
Dragging a file in with Shift held down in insert mode inserts the pathname of
the file.
:browse :w opens a standard RISC OS save box.
:browse :e opens a directory viewer.
For fonts, you have the choice of the system font, an outline font, the system
font via ZapRedraw and any of the Zap fonts via ZapRedraw: >
:set guifont=
< To use the system font via the VDU drivers. Supports
bold and underline.
>
:set guifont=Corpus.Medium
< Use the named outline font. You can use any font, but
only monospaced ones like Corpus look right.
>
:set guifont=Corpus.Medium:w8:h12:b:i
< As before, but with size of 8 point by 12 point, and
in bold italic.
If only one of width and height is given then that
value is used for both. If neither is given then 10
point is used.
Thanks to John Kortink, Vim can use the ZapRedraw module. Start the font name
with "!" (or "!!" for double height), like this: >
:set guifont=!!
< Use the system font, but via ZapRedraw. This gives a
faster redraw on StrongARM processors, but you can't
get bold or italic text. Double height.
>
:set guifont=!script
< Uses the named Zap font (a directory in VimFont$Path).
The redraw is the same speed as for "!!", but you get
a nicer looking font.
Only the "man+" and "script" fonts are supplied
currently, but you can use any of the Zap fonts if
they are in VimFont$Path.
Vim will try to load font files "0", "B", "I" and "IB"
from the named directory. Only "0" (normal style) MUST
be present. Link files are not currently supported.
Note that when using ZapRedraw the edit bar is drawn in front of the character
you are on rather than behind it. Also redraw is incorrect for screen modes
with eigen values of 0. If the font includes control characters then you can
get Vim to display them by changing the 'isprint' option.
If you find the scrolling is too slow on your machine, try experimenting
with the 'scrolljump' and 'ttyscroll' options.
In particular, StrongARM users may find that: >
:set ttyscroll=0
makes scrolling faster in high-color modes.
=============================================================================
*riscos-remote*
5. Remote use (telnet)
I have included a built-in termcap entry, but you can edit the termcap file to
allow other codes to be used if you want to use Vim from a remote terminal.
Although I do not have an internet connection to my Acorn, I have managed to
run Vim in a FreeTerm window using the loopback connection.
It seems to work pretty well now, using "*vi -T ansi".
==============================================================================
*riscos-temp-files*
6. Temporary files
If Vim crashes then the swap and backup files (if any) will be in the
directories set with the 'directory' and 'bdir' options. By default the swap
files are in <Wimp$ScrapDir> (i.e. inside !Scrap) and backups are in the
directory you were saving to. Vim will allow you to try and recover the file
when you next try to edit it.
To see a list of swap files, press <F12> and type "*vi -r".
Vim no longer brings up ATTENTION warnings if you try to edit two files with
the same name in different directories.
However, it also no longer warns if you try to edit the same file twice (with
two copies of Vim), though you will still be warned when you save that the
datestamp has changed.
==============================================================================
*riscos-interrupt*
7. Interrupting
To break out of a looping macro, or similar, hold down Escape in the
command-line version, or press CTRL-C in the GUI version.
==============================================================================
*riscos-memory*
8. Memory usage
Vim will use dynamic areas on RISC OS 3.5 or later. If you can use them on
older machines then edit the !RunTxt and GVim files. I don't know what UnixLib
does by default on these machines so I'm playing safe.
It doesn't work at all well without dynamic areas, since it can't change its
memory allocation once running. Hence you should edit "!Vim.GVim" and
"!Vim.!RunTxt" to choose the best size for you. You probably need at least
about 1400K.
==============================================================================
*riscos-filetypes*
9. Filetypes
You can now specify that autocommands are only executed for files of certain
types. The filetype is given in the form &xxx, when xxx is the filetype.
Filetypes must be specified by number (e.g. &fff for Text).
The system has changed from version 5.3. The new sequence of events is:
- A file is loaded. |'osfiletype'| is set to the RISC OS filetype.
- Based on the filetype and pathname, Vim will try to set |'filetype'| to the
Vim-type of the file.
- Setting this option may load syntax files and perform other actions.
- Saving the file will give it a filetype of |'osfiletype'|.
Some examples may make this clearer:
Kind of file loaded osfiletype filetype ~
C code "c.hellow" Text (&fff) C
LaTeX document LaTeX (&2a8) TeX
Draw document DrawFile (&aff) (not changed)
==============================================================================
*riscos-shell*
10. The shell
- Bangs (!s) are only replaced if they are followed by a space or end-of-line,
since many pathnames contain them.
- You can prefix the command with "~", which stops any output from being
displayed. This also means that you don't have to press <Enter> afterwards,
and stops the screen from being redrawn. {only in the GUI version}
==============================================================================
*riscos-porting*
11. Porting new releases to RISC OS
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 RISC OS binary distribution (if possible)
Unarchiving:
- Create a raFS disk and put the archives on it
- Un-gzip them
- Un-tar them (*tar xELf 50 archive/tar)
Recompiling the sources:
- Create c, s, and h directories.
- Put all the header files in "h". \
- Put all the C files in "c". | And lose the extensions
- Put the assembler file ("swis/s") in "s". /
- Rename all the files in "proto" to "h", like this:
raFS::VimSrc.source.proto.file/pro
becomes
raFS::VimSrc.source.h.file_pro
- In the files "h.proto" and "c.termlib", search and replace
.pro"
with
_pro.h"
- Create a simple Makefile if desired and do "*make -k".
Use "CC = gcc -DRISCOS -DUSE_GUI -O2 -x c" in the Makefile.
- Save the binary as !Vim.Vim in the binary distribution.
Updating the run-time environment:
- Replace old or missing files inside !Vim.Resources with the
new files.
- Remove files in "doc" not ending in "/txt", except for "tags".
- Lose the extensions from the files in "doc".
- Edit the "doc.tags" file. Remove extensions from the second column: >
:%s/^\(.[^\t]*\t.*\)\.txt\t/\1\t/
- Remove extensions from the syntax files. Split them into two directories
to avoid the 77 entry limit on old ADFS filesystems.
- Edit "Vim:FileType" to match "*.c.*" as well as "*/c" and so on.
Add filetype checking too.
- Edit "Vim:Menu" and remove all the keys from the menus: >
:%s/<Tab>[^ \t]*//
<
vim:tw=78:ts=8:ft=help:norl:
+51 -53
View File
@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.3. Last change: 2010 Jul 28
*os_vms.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL
@@ -38,9 +38,6 @@ You can download the Vim source code by ftp from the official Vim site:
Or use one of the mirrors:
ftp://ftp.vim.org/pub/vim/MIRRORS
You will need both the Unix and Extra archives to build vim.exe for VMS.
For using Vim's full power you will need the runtime files as well.
You can download precompiled executables from:
http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/
@@ -75,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-problems*
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
platforms with the DEC C compiler. It should work without bigger problems.
platforms with the DEC C compiler. It should work without big problems.
If your system does not have some include libraries you can tune up in
OS_VMS_CONF.H file.
@@ -88,11 +85,11 @@ Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
Note: Under VAX it should work with the DEC C compiler without problems. The
VAX C compiler is not fully ANSI C compatible in pre-processor directives
semantics, therefore you have to use a converter program what will do the lion
semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt
MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should
change to subdirectory and build it separately.
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
change to a subdirectory and build it separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above.
@@ -184,9 +181,9 @@ You may want to create .vimrc and .gvimrc files in your home directory
The easiest way is just rename example files. You may leave the menu file
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
be default setup for all users, and for users it is enough just to have their
own additions or resetting in their home directory in files .vimrc and .gvimrc.
It should work without problems.
be the default setup for all users, and for users it is enough to just have
their own additions or resetting in their home directory in files .vimrc and
.gvimrc. It should work without problems.
Note: Remember, system rc files (default for all users) don't have a leading
".". So, system rc files are: >
@@ -200,7 +197,7 @@ and user customized rc files are: >
sys$login:.vimrc
sys$login:.gvimrc
You can check that everything is on the right place with the :version command.
You can check that everything is at the right place with the :version command.
Example LOGIN.COM: >
@@ -209,15 +206,15 @@ Example LOGIN.COM: >
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.5.223/trans=tcpip
Note: This set-up should be enough, if you are working on standalone server or
clustered environment, but if you want to use Vim as internode editor in
Note: This set-up should be enough, if you are working on a standalone server or
clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well.
You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
As for example: >
For example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -300,12 +297,12 @@ For more information type $help set disp in VMS prompt.
4) If you are working on MS-Windows or some other non X/Window environment
you need to set up one X server and run Vim as in point 2.
For MS-Windows there are available free X servers as MIX , Omni X etc.,
For MS-Windows there are available free X servers as MIX, Omni X etc.,
as well as excellent commercial products as eXcursion or ReflectionX with
built-in DEC support.
Please note, that executables without GUI are slightly faster during startup
then with enabled GUI in character mode. Therefore, if you do not use GUI
than with enabled GUI in character mode. Therefore, if you do not use GUI
features, it is worth to choose non GUI executables.
==============================================================================
@@ -326,8 +323,8 @@ features, it is worth to choose non GUI executables.
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.1 Backspace/delete
@@ -360,7 +357,7 @@ number, try these settings. >
:set nowritebackup " does not have any purpose on VMS. It's the
" default.
Recovery is working perfect as well from the default swap file.
Recovery is working perfectly as well from the default swap file.
Read more with :help swapfile
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
@@ -386,7 +383,7 @@ Note: You may use <,> brackets as well (device:<path>file.ext;version) as
rf10:<user.zay.work>test.c;1
(David Elins <delins@foliage.com>, Jerome Lauret
<JLAURET@mail.chem.sunysb.edu> Vim 5.6 )
<JLAURET@mail.chem.sunysb.edu> Vim 5.6)
8.5 Remote host invocation
@@ -445,14 +442,14 @@ Terminal entry not found in termcap
builtin_dumb
defaulting to 'vt320'
---
The solution is to define default terminal name: >
The solution is to define the default terminal name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive
$ define term "vt320"
Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra
keyboard mappings. They should work perfect as they are, including arrows,
Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
keyboard mappings. They should work perfectly as they are, including arrows,
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
.gvimrc: >
@@ -465,8 +462,8 @@ your .vimrc file: >
set ttyfast " set fast terminal
Note: if you're using Vim on remote host or through very slow connection, it's
recommended to avoid fast terminal option with: >
Note: if you're using Vim on remote host or through a very slow connection, it's
recommended to avoid the fast terminal option with: >
set nottyfast " set terminal to slow mode
@@ -483,8 +480,8 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all
DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc.
we're running into trouble if we follow the Vim documentation (see: help
DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
etc. we're running into trouble if we follow the Vim documentation (see: help
xxd).
Solution: Execute with the MC command and add the full path to the executable.
@@ -534,7 +531,7 @@ Example: >
$define SYS$PRINT HP5ANSI
You can print out whole buffer or just the marked area.
You can print out the whole buffer or just the marked area.
More info under :help hardcopy
(Zoltan Arpadffy, Vim 6.0c)
@@ -561,16 +558,16 @@ will be confused after a window-resize.
From 6.0 diff functionality has been implemented, but OpenVMS does not use
GNU/Unix like diff therefore built in diff does not work.
There is a simple solution to solve this anomaly. Install a Unix like diff
and Vim will work perfect in diff mode too. You just have to redefine your
and Vim will work perfectly in diff mode too. You just have to redefine your
diff program as: >
define /nolog diff <GNU_PATH>diff.exe
Another, more sophisticated solution is described below (8.12 diff-mode)
There are some other programs as patch, make etc that may cause same problems.
At www.polarhome.com is possible to download an GNU package for Alpha and VAX
boxes that is meant to solve GNU problems on OpenVMS.
( Zoltan Arpadffy, Vim 6.1)
There are other programs such as patch, make etc that may cause the same
problems. At www.polarhome.com is possible to download an GNU package for
Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
(Zoltan Arpadffy, Vim 6.1)
8.12 diff-mode
@@ -632,7 +629,7 @@ You can now compare files in 4 ways: >
3. VIM diff: $ VIMDIFF <FILE1> <FILE2>
4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.13 Allow '$' in C keywords
@@ -653,46 +650,47 @@ Now word-based commands, e.g. the '*'-search-command and the CTRL-]
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
C keywords since ctags version 5.1.)
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.14 VIMTUTOR for beginners
It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make
first steps with Vim on OpenVMS. Depending of binary distribution you may
start it with: >
The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
steps with Vim on OpenVMS. Depending of binary distribution you may start it
with: >
@vim:vimtutor
(Thomas.R.Wyant III, Vim 6.1)
8.14 Slow start in console mode issue
8.16 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather
slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
slow when user wants to run Vim just in the console mode - because of X
environment detection timeout.
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim72
|- vim73
|----- doc
|----- syntax
|----- syntax
vimrc (system rc files)
gvimrc
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ 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
$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
Like this, users that do not have X environment and want to use Vim just in
Like this, users that do not have X environment and want to use Vim just in
console mode can avoid performance problems.
(Zoltan Arpadffy, Vim 7.2)
@@ -714,8 +712,8 @@ View of Cluster from system ID 11655 node: TOR
+---------------------------------+
It is convenient to have a common VIM directory but execute different
executables.
There are more solutions for this problem:
executables.
There are several solutions for this problem:
Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added
@@ -755,7 +753,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/
@@ -769,7 +767,7 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 7.3
- CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename
- filepath completion corrected - too many chars were escaped in filename
and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
@@ -784,10 +782,10 @@ Version 7.3
Version 7.2 (2008 Aug 9)
- VCF files write corrected
- CTAGS 5.7 included
- corrected make_vms.mms (on VAX gave syntax error)
- corrected make_vms.mms (on VAX gave syntax error)
Version 7.1 (2007 Jun 15)
- create TAGS file from menu
- create TAGS file from menu
Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
+32 -1
View File
@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.3. Last change: 2010 Jul 20
*os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by George Reilly
@@ -313,6 +313,37 @@ A. When using :! to run an external command, you can run it with "start": >
with :!start do not get passed Vim's open file handles, which means they do
not have to be closed before Vim.
To avoid this special treatment, use ":! start".
There are two optional arguments (see the next Q):
/min the window will be minimized.
/b" no console window will be opened
You can use only one of these flags at a time. A second one will be
treated as the start of the command.
Q. How do I avoid getting a window for programs that I run asynchronously?
A. You have two possible solutions depending on what you want:
1) You may use the /min flag in order to run program in a minimized state
with no other changes. It will work equally for console and GUI
applications.
2) You can use the /b flag to run console applications without creating a
console window for them (GUI applications are not affected). But you
should use this flag only if the application you run doesn't require any
input. Otherwise it will get an EOF error because its input stream
(stdin) would be redirected to \\.\NUL (stdout and stderr too).
Example for a console application, run Exuberant ctags: >
:!start /min ctags -R .
< When it has finished you should see file named "tags" in your current
directory. You should notice the window title blinking on your taskbar.
This is more noticable for commands that take longer.
Now delete the "tags" file and run this command: >
:!start /b ctags -R .
< You should have the same "tags" file, but this time there will be no
blinking on the taskbar.
Example for a GUI application: >
:!start /min notepad
:!start /b notepad
< The first command runs notepad minimized and the second one runs it
normally.
Q. I'm using Win32s, and when I try to run an external command like "make",
Vim doesn't wait for it to finish! Help!
+14 -7
View File
@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.3. Last change: 2010 Jul 20
*pattern.txt* For Vim version 7.3. Last change: 2011 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -214,7 +214,8 @@ The last used pattern and offset are remembered. They can be used to repeat
the search, possibly in another direction or with another count. Note that
two patterns are remembered: One for 'normal' search commands and one for the
substitute command ":s". Each time an empty pattern is given, the previously
used pattern is used.
used pattern is used. However, if there is no previous search command, a
previous substitute pattern is used, if possible.
The 'magic' option sticks with the last used pattern. If you change 'magic',
this will not change how the last used pattern will be interpreted.
@@ -634,7 +635,8 @@ overview.
Like '(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
a.\{-}p\@! "a", "ap", "app", etc. not followed by a "p"
a.\{-}p\@! "a", "ap", "aap", "app", etc. not immediately
followed by a "p"
if \(\(then\)\@!.\)*$ "if " not followed by "then"
Using "\@!" is tricky, because there are many places where a pattern
@@ -650,6 +652,13 @@ overview.
"foobar" you could use "\(foo\)\@!...bar", but that doesn't match a
bar at the start of a line. Use "\(foo\)\@<!bar".
Useful example: to find "foo" in a line that does not contain "bar": >
/^\%(.*bar\)\@!.*\zsfoo
< This pattern first checks that there is not a single position in the
line where "bar" matches. If ".*bar" matches somewhere the \@! will
reject the pattern. When there is no match any "foo" will be found.
The "\zs" is to have the match start just before "foo".
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
follows. |/zero-width| {not in Vi}
@@ -1027,11 +1036,9 @@ x A single character, with no special meaning, matches itself
These items only work for 8-bit characters.
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. The form
is:
have almost the same meaning, e.g., when ignoring accents. This
only works for Unicode, latin1 and latin9. The form is:
[=a=]
Currently this is only implemented for latin1. Also works for the
latin1 characters in utf-8 and latin9.
*/[[.* *[..]*
- A collation element. This currently simply accepts a single
character in the form:
+36 -10
View File
@@ -1,11 +1,11 @@
*pi_getscript.txt* For Vim version 7.3. Last change: 2009 Oct 14
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 May 31
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
<
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
(remove NOSPAM from the email address)
*GetLatestVimScripts-copyright*
Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *glvs-copyright*
Copyright: (c) 2004-2010 by Charles E. Campbell, Jr. *glvs-copyright*
The VIM LICENSE applies to getscript.vim and
pi_getscript.txt (see |copyright|) except use
"getscript" instead of "Vim". No warranty, express or implied.
@@ -77,7 +77,9 @@ Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
Unless it has been defined elsewhere, >
:GLVS
will invoke GetLatestVimScripts(). If some other plugin has defined that
command, then you may type
>
@@ -127,7 +129,8 @@ click on the script's link, you'll see a line resembling
http://vim.sourceforge.net/scripts/script.php?script_id=40
The "40" happens to be a ScriptID that GetLatestVimScripts needs to
download the associated page.
download the associated page, and is assigned by vim.sf.net itself
during initial uploading of the plugin.
The second number on each line gives the script's SourceID. The SourceID
records the count of uploaded scripts as determined by vim.sf.net; hence it
@@ -151,19 +154,39 @@ This comment line tells getscript.vim to check vimscript #884 and that the
script is automatically installable. Getscript will also use this line to
help build the GetLatestVimScripts.dat file, by including a line such as: >
884 1 AutoAlign.vim
884 1 :AutoInstall: AutoAlign.vim
<
in it an AutoAlign.vim line isn't already in GetLatestVimScripts.dat file.
assuming that such a line isn't already in GetLatestVimScripts.dat file.
See |glvs-plugins| for more. Thus, GetLatestVimScripts thus provides a
comprehensive ability to keep your plugins up-to-date!
In summary:
* Optionally tell getscript that it is allowed to build/append a
GetLatestVimScripts.dat file based upon already installed plugins: >
let g:GetLatestVimScripts_allowautoinstall=1
<
* A line such as >
" GetLatestVimScripts: 884 1 :AutoInstall: AutoAlign.vim
< in an already-downloaded plugin constitutes the concurrence of the
plugin author that getscript may do AutoInstall. Not all plugins
may be AutoInstall-able, and the plugin's author is best situated
to know whether or not his/her plugin will AutoInstall properly.
* A line such as >
884 1 :AutoInstall: AutoAlign.vim
< in your GetLatestVimScripts.dat file constitutes your permission
to getscript to do AutoInstall. AutoInstall requires both your
and the plugin author's permission. See |GetLatestVimScripts_dat|.
*GetLatestVimScripts_dat*
As an example of a <GetLatestVimScripts.dat> file:
>
ScriptID SourceID Filename
--------------------------
294 1 Align.vim
120 2 decho.vim
294 1 :AutoInstall: Align.vim
120 2 Decho.vim
40 3 DrawIt.tar.gz
451 4 EasyAccents.vim
195 5 engspchk.vim
@@ -201,8 +224,8 @@ are, then you may include :AutoInstall: just before "yourscriptname":
^
scriptid
<
NOTE: :AutoInstall: is a plugin-author option, not a GetLatestVimScripts.dat~
entry!~
NOTE: The :AutoInstall: feature requires both the plugin author's and~
the user's permission to operate!~
GetLatestVimScripts commands for those scripts are then appended, if not
already present, to the user's GetLatest/GetLatestVimScripts.dat file. It is
@@ -210,7 +233,7 @@ a relatively painless way to automate the acquisition of any scripts your
plugins depend upon.
Now, as an author, you probably don't want GetLatestVimScripts to download
your own scripts for you yourself, thereby overwriting your not-yet-released
your own scripts atop your own copy, thereby overwriting your not-yet-released
hard work. GetLatestVimScripts provides a solution for this: put
>
0 0 yourscriptname
@@ -351,6 +374,9 @@ The AutoInstall process will:
==============================================================================
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
v33 May 31, 2011 : * using fnameescape() instead of escape()
* *.xz support
v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression
v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
* (David Schaefer) the acd option interferes with vimballs
Solution: bypass the acd option
+210 -90
View File
@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.3. Last change: 2010 Jul 28
*pi_netrw.txt* For Vim version 7.3. Last change: 2011 May 31
-----------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
@@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
Copyright: Copyright (C) 1999-2011 Charles E Campbell, Jr *netrw-copyright*
Permission is hereby granted to use and distribute this code, with
or without modifications, provided that this copyright notice is
copied with it. Like anything else that's free, netrw.vim,
@@ -41,7 +41,7 @@ Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
NETRC..............................................|netrw-netrc|
PASSWORD...........................................|netrw-passwd|
5. Activation...........................................|netrw-activate|
6. Transparent File Editing.............................|netrw-transparent|
6. Transparent Remote File Editing......................|netrw-transparent|
7. Ex Commands..........................................|netrw-ex|
8. Variables and Options................................|netrw-var|
9. Browsing.............................................|netrw-browse|
@@ -65,6 +65,7 @@ Copyright: Copyright (C) 1999-2010 Charles E Campbell, Jr *netrw-copyright*
Displaying Information About File..................|netrw-qf|
Edit File Or Directory Hiding List.................|netrw-ctrl-h|
Editing The Sorting Sequence.......................|netrw-S|
Forcing treatment as a file or directory...........|netrw-gd| |netrw-gf|
Going Up...........................................|netrw--|
Hiding Files Or Directories........................|netrw-a|
Improving Browsing.................................|netrw-ssh-hack|
@@ -180,19 +181,19 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
Protocol Variable Default Value
-------- ---------------- -------------
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
*g:netrw_http_xcmd* : the option string for http://... protocols are
specified via this variable and may be independently overridden. By
@@ -272,7 +273,7 @@ SOURCING *netrw-source* {{{2
:Nsource "scp://[user@]machine[[:#]port]/path" uses scp
:Nsource "sftp://[user@]machine/path" uses sftp
DIRECTORY LISTING *netrw-dirlist* {{{2
DIRECTORY LISTING *netrw-trailingslash* *netrw-dirlist* {{{2
One may browse a directory to get a listing by simply attempting to
edit the directory: >
@@ -280,14 +281,15 @@ DIRECTORY LISTING *netrw-dirlist* {{{2
:e scp://[user]@hostname/path/
:e ftp://[user]@hostname/path/
<
For remote directories (ie. those using scp or ftp), that trailing
"/" is necessary (the slash tells netrw to treat the argument as a
directory to browse instead of a file to download).
For remote directory listings (ie. those using scp or ftp), that
trailing "/" is necessary (the slash tells netrw to treat the argument
as a directory to browse instead of as a file to download).
However, the Nread command can also be used to accomplish this:
:Nread [protocol]://[user]@hostname/path/
The Nread command may also be used to accomplish this (again, that
trailing slash is necessary): >
:Nread [protocol]://[user]@hostname/path/
<
*netrw-login* *netrw-password*
CHANGING USERID AND PASSWORD *netrw-chgup* *netrw-userpass* {{{2
@@ -500,7 +502,23 @@ that file. Your ftp must be able to use the <.netrc> file on its own, however.
>
vim ftp://[user@]machine[[:#]portnumber]/path
<
However, ftp will often need to query the user for the userid and password.
Windows provides an ftp (typically c:\Windows\System32\ftp.exe) which uses
an option, -s:filename (filename can and probably should be a full path)
which contains ftp commands which will be automatically run whenever ftp
starts. You may use this feature to enter a user and password for one site: >
userid
password
If |g:netrw_ftp_cmd| contains -s:[path/]MACHINE, then (on Windows machines only)
netrw will substitute the current machine name requested for ftp connection
for MACHINE. Hence one can have multiple machine.ftp files containing login
and password for ftp. Example: >
g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
vim ftp://myhost.somewhere.net/
will use a file >
C:\Users\Myself\myhost.ftp
<
Often, ftp will need to query the user for the userid and password.
The latter will be done "silently"; ie. asterisks will show up instead of
the actually-typed-in password. Netrw will retain the userid and password
for subsequent read/writes from the most recent transfer so subsequent
@@ -624,7 +642,7 @@ your <.vimrc> customization file: >
<
==============================================================================
6. Transparent File Editing *netrw-transparent* {{{1
6. Transparent Remote File Editing *netrw-transparent* {{{1
Transparent file transfers occur whenever a regular file read or write
(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
@@ -1225,7 +1243,7 @@ CHANGING TO A PREDECESSOR DIRECTORY *netrw-u* *netrw-updir* {{{2
Every time you change to a new directory (new for the current session),
netrw will save the directory in a recently-visited directory history
list (unless g:netrw_dirhistmax is zero; by default, it's ten). With the
list (unless |g:netrw_dirhistmax| is zero; by default, it's ten). With the
"u" map, one can change to an earlier directory (predecessor). To do
the opposite, see |netrw-U|.
@@ -1527,6 +1545,19 @@ Related topics: |netrw-s| |netrw-S|
Associated setting variables: |g:netrw_sort_sequence| |g:netrw_sort_options|
FORCING TREATMENT AS A FILE OR DIRECTORY *netrw-gd* *netrw-gf* {{{2
Remote symbolic links (ie. those listed via ssh or ftp) are problematic
in that it is difficult to tell whether they link to a file or to a
directory.
To force treatment as a file: use >
gd
<
To force treatment as a directory: use >
gf
<
GOING UP *netrw--* {{{2
To go up a directory, press "-" or press the <cr> when atop the ../ directory
@@ -1740,6 +1771,16 @@ the cursor atop a marked file and press "mf". This process also works
with <s-leftmouse> using gvim. One may unmark all files by pressing
"mu" (see |netrw-mu|).
Marked files are highlighted using the "netrwMarkFile" highlighting group,
which by default is linked to "Identifier" (see Identifier under
|group-name|). You may change the highlighting group by putting something
like >
highlight clear netrwMarkFile
hi link netrwMarkFile ..whatever..
<
into $HOME/.vim/after/syntax/netrw.vim .
*markfilelist* *global_markfilelist* *local_markfilelist*
All marked files are entered onto the global marked file list; there is only
one such list. In addition, every netrw buffer also has its own local marked
@@ -1789,7 +1830,8 @@ MARKED FILES: COPYING *netrw-mc* {{{2
(Uses the global marked file list)
Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mc".
select file(s) (see |netrw-mf|), and press "mc". The copy is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
@@ -1841,7 +1883,8 @@ MARKED FILES: MOVING *netrw-mm* {{{2
Use at your own risk!
Select a target directory with mt (|netrw-mt|). Then change directory,
select file(s) (see |netrw-mf|), and press "mm".
select file(s) (see |netrw-mf|), and press "mm". The move is done
from the current window (where one does the mf) to the target.
Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
@@ -1922,21 +1965,21 @@ your browsing preferences. (see also: |netrw-settings|)
--- -----------
Var Explanation
--- -----------
< *g:netrw_alto* change from above splitting to below splitting
< *g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|)
default: =&sb (see |'sb'|)
*g:netrw_altv* change from left splitting to right splitting
*g:netrw_altv* change from left splitting to right splitting
by setting this variable (see |netrw-v|)
default: =&spr (see |'spr'|)
*g:netrw_banner* enable/suppress the banner
*g:netrw_banner* enable/suppress the banner
=0: suppress the banner
=1: banner is enabled (default)
NOTE: suppressing the banner is a new feature
which may cause problems.
*g:netrw_browse_split* when browsing, <cr> will open the file by:
*g:netrw_browse_split* when browsing, <cr> will open the file by:
=0: re-using the same window
=1: horizontally splitting the window first
=2: vertically splitting the window first
@@ -1946,7 +1989,7 @@ your browsing preferences. (see also: |netrw-settings|)
to get vertical splitting instead of
horizontal splitting.
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
"kfmclient exec"
"gnome-open"
< If >
@@ -1955,35 +1998,48 @@ your browsing preferences. (see also: |netrw-settings|)
a script/function to handle the given
extension. (see |netrw_filehandler|).
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
*g:netrw_chgperm* Unix/Linux: "chmod PERM FILENAME"
Windows: "cacls FILENAME /e /p PERM"
Used to change access permission for a file.
*g:netrw_compress* ="gzip"
*g:netrw_compress* ="gzip"
Will compress marked files with this
command
*g:netrw_ctags* ="ctags"
*g:netrw_ctags* ="ctags"
The default external program used to create tags
*g:netrw_cursorline* = 1 (default)
will use the |'cursorline'| local setting when
|g:netrw_liststyle| ==0 (thin listing) or
|g:netrw_liststyle| ==1 (long listing) or
|g:netrw_liststyle| ==3 (tree listing)
(ie. doesn't affect the wide listing)
=0: off
=2: like ==1, but the wide listing gets both
cursorline and |'cursorcolumn'|locally set
*g:netrw_cursor* = 2 (default)
This option controls the use of the
|'cursorline'| (cul) and |'cursorcolumn'|
(cuc) settings by netrw:
*g:netrw_decompress* = { ".gz" : "gunzip" ,
Value Thin-Long-Tree Wide
=0 u-cul u-cuc u-cul u-cuc
=1 u-cul u-cuc cul u-cuc
=2 cul u-cuc cul u-cuc
=3 cul u-cuc cul cuc
=4 cul cuc cul cuc
Where
u-cul : user's |'cursorline'| setting used
u-cuc : user's |'cursorcolumn'| setting used
cul : |'cursorline'| locally set
cuc : |'cursorcolumn'| locally set
*g:netrw_decompress* = { ".gz" : "gunzip" ,
".bz2" : "bunzip2" ,
".zip" : "unzip" ,
".tar" : "tar -xf"}
A dictionary mapping suffices to
decompression programs.
*g:netrw_fastbrowse* =0: slow speed directory browsing;
*g:netrw_dirhistmax* =10: controls maximum quantity of past
history. May be zero to supppress
history.
(related: |netrw-qb| |netrw-u| |netrw-U|)
*g:netrw_fastbrowse* =0: slow speed directory browsing;
never re-uses directory listings,
always obtains directory listings.
=1: medium speed directory browsing;
@@ -2007,10 +2063,10 @@ your browsing preferences. (see also: |netrw-settings|)
trading off accuracy (ie. up-to-date listing)
versus speed.
*g:netrw_fname_escape* =' ?&;%'
*g:netrw_fname_escape* =' ?&;%'
Used on filenames before remote reading/writing
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
*g:netrw_ftp_browse_reject* ftp can produce a number of errors and warnings
that can show up as "directories" and "files"
in the listing. This pattern is used to
remove such embedded messages. By default its
@@ -2023,95 +2079,95 @@ your browsing preferences. (see also: |netrw-settings|)
: connect to address [0-9a-fA-F:]*
: No route to host$'
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
*g:netrw_ftp_list_cmd* options for passing along to ftp for directory
listing. Defaults:
unix or g:netrw_cygwin set: : "ls -lF"
otherwise "dir"
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
*g:netrw_ftp_sizelist_cmd* options for passing along to ftp for directory
listing, sorted by size of file.
Defaults:
unix or g:netrw_cygwin set: : "ls -slF"
otherwise "dir"
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
*g:netrw_ftp_timelist_cmd* options for passing along to ftp for directory
listing, sorted by time of last modification.
Defaults:
unix or g:netrw_cygwin set: : "ls -tlF"
otherwise "dir"
*g:netrw_glob_escape* ='[]*?`{~$' (unix)
*g:netrw_glob_escape* ='[]*?`{~$' (unix)
='[]*?`{$' (windows
These characters in directory names are
escaped before applying glob()
*g:netrw_hide* if true, the hiding list is used
*g:netrw_hide* if true, the hiding list is used
default: =0
*g:netrw_home* The home directory for where bookmarks and
*g:netrw_home* The home directory for where bookmarks and
history are saved (as .netrwbook and
.netrwhist).
default: the first directory on the
|'runtimepath'|
*g:netrw_keepdir* =1 (default) keep current directory immune from
*g:netrw_keepdir* =1 (default) keep current directory immune from
the browsing directory.
=0 keep the current directory the same as the
browsing directory.
The current browsing directory is contained in
b:netrw_curdir (also see |netrw-c|)
*g:netrw_list_cmd* command for listing remote directories
*g:netrw_list_cmd* command for listing remote directories
default: (if ssh is executable)
"ssh HOSTNAME ls -FLa"
*g:netrw_liststyle* Set the default listing style:
*g:netrw_liststyle* Set the default listing style:
= 0: thin listing (one file per line)
= 1: long listing (one file per line with time
stamp information and file size)
= 2: wide listing (multiple files in columns)
= 3: tree style listing
*g:netrw_list_hide* comma separated pattern list for hiding files
*g:netrw_list_hide* comma separated pattern list for hiding files
Patterns are regular expressions (see |regexp|)
Example: let g:netrw_list_hide= '.*\.swp$'
default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
="copy" Windows
Copies marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
*g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
="move" Windows
Moves marked files (|netrw-mf|) to target
directory (|netrw-mt|, |netrw-mm|)
*g:netrw_local_mkdir* command for making a local directory
*g:netrw_local_mkdir* command for making a local directory
default: "mkdir"
*g:netrw_local_rmdir* remove directory command (rmdir)
*g:netrw_local_rmdir* remove directory command (rmdir)
default: "rmdir"
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
listings fit on 80 column displays.
If your screen is wider, and you have file
or directory names longer than 32 bytes,
you may set this option to keep listings
columnar.
*g:netrw_mkdir_cmd* command for making a remote directory
*g:netrw_mkdir_cmd* command for making a remote directory
default: "ssh USEPORT HOSTNAME mkdir"
*g:netrw_mousemaps* =1 (default) enables the mouse buttons
while browsing:
*g:netrw_mousemaps* =1 (default) enables mouse buttons while
browsing to:
leftmouse : open file/directory
shift-leftmouse : mark file
middlemouse : same as P
rightmouse : remove file/directory
=0: disables mouse maps
*g:netrw_retmap* if it exists and is set to one, then:
*g:netrw_retmap* if it exists and is set to one, then:
* if in a netrw-selected file, AND
* no normal-mode <2-leftmouse> mapping exists,
then the <2-leftmouse> will be mapped for easy
@@ -2130,22 +2186,22 @@ your browsing preferences. (see also: |netrw-settings|)
default: =0
*g:netrw_rm_cmd* command for removing files
*g:netrw_rm_cmd* command for removing files
default: "ssh USEPORT HOSTNAME rm"
*g:netrw_rmdir_cmd* command for removing directories
*g:netrw_rmdir_cmd* command for removing directories
default: "ssh USEPORT HOSTNAME rmdir"
*g:netrw_rmf_cmd* command for removing softlinks
*g:netrw_rmf_cmd* command for removing softlinks
default: "ssh USEPORT HOSTNAME rm -f"
*g:netrw_sort_by* sort by "name", "time", or "size"
*g:netrw_sort_by* sort by "name", "time", or "size"
default: "name"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
default: "normal"
*g:netrw_sort_options* sorting is done using |:sort|; this
*g:netrw_sort_options* sorting is done using |:sort|; this
variable's value is appended to the
sort command. Thus one may ignore case,
for example, with the following in your
@@ -2153,14 +2209,14 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_sort_options="i"
< default: ""
*g:netrw_sort_sequence* when sorting by name, first sort by the
*g:netrw_sort_sequence* when sorting by name, first sort by the
comma-separated pattern sequence. Note that
the filigree added to indicate filetypes
should be accounted for in your pattern.
default: '[\/]$,*,\.bak$,\.o$,\.h$,
\.info$,\.swp$,\.obj$'
*g:netrw_special_syntax* If true, then certain files will be shown
*g:netrw_special_syntax* If true, then certain files will be shown
in special syntax in the browser:
netrwBak : *.bak
@@ -2171,7 +2227,7 @@ your browsing preferences. (see also: |netrw-settings|)
netrwMakefile: [mM]akefile *.mak
netrwObj : *.o *.obj
netrwTags : tags ANmenu ANtags
netrwTilde : *~
netrwTilde : *~
netrwTmp : tmp* *tmp
These syntax highlighting groups are linked
@@ -2182,12 +2238,12 @@ your browsing preferences. (see also: |netrw-settings|)
< into one's <.vimrc> to use one's own
preferences.
*g:netrw_ssh_cmd* One may specify an executable command
*g:netrw_ssh_cmd* One may specify an executable command
to use instead of ssh for remote actions
such as listing, file removal, etc.
default: ssh
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
*g:netrw_ssh_browse_reject* ssh can sometimes produce unwanted lines,
messages, banners, and whatnot that one doesn't
want masquerading as "directories" and "files".
Use this pattern to remove such embedded
@@ -2195,11 +2251,11 @@ your browsing preferences. (see also: |netrw-settings|)
'^total\s\+\d\+$'
*g:netrw_tmpfile_escape* =' &;'
*g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files
to escape these characters.
*g:netrw_timefmt* specify format string to vim's strftime().
*g:netrw_timefmt* specify format string to vim's strftime().
The default, "%c", is "the preferred date
and time representation for the current
locale" according to my manpage entry for
@@ -2209,7 +2265,7 @@ your browsing preferences. (see also: |netrw-settings|)
" %a %Y-%m-%d %I-%M-%S %p"
default: "%c"
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
*g:netrw_use_noswf* netrw normally avoids writing swapfiles
for browser buffers. However, under some
systems this apparently is causing nasty
ml_get errors to appear; if you're getting
@@ -2217,12 +2273,15 @@ your browsing preferences. (see also: |netrw-settings|)
let g:netrw_use_noswf= 0
in your .vimrc.
*g:netrw_winsize* specify initial size of new windows made with
*g:netrw_winsize* specify initial size of new windows made with
"o" (see |netrw-o|), "v" (see |netrw-v|),
|:Hexplore| or |:Vexplore|.
default: ""
|:Hexplore| or |:Vexplore|. The g:netrw_winsize
is an integer describing the percentage of the
current netrw buffer's window to be used for
the new window.
default: 50 (for 50%)
*g:netrw_xstrlen* Controls how netrw computes string lengths,
*g:netrw_xstrlen* Controls how netrw computes string lengths,
including multi-byte characters' string
length. (thanks to N Weibull, T Mechelynck)
=0: uses Vim's built-in strlen()
@@ -2238,7 +2297,7 @@ your browsing preferences. (see also: |netrw-settings|)
immediately preceded by lam, one
otherwise, etc)
*g:NetrwTopLvlMenu* This variable specifies the top level
*g:NetrwTopLvlMenu* This variable specifies the top level
menu name; by default, it's "Netrw.". If
you wish to change this, do so in your
.vimrc.
@@ -2254,7 +2313,7 @@ file you edit; this apparently also applies to directories. In other words,
autochdir sets the current directory to that containing the "file" (even if
that "file" is itself a directory).
NETRW SETTINGS *netrw-settings* {{{2
NETRW BROWSER SETTINGS *netrw-settings* {{{2
With the NetrwSettings.vim plugin, >
:NetrwSettings
@@ -2298,6 +2357,7 @@ Related topics:
directory, see |g:netrw_keepdir|.
*netrw-createfile*
OPEN A NEW FILE IN NETRW'S CURRENT DIRECTORY *netrw-%*
To open a file in netrw's current directory, press "%". This map will
@@ -2604,7 +2664,7 @@ Associated setting variables: |g:netrw_chgwin|
*netrw-p11*
P11. I want to have two windows; a thin one on the left and my editing
window on the right. How can I do this?
window on the right. How may I accomplish this?
* Put the following line in your <.vimrc>:
let g:netrw_altv = 1
@@ -2650,18 +2710,56 @@ Associated setting variables: |g:netrw_chgwin|
"let g:netrw_sftp_cmd = "d:\\dev\\putty\\PSFTP.exe"
"let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
<
*netrw-p14*
P14. I'd would like to speed up writes using Nwrite and scp/ssh
style connections. How? (Thomer M. Gil)
Try using ssh's ControlMaster and ControlPath (see the ssh_config
man page) to share multiple ssh connections over a single network
connection. That cuts out the cryptographic handshake on each
file write, sometimes speeding it up by an order of magnitude.
(see http://thomer.com/howtos/netrw_ssh.html)
(included by permission)
Add the following to your ~/.ssh/config: >
# you change "*" to the hostname you care about
Host *
ControlMaster auto
ControlPath /tmp/%r@%h:%p
< Then create an ssh connection to the host and leave it running: >
ssh -N host.domain.com
< Now remotely open a file with Vim's Netrw and enjoy the
zippiness: >
vim scp://host.domain.com//home/user/.bashrc
<
*netrw-p15*
P15. How may I use a double-click instead of netrw's usual single click
to open a file or directory? (Ben Fritz)
First, disable netrw's mapping with >
let g:netrw_mousemaps= 0
< and then create a netrw buffer only mapping in
$HOME/.vim/after/ftplugin/netrw.vim: >
nmap <buffer> <2-leftmouse> <CR>
< Note that setting g:netrw_mousemaps to zero will turn off
all netrw's mouse mappings, not just the <leftmouse> one.
(see |g:netrw_mousemaps|)
==============================================================================
11. Debugging Netrw Itself *netrw-debug* {{{1
The <netrw.vim> script is typically available as:
The <netrw.vim> script is typically available as something like:
>
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim
< -or- >
/usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim6x/autoload/netrw.vim
<
which is loaded automatically at startup (assuming :set nocp).
@@ -2706,6 +2804,28 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
12. History *netrw-history* {{{1
v142: Apr 06, 2011 * I modified NetrwRemoteListing() to use
shellescape(fnameescape(s:path),1) for
the benefit of those using scp://.../
with subdirectories having spaces.
Problem reported by: Gilles Charron
Apr 18, 2011 * s:NetrwMethod() attempts to issue an
error message when given a malformed url
Apr 29, 2011 * converted most mousemaps to use <Plug>s
* |g:netrw_winsize|'s meaning changed
v141: Aug 28, 2010 * added -s:... support for Windows ftp
* restored 2-leftmouse for :Rex-like return
* added balloon help for banner
Oct 26, 2010 * :Texplore changed to start from netrw's idea
of the current directory, not pwd's
Feb 10, 2011 * netrwPlugin modified to use BufReadCmd
when the "filename" ends with a "/" or a "\"
Avoids "... is a directory" message, works
inside a try-catch-endtry clause.
Feb 22, 2011 * for menus, &go =~# used to insure correct case
Apr 01, 2011 * changed g:netrw_cursorcolumn to g:netrw_cursor
In addition, there's more supported settings for
it.
v140: Jul 27, 2010 * (Lech Lorens) unexpected change of window
v139: May 14, 2010 * when viewing remote directory listings and
changing listing style, going to tree listing
@@ -2732,7 +2852,7 @@ which is loaded automatically at startup (assuming :set nocp).
v137: Dec 28, 2009 * modified the preview window handling for
vertically split windows. The preview
window will take up all but g:netrw_winsize
columns of the original window; those
columns of the original window; those
g:netrw_winsize columns will be used for
the netrw listing.
* (Simon Dambe) removed "~" from
+5 -1
View File
@@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Aug 09
*pi_tar.txt* For Vim version 7.3. Last change: 2011 May 31
+====================+
| Tar File Interface |
@@ -83,8 +83,12 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
4. History *tar-history*
v27 May 31, 2011 * moved cygwin detection before g:tar_copycmd handling
* inserted additional |:keepj| modifiers
* changed silent to sil! (|:silent|)
v26 Aug 09, 2010 * uses buffer-local instead of window variables to hold
tarfile name
* inserted keepj before 0d to protect jump list
v25 Jun 19, 2010 * (Jan Steffens) added support for xz compression
v24 Apr 07, 2009 * :Untarvim command implemented
Sep 28, 2009 * Added lzma support
+21 -2
View File
@@ -1,4 +1,4 @@
*pi_vimball.txt* For Vim version 7.3. Last change: 2010 Apr 12
*pi_vimball.txt* For Vim version 7.3. Last change: 2011 Aug 14
----------------
Vimball Archiver
@@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *Vimball-copyright*
Copyright: (c) 2004-2011 by Charles E. Campbell, Jr. *Vimball-copyright*
The VIM LICENSE applies to Vimball.vim, and Vimball.txt
(see |copyright|) except use "Vimball" instead of "Vim".
No warranty, express or implied.
@@ -16,6 +16,7 @@ Copyright: (c) 2004-2009 by Charles E. Campbell, Jr. *Vimball-copyright*
1. Contents *vba* *vimball* *vimball-contents*
1. Contents......................................: |vimball-contents|
2. Vimball Introduction..........................: |vimball-intro|
3. Vimball Manual................................: |vimball-manual|
MkVimball.....................................: |:MkVimball|
UseVimball....................................: |:UseVimball|
@@ -176,6 +177,22 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
its now turned off)
32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
:so someplugin.vba.gz (and the other supported
compression types) now works
* (Jan Steffens) added support for xz compression
* fenc extraction was erroneously picking up the
end of the line number when no file encoding
was present. Fixed.
* By request, beginning the switchover from the vba
extension to vmb. Currently both are supported;
MkVimball, however, now will create *.vmb files.
Feb 11, 2011 * motoyakurotsu reported an error with vimball's
handling of zero-length files
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems
@@ -199,6 +216,8 @@ WINDOWS *vimball-windows*
causing problems as reported by Zhang Shuhan
24 : Nov 15, 2007 * g:vimball_path_escape used by s:Path() to
prevent certain characters from causing trouble
(defunct: |fnameescape()| and |shellescape()|
now used instead)
22 : Mar 21, 2007 * uses setlocal instead of set during BufEnter
21 : Nov 27, 2006 * (tnx to Bill McCarthy) vimball had a header
handling problem and it now changes \s to /s
+10 -7
View File
@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Apr 12
*pi_zip.txt* For Vim version 7.3. Last change: 2011 Aug 14
+====================+
| Zip File Interface |
@@ -6,7 +6,7 @@
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
Copyright: Copyright (C) 2005-2011 Charles E Campbell, Jr *zip-copyright*
Permission is hereby granted to use and distribute this code,
with or without modifications, provided that this copyright
notice is copied with it. Like anything else that's free,
@@ -17,14 +17,14 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
the use of this software.
==============================================================================
1. Contents *zip* *zip-contents*
1. Contents *zip* *zip-contents*
1. Contents................................................|zip-contents|
2. Usage...................................................|zip-usage|
3. Additional Extensions...................................|zip-extension|
4. History.................................................|zip-history|
==============================================================================
2. Usage *zip-usage* *zip-manual*
2. Usage *zip-usage* *zip-manual*
When one edits a *.zip file, this plugin will handle displaying a
contents page. Select a file to edit by moving the cursor atop
@@ -64,12 +64,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
If for some reason you do not wish to use vim to examine zipped files,
you may put the following two variables into your <.vimrc> to prevent
the tar plugin from loading: >
the zip plugin from loading: >
let g:loaded_zipPlugin= 1
let g:loaded_zip = 1
<
<
==============================================================================
3. Additional Extensions *zip-extension*
@@ -84,7 +83,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
should be treated as zip files.
==============================================================================
4. History *zip-history* {{{1
4. History *zip-history* {{{1
v24 Jun 21, 2010 * (Cédric Bosdonnat) unzip seems to need its filenames
fnameescape'd as well as shellquote'd
* (Motoya Kurotsu) inserted keepj before 0d to protect
jump list
v17 May 09, 2008 * arno caught a security bug
v15 Sep 07, 2007 * &shq now used if not the empty string for g:zip_shq
v14 May 07, 2007 * using b:zipfile instead of w:zipfile to avoid problem
+21 -12
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.3. Last change: 2010 Jul 20
*quickfix.txt* For Vim version 7.3. Last change: 2011 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -215,28 +215,29 @@ command with 'l'.
*:cex* *:cexpr* *E777*
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
jump to the first error. If {expr} is a String, then
each new-line terminated line in the String is
processed using 'errorformat' and the result is added
to the quickfix list. If {expr} is a List, then each
String item in the list is processed and added to the
quickfix list. Non String items in the List are
ignored. See |:cc|
for [!].
jump to the first error.
If {expr} is a String, then each new-line terminated
line in the String is processed using the global value
of 'errorformat' and the result is added to the
quickfix list.
If {expr} is a List, then each String item in the list
is processed and added to the quickfix list. Non
String items in the List are ignored.
See |:cc| for [!].
Examples: >
:cexpr system('grep -n xyz *')
:cexpr getline(1, '$')
<
*:lex* *:lexpr*
:lex[pr][!] {expr} Same as ":cexpr", except the location list for the
:lex[pr][!] {expr} Same as |:cexpr|, except the location list for the
current window is used instead of the quickfix list.
*:cgete* *:cgetexpr*
:cgete[xpr] {expr} Create a quickfix list using the result of {expr}.
Just like ":cexpr", but don't jump to the first error.
Just like |:cexpr|, but don't jump to the first error.
*:lgete* *:lgetexpr*
:lgete[xpr] {expr} Same as ":cgetexpr", except the location list for the
:lgete[xpr] {expr} Same as |:cgetexpr|, except the location list for the
current window is used instead of the quickfix list.
*:cad* *:caddexpr*
@@ -546,6 +547,14 @@ descriptors when searching many files. However, when the |:hide| command
modifier is used the buffers are kept loaded. This makes following searches
in the same files a lot faster.
Note that |:copen| (or |:lopen| for |:lgrep|) may be used to open a buffer
containing the search results in linked form. The |:silent| command may be
used to suppress the default full screen grep output. The ":grep!" form of
the |:grep| command doesn't jump to the first match automatically. These
commands can be combined to create a NewGrep command: >
command! -nargs=+ NewGrep execute 'silent grep! <args>' | copen 42
5.1 using Vim's internal grep
+8 -6
View File
@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.3. Last change: 2010 Jul 24
*quickref.txt* For Vim version 7.3. Last change: 2011 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -657,6 +657,7 @@ Short explanation of each option: *option-list*
'cscopepathcomp' 'cspc' how many components of the path to show
'cscopeprg' 'csprg' command to execute cscope
'cscopequickfix' 'csqf' use quickfix window for cscope results
'cscoperelative' 'csre' Use cscope.out path basename as prefix
'cscopetag' 'cst' use cscope for tag commands
'cscopetagorder' 'csto' determines ":cstag" search order
'cscopeverbose' 'csverb' give messages when adding a cscope database
@@ -803,7 +804,7 @@ Short explanation of each option: *option-list*
'omnifunc' 'ofu' function for filetype-specific completion
'opendevice' 'odev' allow reading/writing devices on MS-Windows
'operatorfunc' 'opfunc' function to be called for |g@| operator
'osfiletype' 'oft' operating system-specific filetype information
'osfiletype' 'oft' no longer supported
'paragraphs' 'para' nroff macros that separate paragraphs
'paste' allow pasting text
'pastetoggle' 'pt' key code that causes 'paste' to toggle
@@ -938,6 +939,7 @@ Short explanation of each option: *option-list*
'wildchar' 'wc' command-line character for wildcard expansion
'wildcharm' 'wcm' like 'wildchar' but also works when mapped
'wildignore' 'wig' files matching these patterns are not completed
'wildignorecase' 'wic' ignore case when completing file names
'wildmenu' 'wmnu' use menu for command line completion
'wildmode' 'wim' mode for 'wildchar' command-line expansion
'wildoptions' 'wop' specifies how command line completion is done
@@ -1095,11 +1097,11 @@ Context-sensitive completion on the command-line:
|:_#| #[num] alternate file name [num] (only where a file name is
expected)
Note: The next seven are typed literally; these are not special keys!
|:<afile>| <abuf> buffer number, for use in an autocommand (only where a
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
file name is expected)
|:<afile>| <afile> file name, for user in an autocommand (only where a
|:<afile>| <afile> file name, for use in an autocommand (only where a
file name is expected)
|:<afile>| <amatch> what matched with the pattern, for use in an
|:<amatch>| <amatch> what matched with the pattern, for use in an
autocommand (only where a file name is expected)
|:<cword>| <cword> word under the cursor (only where a file name is
expected)
@@ -1381,7 +1383,7 @@ Context-sensitive completion on the command-line:
set foldmethod=indent folding by indent
set foldmethod=expr folding by 'foldexpr'
set foldmethod=syntax folding by syntax regions
set foldmethod=marker folding by 'foldmarkers'
set foldmethod=marker folding by 'foldmarker'
|zf| zf{motion} operator: Define a fold manually
|:fold| :{range}fold define a fold for {range} lines
+12 -11
View File
@@ -1,4 +1,4 @@
*quotes.txt* For Vim version 7.3. Last change: 2006 Apr 24
*quotes.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -260,15 +260,16 @@ Eccettuato, Italy)
In summary:
__ ___ _ _ _ ___ _____
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _|
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || |
\ V / | | | | | | | | \__ \ | _ | |_| || |
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_|
____ _____ _ _ _____ _____ _ _
/ ___|_ _| | | | ___| ___| | |
\___ \ | | | | | | |_ | |_ | | |
___) || | | |_| | _| | _| |_|_|
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia)
__ ___ _ _ _ ___ _____ `
\ \ / (_)_ __ ___ (_)___ | | | |/ _ \_ _| `
\ \ / /| | '_ ` _ \ | / __| | |_| | | | || | `
\ V / | | | | | | | | \__ \ | _ | |_| || | `
\_/ |_|_| |_| |_| |_|___/ |_| |_|\___/ |_| `
____ _____ _ _ _____ _____ _ _ `
/ ___|_ _| | | | ___| ___| | | `
\___ \ | | | | | | |_ | |_ | | | `
___) || | | |_| | _| | _| |_|_| `
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) `
vim:tw=78:ts=8:ft=help:norl:
+9 -5
View File
@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.3. Last change: 2009 Nov 04
*repeat.txt* For Vim version 7.3. Last change: 2011 Jan 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -102,7 +102,7 @@ To abort this type CTRL-C twice.
q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
(uppercase to append). The 'q' command is disabled
while executing a register, and it doesn't work inside
a mapping. {Vi: no recording}
a mapping and |:normal|. {Vi: no recording}
q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless
@@ -112,9 +112,13 @@ q Stops recording. (Implementation note: The 'q' that
@{0-9a-z".=*} Execute the contents of register {0-9a-z".=*} [count]
times. Note that register '%' (name of the current
file) and '#' (name of the alternate file) cannot be
used. For "@=" you are prompted to enter an
expression. The result of the expression is then
executed. See also |@:|. {Vi: only named registers}
used.
The register is executed like a mapping, that means
that the difference between 'wildchar' and 'wildcharm'
applies.
For "@=" you are prompted to enter an expression. The
result of the expression is then executed.
See also |@:|. {Vi: only named registers}
*@@* *E748*
@@ Repeat the previous @{0-9a-z":*} [count] times.
+3 -2
View File
@@ -1,4 +1,4 @@
*sign.txt* For Vim version 7.3. Last change: 2010 May 07
*sign.txt* For Vim version 7.3. Last change: 2010 Oct 14
VIM REFERENCE MANUAL by Gordon Prieur
@@ -70,7 +70,8 @@ DEFINING A SIGN. *:sign-define* *E255* *E160* *E612*
:sign define {name} {argument}...
Define a new sign or set attributes for an existing sign.
The {name} can either be a number (all digits) or a name
starting with a non-digit.
starting with a non-digit. Leading digits are ignored, thus
"0012", "012" and "12" are considered the same name.
About 120 different signs can be defined.
Accepted arguments:
+7 -2
View File
@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.3. Last change: 2010 Apr 11
*spell.txt* For Vim version 7.3. Last change: 2011 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -335,6 +335,9 @@ A spell file might not be available in the current 'encoding'. See
|spell-mkspell| about how to create a spell file. Converting a spell file
with "iconv" will NOT work!
Note: on VMS ".{enc}.spl" is changed to "_{enc}.spl" to avoid trouble with
filenames.
*spell-sug-file* *E781*
If there is a file with exactly the same name as the ".spl" file but ending in
".sug", that file will be used for giving better suggestions. It isn't loaded
@@ -519,7 +522,7 @@ then Vim will try to guess.
Up to eight regions can be combined. *E754* *E755*
The REP and SAL items of the first .aff file where
they appear are used. |spell-REP| |spell-SAL|
*E845*
This command uses a lot of memory, required to find
the optimal word tree (Polish, Italian and Hungarian
require several hundred Mbyte). The final result will
@@ -1241,6 +1244,7 @@ one or more groups, where each group can be:
Optionally this may be followed by:
* the group appears zero or more times, e.g., sm*e
+ the group appears one or more times, e.g., c+
? the group appears zero times or once, e.g., x?
This is similar to the regexp pattern syntax (but not the same!). A few
examples with the sequence of word flags they require:
@@ -1248,6 +1252,7 @@ examples with the sequence of word flags they require:
COMPOUNDRULE yz yz
COMPOUNDRULE x+z xz xxz xxxz etc.
COMPOUNDRULE yx+ yx yxx yxxx etc.
COMPOUNDRULE xy?z xz xyz
COMPOUNDRULE [abc]z az bz cz
COMPOUNDRULE [abc]+z az aaz abaz bz baz bcbz cz caz cbaz etc.
+16 -14
View File
@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.3. Last change: 2009 Dec 31
*starting.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -95,14 +95,14 @@ exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
(normally not installed)
view vim -R Start in read-only mode (see |-R|). *view*
gvim vim -g Start the GUI (see |gui|). *gvim*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
gex vim -eg Start the GUI in Ex mode. *gex*
gview vim -Rg Start the GUI in read-only mode. *gview*
rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
rview vim -RZ Like "view", but in restricted mode. *rview*
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
rview vim -RZ Like "view", but in restricted mode. *rview*
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
eview vim -yR Like "evim" in read-only mode *eview*
eview vim -yR Like "evim" in read-only mode *eview*
vimdiff vim -d Start in diff mode |diff-mode|
gvimdiff vim -gd Start in diff mode |diff-mode|
@@ -244,7 +244,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
etc.
delete(), rename(), mkdir(), writefile(), libcall(), etc.
{not in Vi}
*-g*
@@ -424,12 +424,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
"-d con:30/10/600/150". But you can also use it to start
editing on another device, e.g., AUX:. {not in Vi}
*-f*
-f Amiga: Do not restart Vim to open a new window. This
option should be used when Vim is started by a program that
will wait for the edit session to finish (e.g., mail or
readnews). See |amiga-window|.
GUI: Do not disconnect from the program that started Vim.
-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
process and exits the current one. "-f" should be used when
gvim is started by a program that will wait for the edit
@@ -437,8 +432,14 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
never to fork, include 'f' in 'guioptions' in your |gvimrc|.
Careful: You can use "-gf" to start the GUI in the foreground,
but "-fg" is used to specify the foreground color. |gui-fork|
Amiga: Do not restart Vim to open a new window. This
option should be used when Vim is started by a program that
will wait for the edit session to finish (e.g., mail or
readnews). See |amiga-window|.
{not in Vi}
*--nofork*
--nofork GUI: Do not fork. Same as |-f|.
*-u* *E282*
@@ -870,6 +871,7 @@ accordingly. Vim proceeds in this order:
12. Execute startup commands
If a "-t" flag was given to Vim, the tag is jumped to.
The commands given with the |-c| and |+cmd| arguments are executed.
The starting flag is reset, has("vim_starting") will now return zero.
If the 'insertmode' option is set, Insert mode is entered.
The |VimEnter| autocommands are executed.
+120 -42
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2010 Aug 10
*syntax.txt* For Vim version 7.3. Last change: 2011 Jul 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -390,10 +390,10 @@ Or use the ":TOhtml" user command. It is defined in a standard plugin.
:10,40TOhtml
Warning: This is slow! The script must process every character of every line.
Because it is so slow, by default a progress bar is displayed in the
statusline for each step that usually takes a long time. If you don't like
seeing this progress bar, you can disable it and get a very minor speed
Warning: This can be slow! The script must process every character of every
line. Because it can take a long time, by default a progress bar is displayed
in the statusline for each major step in the conversion process. If you don't
like seeing this progress bar, you can disable it and get a very minor speed
improvement with: >
let g:html_no_progress = 1
@@ -468,47 +468,107 @@ disabled javascript to view closed folds. To use this option, use: >
Setting html_no_foldcolumn with html_dynamic_folds will automatically set
html_hover_unfold, because otherwise the folds wouldn't be dynamic.
By default "<pre>" and "</pre>" is used around the text. This makes it show
up as you see it in Vim, but without wrapping. If you prefer wrapping, at the
risk of making some things look a bit different, use: >
By default "<pre>" and "</pre>" are used around the text. When 'wrap' is set
in the window being converted, the CSS 2.0 "white-space:pre-wrap" value is
used to wrap the text. You can explicitly enable the wrapping with: >
:let g:html_pre_wrap = 1
or disable with >
:let g:html_pre_wrap = 0
This generates HTML that looks very close to the Vim window, but unfortunately
there can be minor differences such as the lack of a 'showbreak' option in in
the HTML, or where line breaks can occur.
Another way to obtain text wrapping in the HTML, at the risk of making some
things look even more different, is to use: >
:let g:html_no_pre = 1
This will use <br> at the end of each line and use "&nbsp;" for repeated
spaces.
spaces. Doing it this way is more compatible with old browsers, but modern
browsers support the "white-space" method.
The current value of 'encoding' is used to specify the charset of the HTML
file. This only works for those values of 'encoding' that have an equivalent
HTML charset name. To overrule this set g:html_use_encoding to the name of
the charset to be used: >
:let g:html_use_encoding = "foobar"
To omit the line that specifies the charset, set g:html_use_encoding to an
empty string: >
If you do stick with the default "<pre>" tags, <Tab> characters in the text
are included in the generated output if they will have no effect on the
appearance of the text and it looks like they are in the document
intentionally. This allows for the HTML output to be copied and pasted from a
browser without losing the actual whitespace used in the document.
Specifically, <Tab> characters will be included if the 'tabstop' option is set
to the default of 8, 'expandtab' is not set, and if neither the foldcolumn nor
the line numbers are included in the HTML output (see options above). When any
of these conditions are not met, any <Tab> characters in the text are expanded
to the appropriate number of spaces in the HTML output.
When "<pre>" is included, you can force |:TOhtml| to keep the tabs even if the
other conditions are not met with: >
:let g:html_expand_tabs = 0
Note that this can easily break text alignment and indentation in the HTML.
Force tabs to be expanded even when they would be kept using: >
:let g:html_expand_tabs = 1
For diff mode on a single file (with g:html_diff_one_file) a sequence of more
than 3 filler lines is displayed as three lines with the middle line
mentioning the total number of inserted lines. If you prefer to see all the
inserted lines as with the side-by-side diff, use: >
:let g:html_whole_filler = 1
And to go back to displaying up to three lines again: >
:unlet g:html_whole_filler
For most buffers, TOhtml uses the current value of 'fileencoding' if set, or
'encoding' if not, to determine the charset and 'fileencoding' of the HTML
file. 'encoding' is always used for certain 'buftype' values. In general, this
works for the encodings mentioned specifically by name in |encoding-names|,
but TOhtml will only automatically use those encodings which are widely
supported. However, you can override this to support specific encodings that
may not be automatically detected by default.
To overrule all automatic charset detection, set g:html_use_encoding to the
name of the charset to be used. TOhtml will try to determine the appropriate
'fileencoding' setting from the charset, but you may need to set it manually
if TOhtml cannot determine the encoding. It is recommended to set this
variable to something widely supported, like UTF-8, for anything you will be
hosting on a webserver: >
:let g:html_use_encoding = "UTF-8"
You can also use this option to omit the line that specifies the charset
entirely, by setting g:html_use_encoding to an empty string: >
:let g:html_use_encoding = ""
To go back to the automatic mechanism, delete the g:html_use_encoding
variable: >
:unlet g:html_use_encoding
If you specify a charset with g:html_use_encoding for which TOhtml cannot
automatically detect the corresponding 'fileencoding' setting, you can use
g:html_encoding_override to allow TOhtml to detect the correct encoding.
This is a dictionary of charset-encoding pairs that will replace existing
pairs automatically detected by TOhtml, or supplement with new pairs. For
example, to allow TOhtml to detect the HTML charset "windows-1252" properly as
the encoding "8bit-cp1252", use: >
:let g:html_encoding_override = {'windows-1252': '8bit-cp1252'}
<
For diff mode a sequence of more than 3 filler lines is displayed as three
lines with the middle line mentioning the total number of inserted lines. If
you prefer to see all the inserted lines use: >
:let g:html_whole_filler = 1
And to go back to displaying up to three lines again: >
:unlet g:html_whole_filler
<
The g:html_charset_override is similar, it allows TOhtml to detect the HTML
charset for any 'fileencoding' or 'encoding' which is not detected
automatically. You can also use it to override specific existing
encoding-charset pairs. For example, TOhtml will by default use UTF-8 for all
Unicode/UCS encodings. To use UTF-16 and UTF-32 instead, use: >
:let g:html_charset_override = {'ucs-4': 'UTF-32', 'utf-16': 'UTF-16'}
Note that documents encoded in either UTF-32 or UTF-16 have known
compatibility problems with at least one major browser.
*convert-to-XML* *convert-to-XHTML*
An alternative is to have the script generate XHTML (XML compliant HTML). To
do this set the "html_use_xhtml" variable: >
If you do not like plain HTML, an alternative is to have the script generate
XHTML (XML compliant HTML). To do this set the "html_use_xhtml" variable: >
:let g:html_use_xhtml = 1
Any of these options can be enabled or disabled by setting them explicitly to
the desired value, or restored to their default by removing the variable using
|:unlet|.
Any of the on/off options listed above can be enabled or disabled by setting
them explicitly to the desired value, or restored to their default by removing
the variable using |:unlet|.
Remarks:
- This only works in a version with GUI support. If the GUI is not actually
running (possible for X11) it still works, but not very well (the colors
may be wrong).
- Some truly ancient browsers may not show the background colors.
- From most browsers you can also print the file (in color)!
- This version of TOhtml may work with older versions of Vim, but some
features such as conceal support will not function, and the colors may be
incorrect for an old Vim without GUI support compiled in.
Here is an example how to run the script over all .c and .h files from a
Unix shell: >
@@ -806,13 +866,13 @@ used.
Detecting whether a file is csh or tcsh is notoriously hard. Some systems
symlink /bin/csh to /bin/tcsh, making it almost impossible to distinguish
between csh and tcsh. In case VIM guesses wrong you can set the
"filetype_csh" variable. For using csh: >
:let filetype_csh = "csh"
"filetype_csh" variable. For using csh: *g:filetype_csh*
>
:let g:filetype_csh = "csh"
For using tcsh: >
:let filetype_csh = "tcsh"
:let g:filetype_csh = "tcsh"
Any script with a tcsh extension or a standard tcsh filename (.tcshrc,
tcsh.tcshrc, tcsh.login) will have filetype tcsh. All other tcsh/csh scripts
@@ -872,8 +932,8 @@ line to your startup file: >
DOCBOOK *docbk.vim* *ft-docbk-syntax* *docbook*
DOCBOOK XML *docbkxml.vim* *ft-docbkxml-syntax*
DOCBOOK SGML *docbksgml.vim* *ft-docbksgml-syntax*
DOCBOOK XML *docbkxml.vim* *ft-docbkxml-syntax*
DOCBOOK SGML *docbksgml.vim* *ft-docbksgml-syntax*
There are two types of DocBook files: SGML and XML. To specify what type you
are using the "b:docbk_type" variable should be set. Vim does this for you
@@ -1042,6 +1102,8 @@ your .vimrc: >
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
NOTE: this site currently doesn't work, on Wikipedia is mentioned that
development stopped in 2009.
Syntax highlighting is available for the most common elements of FlexWiki
syntax. The associated ftplugin script sets some buffer-local options to make
@@ -2258,7 +2320,7 @@ For highlighted builtin functions: >
For highlighted standard exceptions: >
:let python_highlight_exceptions = 1
For highlighted trailing whitespace and mix of spaces and tabs:
For highlighted trailing whitespace and mix of spaces and tabs: >
:let python_highlight_space_errors = 1
If you want all possible Python highlighting (the same as setting the
@@ -2310,6 +2372,12 @@ This will make the syntax synchronization start 50 lines before the first
displayed line. The default value is 10. The disadvantage of using a larger
number is that redrawing can become slow.
Vim tries to guess what type a ".r" file is. If it can't be detected (from
comment lines), the default is "r". To make the default rexx add this line to
your .vimrc: *g:filetype_r*
>
:let g:filetype_r = "r"
RUBY *ruby.vim* *ft-ruby-syntax*
@@ -3174,6 +3242,9 @@ DEFINING REGIONS *:syn-region* *:syn-start* *:syn-skip* *:syn-end*
:hi par1 ctermfg=red guifg=red
:hi par2 ctermfg=blue guifg=blue
:hi par3 ctermfg=darkgreen guifg=darkgreen
<
*E849*
The maximum number of syntax groups is 19999.
==============================================================================
6. :syntax arguments *:syn-arguments*
@@ -3218,11 +3289,12 @@ Whether or not they are actually concealed depends on the setting on the
in this way when they have their own highlighting via "matchgroup"
cchar *:syn-cchar*
*E844*
The "cchar" argument defines the character shown in place of the item
when it is concealed (setting "cchar" only makes sense when the conceal
argument is given.) If "cchar" is not set then the default conceal
character defined in the 'listchars' option is used. Example: >
character defined in the 'listchars' option is used. The character cannot be
a control character such as Tab. Example: >
:syntax match Entity "&amp;" conceal cchar=&
See |hl-Conceal| for highlighting.
@@ -3711,6 +3783,9 @@ This also has implications for nested clusters: >
:syntax match Stuff "( aaa bbb )" contains=@BigGroup
:syntax cluster BigGroup remove=B " no effect, since B isn't in BigGroup
:syntax cluster SmallGroup remove=B " now bbb isn't matched within Stuff
<
*E848*
The maximum number of clusters is 9767.
==============================================================================
9. Including syntax files *:syn-include* *E397*
@@ -3750,6 +3825,9 @@ two different ways:
with his own version, without replacing the file that does the ":syn
include".
*E847*
The maximum number of includes is 999.
==============================================================================
10. Synchronizing *:syn-sync* *E403* *E404*
@@ -3953,7 +4031,7 @@ To show the syntax items for one syntax group: >
:sy[ntax] list {group-name}
To list the syntax groups in one cluster: *E392* >
To list the syntax groups in one cluster: *E392* >
:sy[ntax] list @{cluster-name}
@@ -4612,7 +4690,7 @@ is loaded into that window or the file is reloaded.
When splitting the window, the new window will use the original syntax.
==============================================================================
16. Color xterms *xterm-color* *color-xterm*
17. Color xterms *xterm-color* *color-xterm*
Most color xterms have only eight colors. If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >
+103 -20
View File
@@ -154,12 +154,14 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'cscopepathcomp' options.txt /*'cscopepathcomp'*
'cscopeprg' options.txt /*'cscopeprg'*
'cscopequickfix' options.txt /*'cscopequickfix'*
'cscoperelative' options.txt /*'cscoperelative'*
'cscopetag' options.txt /*'cscopetag'*
'cscopetagorder' options.txt /*'cscopetagorder'*
'cscopeverbose' options.txt /*'cscopeverbose'*
'cspc' options.txt /*'cspc'*
'csprg' options.txt /*'csprg'*
'csqf' options.txt /*'csqf'*
'csre' options.txt /*'csre'*
'cst' options.txt /*'cst'*
'csto' options.txt /*'csto'*
'csverb' options.txt /*'csverb'*
@@ -671,6 +673,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'noweirdinvert' options.txt /*'noweirdinvert'*
'nowfh' options.txt /*'nowfh'*
'nowfw' options.txt /*'nowfw'*
'nowic' options.txt /*'nowic'*
'nowildignorecase' options.txt /*'nowildignorecase'*
'nowildmenu' options.txt /*'nowildmenu'*
'nowinfixheight' options.txt /*'nowinfixheight'*
'nowinfixwidth' options.txt /*'nowinfixwidth'*
@@ -1078,10 +1082,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
'wh' options.txt /*'wh'*
'whichwrap' options.txt /*'whichwrap'*
'wi' options.txt /*'wi'*
'wic' options.txt /*'wic'*
'wig' options.txt /*'wig'*
'wildchar' options.txt /*'wildchar'*
'wildcharm' options.txt /*'wildcharm'*
'wildignore' options.txt /*'wildignore'*
'wildignorecase' options.txt /*'wildignorecase'*
'wildmenu' options.txt /*'wildmenu'*
'wildmode' options.txt /*'wildmode'*
'wildoptions' options.txt /*'wildoptions'*
@@ -1203,7 +1209,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
+netbeans_intg various.txt /*+netbeans_intg*
+odbeditor various.txt /*+odbeditor*
+ole various.txt /*+ole*
+osfiletype various.txt /*+osfiletype*
+path_extra various.txt /*+path_extra*
+perl various.txt /*+perl*
+perl/dyn various.txt /*+perl\/dyn*
@@ -3192,6 +3197,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<ScrollWheelRight> scroll.txt /*<ScrollWheelRight>*
<ScrollWheelUp> scroll.txt /*<ScrollWheelUp>*
<Space> motion.txt /*<Space>*
<SwipeDown> gui_mac.txt /*<SwipeDown>*
<SwipeLeft> gui_mac.txt /*<SwipeLeft>*
<SwipeRight> gui_mac.txt /*<SwipeRight>*
<SwipeUp> gui_mac.txt /*<SwipeUp>*
<Tab> motion.txt /*<Tab>*
<Undo> undo.txt /*<Undo>*
<Up> motion.txt /*<Up>*
@@ -3233,6 +3242,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
<reg> map.txt /*<reg>*
<register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>*
<slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>*
<xEnd> term.txt /*<xEnd>*
@@ -3463,7 +3473,6 @@ E102 diff.txt /*E102*
E103 diff.txt /*E103*
E104 digraph.txt /*E104*
E105 mbyte.txt /*E105*
E106 eval.txt /*E106*
E107 eval.txt /*E107*
E108 eval.txt /*E108*
E109 eval.txt /*E109*
@@ -3630,7 +3639,6 @@ E257 if_cscop.txt /*E257*
E258 remote.txt /*E258*
E259 if_cscop.txt /*E259*
E26 rileft.txt /*E26*
E260 if_cscop.txt /*E260*
E261 if_cscop.txt /*E261*
E262 if_cscop.txt /*E262*
E263 if_pyth.txt /*E263*
@@ -3745,7 +3753,6 @@ E362 term.txt /*E362*
E363 options.txt /*E363*
E364 eval.txt /*E364*
E365 print.txt /*E365*
E366 options.txt /*E366*
E367 autocmd.txt /*E367*
E368 eval.txt /*E368*
E369 pattern.txt /*E369*
@@ -3879,7 +3886,6 @@ E485 message.txt /*E485*
E486 pattern.txt /*E486*
E487 options.txt /*E487*
E488 message.txt /*E488*
E489 intro.txt /*E489*
E49 message.txt /*E49*
E490 fold.txt /*E490*
E492 message.txt /*E492*
@@ -3962,7 +3968,6 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564*
E565 if_cscop.txt /*E565*
E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568*
@@ -4012,8 +4017,6 @@ E607 eval.txt /*E607*
E608 eval.txt /*E608*
E609 if_cscop.txt /*E609*
E61 pattern.txt /*E61*
E610 options.txt /*E610*
E611 options.txt /*E611*
E612 sign.txt /*E612*
E613 print.txt /*E613*
E614 editing.txt /*E614*
@@ -4262,8 +4265,23 @@ E834 options.txt /*E834*
E835 options.txt /*E835*
E836 if_pyth.txt /*E836*
E837 if_pyth.txt /*E837*
E838 netbeans.txt /*E838*
E839 insert.txt /*E839*
E84 windows.txt /*E84*
E840 insert.txt /*E840*
E841 map.txt /*E841*
E842 cmdline.txt /*E842*
E843 editing.txt /*E843*
E844 syntax.txt /*E844*
E845 spell.txt /*E845*
E846 options.txt /*E846*
E847 syntax.txt /*E847*
E848 syntax.txt /*E848*
E849 syntax.txt /*E849*
E85 options.txt /*E85*
E850 change.txt /*E850*
E851 gui_x11.txt /*E851*
E852 gui_x11.txt /*E852*
E86 windows.txt /*E86*
E87 windows.txt /*E87*
E88 windows.txt /*E88*
@@ -4333,6 +4351,7 @@ IME mbyte.txt /*IME*
Insert insert.txt /*Insert*
Insert-mode insert.txt /*Insert-mode*
InsertChange autocmd.txt /*InsertChange*
InsertCharPre autocmd.txt /*InsertCharPre*
InsertEnter autocmd.txt /*InsertEnter*
InsertLeave autocmd.txt /*InsertLeave*
J change.txt /*J*
@@ -4898,6 +4917,8 @@ c_<S-Tab> cmdline.txt /*c_<S-Tab>*
c_<S-Up> cmdline.txt /*c_<S-Up>*
c_<Tab> cmdline.txt /*c_<Tab>*
c_<Up> cmdline.txt /*c_<Up>*
c_BS cmdline.txt /*c_BS*
c_CR cmdline.txt /*c_CR*
c_CTRL-A cmdline.txt /*c_CTRL-A*
c_CTRL-B cmdline.txt /*c_CTRL-B*
c_CTRL-C cmdline.txt /*c_CTRL-C*
@@ -4930,6 +4951,15 @@ c_CTRL-\_e cmdline.txt /*c_CTRL-\\_e*
c_CTRL-] cmdline.txt /*c_CTRL-]*
c_CTRL-^ cmdline.txt /*c_CTRL-^*
c_CTRL-_ cmdline.txt /*c_CTRL-_*
c_Del cmdline.txt /*c_Del*
c_Down cmdline.txt /*c_Down*
c_End cmdline.txt /*c_End*
c_Esc cmdline.txt /*c_Esc*
c_Home cmdline.txt /*c_Home*
c_Insert cmdline.txt /*c_Insert*
c_Left cmdline.txt /*c_Left*
c_Right cmdline.txt /*c_Right*
c_Up cmdline.txt /*c_Up*
c_digraph cmdline.txt /*c_digraph*
c_wildchar cmdline.txt /*c_wildchar*
call() eval.txt /*call()*
@@ -4980,13 +5010,49 @@ charset-conversion mbyte.txt /*charset-conversion*
chill.vim syntax.txt /*chill.vim*
cindent() eval.txt /*cindent()*
cinkeys-format indent.txt /*cinkeys-format*
cino-# indent.txt /*cino-#*
cino-( indent.txt /*cino-(*
cino-) indent.txt /*cino-)*
cino-+ indent.txt /*cino-+*
cino-/ indent.txt /*cino-\/*
cino-: indent.txt /*cino-:*
cino-= indent.txt /*cino-=*
cino-> indent.txt /*cino->*
cino-C indent.txt /*cino-C*
cino-J indent.txt /*cino-J*
cino-L indent.txt /*cino-L*
cino-M indent.txt /*cino-M*
cino-N indent.txt /*cino-N*
cino-U indent.txt /*cino-U*
cino-W indent.txt /*cino-W*
cino-^ indent.txt /*cino-^*
cino-b indent.txt /*cino-b*
cino-c indent.txt /*cino-c*
cino-e indent.txt /*cino-e*
cino-f indent.txt /*cino-f*
cino-g indent.txt /*cino-g*
cino-h indent.txt /*cino-h*
cino-i indent.txt /*cino-i*
cino-j indent.txt /*cino-j*
cino-l indent.txt /*cino-l*
cino-m indent.txt /*cino-m*
cino-n indent.txt /*cino-n*
cino-p indent.txt /*cino-p*
cino-star indent.txt /*cino-star*
cino-t indent.txt /*cino-t*
cino-u indent.txt /*cino-u*
cino-w indent.txt /*cino-w*
cino-{ indent.txt /*cino-{*
cino-} indent.txt /*cino-}*
cinoptions-values indent.txt /*cinoptions-values*
clear-undo undo.txt /*clear-undo*
clearmatches() eval.txt /*clearmatches()*
client-server remote.txt /*client-server*
clientserver remote.txt /*clientserver*
clipboard gui.txt /*clipboard*
cmd-key gui_mac.txt /*cmd-key*
cmd-movement gui_mac.txt /*cmd-movement*
cmd-shortcuts gui_mac.txt /*cmd-shortcuts*
cmdarg-variable eval.txt /*cmdarg-variable*
cmdbang-variable eval.txt /*cmdbang-variable*
cmdline-arguments vi_diff.txt /*cmdline-arguments*
@@ -5085,6 +5151,7 @@ cpo-+ options.txt /*cpo-+*
cpo-- options.txt /*cpo--*
cpo-. options.txt /*cpo-.*
cpo-/ options.txt /*cpo-\/*
cpo-; options.txt /*cpo-;*
cpo-< options.txt /*cpo-<*
cpo-> options.txt /*cpo->*
cpo-A options.txt /*cpo-A*
@@ -5154,6 +5221,7 @@ cscope_connection() eval.txt /*cscope_connection()*
cscopepathcomp if_cscop.txt /*cscopepathcomp*
cscopeprg if_cscop.txt /*cscopeprg*
cscopequickfix if_cscop.txt /*cscopequickfix*
cscoperelative if_cscop.txt /*cscoperelative*
cscopetag if_cscop.txt /*cscopetag*
cscopetagorder if_cscop.txt /*cscopetagorder*
cscopeverbose if_cscop.txt /*cscopeverbose*
@@ -5161,6 +5229,7 @@ csh.vim syntax.txt /*csh.vim*
cspc if_cscop.txt /*cspc*
csprg if_cscop.txt /*csprg*
csqf if_cscop.txt /*csqf*
csre if_cscop.txt /*csre*
cst if_cscop.txt /*cst*
csto if_cscop.txt /*csto*
csverb if_cscop.txt /*csverb*
@@ -5267,6 +5336,7 @@ digraph digraph.txt /*digraph*
digraph-arg change.txt /*digraph-arg*
digraph-encoding digraph.txt /*digraph-encoding*
digraph-table digraph.txt /*digraph-table*
digraph-table-mbyte digraph.txt /*digraph-table-mbyte*
digraph.txt digraph.txt /*digraph.txt*
digraphs digraph.txt /*digraphs*
digraphs-changed version6.txt /*digraphs-changed*
@@ -5437,6 +5507,11 @@ expr-env eval.txt /*expr-env*
expr-env-expand eval.txt /*expr-env-expand*
expr-function eval.txt /*expr-function*
expr-is eval.txt /*expr-is*
expr-is# eval.txt /*expr-is#*
expr-is? eval.txt /*expr-is?*
expr-isnot eval.txt /*expr-isnot*
expr-isnot# eval.txt /*expr-isnot#*
expr-isnot? eval.txt /*expr-isnot?*
expr-nesting eval.txt /*expr-nesting*
expr-number eval.txt /*expr-number*
expr-option eval.txt /*expr-option*
@@ -5671,6 +5746,7 @@ ft-ptcap-syntax syntax.txt /*ft-ptcap-syntax*
ft-python-indent indent.txt /*ft-python-indent*
ft-python-syntax syntax.txt /*ft-python-syntax*
ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni*
@@ -5766,6 +5842,8 @@ g:decada.Error_Format ft_ada.txt /*g:decada.Error_Format*
g:decada.Make() ft_ada.txt /*g:decada.Make()*
g:decada.Make_Command ft_ada.txt /*g:decada.Make_Command*
g:decada.Unit_Name() ft_ada.txt /*g:decada.Unit_Name()*
g:filetype_csh syntax.txt /*g:filetype_csh*
g:filetype_r syntax.txt /*g:filetype_r*
g:gnat ft_ada.txt /*g:gnat*
g:gnat.Error_Format ft_ada.txt /*g:gnat.Error_Format*
g:gnat.Find() ft_ada.txt /*g:gnat.Find()*
@@ -5788,10 +5866,11 @@ g:netrw_chgperm pi_netrw.txt /*g:netrw_chgperm*
g:netrw_chgwin pi_netrw.txt /*g:netrw_chgwin*
g:netrw_compress pi_netrw.txt /*g:netrw_compress*
g:netrw_ctags pi_netrw.txt /*g:netrw_ctags*
g:netrw_cursorline pi_netrw.txt /*g:netrw_cursorline*
g:netrw_cursor pi_netrw.txt /*g:netrw_cursor*
g:netrw_cygwin pi_netrw.txt /*g:netrw_cygwin*
g:netrw_dav_cmd pi_netrw.txt /*g:netrw_dav_cmd*
g:netrw_decompress pi_netrw.txt /*g:netrw_decompress*
g:netrw_dirhistmax pi_netrw.txt /*g:netrw_dirhistmax*
g:netrw_fastbrowse pi_netrw.txt /*g:netrw_fastbrowse*
g:netrw_fetch_cmd pi_netrw.txt /*g:netrw_fetch_cmd*
g:netrw_fname_escape pi_netrw.txt /*g:netrw_fname_escape*
@@ -6000,6 +6079,7 @@ gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gu change.txt /*gu*
gugu change.txt /*gugu*
gui gui.txt /*gui*
gui-IME gui.txt /*gui-IME*
gui-clipboard gui_w32.txt /*gui-clipboard*
gui-colors syntax.txt /*gui-colors*
gui-extras gui.txt /*gui-extras*
@@ -6082,6 +6162,7 @@ hangul hangulin.txt /*hangul*
hangulin.txt hangulin.txt /*hangulin.txt*
has() eval.txt /*has()*
has-patch eval.txt /*has-patch*
has-python if_pyth.txt /*has-python*
has_key() eval.txt /*has_key()*
haskell.vim syntax.txt /*haskell.vim*
haslocaldir() eval.txt /*haslocaldir()*
@@ -6209,6 +6290,7 @@ i) motion.txt /*i)*
i< motion.txt /*i<*
i> motion.txt /*i>*
iB motion.txt /*iB*
iBus gui.txt /*iBus*
iW motion.txt /*iW*
i[ motion.txt /*i[*
i] motion.txt /*i]*
@@ -6544,6 +6626,7 @@ macvim-differences gui_mac.txt /*macvim-differences*
macvim-drag-n-drop gui_mac.txt /*macvim-drag-n-drop*
macvim-encoding gui_mac.txt /*macvim-encoding*
macvim-find gui_mac.txt /*macvim-find*
macvim-gestures gui_mac.txt /*macvim-gestures*
macvim-hints gui_mac.txt /*macvim-hints*
macvim-international gui_mac.txt /*macvim-international*
macvim-login-shell gui_mac.txt /*macvim-login-shell*
@@ -6783,6 +6866,7 @@ netrw-clean pi_netrw.txt /*netrw-clean*
netrw-contents pi_netrw.txt /*netrw-contents*
netrw-copyright pi_netrw.txt /*netrw-copyright*
netrw-cr pi_netrw.txt /*netrw-cr*
netrw-createfile pi_netrw.txt /*netrw-createfile*
netrw-credits pi_netrw.txt /*netrw-credits*
netrw-ctrl-h pi_netrw.txt /*netrw-ctrl-h*
netrw-ctrl-l pi_netrw.txt /*netrw-ctrl-l*
@@ -6806,7 +6890,9 @@ netrw-fixup pi_netrw.txt /*netrw-fixup*
netrw-ftp pi_netrw.txt /*netrw-ftp*
netrw-ftype pi_netrw.txt /*netrw-ftype*
netrw-gb pi_netrw.txt /*netrw-gb*
netrw-gd pi_netrw.txt /*netrw-gd*
netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx*
@@ -6859,6 +6945,8 @@ netrw-p10 pi_netrw.txt /*netrw-p10*
netrw-p11 pi_netrw.txt /*netrw-p11*
netrw-p12 pi_netrw.txt /*netrw-p12*
netrw-p13 pi_netrw.txt /*netrw-p13*
netrw-p14 pi_netrw.txt /*netrw-p14*
netrw-p15 pi_netrw.txt /*netrw-p15*
netrw-p2 pi_netrw.txt /*netrw-p2*
netrw-p3 pi_netrw.txt /*netrw-p3*
netrw-p4 pi_netrw.txt /*netrw-p4*
@@ -6907,6 +6995,7 @@ netrw-start pi_netrw.txt /*netrw-start*
netrw-t pi_netrw.txt /*netrw-t*
netrw-texplore pi_netrw.txt /*netrw-texplore*
netrw-todo pi_netrw.txt /*netrw-todo*
netrw-trailingslash pi_netrw.txt /*netrw-trailingslash*
netrw-transparent pi_netrw.txt /*netrw-transparent*
netrw-u pi_netrw.txt /*netrw-u*
netrw-updir pi_netrw.txt /*netrw-updir*
@@ -7048,9 +7137,11 @@ operator-variable eval.txt /*operator-variable*
option-backslash options.txt /*option-backslash*
option-list quickref.txt /*option-list*
option-summary options.txt /*option-summary*
option-window options.txt /*option-window*
options options.txt /*options*
options-changed version5.txt /*options-changed*
options.txt options.txt /*options.txt*
optwin options.txt /*optwin*
oracle ft_sql.txt /*oracle*
os2 os_os2.txt /*os2*
os2ansi os_os2.txt /*os2ansi*
@@ -7330,17 +7421,6 @@ right-justify change.txt /*right-justify*
rileft rileft.txt /*rileft*
rileft.txt rileft.txt /*rileft.txt*
riscos os_risc.txt /*riscos*
riscos-commandline os_risc.txt /*riscos-commandline*
riscos-filetypes os_risc.txt /*riscos-filetypes*
riscos-gui os_risc.txt /*riscos-gui*
riscos-interrupt os_risc.txt /*riscos-interrupt*
riscos-locations os_risc.txt /*riscos-locations*
riscos-memory os_risc.txt /*riscos-memory*
riscos-munging os_risc.txt /*riscos-munging*
riscos-porting os_risc.txt /*riscos-porting*
riscos-remote os_risc.txt /*riscos-remote*
riscos-shell os_risc.txt /*riscos-shell*
riscos-temp-files os_risc.txt /*riscos-temp-files*
rot13 change.txt /*rot13*
round() eval.txt /*round()*
rsync pi_netrw.txt /*rsync*
@@ -8173,6 +8253,7 @@ v:val eval.txt /*v:val*
v:var eval.txt /*v:var*
v:version eval.txt /*v:version*
v:warningmsg eval.txt /*v:warningmsg*
v:windowid eval.txt /*v:windowid*
v_! change.txt /*v_!*
v_$ visual.txt /*v_$*
v_: cmdline.txt /*v_:*
@@ -8448,6 +8529,7 @@ window-size term.txt /*window-size*
window-size-functions usr_41.txt /*window-size-functions*
window-tag windows.txt /*window-tag*
window-variable eval.txt /*window-variable*
windowid-variable eval.txt /*windowid-variable*
windows windows.txt /*windows*
windows-3.1 os_win32.txt /*windows-3.1*
windows-intro windows.txt /*windows-intro*
@@ -8480,6 +8562,7 @@ write-fail editing.txt /*write-fail*
write-filetype-plugin usr_41.txt /*write-filetype-plugin*
write-library-script usr_41.txt /*write-library-script*
write-local-help usr_41.txt /*write-local-help*
write-permissions editing.txt /*write-permissions*
write-plugin usr_41.txt /*write-plugin*
write-plugin-quickload usr_41.txt /*write-plugin-quickload*
write-quit editing.txt /*write-quit*
+5 -5
View File
@@ -115,7 +115,7 @@ CTRL-T Jump to [count] older entry in the tag stack
The output of ":tags" looks like this:
# TO tag FROM line in file/line
# TO tag FROM line in file/text
1 1 main 1 harddisk2:text/vim/test
> 2 2 FuncA 58 i = FuncA(10);
3 1 FuncC 357 harddisk2:text/vim/src/amiga.c
@@ -135,7 +135,7 @@ you were before the tag command. The line number will be correct, also when
deleting/inserting lines, unless this was done by another program (e.g.
another instance of Vim).
For the current file, the "file/line" column shows the text at the position.
For the current file, the "file/text" column shows the text at the position.
An indent is removed and a long line is truncated to fit in the window.
You can jump to previously used tags with several commands. Some examples:
@@ -164,9 +164,9 @@ entry was not at the bottom, the entries below the last used one are
deleted. This means that an old branch in the call graph is lost. After the
commands explained above the tag stack will look like this:
# TO tag FROM line in file
1 main 1 harddisk2:text/vim/test
2 FuncB 59 harddisk2:text/vim/src/main.c
# TO tag FROM line in file/text
1 1 main 1 harddisk2:text/vim/test
2 1 FuncB 59 harddisk2:text/vim/src/main.c
*E73*
When you try to use the tag stack while it doesn't contain anything you will
+2 -1
View File
@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.3. Last change: 2009 Nov 05
*term.txt* For Vim version 7.3. Last change: 2011 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -665,6 +665,7 @@ When the X-server clipboard is available, the command server described in
*xterm-copy-paste*
NOTE: In some (older) xterms, it's not possible to move the cursor past column
95. This is an xterm problem, not Vim's. Get a newer xterm |color-xterm|.
Now the limit is 223 columns.
Copy/paste in xterm with (current mode NOT included in 'mouse'):
1. Press left mouse button on first letter of text, move mouse pointer to last
+451 -168
View File
File diff suppressed because it is too large Load Diff
+25 -11
View File
@@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.3. Last change: 2010 Jul 20
*undo.txt* For Vim version 7.3. Last change: 2011 Aug 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,8 +35,10 @@ CTRL-R Redo [count] changes which were undone. {Vi: redraw
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
U Undo all latest changes on one line, the line where
the latest change was made. |U| itself also counts as
a change, and thus |U| undoes a previous |U|.
{Vi: while not moved off of the last modified line}
The last changes are remembered. You can use the undo and redo commands above
to revert the text to how it was before each change. You can also apply the
@@ -125,16 +127,26 @@ This is explained in the user manual: |usr_32.txt|.
*:undol* *:undolist*
:undol[ist] List the leafs in the tree of changes. Example:
number changes time ~
4 10 10:34:11
18 4 11:01:46
number changes when saved ~
88 88 2010/01/04 14:25:53
108 107 08/07 12:47:51
136 46 13:33:01 7
166 164 3 seconds ago
The "number" column is the change number. This number
continuously increases and can be used to identify a
specific undo-able change, see |:undo|.
The "changes" column is the number of changes to this
leaf from the root of the tree.
The "time" column is the time this change was made.
The "when" column is the date and time when this
change was made. The four possible formats are:
N seconds ago
HH:MM:SS hour, minute, seconds
MM/DD HH:MM:SS idem, with month and day
YYYY/MM/DD HH:MM:SS idem, with year
The "saved" column specifies, if this change was
written to disk and which file write it was. This can
be used with the |:later| and |:earlier| commands.
For more details use the |undotree()| function.
*g-*
@@ -148,7 +160,7 @@ g- Go to older text state. With a count repeat that many
:earlier {N}d Go to older text state about {N} days before.
:earlier {N}f Go to older text state {N} file writes before.
When changes were made since the laste write
When changes were made since the last write
":earlier 1f" will revert the text to the state when
it was written. Otherwise it will go to the write
before that.
@@ -236,7 +248,9 @@ Vim saves undo trees in a separate undo file, one for each edited file, using
a simple scheme that maps filesystem paths directly to undo files. Vim will
detect if an undo file is no longer synchronized with the file it was written
for (with a hash of the file contents) and ignore it when the file was changed
after the undo file was written, to prevent corruption.
after the undo file was written, to prevent corruption. An undo file is also
ignored if its owner differs from the owner of the edited file. Set 'verbose'
to get a message about that.
Undo files are normally saved in the same directory as the file. This can be
changed with the 'undodir' option.
@@ -324,8 +338,8 @@ Writing an undo file may fail for these reasons:
A file exists with the name of the undo file to be written, but it
does not start with the right magic number. You may want to delete
this file or rename it.
"Skipping undo file write, noting to undo"
There is no undo information not be written, nothing has been changed
"Skipping undo file write, nothing to undo"
There is no undo information to be written, nothing has been changed
or 'undolevels' is negative.
*E829* An error occurred while writing the undo file. You may want to try
again.
+12 -5
View File
@@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 7.3. Last change: 2008 May 07
*usr_01.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM USER MANUAL - by Bram Moolenaar
@@ -40,13 +40,20 @@ the commands and options used for it. Use these two commands:
Press CTRL-] to jump to a subject under the cursor.
Press CTRL-O to jump back (repeat to go further back).
Many links are in vertical bars, like this: |bars|. An option name, like
'number', a command in double quotes like ":write" and any other word can also
be used as a link. Try it out: Move the cursor to CTRL-] and press CTRL-]
on it.
Many links are in vertical bars, like this: |bars|. The bars themselves may
be hidden or invisible, see below. An option name, like 'number', a command
in double quotes like ":write" and any other word can also be used as a link.
Try it out: Move the cursor to CTRL-] and press CTRL-] on it.
Other subjects can be found with the ":help" command, see |help.txt|.
The bars and stars are usually hidden with the |conceal| feature. They also
use |hl-Ignore|, using the same color for the text as the background. You can
make them visible with: >
:set conceallevel=0
:hi link HelpBar Normal
:hi link HelpStar Normal
==============================================================================
*01.2* Vim installed
+18 -9
View File
@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.3. Last change: 2010 Jul 20
*usr_41.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM USER MANUAL - by Bram Moolenaar
@@ -313,7 +313,7 @@ The usual precedence is used. Example: >
:echo 10 + 5 * 2
< 20 ~
Grouping is done with braces. No surprises here. Example: >
Grouping is done with parentheses. No surprises here. Example: >
:echo (10 + 5) * 2
< 30 ~
@@ -537,7 +537,7 @@ way. A few examples will be given in this section. You can find the whole
list here: |functions|.
A function is called with the ":call" command. The parameters are passed in
between braces, separated by commas. Example: >
between parentheses separated by commas. Example: >
:call search("Date: ", "W")
@@ -597,7 +597,7 @@ String manipulation: *string-functions*
strridx() last index of a short string in a long string
strlen() length of a string
substitute() substitute a pattern match with a string
submatch() get a specific match in a ":substitute"
submatch() get a specific match in ":s" and substitute()
strpart() get part of a string
expand() expand special keywords
iconv() convert text from one encoding to another
@@ -661,7 +661,14 @@ Floating point computation: *float-functions*
sqrt() square root
sin() sine
cos() cosine
tan() tangent
asin() arc sine
acos() arc cosine
atan() arc tangent
atan2() arc tangent
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
Variables: *var-functions*
type() type of a variable
@@ -793,6 +800,8 @@ Syntax and highlighting: *syntax-functions* *highlighting-functions*
synID() get syntax ID at a specific position
synIDattr() get a specific attribute of a syntax ID
synIDtrans() get translated syntax ID
synstack() get list of syntax IDs at a specific position
synconcealed() get info about concealing
diff_hlID() get highlight ID for diff mode at a position
matchadd() define a pattern to highlight (a "match")
matcharg() get info about |:match| arguments
@@ -1015,7 +1024,7 @@ so on. The variable "a:0" contains the number of extra arguments.
:function Show(start, ...)
: echohl Title
: echo "Show is " . a:start
: echo "start is " . a:start
: echohl None
: let index = 1
: while index <= a:0
@@ -1283,7 +1292,7 @@ local variable will then refer to that Dictionary.
split(a:line)
The split() function takes a string, chops it into white separated words
The split() function takes a string, chops it into whitespace separated words
and returns a list with these words. Thus in the example it returns: >
:echo split('three two five one')
@@ -1400,7 +1409,7 @@ Let's start with an example: >
The ":read" command will fail if the file does not exist. Instead of
generating an error message, this code catches the error and gives the user a
nice message instead.
nice message.
For the commands in between ":try" and ":endtry" errors are turned into
exceptions. An exception is a string. In the case of an error the string
@@ -1477,7 +1486,7 @@ escaped by a "\" (backslash) as in the following example: >
:set tags=my\ nice\ file
The same example written as >
The same example written as: >
:set tags=my nice file
@@ -2095,7 +2104,7 @@ and that is not what a filetype plugin should do.
When an option has a value that is a list of flags or items, consider using
"+=" and "-=" to keep the existing value. Be aware that the user may have
changed an option value already. First resetting to the default value and
then changing it often a good idea. Example: >
then changing it is often a good idea. Example: >
:setlocal formatoptions& formatoptions+=ro
+9 -10
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2010 Aug 10
*various.txt* For Vim version 7.3. Last change: 2011 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -101,13 +101,14 @@ g8 Print the hex values of the bytes used in the
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
Note: A user command can overrule this command.
See |ex-flags| for [flags].
*:l* *:list*
:[range]l[ist] [count] [flags]
Same as :print, but display unprintable characters
with '^' and put $ after the line. This can be
changed with the 'listchars' option.
further changed with the 'listchars' option.
See |ex-flags| for [flags].
*:nu* *:number*
@@ -132,14 +133,14 @@ g8 Print the hex values of the bytes used in the
specified with {range}, or around the current line
if there is no {range}. If there is a {count}, that's
how many lines you'll see; if there is only one window
then the 'window' option is used, otherwise the
current window size is used.
then twice the value of the 'scroll' option is used,
otherwise the current window height minus 3 is used.
:z can be used either alone or followed by any of
several punctuation marks. These have the following
effect:
mark first line last line new location ~
mark first line last line new cursor line ~
---- ---------- --------- ------------
+ current line 1 scr forward 1 scr forward
- 1 scr back current line current line
@@ -167,8 +168,8 @@ g8 Print the hex values of the bytes used in the
:norm[al][!] {commands} *:norm* *:normal*
Execute Normal mode commands {commands}. This makes
it possible to execute Normal mode commands typed on
the command-line. {commands} is executed like it is
typed. For undo all commands are undone together.
the command-line. {commands} are executed like they
are typed. For undo all commands are undone together.
Execution stops when an error is encountered.
If the [!] is given, mappings will not be used.
{commands} should be a complete command. If
@@ -361,8 +362,6 @@ m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
m *+odbeditor* MacVim only: ODB Editor Protocol support |odbeditor|
m *+ole* Win32 GUI only: |ole-interface|
*+osfiletype* Support for the 'osfiletype' option and filetype
checking in automatic commands. |autocmd-osfiletypes|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
@@ -613,7 +612,7 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
Only useful for debugging Vim.
==============================================================================
3. Using Vim like less or more *less*
2. Using Vim like less or more *less*
If you use the less or more program to view a file, you don't get syntax
highlighting. Thus you would like to use Vim instead. You can do this by
+3 -3
View File
@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.3. Last change: 2010 Aug 15
*version7.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1675,7 +1675,7 @@ The GTK font dialog uses a font size zero when the font name doesn't include a
size. Use a default size of 10.
This example in the documentation didn't work:
:e `=foo . ".c" `
:e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.
When ":helpgrep" doesn't find anything there is no error message.
@@ -8182,7 +8182,7 @@ Solution: Use get_cmdline_type(). (James Vega)
Files: src/ex_getln.c
Patch 7.2.130
Problem: Vim may haing until CTRL-C is typed when using CTRL-Z.
Problem: Vim may hang until CTRL-C is typed when using CTRL-Z.
Solution: Avoid using pause(). Also use "volatile" for variables used in
signal functions. (Dominique Pelle)
Files: src/auto/configure, src/configure.in, src/config.h.in,
+6 -3
View File
@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Jul 20
*vi_diff.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -88,8 +88,9 @@ Maximum display width Unix and Win32: 1024 characters, otherwise 255
characters
Maximum lhs of a mapping 50 characters.
Number of different highlighting types: over 30000
Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit
systems)
Range of a Number variable: -2147483648 to 2147483647 (might be more on 64
bit systems)
Maximum length of a line in a tags file: 512 bytes.
Information for undo and text in registers is kept in memory, thus when making
(big) changes the amount of (virtual) memory available limits the number of
@@ -988,6 +989,8 @@ These are remarks about running the POSIX test suite:
- vi test 33 sometimes fails for unknown reasons
- vi test 250 fails; behavior will be changed in a new revision
http://www.opengroup.org/austin/mailarchives/ag-review/msg01710.html
(link no longer works, perhaps it's now:
https://www.opengroup.org/sophocles/show_mail.tpl?CALLER=show_archive.tpl&source=L&listname=austin-review-l&id=1711)
- vi test 310 fails; exit code non-zero when any error occurred?
- ex test 24 fails because test is wrong. Changed between SUSv2 and SUSv3.
- ex tests 47, 48, 49, 72, 73 fail because .exrc file isn't read in silent
+1 -1
View File
@@ -214,7 +214,7 @@ EOF
}
# main
usage() if $#ARGV < 2;
usage() if $#ARGV < 1;
print "Processing tags...\n";
readTagFile( $ARGV[ 0 ] );
+2 -2
View File
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.3. Last change: 2010 Aug 15
*windows.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -246,7 +246,7 @@ window will appear.
These command modifiers can be combined to make a vertically split window
occupy the full height. Example: >
:vertical topleft edit tags
:vertical topleft split tags
Opens a vertically split, full-height window on the "tags" file at the far
left of the Vim window.
+141 -86
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Jul 30
" Last Change: 2011 Sep 07
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -75,7 +75,7 @@ endfunc
au BufNewFile,BufRead *.aap setf aap
" A2ps printing utility
au BufNewFile,BufRead etc/a2ps.cfg,etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
au BufNewFile,BufRead */etc/a2ps.cfg,*/etc/a2ps/*.cfg,a2psrc,.a2psrc setf a2ps
" ABAB/4
au BufNewFile,BufRead *.abap setf abap
@@ -110,8 +110,7 @@ au BufNewFile,BufRead build.xml setf ant
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" Apache config file
au BufNewFile,BufRead .htaccess,/etc/httpd/*.conf setf apache
au BufNewFile,BufRead httpd.conf*,srm.conf*,access.conf*,apache.conf*,apache2.conf*,/etc/apache2/*.conf*,/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
au BufNewFile,BufRead .htaccess,*/etc/httpd/*.conf setf apache
" XA65 MOS6510 cross assembler
au BufNewFile,BufRead *.a65 setf a65
@@ -124,7 +123,7 @@ au BufNewFile,BufRead *.am
\ if expand("<afile>") !~? 'Makefile.am\>' | setf elf | endif
" ALSA configuration
au BufNewFile,BufRead ~/.asoundrc,/usr/share/alsa/alsa.conf,/etc/asound.conf setf alsaconf
au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf setf alsaconf
" Arc Macro Language
au BufNewFile,BufRead *.aml setf aml
@@ -157,7 +156,7 @@ au BufNewFile,BufRead *.asp
\ endif
" Grub (must be before catch *.lst)
au BufNewFile,BufRead /boot/grub/menu.lst,/boot/grub/grub.conf,/etc/grub.conf setf grub
au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf setf grub
" Assembly (all kinds)
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
@@ -296,7 +295,7 @@ endfunc
au BufNewFile,BufRead *.bl setf blank
" Blkid cache file
au BufNewFile,BufRead /etc/blkid.tab,/etc/blkid.tab.old setf xml
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" C or lpc
au BufNewFile,BufRead *.c call s:FTlpc()
@@ -317,21 +316,18 @@ endfunc
" Calendar
au BufNewFile,BufRead calendar setf calendar
au BufNewFile,BufRead */.calendar/*,
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
\ call s:StarSetf('calendar')
" C#
au BufNewFile,BufRead *.cs setf cs
" Cabal
au BufNewFile,BufRead *.cabal setf cabal
au BufNewFile,BufRead *.cabal setf cabal
" Cdrdao TOC
au BufNewFile,BufRead *.toc setf cdrtoc
" Cdrdao config
au BufNewFile,BufRead etc/cdrdao.conf,etc/defaults/cdrdao,etc/default/cdrdao,~/.cdrdao setf cdrdaoconf
au BufNewFile,BufRead */etc/cdrdao.conf,*/etc/defaults/cdrdao,*/etc/default/cdrdao,.cdrdao setf cdrdaoconf
" Cfengine
au BufNewFile,BufRead cfengine.conf setf cfengine
@@ -488,7 +484,7 @@ au BufNewFile,BufRead *.prg
au BufNewFile,BufRead CMakeLists.txt,*.cmake,*.cmake.in setf cmake
" Cmusrc
au BufNewFile,BufRead ~/.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */.cmus/{autosave,rc,command-history,*.theme} setf cmusrc
au BufNewFile,BufRead */cmus/{rc,*.theme} setf cmusrc
" Cobol
@@ -536,7 +532,7 @@ au BufNewFile,BufRead *.qc setf c
au BufNewFile,BufRead *.cfg setf cfg
" Cucumber
au BufNewFile,BufRead *.feature setf cucumber
au BufNewFile,BufRead *.feature setf cucumber
" Communicating Sequential Processes
au BufNewFile,BufRead *.csp,*.fdr setf csp
@@ -553,11 +549,15 @@ au BufNewFile,BufRead control
\| endif
" Debian Sources.list
au BufNewFile,BufRead /etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list setf debsources
au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
" Deny hosts
au BufNewFile,BufRead denyhosts.conf setf denyhosts
" dnsmasq(8) configuration files
au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
" ROCKLinux package description
au BufNewFile,BufRead *.desc setf desc
@@ -586,7 +586,7 @@ au BufNewFile,BufRead dictd.conf setf dictdconf
au BufNewFile,BufRead *.diff,*.rej,*.patch setf diff
" Dircolors
au BufNewFile,BufRead .dir_colors,/etc/DIR_COLORS setf dircolors
au BufNewFile,BufRead .dir_colors,.dircolors,*/etc/DIR_COLORS setf dircolors
" Diva (with Skill) or InstallShield
au BufNewFile,BufRead *.rul
@@ -677,6 +677,9 @@ au BufNewFile,BufRead *.exp setf expect
" Exports
au BufNewFile,BufRead exports setf exports
" Falcon
au BufNewFile,BufRead *.fal setf falcon
" Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan
@@ -725,14 +728,14 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
autocmd BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
autocmd BufNewFile,BufRead git-rebase-todo setf gitrebase
autocmd BufNewFile,BufRead .msg.[0-9]*
au BufNewFile,BufRead *.git/COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
au BufNewFile,BufRead git-rebase-todo setf gitrebase
au BufNewFile,BufRead .msg.[0-9]*
\ if getline(1) =~ '^From.*# This line is ignored.$' |
\ setf gitsendemail |
\ endif
autocmd BufNewFile,BufRead *.git/**
au BufNewFile,BufRead *.git/**
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
\ setf git |
\ endif
@@ -746,7 +749,10 @@ au BufNewFile,BufRead *.gp,.gprc setf gp
" GPG
au BufNewFile,BufRead */.gnupg/options setf gpg
au BufNewFile,BufRead */.gnupg/gpg.conf setf gpg
au BufNewFile,BufRead /usr/**/gnupg/options.skel setf gpg
au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg
" gnash(1) configuration files
au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
" Gnuplot scripts
au BufNewFile,BufRead *.gpi setf gnuplot
@@ -764,7 +770,7 @@ au BufNewFile,BufRead *.groovy setf groovy
au BufNewFile,BufRead *.gsp setf gsp
" Group file
au BufNewFile,BufRead /etc/group,/etc/group-,/etc/group.edit,/etc/gshadow,/etc/gshadow-,/etc/gshadow.edit,/var/backups/group.bak,/var/backups/gshadow.bak setf group
au BufNewFile,BufRead */etc/group,*/etc/group-,*/etc/group.edit,*/etc/gshadow,*/etc/gshadow-,*/etc/gshadow.edit,*/var/backups/group.bak,*/var/backups/gshadow.bak setf group
" GTK RC
au BufNewFile,BufRead .gtkrc,gtkrc setf gtkrc
@@ -776,7 +782,7 @@ au BufNewFile,BufRead *.haml setf haml
au BufNewFile,BufRead *.hsc,*.hsm setf hamster
" Haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.hs,*.hs-boot setf haskell
au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
@@ -823,10 +829,10 @@ au BufNewFile,BufRead *.html.m4 setf htmlm4
au BufNewFile,BufRead *.tmpl setf htmlcheetah
" Host config
au BufNewFile,BufRead /etc/host.conf setf hostconf
au BufNewFile,BufRead */etc/host.conf setf hostconf
" Hosts access
au BufNewFile,BufRead /etc/hosts.allow,/etc/hosts.deny setf hostsaccess
au BufNewFile,BufRead */etc/hosts.allow,*/etc/hosts.deny setf hostsaccess
" Hyper Builder
au BufNewFile,BufRead *.hb setf hb
@@ -869,7 +875,9 @@ func! s:ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have
" comments, thus we can't match comments to see the difference.
if getline(2) =~ ';$'
" IDL files can have a single ';' in the second line, require at least one
" chacter before the ';'.
if getline(2) =~ '.;$'
setf cpp
else
exe 'setf ' . a:default
@@ -884,7 +892,7 @@ au BufNewFile,BufRead indentrc setf indent
au BufNewFile,BufRead *.inf,*.INF setf inform
" Initng
au BufNewFile,BufRead /etc/initng/**/*.i,*.ii setf initng
au BufNewFile,BufRead */etc/initng/**/*.i,*.ii setf initng
" Ipfilter
au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules setf ipfilter
@@ -914,7 +922,7 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx setf javascript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.json setf javascript
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@@ -929,6 +937,9 @@ au BufNewFile,BufRead *.clp setf jess
" Jgraph
au BufNewFile,BufRead *.jgr setf jgraph
" Jovial
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
" Kixtart
au BufNewFile,BufRead *.kix setf kix
@@ -948,7 +959,7 @@ au BufNewFile,BufRead *.ace,*.ACE setf lace
au BufNewFile,BufRead *.latte,*.lte setf latte
" Limits
au BufNewFile,BufRead /etc/limits setf limits
au BufNewFile,BufRead */etc/limits,*/etc/*limits.conf,*/etc/*limits.d/*.conf setf limits
" LambdaProlog (*.mod too, see Modsim)
au BufNewFile,BufRead *.sig setf lprolog
@@ -963,10 +974,10 @@ au BufNewFile,BufRead *.ld setf ld
au BufNewFile,BufRead *.lex,*.l setf lex
" Libao
au BufNewFile,BufRead /etc/libao.conf,*/.libao setf libao
au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao
" Libsensors
au BufNewFile,BufRead /etc/sensors.conf setf sensors
au BufNewFile,BufRead */etc/sensors.conf,*/etc/sensors3.conf setf sensors
" LFTP
au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
@@ -975,7 +986,7 @@ au BufNewFile,BufRead lftp.conf,.lftprc,*lftp/rc setf lftp
au BufNewFile,BufRead *.ll setf lifelines
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo')
au BufNewFile,BufRead lilo.conf setf lilo
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)
if has("fname_case")
@@ -997,10 +1008,10 @@ au BufNewFile,BufRead *.lite,*.lt setf lite
au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep
" Login access
au BufNewFile,BufRead /etc/login.access setf loginaccess
au BufNewFile,BufRead */etc/login.access setf loginaccess
" Login defs
au BufNewFile,BufRead /etc/login.defs setf logindefs
au BufNewFile,BufRead */etc/login.defs setf logindefs
" Logtalk
au BufNewFile,BufRead *.lgt setf logtalk
@@ -1031,7 +1042,7 @@ au BufNewFile,BufRead *.mgp setf mgp
au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
" Mail aliases
au BufNewFile,BufRead /etc/mail/aliases,/etc/aliases setf mailaliases
au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases setf mailaliases
" Mailcap configuration file
au BufNewFile,BufRead .mailcap,mailcap setf mailcap
@@ -1046,7 +1057,7 @@ au BufNewFile,BufRead *.ist,*.mst setf ist
au BufNewFile,BufRead *.man setf man
" Man config
au BufNewFile,BufRead /etc/man.conf,man.config setf manconf
au BufNewFile,BufRead */etc/man.conf,man.config setf manconf
" Maple V
au BufNewFile,BufRead *.mv,*.mpl,*.mws setf maple
@@ -1097,8 +1108,8 @@ au BufNewFile,BufRead *.mel setf mel
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
" Messages
au BufNewFile,BufRead /var/log/messages,/var/log/messages.*[0-9] setf messages
" Messages (logs mostly)
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
" Metafont
au BufNewFile,BufRead *.mf setf mf
@@ -1154,11 +1165,7 @@ au BufNewFile,BufRead *.isc,*.monk,*.ssc,*.tsc setf monk
au BufNewFile,BufRead *.moo setf moo
" Modconf
au BufNewFile,BufRead /etc/modules.conf,/etc/conf.modules setf modconf
au BufNewFile,BufRead /etc/modutils/*
\ if executable(expand("<afile>")) != 1
\| call s:StarSetf('modconf')
\|endif
au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf
" Mplayer config
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
@@ -1175,6 +1182,9 @@ au BufNewFile,BufRead *.msql setf msql
" Mysql
au BufNewFile,BufRead *.mysql setf mysql
" Mutt setup files (must be before catch *.rc)
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
" M$ Resource files
au BufNewFile,BufRead *.rc setf rc
@@ -1188,7 +1198,7 @@ au BufNewFile,BufRead *.mush setf mush
au BufNewFile,BufRead Mutt{ng,}rc setf muttrc
" Nano
au BufNewFile,BufRead /etc/nanorc,.nanorc setf nanorc
au BufNewFile,BufRead */etc/nanorc,.nanorc setf nanorc
" Nastran input/DMAP
"au BufNewFile,BufRead *.dat setf nastran
@@ -1264,13 +1274,13 @@ au BufNewFile,BufRead *.ora setf ora
au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead /etc/pam.conf setf pamconf
au BufNewFile,BufRead */etc/pam.conf setf pamconf
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
" Password file
au BufNewFile,BufRead /etc/passwd,/etc/passwd-,/etc/passwd.edit,/etc/shadow,/etc/shadow-,/var/backups/passwd.bak,/var/backups/shadow.bak setf passwd
au BufNewFile,BufRead */etc/passwd,*/etc/passwd-,*/etc/passwd.edit,*/etc/shadow,*/etc/shadow-,*/etc/shadow.edit,*/var/backups/passwd.bak,*/var/backups/shadow.bak setf passwd
" Pascal (also *.p)
au BufNewFile,BufRead *.pas setf pascal
@@ -1402,7 +1412,7 @@ au BufNewFile,BufRead *.it,*.ih setf ppwiz
" Obj 3D file format
" TODO: is there a way to avoid MS-Windows Object files?
au BufNewFile,BufRead *.obj setf obj
au BufNewFile,BufRead *.obj setf obj
" Oracle Pro*C/C++
au BufNewFile,BufRead *.pc setf proc
@@ -1497,7 +1507,7 @@ au BufNewFile,BufRead *.pdb setf prolog
au BufNewFile,BufRead *.pml setf promela
" Protocols
au BufNewFile,BufRead /etc/protocols setf protocols
au BufNewFile,BufRead */etc/protocols setf protocols
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
@@ -1578,13 +1588,17 @@ func! s:FTr()
endif
endfor
" Nothing recognized, assume Rexx
setf rexx
" Nothing recognized, use user default or assume Rexx
if exists("g:filetype_r")
exe "setf " . g:filetype_r
else
" Rexx used to be the default, but R appears to be much more popular.
setf r
endif
endfunc
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
au BufNewFile,BufRead *.remind,*.rem setf remind
au BufNewFile,BufRead .reminders,*.remind,*.rem setf remind
" Resolv.conf
au BufNewFile,BufRead resolv.conf setf resolv
@@ -1611,7 +1625,16 @@ au BufNewFile,BufRead *.rtf setf rtf
au BufNewFile,BufRead .irbrc,irbrc setf ruby
" Ruby
au BufNewFile,BufRead *.rb,*.rbw,*.gem,*.gemspec setf ruby
au BufNewFile,BufRead *.rb,*.rbw setf ruby
" RubyGems
au BufNewFile,BufRead *.gemspec setf ruby
" Rackup
au BufNewFile,BufRead *.ru setf ruby
" Bundler
au BufNewFile,BufRead Gemfile setf ruby
" Ruby on Rails
au BufNewFile,BufRead *.builder,*.rxml,*.rjs setf ruby
@@ -1638,7 +1661,7 @@ au BufNewFile,BufRead *.sa setf sather
au BufNewFile,BufRead *.sci,*.sce setf scilab
" SCSS
au BufNewFile,BufRead *.scss setf scss
au BufNewFile,BufRead *.scss setf scss
" SD: Streaming Descriptors
au BufNewFile,BufRead *.sd setf sd
@@ -1675,19 +1698,19 @@ func! s:McSetf()
endfunc
" Services
au BufNewFile,BufRead /etc/services setf services
au BufNewFile,BufRead */etc/services setf services
" Service Location config
au BufNewFile,BufRead /etc/slp.conf setf slpconf
au BufNewFile,BufRead */etc/slp.conf setf slpconf
" Service Location registration
au BufNewFile,BufRead /etc/slp.reg setf slpreg
au BufNewFile,BufRead */etc/slp.reg setf slpreg
" Service Location SPI
au BufNewFile,BufRead /etc/slp.spi setf slpspi
au BufNewFile,BufRead */etc/slp.spi setf slpspi
" Setserial config
au BufNewFile,BufRead /etc/serial.conf setf setserial
au BufNewFile,BufRead */etc/serial.conf setf setserial
" SGML
au BufNewFile,BufRead *.sgm,*.sgml
@@ -1714,7 +1737,7 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Gentoo ebuilds are actually bash scripts
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash_profile*,.bash_logout*,*.bash,*.ebuild call SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
au BufNewFile,BufRead /etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
" Also called from scripts.vim.
func! SetFileTypeSH(name)
@@ -1797,9 +1820,9 @@ func! s:CSH()
endfunc
" Z-Shell script
au BufNewFile,BufRead .zprofile,/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
au BufNewFile,BufRead *.zsh setf zsh
au BufNewFile,BufRead *.zsh setf zsh
" Scheme
au BufNewFile,BufRead *.scm,*.ss setf scheme
@@ -1868,7 +1891,7 @@ au BufNewFile,BufRead *.rules call s:FTRules()
let s:ft_rules_udev_rules_pattern = '^\s*\cudev_rules\s*=\s*"\([^"]\{-1,}\)/*".*'
func! s:FTRules()
let path = expand('<amatch>:p')
if path =~ '^/etc/udev/\%(rules\.d/\)\=.*\.rules$'
if path =~ '^/\(etc/udev/\%(rules\.d/\)\=.*\.rules\|lib/udev/\%(rules\.d/\)\=.*\.rules\)$'
setf udevrules
return
endif
@@ -1956,13 +1979,13 @@ au BufNewFile,BufRead *.sml setf sml
au BufNewFile,BufRead *.cm setf voscm
" Sysctl
au BufNewFile,BufRead /etc/sysctl.conf setf sysctl
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc
" Sudoers
au BufNewFile,BufRead /etc/sudoers,sudoers.tmp setf sudoers
au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
" SVG (Scalable Vector Graphics)
au BufNewFile,BufRead *.svg setf svg
@@ -2089,6 +2112,9 @@ au BufNewFile,BufRead *.tf,.tfrc,tfrc setf tf
" TPP - Text Presentation Program
au BufNewFile,BufReadPost *.tpp setf tpp
" Treetop
au BufRead,BufNewFile *.treetop setf treetop
" Trustees
au BufNewFile,BufRead trustees.conf setf trustees
@@ -2105,19 +2131,23 @@ au BufNewFile,BufReadPost *.tsscl setf tsscl
au BufNewFile,BufRead *.uit,*.uil setf uil
" Udev conf
au BufNewFile,BufRead /etc/udev/udev.conf setf udevconf
au BufNewFile,BufRead */etc/udev/udev.conf setf udevconf
" Udev permissions
au BufNewFile,BufRead /etc/udev/permissions.d/*.permissions setf udevperm
au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm
"
" Udev symlinks config
au BufNewFile,BufRead /etc/udev/cdsymlinks.conf setf sh
au BufNewFile,BufRead */etc/udev/cdsymlinks.conf setf sh
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
" Updatedb
au BufNewFile,BufRead /etc/updatedb.conf setf updatedb
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
" Upstart (init(8)) config files
au BufNewFile,BufRead */etc/init/*.conf,*/.init/*.conf setf upstart
au BufNewFile,BufRead */etc/init/*.override,*/.init/*.override setf upstart
" Vera
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
@@ -2209,15 +2239,18 @@ au BufEnter *.xpm2 setf xpm2
" XFree86 config
au BufNewFile,BufRead XF86Config
\ if getline(1) =~ '\<XConfigurator\>' |
\ let b:xf86c_xfree86_version = 3 |
\ let b:xf86conf_xfree86_version = 3 |
\ endif |
\ setf xf86conf
au BufNewFile,BufRead */xorg.conf.d/*.conf
\ let b:xf86conf_xfree86_version = 4 |
\ setf xf86conf
" Xorg config
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86c_xfree86_version = 4 | setf xf86conf
au BufNewFile,BufRead xorg.conf,xorg.conf-4 let b:xf86conf_xfree86_version = 4 | setf xf86conf
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.conf setf xinetd
au BufNewFile,BufRead */etc/xinetd.conf setf xinetd
" XS Perl extension interface language
au BufNewFile,BufRead *.xs setf xs
@@ -2264,7 +2297,7 @@ au BufNewFile,BufRead *.ts,*.ui setf xml
au BufNewFile,BufRead *.tpm setf xml
" Xdg menus
au BufNewFile,BufRead /etc/xdg/menus/*.menu setf xml
au BufNewFile,BufRead */etc/xdg/menus/*.menu setf xml
" ATI graphics driver configuration
au BufNewFile,BufRead fglrxrc setf xml
@@ -2312,6 +2345,9 @@ endfunc
" Yaml
au BufNewFile,BufRead *.yaml,*.yml setf yaml
" yum conf (close enough to dosini)
au BufNewFile,BufRead */etc/yum.conf setf dosini
" Zope
" dtml (zope dynamic template markup language), pt (zope page template),
" cpt (zope form controller page template)
@@ -2348,8 +2384,9 @@ au StdinReadPost * if !did_filetype() | runtime! scripts.vim | endif
" Most of these should call s:StarSetf() to avoid names ending in .gz and the
" like are used.
" More Apache files.
au BufNewFile,BufRead /etc/apache2/conf.*/*,/etc/apache2/sites-*/*,/etc/apache2/mods-*/* call s:StarSetf('apache')
" More Apache config files
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" Asterisk config file
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
@@ -2361,6 +2398,11 @@ au BufNewFile,BufRead bzr_log.* setf bzr
" BIND zone
au BufNewFile,BufRead */named/db.*,*/bind/db.* call s:StarSetf('bindzone')
" Calendar
au BufNewFile,BufRead */.calendar/*,
\*/share/calendar/*/calendar.*,*/share/calendar/calendar.*
\ call s:StarSetf('calendar')
" Changelog
au BufNewFile,BufRead [cC]hange[lL]og*
\ if getline(1) =~ '; urgency='
@@ -2370,10 +2412,10 @@ au BufNewFile,BufRead [cC]hange[lL]og*
\|endif
" Crontab
au BufNewFile,BufRead crontab,crontab.*,/etc/cron.d/* call s:StarSetf('crontab')
au BufNewFile,BufRead crontab,crontab.*,*/etc/cron.d/* call s:StarSetf('crontab')
" Debian Sources.list
au BufNewFile,BufRead /etc/apt/sources.list.d/* call s:StarSetf('debsources')
" dnsmasq(8) configuration
au BufNewFile,BufRead */etc/dnsmasq.d/* call s:StarSetf('dnsmasq')
" Dracula
au BufNewFile,BufRead drac.* call s:StarSetf('dracula')
@@ -2390,7 +2432,7 @@ au BufNewFile,BufRead *fvwm2rc*
\|endif
" Gedcom
au BufNewFile,BufRead /tmp/lltmp* call s:StarSetf('gedcom')
au BufNewFile,BufRead */tmp/lltmp* call s:StarSetf('gedcom')
" GTK RC
au BufNewFile,BufRead .gtkrc*,gtkrc* call s:StarSetf('gtkrc')
@@ -2407,8 +2449,11 @@ au! BufNewFile,BufRead *jarg*
" Kconfig
au BufNewFile,BufRead Kconfig.* call s:StarSetf('kconfig')
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf* call s:StarSetf('lilo')
" Logcheck
au BufNewFile,BufRead /etc/logcheck/*.d*/* call s:StarSetf('logcheck')
au BufNewFile,BufRead */etc/logcheck/*.d*/* call s:StarSetf('logcheck')
" Makefile
au BufNewFile,BufRead [mM]akefile* call s:StarSetf('make')
@@ -2420,7 +2465,11 @@ au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\} setf mail
" Modconf
au BufNewFile,BufRead /etc/modprobe.* call s:StarSetf('modconf')
au BufNewFile,BufRead */etc/modutils/*
\ if executable(expand("<afile>")) != 1
\| call s:StarSetf('modconf')
\|endif
au BufNewFile,BufRead */etc/modprobe.* call s:StarSetf('modconf')
" Mutt setup file
au BufNewFile,BufRead .mutt{ng,}rc*,*/.mutt{ng,}/mutt{ng,}rc* call s:StarSetf('muttrc')
@@ -2430,7 +2479,7 @@ au BufNewFile,BufRead mutt{ng,}rc*,Mutt{ng,}rc* call s:StarSetf('muttrc')
au BufNewFile,BufRead tmac.* call s:StarSetf('nroff')
" Pam conf
au BufNewFile,BufRead /etc/pam.d/* call s:StarSetf('pamconf')
au BufNewFile,BufRead */etc/pam.d/* call s:StarSetf('pamconf')
" Printcap and Termcap
au BufNewFile,BufRead *printcap*
@@ -2442,6 +2491,9 @@ au BufNewFile,BufRead *termcap*
\| let b:ptcap_type = "term" | call s:StarSetf('ptcap')
\|endif
" Remind
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
" Vim script
au BufNewFile,BufRead *vimrc* call s:StarSetf('vim')
@@ -2453,10 +2505,10 @@ au BufNewFile,BufRead Xresources*,*/app-defaults/*,*/Xresources/* call s:StarSet
" XFree86 config
au BufNewFile,BufRead XF86Config-4*
\ let b:xf86c_xfree86_version = 4 | call s:StarSetf('xf86conf')
\ let b:xf86conf_xfree86_version = 4 | call s:StarSetf('xf86conf')
au BufNewFile,BufRead XF86Config*
\ if getline(1) =~ '\<XConfigurator\>'
\| let b:xf86c_xfree86_version = 3
\| let b:xf86conf_xfree86_version = 3
\|endif
\|call s:StarSetf('xf86conf')
@@ -2464,7 +2516,10 @@ au BufNewFile,BufRead XF86Config*
au BufNewFile,BufRead *xmodmap* call s:StarSetf('xmodmap')
" Xinetd conf
au BufNewFile,BufRead /etc/xinetd.d/* call s:StarSetf('xinetd')
au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
" yum conf (close enough to dosini)
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
" Z-Shell script
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 Sep 25
" Last Change: 2011 Aug 04
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -36,7 +36,7 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments.
let b:match_words = &matchpairs
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character'
" Win32 can filter files in the browse dialog
+5 -4
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2009-05-25
" Latest Revision: 2011-05-02
" Variables:
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
" description: the timeformat used in ChangeLog entries.
@@ -99,8 +99,9 @@ if &filetype == 'changelog'
function! s:try_reading_file(path)
try
return readfile(a:path)
catch
return []
endtry
return []
endfunction
function! s:passwd_field(line, field)
@@ -178,7 +179,7 @@ if &filetype == 'changelog'
" Look for an entry for today by our user.
let date = strftime(g:changelog_dateformat)
let search = s:substitute_items(g:changelog_date_entry_search, date,
\ g:changelog_username)
\ s:username())
if search(search) > 0
" Ok, now we look for the end of the date entry, and add an entry.
call cursor(nextnonblank(line('.') + 1), 1)
@@ -197,7 +198,7 @@ if &filetype == 'changelog'
" No entry today, so create a date-user header and insert an entry.
let todays_entry = s:substitute_items(g:changelog_new_date_format,
\ date, g:changelog_username)
\ date, s:username())
" Make sure we have a cursor positioning.
if stridx(todays_entry, '{cursor}') == -1
let todays_entry = todays_entry . '{cursor}'
+22
View File
@@ -0,0 +1,22 @@
" Vim filetype plugin file
" Language: DocBook
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
if exists('b:did_ftplugin')
finish
endif
if !exists('b:docbk_type')
if expand('%:e') == 'sgml'
let b:docbk_type = 'sgml'
else
let b:docbk_type = 'xml'
endif
endif
if b:docbk_type == 'sgml'
runtime! ftplugin/sgml.vim ftplugin/sgml_*.vim ftplugin/sgml/*.vim
else
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
endif
+43
View File
@@ -0,0 +1,43 @@
" Vim filetype plugin file
" Language: Falcon
" Author: Steven Oliver <oliver.steven@gmail.com>
" Copyright: Copyright (c) 2009, 2010 Steven Oliver
" License: You may redistribute this under the same terms as Vim itself
" --------------------------------------------------------------------------
" GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
setlocal suffixesadd=.fal
" Matchit support
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
let b:match_words =
\ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' .
\ ':' .
\ '\<\%(else\|elsif\|when\)\>' .
\ ':' .
\ '\<end\>' .
\ ',{:},\[:\],(:)'
endif
" Set comments to include dashed lines
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
" Windows allows you to filter the open file dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Falcon Source Files (*.fal)\t*.fal\n" .
\ "All Files (*.*)\t*.*\n"
endif
" vim: set sw=4 sts=4 et tw=80 :
+10 -1
View File
@@ -13,7 +13,16 @@ set cpo&vim
let b:undo_ftplugin = "setl fo< tw< cole< cocu<"
setlocal formatoptions+=tcroql textwidth=78 cole=2 cocu=nc
setlocal formatoptions+=tcroql textwidth=78
if has("conceal")
setlocal cole=2 cocu=nc
endif
if has("gui_macvim")
" Use swipe gesture to navigate back/forward
nmap <buffer> <silent> <SwipeLeft> :po<CR>
nmap <buffer> <silent> <SwipeRight> :ta<CR>
endif
let &cpo = s:cpo_save
unlet s:cpo_save
+7 -1
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2008 Sep 17
" Last Change: 2011 Jul 25
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -15,6 +15,12 @@ if &filetype == "man"
endif
let b:did_ftplugin = 1
" Ensure Vim is not recursively invoked (man-db does this)
" when doing ctrl-[ on a man page reference.
if exists("$MANPAGER")
let $MANPAGER = ""
endif
" allow dot and dash in manual page name.
setlocal iskeyword+=\.,-
+7 -2
View File
@@ -1,14 +1,19 @@
" Vim filetype plugin file
" Language: pascal
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 20 Jan 2009
" Last Changed: 11 Apr 2011
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
if exists("loaded_matchit")
let b:match_words='\<\%(begin\|case\|try\)\>:\<end\>'
let b:match_ignorecase = 1 " (pascal is case-insensitive)
let b:match_words = '\<\%(begin\|case\|record\|object\|try\)\>'
let b:match_words .= ':\<^\s*\%(except\|finally\)\>:\<end\>'
let b:match_words .= ',\<repeat\>:\<until\>'
let b:match_words .= ',\<if\>:\<else\>'
endif
" Undo the stuff we changed.
+3 -3
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Vim's quickfix window
" Maintainer: Lech Lorens <Lech.Lorens@gmail.com>
" Last Changed: 22 Jul 2010
" Last Changed: 18 Dec 2010
if exists("b:did_ftplugin")
finish
@@ -10,7 +10,7 @@ endif
" Don't load another plugin for this buffer
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl stl<"
let b:undo_ftplugin = "set stl<"
" Display the command that produced the list in the quickfix window:
setlocal stl=%q%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}
setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}
+11 -9
View File
@@ -1,8 +1,8 @@
" SQL filetype plugin file
" Language: SQL (Common for Oracle, Microsoft SQL Server, Sybase)
" Version: 7.0
" Maintainer: David Fishburn <fishburn at ianywhere dot com>
" Last Change: 2010 Jun 11
" Version: 8.0
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Last Change: 2011 Apr 01
" Download: http://vim.sourceforge.net/script.php?script_id=454
" For more details please use:
@@ -36,6 +36,10 @@
"
" History
"
" Version 8.0
"
" NF: Improved the matchit plugin regex (Talek)
"
" Version 7.0
"
" NF: Calls the sqlcomplete#ResetCacheSyntax() function when calling
@@ -290,6 +294,7 @@ if !exists("b:match_words")
" WHEN OTHERS THEN
"
" create[ or replace] procedure|function|event
" \ '^\s*\<\%(do\|for\|while\|loop\)\>.*:'.
let b:match_words =
\ '\<begin\>:\<end\>\W*$,'.
@@ -298,12 +303,9 @@ if !exists("b:match_words")
\ '\<elsif\>\|\<elseif\>\|\<else\>:'.
\ '\<end\s\+if\>,'.
\
\ '\<do\>\|'.
\ '\<while\>\|'.
\ '\%(' . s:notend . '\<loop\>\)\|'.
\ '\%(' . s:notend . '\<for\>\):'.
\ '\<exit\>\|\<leave\>\|\<break\>\|\<continue\>:'.
\ '\%(\<end\s\+\%(for\|loop\>\)\)\|\<doend\>,'.
\ '\(^\s*\)\@<=\(\<\%(do\|for\|while\|loop\)\>.*\):'.
\ '\%(\<exit\>\|\<leave\>\|\<break\>\|\<continue\>\):'.
\ '\%(\<doend\>\|\%(\<end\s\+\%(for\|while\|loop\>\)\)\),'.
\
\ '\%('. s:notend . '\<case\>\):'.
\ '\%('.s:when_no_matched_or_others.'\):'.
+19
View File
@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=b:# commentstring=#\ %s formatoptions-=tcroq formatoptions+=l
let b:undo_ftplugin = "setl com< cms< fo<"
let &cpo = s:cpo_save
unlet s:cpo_save
+8 -1
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Zsh shell script
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09
" Latest Revision: 2011-01-23
if exists("b:did_ftplugin")
finish
@@ -15,5 +15,12 @@ let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
let b:match_words =
\ &matchpairs
\ . ',\<if\>:\<elif\>:\<else\>:\<fi\>'
\ . ',\<case\>:^\s*([^)]*):\<esac\>'
\ . ',\<\%(select\|while\|until\|repeat\|for\%(each\)\=\)\>:\<done\>'
let b:match_skip = 's:comment\|string\|heredoc\|subst'
let &cpo = s:cpo_save
unlet s:cpo_save
+2 -1
View File
@@ -23,6 +23,7 @@
" 26-04-2002 Got initial version working reasonably well
" 29-04-2002 Fixed problems in function headers and max line width
" Added support for two-line if's without curly braces
" Fixed hang: 2011 Aug 31
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -118,7 +119,7 @@ function! GetAwkIndent()
" Case 1
if prev_data =~ ')' && brace_balance < 0
while brace_balance != 0
while brace_balance != 0 && prev_lineno > 0
let prev_lineno = s:Get_prev_line( prev_lineno )
let prev_data = getline( prev_lineno )
let brace_balance=brace_balance+s:Get_brace_balance(prev_data,'(',')' )
+3 -11
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: CSS
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Latest Revision: 2010-12-22
if exists("b:did_indent")
finish
@@ -64,8 +64,6 @@ function GetCSSIndent()
let line = getline(v:lnum)
if line =~ '^\s*\*'
return cindent(v:lnum)
elseif line =~ '^\s*}'
return indent(v:lnum) - &sw
endif
let pnum = s:prevnonblanknoncomment(v:lnum - 1)
@@ -73,12 +71,6 @@ function GetCSSIndent()
return 0
endif
let ind = indent(pnum) + s:count_braces(pnum, 1) * &sw
let pline = getline(pnum)
if pline =~ '}\s*$'
let ind -= (s:count_braces(pnum, 0) - (pline =~ '^\s*}' ? 1 : 0)) * &sw
endif
return ind
return indent(pnum) + s:count_braces(pnum, 1) * &sw
\ - s:count_braces(v:lnum, 0) * &sw
endfunction
+5 -6
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: DTD (Document Type Definition for XML)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-18
" Latest Revision: 2011-07-08
let s:cpo_save = &cpo
set cpo&vim
@@ -52,7 +52,7 @@ function s:indent_to_innermost_parentheses(line, end)
let end = a:end
let parentheses = [end - 1]
while token != ""
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\)[?*+]\=')
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#P\=CDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
if token[0] == '('
call add(parentheses, end - 1)
elseif token[0] == ')'
@@ -80,7 +80,7 @@ function GetDTDIndent()
let lnum = line('.')
let col = col('.')
let indent = indent('.')
let line = join(getline(lnum, v:lnum - 1), "\n")
let line = lnum == v:lnum ? getline(lnum) : join(getline(lnum, v:lnum - 1), "\n")
let [declaration, end] = s:lex1(line, col)
if declaration == ""
@@ -106,7 +106,7 @@ function GetDTDIndent()
" Check for token following element name. This can be a specification of
" whether the start or end tag may be omitted. If nothing is found, indent
" one level.
let [token, end] = s:lex(line, end)
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
let n = 0
while token =~ '[-O]' && n < 2
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
@@ -214,8 +214,7 @@ function GetDTDIndent()
" Finally look for the attributes default value. If non exists, indent
" two levels.
" TODO: Do validation of keywords (#REQUIRED|#IMPLIED)?
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|[^[:space:]]\+\)')
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|#\(REQUIRED\|IMPLIED\|FIXED\)\)')
if default == ""
return indent + &sw * 2
elseif default == '#FIXED'
+156
View File
@@ -0,0 +1,156 @@
" Vim indent file
" Language: Falcon
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
" Website: https://steveno@github.com/steveno/falconpl-vim.git
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" -----------------------------------------------------------
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
"======================================
" SETUP
"======================================
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal nosmartindent
" Setup indent function and when to use it
setlocal indentexpr=FalconGetIndent()
setlocal indentkeys=0{,0},0),0],!^F,o,O,e
setlocal indentkeys+==~case,=~catch,=~default,=~elif,=~else,=~end,=~\"
" Define the appropriate indent function but only once
if exists("*FalconGetIndent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
"======================================
" VARIABLES
"======================================
" Regex of syntax group names that are strings AND comments
let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
" Regex of syntax group names that are strings
let s:syng_string = '\<falcon\%(String\|StringEscape\)\>'
" Keywords to indent on
let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|else' .
\ '\|for\|function\|if.*"[^"]*:.*"\|if \(\(:\)\@!.\)*$\|loop\|object\|select' .
\ '\|switch\|try\|while\|\w*\s*=\s*\w*([$\)'
" Keywords to deindent on
let s:falcon_deindent_keywords = '^\s*\(case\|catch\|default\|elif\|else\|end\)'
"======================================
" FUNCTIONS
"======================================
" Check if the character at lnum:col is inside a string
function s:IsInStringOrComment(lnum, col)
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
endfunction
"======================================
" INDENT ROUTINE
"======================================
function FalconGetIndent()
" Get the line to be indented
let cline = getline(v:lnum)
" Don't reindent comments on first column
if cline =~ '^\/\/'
return 0
endif
" Find the previous non-blank line
let lnum = prevnonblank(v:lnum - 1)
" Use zero indent at the top of the file
if lnum == 0
return 0
endif
let prevline=getline(lnum)
let ind = indent(lnum)
let chg = 0
" If we are in a multi-line string or line-comment, don't do anything
if s:IsInStringOrComment(v:lnum, matchend(cline, '^\s*') + 1 )
return indent('.')
endif
" If the start of the line equals a double quote, then indent to the
" previous lines first double quote
if cline =~? '^\s*"'
let chg = chg + &sw
endif
" If previous line started with a double quote and this one
" doesn't, unindent
if prevline =~? '^\s*"' && cline =~? '^\s*'
let chg = chg - &sw
endif
" Indent if proper keyword
if prevline =~? s:falcon_indent_keywords
let chg = &sw
" If previous line opened a parenthesis, and did not close it, indent
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
" Make sure this isn't just a function split between two lines
if prevline =~ ',\s*$'
return indent(prevnonblank(v:lnum - 1)) + &sw
else
return match(prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
endif
elseif prevline =~ '^[^(]*)\s*$'
" This line closes a parenthesis. Finds opening.
let curr_line = prevnonblank(lnum - 1)
while curr_line >= 0
let str = getline(curr_line)
if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
let curr_line = prevnonblank(curr_line - 1)
else
break
endif
endwhile
if curr_line < 0
return -1
endif
let ind = indent(curr_line)
endif
" If previous line ends in a semi-colon reset indent to previous
" lines setting
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
return chg = chg - (2 * &sw)
endif
" If previous line ended in a comma, indent again
if prevline =~? ',\s*$'
let chg = chg + &sw
endif
" If previous line ended in a =>, indent again
if prevline =~? '=>\s*$'
let chg = chg + &sw
endif
" Deindent on proper keywords
if cline =~? s:falcon_deindent_keywords
let chg = chg - &sw
endif
return ind + chg
endfunction
" vim: set sw=4 sts=4 et tw=80 :
+56 -17
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Fortran95 (and Fortran90, Fortran77, F and elf90)
" Version: 0.38
" Last Change: 2010 July 21
" Version: 0.39
" Last Change: 2011 May 30
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
" Usage: Do :help fortran-indent from Vim
@@ -12,8 +12,14 @@ endif
let b:did_indent = 1
setlocal indentkeys+==~end,=~case,=~if,=~else,=~do,=~where,=~elsewhere,=~select
setlocal indentkeys+==~endif,=~enddo,=~endwhere,=~endselect
setlocal indentkeys+==~type,=~interface
setlocal indentkeys+==~endif,=~enddo,=~endwhere,=~endselect,=~elseif
setlocal indentkeys+==~type,=~interface,=~forall,=~associate,=~block,=~enum
setlocal indentkeys+==~endforall,=~endassociate,=~endblock,=~endenum
if exists("b:fortran_indent_more") || exists("g:fortran_indent_more")
setlocal indentkeys+==~function,=~subroutine,=~module,=~contains,=~program
setlocal indentkeys+==~endfunction,=~endsubroutine,=~endmodule
setlocal indentkeys+==~endprogram
endif
" Determine whether this is a fixed or free format source file
" if this hasn't been done yet
@@ -69,6 +75,8 @@ function FortranGetIndent(lnum)
let prevline=getline(a:lnum)
" Strip tail comment
let prevstat=substitute(prevline, '!.*$', '', '')
let prev2line=getline(a:lnum-1)
let prev2stat=substitute(prev2line, '!.*$', '', '')
"Indent do loops only if they are all guaranteed to be of do/end do type
if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo")
@@ -80,31 +88,62 @@ function FortranGetIndent(lnum)
endif
endif
"Add a shiftwidth to statements following if, else, case,
"where, elsewhere, type and interface statements
if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(else\|case\|where\|elsewhere\)\>'
\ ||prevstat =~? '^\s*\(\d\+\s\)\=\s*\(type\|interface\)\>'
\ || prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
"Add a shiftwidth to statements following if, else, else if, case,
"where, else where, forall, type, interface and associate statements
if prevstat =~? '^\s*\(case\|else\|else\s*if\|else\s*where\)\>'
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
let ind = ind + &sw
" Remove unwanted indent after logical and arithmetic ifs
if prevstat =~? '\<if\>' && prevstat !~? '\<then\>'
let ind = ind - &sw
endif
" Remove unwanted indent after type( statements
if prevstat =~? '\<type\s*('
if prevstat =~? '^\s*type\s*('
let ind = ind - &sw
endif
endif
"Subtract a shiftwidth from else, elsewhere, case, end if,
" end where, end select, end interface and end type statements
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
\. '\(else\|elsewhere\|case\|end\s*\(if\|where\|select\|interface\|type\)\)\>'
let ind = ind - &sw
" Fix indent for case statement immediately after select
if prevstat =~? '\<select\>'
"Indent program units unless instructed otherwise
if !exists("b:fortran_indent_less") && !exists("g:fortran_indent_less")
let prefix='\(\(pure\|impure\|elemental\|recursive\)\s\+\)\{,2}'
let type='\(\(integer\|real\|double\s\+precision\|complex\|logical'
\.'\|character\|type\|class\)\s*\S*\s\+\)\='
if prevstat =~? '^\s*\(module\|contains\|program\)\>'
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
let ind = ind + &sw
endif
if getline(v:lnum) =~? '^\s*contains\>'
\ ||getline(v:lnum)=~? '^\s*end\s*'
\ .'\(function\|subroutine\|module\|program\)\>'
let ind = ind - &sw
endif
endif
"Subtract a shiftwidth from else, else if, elsewhere, case, end if,
" end where, end select, end forall, end interface, end associate,
" end enum, and end type statements
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*'
\. '\(else\|else\s*if\|else\s*where\|case\|'
\. 'end\s*\(if\|where\|select\|interface\|'
\. 'type\|forall\|associate\|enum\)\)\>'
let ind = ind - &sw
" Fix indent for case statement immediately after select
if prevstat =~? '\<select\s\+\(case\|type\)\>'
let ind = ind + &sw
endif
endif
"First continuation line
if prevstat =~ '&\s*$' && prev2stat !~ '&\s*$'
let ind = ind + &sw
endif
"Line after last continuation line
if prevstat !~ '&\s*$' && prev2stat =~ '&\s*$'
let ind = ind - &sw
endif
return ind
+154 -99
View File
@@ -2,7 +2,11 @@
" Language: Pascal
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
" Created: 2004 Jul 13
" Last Change: 2005 Jul 05
" Last Change: 2011 Apr 01
"
" This is version 2.0, a complete rewrite.
"
" For further documentation, see http://psy.swansea.ac.uk/staff/carter/vim/
if exists("b:did_indent")
@@ -38,7 +42,15 @@ function! s:GetPrevNonCommentLineNum( line_num )
endfunction
function! s:PurifyCode( line_num )
" Strip any trailing comments and whitespace
let pureline = 'TODO'
return pureline
endfunction
function! GetPascalIndent( line_num )
" Line 0 always goes at column 0
if a:line_num == 0
return 0
@@ -46,128 +58,171 @@ function! GetPascalIndent( line_num )
let this_codeline = getline( a:line_num )
" If in the middle of a three-part comment
" SAME INDENT
" Middle of a three-part comment
if this_codeline =~ '^\s*\*'
return indent( a:line_num )
return indent( a:line_num - 1)
endif
" COLUMN 1 ALWAYS
" Last line of the program
if this_codeline =~ '^\s*end\.'
return 0
endif
" Compiler directives, allowing "(*" and "{"
"if this_codeline =~ '^\s*\({\|(\*\)$\(IFDEF\|IFNDEF\|ELSE\|ENDIF\)'
if this_codeline =~ '^\s*\({\|(\*\)\$'
return 0
endif
" section headers
if this_codeline =~ '^\s*\(program\|procedure\|function\|type\)\>'
return 0
endif
" Subroutine separators, lines ending with "const" or "var"
if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\(const\|var\)\)$'
return 0
endif
" OTHERWISE, WE NEED TO LOOK FURTHER BACK...
let prev_codeline_num = s:GetPrevNonCommentLineNum( a:line_num )
let prev_codeline = getline( prev_codeline_num )
let indnt = indent( prev_codeline_num )
" Compiler directives should always go in column zero.
if this_codeline =~ '^\s*{\(\$IFDEF\|\$ELSE\|\$ENDIF\)'
return 0
" INCREASE INDENT
" If the PREVIOUS LINE ended in these items, always indent
if prev_codeline =~ '\<\(type\|const\|var\)$'
return indnt + &shiftwidth
endif
" These items have nothing before or after (not even a comment), and
" go on column 0. Make sure that the ^\s* is followed by \( to make
" ORs work properly, and not include the start of line (this must
" always appear).
" The bracketed expression with the underline is a routine
" separator. This is one case where we do indent comment lines.
if this_codeline =~ '^\s*\((\*\ _\+\ \*)\|\<\(const\|var\)\>\)$'
return 0
endif
" These items may have text after them, and go on column 0 (in most
" cases). The problem is that "function" and "procedure" keywords
" should be indented if within a class declaration.
if this_codeline =~ '^\s*\<\(program\|type\|uses\|procedure\|function\)\>'
return 0
endif
" BEGIN
" If the begin does not come after "if", "for", or "else", then it
" goes in column 0
if this_codeline =~ '^\s*begin\>' && prev_codeline !~ '^\s*\<\(if\|for\|else\)\>'
return 0
endif
" These keywords are indented once only.
if this_codeline =~ '^\s*\<\(private\)\>'
return &shiftwidth
endif
" If the PREVIOUS LINE contained these items, the current line is
" always indented once.
if prev_codeline =~ '^\s*\<\(type\|uses\)\>'
return &shiftwidth
endif
" These keywords are indented once only. Possibly surrounded by
" other chars.
if this_codeline =~ '^.\+\<\(object\|record\)\>'
return &shiftwidth
endif
" If the previous line was indenting...
if prev_codeline =~ '^\s*\<\(for\|if\|case\|else\|end\ else\)\>'
" then indent.
let indnt = indnt + &shiftwidth
" BUT... if this is the start of a multistatement block then we
" need to align the begin with the previous line.
if this_codeline =~ '^\s*begin\>'
return indnt - &shiftwidth
endif
" We also need to keep the indentation level constant if the
" whole if-then statement was on one line.
if prev_codeline =~ '\<then\>.\+'
let indnt = indnt - &shiftwidth
endif
endif
" PREVIOUS-LINE BEGIN
" If the previous line was an indenting keyword then indent once...
if prev_codeline =~ '^\s*\<\(const\|var\|begin\|repeat\|private\)\>'
" But only if this is another var in a list.
if this_codeline !~ '^\s*var\>'
if prev_codeline =~ '\<repeat$'
if this_codeline !~ '^\s*until\>'
return indnt + &shiftwidth
else
return indnt
endif
endif
" PREVIOUS-LINE BEGIN
" Indent code after a case statement begin
if prev_codeline =~ '\:\ begin\>'
if prev_codeline =~ '\<\(begin\|record\)$'
if this_codeline !~ '^\s*end\>'
return indnt + &shiftwidth
else
return indnt
endif
endif
" If the PREVIOUS LINE ended with these items, indent if not
" followed by "begin"
if prev_codeline =~ '\<\(\|else\|then\|do\)$' || prev_codeline =~ ':$'
if this_codeline !~ '^\s*begin\>'
return indnt + &shiftwidth
else
" If it does start with "begin" then keep the same indent
"return indnt + &shiftwidth
return indnt
endif
endif
" Inside a parameter list (i.e. a "(" without a ")"). ???? Considers
" only the line before the current one. TODO: Get it working for
" parameter lists longer than two lines.
if prev_codeline =~ '([^)]\+$'
return indnt + &shiftwidth
endif
" These words may have text before them on the line (hence the .*)
" but are followed by nothing. Always indent once only.
if prev_codeline =~ '^\(.*\|\s*\)\<\(object\|record\)\>$'
return indnt + &shiftwidth
endif
" If we just closed a bracket that started on a previous line, then
" unindent. But don't return yet -- we need to check for further
" unindentation (for end/until/else)
if prev_codeline =~ '^[^(]*[^*])'
let indnt = indnt - &shiftwidth
endif
" DECREASE INDENT
" At the end of a block, we have to unindent both the current line
" (the "end" for instance) and the newly-created line.
if this_codeline =~ '^\s*\<\(end\|until\|else\)\>'
" Lines starting with "else", but not following line ending with
" "end".
if this_codeline =~ '^\s*else\>' && prev_codeline !~ '\<end$'
return indnt - &shiftwidth
endif
" If we have opened a bracket and it continues over one line,
" then indent once.
"
" RE = an opening bracket followed by any amount of anything other
" than a closing bracket and then the end-of-line.
"
" If we didn't include the end of line, this RE would match even
" closed brackets, since it would match everything up to the closing
" bracket.
"
" This test isn't clever enough to handle brackets inside strings or
" comments.
if prev_codeline =~ '([^*]\=[^)]*$'
" Lines after a single-statement branch/loop.
" Two lines before ended in "then", "else", or "do"
" Previous line didn't end in "begin"
let prev2_codeline_num = s:GetPrevNonCommentLineNum( prev_codeline_num )
let prev2_codeline = getline( prev2_codeline_num )
if prev2_codeline =~ '\<\(then\|else\|do\)$' && prev_codeline !~ '\<begin$'
" If the next code line after a single statement branch/loop
" starts with "end", "except" or "finally", we need an
" additional unindentation.
if this_codeline =~ '^\s*\(end;\|except\|finally\|\)$'
" Note that we don't return from here.
return indnt - &shiftwidth - &shiftwidth
endif
return indnt - &shiftwidth
endif
" Lines starting with "until" or "end". This rule must be overridden
" by the one for "end" after a single-statement branch/loop. In
" other words that rule should come before this one.
if this_codeline =~ '^\s*\(end\|until\)\>'
return indnt - &shiftwidth
endif
" MISCELLANEOUS THINGS TO CATCH
" Most "begin"s will have been handled by now. Any remaining
" "begin"s on their own line should go in column 1.
if this_codeline =~ '^\s*begin$'
return 0
endif
" ____________________________________________________________________
" Object/Borland Pascal/Delphi Extensions
"
" Note that extended-pascal is handled here, unless it is simpler to
" handle them in the standard-pascal section above.
" COLUMN 1 ALWAYS
" section headers at start of line.
if this_codeline =~ '^\s*\(interface\|implementation\|uses\|unit\)\>'
return 0
endif
" INDENT ONCE
" If the PREVIOUS LINE ended in these items, always indent.
if prev_codeline =~ '^\s*\(unit\|uses\|try\|except\|finally\|private\|protected\|public\|published\)$'
return indnt + &shiftwidth
endif
" ???? Indent "procedure" and "functions" if they appear within an
" class/object definition. But that means overriding standard-pascal
" rule where these words always go in column 1.
" UNINDENT ONCE
if this_codeline =~ '^\s*\(except\|finally\)$'
return indnt - &shiftwidth
endif
if this_codeline =~ '^\s*\(private\|protected\|public\|published\)$'
return indnt - &shiftwidth
endif
" ____________________________________________________________________
" If nothing changed, return same indent.
return indnt
endfunction
+482
View File
@@ -0,0 +1,482 @@
" Vim indent file
" Language: R
" Author: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Last Change: Wed Aug 31, 2011 12:24AM
" Only load this indent file when no other was loaded.
if exists("b:did_r_indent")
finish
endif
let b:did_r_indent = 1
setlocal indentkeys=0{,0},:,!^F,o,O,e
setlocal indentexpr=GetRIndent()
" Only define the function once.
if exists("*GetRIndent")
finish
endif
" Options to make the indentation more similar to Emacs/ESS:
if !exists("g:r_indent_align_args")
let g:r_indent_align_args = 1
endif
if !exists("g:r_indent_ess_comments")
let g:r_indent_ess_comments = 0
endif
if !exists("g:r_indent_comment_column")
let g:r_indent_comment_column = 40
endif
if ! exists("g:r_indent_ess_compatible")
let g:r_indent_ess_compatible = 0
endif
function s:RDelete_quotes(line)
let i = 0
let j = 0
let line1 = ""
let llen = strlen(a:line)
while i < llen
if a:line[i] == '"'
let i += 1
let line1 = line1 . 's'
while !(a:line[i] == '"' && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
let i += 1
endwhile
if a:line[i] == '"'
let i += 1
endif
else
if a:line[i] == "'"
let i += 1
let line1 = line1 . 's'
while !(a:line[i] == "'" && ((i > 1 && a:line[i-1] == '\' && a:line[i-2] == '\') || a:line[i-1] != '\')) && i < llen
let i += 1
endwhile
if a:line[i] == "'"
let i += 1
endif
else
if a:line[i] == "`"
let i += 1
let line1 = line1 . 's'
while a:line[i] != "`" && i < llen
let i += 1
endwhile
if a:line[i] == "`"
let i += 1
endif
endif
endif
endif
if i == llen
break
endif
let line1 = line1 . a:line[i]
let j += 1
let i += 1
endwhile
return line1
endfunction
" Convert foo(bar()) int foo()
function s:RDelete_parens(line)
if s:Get_paren_balance(a:line, "(", ")") != 0
return a:line
endif
let i = 0
let j = 0
let line1 = ""
let llen = strlen(a:line)
while i < llen
let line1 = line1 . a:line[i]
if a:line[i] == '('
let nop = 1
while nop > 0 && i < llen
let i += 1
if a:line[i] == ')'
let nop -= 1
else
if a:line[i] == '('
let nop += 1
endif
endif
endwhile
let line1 = line1 . a:line[i]
endif
let i += 1
endwhile
return line1
endfunction
function! s:Get_paren_balance(line, o, c)
let line2 = substitute(a:line, a:o, "", "g")
let openp = strlen(a:line) - strlen(line2)
let line3 = substitute(line2, a:c, "", "g")
let closep = strlen(line2) - strlen(line3)
return openp - closep
endfunction
function! s:Get_matching_brace(linenr, o, c, delbrace)
let line = SanitizeRLine(getline(a:linenr))
if a:delbrace == 1
let line = substitute(line, '{$', "", "")
endif
let pb = s:Get_paren_balance(line, a:o, a:c)
let i = a:linenr
while pb != 0 && i > 1
let i -= 1
let pb += s:Get_paren_balance(SanitizeRLine(getline(i)), a:o, a:c)
endwhile
return i
endfunction
" This function is buggy because there 'if's without 'else'
" It must be rewritten relying more on indentation
function! s:Get_matching_if(linenr, delif)
" let filenm = expand("%")
" call writefile([filenm], "/tmp/matching_if_" . a:linenr)
let line = SanitizeRLine(getline(a:linenr))
if a:delif
let line = substitute(line, "if", "", "g")
endif
let elsenr = 0
let i = a:linenr
let ifhere = 0
while i > 0
let line2 = substitute(line, '\<else\>', "xxx", "g")
let elsenr += strlen(line) - strlen(line2)
if line =~ '.*\s*if\s*()' || line =~ '.*\s*if\s*()'
let elsenr -= 1
if elsenr == 0
let ifhere = i
break
endif
endif
let i -= 1
let line = SanitizeRLine(getline(i))
endwhile
if ifhere
return ifhere
else
return a:linenr
endif
endfunction
function! s:Get_last_paren_idx(line, o, c, pb)
let blc = a:pb
let line = substitute(a:line, '\t', s:curtabstop, "g")
let theidx = -1
let llen = strlen(line)
let idx = 0
while idx < llen
if line[idx] == a:o
let blc -= 1
if blc == 0
let theidx = idx
endif
else
if line[idx] == a:c
let blc += 1
endif
endif
let idx += 1
endwhile
return theidx + 1
endfunction
" Get previous relevant line. Search back until getting a line that isn't
" comment or blank
function s:Get_prev_line(lineno)
let lnum = a:lineno - 1
let data = getline( lnum )
while lnum > 0 && (data =~ '^\s*#' || data =~ '^\s*$')
let lnum = lnum - 1
let data = getline( lnum )
endwhile
return lnum
endfunction
" This function is also used by r-plugin/common_global.vim
" Delete from '#' to the end of the line, unless the '#' is inside a string.
function SanitizeRLine(line)
let newline = s:RDelete_quotes(a:line)
let newline = s:RDelete_parens(newline)
let newline = substitute(newline, '#.*', "", "")
let newline = substitute(newline, '\s*$', "", "")
return newline
endfunction
function GetRIndent()
let clnum = line(".") " current line
let cline = getline(clnum)
if cline =~ '^\s*#'
if g:r_indent_ess_comments == 1
if cline =~ '^\s*###'
return 0
endif
if cline !~ '^\s*##'
return g:r_indent_comment_column
endif
endif
endif
let cline = SanitizeRLine(cline)
if cline =~ '^\s*}' || cline =~ '^\s*}\s*)$'
let indline = s:Get_matching_brace(clnum, '{', '}', 1)
if indline > 0 && indline != clnum
let iline = SanitizeRLine(getline(indline))
if s:Get_paren_balance(iline, "(", ")") == 0 || iline =~ '(\s*{$'
return indent(indline)
else
let indline = s:Get_matching_brace(indline, '(', ')', 1)
return indent(indline)
endif
endif
endif
" Find the first non blank line above the current line
let lnum = s:Get_prev_line(clnum)
" Hit the start of the file, use zero indent.
if lnum == 0
return 0
endif
let line = SanitizeRLine(getline(lnum))
if &filetype == "rhelp"
if cline =~ '^\\dontshow{' || cline =~ '^\\dontrun{' || cline =~ '^\\donttest{' || cline =~ '^\\testonly{'
return 0
endif
if line =~ '^\\examples{' || line =~ '^\\usage{' || line =~ '^\\dontshow{' || line =~ '^\\dontrun{' || line =~ '^\\donttest{' || line =~ '^\\testonly{'
return 0
endif
if line =~ '^\\method{.*}{.*}(.*'
let line = substitute(line, '^\\method{\(.*\)}{.*}', '\1', "")
endif
endif
if cline =~ '^\s*{'
if g:r_indent_ess_compatible && line =~ ')$'
let nlnum = lnum
let nline = line
while s:Get_paren_balance(nline, '(', ')') < 0
let nlnum = s:Get_prev_line(nlnum)
let nline = SanitizeRLine(getline(nlnum)) . nline
endwhile
if nline =~ '^\s*function\s*(' && indent(nlnum) == &sw
return 0
endif
endif
if s:Get_paren_balance(line, "(", ")") == 0
return indent(lnum)
endif
endif
" line is an incomplete command:
if line =~ '\<\(if\|while\|for\|function\)\s*()$' || line =~ '\<else$' || line =~ '<-$'
return indent(lnum) + &sw
endif
" Deal with () and []
let pb = s:Get_paren_balance(line, '(', ')')
if line =~ '^\s*{$' || line =~ '(\s*{' || (pb == 0 && (line =~ '{$' || line =~ '(\s*{$'))
return indent(lnum) + &sw
endif
let bb = s:Get_paren_balance(line, '[', ']')
let s:curtabstop = repeat(' ', &tabstop)
if g:r_indent_align_args == 1
if pb == 0 && bb == 0 && (line =~ '.*[,&|\-\*+<>]$' || cline =~ '^\s*[,&|\-\*+<>]')
return indent(lnum)
endif
if pb > 0
if &filetype == "rhelp"
let ind = s:Get_last_paren_idx(line, '(', ')', pb)
else
let ind = s:Get_last_paren_idx(getline(lnum), '(', ')', pb)
endif
return ind
endif
if pb < 0 && line =~ '.*[,&|\-\*+<>]$'
let lnum = s:Get_prev_line(lnum)
while pb < 1 && lnum > 0
let line = SanitizeRLine(getline(lnum))
let line = substitute(line, '\t', s:curtabstop, "g")
let ind = strlen(line)
while ind > 0
if line[ind] == ')'
let pb -= 1
else
if line[ind] == '('
let pb += 1
endif
endif
if pb == 1
return ind + 1
endif
let ind -= 1
endwhile
let lnum -= 1
endwhile
return 0
endif
if bb > 0
let ind = s:Get_last_paren_idx(getline(lnum), '[', ']', bb)
return ind
endif
endif
let post_block = 0
if line =~ '}$'
let lnum = s:Get_matching_brace(lnum, '{', '}', 0)
let line = SanitizeRLine(getline(lnum))
if lnum > 0 && line =~ '^\s*{'
let lnum = s:Get_prev_line(lnum)
let line = SanitizeRLine(getline(lnum))
endif
let pb = s:Get_paren_balance(line, '(', ')')
let post_block = 1
endif
let post_fun = 0
if pb < 0 && line !~ ')\s*[,&|\-\*+<>]$'
let post_fun = 1
while pb < 0 && lnum > 0
let lnum -= 1
let linepiece = SanitizeRLine(getline(lnum))
let pb += s:Get_paren_balance(linepiece, "(", ")")
let line = linepiece . line
endwhile
if line =~ '{$' && post_block == 0
return indent(lnum) + &sw
endif
" Now we can do some tests again
if cline =~ '^\s*{'
return indent(lnum)
endif
if post_block == 0
let newl = SanitizeRLine(line)
if newl =~ '\<\(if\|while\|for\|function\)\s*()$' || newl =~ '\<else$' || newl =~ '<-$'
return indent(lnum) + &sw
endif
endif
endif
if cline =~ '^\s*else'
if line =~ '<-\s*if\s*()'
return indent(lnum) + &sw
else
if line =~ '\<if\s*()'
return indent(lnum)
else
return indent(lnum) - &sw
endif
endif
endif
if bb < 0 && line =~ '.*]'
while bb < 0 && lnum > 0
let lnum -= 1
let linepiece = SanitizeRLine(getline(lnum))
let bb += s:Get_paren_balance(linepiece, "[", "]")
let line = linepiece . line
endwhile
let line = s:RDelete_parens(line)
endif
let plnum = s:Get_prev_line(lnum)
let ppost_else = 0
if plnum > 0
let pline = SanitizeRLine(getline(plnum))
let ppost_block = 0
if pline =~ '}$'
let ppost_block = 1
let plnum = s:Get_matching_brace(plnum, '{', '}', 0)
let pline = SanitizeRLine(getline(plnum))
if pline =~ '^\s*{$' && plnum > 0
let plnum = s:Get_prev_line(plnum)
let pline = SanitizeRLine(getline(plnum))
endif
endif
if pline =~ 'else$'
let ppost_else = 1
let plnum = s:Get_matching_if(plnum, 0)
let pline = SanitizeRLine(getline(plnum))
endif
if pline =~ '^\s*else\s*if\s*('
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
while ppline =~ '^\s*else\s*if\s*(' || ppline =~ '^\s*if\s*()\s*\S$'
let plnum = pplnum
let pline = ppline
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
endwhile
while ppline =~ '\<\(if\|while\|for\|function\)\s*()$' || ppline =~ '\<else$' || ppline =~ '<-$'
let plnum = pplnum
let pline = ppline
let pplnum = s:Get_prev_line(plnum)
let ppline = SanitizeRLine(getline(pplnum))
endwhile
endif
let ppb = s:Get_paren_balance(pline, '(', ')')
if ppb < 0 && (pline =~ ')\s*{$' || pline =~ ')$')
while ppb < 0 && plnum > 0
let plnum -= 1
let linepiece = SanitizeRLine(getline(plnum))
let ppb += s:Get_paren_balance(linepiece, "(", ")")
let pline = linepiece . pline
endwhile
let pline = s:RDelete_parens(pline)
endif
endif
let ind = indent(lnum)
let pind = indent(plnum)
if g:r_indent_align_args == 0 && pb != 0
let ind += pb * &sw
return ind
endif
if ind == pind || (ind == (pind + &sw) && pline =~ '{$' && ppost_else == 0)
return ind
endif
while pind < ind && plnum > 0 && ppb == 0
let ind = pind
let plnum = s:Get_prev_line(plnum)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
while pline =~ '^\s*else'
let plnum = s:Get_matching_if(plnum, 1)
let pline = getline(plnum)
let ppb = s:Get_paren_balance(pline, '(', ')')
endwhile
let pind = indent(plnum)
if ind == (pind + &sw) && pline =~ '{$'
return ind
endif
endwhile
return ind
endfunction
" vim: sw=4
+20 -14
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: reStructuredText Documentation Format
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Latest Revision: 2011-08-03
if exists("b:did_indent")
finish
@@ -16,6 +16,9 @@ if exists("*GetRSTIndent")
finish
endif
let s:itemization_pattern = '^\s*[-*+]\s'
let s:enumeration_pattern = '^\s*\%(\d\+\|#\)\.\s\+'
function GetRSTIndent()
let lnum = prevnonblank(v:lnum - 1)
if lnum == 0
@@ -25,27 +28,30 @@ function GetRSTIndent()
let ind = indent(lnum)
let line = getline(lnum)
if line =~ '^\s*[-*+]\s'
let ind = ind + 2
elseif line =~ '^\s*\d\+.\s'
let ind = ind + matchend(substitute(line, '^\s*', '', ''), '\d\+.\s\+')
if line =~ s:itemization_pattern
let ind += 2
elseif line =~ s:enumeration_pattern
let ind += matchend(line, s:enumeration_pattern)
endif
let line = getline(v:lnum - 1)
" Indent :FIELD: lines. Dont match if there is no text after the field or
" if the text ends with a sent-ender.
if line =~ '^:.\+:\s\{-1,\}\S.\+[^.!?:]$'
return matchend(line, '^:.\{-1,}:\s\+')
endif
if line =~ '^\s*$'
execute lnum
call search('^\s*\%([-*+]\s\|\d\+.\s\|\.\.\|$\)', 'bW')
call search('^\s*\%([-*+]\s\|\%(\d\+\|#\)\.\s\|\.\.\|$\)', 'bW')
let line = getline('.')
if line =~ '^\s*[-*+]'
let ind = ind - 2
elseif line =~ '^\s*\d\+\.\s'
let ind = ind - matchend(substitute(line, '^\s*', '', ''),
\ '\d\+\.\s\+')
if line =~ s:itemization_pattern
let ind -= 2
elseif line =~ s:enumeration_pattern
let ind -= matchend(line, s:enumeration_pattern)
elseif line =~ '^\s*\.\.'
let ind = ind - 3
else
let ind = ind
let ind -= 3
endif
endif
+38
View File
@@ -0,0 +1,38 @@
" Vim indent file
" Language: Treetop
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetTreetopIndent()
setlocal indentkeys=0{,0},!^F,o,O,=end
setlocal nosmartindent
if exists("*GetTreetopIndent")
finish
endif
function GetTreetopIndent()
let pnum = prevnonblank(v:lnum - 1)
if pnum == 0
return 0
endif
let ind = indent(pnum)
let line = getline(pnum)
if line =~ '^\s*\%(grammar\|module\|rule\)\>'
let ind += &sw
endif
let line = getline(v:lnum)
if line =~ '^\s*end\>'
let ind -= &sw
end
retur ind
endfunction

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