Compare commits

...

489 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
393 changed files with 18440 additions and 13423 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
+3 -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
+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) $@
-3
View File
@@ -13,9 +13,6 @@ 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.
+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
+23 -8
View File
@@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Jan 05
" Last Change: 2011 Apr 05
"
" Additional contributors:
"
@@ -16,7 +16,7 @@ set cpo-=C
" 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. TODO: how? g:html_charsets and g:html_encodings?
" every system.
"
" Note, not all of Vim's supported encodings have a charset to use.
"
@@ -312,8 +312,9 @@ func! tohtml#Convert2HTML(line1, line2) "{{{
" figure out whether current charset and encoding will work, if not
" default to UTF-8
if !exists('g:html_use_encoding') &&
\ (&l:fileencoding!='' && &l:fileencoding!=s:settings.vim_encoding ||
\ &l:fileencoding=='' && &encoding!=s:settings.vim_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
@@ -603,6 +604,7 @@ func! tohtml#GetUserSettings() "{{{
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 )
@@ -641,7 +643,13 @@ func! tohtml#GetUserSettings() "{{{
" aren't allowed inside a <pre> block
if !user_settings.use_css
let user_settings.no_pre = 1
endif "}}}
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 {{{
@@ -669,9 +677,16 @@ func! tohtml#GetUserSettings() "{{{
endif
else
" Figure out proper MIME charset from 'fileencoding' if possible
if &l:fileencoding != ''
let user_settings.vim_encoding = &l:fileencoding
call tohtml#CharsetFromEncoding(user_settings)
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
+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%.%#
+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%.%#
+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
+14 -14
View File
@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.3. Last change: 2010 Nov 28
*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|
@@ -782,7 +782,7 @@ it, no matter how many backslashes.
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
*E495* *E496* *E497* *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|)
@@ -865,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
+3 -3
View File
@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.3. Last change: 2010 Dec 08
*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.
+1231 -98
View File
File diff suppressed because it is too large Load Diff
+13 -5
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.3. Last change: 2010 Dec 08
*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,
@@ -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|.
+65 -37
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.3. Last change: 2010 Dec 01
*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*
@@ -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,
@@ -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
@@ -1913,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}
@@ -1936,7 +1946,7 @@ 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}
@@ -1959,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
@@ -2267,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
@@ -4071,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
@@ -5268,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))
@@ -5276,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
@@ -5547,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.
@@ -5557,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.
@@ -5944,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:
@@ -6215,14 +6240,14 @@ 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.
@@ -6271,7 +6296,8 @@ vreplace Compiled with |gR| and |gr| commands.
wildignore Compiled with 'wildignore' option.
wildmenu Compiled with 'wildmenu' option.
win16 Win16 version of Vim (MS-Windows 3.1).
win32 Win32 version of Vim (MS-Windows 95/98/ME/NT/2000/XP).
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.
@@ -7072,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.
+10 -1
View File
@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
*gui.txt* For Vim version 7.3. Last change: 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*
+4 -1
View File
@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 7.3. Last change: 2010 Dec 19
*gui_w32.txt* For Vim version 7.3. Last change: 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.
+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
+15 -5
View File
@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
*if_cscop.txt* For Vim version 7.3. Last change: 2011 Jun 12
VIM REFERENCE MANUAL by Andy Kahn
@@ -264,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.
+13 -1
View File
@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.3. Last change: 2010 Oct 20
*if_pyth.txt* For Vim version 7.3. Last change: 2011 Aug 19
VIM REFERENCE MANUAL by Paul Moore
@@ -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:
+132 -21
View File
@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.3. Last change: 2010 Nov 27
*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,6 +273,7 @@ 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'.
@@ -272,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:".
@@ -283,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').
@@ -291,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').
@@ -300,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').
@@ -307,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 ':').
@@ -320,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|.
@@ -336,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).
@@ -346,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
@@ -367,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 >
@@ -374,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).
@@ -385,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
@@ -397,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
@@ -411,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).
@@ -425,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).
@@ -434,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) {
@@ -445,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: {
@@ -463,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
@@ -478,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:
@@ -505,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
@@ -538,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*
@@ -632,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
+2 -2
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.3. Last change: 2011 Jan 04
*index.txt* For Vim version 7.3. Last change: 2011 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1261,7 +1261,7 @@ tag command action ~
|:k| :k set a mark
|:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|:keepjumps| :keepj[jumps] following command keeps jumplist and marks
|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines
+20 -4
View File
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.3. Last change: 2010 Nov 10
*insert.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1020,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
@@ -1040,9 +1055,10 @@ items:
empty when non-zero this match will be added even when it is
an empty string
All of these except 'icase' must be a string. If an item does not meet these
requirements then an error message is given and further items in the list are
not used. You can mix string and Dictionary items in the returned list.
All of these except 'icase', 'dup' and 'empty' must be a string. If an item
does not meet these requirements then an error message is given and further
items in the list are not used. You can mix string and Dictionary items in
the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
+5 -3
View File
@@ -1,4 +1,4 @@
*intro.txt* For Vim version 7.3. Last change: 2010 Dec 08
*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
+30 -19
View File
@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.3. Last change: 2010 Nov 10
*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*
@@ -1177,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
@@ -1206,17 +1212,21 @@ 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
@@ -1291,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
+6 -4
View File
@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.3. Last change: 2010 Sep 14
*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
@@ -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)
+5 -5
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}
+77 -37
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.3. Last change: 2010 Dec 11
*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"
@@ -2103,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|
@@ -2195,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
@@ -2909,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.
@@ -3082,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.
@@ -3273,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}
@@ -3293,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 '#',
@@ -3304,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
@@ -3460,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}
@@ -4184,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
@@ -4407,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 "")
@@ -4937,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.
@@ -5203,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")
@@ -5982,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.
@@ -6004,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
@@ -6085,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.
@@ -6599,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}
@@ -6612,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: >
@@ -6665,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)
+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:
+48 -50
View File
@@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
*os_vms.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL
@@ -38,9 +38,6 @@ You can download the Vim source code by ftp from the official Vim site:
Or use one of the mirrors:
ftp://ftp.vim.org/pub/vim/MIRRORS
You will need both the Unix and Extra archives to build vim.exe for VMS.
For using Vim's full power you will need the runtime files as well.
You can download precompiled executables from:
http://www.polarhome.com/vim/
ftp://ftp.polarhome.com/pub/vim/
@@ -75,7 +72,7 @@ See the file [.SRC]INSTALLVMS.TXT.
4. Problems *vms-problems*
The code has been tested under Open VMS 6.2 - 8.2 on Alpha, VAX and IA64
platforms with the DEC C compiler. It should work without bigger problems.
platforms with the DEC C compiler. It should work without big problems.
If your system does not have some include libraries you can tune up in
OS_VMS_CONF.H file.
@@ -88,11 +85,11 @@ Also GTK, XPM library paths should be configured in MAKE_VMS.MMS
Note: Under VAX it should work with the DEC C compiler without problems. The
VAX C compiler is not fully ANSI C compatible in pre-processor directives
semantics, therefore you have to use a converter program what will do the lion
semantics, therefore you have to use a converter program that will do the lion
part of the job. For detailed instructions read file INSTALLvms.txt
MMS_VIM.EXE is build together with VIM.EXE, but for XD.EXE you should
change to subdirectory and build it separately.
MMS_VIM.EXE is build together with VIM.EXE, but for XXD.EXE you should
change to a subdirectory and build it separately.
CTAGS is not part of the Vim source distribution anymore, however the OpenVMS
specific source might contain CTAGS source files as described above.
@@ -184,9 +181,9 @@ You may want to create .vimrc and .gvimrc files in your home directory
The easiest way is just rename example files. You may leave the menu file
(MENU.VIM) and files vimrc and gvimrc in the original $VIM directory. It will
be default setup for all users, and for users it is enough just to have their
own additions or resetting in their home directory in files .vimrc and .gvimrc.
It should work without problems.
be the default setup for all users, and for users it is enough to just have
their own additions or resetting in their home directory in files .vimrc and
.gvimrc. It should work without problems.
Note: Remember, system rc files (default for all users) don't have a leading
".". So, system rc files are: >
@@ -200,7 +197,7 @@ and user customized rc files are: >
sys$login:.vimrc
sys$login:.gvimrc
You can check that everything is on the right place with the :version command.
You can check that everything is at the right place with the :version command.
Example LOGIN.COM: >
@@ -209,15 +206,15 @@ Example LOGIN.COM: >
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.5.223/trans=tcpip
Note: This set-up should be enough, if you are working on standalone server or
clustered environment, but if you want to use Vim as internode editor in
Note: This set-up should be enough, if you are working on a standalone server or
clustered environment, but if you want to use Vim as an internode editor in
DECNET environment, it will satisfy as well.
You just have to define the "whole" path: >
$ define VIM "<server_name>[""user password""]::device:<path>"
$ vi*m :== "mcr VIM:VIM.EXE"
As for example: >
For example: >
$ define VIM "PLUTO::RF10:[UTIL.VIM]"
$ define VIM "PLUTO""ZAY mypass""::RF10:[UTIL.VIM]" ! if passwd required
@@ -300,12 +297,12 @@ For more information type $help set disp in VMS prompt.
4) If you are working on MS-Windows or some other non X/Window environment
you need to set up one X server and run Vim as in point 2.
For MS-Windows there are available free X servers as MIX , Omni X etc.,
For MS-Windows there are available free X servers as MIX, Omni X etc.,
as well as excellent commercial products as eXcursion or ReflectionX with
built-in DEC support.
Please note, that executables without GUI are slightly faster during startup
then with enabled GUI in character mode. Therefore, if you do not use GUI
than with enabled GUI in character mode. Therefore, if you do not use GUI
features, it is worth to choose non GUI executables.
==============================================================================
@@ -326,8 +323,8 @@ features, it is worth to choose non GUI executables.
8.12 diff-mode
8.13 Allow '$' in C keywords
8.14 VIMTUTOR for beginners
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.15 Slow start in console mode issue
8.16 Common VIM directory - different architectures
8.1 Backspace/delete
@@ -360,7 +357,7 @@ number, try these settings. >
:set nowritebackup " does not have any purpose on VMS. It's the
" default.
Recovery is working perfect as well from the default swap file.
Recovery is working perfectly as well from the default swap file.
Read more with :help swapfile
(Claude Marinier <ClaudeMarinier@xwavesolutions.com> Vim 5.5, Zoltan Arpadffy
@@ -386,7 +383,7 @@ Note: You may use <,> brackets as well (device:<path>file.ext;version) as
rf10:<user.zay.work>test.c;1
(David Elins <delins@foliage.com>, Jerome Lauret
<JLAURET@mail.chem.sunysb.edu> Vim 5.6 )
<JLAURET@mail.chem.sunysb.edu> Vim 5.6)
8.5 Remote host invocation
@@ -445,14 +442,14 @@ Terminal entry not found in termcap
builtin_dumb
defaulting to 'vt320'
---
The solution is to define default terminal name: >
The solution is to define the default terminal name: >
$ ! unknown terminal name. Let us use vt320 or ansi instead.
$ ! Note: it's case sensitive
$ define term "vt320"
Terminals from VT100 to VT320 (as V300, VT220, VT200 ) do not need any extra
keyboard mappings. They should work perfect as they are, including arrows,
Terminals from VT100 to VT320 (as V300, VT220, VT200) do not need any extra
keyboard mappings. They should work perfectly as they are, including arrows,
Ins, Del buttons etc., except Backspace in GUI mode. To solve it, add to
.gvimrc: >
@@ -465,8 +462,8 @@ your .vimrc file: >
set ttyfast " set fast terminal
Note: if you're using Vim on remote host or through very slow connection, it's
recommended to avoid fast terminal option with: >
Note: if you're using Vim on remote host or through a very slow connection, it's
recommended to avoid the fast terminal option with: >
set nottyfast " set terminal to slow mode
@@ -483,8 +480,8 @@ special commands to execute executables: >
OpenVMS users always have to be aware that the Vim command :! "just" drop them
to DCL prompt. This feature is possible to use without any problem with all
DCL commands, but if we want to execute some program as XXD, CTAGS, JTAGS etc.
we're running into trouble if we follow the Vim documentation (see: help
DCL commands, but if we want to execute some programs such as XXD, CTAGS, JTAGS,
etc. we're running into trouble if we follow the Vim documentation (see: help
xxd).
Solution: Execute with the MC command and add the full path to the executable.
@@ -534,7 +531,7 @@ Example: >
$define SYS$PRINT HP5ANSI
You can print out whole buffer or just the marked area.
You can print out the whole buffer or just the marked area.
More info under :help hardcopy
(Zoltan Arpadffy, Vim 6.0c)
@@ -561,16 +558,16 @@ will be confused after a window-resize.
From 6.0 diff functionality has been implemented, but OpenVMS does not use
GNU/Unix like diff therefore built in diff does not work.
There is a simple solution to solve this anomaly. Install a Unix like diff
and Vim will work perfect in diff mode too. You just have to redefine your
and Vim will work perfectly in diff mode too. You just have to redefine your
diff program as: >
define /nolog diff <GNU_PATH>diff.exe
Another, more sophisticated solution is described below (8.12 diff-mode)
There are some other programs as patch, make etc that may cause same problems.
At www.polarhome.com is possible to download an GNU package for Alpha and VAX
boxes that is meant to solve GNU problems on OpenVMS.
( Zoltan Arpadffy, Vim 6.1)
There are other programs such as patch, make etc that may cause the same
problems. At www.polarhome.com is possible to download an GNU package for
Alpha and VAX boxes that is meant to solve GNU problems on OpenVMS.
(Zoltan Arpadffy, Vim 6.1)
8.12 diff-mode
@@ -632,7 +629,7 @@ You can now compare files in 4 ways: >
3. VIM diff: $ VIMDIFF <FILE1> <FILE2>
4. GVIM diff: $ GVIMDIFF <FILE1> <FILE2>
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.13 Allow '$' in C keywords
@@ -653,35 +650,36 @@ Now word-based commands, e.g. the '*'-search-command and the CTRL-]
tag-lookup, work on the whole identifier. (Ctags on VMS also supports '$' in
C keywords since ctags version 5.1.)
( Coen Engelbarts, Vim 6.1)
(Coen Engelbarts, Vim 6.1)
8.14 VIMTUTOR for beginners
It exits VIMTUTOR.COM DCL script that can help Vim beginners to learn/make
first steps with Vim on OpenVMS. Depending of binary distribution you may
start it with: >
The VIMTUTOR.COM DCL script can help Vim beginners to learn/make their first
steps with Vim on OpenVMS. Depending of binary distribution you may start it
with: >
@vim:vimtutor
(Thomas.R.Wyant III, Vim 6.1)
8.14 Slow start in console mode issue
8.16 Slow start in console mode issue
As GUI/GTK Vim works equally well in console mode, many administrators
deploy those executables system wide.
Unfortunately, on a remote slow connections GUI/GTK executables behave rather
slow when user wants to run Vim just in the console mode - because of X environment detection timeout.
slow when user wants to run Vim just in the console mode - because of X
environment detection timeout.
Luckily, there is a simple solution for that. Administrators need to deploy
both GUI/GTK build and just console build executables, like below: >
|- vim73
|----- doc
|----- syntax
|----- syntax
vimrc (system rc files)
gvimrc
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
gvim.exe (the renamed GUI or GTK built vim.exe)
vim.exe (the console only executable)
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
@@ -692,7 +690,7 @@ Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
$ gv*im :== spawn/nowait/input=NLA0 mcr VIM:GVIM.EXE -g -GEOMETRY 80x40
Like this, users that do not have X environment and want to use Vim just in
Like this, users that do not have X environment and want to use Vim just in
console mode can avoid performance problems.
(Zoltan Arpadffy, Vim 7.2)
@@ -714,8 +712,8 @@ View of Cluster from system ID 11655 node: TOR
+---------------------------------+
It is convenient to have a common VIM directory but execute different
executables.
There are more solutions for this problem:
executables.
There are several solutions for this problem:
Solution 1. All executables in the same directory with different names
This is easily done with the following script that can be added
@@ -769,7 +767,7 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
Version 7.3
- CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX
- filepath completition corrected - too many chars were escaped in filename
- filepath completion corrected - too many chars were escaped in filename
and shell commands
- the following plugins are included into VMS runtime:
genutils 2.4, multiselect 2.2, multvals 3.1, selectbuf 4.3,
@@ -784,10 +782,10 @@ Version 7.3
Version 7.2 (2008 Aug 9)
- VCF files write corrected
- CTAGS 5.7 included
- corrected make_vms.mms (on VAX gave syntax error)
- corrected make_vms.mms (on VAX gave syntax error)
Version 7.1 (2007 Jun 15)
- create TAGS file from menu
- create TAGS file from menu
Version 7 (2006 May 8)
- Improved low level char input (affects just console mode)
+32 -2
View File
@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.3. Last change: 2010 Dec 19
*os_win32.txt* For Vim version 7.3. Last change: 2011 Aug 14
VIM REFERENCE MANUAL by George Reilly
@@ -313,7 +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".
The optional "/min" argument causes the window to be minimized.
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
+11 -7
View File
@@ -1,4 +1,4 @@
*pi_tar.txt* For Vim version 7.3. Last change: 2010 Nov 03
*pi_tar.txt* For Vim version 7.3. Last change: 2011 May 31
+====================+
| Tar File Interface |
@@ -60,11 +60,11 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
<.vimrc> file.
Default
Variable Value Explanation
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
*g:tar_browseoptions* "Ptf" used to get a list of contents
*g:tar_readoptions* "OPxf" used to extract a file from a tarball
*g:tar_cmd* "tar" the name of the tar program
*g:tar_nomax* 0 if true, file window will not be maximized
*g:tar_secure* undef if exists:
"--"s will be used to prevent unwanted
option expansion in tar commands.
Please be sure that your tar command
@@ -76,15 +76,19 @@ Copyright 2005-2010: The GPL (gnu public license) applies to *tar-copyright*
"-"
Not all tar's support the "--" which is why
it isn't default.
*g:tar_writeoptions* "uf" used to update/replace a file
*g:tar_writeoptions* "uf" used to update/replace a file
==============================================================================
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
+9 -5
View File
@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Sep 14
*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
@@ -83,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
+14 -13
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.3. Last change: 2010 Oct 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*
@@ -548,7 +549,7 @@ 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
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: >
+3 -2
View File
@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.3. Last change: 2010 Dec 02
*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
+4 -2
View File
@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.3. Last change: 2010 Dec 08
*spell.txt* For Vim version 7.3. Last change: 2011 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -522,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
@@ -1244,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:
@@ -1251,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.
+8 -7
View File
@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18
*starting.txt* For Vim version 7.3. Last change: 2011 Jul 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -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*
+52 -23
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.3. Last change: 2010 Dec 08
*syntax.txt* For Vim version 7.3. Last change: 2011 Jul 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -468,18 +468,28 @@ 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.
If you do use the "<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.
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
@@ -502,13 +512,14 @@ 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
<
TOhtml uses the current value of 'fileencoding' if set, or 'encoding' if not,
to determine the charset and 'fileencoding' of the HTML file. 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.
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
@@ -855,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
@@ -1091,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
@@ -2359,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*
@@ -3223,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*
@@ -3267,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.
@@ -3760,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*
@@ -3799,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*
+84 -16
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'*
@@ -1207,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*
@@ -3241,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>*
@@ -3751,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*
@@ -4016,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*
@@ -4273,7 +4272,16 @@ 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*
@@ -4343,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*
@@ -4908,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*
@@ -4940,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()*
@@ -4990,6 +5010,40 @@ 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()*
@@ -5097,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*
@@ -5166,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*
@@ -5173,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*
@@ -5279,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*
@@ -5449,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*
@@ -5683,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*
@@ -5778,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()*
@@ -5800,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*
@@ -6012,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*
@@ -6094,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()*
@@ -6221,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]*
@@ -6796,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*
@@ -6819,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*
@@ -6872,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*
@@ -6920,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*
@@ -7061,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*
@@ -7343,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*
@@ -8495,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*
+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
+228 -118
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.3. Last change: 2011 Jan 07
*todo.txt* For Vim version 7.3. Last change: 2011 Sep 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,72 +27,185 @@ Priority classification:
See |develop.txt| for development plans. You can vote for which items should
be worked on, but only if you sponsor Vim development. See |sponsor|.
Issues can also be entered online: http://code.google.com/p/vim/issues/list
Updates will be forwarded to the vim_dev maillist. Issues entered there will
not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Patch to start GTK only after forking. (Tim Starling, 2011 Sep 12)
Patch for Lua debug(). (Rob Hoelz, 2011 Sep 12)
Go through more coverity reports.
Using "." to repeat a Visual delete counts bytes, not characters. Can this be
fixed? (Connor Lane Smith, 2011 Sep 1)
Patch to allow getchar() in expression mapping.
Why was typeahead saved and restored? (James Vega, 2011 Aug 31)
Crash in autocomplete, valgrind log. (Greg Weber, 2011 Apr 22)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Patch to fail if configure can't find an interface, such as Python.
(Shlomi Fish, 2011 Jul 11)
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
Needs more work.
Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
one)
Patch for: (Christian Brabandt, 2011 Aug 22)
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
below/above).
Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
'cursorline' is displayed too short when there are concealed characters and
'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
'list' is set. (Dennis Preiser)
Patch 7.3.116 was the wrong solution.
Christian Brabandt has another incomplete patch. (2011 Jul 13)
When running external command with ":make", cursor line is redrawn on top of
external output.
Conceal: using Tab for cchar causes problems. Should reject it. (ZyX, 2010
Aug 25)
Problems with building after 7.3.050, -as-needed does not work for gcc 4.4.1?
(Charles Campbell, 2010 Nov 7) Or is the problem that we should use -ltinfo,
because nothing is used from ncurses?
With concealed text mouse click doesn't put the cursor in the right position.
(Herb Sitz) Fix by Christian Brabandt, 2011 Jun 16. Doesn't work properly,
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)
Need to escape $HOME on Windows? (ZyX, 2011 Jul 21)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
In GTK Gvim, setting 'lines' and 'columns' to 99999 causes a crash (Tony
Mechelynck, 2011 Apr 25). Can reproduce the crash sometimes:
gvim -N -u NONE --cmd 'set lines=99999 columns=99999'
(gvim:25968): Gdk-WARNING **: Native Windows wider or taller than 65535 pixels are not supported
The program 'gvim' received an X Window System error.
This probably reflects a bug in the program.
The error was 'RenderBadPicture (invalid Picture parameter)'.
(Details: serial 313 error_code 161 request_code 149 minor_code 8)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Check that number of pixels doesn't go above 65535?
popup completion menu closes quickly when there is a fold in the buffer. (Jan
Christoph Ebersbach, 2011 Jul 3)
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
This line hangs Vim, because of syntax HL:
call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
Building the MingW version without clipboard but with multi-byte doesn't
work. (Bill Lam, 2010 Sep 18)
When using a Vim server, a # in the path causes an error message.
(Jeff Lanzarotta, 2011 Feb 17)
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and
doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011
Jun 17)
Using ":break" or something else that stops executing commands inside a
":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
15)
Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the
right type.
Patch to improve mf_hash, dynamic sizing. (Ivan Krasilnikov, 2010 Dec 17)
Needs tests.
string() can't parse back "inf" and "nan". Fix documentation or fix code?
(ZyX, 2010 Aug 23)
Make 'formatprg' global-local. (Sung Pae)
When doing "redir => s:foo" in a script and then "redir END" somewhere else
(e.g. in a function) it can't find s:foo.
7 Make "ga" show the digraph for a character, if it exists.
Patch from Christian Brabandt, 2011 Aug 19.
maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID?
Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26)
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
When setting a local option value from the global value, add a script ID that
indicates this, so that ":verbose set" can give a hint. Check with options in
the help file.
After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
Also for another example (ZyX, 2011 Jan 24)
Build problem with small features on Mac OS X 10.6. (Rainer, 2011 Jan 24)
"0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
May 24) Update May 26.
When a script contains "redir => s:foo" but doesn't end redirection, a
following "redir" command gives an error for not being able to access s:foo.
(ZyX, 2011 Mar 27)
Problem with "syn sync gouphere". (Gustavo Niemeyer, 2011 Jan 27)
Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
2010 Dec 18)
With a filler line in diff mode, it isn't displayed in the column with line
number, but it is in the sign column. Doesn't look right. (ZyX 2011 Jun 5)
Patch by Christian Brabandt, 2011 Jun 5. Introduces new problems.
8 Add a command to jump to the next character highlighted with "Error".
Patch by Christian Brabandt, uses ]e [e ]t and [t. 2011 Aug 9.
8 Add an event like CursorHold that is triggered repeatedly, not just once
after typing something.
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
function that resets did_cursorhold.
Patch by Christian Brabandt, 2011 May 6.
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
Patch by Christian Brabandt, 2011 Jul 27.
Update by Ben Fritz, with fix for TOhtml. (2011 Jul 30)
9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
avoid matching something up to a time 11:22:33.
Patch by Christian Brabandt, 2011 Jul 27.
Patch to fix \%V item in regexp. (Christian Brabandt, 2010 Nov 8)
Update Nov 19. James Vega: still not right. Christian: it's difficult.
Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
Also add named groups: \%{name}(re) and \%{name}g
Highlighting stops working after changing it many times. Script to reproduce
it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
2010 Dec 18)
When 'cursorcolumn' is set locally to a window, ":new" opens a window with the
same highlighting but 'cursorcolumn' is empty. (Tyru, 2010 Nov 15)
In the sandbox it's not allowed to do many things, but it's possible to change
or set variables. Add a way to prevent variables from being changed in the
sandbox? E.g.: ":protect g:restore_settings".
@@ -102,18 +215,25 @@ doesn't look right. (Dominique Pelle, 2010 Aug 8)
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
Win32: tear-off menu does not work when menu language is German. (Markus
Bossler, 2011 Mar 2) Fixed by 7.3.095?
Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
7.3.014 changed how backslash at end of line works, but still get a NUL when
there is one backslash. (Ray Frush, 2010 Nov 18) What does the original ex
do?
":find" completion does not escape space in directory name. (Isz, 2010 Nov 2)
Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov
22)
Patch to support ":!start /b cmd". (Xaizek, 2010 Dec 22)
New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
- move compflags to separate growarray?
- instead of a regexp use a hashtable. Expand '?', '*", '+'. What would be
the maximum repeat for * and +?
"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
2011 Feb 27)
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
characters. (Ben Haskell, 2010 Sep 17)
@@ -125,14 +245,16 @@ clear why it doesn't work.
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
When Vim is put in the background (SIGTSTP) and then gets a SIGHUP it doesn't
exit. It exists as soon as back in the foreground. (Stephen Liang, 2011 Jan
9) Caused by vim_handle_signal(SIGNAL_BLOCK); in ui.c.
g` not working correctly when using :edit. It works OK when editing a file on
the command line. (Ingo Karkat, 2011 Jan 25)
Since patch 7.2.46 Yankring plugin has become very slow, eventually make Vim
crash? (Raiwil, 2010 Nov 17)
Patch to disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka, 2010
Nov 25)
GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
Python: Adding line to buffer other than the current one doesn't work
correctly. (Rozbujnik, 2010 Dec 19)
@@ -144,9 +266,6 @@ the system encoding (usually utf-8).
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
Ruby: ":ruby print $buffer.number" returns zero.
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
@@ -182,9 +301,6 @@ mkdir().
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
right away. (Samuel Ferencik, 2010 Dec 7)
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
Using CompilerSet doesn't record where an option was set from. E.g., in the
@@ -206,19 +322,16 @@ When writing a file > 2Gbyte, the reported number of bytes is negative.
(Antonio Colombo, 2010 Dec 18)
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30)
Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
Crash in setqflist(). (Benoit Mortgat, 2010 Nov 18)
Patch to handle resizing when tab is opened, when at full size. (Yukihiro
Nakadaira, 2010 Jan 6)
Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Requires a map mode for Insert mode started from blockwise Visual mode.
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
@@ -227,11 +340,6 @@ Can 'undolevels' be a buffer-local option? Helps for making big changes in
one file only, set 'ul' to -1 only for that buffer.
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
@@ -242,11 +350,6 @@ FILE_SHARE_WRITE in mch_access()? (Phillippe Vaucher, 2010 Nov 2)
Is ~/bin (literally) in $PATH supposed to work? (Paul, 2010 March 29)
Looks like only bash can do it. (Yakov Lerner)
8 Add an event like CursorHold that is triggered repeatedly, not just once
after typing something.
Need for CursorHold that retriggers. Use a key that doesn't do anything, or a
function that resets did_cursorhold.
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
Jun 29) Caused by 7.2.433?
@@ -271,7 +374,8 @@ Shell not recognized properly if it ends in "csh -f". (James Vega, 2009 Nov 3)
Find tail? Might have a / in argument. Find space? Might have space in
path.
":sort n" treats empty line as higher than zero. (Beeyawned, 2010 Oct 13)
Test 51 fails when language set to German. (Marco, 2011 Jan 9)
Dominique can't reproduc it.
":function f(x) keepjumps" creates a function where every command is executed
like it has ":keepjumps" before it.
@@ -294,21 +398,22 @@ Only with "vim -u NONE".
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
Feb 12)
Display error when 'tabline' that includes a file name with double-width
characters. (2010 Aug 14, bootleq)
Problem with stop directory in findfile(). (Adam Simpkins, 2009 Aug 26)
Using ']' as the end of a range in a pattern requires double escaping:
/[@-\\]] (Andy Wokula, 2011 Jun 28)
Undo problem: line not removed as expected when using setline() from Insert
mode. (Israel Chauca, 2010 May 13, more in second msg)
Break undo when CTRL-R = changes the text? Or save more lines?
Patch for static code analysis errors in riscOS. (Dominique Pelle, 2010 Dec 3)
Change to C syntax folding to make it work much faster, but a bit less
reliable. (Lech Lorens, 2009 Nov 9) Enable with an option?
Most time is spent in in_id_list().
Slow combination of folding and PHP syntax highlighting. Script to reproduce
it. Caused by "syntax sync fromstart" in combination with patch 7.2.274.
(Christian Brabandt, 2010 May 27)
@@ -318,16 +423,12 @@ find out why.
When completion inserts the first match, it may trigger the line to be folded.
Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
Jun 1)
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file. Works OK for
echo, just not for ":call" and ":call call()". (Ted, 2011 Mar 17)
Cannot use getchar() inside :normal and using an expression mapping. Is this
supposed to work? (XyX, 2010 Sep 22)
When using an expression mapping with a multi-byte character each byte is
converted to a utf-8 character. (ZyX, 2011 Jan 4)
Patch for possible solution. (Yukihiro Nakadaira, 2011 Jan 5)
When a:base in 'completefunc' starts with a number it's passed as a number,
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
string value.
@@ -654,11 +755,6 @@ an alternate solution, also for src/ex_getln.c.
This also fails when the file or directory name contains "%". (Thoml, 2008
July 7)
The str2special() function doesn't handle multi-byte characters properly.
Patch from Vladimir Vichniakov, 2007 Apr 24.
Should clean up the whole function. Also allow modifiers like <S-Char-32>?
find_special_key() also has this problem.
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
2008 May 14)
@@ -732,7 +828,7 @@ each choice does. Similar to ":help swap-exists-choices"
try/catch not working for argument of return. (Matt Wozniski, 2008 Sep 15)
Recognize and ignore BOM in error file. (Aleksey Baibarin)
try/catch not working when inside a for loop. (ZyX, 2011 Jan 25)
":tab help" always opens a new tab, while ":help" re-uses an existing window.
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
@@ -775,6 +871,9 @@ Gnome improvements: Edward Catmur, 2007 Jan 7
New PHP syntax file, use it? (Peter Hodge)
":echoe" in catch block stops processing, while this doesn't happen outside of
a catch block. (ZyX, 2011 Jun 2)
'foldcolumn' in modeline applied to wrong window when using a session. (Teemu
Likonen, March 19)
@@ -824,9 +923,6 @@ popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
When the popup menu is close to the edge of the window it is truncated. Patch
to anchor the popup menu in a different way. (James Vega, 2008 Jul 30)
Windows 98: pasting from the clipboard with text from another application has
a trailing NUL. (Joachim Hofmann) Perhaps the length specified for CF_TEXT
isn't right?
@@ -852,6 +948,9 @@ Jun 3)
However, for backwards compatibility escaping might be necessary. Check if
the user put quotes around the expanded item?
A throw in a function causes missing an endif below the call. (Spiros
Bousbouras, 2011 May 16)
Error E324 can be given when a cron script has wiped out our temp directory.
Give a clear error message about this (and tell them not to wipe out /tmp).
@@ -871,10 +970,19 @@ go to Insert mode and add a few lines. Then backspacing every other time
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Patch to use Modern UI 2.0 for the Nsis installer. (Guopeng Wen, 2010 Jul 30)
Latest version: 2011 May 18
8 Windows install with NSIS: make it possible to do a silent install, see
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
Version from Guopeng Wen that does this (2010 Dec 27)
Windows installer: licence text should not use indent, causes bad word wrap.
(Benjamin Fritz, 2010 Aug 16)
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
# uninstall key: vim7.3*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
@@ -953,9 +1061,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
Feature request: Command to go to previous tab, like what CTRL-W p does for
windows. (Adam George)
When using input() in a loop and then ":echo" the display column isn't right.
(Benjamin Fritz, 2008 Aug 28) Patch by Ben Schmidt, 2008 Sep 2.
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
@@ -984,8 +1089,6 @@ if_ruby.c.
Patch to dynamically load Python on Solaris. (Danek Duvall, 2009 Feb 16)
Needs more work.
Python3 interface doesn't handle utf-8 correctly? (Nov 2010, lilydjwg)
The need_fileinfo flag is messy. Instead make the message right away and put
it in keep_msg?
@@ -1124,6 +1227,12 @@ Completing with 'wildmenu' and using <Up> and <Down> to move through directory
tree stops unexpectedly when using ":cd " and entering a directory that
doesn't contain other directories.
Setting 'background' resets the Normal background color:
highlight Normal ctermbg=DarkGray
set background=dark
This is undesired, 'background' is supposed to tell Vim what the background
color is, not reset it.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
@@ -1192,6 +1301,9 @@ check the result of has("patch13").
Cursor line at bottom of window instead of halfway after saving view and
restoring. Only with 'nowrap'. (Robert Webb, 2008 Aug 25)
Netrw has trouble executing autocommands only for a directory. Add <isdir>
and <notisdir> to autocommand patterns? Also <isfile>?
Add command modifier that skips wildcard expansion, so that you don't need to
put backslashes before special chars, only for white space.
@@ -1201,6 +1313,9 @@ resulting in highlighted "{" in that window, not in the other.
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
Completion menu disappears when using 'cursorcolumn'. (Sven-Hendrik Haase,
2011 May 23)
GTK: when the Tab pages bar appears or disappears while the window is
maximized the window is no longer maximized. Patch that has some idea but
doesn't work from Geoffrey Antos, 2008 May 5.
@@ -1271,9 +1386,6 @@ In gvim the backspace key produces a backspace character, but on Linux the
VERASE key is Delete. Set VERASE to Backspace? (patch by Stephane Chazelas,
2007 Oct 16)
When entering a C /* comment, after typing <Enter> for 70 times the indent
disappears. (Vincent Beffara, 2008 Jul 3)
TermResponse autocommand isn't always triggered when using vimdiff. (Aron
Griffis, 2007 Sep 19)
@@ -1306,6 +1418,11 @@ Patch to support horizontal scroll wheel in GTK. Untested. (Bjorn Winckler,
2010 Jun 30)
At next release:
- Rename src/Makefile and create a new one like toplevel Makefile that
creates auto/config.mk when it's not there? (Ben Schmidt, 2011 Feb 11)
More patches:
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
Needs a few tests.
@@ -1369,6 +1486,7 @@ Awaiting updated patches:
- Patch for 'breakindent' option: repeat indent for wrapped line. (Vaclav
Smilauer, 2004 Sep 13, fix Oct 31, update 2007 May 30)
Version for latest MacVim: Tobia Conforto, 2009 Nov 23
More recent version: https://retracile.net/wiki/VimBreakIndent
8 Add a few more command names to the menus. Patch from Jiri Brezina
(28 feb 2002). Will mess the translations...
7 ATTENTION dialog choices are more logical when "Delete it' appears
@@ -1697,7 +1815,7 @@ GUI:
8 When translating menus ignore the part after the Tab, the shortcut. So
that the same menu item with a different shortcut (e.g., for the Mac) are
still translated.
8 Add menu separators for Amiga, RISCOS.
8 Add menu separators for Amiga.
8 Add way to specify the file filter for the browse dialog. At least for
browse().
8 Add dialog for search/replace to other GUIs? Tk has something for this,
@@ -1942,8 +2060,6 @@ Macintosh:
6 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
use "~/" when possible.
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
@@ -1970,8 +2086,6 @@ Macintosh:
works.
8 A very long message in confirm() can't be quit. Make this possible with
CTRL-C.
8 When the clipboard isn't supported: ":yank*" gives a confusing error
message. Specifically mention that the register name is invalid.
8 "gf" always excludes trailing punctuation characters. file_name_in_line()
is currently fixed to use ".,:;!". Add an option to make this
configurable?
@@ -1985,8 +2099,6 @@ Macintosh:
is a multi-byte character.
8 When appending to a file and 'patchmode' isn't empty, a backup file is
always written, even when the original file already exists.
7 When using "daw" on the last word in a file and this is a single letter,
nothing is deleted. Should delete the letter and preceding white space.
9 When getting focus while writing a large file, could warn for this file
being changed outside of Vim. Avoid checking this while the file is being
written.
@@ -2236,6 +2348,9 @@ Problems that will (probably) not be solved:
- Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
are not on the boot disk. This is caused by a wrong value of $HOMEDRIVE.
This is a bug in XP, see MSKB article 818134.
- Win32, MS-Windows: expanding plugin/**/*.vim also picks up
dir/ctags.vim,v. This is because the short file name is something like
"ctags~1.vim" and that matches the pattern.
- SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
scroll bar for the "files" selection. This is a problem in the Motif
libraries, get a patch from Sun.
@@ -2530,7 +2645,6 @@ Folding:
8 Add "z/" and "z?" for searching in not folded text only.
9 Add search pattern item to only match in closed or open fold and/or fold
with certain level. Allows doing ":g/pat/cmd" to work on closed folds.
7 Use "++--", "+++--" for different levels instead of "+---" "+----".
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
user aware of this?
@@ -2634,7 +2748,7 @@ Multi-byte characters:
For Windows, the charset_pairs[] table could be used. But how do we know
if a font exists?
- Do keyboard conversion from 'termencoding' to 'encoding' with
convert_input() for Mac GUI and RiscOS GUI.
convert_input() for Mac GUI.
- Add mnemonics from RFC1345 longer than two characters.
Support CTRL-K _{mnemonic}_
7 In "-- INSERT (lang) --" show the name of the keymap used instead of
@@ -2710,7 +2824,6 @@ Syntax highlighting:
8 Highlight the text between two matching parens (e.g., with a grey
background) when on one of the parens or in between them.
Option for the matchparen plugin?
8 Add a command to jump to the next character highlighted with "Error".
8 When using a cterm, and no ctermfg or ctermbg are defined, use start/stop
sequences. Add remark in docs that :if 'term' == "term-name" should be
used.
@@ -2897,6 +3010,10 @@ Built-in script language:
Patch by Ilya Sher, 2004 Mar 4.
Return a list instead.
char2hex() convert char string to hex string.
crypt() encrypt string
decrypt() decrypt string
base64enc() base 64 encoding
base64dec() base 64 decoding
attributes() return file protection flags "drwxrwxrwx"
filecopy(from, to) Copy a file
shorten(fname) shorten a file name, like home_replace()
@@ -3278,7 +3395,7 @@ Win32 GUI:
GUI:
8 Make inputdialog() work for Photon, Amiga, RiscOS.
8 Make inputdialog() work for Photon, Amiga.
- <C--> cannot be mapped. Should be possible to recognize this as a
normal "-" with the Ctrl modifier.
7 Implement ":popup" for other systems than Windows.
@@ -3357,6 +3474,8 @@ GUI:
Autocommands:
9 Rework the code from FEAT_OSFILETYPE for autocmd-osfiletypes to use
'filetype'. Only for when the current buffer is known.
- Put autocommand event names in a hashtable for faster lookup?
8 When the SwapExists event is triggered, provide information about the
swap file, e.g., whether the process is running, file was modified, etc.
@@ -3389,9 +3508,9 @@ Autocommands:
handled (e.g., other font) (Ron Aaron)
7 When trying to open a directory, trigger an OpenDirectory event.
7 Add file type in front of file pattern: <d> for directory, <l> for link,
<x> for executable, etc. <&xxx> for Risc OS. With commas to separate
alternatives. The autocommand is only executed when both the file type
AND the file pattern match. (Leonard)
<x> for executable, etc. With commas to separate alternatives. The
autocommand is only executed when both the file type AND the file pattern
match. (Leonard)
5 Add option that specifies extensions which are to be discarded from the
file name. E.g. 'ausuffix', with ".gz,.orig". Such that file.c.gz will
trigger the "*.c" autocommands. (Belabas)
@@ -3419,10 +3538,6 @@ Autocommands:
- Before/after ":cd" has been used (for changing the
window title)
ShutDown - when the system is about to shut down
InsertCharPre - user typed character Insert mode, before inserting the
char. Pattern is matched with text before the cursor.
Set v:char to the character, can be changed.
(not triggered when 'paste' is set).
InsertCharPost - user typed a character in Insert mode, after inserting
the char.
BufModified - When a buffer becomes modified, or unmodified (for
@@ -3633,6 +3748,7 @@ Insert mode:
7 Use CTRL-G <count> to repeat what follows. Useful for inserting a
character multiple times or repeating CTRL-Y.
- Make 'revins' work in Replace mode.
9 Can't use multi-byte characters for 'matchpairs'.
7 Use 'matchpairs' for 'showmatch': When inserting a character check if it
appears in the rhs of 'matchpairs'.
- In Insert mode (and command line editing?): Allow undo of the last typed
@@ -3652,12 +3768,10 @@ Insert mode:
'cindent', 'smartindent':
9 ") :" confuses continuation line: (Colin Bennett, 2007 Dec 14)
cout << "a"
<< ") :"
<< "y";
9 "} else" causes following lines to be indented too much. (Rouben
Rostamian, 2008 Aug 30)
9 Wrapping a variable initialization should have extra indent:
char * veryLongName =
"very long string"
Also check if "cino=+10" is used correctly.
8 Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
8 Why are continuation lines outside of a {} block not indented? E.g.:
long_type foo =
@@ -3963,6 +4077,8 @@ Searching:
Use "&/" for searching the text in the Visual area?
9 Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
matching text.
8 Add a modifier to interpret a space like "\_s\+" to make it much easier to
search for a phrase.
8 Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)". \@g stands
for "go recursive here" and \@( \) marks the recursive part.
Perl does it this way:
@@ -4344,10 +4460,8 @@ Marks:
Digraphs:
7 Make "ga" show the digraph for a character, if it exists.
Also the keymap?
- Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
below/above).
7 Make "ga" show the keymap for a character, if it exists.
Also show the code of the character after conversion to 'filenecoding'.
- Use digraph table to tell Vim about the collating sequence of special
characters?
8 Add command to remove one or more (all) digraphs. (Brown)
@@ -4465,8 +4579,6 @@ Debug mode:
Various improvements:
9 Python: be able to define a Python function that can be called directly
from Vim script. Requires converting the arguments and return value.
8 ":sign unplace * file={filename}" should work. Also: ":sign unplace *
buffer={bufnr}". So one can remove all signs for one file/buffer.
7 Add plugins for formatting? Should be able to make a choice depending on
the language of a file (English/Korean/Japanese/etc.).
Setting the 'langformat' option to "chinese" would load the
@@ -4484,8 +4596,6 @@ Various improvements:
7 Instead of filtering errors with a shell script it should be possible to
do this with Vim script. A function that filters the raw text that comes
from the 'makeprg'?
9 Add %F to 'errorformat': file name without spaces. Useful on Unix to
avoid matching something up to a time 11:22:33.
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
7 Add a command that goes back to the position from before jumping to the
+5 -3
View File
@@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.3. Last change: 2010 Dec 19
*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
+16 -9
View File
@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.3. Last change: 2010 Nov 17
*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
@@ -1017,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
@@ -1285,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')
@@ -1402,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
@@ -1479,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
@@ -2097,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
+5 -7
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.3. Last change: 2010 Nov 10
*various.txt* For Vim version 7.3. Last change: 2011 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -108,7 +108,7 @@ g8 Print the hex values of the bytes used in the
:[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*
@@ -133,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
@@ -362,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|
+3 -3
View File
@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Oct 11
*vi_diff.txt* For Vim version 7.3. Last change: 2011 Aug 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -88,8 +88,8 @@ 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
+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.
+129 -86
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Dec 17
" 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
@@ -678,7 +678,7 @@ au BufNewFile,BufRead *.exp setf expect
au BufNewFile,BufRead exports setf exports
" Falcon
au BufNewFile,BufRead *.fal setf falcon
au BufNewFile,BufRead *.fal setf falcon
" Fantom
au BufNewFile,BufRead *.fan,*.fwt setf fan
@@ -728,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
@@ -749,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
@@ -767,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
@@ -779,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
@@ -826,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
@@ -872,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
@@ -887,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
@@ -917,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
@@ -932,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
@@ -951,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
@@ -966,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
@@ -978,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")
@@ -1000,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
@@ -1034,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
@@ -1049,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
@@ -1100,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
@@ -1157,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
@@ -1178,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
@@ -1191,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
@@ -1267,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
@@ -1405,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
@@ -1500,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
@@ -1581,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
@@ -1650,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
@@ -1687,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
@@ -1726,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)
@@ -1809,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
@@ -1880,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
@@ -1968,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
@@ -2101,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
@@ -2117,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
@@ -2221,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
@@ -2276,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
@@ -2324,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)
@@ -2360,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')
@@ -2373,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='
@@ -2382,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')
@@ -2402,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')
@@ -2419,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')
@@ -2432,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')
@@ -2442,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*
@@ -2454,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')
@@ -2465,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')
@@ -2476,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
+6 -5
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-08-17
" 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)
@@ -170,7 +171,7 @@ if &filetype == 'changelog'
endfunction
" Internal function to create a new entry in the ChangeLog.
function! s:new_changelog_entry(...)
function! s:new_changelog_entry()
" Deal with 'paste' option.
let save_paste = &paste
let &paste = 1
@@ -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}'
+4 -1
View File
@@ -13,7 +13,10 @@ 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
+4 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Nov 29
" Last Change: 2011 Jul 25
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -17,7 +17,9 @@ if &filetype == "man"
" Ensure Vim is not recursively invoked (man-db does this)
" when doing ctrl-[ on a man page reference.
let $MANPAGER = ""
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
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: DTD (Document Type Definition for XML)
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-09-21
" 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_-]\+\|#PCDATA\|%[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] == ')'
+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
+11 -3
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2005 Jul 06
" Last Change: 2011 Mar 22
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -44,10 +44,18 @@ function GetVimIndent()
else
let ind = ind + &sw * 3
endif
elseif getline(lnum) =~ '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>'
let ind = ind + &sw
elseif getline(lnum) =~ '^\s*aug\%[roup]' && getline(lnum) !~ '^\s*aug\%[roup]\s*!\=\s\+END'
let ind = ind + &sw
else
let line = getline(lnum)
let i = match(line, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
if i >= 0
let ind += &sw
if strpart(line, i, 1) == '|' && has('syntax_items')
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
let ind -= &sw
endif
endif
endif
" If the previous line contains an "end" after a pipe, but not in an ":au"
+5 -3
View File
@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (EUC-JP)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "
menutrans F&ile\ Settings ファイル設定(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ 行番号表示切替(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ 相対行番号表示切替(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ リストモード切替(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler
" Tools.Spelling Menu
menutrans &Spelling スペリング(&S)
menutrans &Spell\ Check\ On スペルチェック有効(&S)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans To\ &Next\ error<Tab>]s 次のエラー(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 前のエラー(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正候補(&C)<Tab>z=
+5 -3
View File
@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (UTF-8)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "タグファイルの名前を入力してくだ
menutrans F&ile\ Settings ファイル設定(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ 行番号表示切替(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ 相対行番号表示切替(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ リストモード切替(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler コンパイラ設定(&T)
" Tools.Spelling Menu
menutrans &Spelling スペリング(&S)
menutrans &Spell\ Check\ On スペルチェック有効(&S)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans To\ &Next\ error<Tab>]s 次のエラー(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 前のエラー(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正候補(&C)<Tab>z=
+5 -3
View File
@@ -1,8 +1,8 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (CP932)
" Translated By: MURAOKA Taro <koron@tka.att.ne.jp>
" Last Change: 18-Apr-2006.
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 21-Mar-2011.
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -99,6 +99,8 @@ let g:menutrans_tags_dialog = "
menutrans F&ile\ Settings ファイル設定(&I)
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!
\ 行番号表示切替(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu!
\ 相対行番号表示切替(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list!
\ リストモード切替(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!
@@ -149,7 +151,7 @@ menutrans Se&T\ Compiler
" Tools.Spelling Menu
menutrans &Spelling スペリング(&S)
menutrans &Spell\ Check\ On スペルチェック有効(&S)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans Spell\ Check\ &Off スペルチェック(&O)
menutrans To\ &Next\ error<Tab>]s 次のエラー(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 前のエラー(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正候補(&C)<Tab>z=
+11 -11
View File
@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa
" Edit menu
menutrans &Edit 편집(&E)
menutrans &Undo<Tab>u 취소(&U)<Tab>u
menutrans &Redo<Tab>^R 다시 실행(&R)<Tab>^R
menutrans &Redo<Tab>^R 다시\ 실행(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 되풀이(&e)<Tab>\.
menutrans Cu&t<Tab>"+x 자르기(&t)<Tab>"+x
menutrans &Copy<Tab>"+y 복사(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ 토글(&S)<Tab>:set\ sm!
menutrans &Context\ lines 콘텍스트\ (&C)
menutrans &Virtual\ Edit 가상\ 편집(&V)
menutrans Never 사용
menutrans Never 사용\ \
menutrans Block\ Selection 블럭\ 고르기
menutrans Insert\ mode 삽입\ 모드
menutrans Block\ and\ Insert 블럭과\ 삽입
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-인덴팅\ 토글(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 쉬프트 너비(&S)
menutrans &Shiftwidth 쉬프트\ 너비(&S)
menutrans Soft\ &Tabstop 소프트\ 탭스톱(&T)
menutrans Te&xt\ Width\.\.\. 텍스트\ 너비(&x)\.\.\.
menutrans &File\ Format\.\.\. 파일\ 형식(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages
" Tools.Fold Menu
menutrans &Folding 접기(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi \ 기능\ 사용\ 토글(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi \ 사용\ 토글(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 커서\ \ 보기(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 커서\ 줄만\ 보기(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm \ 많은\ 접기\ 닫기(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 접힌\ 부분\ 모두\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM 모든\ 접기\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr \ 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 접힌\ 부분\ 모두\ 펴기(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 접는\ 방법(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax
"menutrans &Diff &Diff
menutrans Ma&rker 꼬리표(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf 새로 접기(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 완전히 펴기(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 펴기(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 접기\ 생성(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 접기\ 삭제(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 접기\ 삭제(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width \ \ 너비(&w)
menutrans Fold\ column\ &width \ 컬럼\ 너비(&w)
"menutrans &Diff &Diff
menutrans &Update 갱신(&U)
+11 -11
View File
@@ -1,6 +1,6 @@
" Menu Translations: Korean
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2010 Feb 18
" Last Change: 2011 Mar 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -42,7 +42,7 @@ menutrans E&xit<Tab>:qa 끝내기(&x)<Tab>:qa
" Edit menu
menutrans &Edit 편집(&E)
menutrans &Undo<Tab>u 취소(&U)<Tab>u
menutrans &Redo<Tab>^R 다시 실행(&R)<Tab>^R
menutrans &Redo<Tab>^R 다시\ 실행(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 되풀이(&e)<Tab>\.
menutrans Cu&t<Tab>"+x 자르기(&t)<Tab>"+x
menutrans &Copy<Tab>"+y 복사(&C)<Tab>"+y
@@ -63,7 +63,7 @@ menutrans Toggle\ &Ignore-case<Tab>:set\ ic! 대소문자\ 구분\ 토글(&I)<Ta
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Showmatch\ 토글(&S)<Tab>:set\ sm!
menutrans &Context\ lines 콘텍스트\ (&C)
menutrans &Virtual\ Edit 가상\ 편집(&V)
menutrans Never 사용
menutrans Never 사용\ \
menutrans Block\ Selection 블럭\ 고르기
menutrans Insert\ mode 삽입\ 모드
menutrans Block\ and\ Insert 블럭과\ 삽입
@@ -92,7 +92,7 @@ menutrans Toggle\ &auto-indent<Tab>:set\ ai! 자동인덴트\ 토글(&a)<Tab>:se
menutrans Toggle\ &C-indenting<Tab>:set\ cin! C-인덴팅\ 토글(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 쉬프트 너비(&S)
menutrans &Shiftwidth 쉬프트\ 너비(&S)
menutrans Soft\ &Tabstop 소프트\ 탭스톱(&T)
menutrans Te&xt\ Width\.\.\. 텍스트\ 너비(&x)\.\.\.
menutrans &File\ Format\.\.\. 파일\ 형식(&F)\.\.\.
@@ -125,12 +125,12 @@ menutrans &Find\ More\ Languages 다른\ 언어\ 찾기(&F)
" Tools.Fold Menu
menutrans &Folding 접기(&F)
" open close folds
menutrans &Enable/Disable\ folds<Tab>zi \ 기능\ 사용\ 토글(&E)<Tab>zi
menutrans &Enable/Disable\ folds<Tab>zi \ 사용\ 토글(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 커서\ \ 보기(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 커서\ 줄만\ 보기(&w)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm \ 많은\ 접기\ 닫기(&l)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 접힌\ 부분\ 모두\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Close\ all\ folds<Tab>zM 모든\ 접기\ (&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr \ 많은\ 접기\ 열기(&p)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 접힌\ 부분\ 모두\ 펴기(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 접는\ 방법(&h)
@@ -141,11 +141,11 @@ menutrans S&yntax 신택스(&y)
"menutrans &Diff &Diff
menutrans Ma&rker 꼬리표(&r)
" create and delete folds
menutrans Create\ &Fold<Tab>zf 새로 접기(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 완전히 펴기(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 펴기(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 접기\ 생성(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 접기\ 삭제(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD \ 접기\ 삭제(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width \ \ 너비(&w)
menutrans Fold\ column\ &width \ 컬럼\ 너비(&w)
"menutrans &Diff &Diff
menutrans &Update 갱신(&U)
+3 -3
View File
@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2009 Feb 26
" Last Change: 2011 Mar 22
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -136,7 +136,7 @@ an 10.320 &File.Open\ Tab\.\.\.<Tab>:tabnew :browse tabnew<CR>
if !has("gui_macvim")
an 10.325 &File.&New<Tab>:enew :confirm enew<CR>
an <silent> 10.330 &File.&Close<Tab>:close
\ :if winheight(2) < 0 <Bar>
\ :if winheight(2) < 0 && tabpagewinnr(2) == 0 <Bar>
\ confirm enew <Bar>
\ else <Bar>
\ confirm close <Bar>
@@ -1215,7 +1215,7 @@ if has("gui_macvim")
macm Window.Minimize\ All key=<D-M-m> action=miniaturizeAll: alt=YES
macm Window.Zoom key=<D-C-z> action=performZoom:
macm Window.Zoom\ All key=<D-M-C-z> action=zoomAll: alt=YES
macm Window.Toggle\ Full\ Screen\ Mode key=<D-F>
macm Window.Toggle\ Full\ Screen\ Mode key=<D-C-f>
macm Window.Select\ Next\ Tab key=<D-}>
macm Window.Select\ Previous\ Tab key=<D-{>
macm Window.Bring\ All\ To\ Front action=arrangeInFront:
+17 -22
View File
@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Dec 02
" Last Change: 2011 Jun 13
" If there already is an option window, jump to that one.
if bufwinnr("option-window") > 0
@@ -10,7 +10,7 @@ if bufwinnr("option-window") > 0
if @% == "option-window"
finish
endif
exe "norm! \<C-W>w"
wincmd w
if s:thiswin == winnr()
break
endif
@@ -26,12 +26,8 @@ set cpo&vim
fun! <SID>CR()
" If on a continued comment line, go back to the first comment line
let lnum = line(".")
let lnum = search("^[^\t]", 'bWcn')
let line = getline(lnum)
while line[0] == "\t"
let lnum = lnum - 1
let line = getline(lnum)
endwhile
" <CR> on a "set" line executes the option line
if match(line, "^ \tset ") >= 0
@@ -82,11 +78,11 @@ fun! <SID>Find(lnum)
if getline(a:lnum - 1) =~ "(local to"
let local = 1
let thiswin = winnr()
exe "norm! \<C-W>p"
wincmd p
if exists("b:current_syntax") && b:current_syntax == "help"
exe "norm! \<C-W>j"
wincmd j
if winnr() == thiswin
exe "norm! \<C-W>j"
wincmd j
endif
endif
else
@@ -111,10 +107,10 @@ fun! <SID>Update(lnum, line, local, thiswin)
if name == "pt" && &pt =~ "\x80"
let val = <SID>PTvalue()
else
exe "let val = substitute(&" . name . ', "[ \\t\\\\\"|]", "\\\\\\0", "g")'
let val = escape(eval('&' . name), " \t\\\"|")
endif
if a:local
exe "norm! " . a:thiswin . "\<C-W>w"
exe a:thiswin . "wincmd w"
endif
if match(a:line, "=") >= 0 || (val != "0" && val != "1")
call setline(a:lnum, " \tset " . name . "=" . val)
@@ -139,7 +135,7 @@ set notitle noicon nosc noru
" Relies on syntax highlighting to be switched on.
let s:thiswin = winnr()
while exists("b:current_syntax") && b:current_syntax == "help"
exe "norm! \<C-W>w"
wincmd w
if s:thiswin == winnr()
break
endif
@@ -147,7 +143,7 @@ endwhile
" Open the window
new option-window
setlocal ts=15 tw=0 noro
setlocal ts=15 tw=0 noro buftype=nofile
" Insert help and a "set" command for each option.
call append(0, '" Each "set" line shows the current value of an option (on the left).')
@@ -162,9 +158,7 @@ call append(6, '" Hit <Space> on a "set" line to refresh it.')
" Init a local binary option
fun! <SID>BinOptionL(name)
exe "norm! \<C-W>p"
exe "let val = &" . a:name
exe "norm! \<C-W>p"
let val = getwinvar(winnr('#'), '&' . a:name)
call append("$", substitute(substitute(" \tset " . val . a:name . "\t" .
\!val . a:name, "0", "no", ""), "1", "", ""))
endfun
@@ -177,16 +171,13 @@ endfun
" Init a local string option
fun! <SID>OptionL(name)
exe "norm! \<C-W>p"
exe "let val = substitute(&" . a:name . ', "[ \\t\\\\\"|]", "\\\\\\0", "g")'
exe "norm! \<C-W>p"
let val = escape(getwinvar(winnr('#'), '&' . a:name), " \t\\\"|")
call append("$", " \tset " . a:name . "=" . val)
endfun
" Init a global string option
fun! <SID>OptionG(name, val)
call append("$", " \tset " . a:name . "=" . substitute(a:val, '[ \t\\"|]',
\ '\\\0', "g"))
call append("$", " \tset " . a:name . "=" . escape(a:val, " \t\\\"|"))
endfun
let s:idx = 1
@@ -315,6 +306,8 @@ if has("cscope")
call append("$", " \tset cspc=" . &cspc)
call append("$", "cscopequickfix\twhen to open a quickfix window for cscope")
call <SID>OptionG("csqf", &csqf)
call append("$", "cscoperelative\tfile names in a cscope file are relative to that file")
call <SID>BinOptionG("csre", &csre)
endif
@@ -1353,3 +1346,5 @@ let &ru = s:old_ru
let &sc = s:old_sc
let &cpo = s:cpo_save
unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum
" vim: ts=8 sw=2 sts=2
+1 -1
View File
@@ -19,7 +19,7 @@ if &cp || exists("g:loaded_getscriptPlugin")
endif
finish
endif
let g:loaded_getscriptPlugin = "v32"
let g:loaded_getscriptPlugin = "v33"
let s:keepcpo = &cpo
set cpo&vim
+2 -2
View File
@@ -1,6 +1,6 @@
" Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2010 Nov 16
" Last Change: 2011 Aug 27
" Exit quickly when:
" - this plugin was already loaded (or disabled)
@@ -82,7 +82,7 @@ function! s:Highlight_Matching_Pair()
endif
" When not in a string or comment ignore matches inside them.
" We match "escape" for special items, such as listpEscapeSpecial.
" We match "escape" for special items, such as lispEscapeSpecial.
let s_skip ='synIDattr(synID(line("."), col("."), 0), "name") ' .
\ '=~? "string\\|character\\|singlequote\\|escape\\|comment"'
execute 'if' s_skip '| let s_skip = 0 | endif'
+13 -10
View File
@@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Jul 27, 2010
" Date: Feb 10, 2011
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
let g:loaded_netrwPlugin = "v140"
let g:loaded_netrwPlugin = "v142"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
finish
@@ -34,10 +34,13 @@ set cpo&vim
" Local Browsing: {{{2
augroup FileExplorer
au!
au BufEnter * silent! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * silent! call s:VimEnter(expand("<amatch>"))
" au BufReadCmd *[/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au BufEnter *[^/\\] sil! call s:LocalBrowse(expand("<amatch>"))
" au VimEnter *[^/\\] sil! call s:VimEnter(expand("<amatch>"))
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* silent! call s:LocalBrowse(expand("<amatch>"))
au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>"))
endif
augroup END
@@ -45,10 +48,10 @@ augroup END
augroup Network
au!
if has("win32") || has("win95") || has("win64") || has("win16")
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
else
au BufReadCmd file://* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://\(.*\)','\1',""))|exe "bwipe ".fnameescape(expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://localhost/* exe "silent doau BufReadPre ".fnameescape(netrw#RFC2396(expand("<amatch>")))|exe 'e '.fnameescape(substitute(netrw#RFC2396(expand("<amatch>")),'file://localhost/\(.*\)','\1',""))|exe "bwipe ".fnameescape(substitute(expand("<amatch>"),'file://\(\k\+@\)\=','',''))|exe "silent doau BufReadPost ".fnameescape(netrw#RFC2396(expand("<amatch>")))
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd file://localhost/* call netrw#FileUrlRead(substitute(expand("<amatch>")),'file://localhost/','file:///','')
endif
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "silent doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "silent doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "silent doau FileReadPost ".fnameescape(expand("<amatch>"))
@@ -100,11 +103,11 @@ fun! s:LocalBrowse(dirname)
" string is the current directory and not checking would break
" things such as the help command.
if a:dirname != '' && isdirectory(a:dirname)
silent! call netrw#LocalBrowseCheck(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir"
silent! call netrw#LocalBrowseCheck(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
" not a directory, ignore it
endfun
+1 -1
View File
@@ -14,7 +14,7 @@
if &cp || exists("g:loaded_tarPlugin")
finish
endif
let g:loaded_tarPlugin = "v26"
let g:loaded_tarPlugin = "v27"
let s:keepcpo = &cpo
set cpo&vim
+61 -42
View File
@@ -1,11 +1,20 @@
" Vim plugin for converting a syntax highlighted file to HTML.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Jan 06
" Last Change: 2011 May 26
"
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
" $VIMRUNTIME/syntax/2html.vim
"
" TODO:
" * Options for generating the CSS in external style sheets. New :TOcss
" command to convert the current color scheme into a (mostly) generic CSS
" stylesheet which can be re-used. Alternate stylesheet support?
" * Pull in code from http://www.vim.org/scripts/script.php?script_id=3113 :
" - listchars support
" - full-line background highlight
" - other?
" * Font auto-detection similar to
" http://www.vim.org/scripts/script.php?script_id=2384
" * Explicitly trigger IE8+ Standards Mode?
" * Make it so deleted lines in a diff don't create side-scrolling
" * Restore open/closed folds and cursor position after processing each file
@@ -17,51 +26,61 @@
" buffer before we're done (5000 or so lines should do it)
" * TODO comments for code cleanup scattered throughout
"
"
" Changelog:
" 7.3_v8 (this version): Add html_expand_tabs option to allow leaving tab
" characters in generated output (Andy Spencer). Escape
" text that looks like a modeline so Vim doesn't use
" anything in the converted HTML as a modeline.
" Bugfixes: Fix folding when a fold starts before the
" conversion range. Remove fold column when there are
" no folds.
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
" 7.3_v7b2: Remove automatic detection of encodings that are not
" supported by all major browsers according to
" http://wiki.whatwg.org/wiki/Web_Encodings and convert
" to UTF-8 for all Unicode encodings. Make HTML
" encoding to Vim encoding detection be
" case-insensitive for built-in pairs.
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
" called in restricted mode (Andy Spencer). Use
" 'fencoding' instead of 'encoding' to determine by
" charset, and make sure the 'fenc' of the generated
" file matches its indicated charset. Add charsets for
" all of Vim's natively supported encodings.
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
" user settings interfering with diff mode generation,
" trailing whitespace (e.g. line number column) when
" using html_no_pre, and bugs when using
" html_hover_unfold.
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
" folds in diff mode when first line was folded.
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode.
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
" default to true when not set to anything. Use strict
" doctypes where possible. Rename use_xhtml option to
" html_use_xhtml for consistency. Use .xhtml extension
" when using this option. Add meta tag for settings.
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
" diff colors and the normal syntax colors
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
if exists('g:loaded_2html_plugin')
finish
endif
let g:loaded_2html_plugin = 'vim7.3_v8'
let g:loaded_2html_plugin = 'vim7.3_v10'
"
" Changelog:
" 7.3_v10 (this version): Fix error E684 when converting a range wholly inside
" multiple nested folds with dynamic folding on.
" Also fix problem with foldtext in this situation.
" 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css
" and without html_no_pre, default value same as
" 'wrap' option, (Andy Spencer). Don't use
" 'fileencoding' for converted document encoding if
" 'buftype' indicates a special buffer which isn't
" written.
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab
" characters in generated output (Andy Spencer).
" Escape text that looks like a modeline so Vim
" doesn't use anything in the converted HTML as a
" modeline. Bugfixes: Fix folding when a fold starts
" before the conversion range. Remove fold column when
" there are no folds.
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below:
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
" 7.3_v7b2: Remove automatic detection of encodings that are not
" supported by all major browsers according to
" http://wiki.whatwg.org/wiki/Web_Encodings and
" convert to UTF-8 for all Unicode encodings. Make
" HTML encoding to Vim encoding detection be
" case-insensitive for built-in pairs.
" 7.3_v7b1: Remove use of setwinvar() function which cannot be
" called in restricted mode (Andy Spencer). Use
" 'fencoding' instead of 'encoding' to determine by
" charset, and make sure the 'fenc' of the generated
" file matches its indicated charset. Add charsets for
" all of Vim's natively supported encodings.
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other
" user settings interfering with diff mode generation,
" trailing whitespace (e.g. line number column) when
" using html_no_pre, and bugs when using
" html_hover_unfold.
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
" folds in diff mode when first line was folded.
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css
" default to true when not set to anything. Use strict
" doctypes where possible. Rename use_xhtml option to
" html_use_xhtml for consistency. Use .xhtml extension
" when using this option. Add meta tag for settings.
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the
" diff colors and the normal syntax colors
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
" Define the :TOhtml command when:
" - 'compatible' is not set
+11 -7
View File
@@ -16,18 +16,22 @@
if &cp || exists("g:loaded_vimballPlugin")
finish
endif
let g:loaded_vimballPlugin = "v31"
let g:loaded_vimballPlugin = "v33"
let s:keepcpo = &cpo
set cpo&vim
" ------------------------------------------------------------------------------
" Public Interface: {{{1
com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
com! -na=0 VimballList call vimball#Vimball(0)
com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip call vimball#Decompress(expand("<amatch>"))|call vimball#Vimball(1)
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'| setlocal ma ff=unix noma |endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
com! -ra -complete=file -na=+ -bang MkVimball call vimball#MkVimball(<line1>,<line2>,<bang>0,<f-args>)
com! -na=? -complete=dir UseVimball call vimball#Vimball(1,<f-args>)
com! -na=0 VimballList call vimball#Vimball(0)
com! -na=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")
au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if expand("%")!=expand("<afile>")|close|endif
au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
" =====================================================================
" Restoration And Modelines: {{{1
+2 -2
View File
@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_zipPlugin")
finish
endif
let g:loaded_zipPlugin = "v23"
let g:loaded_zipPlugin = "v24"
let s:keepcpo = &cpo
set cpo&vim
@@ -40,7 +40,7 @@ augroup zip
au FileWriteCmd zipfile:*/* call zip#Write(expand("<amatch>"))
endif
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear call zip#Browse(expand("<amatch>"))
au BufReadCmd *.zip,*.jar,*.xpi,*.war,*.ear,*.celzip call zip#Browse(expand("<amatch>"))
augroup END
" ---------------------------------------------------------------------
+41 -4
View File
@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Jan 06
" Last Change: 2011 May 27
"
" Additional contributors:
"
@@ -33,6 +33,13 @@ endif
let s:settings = tohtml#GetUserSettings()
" Whitespace
if s:settings.pre_wrap
let s:whitespace = "white-space: pre-wrap; "
else
let s:whitespace = ""
endif
" When not in gui we can only guess the colors.
if has("gui_running")
let s:whatterm = "gui"
@@ -628,11 +635,22 @@ if s:settings.dynamic_folds
" close all folds again so we can get the fold text as we go
silent! %foldclose!
" Go through and remove folds we don't need to (or cannot) process in the
" current conversion range
"
" If a fold is removed which contains other folds, which are included, we need
" to adjust the level of the included folds as used by the conversion logic
" (avoiding special cases is good)
"
" Note any time we remove a fold, either all of the included folds are in it,
" or none of them, because we only remove a fold if neither its start nor its
" end are within the conversion range.
let leveladjust = 0
for afold in s:allfolds
let removed = 0
if exists("g:html_start_line") && exists("g:html_end_line")
if afold.firstline < g:html_start_line
if afold.lastline < g:html_end_line && afold.lastline > g:html_start_line
if afold.lastline <= g:html_end_line && afold.lastline >= g:html_start_line
" if a fold starts before the range to convert but stops within the
" range, we need to include it. Make it start on the first converted
" line.
@@ -642,6 +660,9 @@ if s:settings.dynamic_folds
" the entire range, don't bother parsing it
call remove(s:allfolds, index(s:allfolds, afold))
let removed = 1
if afold.lastline > g:html_end_line
let leveladjust += 1
endif
endif
elseif afold.firstline > g:html_end_line
" If the entire fold lies outside the range we need to remove it.
@@ -664,11 +685,23 @@ if s:settings.dynamic_folds
endif
endif
if !removed
let afold.level -= leveladjust
if afold.level+1 > s:foldcolumn
let s:foldcolumn = afold.level+1
endif
endif
endfor
" if we've removed folds containing the conversion range from processing,
" getting foldtext as we go won't know to open the removed folds, so the
" foldtext would be wrong; open them now.
"
" Note that only when a start and an end line is specified will a fold
" containing the current range ever be removed.
while leveladjust > 0
exe g:html_start_line."foldopen"
let leveladjust -= 1
endwhile
endif
" Now loop over all lines in the original text to convert to html.
@@ -1048,10 +1081,14 @@ if s:settings.use_css
if s:settings.no_pre
execute "normal! A\nbody { color: " . s:fgc . "; background-color: " . s:bgc . "; font-family: ". s:htmlfont ."; }\e"
else
execute "normal! A\npre { font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e"
execute "normal! A\npre { " . s:whitespace . "font-family: ". s:htmlfont ."; color: " . s:fgc . "; background-color: " . s:bgc . "; }\e"
yank
put
execute "normal! ^cwbody\e"
" body should not have the wrap formatting, only the pre section
if s:whitespace != ''
exec 's#'.s:whitespace
endif
endif
else
execute '%s:<body>:<body bgcolor="' . s:bgc . '" text="' . s:fgc . '">\r<font face="'. s:htmlfont .'">'
@@ -1160,7 +1197,7 @@ let &l:winfixheight = s:old_winfixheight
let &ls=s:ls
" Save a little bit of memory (worth doing?)
unlet s:htmlfont
unlet s:htmlfont s:whitespace
unlet s:old_et s:old_paste s:old_icon s:old_report s:old_title s:old_search
unlet s:old_magic s:old_more s:old_fdm s:old_fen s:old_winheight
unlet! s:old_isprint
+24 -17
View File
@@ -2,8 +2,8 @@
" Language: automake Makefile.am
" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: John Williams <jrw@pobox.com>
" Last Change: 2007-10-14
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/automake.vim;hb=debian
" Last Change: 2011-06-13
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/automake.vim
"
" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
" it only because patches have been submitted for it by Debian users and the
@@ -17,6 +17,12 @@
" when they are used in an inappropriate place, such as in defining
" EXTRA_SOURCES.
" Standard syntax initialization
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Read the Makefile syntax to start with
if version < 600
@@ -25,27 +31,28 @@ else
runtime! syntax/make.vim
endif
syn match automakePrimary "^[A-Za-z0-9_]\+\(_PROGRAMS\|LIBRARIES\|_LIST\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_JAVA\|_LTLIBRARIES\)\s*="me=e-1
syn match automakePrimary "^TESTS\s*="me=e-1
syn match automakeSecondary "^[A-Za-z0-9_]\+\(_SOURCES\|_LDADD\|_LIBADD\|_LDFLAGS\|_DEPENDENCIES\|_CPPFLAGS\)\s*="me=e-1
syn match automakeSecondary "^OMIT_DEPENDENCIES\s*="me=e-1
syn match automakeExtra "^EXTRA_[A-Za-z0-9_]\+\s*="me=e-1
syn match automakeOptions "^\(AUTOMAKE_OPTIONS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*="me=e-1
syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*="me=e-1
syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*="me=e-1
syn match automakeConditional "^\(if\s*[a-zA-Z0-9_]\+\|else\|endif\)\s*$"
syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\=="
syn match automakePrimary "^TESTS\s*\ze+\=="me=e-1
syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\=="
syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\=="
syn match automakeExtra "^EXTRA_\w\+\s*\ze+\=="
syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\=="
syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\=="
syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\=="
syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$"
syn match automakeSubst "@[a-zA-Z0-9_]\+@"
syn match automakeSubst "^\s*@[a-zA-Z0-9_]\+@"
syn match automakeSubst "@\w\+@"
syn match automakeSubst "^\s*@\w\+@"
syn match automakeComment1 "#.*$" contains=automakeSubst
syn match automakeComment2 "##.*$"
syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call
syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake
syn region automakeNoSubst start="^EXTRA_[a-zA-Z0-9_]*\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
syn region automakeNoSubst start="^DIST_SUBDIRS\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
syn region automakeNoSubst start="^[a-zA-Z0-9_]*_SOURCES\s*=" end="$" contains=ALLBUT,automakeNoSubst transparent
syn match automakeBadSubst "@\([a-zA-Z0-9_]*@\=\)\=" contained
syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent
syn match automakeBadSubst "@\(\w*@\=\)\=" contained
syn region automakeMakeDString start=+"+ skip=+\\"+ end=+"+ contains=makeIdent,automakeSubstitution
syn region automakeMakeSString start=+'+ skip=+\\'+ end=+'+ contains=makeIdent,automakeSubstitution
+6 -4
View File
@@ -2,7 +2,7 @@
" Language: BibTeX (bibliographic database format for (La)TeX)
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
" Filenames: *.bib
" Last Change: Aug 02, 2005
" Last Change: Mar 23, 2011
" Thanks to those who pointed out problems with this file or supplied fixes!
@@ -34,6 +34,8 @@ syn keyword bibEntryKw contained number organization pages publisher
syn keyword bibEntryKw contained school series title type volume year
" Non-standard:
syn keyword bibNSEntryKw contained abstract isbn issn keywords url
" AMS mref http://www.ams.org/mref
syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden
" Clusters
" ========
@@ -55,11 +57,11 @@ syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=b
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
" an error, so we explicitly distinguish versions with and without folding functionality:
if version < 600
syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent contains=bibType,bibEntryData nextgroup=bibComment
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent contains=bibType,bibEntryData nextgroup=bibComment
else
syn region bibEntry start=/@\S\+[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
endif
syn region bibComment2 start=/@Comment[{(]/ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
" Synchronization
" ===============
+8 -8
View File
@@ -1,13 +1,13 @@
" Vim syntax file
" Language: BIND zone files (RFC1035)
" Language: BIND zone files (RFC 1035)
" Maintainer: Julian Mehnle <julian@mehnle.net>
" URL: http://www.mehnle.net/source/odds+ends/vim/syntax/
" Last Change: Thu 2006-04-20 12:30:45 UTC
" Last Change: Thu 2011-07-16 20:42:00 UTC
"
" Based on an earlier version by Вячеслав Горбанев (Slava Gorbanev), with
" heavy modifications.
"
" $Id: bindzone.vim,v 1.2 2006/04/20 22:06:21 vimboss Exp $
" $Id: bindzone.vim 12 2011-07-16 21:09:57Z julian $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -23,7 +23,7 @@ syn case match
syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown
syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneNumber,zoneUnknown
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneTTL,zoneUnknown
syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown
syn match zoneDirective /^\$GENERATE\s/
@@ -34,9 +34,9 @@ syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\
syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
syn match zoneSpecial contained /^[@*.]\s/
syn match zoneTTL contained /\<\d[0-9HhWwDd]*\>/ nextgroup=zoneClass,zoneRRType skipwhite
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
syn keyword zoneRRType contained A AAAA CNAME HINFO MX NS PTR SOA SRV TXT nextgroup=zoneRData skipwhite
syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
syn keyword zoneRRType contained A AAAA CNAME DNAME HINFO MX NS PTR SOA SRV TXT SPF nextgroup=zoneRData skipwhite
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
@@ -66,7 +66,7 @@ syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/
syn match zoneSerial contained /\<[0-9]\{9,10}\(\s\|;\|$\)\@=/
syn match zoneErrParen /)/
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneNumber,zoneComment
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment
syn match zoneComment /;.*/
" Define the default highlighting.
+36 -17
View File
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2009 Nov 17
" Last Change: 2011 Sep 07
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -72,7 +72,7 @@ endif
" This should be before cErrInParen to avoid problems with #define ({ xxx })
if exists("c_curly_error")
syntax match cCurlyError "}"
syntax region cBlock start="{" end="}" contains=ALLBUT,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
syntax region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell fold
else
syntax region cBlock start="{" end="}" transparent fold
endif
@@ -80,31 +80,33 @@ endif
"catch errors caused by wrong parenthesis and brackets
" also accept <% for {, %> for }, <: for [ and :> for ] (C99)
" But avoid matching <::.
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
if exists("c_no_curly_error")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
elseif exists("c_no_bracket_error")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cCppString,@Spell
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cCppString,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "[{}]\|<%\|%>"
else
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,cCppString,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
syn match cParenError display "[\])]"
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,cCppString,@Spell
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
syn match cErrInBracket display contained "[);{}]\|<%\|%>"
endif
syntax region cBadBlock keepend extend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
"integer number, or floating point number without a dot and with "f".
syn case ignore
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
@@ -270,27 +272,39 @@ if !exists("c_no_c99") " ISO C99
endif
" Accept %: for # (C99)
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreCondit display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
syn region cCppOutWrapper start="^\s*\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold")
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2 fold
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip fold
else
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end=".\@=\|$" contains=cCppOut2
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip
endif
syn region cCppOut2 contained start="0" end="^\s*\(%:\|#\)\s*\(endif\>\|else\>\|elif\>\)" contains=cSpaceError,cCppSkip
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
else
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
endif
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip
syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
endif
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match cIncluded display contained "<[^>]*>"
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
"syn match cLineSkip "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
" Highlight User Labels
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
syn cluster cLabelGroup contains=cUserLabel
@@ -354,6 +368,9 @@ hi def link cDefine Macro
hi def link cIncluded cString
hi def link cError Error
hi def link cStatement Statement
hi def link cCppInWrapper cCppOutWrapper
hi def link cCppOutWrapper cPreCondit
hi def link cPreConditMatch cPreCondit
hi def link cPreCondit PreCondit
hi def link cType Type
hi def link cConstant Constant
@@ -365,8 +382,10 @@ hi def link cComment Comment
hi def link cSpecial SpecialChar
hi def link cTodo Todo
hi def link cBadContinuation Error
hi def link cCppSkip cCppOut
hi def link cCppOut2 cCppOut
hi def link cCppOutSkip cCppOutIf2
hi def link cCppInElse2 cCppOutIf2
hi def link cCppOutIf2 cCppOut2 " Old syntax group for #if 0 body
hi def link cCppOut2 cCppOut " Old syntax group for #if of #if 0
hi def link cCppOut Comment
let b:current_syntax = "c"

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