Compare commits

...

961 Commits

Author SHA1 Message Date
Kazuki Sakamoto 8ac94c2b7a MacVim Snapshot 108
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.2364

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-09-11 20:46:21 -07:00
Kazuki Sakamoto e23c64e08f Merge remote-tracking branch 'vim/master' 2016-09-11 10:04:02 -07:00
Bram Moolenaar e1c8c7a674 patch 7.4.2364
Problem:    Sort test sometimes fails.
Solution:   Add it to the list of flaky tests.
2016-09-11 16:48:50 +02:00
Bram Moolenaar cbeab96f87 patch 7.4.2363
Problem:    Superfluous function prototypes.
Solution:   Remove them.
2016-09-11 15:08:56 +02:00
Bram Moolenaar 7e1479b86c Updated runtime files, Japanese translations. 2016-09-11 15:07:27 +02:00
Bram Moolenaar 4930a76a03 patch 7.4.2362
Problem:    Illegal memory access with ":1@". (Dominique Pelle)
Solution:   Correct cursor column after setting the line number.  Also avoid
            calling end_visual_mode() when not in Visual mode.
2016-09-11 14:39:53 +02:00
Kazuki Sakamoto 2b4671c6fc Merge remote-tracking branch 'vim/master' 2016-09-10 20:35:35 -07:00
Bram Moolenaar ee39ef0b93 patch 7.4.2361
Problem:    Checking for last_timer_id to overflow is not reliable. (Ozaki
            Kiichi)
Solution:   Check for the number not going up.
2016-09-10 19:17:42 +02:00
Bram Moolenaar 80c3fd7c55 patch 7.4.2360
Problem:    Invalid memory access when formatting. (Dominique Pelle)
Solution:   Make sure cursor line and column are associated.
2016-09-10 15:52:55 +02:00
Bram Moolenaar 26fe0d5691 patch 7.4.2359
Problem:    Memory leak in timer_start().
Solution:   Check the right field to be NULL.
2016-09-10 14:27:30 +02:00
Kazuki Sakamoto 8287abd245 Merge remote-tracking branch 'vim/master' 2016-09-09 21:32:05 -07:00
Bram Moolenaar d47d83745f patch 7.4.2358
Problem:    Compiler warnings with Solaris Studio when using GTK3.
Solution:   Define FUNC2GENERIC depending on the system. (Kazunobu Kuriyama)
2016-09-09 22:13:24 +02:00
Bram Moolenaar 46643713dc patch 7.4.2357
Problem:    Attempt to read history entry while not initialized.
Solution:   Skip when the index is negative.
2016-09-09 21:42:36 +02:00
Bram Moolenaar ea683da58c patch 7.4.2356
Problem:    Reading past end of line when using previous substitute pattern.
            (Dominique Pelle)
Solution:   Don't set "pat" only set "searchstr".
2016-09-09 21:41:34 +02:00
Bram Moolenaar 16b3578f35 patch 7.4.2355
Problem:    Regexp fails to match when using "\>\)\?". (Ramel)
Solution:   When a state is already in the list, but addstate_here() is used
            and the existing state comes later, add the new state anyway.
2016-09-09 20:29:50 +02:00
Bram Moolenaar d563883a1f patch 7.4.2354
Problem:    The example that explains nested backreferences does not work
            properly with the new regexp engine. (Harm te Hennepe)
Solution:   Also save the end position when adding a state. (closes #990)
2016-09-09 17:59:50 +02:00
Bram Moolenaar 2931f2a5df patch 7.4.2353
Problem:    Not enough test coverage for Normal mode commands.
Solution:   Add more tests. (Christian Brabandt)
2016-09-09 16:59:08 +02:00
Bram Moolenaar 922a443cfd patch 7.4.2352
Problem:    Netbeans test fails in shadow directory.
Solution:   Also copy README.txt to the shadow directory.
2016-09-09 16:03:48 +02:00
Bram Moolenaar ff330ff2c4 patch 7.4.2351
Problem:    Netbeans test fails when run from unpacked MS-Windows sources.
Solution:   Open README.txt instead of Makefile.
2016-09-09 15:31:34 +02:00
Bram Moolenaar cf703fe9d6 patch 7.4.2350
Problem:    Test 86 and 87 fail with some version of Python.
Solution:   Unify "can't" and "cannot".  Unify quotes.
2016-09-09 14:59:39 +02:00
Bram Moolenaar 2321ca2a78 patch 7.4.2349
Problem:    Valgrind reports using uninitialzed memory. (Dominique Pelle)
Solution:   Check the length before checking for a NUL.
2016-09-09 14:17:18 +02:00
Bram Moolenaar 9a27c7fde6 patch 7.4.2348
Problem:    Crash on exit when EXITFREE is defined. (Dominique Pelle)
Solution:   Don't access curwin when exiting.
2016-09-09 12:57:09 +02:00
Kazuki Sakamoto c15c0d6983 Merge remote-tracking branch 'vim/master' 2016-09-08 20:46:25 -07:00
Bram Moolenaar c4a908e836 patch 7.4.2347
Problem:    Crash when closing a buffer while Visual mode is active.
            (Dominique Pelle)
Solution:   Adjust the position before computing the number of lines.
            When closing the current buffer stop Visual mode.
2016-09-08 23:35:30 +02:00
Bram Moolenaar abd468ed0f Updated runtime files 2016-09-08 22:22:43 +02:00
Bram Moolenaar f18c4dbbe5 patch 7.4.2346
Problem:    Autocommand test fails when run directly, passes when run as part
            of test_alot.
Solution:   Add command to make the cursor move.  Close a tab page.
2016-09-08 22:10:06 +02:00
Bram Moolenaar 0eaadec6b2 patch 7.4.2345
Problem:    For MinGW RUBY_API_VER_LONG isn't set correctly.  Many default
            version numbers are outdated.
Solution:   Set RUBY_API_VER_LONG to RUBY_VER_LONG. Use latest stable releases
            for defaults. (Ken Takata)
2016-09-08 20:28:45 +02:00
Kazuki Sakamoto e30d19e69d Merge remote-tracking branch 'vim/master' 2016-09-07 20:48:25 -07:00
Bram Moolenaar 169ebb0804 patch 7.4.2344
Problem:    The "Reading from channel output..." message can be unwanted.
            Appending to a buffer leaves an empty first line behind.
Solution:   Add the "out_msg" and "err_msg" options. Writing the first line
            overwrites the first, empty line.
2016-09-07 23:32:23 +02:00
Bram Moolenaar 53f1673cd9 patch 7.4.2343
Problem:    Too many old file tests.
Solution:   Turn several into new style tests. (Yegappan Lakshmanan)
2016-09-07 20:46:39 +02:00
Kazuki Sakamoto 1954f8f191 Merge remote-tracking branch 'vim/master' 2016-09-06 21:58:26 -07:00
Bram Moolenaar 1b0c1d050e patch 7.4.2342
Problem:    Typo in MS-Windows build script.
Solution:   change "w2" to "22".
2016-09-06 23:23:52 +02:00
Bram Moolenaar aeac9006d5 patch 7.4.2341
Problem:    Tiny things.  Test doesn't clean up properly.
Solution:   Adjust comment and white space. Restore option value.
2016-09-06 22:15:08 +02:00
Bram Moolenaar 64d8e25bf6 Updated runtime files. 2016-09-06 22:12:34 +02:00
Bram Moolenaar 6384c5db8d patch 7.4.2340
Problem:    MS-Windows: Building with Ruby uses old version.
Solution:   Update to 2.2.X. Use clearer name for the API version. (Ken
            Takata)
2016-09-06 22:06:35 +02:00
Bram Moolenaar 100f5c90f4 patch 7.4.2339
Problem:    Tab page test fails when run as fake root.
Solution:   Check 'buftype' instead of 'filetype'. (James McCoy, closes #1042)
2016-09-06 21:33:52 +02:00
Bram Moolenaar 7947312871 patch 7.4.2338
Problem:    Can't build with small features. (John Marriott)
Solution:   Nearly always define FEAT_TAG_BINS.
2016-09-06 21:32:11 +02:00
Kazuki Sakamoto 6df94112d9 Merge pull request #343 from mgee/add-thinstrokes-option
Add macthinstrokes option
2016-09-06 12:30:05 -07:00
Bram Moolenaar 77b642501a patch 7.4.2337
Problem:    taglist() is still slow. (Luc Hermitte)
Solution:   Check for CTRL-C less often when finding duplicates.
2016-09-06 21:14:27 +02:00
Bram Moolenaar df0db16cf7 patch 7.4.2336
Problem:    Running normal mode tests leave a couple of files behind.
            (Yegappan Lakshmanan)
Solution:   Delete the files. (Christian Brabandt)
2016-09-06 20:37:41 +02:00
Bram Moolenaar 72b4b870fc patch 7.4.2335
Problem:    taglist() is slow. (Luc Hermitte)
Solution:   Check for CTRL-C less often when doing a linear search. (closes
            #1044)
2016-09-06 20:24:50 +02:00
Markus Engelbrecht e226fb8015 Add macthinstrokes option
The macthinstrokes option renders the text a
little lighter which looks nice when using a dark
colorscheme and a retina display.
2016-09-06 18:01:50 +02:00
Kazuki Sakamoto 33f0aed0ac Merge remote-tracking branch 'vim/master' 2016-09-05 21:32:57 -07:00
Bram Moolenaar 1b0c2fcf6e patch 7.4.2334
Problem:    On MS-Windows test_getcwd leaves Xtopdir behind.
Solution:   Set 'noswapfile'. (Michael Soyka)
2016-09-05 23:29:26 +02:00
Bram Moolenaar 31845093b7 patch 7.4.2333
Problem:    Outdated comments in test.
Solution:   Cleanup normal mode test. (Christian Brabandt)
2016-09-05 22:58:31 +02:00
Bram Moolenaar 75537a93e9 patch 7.4.2332
Problem:    Crash when stop_timer() is called in a callback of a callback.
            Vim hangs when the timer callback uses too much time.
Solution:   Set tr_id to -1 when a timer is to be deleted. Don't keep calling
            callbacks forever. (Ozaki Kiichi)
2016-09-05 22:45:28 +02:00
Bram Moolenaar 33a80eeb85 patch 7.4.2331
Problem:    Using CTRL-X CTRL-V to complete a command line from Insert mode
            does not work after entering an expression on the command line.
Solution:   Don't use "ccline" when not actually using a command line. (test
            by Hirohito Higashi)
2016-09-05 21:51:14 +02:00
Kazuki Sakamoto b044cf0849 Merge remote-tracking branch 'vim/master' 2016-09-04 20:25:23 -07:00
Bram Moolenaar 030cddc7ec patch 7.4.2330
Problem:    Coverity complains about not checking curwin to be NULL.
Solution:   Use firstwin to avoid the warning.
2016-09-04 23:41:42 +02:00
Bram Moolenaar 26b84339fd patch 7.4.2329
Problem:    Error for min() and max() contains %s. (Nikolay Pavlov)
Solution:   Pass the function name. (closes #1040)
2016-09-04 21:42:36 +02:00
Bram Moolenaar f9e687e068 patch 7.4.2328
Problem:    Crash when BufWinLeave autocmd goes to another tab page. (Hirohito
            Higashi)
Solution:   Make close_buffer() go back to the right window.
2016-09-04 21:33:09 +02:00
Bram Moolenaar c8fe338d64 patch 7.4.2327
Problem:    Freeing a variable that is on the stack.
Solution:   Don't free res_tv or err_tv. (Ozaki Kiichi)
2016-09-04 20:44:42 +02:00
Bram Moolenaar d5824ce1b5 patch 7.4.2326
Problem:    Illegal memory access when Visual selection starts in invalid
            position. (Dominique Pelle)
Solution:   Correct position when needed.
2016-09-04 20:35:01 +02:00
Bram Moolenaar 30180b8dad patch 7.4.2325
Problem:    Tiny build fails.
Solution:   Add #ifdef.
2016-09-04 19:57:56 +02:00
Bram Moolenaar e0ab94e712 patch 7.4.2324
Problem:    Crash when editing a new buffer and BufUnload autocommand wipes
            out the new buffer. (Norio Takagi)
Solution:   Don't allow wiping out this buffer. (partly by Hirohito Higashi)
            Move old style test13 into test_autocmd. Avoid ml_get error when
            editing a file.
2016-09-04 19:50:54 +02:00
Bram Moolenaar d77f9d595e patch 7.4.2323
Problem:    Using freed memory when using 'formatexpr'. (Dominique Pelle)
Solution:   Make a copy of 'formatexpr' before evaluating it.
2016-09-04 15:13:39 +02:00
Bram Moolenaar bc54f3f3fe patch 7.4.2322
Problem:    Access memory beyond the end of the line. (Dominique Pelle)
Solution:   Adjust the cursor column.
2016-09-04 14:34:28 +02:00
Kazuki Sakamoto 3cc4453075 Merge remote-tracking branch 'vim/master' 2016-09-03 19:31:44 -07:00
Bram Moolenaar dac1947bb3 patch 7.4.2321
Problem:    When a test is commented out we forget about it.
Solution:   Let a test throw an exception with "Skipped" and list skipped test
            functions. (Christian Brabandt)
2016-09-03 22:35:40 +02:00
Bram Moolenaar dda933d06c patch 7.4.2320
Problem:    Redraw problem when using 'incsearch'.
Solution:   Save the current view when deleting characters. (Christian
            Brabandt) Fix that the '" mark is set in the wrong position. Don't
            change the search start when using BS.
2016-09-03 21:04:58 +02:00
Bram Moolenaar b07a82b6d5 patch 7.4.2319
Problem:    No way for a system wide vimrc to stop loading defaults.vim.
            (Christian Hesse)
Solution:   Bail out of defaults.vim if skip_defaults_vim was set.
2016-09-03 20:08:56 +02:00
Bram Moolenaar 349e7d94e6 patch 7.4.2318
Problem:    When 'incsearch' is not set CTRL-T and CTRL-G are not inserted as
            before.
Solution:   Move #ifdef and don't use goto.
2016-09-03 20:04:34 +02:00
Bram Moolenaar 0913a1089a patch 7.4.2317
Problem:    Normal mode tests fail on MS-Windows.
Solution:   Do some tests only on Unix.  Set 'fileformat' to "unix".
2016-09-03 19:11:59 +02:00
Bram Moolenaar f7f3e32fcc patch 7.4.2316
Problem:    Channel sort test is flaky.
Solution:   Add a check the output has been read.
2016-09-03 18:47:24 +02:00
Bram Moolenaar 87bc3f7459 patch 7.4.2315
Problem:    Insufficient testing for Normal mode commands.
Solution:   Add a big test. (Christian Brabandt, closes #1029)
2016-09-03 17:33:54 +02:00
Bram Moolenaar de653f0880 patch 7.4.2314
Problem:    No error when deleting an augroup while it's the current one.
Solution:   Disallow deleting an augroup when it's the current one.
2016-09-03 16:59:06 +02:00
Bram Moolenaar b62cc36a60 patch 7.4.2313
Problem:    Crash when deleting an augroup and listing an autocommand.
            (Dominique Pelle)
Solution:   Make sure deleted_augroup is valid.
2016-09-03 16:43:53 +02:00
Bram Moolenaar 5a49789a9b patch 7.4.2312
Problem:    Crash when autocommand moves to another tab. (Dominique Pelle)
Solution:   When navigating to another window halfway the :edit command go
            back to the right window.
2016-09-03 16:29:04 +02:00
Kazuki Sakamoto 4338f80a4b Merge remote-tracking branch 'vim/master' 2016-09-02 21:27:01 -07:00
Bram Moolenaar dd905a2ae1 patch 7.4.2311
Problem:    Appveyor 64 bit build still using Python 3.4
Solution:   Switch to Python 3.5. (Ken Takata, closes #1032)
2016-09-02 22:26:04 +02:00
Bram Moolenaar a5d4121eed patch 7.4.2310
Problem:    Accessing freed memory when a timer does not repeat.
Solution:   Free after removing it. (Dominique Pelle)
2016-09-02 22:18:49 +02:00
Bram Moolenaar 11fbc2866c patch 7.4.2309
Problem:    Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle)
Solution:   When detecting that the tab page changed, don't just abort but
            delete the window where w_buffer is NULL.
2016-09-02 21:48:32 +02:00
Bram Moolenaar 44f660c421 patch 7.4.2308
Problem:    Old charsearch test still listed in Makefile.
Solution:   Remove the line.
2016-09-02 20:03:20 +02:00
Bram Moolenaar cd055da370 patch 7.4.2307
Problem:    Several tests are old style.
Solution:   Turn them into new style tests. (Yegappan Lakshmanan)
2016-09-02 19:50:48 +02:00
Bram Moolenaar da9ce2cde1 patch 7.4.2306
Problem:    Default value for 'langremap' is wrong.
Solution:   Set the right value. (Jürgen Krämer)  Add a test.
2016-09-02 19:34:10 +02:00
Kazuki Sakamoto 89f8880325 Merge remote-tracking branch 'vim/master' 2016-09-02 05:26:55 -07:00
Kazuki Sakamoto a8c2fa5b29 Merge pull request #340 from yacoob/no-gui-via-ssh
Make mvim smarter about remote logins
2016-09-01 21:01:13 -07:00
Jakub Turski bb5c4a4fee Check for existence of SSH_CONNECTION variable. 2016-09-02 00:12:19 +01:00
Bram Moolenaar 19a1669ffc patch 7.4.2305
Problem:    Marks, writefile and nested function tests are old style.
Solution:   Turn them into new style tests. (Yegappan Lakshmanan)
2016-09-01 22:19:47 +02:00
Bram Moolenaar 417ccd7138 patch 7.4.2304
Problem:    In a timer callback the timer itself can't be found or stopped.
            (Thinca)
Solution:   Do not remove the timer from the list, remember whether it was
            freed.
2016-09-01 21:26:20 +02:00
Bram Moolenaar 779f2fc3a7 patch 7.4.2303
Problem:    When using "is" the mode isn't always updated.
Solution:   Redraw the command line. (Christian Brabandt)
2016-09-01 20:58:24 +02:00
Bram Moolenaar f1b512a0b6 patch 7.4.2302
Problem:    Default interface versions for MS-Windows are outdated.
Solution:   Use Active Perl 5.24, Python 3.5.2.  Could only make it work with
            Ruby 1.9.2.
2016-09-01 20:50:54 +02:00
Bram Moolenaar 641ad6c7ac patch 7.4.2301
Problem:    MS-Windows: some files remain after testing.
Solution:   Close the channel output file.  Wait for the file handle to be
            closed before deleting the file.
2016-09-01 18:32:11 +02:00
Bram Moolenaar 5c80908ced patch 7.4.2300
Problem:    Get warning for deleting autocommand group when the autocommand
            using the group is scheduled for deletion. (Pavol Juhas)
Solution:   Check for deleted autocommand.
2016-09-01 16:21:48 +02:00
Bram Moolenaar 04c4ce650f patch 7.4.2299
Problem:    QuickFixCmdPre and QuickFixCmdPost autocommands are not always
            triggered.
Solution:   Also trigger on ":expr", ":cbuffer", etc. (Yegappan Lakshmanan)
2016-09-01 15:45:58 +02:00
Bram Moolenaar 0874a83e9b patch 7.4.2298
Problem:    It is not possible to close the "in" part of a channel.
Solution:   Add ch_close_in().
2016-09-01 15:11:51 +02:00
Bram Moolenaar d8b554904d patch 7.4.2297
Problem:    When starting a job that reads from a buffer and reaching the end,
            the job hangs.
Solution:   Close the pipe or socket when all lines were read.
2016-09-01 14:35:22 +02:00
Kazuki Sakamoto 8a54cfdb32 Merge remote-tracking branch 'vim/master' 2016-08-31 21:02:36 -07:00
Bram Moolenaar f37506f60f Updated runtime files. Remove HiLink commands. 2016-08-31 22:22:10 +02:00
Bram Moolenaar c628fdcd46 patch 7.4.2296
Problem:    No tests for :undolist and "U" command.
Solution:   Add tests. (Dominique Pelle)
2016-08-31 20:33:27 +02:00
Kazuki Sakamoto a2a8de37fa Merge remote-tracking branch 'vim/master' 2016-08-30 20:27:34 -07:00
Bram Moolenaar 89bcfda683 Updated runtime files. Remove version checks for Vim older than 6.0. 2016-08-30 23:26:57 +02:00
Bram Moolenaar 4792255eff patch 7.4.2295
Problem:    Cscope test fails.
Solution:   Avoid checking for specific line and column numbers.
2016-08-30 10:56:50 +02:00
Kazuki Sakamoto 42e65225c6 Merge remote-tracking branch 'vim/master' 2016-08-29 19:37:47 -07:00
Bram Moolenaar 64cefedfc8 patch 7.4.2294
Problem:    Sign test fails on MS-Windows when using the distributed zip
            archives.
Solution:   Create dummy files instead of relying on files in the pixmaps
            directory.
2016-08-29 23:06:28 +02:00
Bram Moolenaar edf3f97ae2 patch 7.4.2293
Problem:    Modelines in source code are inconsistant.
Solution:   Use the same line in most files.  Add 'noet'.  (Naruhiko Nishino)
2016-08-29 22:49:24 +02:00
Bram Moolenaar 965ed14973 patch 7.4.2292
Problem:    Not all systems understand %F in printf().
Solution:   Use %f.
2016-08-29 22:31:24 +02:00
Bram Moolenaar 0418609534 patch 7.4.2291
Problem:    printf() handles floats wrong when there is a sign.
Solution:   Fix placing the sign.  Add tests. (Dominique Pelle)
2016-08-29 21:55:35 +02:00
Kazuki Sakamoto 1645f95201 Merge remote-tracking branch 'vim/master' 2016-08-28 22:44:35 -07:00
Bram Moolenaar 7f7bd297d6 patch 7.4.2290
Problem:    Compiler warning in tiny build. (Tony Mechelynck)
Solution:   Add #ifdef around infinity_str().
2016-08-28 21:21:31 +02:00
Bram Moolenaar 7683aaa506 patch 7.4.2289
Problem:    When installing and $DESTDIR is set the icons probably won't be
            installed.
Solution:   Create the icon directories if $DESTDIR is not empty. (Danek
            Duvall)
2016-08-28 21:00:50 +02:00
Bram Moolenaar cb03397aba patch 7.4.2288
Problem:    MS-Windows build instructions are clumsy. "dosbin" doesn't build.
Solution:   Add rename.bat. Fix building "dosbin".
2016-08-28 20:14:38 +02:00
Bram Moolenaar 6fc8227ebf patch 7.4.2287
Problem:    The callback passed to ch_sendraw() is not used.
Solution:   Pass the read part, not the send part. (haya14busa, closes #1019)
2016-08-28 19:26:43 +02:00
Bram Moolenaar fec246d2c5 patch 7.4.2286
Problem:    The tee program isn't included.  Makefile contains build
            instructions that don't work.
Solution:   Update the Filelist and build instructions. Remove build
            instructions for DOS and old Windows.  Add the tee program.
2016-08-28 18:47:14 +02:00
Bram Moolenaar 36f44c21da Updated runtime files. 2016-08-28 18:17:20 +02:00
Bram Moolenaar d90b6c02e2 patch 7.4.2285
Problem:    Generated files are outdated.
Solution:   Generate the files.  Avoid errors when generating prototypes.
2016-08-28 18:10:45 +02:00
Bram Moolenaar f4145d8e99 patch 7.4.2284
Problem:    Comment in scope header file is outdated. (KillTheMule)
Solution:   Point to the help instead. (closes #1017)
2016-08-28 17:15:25 +02:00
Bram Moolenaar 885c00eabe patch 7.4.2283
Problem:    Part of ":oldfiles" command isn't cleared. (Lifepillar)
Solution:   Clear the rest of the line. (closes 1018)
2016-08-28 17:08:17 +02:00
Bram Moolenaar 0abe0522d0 patch 7.4.2282
Problem:    When a child process is very fast waiting 10 msec for it is
            noticeable. (Ramel Eshed)
Solution:   Start waiting for 1 msec and gradually increase.
2016-08-28 16:53:12 +02:00
Bram Moolenaar 0426bae2ab patch 7.4.2281
Problem:    Timer test fails sometimes.
Solution:   Reduce minimum time by 1 msec.
2016-08-28 16:06:05 +02:00
Bram Moolenaar e999782e36 patch 7.4.2280
Problem:    printf() doesn't handle infinity float values correctly.
Solution:   Add a table with possible infinity values. (Dominique Pelle)
2016-08-28 16:03:38 +02:00
Bram Moolenaar 46328f9a1c patch 7.4.2279
Problem:    Starting diff mode with the cursor in the last line might end up
            only showing one closed fold. (John Beckett)
Solution:   Scroll the window to show the same relative cursor position.
2016-08-28 15:39:57 +02:00
Bram Moolenaar 4427db9bb2 patch 7.4.2278
Problem:    New users have no idea of the 'scrolloff' option.
Solution:   Set 'scrolloff' in defaults.vim.
2016-08-28 14:39:44 +02:00
Bram Moolenaar 6a402edbeb patch 7.4.2277
Problem:    Memory leak in getbufinfo() when there is a sign. (Dominique
            Pelle)
Solution:   Remove extra vim_strsave().
2016-08-28 14:11:24 +02:00
Bram Moolenaar 1773ddfdcd patch 7.4.2276
Problem:    Command line test fails on Windows when run twice.
Solution:   Wipe the buffer so that the directory can be deleted.
2016-08-28 13:38:54 +02:00
Kazuki Sakamoto ef743adcc1 MacVim Snapshot 107
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.2275

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-08-27 19:27:30 -07:00
Kazuki Sakamoto 7b125feed1 Merge remote-tracking branch 'vim/master' 2016-08-27 19:08:42 -07:00
Bram Moolenaar e67d546f3c patch 7.4.2275
Problem:    ":diffoff!" does not remove filler lines.
Solution:   Force a redraw and invalidate the cursor. (closes #1014)
2016-08-27 22:40:42 +02:00
Bram Moolenaar 818078ddfb Updated runtime files and translations. 2016-08-27 21:58:42 +02:00
Bram Moolenaar 73d4e4c892 patch 7.4.2274
Problem:    Command line completion on "find **/filename" drops sub-directory.
Solution:   Handle this case separately. (Harm te Hennepe, closes #932, closes
            #939)
2016-08-27 21:55:13 +02:00
Bram Moolenaar 3056735ae8 patch 7.4.2273
Problem:    getwininfo() and getbufinfo() are inefficient.
Solution:   Do not make a copy of all window/buffer-local options.  Make it
            possible to get them with gettabwinvar() or getbufvar().
2016-08-27 21:25:44 +02:00
Bram Moolenaar 9f8187c335 patch 7.4.2272
Problem:    getbufinfo(), getwininfo() and gettabinfo() are inefficient.
Solution:   Instead of making a copy of the variables dictionary, use a
            reference.
2016-08-27 20:34:01 +02:00
Bram Moolenaar ffdf08c94e patch 7.4.2271
Problem:    Netbeans test doesn't read settings from file.
Solution:   Use "-Xnbauth".
2016-08-27 19:52:47 +02:00
Bram Moolenaar 821179809d patch 7.4.2270
Problem:    Insufficient testing for NUL bytes on a raw channel.
Solution:   Add a test for writing and reading.
2016-08-27 19:21:48 +02:00
Bram Moolenaar e17bdffff7 patch 7.4.2269
Problem:    Using 'hlsearch' highlighting instead of matchpos if there is no
            search match.
Solution:   Pass NULL as last item to next_search_hl() when searching for
            'hlsearch' match. (Shane Harper, closes #1013)
2016-08-27 18:34:29 +02:00
Bram Moolenaar 1195669f9e patch 7.4.2268
Problem:    Using CTRL-N and CTRL-P for incsearch shadows completion keys.
Solution:   Use CTRL-T and CTRL-G instead.
2016-08-27 16:26:56 +02:00
Bram Moolenaar 44ca54aeb9 patch 7.4.2267
Problem:    Build fails on MS-Windows.
Solution:   Add define to get isinf().
2016-08-27 15:41:32 +02:00
Bram Moolenaar 9992237a3e patch 7.4.2266
Problem:    printf() test fails on Windows. "-inf" is not used.
Solution:   Check for Windows-specific values for "nan".  Add sign to "inf"
            when appropriate.
2016-08-27 15:26:35 +02:00
Bram Moolenaar 76efafba2a patch 7.4.2265
Problem:    printf() isn't tested much.
Solution:   Add more tests for printf(). (Dominique Pelle)
2016-08-27 14:21:21 +02:00
Bram Moolenaar 2b529bb626 patch 7.4.2264
Problem:    When adding entries to an empty quickfix list the title is reset.
Solution:   Improve handling of the title. (Yegappan Lakshmanan)
2016-08-27 13:35:35 +02:00
Kazuki Sakamoto 2f9bb2a226 Merge remote-tracking branch 'vim/master' 2016-08-26 20:51:15 -07:00
Kazuki Sakamoto be7c0123e6 Merge pull request #339 from macvim-dev/fix/test_timers
Workaround fix: Relax timer in tests
2016-08-26 20:48:01 -07:00
Bram Moolenaar d29459baa6 patch 7.4.2263
Problem:    :filter does not work for many commands.  Can only get matching
            messages.
Solution:   Make :filter work for :command, :map, :list, :number and :print.
            Make ":filter!" show non-matching lines.
2016-08-26 22:29:11 +02:00
Bram Moolenaar 2570957607 patch 7.4.2262
Problem:    Fail to read register content from viminfo if it is 438 characters
            long. (John Chen)
Solution:   Adjust the check for line wrapping. (closes #1010)
2016-08-26 20:41:16 +02:00
Bram Moolenaar 7df0f6313a patch 7.4.2261
Problem:    Build fails with small features.
Solution:   Move "else" inside the #ifdef.
2016-08-26 19:56:00 +02:00
Bram Moolenaar e4a3bcf28d Updated runtime files. Add Scala files. 2016-08-26 19:52:37 +02:00
Bram Moolenaar dd74ab9b46 patch 7.4.2260
Problem:    Channel test is flaky.
Solution:   Add a newline to separate JSON messages.
2016-08-26 19:20:26 +02:00
Bram Moolenaar 4d6f32cbfb patch 7.4.2259
Problem:    With 'incsearch' can only see the next match.
Solution:   Make CTRL-N/CTRL-P move to the previous/next match. (Christian
            Brabandt)
2016-08-26 19:13:46 +02:00
Bram Moolenaar f1f0792e55 patch 7.4.2258
Problem:    Two JSON messages are sent without a separator.
Solution:   Separate messages with a NL. (closes #1001)
2016-08-26 17:58:53 +02:00
Bram Moolenaar 9f28953f0c patch 7.4.2257
Problem:    Coverity complains about not checking for NULL.
Solution:   Check for out of memory.
2016-08-26 16:39:03 +02:00
Bram Moolenaar db249f26ed patch 7.4.2256
Problem:    Coverity complains about null pointer check.
Solution:   Remove wrong and superfluous error check.
2016-08-26 16:29:47 +02:00
Bram Moolenaar ec42059b78 patch 7.4.2255
Problem:    The script that checks translations can't handle plurals.
Solution:   Check for plural msgid and msgstr entries.  Leave the cursor on
            the first error.
2016-08-26 15:51:53 +02:00
Bram Moolenaar 54b6352c6f patch 7.4.2254
Problem:    Compiler warnings in MzScheme code.
Solution:   Add UNUSED.  Remove unreachable code.
2016-08-26 12:55:09 +02:00
Kazuki Sakamoto c2a58d5855 Workaround fix: Relax timer in tests 2016-08-25 21:32:47 -07:00
Kazuki Sakamoto 5b5a28c1ab Merge remote-tracking branch 'vim/master' 2016-08-25 20:59:52 -07:00
Bram Moolenaar 78c7e274f2 patch 7.4.2253
Problem:    Check for Windows 3.1 will always return false.  (Christian
            Brabandt)
Solution:   Remove the dead code.
2016-08-25 23:19:29 +02:00
Bram Moolenaar 424d74bb20 patch 7.4.2252
Problem:    Compiler warnings for signed/unsigned in expression.
Solution:   Remove type cast. (Dominique Pelle)
2016-08-25 23:02:11 +02:00
Kazuki Sakamoto 5b9f4455bf Merge remote-tracking branch 'vim/master' 2016-08-24 20:54:24 -07:00
Bram Moolenaar 015efc32c1 patch 7.4.2251
Problem:    In rare cases diffing 4 buffers is not enough.
Solution:   Raise the limit to 8. (closes #1000)
2016-08-24 22:34:33 +02:00
Bram Moolenaar 5b30291785 patch 7.4.2250
Problem:    Some error message cannot be translated.
Solution:   Enclose them in _() and N_(). (Dominique Pelle)
2016-08-24 22:11:55 +02:00
Bram Moolenaar ba2099034f patch 7.4.2249
Problem:    Missing colon in error message.
Solution:   Add the colon. (Dominique Pelle)
2016-08-24 22:06:38 +02:00
Bram Moolenaar 358308dd99 patch 7.4.2248
Problem:    When cancelling the :ptjump prompt a preview window is opened for
            a following command.
Solution:   Reset g_do_tagpreview. (Hirohito Higashi)  Add a test.  Avoid that
            the test runner gets stuck in trying to close a window.
2016-08-24 21:21:26 +02:00
Kazuki Sakamoto b9a41370cf Merge pull request #338 from macvim-dev/revert-337-fix/job_fail
Revert "Use global queue in order to catch read event from channel"
2016-08-23 23:29:25 -07:00
Kazuki Sakamoto 0e3e555cae Revert "Use global queue in order to catch read event from channel" 2016-08-23 23:28:55 -07:00
Kazuki Sakamoto 2f31b6167c Merge pull request #337 from macvim-dev/fix/job_fail
Use global queue in order to catch read event from channel
2016-08-23 22:46:16 -07:00
Kazuki Sakamoto 0a001725b6 Use global queue in order to catch read event from channel 2016-08-23 22:22:28 -07:00
Kazuki Sakamoto 25bc16eeb3 Merge remote-tracking branch 'vim/master' 2016-08-23 19:36:07 -07:00
Kazuki Sakamoto 2ce1dbd777 Merge pull request #336 from macvim-dev/revert-330-fix/job_fail
Revert "Use global queue in order to catch read event from channel"
2016-08-23 19:34:16 -07:00
Kazuki Sakamoto 1b4fddf63f Revert "Use global queue in order to catch read event from channel" 2016-08-23 19:33:59 -07:00
Bram Moolenaar b58fe4588c patch 7.4.2247
Problem:    Tiny build fails. (Tony Mechelynck)
Solution:   Remove #ifdef.
2016-08-24 00:39:05 +02:00
Bram Moolenaar d6f2ee32dc patch 7.4.2246
Problem:    Oldfiles test fails.
Solution:   Include missing changes.
2016-08-24 00:30:52 +02:00
Bram Moolenaar 77401add71 patch 7.4.2245
Problem:    Filter test fails.
Solution:   Include missing changes.
2016-08-24 00:12:12 +02:00
Bram Moolenaar 7b668e83d0 patch 7.4.2244
Problem:    Adding pattern to ":oldfiles" is not a generic solution.
Solution:   Add the ":filter /pat/ cmd" command modifier.  Only works for some
            commands right now.
2016-08-23 23:51:21 +02:00
Kazuki Sakamoto c20131f0f8 Merge pull request #335 from macvim-dev/fix/gui_mch_get_rgb
Sync gui_mch_get_rgb with 7.4.2243
2016-08-22 23:13:51 -07:00
Kazuki Sakamoto 247f8a5b5d Sync gui_mch_get_rgb with 7.4.2243 2016-08-22 23:12:10 -07:00
Kazuki Sakamoto 2b0affaf2e Merge remote-tracking branch 'vim/master' 2016-08-22 20:56:35 -07:00
Bram Moolenaar 1b58cdd160 patch 7.4.2243
Problem:    Warning for assigning negative value to unsigned. (Danek Duvall)
Solution:   Make cterm_normal_fg_gui_color and _bg_ guicolor_T, cast to long_u
            only when an unsigned is needed.
2016-08-22 23:04:33 +02:00
Bram Moolenaar 17f1347b86 patch 7.4.2242
Problem:    Timer test sometimes fails.
Solution:   Increase the maximum time for callback timer test.
2016-08-22 22:47:45 +02:00
Bram Moolenaar 973365dcc4 patch 7.4.2241
Problem:    Timer test sometimes fails.
Solution:   Increase the maximum time for repeating timer.
2016-08-22 22:02:56 +02:00
Bram Moolenaar f267f8bdf7 patch 7.4.2240
Problem:    Tests using the sleep time can be flaky.
Solution:   Use reltime() if available. (Partly by Shane Harper)
2016-08-22 21:40:29 +02:00
Kazuki Sakamoto ab44a4c717 Merge remote-tracking branch 'vim/master' 2016-08-21 19:50:51 -07:00
Bram Moolenaar 9baf297c99 patch 7.4.2239
Problem:    Warning for missing declaration of skip_vimgrep_pat(). (John
            Marriott)
Solution:   Move it to another file.
2016-08-21 22:39:35 +02:00
Bram Moolenaar de7762a2c1 patch 7.4.2238
Problem:    With SGR mouse reporting (suckless terminal) the mouse release and
            scroll up/down is confused.
Solution:   Don't see a release as a scroll up/down. (Ralph Eastwood)
2016-08-21 21:03:37 +02:00
Bram Moolenaar 9b7f8ce9eb patch 7.4.2237
Problem:    Can't use "." and "$" with ":tab".
Solution:   Support a range for ":tab". (Hirohito Higashi)
2016-08-21 19:07:17 +02:00
Bram Moolenaar 920694c1b6 patch 7.4.2236
Problem:    The 'langnoremap' option leads to double negatives.  And it does
            not work for the last character of a mapping.
Solution:   Add 'langremap' with the opposite value.  Keep 'langnoremap' for
            backwards compatibility.  Make it work for the last character of a
            mapping.  Make the test work.
2016-08-21 17:45:02 +02:00
Bram Moolenaar 989f592f7f patch 7.4.2235
Problem:    submatch() does not check for a valid argument.
Solution:   Give an error if the argument is out of range. (Dominique Pelle)
2016-08-21 15:26:54 +02:00
Bram Moolenaar dd1248143e patch 7.4.2234
Problem:    Can't build with +eval but without +quickfix. (John Marriott)
Solution:   Move skip_vimgrep_pat() to separate #ifdef block.
2016-08-21 15:00:03 +02:00
Bram Moolenaar 843b884461 patch 7.4.2233
Problem:    Crash when using funcref() with invalid name. (Dominique Pelle)
Solution:   Check for NULL translated name.
2016-08-21 14:36:15 +02:00
Kazuki Sakamoto 54d43879bc Merge remote-tracking branch 'vim/master' 2016-08-20 20:35:06 -07:00
Josh Petrie 854c1d8007 Merge pull request #332 from macvim-dev/credit-old-maintainer
Include credit and link to Björn's repository.
2016-08-20 12:55:23 -07:00
Josh Petrie a25feb981a Include credit and link to Björn's repository. 2016-08-20 12:52:41 -07:00
Bram Moolenaar e07e797db0 patch 7.4.2232
Problem:    The default ttimeoutlen is very long.
Solution:   Use "100". (Hirohito Higashi)
2016-08-20 19:22:16 +02:00
Bram Moolenaar e11d61a3b1 patch 7.4.2231
Problem:    ":oldfiles" output is a very long list.
Solution:   Add a pattern argument. (Coot, closes #575)
2016-08-20 18:36:54 +02:00
Bram Moolenaar 66e29d7112 patch 7.4.2230
Problem:    There is no equivalent of 'smartcase' for a tag search.
Solution:   Add value "followscs" and "smart" to 'tagcase'. (Christian
            Brabandt, closes #712) Turn tagcase test into new style.
2016-08-20 16:57:02 +02:00
Bram Moolenaar f04507d132 patch 7.4.2229
Problem:    Startup test fails on Solaris.
Solution:   Recognize a character device. (Danek Duvall)
2016-08-20 15:05:39 +02:00
Kazuki Sakamoto b97a43f27d Merge pull request #330 from macvim-dev/fix/job_fail
Use global queue in order to catch read event from channel
2016-08-19 20:46:59 -07:00
Kazuki Sakamoto 61c3cf2197 Merge pull request #331 from lifepillar/colorscheme-menu
Add themes under packpath to Edit > Color Scheme.
2016-08-19 11:34:19 -07:00
Lifepillar c2ff332dca Add themes under packpath to Edit > Color Scheme.
Currently, in order to populate the Edit > Color Scheme menu, MacVim searches
for color schemes only in the paths defined in `runtimepath`. Since MacVim is
compiled with `+packages`, it makes sense to also look for color schemes under
`packpath`. This commit addresses this deficiency.

Note that color schemes may be found below `pack/*/opt` or
`pack/*/start` (see `:h pack-add`): `:colorscheme` searches both
locations.
2016-08-19 21:18:22 +03:00
Kazuki Sakamoto f9971749e5 Use global queue in order to catch read event from channel 2016-08-18 23:44:35 -07:00
Kazuki Sakamoto 8f76c0010f Merge remote-tracking branch 'vim/master' 2016-08-18 23:41:36 -07:00
Bram Moolenaar 9e4d8215d3 patch 7.4.2228
Problem:    Test files have inconsistant modelines.
Solution:   Don't set 'tabstop' to 2, use 'sts' and 'sw'.
2016-08-18 23:04:48 +02:00
Bram Moolenaar 7571d55f7d Updated runtime files. 2016-08-18 22:54:46 +02:00
Bram Moolenaar 1381d79147 patch 7.4.2227
Problem:    Tab page tests are old style.
Solution:   Change into new style tests. (Hirohito Higashi)
2016-08-18 22:11:42 +02:00
Bram Moolenaar 3392883770 patch 7.4.2226
Problem:    The field names used by getbufinfo(), gettabinfo() and
            getwininfo() are not consistent.
Solution:   Use bufnr, winnr and tabnr. (Yegappan Lakshmanan)
2016-08-18 21:22:04 +02:00
Kazuki Sakamoto d618f0bb08 Merge pull request #327 from macvim-dev/revert-326-fix/job_fail
Revert "Use global queue in order to catch read event from channel"
2016-08-17 23:21:14 -07:00
Kazuki Sakamoto 0de29e30dc Revert "Use global queue in order to catch read event from channel" 2016-08-17 23:18:28 -07:00
Kazuki Sakamoto cf3c9283b0 Merge pull request #326 from macvim-dev/fix/job_fail
Use global queue in order to catch read event from channel
2016-08-17 22:54:33 -07:00
Kazuki Sakamoto c617acfc46 Use global queue in order to catch read event from channel 2016-08-17 22:49:57 -07:00
Kazuki Sakamoto fa52c6497a Merge remote-tracking branch 'vim/master' 2016-08-17 20:54:19 -07:00
Bram Moolenaar bfd096d020 patch 7.4.2225
Problem:    Crash when placing a sign in a deleted buffer.
Solution:   Check for missing buffer name. (Dominique Pelle). Add a test.
2016-08-17 22:29:09 +02:00
Bram Moolenaar af9c4c9b57 patch 7.4.2224
Problem:    Compiler warnings with older compiler and 64 bit numbers.
Solution:   Add "LL" to large values. (Mike Williams)
2016-08-17 21:51:56 +02:00
Bram Moolenaar d3c907b5d2 patch 7.4.2223
Problem:    Buffer overflow when using latin1 character with feedkeys().
Solution:   Check for an illegal character.  Add a test.
2016-08-17 21:32:09 +02:00
Kazuki Sakamoto 7f4c26a9eb Merge remote-tracking branch 'vim/master' 2016-08-16 17:13:33 -07:00
Bram Moolenaar 6bff02eb53 patch 7.4.2222
Problem:    Sourcing a script where a character has 0x80 as a second byte does
            not work. (Filipe L B Correia)
Solution:   Turn 0x80 into K_SPECIAL KS_SPECIAL KE_FILLER. (Christian
            Brabandt, closes #728)  Add a test case.
2016-08-16 22:50:55 +02:00
Bram Moolenaar 91984b9034 patch 7.4.2221
Problem:    printf() does not support binary format.
Solution:   Add %b and %B. (Ozaki Kiichi)
2016-08-16 21:58:41 +02:00
Bram Moolenaar e5a8f35b42 patch 7.4.2220
Problem:    printf() gives an error when the argument for %s is not a string.
            (Ozaki Kiichi)
Solution:   Behave like invoking string() on the argument. (Ken Takata)
2016-08-16 21:30:54 +02:00
Bram Moolenaar f5a39447a8 patch 7.4.2219
Problem:    Recursive call to substitute gets stuck in sandbox. (Nikolai
            Pavlov)
Solution:   Handle the recursive call. (Christian Brabandt, closes #950)
            Add a test.
2016-08-16 21:04:41 +02:00
Bram Moolenaar 13d216d302 patch 7.4.2218
Problem:    Can't build with +timers when +digraph is not included.
Solution:   Change #ifdef for e_number_exp. (Damien)
2016-08-16 19:21:11 +02:00
Bram Moolenaar dc1f1645cb Updated runtime files. 2016-08-16 18:33:43 +02:00
Bram Moolenaar 4f416e4124 patch 7.4.2217
Problem:    When using matchaddpos() a character after the end of the line can
            be highlighted.
Solution:   Only highlight existing characters. (Hirohito Higashi)
2016-08-16 16:08:18 +02:00
Bram Moolenaar 22177f0c08 patch 7.4.2216
Problem:    Test fails without the +sign feature.
Solution:   Only check for signcolumn with the +sign feature.
2016-08-15 22:54:49 +02:00
Bram Moolenaar 386600f0cb patch 7.4.2215
Problem:    It's not easy to find out if a window is a quickfix or location
            list window.
Solution:   Add "loclist" and "quickfix" entries to the dict returnec by
            getwininfo(). (Yegappan Lakshmanan)
2016-08-15 22:16:25 +02:00
Bram Moolenaar 16350cb979 patch 7.4.2214
Problem:    A font that uses ligatures messes up the screen display.
Solution:   Put spaces between characters when building the glyph table.
            (based on a patch from Manuel Schiller)
2016-08-14 20:27:34 +02:00
Bram Moolenaar 58b853460a patch 7.4.2213
Problem:    Cannot highlight the "~" lines at the end of a window differently.
Solution:   Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy)
2016-08-14 19:54:54 +02:00
Bram Moolenaar e59215c7dc patch 7.4.2212
Problem:    Mark " is not set when closing a window in another tab. (Guraga)
Solution:   Check all tabs for the window to be valid. (based on patch by
            Hirohito Higashi, closes #974)
2016-08-14 19:08:45 +02:00
Bram Moolenaar e56132bb41 patch 7.4.2211
Problem:    Mouse support is not automatically enabled with simple term.
Solution:   Recognize "st" and other names. (Manuel Schiller, closes #963)
2016-08-14 18:23:21 +02:00
Bram Moolenaar cff50f5ec9 patch 7.4.2210
Problem:    On OSX configure mixes up a Python framework and the Unix layout.
Solution:   Make configure check properly. (Tim D. Smith, closes #980)
2016-08-14 17:32:52 +02:00
Bram Moolenaar 35a4cfa200 patch 7.4.2209
Problem:    Cannot map <M-">. (Stephen Riehm)
Solution:   Solve the memory access problem in another way. (Dominique Pelle)
            Allow for using <M-\"> in a string.
2016-08-14 16:07:48 +02:00
Bram Moolenaar 2d1a248762 patch 7.4.2208
Problem:    Test for mappings is old style.
Solution:   Convert the test to new style.
2016-08-14 15:32:11 +02:00
Bram Moolenaar d58b0f982a patch 7.4.2207
Problem:    The +xpm feature is not sorted properly in :version output.
Solution:   Move it up. (Tony Mechelynck)
2016-08-13 16:39:56 +02:00
Bram Moolenaar 4ae209597c patch 7.4.2206
Problem:    Warning for unused function.
Solution:   Put the function inside #ifdef. (John Marriott)
2016-08-13 15:29:14 +02:00
Bram Moolenaar e9d58a6459 patch 7.4.2205
Problem:    'wildignore' always applies to getcompletion().
Solution:   Add an option to use 'wildignore' or not. (Yegappan Lakshmanan)
2016-08-13 15:07:41 +02:00
Bram Moolenaar 0952131376 Updated runtime files. 2016-08-12 22:54:35 +02:00
Bram Moolenaar b5ae48e9ff patch 7.4.2204
Problem:    It is not easy to get information about buffers, windows and
            tabpages.
Solution:   Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan
            Lakshmanan)
2016-08-12 22:23:25 +02:00
Bram Moolenaar ebcccad573 patch 7.4.2203
Problem:    Test fails with normal features.
Solution:   Check is signs are supported.
2016-08-12 19:17:13 +02:00
Bram Moolenaar b338483152 patch 7.4.2202
Problem:    Build fails with small features.
Solution:   Correct option initialization.
2016-08-12 18:51:58 +02:00
Bram Moolenaar 95ec9d6a6a patch 7.4.2201
Problem:    The sign column disappears when the last sign is deleted.
Solution:   Add the 'signcolumn' option. (Christian Brabandt)
2016-08-12 18:29:59 +02:00
Bram Moolenaar d823fa910c patch 7.4.2200
Problem:    Cannot get all information about a quickfix list.
Solution:   Add an optional argument to get/set loc/qf list(). (Yegappan
            Lakshmanan)
2016-08-12 16:29:27 +02:00
Bram Moolenaar 107abd2ca5 patch 7.4.2199
Problem:    In the GUI the cursor is hidden when redrawing any window,
            causing flicker.
Solution:   Only undraw the cursor when updating the window it's in.
2016-08-12 14:08:25 +02:00
Kazuki Sakamoto 01c9e10e73 Merge remote-tracking branch 'vim/master' 2016-08-11 21:44:34 -07:00
Bram Moolenaar 0e5d3a2940 patch 7.4.2198
Problem:    Test alot sometimes fails under valgrind. (Dominique Pelle)
Solution:   Avoid passing a callback with the wrong number of arguments.
2016-08-11 22:52:42 +02:00
Bram Moolenaar c257487035 patch 7.4.2197
Problem:    All functions are freed on exit, which may hide leaks.
Solution:   Only free named functions, not reference counted ones.
2016-08-11 22:51:05 +02:00
Kazuki Sakamoto 50099467e9 Merge pull request #320 from macvim-dev/fix/emoji_and_symbols
Update Edit menu, "Emoji & Symbols"
2016-08-10 20:02:05 -07:00
Kazuki Sakamoto 24d6b9ae7d Update Edit menu, "Emoji & Symbols" 2016-08-10 20:00:51 -07:00
Kazuki Sakamoto 6480401b5c MacVim Snapshot 106
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.2196

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-08-10 19:14:47 -07:00
Kazuki Sakamoto b0501922f1 Merge remote-tracking branch 'vim/master' 2016-08-10 19:08:32 -07:00
Kazuki Sakamoto 8df28f3029 Merge pull request #319 from macvim-dev/fix/winrestview
Fix winrestview
2016-08-10 18:06:48 -07:00
Bram Moolenaar 91c5262b19 patch 7.4.2196
Problem:    glob2regpat test doesn't test everything on MS-Windows.
Solution:   Add patterns with backslash handling.
2016-08-10 23:02:45 +02:00
Bram Moolenaar bcc1dcc981 patch 7.4.2195
Problem:    MS-Windows: The vimrun program does not support Unicode.
Solution:   Use GetCommandLineW().  Cleanup old #ifdefs. (Ken Takata)
2016-08-10 22:02:40 +02:00
Bram Moolenaar 446a973ce3 patch 7.4.2194
Problem:    Sign tests don't cover enough.
Solution:   Add more test cases. (Dominique Pelle)
2016-08-10 21:36:23 +02:00
Bram Moolenaar 717e196060 patch 7.4.2193
Problem:    With Gnome when the GUI can't start test_startup hangs.
Solution:   Call gui_mch_early_init_check(). (Hirohito Higashi)
2016-08-10 21:28:44 +02:00
Bram Moolenaar a6b7a08ae0 patch 7.4.2192
Problem:    Generating prototypes with Cygwin doesn't work well.
Solution:   Change #ifdefs. (Ken Takata)
2016-08-10 20:53:05 +02:00
Bram Moolenaar a357e44ccd patch 7.4.2191
Problem:    No automatic prototype for vim_main2().
Solution:   Move the #endif. (Ken Takata)
2016-08-10 20:45:07 +02:00
Kazuki Sakamoto a1977aa8d2 Fix winrestview 2016-08-09 23:24:56 -07:00
Kazuki Sakamoto 8d7a68e9fa Merge remote-tracking branch 'vim/master' 2016-08-09 20:20:41 -07:00
Bram Moolenaar 50fa8dd00c patch 7.4.2190
Problem:    When startup test fails it's not easy to find out why.
            GUI test fails with Gnome.
Solution:   Add the help entry matches to a list an assert that.
            Set $HOME for Gnome to create .gnome2 directory.
2016-08-09 22:58:21 +02:00
Bram Moolenaar f71d7b9ee5 patch 7.4.2189
Problem:    Cannot detect encoding in a fifo.
Solution:   Extend the stdin way of detecting encoding to fifo.  Add a test
            for detecting encoding on stdin and fifo. (Ken Takata)
2016-08-09 22:14:05 +02:00
Bram Moolenaar c9fb77c692 patch 7.4.2188
Problem:    Completion does not work properly with some plugins.
Solution:   Revert the part related to typing CTRL-E. (closes #972)
2016-08-09 21:51:40 +02:00
Kazuki Sakamoto 3a0c5e14c6 Merge pull request #317 from macvim-dev/fix/workaround_timer
Workaround fix: Relax timer in tests
2016-08-08 22:14:56 -07:00
Kazuki Sakamoto 51073cf6d0 Workaround fix: Relax timer in tests 2016-08-08 22:13:51 -07:00
Kazuki Sakamoto 064b366275 Merge remote-tracking branch 'vim/master' 2016-08-08 19:27:01 -07:00
Bram Moolenaar 7547a78446 patch 7.4.2187
Problem:    glob2regpat test fails on Windows.
Solution:   Remove the checks that use backslashes.
2016-08-08 23:26:51 +02:00
Bram Moolenaar 36d1c0fef4 patch 7.4.2186
Problem:    Timers test is flaky.
Solution:   Relax the sleep time check.
2016-08-08 22:46:14 +02:00
Bram Moolenaar 71dd9744cf patch 7.4.2185
Problem:    Test glob2regpat does not test much.
Solution:   Add a few more test cases. (Dominique Pelle)
2016-08-08 22:42:04 +02:00
Bram Moolenaar 7a9a5f4019 patch 7.4.2184
Problem:    Tests that use RunVim() do not actually perform the test.
Solution:   Use "return" instead of "call". (Ken Takata)
2016-08-08 22:34:14 +02:00
Bram Moolenaar 09de17536d patch 7.4.2183
Problem:    Sign tests are old style.
Solution:   Turn them into new style tests. (Dominique Pelle)
2016-08-08 22:26:48 +02:00
Bram Moolenaar 2147746cf8 patch 7.4.2182
Problem:    Color Grey40 used in startup but not in the short list.
Solution:   Add Grey40 to the builtin colors.
2016-08-08 20:43:27 +02:00
Kazuki Sakamoto fa4076a018 Merge remote-tracking branch 'vim/master' 2016-08-07 18:16:58 -07:00
Bram Moolenaar a772ec5e91 patch 7.4.2181
Problem:    Compiler warning for unused variable.
Solution:   Remove it. (Dominique Pelle)
2016-08-07 20:20:50 +02:00
Bram Moolenaar b73598e2f0 patch 7.4.2180
Problem:    There is no easy way to stop all timers.  There is no way to
            temporary pause a timer.
Solution:   Add timer_stopall() and timer_pause().
2016-08-07 18:22:53 +02:00
Bram Moolenaar e4a76ad0e7 patch 7.4.2179
Problem:    Reading from stdin test fails on MS-Windows.
Solution:   Strip the extra space.
2016-08-07 16:50:10 +02:00
Bram Moolenaar 3a93838339 patch 7.4.2178
Problem:    No test for reading from stdin.
Solution:   Add a test.
2016-08-07 16:36:40 +02:00
Bram Moolenaar ba98bef191 patch 7.4.2177
Problem:    No testing for -C and -N command line flags, file arguments,
            startuptime.
Solution:   Add tests.
2016-08-07 15:51:39 +02:00
Bram Moolenaar a8e691d449 patch 7.4.2176
Problem:    #ifdefs in main() are complicated.
Solution:   Always define vim_main2().  Move params to the file level.
            (suggested by Ken Takata)
2016-08-07 15:19:26 +02:00
Bram Moolenaar 812ad4f3a2 patch 7.4.2175
Problem:    Insufficient testing of cscope.
Solution:   Add more tests. (Dominique Pelle)
2016-08-07 14:03:13 +02:00
Bram Moolenaar c8ce615299 patch 7.4.2174
Problem:    Adding duplicate flags to 'whichwrap' leaves commas behind.
Solution:   Also remove the commas. (Naruhiko Nishino)
2016-08-07 13:48:20 +02:00
Kazuki Sakamoto 66dc68524d Merge remote-tracking branch 'vim/master' 2016-08-06 22:11:08 -07:00
Bram Moolenaar 3321e9d8a3 patch 7.4.2173
Problem:    Can't test help on MS-Windows.
Solution:   Skip the test.
2016-08-06 23:03:59 +02:00
Bram Moolenaar 472a0a880a patch 7.4.2172
Problem:    No test for "vim --help".
Solution:   Add a test.
2016-08-06 22:31:42 +02:00
Bram Moolenaar 00ff380295 patch 7.4.2171
Problem:    MS-Windows build fails.
Solution:   Add QueryPerformanceCounter().
2016-08-06 22:27:28 +02:00
Bram Moolenaar 8e97bd74b5 patch 7.4.2170
Problem:    Cannot get information about timers.
Solution:   Add timer_info().
2016-08-06 22:05:07 +02:00
Bram Moolenaar 446cce6d53 patch 7.4.2169
Problem:    Startup test gets stuck on MS-Windows.
Solution:   Use double quotes.
2016-08-06 21:37:27 +02:00
Bram Moolenaar 5b4a3767f6 patch 7.4.2168
Problem:    Not running the startup test on MS-Windows.
Solution:   Write vimcmd.
2016-08-06 20:36:34 +02:00
Bram Moolenaar c96a2f3b88 patch 7.4.2167
Problem:    Small build can't run tests.
Solution:   Don't try setting 'packpath'.
2016-08-06 19:45:31 +02:00
Bram Moolenaar 328604307b patch 7.4.2166
Problem:    Small build can't run startup test.
Solution:   Skip the test.
2016-08-06 19:24:23 +02:00
Bram Moolenaar 83b3c3d8a0 patch 7.4.2165
Problem:    Startup test fails on MS-Windows.
Solution:   Don't check output if RunVim() returns zero.
2016-08-06 19:16:43 +02:00
Bram Moolenaar 66459b7c98 patch 7.4.2164
Problem:    It is not possible to use plugins in an "after" directory to tune
            the behavior of a package.
Solution:   First load plugins from non-after directories, then packages and
            finally plugins in after directories.
            Reset 'loadplugins' before executing --cmd arguments.
2016-08-06 19:01:55 +02:00
Bram Moolenaar d76a0c15f8 patch 7.4.2163
Problem:    match() and related functions tested with old style test.
Solution:   Convert to new style test. (Hirohito Higashi)
2016-08-06 15:29:22 +02:00
Bram Moolenaar 7522f69821 patch 7.4.2162
Problem:    Result of getcompletion('', 'sign') depends on previous
            completion.
Solution:   Call set_context_in_sign_cmd(). (Dominique Pelle)
2016-08-06 14:12:50 +02:00
Kazuki Sakamoto c6b93c1711 Add GUI test in .travis.yml 2016-08-05 23:54:18 -07:00
Kazuki Sakamoto faacf32800 MacVim Snapshot 105
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.2161

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-08-05 22:59:23 -07:00
Kazuki Sakamoto 631fa281b4 Revert "MacVim Snapshot 105"
This reverts commit f852a0e9c2.
2016-08-05 22:58:52 -07:00
Kazuki Sakamoto a42ef3c074 Merge pull request #316 from macvim-dev/fix/channel
Fix channel in GUI
2016-08-05 22:19:51 -07:00
Kazuki Sakamoto 41132b4302 Fix channel in GUI
Use dispatch source instead of CFSocket with Runloop because it can't read socket in time at closing.
2016-08-05 21:51:54 -07:00
Kazuki Sakamoto 93c8f8246c Merge remote-tracking branch 'vim/master' 2016-08-05 21:01:51 -07:00
Bram Moolenaar 7ab6defcaf patch 7.4.2161
Problem:    Expression test fails without conceal feature.
Solution:   Only check "conceal" with the conceal feature.
2016-08-05 22:51:13 +02:00
Bram Moolenaar 7dc5e2e486 patch 7.4.2160
Problem:    setmatches() mixes up values. (Nikolai Pavlov)
Solution:   Save the string instead of reusing a shared buffer.
2016-08-05 22:22:06 +02:00
Bram Moolenaar 5971dab112 patch 7.4.2159
Problem:    Insufficient testing for cscope.
Solution:   Add more tests. (Dominique Pelle)
2016-08-05 21:25:29 +02:00
Bram Moolenaar b650b9878e patch 7.4.2158
Problem:    Result of getcompletion('', 'cscope') depends on previous
            completion. (Christian Brabandt)
Solution:   Call set_context_in_cscope_cmd().
2016-08-05 20:35:13 +02:00
Bram Moolenaar 46c4d4ac66 patch 7.4.2157
Problem:    Test_job_start_fails() is expected to report memory leaks, making
            it hard to see other leaks in test_partial.
Solution:   Move Test_job_start_fails() to a separate test file.
2016-08-05 19:31:57 +02:00
Kazuki Sakamoto c8a877b38d Merge remote-tracking branch 'vim/master' 2016-08-05 07:42:19 -07:00
Bram Moolenaar c90f2aedd0 patch 7.4.2156
Problem:    Compiler warning.
Solution:   Add type cast. (Ken Takata, Mike Williams)
2016-08-04 22:00:15 +02:00
Bram Moolenaar 9d5b876d45 patch 7.4.2155
Problem:    Quotes make GUI test fail on MS-Windows.
Solution:   Remove quotes, strip white space.
2016-08-04 21:21:13 +02:00
Bram Moolenaar fe9489233c patch 7.4.2154
Problem:    Test_communicate() fails sometimes.
Solution:   Add it to the flaky tests.
2016-08-04 21:11:32 +02:00
Bram Moolenaar 877e957798 patch 7.4.2153
Problem:    GUI test isn't testing much.
Solution:   Turn into a new style test.  Execute a shell command.
2016-08-04 20:05:50 +02:00
Kazuki Sakamoto f852a0e9c2 MacVim Snapshot 105
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.2152

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-08-03 21:42:25 -07:00
Kazuki Sakamoto b3281ddf34 Merge remote-tracking branch 'vim/master' 2016-08-03 21:25:31 -07:00
Bram Moolenaar ee695f787a patch 7.4.2152
Problem:    No proper translation of messages with a count.
Solution:   Use ngettext(). (Sergey Alyoshin)
2016-08-03 22:08:45 +02:00
Bram Moolenaar cf25fdb8f1 patch 7.4.2151
Problem:    Quickfix test fails on MS-Windows.
Solution:   Close the help window. (Christian Brabandt)
2016-08-03 21:04:53 +02:00
Bram Moolenaar 4c38d66d25 patch 7.4.2150
Problem:    Warning with MinGW 64. (John Marriott)
Solution:   Change return type. (Ken Takata)
2016-08-03 20:54:57 +02:00
Kazuki Sakamoto a1fea82f7b Merge remote-tracking branch 'vim/master' 2016-08-02 21:27:05 -07:00
Bram Moolenaar 7cba71d7e3 patch 7.4.2149
Problem:    If a test leaves a window open a following test may fail.
Solution:   Always close extra windows after running a test.
2016-08-02 23:04:49 +02:00
Bram Moolenaar edf634e0f1 patch 7.4.2148
Problem:    Not much testing for cscope.
Solution:   Add a test that uses the cscope program. (Christian Brabandt)
2016-08-02 23:01:40 +02:00
Bram Moolenaar abb71fbd39 patch 7.4.2147
Problem:    test_alot fails.
Solution:   Close window.
2016-08-02 22:51:42 +02:00
Bram Moolenaar 472472898a patch 7.4.2146
Problem:    Not enough testing for popup menu.  CTRL-E does not always work
            properly.
Solution:   Add more tests.  When using CTRL-E check if the popup menu is
            visible. (Christian Brabandt)
2016-08-02 22:36:02 +02:00
Bram Moolenaar 86f2cd5bc5 patch 7.4.2145
Problem:    Win32: Using CreateThread/ExitThread is not safe.
Solution:   Use _beginthreadex and return from the thread. (Ken Takata)
2016-08-02 21:55:17 +02:00
Bram Moolenaar 796aa9c804 patch 7.4.2144
Problem:    On MS-Windows quickix does not handle a line with 1023 bytes
            ending in CR-LF properly.
Solution:   Don't consider CR a line break. (Ken Takata)
2016-08-02 21:41:28 +02:00
Bram Moolenaar bc8801c931 Updated runtime files. 2016-08-02 21:04:33 +02:00
Kazuki Sakamoto 8bb6902421 Merge remote-tracking branch 'vim/master' 2016-08-01 20:32:22 -07:00
Bram Moolenaar bc7ce675b2 patch 7.4.2143
Problem:    A funccal is garbage collected while it can still be used.
Solution:   Set copyID in all referenced functions.  Do not list lambda
            functions with ":function".
2016-08-01 22:49:22 +02:00
Bram Moolenaar 8dd3a43d75 patch 7.4.2142
Problem:    Leaking memory when redefining a function.
Solution:   Don't increment the function reference count when it's found by
            name. Don't remove the wrong function from the hashtab.  More
            reference counting fixes.
2016-08-01 20:46:25 +02:00
Bram Moolenaar ba96e9af38 patch 7.4.2141
Problem:    Coverity reports bogus NULL check.
Solution:   When checking for a variable in the funccal scope don't pass the
            varname.
2016-08-01 17:10:20 +02:00
Bram Moolenaar acadbeabe1 patch 7.4.2140
Problem:    Tiny build fails.
Solution:   Add dummy typedefs.
2016-08-01 16:35:59 +02:00
Bram Moolenaar 0588d4f9d2 patch 7.4.2139
Problem:    :delfunction causes illegal memory access.
Solution:   Correct logic when deciding to free a function.
2016-08-01 16:29:47 +02:00
Bram Moolenaar 2d3d60a7d4 patch 7.4.2138
Problem:    Test 86 and 87 fail.
Solution:   Call func_ref() also for regular functions.
2016-08-01 16:27:23 +02:00
Bram Moolenaar 437bafe4c8 patch 7.4.2137
Problem:    Using function() with a name will find another function when it is
            redefined.
Solution:   Add funcref().  Refer to lambda using a partial.  Fix several
            reference counting issues.
2016-08-01 15:40:54 +02:00
Bram Moolenaar 5801644819 patch 7.4.2136
Problem:    Closure function fails.
Solution:   Don't reset uf_scoped when it points to another funccal.
2016-07-31 18:30:22 +02:00
Bram Moolenaar 89eaa4185e patch 7.4.2135
Problem:    Various tiny issues.
Solution:   Update comments, white space, etc.
2016-07-31 14:17:27 +02:00
Bram Moolenaar b54c3ff317 patch 7.4.2134
Problem:    No error for using function() badly.
Solution:   Check for passing wrong function name. (Ken Takata)
2016-07-31 14:11:58 +02:00
Kazuki Sakamoto 0e351c1779 Merge remote-tracking branch 'vim/master' 2016-07-30 20:25:43 -07:00
Kazuki Sakamoto 5cbe25f073 Merge pull request #314 from macvim-dev/revert-313-fix/feat_clipboard
Revert "Fix to define FEAT_CLIPBOARD"
2016-07-30 20:23:08 -07:00
Kazuki Sakamoto 1e033f5594 Revert "Fix to define FEAT_CLIPBOARD" 2016-07-30 20:22:48 -07:00
Bram Moolenaar fc1f2015e8 patch 7.4.2133
Problem:    Can't build with tiny features.
Solution:   Add #ifdef.
2016-07-30 23:18:47 +02:00
Bram Moolenaar 31440a1f2b patch 7.4.2132
Problem:    test_partial has memory leaks reported.
Solution:   Add a note about why this happens.
2016-07-30 23:14:28 +02:00
Bram Moolenaar 57e69ff2cc patch 7.4.2131
Problem:    More memory leaks when using partial, e.g. for "exit-cb".
Solution:   Don't copy the callback when using a partial.
2016-07-30 23:05:09 +02:00
Bram Moolenaar 623e263ffb patch 7.4.2130
Problem:    Pending timers cause false memory leak reports.
Solution:   Free all timers on exit.
2016-07-30 22:47:56 +02:00
Bram Moolenaar 3ab14355ed patch 7.4.2129
Problem:    Memory leak when using timer_start(). (Dominique Pelle)
Solution:   Don't copy the callback when using a partial.
2016-07-30 22:32:11 +02:00
Bram Moolenaar 1e2258297b patch 7.4.2128
Problem:    Memory leak when saving for undo fails.
Solution:   Free allocated memory. (Hirohito Higashi)
2016-07-30 21:48:59 +02:00
Bram Moolenaar 3bcfca3ab4 patch 7.4.2127
Problem:    The short form of ":noswapfile" is ":noswap" instead of ":now".
            (Kent Sibilev)
Solution:   Only require three characters.  Add a test for the short forms.
2016-07-30 19:39:29 +02:00
Bram Moolenaar 90d121fa36 patch 7.4.2126
Problem:    No tests for :diffget and :diffput
Solution:   Add tests.
2016-07-30 19:11:25 +02:00
Bram Moolenaar b20617b0b0 Add OSX build to Travis CI. (Christian Brabandt) 2016-07-30 17:41:49 +02:00
Bram Moolenaar a5c0cc1133 patch 7.4.2125
Problem:    Compiler warning for loss of data.
Solution:   Add a type cast. (Christian Brabandt)
2016-07-30 16:40:39 +02:00
Bram Moolenaar 623cf88f9c patch 7.4.2124
Problem:    diffmode test leaves files behind, breaking another test.
Solution:   Delete the files.
2016-07-30 16:36:01 +02:00
Bram Moolenaar 42093c0ec5 patch 7.4.2123
Problem:    No new style test for diff mode.
Solution:   Add a test.  Check that folds are in sync.
2016-07-30 16:16:54 +02:00
Bram Moolenaar b822cb0f93 patch 7.4.2122
Problem:    Mac: don't get +clipboard in huge build.
Solution:   Move #define down below including featureh.h
2016-07-30 14:12:23 +02:00
Kazuki Sakamoto 05c5a9977c Merge pull request #313 from macvim-dev/fix/feat_clipboard
Fix to define FEAT_CLIPBOARD
2016-07-29 22:02:00 -07:00
Kazuki Sakamoto 01f1fdeb67 Fix to define FEAT_CLIPBOARD 2016-07-29 22:01:14 -07:00
Kazuki Sakamoto 8eae3da210 Merge remote-tracking branch 'vim/master' 2016-07-29 20:54:43 -07:00
Bram Moolenaar 9532fe7fbe patch 7.4.2121
Problem:    No easy way to check if lambda and closure are supported.
Solution:   Add the +lambda feature.
2016-07-29 22:50:35 +02:00
Bram Moolenaar 10ce39a0d5 patch 7.4.2120
Problem:    User defined functions can't be a closure.
Solution:   Add the "closure" argument. Allow using :unlet on a bound
            variable. (Yasuhiro Matsumoto, Ken Takata)
2016-07-29 22:37:06 +02:00
Bram Moolenaar 1e96d9bf98 patch 7.4.2119
Problem:    Closures are not supported.
Solution:   Capture variables in lambdas from the outer scope. (Yasuhiro
            Matsumoto, Ken Takata)
2016-07-29 22:15:09 +02:00
Bram Moolenaar 83a2a80d6f patch 7.4.2118
Problem:    Mac: can't build with tiny features.
Solution:   Don't define FEAT_CLIPBOARD unconditionally. (Kazunobu Kuriyama)
2016-07-29 21:01:10 +02:00
Bram Moolenaar f2c4c39119 patch 7.4.2117
Problem:    Deleting an augroup that still has autocmds does not give a
            warning.  The next defined augroup takes its place.
Solution:   Give a warning and prevent the index being used for another group
            name.
2016-07-29 20:50:24 +02:00
Bram Moolenaar c73e4474b1 patch 7.4.2116
Problem:    The default vimrc for Windows is very conservative.
Solution:   Use the defaults.vim in the Windows installer.
2016-07-29 18:33:38 +02:00
Bram Moolenaar b9a46fec3e patch 7.4.2115
Problem:    Loading defaults.vim with -C argument.
Solution:   Don't load the defaults script with -C argument.  Test sourcing
            the defaults script.  Set 'display' to "truncate".
2016-07-29 18:13:42 +02:00
Bram Moolenaar d05b191b91 patch 7.4.2114
Problem:    Tiny build fails.
Solution:   Always include vim_time().
2016-07-29 17:03:54 +02:00
Bram Moolenaar 170b10b421 patch 7.4.2113
Problem:    Test for undo is flaky.
Solution:   Turn it into a new style test.  Use test_settime() to avoid
            flakyness.
2016-07-29 16:15:27 +02:00
Kazuki Sakamoto 05f67238e5 Merge remote-tracking branch 'vim/master' 2016-07-28 20:55:41 -07:00
Bram Moolenaar b56195ed00 patch 7.4.2112
Problem:    getcompletion(.., 'dir') returns a match with trailing "*" when
            there are no matches. (Chdiza)
Solution:   Return an empty list when there are no matches.  Add a trailing
            slash to directories. (Yegappan Lakshmanan)  Add tests for no
            matches. (closes #947)
2016-07-28 22:53:37 +02:00
Bram Moolenaar 471a897569 Update gitignore for new test binary. (Oyvind Holm, closes #954) 2016-07-28 22:36:37 +02:00
Bram Moolenaar 8c08b5b569 patch 7.4.2111
Problem:    Defaults are very conservative.
Solution:   Move settings from vimrc_example.vim to defaults.vim.  Load
            defaults.vim if no .vimrc was found.
2016-07-28 22:24:15 +02:00
Bram Moolenaar eac784eced patch 7.4.2110
Problem:    When there is an CmdUndefined autocmd then the error for a missing
            command is E464 instead of E492. (Manuel Ortega)
Solution:   Don't let the pointer be NULL.
2016-07-28 22:08:24 +02:00
Kazuki Sakamoto 5e73ac7ea1 Merge remote-tracking branch 'vim/master' 2016-07-27 21:28:53 -07:00
Bram Moolenaar ad9c2a08f0 patch 7.4.2109
Problem:    Setting 'display' to "lastline" is a drastic change, while
            omitting it results in lots of "@" lines.
Solution:   Add "truncate" to show "@@@" for a truncated line.
2016-07-27 23:26:04 +02:00
Bram Moolenaar adfc5c2f9c patch 7.4.2108
Problem:    Netbeans test is flaky.
Solution:   Wait for the cursor to be positioned.
2016-07-27 22:56:48 +02:00
Bram Moolenaar d955a0971c patch 7.4.2107
Problem:    Misplaced equal sign.
Solution:   Remove it.
2016-07-26 22:14:09 +02:00
Bram Moolenaar ac77aec4da patch 7.4.2106
Problem:    Clang warns about missing field in initializer.
Solution:   Define COMMA and use it.  (Kazunobu Kuriyama)
2016-07-26 22:02:54 +02:00
Bram Moolenaar eec2981bbe patch 7.4.2105
Problem:    Configure reports default features to be "normal" while it is
            "huge".
Solution:   Change the default text.
2016-07-26 21:27:36 +02:00
Bram Moolenaar 97baee80f0 patch 7.4.2104
Problem:    Code duplication when unreferencing a function.
Solution:   De-duplicate.
2016-07-26 20:46:08 +02:00
Bram Moolenaar e99e84497b patch 7.4.2103
Problem:    Can't have "augroup END" right after ":au!".
Solution:   Check for the bar character before the command argument.
2016-07-26 20:43:40 +02:00
Kazuki Sakamoto 8a4e0240ae Merge remote-tracking branch 'vim/master' 2016-07-25 19:27:28 -07:00
Bram Moolenaar 45a249513f patch 7.4.2102
Problem:    Tiny build with GUI fails.
Solution:   Revert one FOR_ALL_ change.
2016-07-24 22:25:15 +02:00
Bram Moolenaar 2932359000 patch 7.4.2101
Problem:    Looping over windows, buffers and tab pages is inconsistant.
Solution:   Use FOR_ALL_ macros everywhere. (Yegappan Lakshmanan)
2016-07-24 22:04:11 +02:00
Bram Moolenaar 6835dc61ae patch 7.4.2100
Problem:    "cgn" and "dgn" do not work correctly with a single character
            match and the replacement includes the searched pattern. (John
            Beckett)
Solution:   If the match is found in the wrong column try in the next column.
            Turn the test into new style. (Christian Brabandt)
2016-07-24 17:33:05 +02:00
Bram Moolenaar 73ac0c4281 patch 7.4.2099
Problem:    When a keymap is active only "(lang)" is displayed. (Ilya
            Dogolazky)
Solution:   Show the keymap name. (Dmitri Vereshchagin, closes #933)
2016-07-24 16:17:59 +02:00
Bram Moolenaar 6f1d9a096b Updated runtime files. 2016-07-24 14:12:38 +02:00
Kazuki Sakamoto 9d68878f5f Merge remote-tracking branch 'vim/master' 2016-07-23 20:46:50 -07:00
Bram Moolenaar 00b24be454 patch 7.4.2098
Problem:    Text object tests are old style.
Solution:   Turn them into new style tests. (James McCoy, closes #941)
2016-07-23 22:04:47 +02:00
Bram Moolenaar d4f31dc454 patch 7.4.2097
Problem:    Warning from 64 bit compiler.
Solution:   use size_t instead of int. (Mike Williams)
2016-07-23 17:28:22 +02:00
Bram Moolenaar b49edc11a1 patch 7.4.2096
Problem:    Lambda functions show up with completion.
Solution:   Don't show lambda functions. (Ken Takata)
2016-07-23 15:47:34 +02:00
Bram Moolenaar 61c04493b0 patch 7.4.2095
Problem:    Man test fails when run with the GUI.
Solution:   Adjust for different behavior of GUI.  Add assert_inrange().
2016-07-23 15:35:35 +02:00
Bram Moolenaar 4658228262 patch 7.4.2094
Problem:    The color allocation in X11 is overly complicated.
Solution:   Remove find_closest_color(), XAllocColor() already does this.
            (Kazunobu Kuriyama)
2016-07-23 14:35:12 +02:00
Bram Moolenaar a58c58b7e1 patch 7.4.2093
Problem:    Netbeans test fails once in a while.  Leaving log file behind.
Solution:   Add it to the list of flaky tests.  Disable logfile.
2016-07-23 14:01:15 +02:00
Kazuki Sakamoto 436394b427 Merge remote-tracking branch 'vim/master' 2016-07-22 14:20:27 -07:00
Bram Moolenaar 870b749ce1 patch 7.4.2092
Problem:    GTK 3 build fails with older GTK version.
Solution:   Check the pango version. (Kazunobu Kuriyama)
2016-07-22 22:26:52 +02:00
Bram Moolenaar 2e45d21c81 patch 7.4.2091
Problem:    Coverity reports a resource leak when out of memory.
Solution:   Close the file before returning.
2016-07-22 22:12:38 +02:00
Bram Moolenaar df48fb456f patch 7.4.2090
Problem:    Using submatch() in a lambda passed to substitute() is verbose.
Solution:   Use a static list and pass it as an optional argument to the
            function.  Fix memory leak.
2016-07-22 21:50:18 +02:00
Kazuki Sakamoto e259374998 Merge remote-tracking branch 'vim/master' 2016-07-21 18:46:49 -07:00
Bram Moolenaar 36edf0685c patch 7.4.2089
Problem:    Color handling of X11 GUIs is too complicated.
Solution:   Simplify the code.  Use RGBA where appropriate. (Kazunobu
            Kuriyama)
2016-07-21 22:10:12 +02:00
Bram Moolenaar f36213597d patch 7.4.2088
Problem:    Keymap test fails with normal features.
Solution:   Bail out if the keymap feature is not supported.
2016-07-21 22:03:02 +02:00
Bram Moolenaar e25bc5abb4 patch 7.4.2087
Problem:    Digraph code test coverage is still low.
Solution:   Add more tests. (Christian Brabandt)
2016-07-21 21:23:38 +02:00
Bram Moolenaar ac105ed3c4 patch 7.4.2086
Problem:    Using the system default encoding makes tests unpredictable.
Solution:   Always use utf-8 or latin1 in the new style tests.  Remove setting
            encoding and scriptencoding where it is not needed.
2016-07-21 20:33:32 +02:00
Bram Moolenaar dfd63e30d1 patch 7.4.2085
Problem:    Digraph tests fails on some systems.
Solution:   Run it separately and set 'encoding' early.
2016-07-21 10:11:03 +02:00
Bram Moolenaar 6008433381 patch 7.4.2084
Problem:    New digraph test makes testing hang.
Solution:   Don't set "nocp".
2016-07-20 22:23:49 +02:00
Bram Moolenaar 19df5cc04d patch 7.4.2083
Problem:    Coverity complains about not restoring a value.
Solution:   Restore the value, although it's not really needed.  Change return
            to jump to cleanup, might leak memory.
2016-07-20 22:11:06 +02:00
Bram Moolenaar 397eadbe25 patch 7.4.2082
Problem:    Not much test coverage for digraphs.
Solution:   Add a new style digraph test. (Christian Brabandt)
2016-07-20 22:01:12 +02:00
Bram Moolenaar c1542744e7 patch 7.4.2081
Problem:    Line numbers in the error list are not always adjusted.
Solution:   Set b_has_qf_entry properly. (Yegappan Lakshmanan)
2016-07-20 21:44:37 +02:00
Kazuki Sakamoto 6736c31ad5 Merge remote-tracking branch 'vim/master' 2016-07-19 20:53:39 -07:00
Bram Moolenaar b869c0da31 patch 7.4.2080
Problem:    When using PERROR() on some systems assert_fails() does not see
            the error.
Solution:   Make PERROR() always report the error.
2016-07-20 00:10:51 +02:00
Bram Moolenaar 53bdec2ac9 patch 7.4.2079
Problem:    Netbeans test fails on non-Unix systems.
Solution:   Only do the permission check on Unix systems.
2016-07-20 00:03:18 +02:00
Bram Moolenaar ca8942c6e3 patch 7.4.2078
Problem:    Running checks in po diretory fails.
Solution:   Add colors used in syntax.c to the builtiin color table.
2016-07-19 23:36:31 +02:00
Bram Moolenaar 12c11d5530 patch 7.4.2077
Problem:    Cannot update 'tabline' when a tab was closed.
Solution:   Add the TabClosed autocmd event. (partly by Felipe Morales)
2016-07-19 23:13:03 +02:00
Bram Moolenaar 4f0383bc3f patch 7.4.2076
Problem:    Syntax error when dict has '>' key.
Solution:   Check for endchar. (Ken Takata)
2016-07-19 22:43:11 +02:00
Bram Moolenaar c917da4b3e patch 7.4.2075
Problem:    No autocommand event to initialize a window or tab page.
Solution:   Add WinNew and TabNew events. (partly by Felipe Morales)
2016-07-19 22:31:36 +02:00
Bram Moolenaar 0a0f641b98 patch 7.4.2074
Problem:    One more place using a dummy variable.
Solution:   Use offsetof(). (Ken Takata)
2016-07-19 21:30:13 +02:00
Bram Moolenaar 68015bbd84 patch 7.4.2073
Problem:    rgb.txt is read for every color name.
Solution:   Load rgb.txt once. (Christian Brabandt)  Add a test.
2016-07-19 21:05:21 +02:00
Bram Moolenaar 72ab729c3d patch 7.4.2072
Problem:    substitute() does not support a Funcref argument.
Solution:   Support a Funcref like it supports  a string starting with "\=".
2016-07-19 19:10:51 +02:00
Bram Moolenaar f562e72df7 patch 7.4.2071
Problem:    The return value of type() is difficult to use.
Solution:   Define v:t_ constants. (Ken Takata)
2016-07-19 17:25:25 +02:00
Bram Moolenaar 6cfdb2a3ba patch 7.4.2070
Problem:    Missing change to include file.
Solution:   Include the spell header file.
2016-07-19 17:01:31 +02:00
Bram Moolenaar 9ccfebddc3 patch 7.4.2069
Problem:    spell.c is too big.
Solution:   Split it in spell file handling and spell checking.
2016-07-19 16:39:08 +02:00
Bram Moolenaar b9644433d2 patch 7.4.2068
Problem:    Not all arguments of trunc_string() are tested.  Memory access
            error when running the message tests.
Solution:   Add another test case. (Yegappan Lakshmanan)  Make it easy to run
            unittests with valgrind.  Fix the access error.
2016-07-19 12:33:44 +02:00
Kazuki Sakamoto e5d872285e Merge pull request #308 from steakknife/fix_256__defer_nsalerts
Defer alerts until the window is shown
2016-07-18 21:38:43 -07:00
Barry Allard d002b40633 seems to fix #256 2016-07-18 20:16:29 -07:00
Kazuki Sakamoto c9b378eeb3 Merge pull request #309 from macvim-dev/fix/evalfunc
Re-merge evalfunc.c
2016-07-18 15:33:27 -07:00
Kazuki Sakamoto a70eb573ff Re-merge evalfunc.c 2016-07-18 15:32:47 -07:00
Kazuki Sakamoto c8da80e59a Merge remote-tracking branch 'vim/master' 2016-07-18 15:32:33 -07:00
Bram Moolenaar 16ec3c9be3 patch 7.4.2067
Problem:    Compiler warning for char/char_u conversion. (Tony Mechelynck)
            Inefficient code.
Solution:   Use more lines to fill with spaces. (Nikolai Pavlov) Add type cast.
2016-07-18 22:22:39 +02:00
Kazuki Sakamoto 800be6789a Merge remote-tracking branch 'vim/master' 2016-07-17 20:59:09 -07:00
Bram Moolenaar c1fb763184 patch 7.4.2066
Problem:    getcompletion() not well tested.
Solution:   Add more testing.
2016-07-17 23:34:21 +02:00
Bram Moolenaar 69aa099641 patch 7.4.2065
Problem:    Compiler warns for uninitialzed variable. (John Marriott)
Solution:   Set lnum to the right value.
2016-07-17 22:33:53 +02:00
Bram Moolenaar 4f5c5f2980 patch 7.4.2064
Problem:    Coverity warns for possible buffer overflow.
Solution:   Use vim_strcat() instead of strcat().
2016-07-17 22:25:36 +02:00
Bram Moolenaar 73dad1e64c patch 7.4.2063
Problem:    eval.c is still too big.
Solution:   Split off internal functions to evalfunc.c.
2016-07-17 22:13:49 +02:00
Bram Moolenaar 840268400d patch 7.4.2062
Problem:    Using dummy variable to compute struct member offset.
Solution:   Use offsetof().
2016-07-17 20:37:43 +02:00
Bram Moolenaar e87e6dddc2 patch 7.4.2061
Problem:    qf_init_ext() is too big.
Solution:   Move code to qf_parse_line() (Yegappan Lakshmanan)
2016-07-17 19:25:04 +02:00
Bram Moolenaar a9093fe094 patch 7.4.2060
Problem:    Wrong file name.
Solution:   Fix typo.
2016-07-17 19:02:16 +02:00
Bram Moolenaar 6583c44857 patch 7.4.2059
Problem:    Non-Unix builds fail.
Solution:   Update Makefiles for new files.
2016-07-17 18:41:47 +02:00
Kazuki Sakamoto 463f72af9d Merge remote-tracking branch 'vim/master' 2016-07-17 09:31:26 -07:00
Bram Moolenaar a9b579f3d7 patch 7.4.2058
Problem:    eval.c is too big.
Solution:   Move user functions to userfunc.c
2016-07-17 18:29:19 +02:00
Bram Moolenaar da861d631d patch 7.4.2057
Problem:    eval.c is too big.
Solution:   Move List functions to list.c
2016-07-17 15:46:27 +02:00
Bram Moolenaar 1abc52c159 patch 7.4.2056
Problem:    Build fails.
Solution:   Add missing changes.
2016-07-17 15:06:51 +02:00
Bram Moolenaar cd52459c38 patch 7.4.2055
Problem:    eval.c is too big.
Solution:   Move Dictionary functions to dict.c.
2016-07-17 14:57:05 +02:00
Bram Moolenaar 42ebd06642 Update runtime files. 2016-07-17 13:35:14 +02:00
Kazuki Sakamoto 4064af0119 Merge pull request #307 from macvim-dev/fix-splitscreen-pixel-gap
Fix white line in tiled fullscreen windows.
2016-07-16 20:49:15 -07:00
Josh Petrie aa1cb39431 Ensure that the tab line is hidden and restored correct when entering and leaving split screen. 2016-07-16 15:26:43 -07:00
Bram Moolenaar 2cb70a2744 Put building with interfaces on the right target. 2016-07-16 21:58:01 +02:00
Bram Moolenaar b2b050ab16 patch 7.4.2054
Problem:    Wrong part of #ifdef removed.
Solution:   Use the right part. (Hirohito Higashi)
2016-07-16 21:52:46 +02:00
Bram Moolenaar 87776a1ac1 Correct build condition. 2016-07-16 21:37:49 +02:00
Bram Moolenaar 8de7465d77 Add missing "then". 2016-07-16 21:24:36 +02:00
Bram Moolenaar 1a9f947cde Add a separate build target for the unittests. Hopefully the coverage will be merged then. 2016-07-16 21:18:34 +02:00
Bram Moolenaar 8211fcbdc9 Run unittests before scripttests. Hopefully does not mess up coverage. 2016-07-16 20:55:12 +02:00
Bram Moolenaar e21d62435e patch 7.4.2053
Problem:    Can't run scripttests in the top directory.
Solution:   Add targets to the top Makefile.
2016-07-16 20:43:14 +02:00
Bram Moolenaar c3e539fa70 patch 7.4.2052
Problem:    Coverage report is messed up by the unittests.
Solution:   Add a separate test target for script tests.  Use that when
            collecting coverage information.
2016-07-16 20:37:56 +02:00
Bram Moolenaar 502ae4ba63 patch 7.4.2051
Problem:    No proper testing of trunc_string().
Solution:   Add a unittest for message.c.
2016-07-16 19:50:13 +02:00
Josh Petrie 6a8af0469d Merge pull request #306 from macvim-dev/fix-tabbar-style-spelling
Correct the spelling of the "unified" tab bar style.
2016-07-16 10:00:35 -07:00
Bram Moolenaar 015102e91e patch 7.4.2050
Problem:    When using ":vimgrep" may end up with duplicate buffers.
Solution:   When adding an error list entry pass the buffer number if possible.
2016-07-16 18:24:56 +02:00
Josh Petrie 2ce308427a Correct the spelling of the "unified" tab bar style. 2016-07-16 09:22:41 -07:00
Bram Moolenaar f6acffbe83 patch 7.4.2049
Problem:    There is no way to get a list of the error lists.
Solution:   Add ":chistory" and ":lhistory".
2016-07-16 16:54:24 +02:00
Bram Moolenaar a06ecab7a5 patch 7.4.2048
Problem:    There is still code and help for unsupported systems.
Solution:   Remove the code and text. (Hirohito Higashi)
2016-07-16 14:47:36 +02:00
Bram Moolenaar bfafb4c4a0 patch 7.4.2047
Problem:    Compiler warning for initializing a struct.
Solution:   Initialize in another way. (Anton Lindqvist)
2016-07-16 14:20:45 +02:00
Bram Moolenaar 269f595f9e Updated runtime files. 2016-07-15 22:54:41 +02:00
Bram Moolenaar e0d3797664 patch 7.4.2046
Problem:    The qf_init_ext() function is too big.
Solution:   Refactor it. (Yegappan Lakshmanan)
2016-07-15 22:36:01 +02:00
Bram Moolenaar 5ef2e76284 patch 7.4.2045
Problem:    Memory leak when using a function callback.
Solution:   Don't save the function name when it's in the partial.
2016-07-15 21:29:35 +02:00
Bram Moolenaar 069c1e7fa9 patch 7.4.2044
Problem:    filter() and map() either require a string or defining a function.
Solution:   Support lambda, a short way to define a function that evaluates an
            expression. (Yasuhiro Matsumoto, Ken Takata)
2016-07-15 21:25:08 +02:00
Bram Moolenaar 93431df9eb patch 7.4.2043
Problem:    setbuvfar() causes a screen redraw.
Solution:   Only use aucmd_prepbuf() for options.
2016-07-15 20:14:44 +02:00
Bram Moolenaar fdadad994a patch 7.4.2042
Problem:    GTK: display updating is not done properly and can be slow.
Solution:   Use gdk_display_flush() instead of gdk_display_sync(). Don't call
            gdk_window_process_updates().  (Kazunobu Kuriyama)
2016-07-15 17:49:58 +02:00
Bram Moolenaar 603d657219 patch 7.4.2041
Problem:    Netbeans file authentication not tested.
Solution:   Add a test.
2016-07-15 17:41:56 +02:00
Bram Moolenaar a6aa78a3e3 patch 7.4.2040
Problem:    New files missing from distribution.
Solution:   Add new test scripts.
2016-07-15 17:11:37 +02:00
Bram Moolenaar 321efdd77a patch 7.4.2039
Problem:    The Netbeans integration is not tested.
Solution:   Add a first Netbeans test.
2016-07-15 17:09:11 +02:00
Bram Moolenaar 9280e3f95d patch 7.4.2038
Problem:    Small build still fails.
Solution:   Adjust more #ifdefs.
2016-07-14 23:03:19 +02:00
Bram Moolenaar 7399895520 patch 7.4.2037
Problem:    Small build fails.
Solution:   Adjust #ifdefs.
2016-07-14 22:34:34 +02:00
Bram Moolenaar 480778b805 patch 7.4.2036
Problem:    Looking up a buffer by number is slow if there are many.
Solution:   Use a hashtab.
2016-07-14 22:09:39 +02:00
Bram Moolenaar da4127794a patch 7.4.2035
Problem:    On Solaris with ZFS the ACL may get removed.
Solution:   Always restore the ACL for Solaris ZFS. (Danek Duvall)
2016-07-14 20:37:07 +02:00
Bram Moolenaar f62e797ffa patch 7.4.2034
Problem:    Build fails with some version of MinGW. (illusorypan)
Solution:   Recognize mingw32. (Ken Takata, closes #921)
2016-07-14 20:25:03 +02:00
Bram Moolenaar 6d20e17544 patch 7.4.2033
Problem:    'cscopequickfix' option does not accept new value "a".
Solution:   Adjust list of command characters. (Ken Takata)
2016-07-13 22:44:12 +02:00
Bram Moolenaar 3e946fdc7b patch 7.4.2032
Problem:    Build fails with 64 bit MinGW. (Axel Bender)
Solution:   Handle dash vs. underscore. (Ken Takata, Hirohito Higashi)
2016-07-13 20:54:43 +02:00
Kazuki Sakamoto 3e1de2e0b2 Merge remote-tracking branch 'vim/master' 2016-07-12 20:33:29 -07:00
Bram Moolenaar 89b10421ca patch 7.4.2031
Problem:    The list_lbr_utf8 test fails if ~/.vim/syntax/c.vim sets
            'textwidth' to a non-zero value. (Oyvind A. Holm)
Solution:   Add a setup.vim file that sets 'runtimepath' and $HOME to a safe
            value. (partly by Christian Brabandt, closes #912)
2016-07-12 22:51:22 +02:00
Bram Moolenaar e048539195 patch 7.4.2030
Problem:    ARCH must be set properly when using MinGW.
Solution:   Detect the default value of ARCH from the current compiler. (Ken
            Takata)
2016-07-12 21:17:03 +02:00
Bram Moolenaar 38ee6b041e patch 7.4.2029
Problem:    printf() does not work with 64 bit numbers.
Solution:   use the "L" length modifier. (Ken Takata)
2016-07-12 21:11:33 +02:00
Kazuki Sakamoto 4f2707d424 Merge remote-tracking branch 'vim/master' 2016-07-11 23:08:24 -07:00
Bram Moolenaar 5498a41f5a patch 7.4.2028
Problem:    cppcheck warns for using index before limits check.
Solution:   Swap the expressions. (Dominique Pelle)
2016-07-11 23:19:05 +02:00
Bram Moolenaar 4c06815c44 patch 7.4.2027
Problem:    Can't build with +eval but without +menu.
Solution:   Add #ifdef. (John Marriott)
2016-07-11 23:15:25 +02:00
Bram Moolenaar 1436d8d51c patch 7.4.2026
Problem:    Reference counting for callbacks isn't right.
Solution:   Add free_callback(). (Ken Takata)  Fix reference count.
2016-07-11 22:41:15 +02:00
Kazuki Sakamoto ead07edb19 Merge remote-tracking branch 'vim/master' 2016-07-10 23:04:52 -07:00
Bram Moolenaar da3a77d9ec patch 7.4.2025
Problem:    The cursor blinking stops or is irregular when receiving date over
            a channel and writing it in a buffer, and when updating the status
            line. (Ramel Eshed)
Solution:   Make it a bit better by flushing GUI output.  Don't redraw the
            cursor after updating the screen if the blink state is off.
2016-07-10 23:16:09 +02:00
Bram Moolenaar 7c0a2f367f patch 7.4.2024
Problem:    More buf_valid() calls can be optimized.
Solution:   Use bufref_valid() instead.
2016-07-10 22:11:16 +02:00
Bram Moolenaar ea3f2e7be4 patch 7.4.2023
Problem:    buflist_findname_stat() may find a dummy buffer.
Solution:   Set the BF_DUMMY flag after loading a dummy buffer.  Start
            finding buffers from the end of the list.
2016-07-10 20:27:32 +02:00
Bram Moolenaar 25065ec375 patch 7.4.2022
Problem:    Warnings from 64 bit compiler.
Solution:   Add type casts. (Mike Williams)
2016-07-10 19:22:53 +02:00
Bram Moolenaar 19ff9bf454 patch 7.4.2021
Problem:    Still too many buf_valid() calls.
Solution:   Make au_new_curbuf a bufref.  Use bufref_valid() in more places.
2016-07-10 19:03:57 +02:00
Bram Moolenaar 453f37dbfd patch 7.4.2020
Problem:    Can't build without +autocmd feature.
Solution:   Adjust #ifdefs.
2016-07-10 18:33:59 +02:00
Bram Moolenaar c4a927ca8d patch 7.4.2019
Problem:    When ignoring case utf_fold() may consume a lot of time.
Solution:   Optimize for ASCII.
2016-07-10 18:24:27 +02:00
Bram Moolenaar b25f9a97e9 patch 7.4.2018
Problem:    buf_valid() can be slow when there are many buffers.
Solution:   Add bufref_valid(), only go through the buffer list when a buffer
            was freed.
2016-07-10 18:21:50 +02:00
Bram Moolenaar 8240433f48 patch 7.4.2017
Problem:    When there are many errors adding them to the quickfix list takes
            a long time.
Solution:   Add BLN_NOOPT.  Don't call buf_valid() in buf_copy_options().
            Remember the last file name used.  When going through the buffer
            list start from the end of the list.  Only call buf_valid() when
            autocommands were executed.
2016-07-10 17:00:38 +02:00
Bram Moolenaar 2bc127f940 patch 7.4.2016
Problem:    Warning from MinGW about _WIN32_WINNT redefined. (John Marriott)
Solution:   First undefine it. (Ken Takata)
2016-07-10 13:57:40 +02:00
Kazuki Sakamoto 6ff572c586 Merge remote-tracking branch 'vim/master' 2016-07-09 21:25:37 -07:00
Bram Moolenaar 5c71994f4e patch 7.4.2015
Problem:    When a file gets a name when writing it 'acd' is not effective.
            (Dan Church)
Solution:   Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes
            #777, closes #803)  Add test_autochdir() to enable 'acd' before
            "starting" is reset.
2016-07-09 23:40:45 +02:00
Bram Moolenaar 32b808a4bd patch 7.4.2014
Problem:    Using "noinsert" in 'completeopt' does not insert match.
Solution:   Set compl_enter_selects. (Shougo, closes #875)
2016-07-09 21:57:20 +02:00
Bram Moolenaar 67081e5061 patch 7.4.2013
Problem:    Using "noinsert" in 'completeopt' breaks redo.
Solution:   Set compl_curr_match. (Shougo, closes #874)
2016-07-09 21:49:03 +02:00
Bram Moolenaar 063b9d15ab Updated runtime files. 2016-07-09 20:21:48 +02:00
Bram Moolenaar 0d3e24be56 patch 7.4.2012
Problem:    Test for getcompletion() does not pass on all systems.
Solution:   Only test what is supported.
2016-07-09 19:20:59 +02:00
Bram Moolenaar aa4d73235b patch 7.4.2011
Problem:    It is not easy to get a list of command arguments.
Solution:   Add getcompletion(). (Yegappan Lakshmanan)
2016-07-09 18:50:29 +02:00
Bram Moolenaar 537ef08408 patch 7.4.2010
Problem:    There is a :cbottom command but no :lbottom command.
Solution:   Add :lbottom. (Yegappan Lakshmanan)
2016-07-09 17:56:19 +02:00
Bram Moolenaar ed59aa60d3 patch 7.4.2009
Problem:    Messages test fails.
Solution:   Don't set redir_execute before returning.
2016-07-09 17:41:12 +02:00
Bram Moolenaar 79815f1ec7 patch 7.4.2008
Problem:    evalcmd() has a confusing name.
Solution:   Rename to execute().  Make silent optional.  Support a list of
            commands.
2016-07-09 17:07:29 +02:00
Bram Moolenaar fc4ad61607 patch 7.4.2007
Problem:    Running the tests leaves a viminfo file behind.
Solution:   Make the viminfo option empty.
2016-07-09 15:38:32 +02:00
Bram Moolenaar 30445cb6e9 patch 7.4.2006
Problem:    Crash when using tabnext in BufUnload autocmd. (Norio Takagi)
Solution:   First check that the current buffer is the right one. (Hirohito
            Higashi)
2016-07-09 15:21:02 +02:00
Bram Moolenaar ee1deb4a00 patch 7.4.2005
Problem:    After using evalcmd() message output is in the wrong position.
            (Christian Brabandt)
Solution:   Reset msg_col.
2016-07-08 23:06:21 +02:00
Bram Moolenaar 65549bdef5 patch 7.4.2004
Problem:    GUI: cursor displayed in the wrong position.
Solution:   Correct screen_cur_col and screen_cur_row.
2016-07-08 22:52:37 +02:00
Bram Moolenaar 144445d15f patch 7.4.2003
Problem:    Still cursor flickering when a callback updates the screen. (David
            Samvelyan)
Solution:   Put the cursor in the right position after updating the screen.
2016-07-08 21:41:54 +02:00
Bram Moolenaar a06ec8f345 patch 7.4.2002
Problem:    Crash when passing number to filter() or map().
Solution:   Convert to a string. (Ozaki Kiichi)
2016-07-08 20:11:07 +02:00
Bram Moolenaar ba768495c2 patch 7.4.2001
Problem:    Tiny build fails. (Tony Mechelynck)
Solution:   Add #ifdef.
2016-07-08 15:32:54 +02:00
Bram Moolenaar 245a7cb6d3 patch 7.4.2000
Problem:    Evalcmd test fails.
Solution:   Add missing piece.
2016-07-08 10:53:12 +02:00
Kazuki Sakamoto efbf09da2f Merge pull request #301 from macvim-dev/fix/gui_mch_is_blink_off
gui_mch_is_blink_off
2016-07-07 22:03:35 -07:00
Kazuki Sakamoto d8ecb73ed1 gui_mch_is_blink_off 2016-07-07 22:01:45 -07:00
Kazuki Sakamoto ea0f3f63c2 Merge remote-tracking branch 'vim/master' 2016-07-07 20:55:46 -07:00
Bram Moolenaar bc5d6dd1dd patch 7.4.1999
Problem:    evalcmd() doesn't work recursively.
Solution:   Use redir_evalcmd instead of redir_vname.
2016-07-07 23:04:18 +02:00
Bram Moolenaar bf2cc5f36d patch 7.4.1998
Problem:    When writing buffer lines to a job there is no NL to NUL
            conversion.
Solution:   Make it work symmetrical with writing lines from a job into a
            buffer.
2016-07-07 20:45:06 +02:00
Bram Moolenaar dcb1700186 patch 7.4.1997
Problem:    Cannot easily scroll the quickfix window.
Solution:   Add ":cbottom".
2016-07-07 18:58:59 +02:00
Bram Moolenaar 1e5e1231ac patch 7.4.1996
Problem:    Capturing the output of a command takes a few commands.
Solution:   Add evalcmd().
2016-07-07 17:33:02 +02:00
Bram Moolenaar 9d5d3c9c44 patch 7.4.1995
Problem:    GUI: cursor drawn in wrong place if a timer callback causes a
            screen update. (David Samvelyan)
Solution:   Also redraw the cursor when it's blinking and on.
2016-07-07 16:43:02 +02:00
Bram Moolenaar 05e418d436 patch 7.4.1994
Problem:    True-false test fails.
Solution:   Filter the dict to only keep the value that matters.
2016-07-07 16:35:16 +02:00
Bram Moolenaar 6bb450145e patch 7.4.1993
Problem:    Not all TRUE and FALSE arguments are tested.
Solution:   Add a few more tests.
2016-07-07 15:11:19 +02:00
Bram Moolenaar e381d3d5e0 patch 7.4.1992
Problem:    Values for true and false can be confusing.
Solution:   Update the documentation.  Add a test.  Make v:true evaluate to
            TRUE for a non-zero-arg.
2016-07-07 14:50:41 +02:00
Bram Moolenaar 00efded106 patch 7.4.1991
Problem:    glob() does not add a symbolic link when there are no wildcards.
Solution:   Remove the call to mch_getperm().
2016-07-07 14:29:10 +02:00
Kazuki Sakamoto 414a928a87 Merge remote-tracking branch 'vim/master' 2016-07-05 20:36:36 -07:00
Bram Moolenaar 80632db65e patch 7.4.1990
Problem:    Cscope items are not sorted.
Solution:   Put the new "a" command first. (Ken Takata)
2016-07-05 22:28:40 +02:00
Kazuki Sakamoto 2e30357116 Merge remote-tracking branch 'vim/master' 2016-07-04 20:24:47 -07:00
Bram Moolenaar b33c7eb5b8 patch 7.4.1989
Problem:    filter() and map() only accept a string argument.
Solution:   Implement using a Funcref argument (Yasuhiro Matsumoto, Ken
            Takata)
2016-07-04 22:29:49 +02:00
Bram Moolenaar ab9c89b68d patch 7.4.1988
Problem:    When updating viminfo with file marks there is no time order.
Solution:   Remember the time when a buffer was last used, store marks for
            the most recently used buffers.
2016-07-03 17:47:26 +02:00
Bram Moolenaar dec85cf750 patch 7.4.1987
Problem:    When copying unrecognized lines for viminfo, end up with useless
            continuation lines.
Solution:   Skip continuation lines.
2016-07-02 22:33:46 +02:00
Bram Moolenaar fef524bbff patch 7.4.1986
Problem:    Compiler warns for loss of data.
Solution:   Use size_t instead of int. (Christian Brabandt)
2016-07-02 22:07:22 +02:00
Bram Moolenaar 3b98b83001 patch 7.4.1985
Problem:    Missing changes in VMS build file.
Solution:   Use the right file name.
2016-07-02 21:45:17 +02:00
Bram Moolenaar e18dbe865d Updated runtime files. 2016-07-02 21:42:23 +02:00
Bram Moolenaar 0fcc7c6dd1 patch 7.4.1984
Problem:    Not all quickfix features are tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan)
2016-07-02 21:22:52 +02:00
Bram Moolenaar 75464dc434 patch 7.4.1983
Problem:    farsi.c and arabic.c are included in a strange way.
Solution:   Build them like other files.
2016-07-02 20:27:50 +02:00
Bram Moolenaar 951fa1819a patch 7.4.1982
Problem:    Viminfo file contains duplicate change marks.
Solution:   Drop duplicate marks.
2016-07-02 19:20:06 +02:00
Bram Moolenaar ee2615af64 patch 7.4.1981
Problem:    No testing for Farsi code.
Solution:   Add a minimal test.  Clean up Farsi code.
2016-07-02 18:25:34 +02:00
Bram Moolenaar 361c8f0e51 patch 7.4.1980
Problem:    'errorformat' is parsed for every call to ":caddexpr".  Can't add
            to two location lists asynchronously.
Solution:   Keep the previously parsed data when appropriate. (mostly by
            Yegappan Lakshmanan)
2016-07-02 15:41:47 +02:00
Bram Moolenaar 2acfbed9db patch 7.4.1979
Problem:    Getting value of binary option is wrong. (Kent Sibilev)
Solution:   Fix type cast.  Add a test.
2016-07-01 23:14:02 +02:00
Kazuki Sakamoto 94249acf82 Merge remote-tracking branch 'vim/master' 2016-07-01 13:58:30 -07:00
Bram Moolenaar c5af40ae64 patch 7.4.1978
Problem:    Large file test does not delete its output.
Solution:   Delete the output. Check size properly when possible. (Ken Takata)
2016-07-01 21:49:06 +02:00
Bram Moolenaar bde9810d61 patch 7.4.1977
Problem:    With 64 bit changes don't need three calls to sprintf().
Solution:   Simplify the code, use vim_snprintf(). (Ken Takata)
2016-07-01 20:03:42 +02:00
Bram Moolenaar 22fcfad292 patch 7.4.1976
Problem:    Number variables are not 64 bits while they could be.
Solution:   Add the num64 feature. (Ken Takata)
2016-07-01 18:17:26 +02:00
Bram Moolenaar 8767f52fbf patch 7.4.1975
Problem:    On MS-Windows large files (> 2Gbyte) cause problems.
Solution:   Use "off_T" instead of "off_t".  Use "stat_T" instead of "struct
            stat".  Use 64 bit system functions if available.  (Ken Takata)
2016-07-01 17:17:39 +02:00
Bram Moolenaar 4a6c670b84 patch 7.4.1974
Problem:    GUI has a problem with some termcodes.
Solution:   Handle negative numbers. (Kazunobu Kuriyama)
2016-07-01 15:48:05 +02:00
Bram Moolenaar 4c5717ed8a patch 7.4.1973
Problem:    On MS-Windows the package directory may be added at the end
            because of forward/backward slash differences. (Matthew
            Desjardins)
Solution:   Ignore slash differences.
2016-07-01 15:39:40 +02:00
Bram Moolenaar 40de45664c patch 7.4.1972
Problem:    On Solaris select() does not work as expected when there is
            typeahead.
Solution:   Add ICANON when sleeping. (Ozaki Kiichi)
2016-07-01 15:03:46 +02:00
Bram Moolenaar e8fea0728a patch 7.4.1971
Problem:    It is not easy to see unrecognized error lines below the current
            error position.
Solution:   Add ":clist +count".
2016-07-01 14:48:27 +02:00
Bram Moolenaar 70e136e1d8 patch 7.4.1970
Problem:    Using ":insert" in an empty buffer sets the jump mark. (Ingo
            Karkat)
Solution:   Don't adjust marks when replacing the empty line in an empty
            buffer. (closes #892)
2016-07-01 14:04:51 +02:00
Bram Moolenaar 24cf233ef9 patch 7.4.1969
Problem:    When the netbeans channel is closed consuming the buffer may cause
            a crash.
Solution:   Check for nb_channel not to be NULL. (Xavier de Gaye)
2016-07-01 12:50:54 +02:00
Bram Moolenaar 1d90a5a5af patch 7.4.1968
Problem:    Invalid memory access with "\<C-">.
Solution:   Do not recognize this as a special character. (Dominique Pelle)
2016-07-01 11:59:47 +02:00
Bram Moolenaar 6747fabc73 patch 7.4.1967
Problem:    Falling back from NFA to old regexp engine does not work properly.
            (fritzophrenic)
Solution:   Do not restore nfa_match. (Christian Brabandt, closes #867)
2016-06-28 22:39:16 +02:00
Bram Moolenaar bcf7772a23 patch 7.4.1966
Problem:    Coverity reports a resource leak.
Solution:   Close "fd" also when bailing out.
2016-06-28 21:11:32 +02:00
Kazuki Sakamoto b710d50cee Merge remote-tracking branch 'vim/master' 2016-06-27 20:49:19 -07:00
Bram Moolenaar adb78a77eb patch 7.4.1965
Problem:    When using a job in raw mode to append to a buffer garbage
            characters are added.
Solution:   Do not replace the trailing NUL with a NL. (Ozaki Kiichi)
2016-06-27 21:10:31 +02:00
Kazuki Sakamoto 8c4a835205 Merge remote-tracking branch 'vim/master' 2016-06-27 07:23:28 -07:00
Bram Moolenaar 688e3d1fd9 patch 7.4.1964
Problem:    The quickfix init function is too big.
Solution:   Factor out parsing 'errorformat' to a separate function. (Yegappan
            Lakshmanan)
2016-06-26 22:05:54 +02:00
Kazuki Sakamoto 6ad0757971 Merge remote-tracking branch 'vim/master' 2016-06-26 11:44:52 -07:00
Bram Moolenaar 97ff9b9cff patch 7.4.1963
Problem:    Running Win32 Vim in mintty does not work.
Solution:   Detect mintty and give a helpful error message. (Ken Takata)
2016-06-26 20:37:46 +02:00
Bram Moolenaar 52df117df7 patch 7.4.1962
Problem:    Two test files for increment/decrement.
Solution:   Move the old style test into the new style test. (Hirohito
            Higashi, closes #881)
2016-06-26 19:38:19 +02:00
Bram Moolenaar 00672e1d3f patch 7.4.1961
Problem:    When 'insertmode' is reset while doing completion the popup menu
            remains even though Vim is in Normal mode.
Solution:   Ignore stop_insert_mode when the popup menu is visible.  Don't set
            stop_insert_mode when 'insertmode' was already off. (Christian
            Brabandt)
2016-06-26 18:38:13 +02:00
Bram Moolenaar 04e2b4b0c4 patch 7.4.1960
Problem:    Unicode standard 9 was released.
Solution:   Update the character property tables. (Christian Brabandt)
2016-06-26 17:53:07 +02:00
Bram Moolenaar aad30bbcde patch 7.4.1959
Problem:    Crash when running test_channel.vim on Windows.
Solution:   Check for NULL pointer result from FormatMessage(). (Christian
            Brabandt)
2016-06-26 17:31:03 +02:00
Bram Moolenaar eeb50ab522 patch 7.4.1958
Problem:    Perl interface preprocessor statements not nicely indented.
Solution:   Improve the indenting. (Ken Takata)
2016-06-26 17:19:46 +02:00
Bram Moolenaar 7b61bf187a patch 7.4.1957
Problem:    Perl interface has obsolete workaround.
Solution:   Remove the workaround added by 7.3.623. (Ken Takata)
2016-06-26 17:16:51 +02:00
Bram Moolenaar 5d2ca04029 patch 7.4.1956
Problem:    When using CTRL-W f and pressing "q" at the ATTENTION dialog the
            newly opened window is not closed.
Solution:   Close the window and go back to the original one. (Norio Takagi,
            Hirohito Higashi)
2016-06-26 17:11:21 +02:00
Bram Moolenaar f4fba6dcd5 patch 7.4.1955
Problem:    Using 32-bit Perl with 64-bit time_t causes memory corruption.
            (Christian Brabandt)
Solution:   Use time_T instead of time_t for global variables. (Ken Takata)
2016-06-26 16:44:24 +02:00
Bram Moolenaar d388d2ac8b patch 7.4.1954
Problem:    No test for what 7.4.1948 fixes.
Solution:   Add a test. (Hirohito Higashi, closes #880)
2016-06-26 16:24:20 +02:00
Bram Moolenaar 802a0d902f Updated runtime files. 2016-06-26 16:17:58 +02:00
Bram Moolenaar 049cba9e97 patch 7.4.1953
Problem:    Not all parts of the quickfix code are tested.
Solution:   Add more tests. (Yegappan Lakshmanan)
2016-06-26 14:38:04 +02:00
Kazuki Sakamoto dd0fcab4ec Merge remote-tracking branch 'vim/master' 2016-06-21 20:48:27 -07:00
Bram Moolenaar b12e7ef956 patch 7.4.1952
Problem:    Cscope interface does not support finding assignments.
Solution:   Add the "a" command. (ppettina, closes #882)
2016-06-21 23:42:20 +02:00
Bram Moolenaar 85babd6db6 patch 7.4.1951
Problem:    Ruby test is old style.
Solution:   Convert to a new style test. (Ken Takata)
2016-06-21 22:59:28 +02:00
Bram Moolenaar f50df3925b patch 7.4.1950
Problem:    Quickfix long lines test not executed for buffer.
Solution:   Call the function to test long lines. (Yegappan Lakshmanan)
2016-06-21 21:33:34 +02:00
Kazuki Sakamoto bdcab3eb7f Merge remote-tracking branch 'vim/master' 2016-06-20 16:21:06 -07:00
Bram Moolenaar 38df43bd13 patch 7.4.1949
Problem:    Minor problems with the quickfix code.
Solution:   Fix the problems. (Yegappan Lakshmanan)
2016-06-20 21:41:12 +02:00
Bram Moolenaar ad5ca9bc1e patch 7.4.1948
Problem:    Using Ctrl-A with double-byte encoding may result in garbled text.
Solution:   Skip to the start of a character. (Hirohito Higashi)
2016-06-20 21:26:08 +02:00
Bram Moolenaar ecefe71704 patch 7.4.1947
Problem:    Viminfo continuation line with wrong length isn't skipped. (Marius
            Gedminas)
Solution:   Skip a line when encountering an error, but not two lines.
2016-06-20 12:50:17 +02:00
Bram Moolenaar cf2d77987c patch 7.4.1946
Problem:    File list does not include new XPM libraries.
Solution:   Add the file list entries.
2016-06-20 11:28:18 +02:00
Bram Moolenaar ddf8d1c746 patch 7.4.1945
Problem:    The Man plugin doesn't work that well.
Solution:   Use "g:ft_man_open_mode" to be able open man pages in vert split
            or separate tab. Set nomodifiable for buffer with man content. Add
            a test. (Andrey Starodubtsev, closes #873)
2016-06-20 11:22:54 +02:00
Bram Moolenaar b5b95750a6 patch 7.4.1944
Problem:    Win32: Cannot compile with XPM feature using VC2015
Solution:   Add XPM libraries compiled with VC2015, and enable to build
            gvim.exe which supports XPM using VC2015. (Ken Takata)
2016-06-18 21:59:36 +02:00
Bram Moolenaar 678e480529 patch 7.4.1943
Problem:    Coverity warns for unreachable code.
Solution:   Remove the code that won't do anything.
2016-06-17 22:38:46 +02:00
Bram Moolenaar d18f672fc9 patch 7.4.1942
Problem:    Background is not drawn properly when 'termguicolors' is set.
Solution:   Check cterm_normal_bg_color. (Jacob Niehus, closes #805)
2016-06-17 13:18:49 +02:00
Bram Moolenaar a02a551e18 Updated runtime files. 2016-06-17 12:48:11 +02:00
Kazuki Sakamoto 3087674277 Merge remote-tracking branch 'vim/master' 2016-06-15 13:43:27 -07:00
Bram Moolenaar 3ef5bf7d45 patch 7.4.1941
Problem:    Not all quickfix tests are also done  with the location lists.
Solution:   Test more quickfix code.  Use user commands instead of "exe".
            (Yegappan Lakshmanan)
2016-06-15 22:41:31 +02:00
Bram Moolenaar 23c60f21b0 patch 7.4.1940
Problem:    "gd" hangs in some situations. (Eric Biggers)
Solution:   Remove the SEARCH_START flag when looping.  Add a test.
2016-06-15 22:03:48 +02:00
Bram Moolenaar 28607ba2b8 patch 7.4.1939
Problem:    Memory access error when reading viminfo. (Dominique Pelle)
Solution:   Correct index in jumplist when at the end.
2016-06-15 21:44:51 +02:00
Kazuki Sakamoto 7d06ae4c39 Merge remote-tracking branch 'vim/master' 2016-06-14 22:17:35 -07:00
Bram Moolenaar 36f0f0686c patch 7.4.1938
Problem:    When writing viminfo numbered marks were duplicated.
Solution:   Check for duplicates between current numbered marks and the ones
            read from viminfo.
2016-06-14 23:02:46 +02:00
Bram Moolenaar ab47c61f46 patch 7.4.1937
Problem:    No test for directory stack in quickfix.
Solution:   Add a test. (Yegappan Lakshmanan)
2016-06-14 22:02:26 +02:00
Bram Moolenaar 67e3720a9d patch 7.4.1936
Problem:    Off-by-one error in bounds check. (Coverity)
Solution:   Check register number properly.
2016-06-14 21:32:28 +02:00
Bram Moolenaar bee666f239 patch 7.4.1935
Problem:    When using the GUI search/replace a second match right after the
            replacement is skipped.
Solution:   Add the SEARCH_START flag. (Mleddy)
2016-06-14 20:39:42 +02:00
Kazuki Sakamoto 8f65bea132 Merge remote-tracking branch 'vim/master' 2016-06-13 20:38:02 -07:00
Bram Moolenaar 9bd3186052 patch 7.4.1934
Problem:    New style tests not executed with MinGW compiler.
Solution:   Add new style test support. (Yegappan Lakshmanan)
2016-06-13 22:58:39 +02:00
Bram Moolenaar 72e697d189 patch 7.4.1933
Problem:    Compiler warning about uninitialzed variable. (Yegappan)
Solution:   Give it a dummy value.
2016-06-13 22:48:01 +02:00
Bram Moolenaar ece74ab103 patch 7.4.1932
Problem:    When writing viminfo the jumplist is not merged with the one in
            the viminfo file.
Solution:   Merge based on timestamp.
2016-06-13 22:22:15 +02:00
Bram Moolenaar a641e1d4da patch 7.4.1931
Problem:    Using both old and new style file mark lines from viminfo.
Solution:   Skip the old style lines if the viminfo file was written with a
            Vim version that supports the new style.
2016-06-13 21:16:03 +02:00
Bram Moolenaar bf2c0ee0b2 patch 7.4.1930
Problem:    Can't build without +spell but with +quickfix. (Charles)
Solution:   Add better #ifdef around ml_append_buf(). (closes #864)
2016-06-13 20:23:53 +02:00
Bram Moolenaar 2016ae586b patch 7.4.1929
Problem:    Inconsistent indenting and weird name.
Solution:   Fix indent, make name all upper case. (Ken Takata)
2016-06-13 20:08:43 +02:00
Bram Moolenaar 76ae22fef3 patch 7.4.1928
Problem:    Overwriting pointer argument.
Solution:   Assign to what it points to. (Dominique Pelle)
2016-06-13 20:00:29 +02:00
Bram Moolenaar 5b7d177e89 patch 7.4.1927
Problem:    Compiler warning for signed/unsigned.
Solution:   Add type cast.
2016-06-13 19:54:22 +02:00
Bram Moolenaar a890f5e348 patch 7.4.1926
Problem:    Possible crash with many history items.
Solution:   Avoid the index going past the last item.
2016-06-12 23:03:19 +02:00
Bram Moolenaar c95a302a4c Updated runtime files. 2016-06-12 23:01:46 +02:00
Bram Moolenaar 2d35899721 patch 7.4.1925
Problem:    Viminfo does not merge file marks properly.
Solution:   Use a timestamp.  Add the :clearjumps command.
2016-06-12 21:20:54 +02:00
Bram Moolenaar cf08946349 patch 7.4.1924
Problem:    Missing "void" for functions without argument.
Solution:   Add "void". (Hirohito Higashi)
2016-06-12 21:18:43 +02:00
Kazuki Sakamoto 0ffe542baa Merge pull request #295 from macvim-dev/fix/warning
Add gui_mch_is_blinking prototype
2016-06-11 20:47:11 -07:00
Kazuki Sakamoto 90d1eedfd7 Add gui_mch_is_blinking prototype 2016-06-11 20:46:00 -07:00
Kazuki Sakamoto d40d5c7276 Merge remote-tracking branch 'vim/master' 2016-06-11 20:29:52 -07:00
Bram Moolenaar ae3150ec8d patch 7.4.1923
Problem:    Command line editing is not tested much.
Solution:   Add tests for expanding the file name and 'wildmenu'.
2016-06-11 23:22:36 +02:00
Bram Moolenaar 06469e979f patch 7.4.1922
Problem:    Ruby 2.4.0 unifies Fixnum and Bignum into Integer.
Solution:   Use rb_cInteger. (Weiong Mao)
2016-06-11 22:26:53 +02:00
Bram Moolenaar 724f2edf75 patch 7.4.1921
Problem:    vim_time() not included when needed.
Solution:   Adjust #ifdef.
2016-06-11 22:21:17 +02:00
Bram Moolenaar e80ff7448d patch 7.4.1920
Problem:    Missing test changes.
Solution:   Update viminfo test.
2016-06-11 21:14:18 +02:00
Bram Moolenaar 46bbb0c4ba patch 7.4.1919
Problem:    Register contents is not merged when writing viminfo.
Solution:   Use timestamps for register contents.
2016-06-11 21:04:39 +02:00
Bram Moolenaar 62f8b4e180 patch 7.4.1918
Problem:    Not enough testing for parsing viminfo lines.
Solution:   Add test with viminfo lines in bad syntax.  Fix memory leak.
2016-06-11 15:31:47 +02:00
Bram Moolenaar 012270936c patch 7.4.1917
Problem:    History lines read from viminfo in different encoding than when
            writing are not converted.
Solution:   Convert the history lines.
2016-06-11 14:47:40 +02:00
Kazuki Sakamoto 417c1fc5a2 Merge remote-tracking branch 'vim/master' 2016-06-10 14:15:14 -07:00
Bram Moolenaar b8aefa46ad patch 7.4.1916
Problem:    No proper test for what 7.4.1906 fixes.
Solution:   Add a test for reading many lines.
2016-06-10 23:02:56 +02:00
Bram Moolenaar 2a67ed83a8 patch 7.4.1915
Problem:    The effect of the PopupMenu autocommand isn't directly visible.
Solution:   Call gui_update_menus() before displaying the popup menu. (Shane
            Harper, closs #855)
2016-06-10 21:52:42 +02:00
Bram Moolenaar e429e70f05 patch 7.4.1914
Problem:    Executing autocommands while using the signal stack has a high
            chance of crashing Vim.
Solution:   Don't invoke autocommands when on the signal stack.
2016-06-10 19:49:14 +02:00
Kazuki Sakamoto 6ced2028cf Merge pull request #294 from chdiza/help
Add MMFullScreenFadeTime to help files
2016-06-10 08:55:38 -07:00
chdiza 1550cece3a Add MMFullScreenFadeTime to help files 2016-06-10 10:31:47 -04:00
Kazuki Sakamoto 9868c9f671 Merge remote-tracking branch 'vim/master' 2016-06-09 19:22:59 -07:00
Kazuki Sakamoto a74dd6884f Merge pull request #292 from macvim-dev/fullscreen-fade-control
Implement fullscreen fade control.
2016-06-09 19:22:24 -07:00
Josh Petrie 8a138245e8 Clamp fade time using MIN() rather than manually. 2016-06-09 18:23:51 -07:00
Bram Moolenaar 1610d05241 patch 7.4.1913
Problem:    When ":doautocmd" is used modelines are used even when no
            autocommands were executed. (Daniel Hahler)
Solution:   Skip processing modelines. (closes #854)
2016-06-09 22:53:01 +02:00
Bram Moolenaar 1cee693b31 patch 7.4.1912
Problem:    No test for using setqflist() on an older quickfix list.
Solution:   Add a couple of tests.
2016-06-09 22:17:22 +02:00
Bram Moolenaar 1fd99c1ca8 patch 7.4.1911
Problem:    Recent history lines may be lost when exiting Vim.
Solution:   Merge history using the timestamp.
2016-06-09 20:24:28 +02:00
Kazuki Sakamoto ff3dd64e96 Merge remote-tracking branch 'vim/master' 2016-06-08 21:37:41 -07:00
Josh Petrie 72234fae0f Set the default for MMFullScreenFadeTime at startup to avoid cumbersome checks later. 2016-06-08 18:58:31 -07:00
Josh Petrie 9295c0b376 Allow custom fullscreen fade time to be controlled via MMFullScreenFadeTime user default. 2016-06-08 17:02:15 -07:00
Bram Moolenaar abc70bbf36 patch 7.4.1910
Problem:    Tests using external command to delete directory.
Solution:   Use delete().
2016-06-08 21:48:50 +02:00
Bram Moolenaar 945ec093cd patch 7.4.1909
Problem:    Doubled semicolons.
Solution:   Reduce to one. (Dominique Pelle)
2016-06-08 21:17:43 +02:00
Bram Moolenaar 5ce4a0b96a patch 7.4.1908
Problem:    Netbeans uses uninitialzed pointer and freed memory.
Solution:   Set "buffer" at the right place (hint by Ken Takata)
2016-06-08 20:17:23 +02:00
Kazuki Sakamoto 8c283ae248 Merge pull request #291 from macvim-dev/fix/channel
kCFSocketLeaveErrors
2016-06-07 21:53:18 -07:00
Kazuki Sakamoto 7d6fb24826 kCFSocketLeaveErrors 2016-06-07 21:52:44 -07:00
Kazuki Sakamoto aad13c34bb Merge remote-tracking branch 'vim/master' 2016-06-07 20:50:13 -07:00
Bram Moolenaar 1d5f1d07ae patch 7.4.1907
Problem:    Warnings from 64 bit compiler.
Solution:   Change type to size_t. (Mike Williams)
2016-06-07 22:50:01 +02:00
Bram Moolenaar 5f1032d2a5 patch 7.4.1906
Problem:    Collapsing channel buffers and searching for NL does not work
            properly. (Xavier de Gary, Ramel Eshed)
Solution:   Do not assume the buffer contains a NUL or not.  Change NUL bytes
            to NL to avoid the string is truncated.
2016-06-07 22:16:36 +02:00
Kazuki Sakamoto 1ab2e6b6dd Merge pull request #290 from macvim-dev/fix/channel
Check socket using select prior to call channel_read
2016-06-06 23:19:36 -07:00
Kazuki Sakamoto 4b15c68164 Check socket using select prior to call channel_read 2016-06-06 23:17:46 -07:00
Kazuki Sakamoto 6de757a83c Merge remote-tracking branch 'vim/master' 2016-06-06 20:26:23 -07:00
Bram Moolenaar fdd82fe365 patch 7.4.1905
Problem:    Some compilers can't handle a double semicolon.
Solution:   Remove one semicolon.
2016-06-06 21:38:44 +02:00
Bram Moolenaar c60954b48e patch 7.4.1904
Problem:    Build fails.
Solution:   Add missing changes.
2016-06-06 21:20:10 +02:00
Bram Moolenaar 45d2eeaad6 patch 7.4.1903
Problem:    When writing viminfo merging current history with history in
            viminfo may drop recent history entries.
Solution:   Add new format for viminfo lines, use it for history entries.  Use
            a timestamp for ordering the entries. Add test_settime().
            Add the viminfo version.  Does not do merging on timestamp yet.
2016-06-06 21:07:52 +02:00
Bram Moolenaar bbe8d91e69 patch 7.4.1902
Problem:    No test for collapsing buffers for a channel.  Some text is lost.
Solution:   Add a simple test.  Set rq_buflen correctly.
2016-06-05 16:10:57 +02:00
Kazuki Sakamoto 0e77b94272 Merge pull request #288 from macvim-dev/fix/gui_mch_is_blinking
Implemented gui_mch_is_blinking
2016-06-04 23:03:26 -07:00
Kazuki Sakamoto 61ad6863a0 Implemented gui_mch_is_blinking 2016-06-04 21:29:23 -07:00
Kazuki Sakamoto 6d6f1351bd Merge remote-tracking branch 'vim/master' 2016-06-04 20:49:54 -07:00
Bram Moolenaar 762f175437 patch 7.4.1901
Problem:    Win32: the "Disabled" menu items would appear enabled.
Solution:   Use submenu_id if there is a parent. (Shane Harper, closes #834)
2016-06-04 22:36:17 +02:00
Bram Moolenaar 28b942a064 patch 7.4.1900
Problem:    Using CTRL-] in the help on "{address}." doesn't work.
Solution:   Recognize an item in {}. (Hirohito Higashi, closes #814)
2016-06-04 22:31:27 +02:00
Bram Moolenaar 8e31fd52ec patch 7.4.1899
Problem:    GTK 3: cursor blinking doesn't work well.
Solution:   Instead of gui_gtk_window_clear() use gui_mch_clear_block().
            (Kazunobu Kuriyama)
2016-06-04 22:18:13 +02:00
Bram Moolenaar 63a60ded3f patch 7.4.1898
Problem:    User commands don't support modifiers.
Solution:   Add the <mods> item. (Yegappan Lakshmanan, closes #829)
2016-06-04 22:08:55 +02:00
Bram Moolenaar fd89d7ea81 patch 7.4.1897
Problem:    Various typos, long lines and style mistakes.
Solution:   Fix the typos, wrap lines, improve style.
2016-06-04 20:25:05 +02:00
Bram Moolenaar 82af8710bf Updated runtime files. 2016-06-04 20:20:29 +02:00
Bram Moolenaar 82faa259cc patch 7.4.1896
Problem:    Invoking mark_adjust() when adding a new line below the last line
            is pointless.
Solution:   Skip calling mark_adjust() when appending below the last line.
2016-06-04 20:14:07 +02:00
Bram Moolenaar 888ccac890 patch 7.4.1895
Problem:    Cannot use a window ID where a window number is expected.
Solution:   Add LOWEST_WIN_ID, so that the window ID can be used where a
            number is expected.
2016-06-04 18:49:36 +02:00
Bram Moolenaar 511972d810 patch 7.4.1894
Problem:    Cannot get the window ID for a mouse click.
Solution:   Add v:mouse_winid.
2016-06-04 18:09:59 +02:00
Bram Moolenaar b3619a90ea patch 7.4.1893
Problem:    Cannot easily get the window ID for a buffer.
Solution:   Add bufwinid().
2016-06-04 17:58:52 +02:00
Bram Moolenaar c9721bdc63 patch 7.4.1892
Problem:    balloon eval only gets the window number, not the ID.
Solution:   Add v:beval_winid.
2016-06-04 17:41:03 +02:00
Bram Moolenaar 9ed96efb3d patch 7.4.1891
Problem:    Channel reading very long lines is slow.
Solution:   Collapse multiple buffers until a NL is found.
2016-06-04 17:17:11 +02:00
Bram Moolenaar 703a8044b5 patch 7.4.1890
Problem:    GUI: When channel data is received the cursor blinking is
            interrupted.  (Ramel Eshed)
Solution:   Don't update the cursor when it is blinking.
2016-06-04 16:24:32 +02:00
Bram Moolenaar 35d88f4e2f patch 7.4.1889
Problem:    When umask is set to 0177 Vim can't create temp files. (Lcd)
Solution:   Also correct umask when using mkdtemp().
2016-06-04 14:52:00 +02:00
Bram Moolenaar 76b6dfe54b patch 7.4.1888
Problem:    Wrong computation of remaining wait time in RealWaitForChar()
Solution:   Remember the original waiting time.
2016-06-04 14:37:22 +02:00
Bram Moolenaar e30a3d01dc patch 7.4.1887
Problem:    When receiving channel data 'updatetime' is not respected.
Solution:   Recompute the waiting time after being interrupted.
2016-06-04 14:11:20 +02:00
Bram Moolenaar cda7764d8e patch 7.4.1886
Problem:    When waiting for a character is interrupted by receiving channel
            data and the first character of a mapping was typed, the mapping
            times out. (Ramel Eshed)
Solution:   When dealing with channel data don't return from mch_inchar().
2016-06-04 13:32:35 +02:00
Kazuki Sakamoto d16a205448 Merge remote-tracking branch 'vim/master' 2016-06-03 20:50:27 -07:00
Bram Moolenaar 1aa07bdead patch 7.4.1885
Problem:    MinGW console build defaults to not having +channel.
Solution:   Include the channel feature if building with huge features. (Ken
            Takata)
2016-06-03 19:43:16 +02:00
Bram Moolenaar 2f095a4bc4 patch 7.4.1884
Problem:    Updating marks in a quickfix list is very slow when the list is
            long.
Solution:   Only update marks if the buffer has a quickfix entry.
2016-06-03 19:05:49 +02:00
Kazuki Sakamoto 12547c77fa Merge remote-tracking branch 'vim/master' 2016-06-02 20:31:04 -07:00
Bram Moolenaar ea0345901c patch 7.4.1883
Problem:    Cppcheck found 2 incorrect printf formats.
Solution:   Use %ld and %lx. (Dominique Pelle)
2016-06-02 22:27:08 +02:00
Bram Moolenaar b37662a0fb patch 7.4.1882
Problem:    Check for line break at end of line wrong. (Dominique Pelle)
Solution:   Correct the logic.
2016-06-02 22:18:47 +02:00
Bram Moolenaar 83e6d7ac6a patch 7.4.1881
Problem:    Appending to a long quickfix list is slow.
Solution:   Add qf_last.
2016-06-02 22:08:05 +02:00
Bram Moolenaar 76929af431 patch 7.4.1880
Problem:    MS-Windows console build defaults to not having +channel.
Solution:   Include the channel feature if building with huge features.
2016-06-02 20:26:41 +02:00
Bram Moolenaar e38a2f7ebd patch 7.4.1879
Problem:    Channel test is flaky.
Solution:   Wait for close_cb to be invoked.
2016-06-02 20:07:09 +02:00
Bram Moolenaar cf7c11a947 patch 7.4.1878
Problem:    Whether a job has exited isn't detected until a character is
            typed.  After calling exit_cb the cursor is in the wrong place.
Solution:   Don't wait forever for a character to be typed when there is a
            pending job.  Update the screen if neede after calling exit_cb.
2016-06-02 20:05:26 +02:00
Bram Moolenaar 01d46e41ba patch 7.4.1877
Problem:    No test for invoking "close_cb" when writing to a buffer.
Solution:   Add using close_cb to a test case.
2016-06-02 19:06:25 +02:00
Bram Moolenaar a0055ad3a7 patch 7.4.1876
Problem:    Typing "k" at the hit-enter prompt has no effect.
Solution:   Don't assume recursive use of the prompt if a character was typed.
            (Hirohito Higashi)
2016-06-02 18:37:05 +02:00
Bram Moolenaar 8e759ba865 patch 7.4.1875
Problem:    Comparing functions and partials doesn't work well.
Solution:   Add tests. (Nikolai Pavlov)  Compare the dict and arguments in the
            partial. (closes #813)
2016-06-02 17:46:20 +02:00
Bram Moolenaar ae3f33040b patch 7.4.1874
Problem:    Unused variable in Win32 code.
Solution:   Remove it. (Mike Williams)
2016-06-02 15:49:36 +02:00
Bram Moolenaar 4231da403e patch 7.4.1873
Problem:    When a callback adds a timer the GUI doesn't use it until later.
            (Ramel Eshed)
Solution:   Return early if a callback adds a timer.
2016-06-02 14:30:04 +02:00
Bram Moolenaar c4bc0e6542 patch 7.4.1872
Problem:    Still build problem with old version of Perl.
Solution:   Also define SvREFCNT_inc_void_NN if needed. (Ken Takata)
2016-06-02 13:54:49 +02:00
Bram Moolenaar 864293abb7 patch 7.4.1871
Problem:    Appending to the quickfix list while the quickfix window is open
            is very slow.
Solution:   Do not delete all the lines, only append the new ones.  Avoid
            using a window while updating the list. (closes #841)
2016-06-02 13:40:04 +02:00
Bram Moolenaar dec6c7beda patch 7.4.1870
Problem:    One more Win64 compiler warning.
Solution:   Change declared argument type. (Ken Takata)
2016-06-02 11:57:38 +02:00
Bram Moolenaar cf190c6f01 patch 7.4.1869
Problem:    Can't build with old version of Perl.
Solution:   Define PERLIO_FUNCS_DECL. (Tom G. Christensen)
2016-06-02 11:54:06 +02:00
Kazuki Sakamoto 3f00cad71f Merge remote-tracking branch 'vim/master' 2016-06-01 20:55:51 -07:00
Bram Moolenaar b89a25f17e patch 7.4.1868
Problem:    Setting really_exiting causes memory leaks to be reported.
Solution:   Add the in_free_all_mem flag.
2016-06-01 23:08:39 +02:00
Bram Moolenaar 3c809343c7 patch 7.4.1867
Problem:    Memory leak in test_matchstrpos.
Solution:   Free the string before overwriting. (Yegappan Lakshmanan)
2016-06-01 22:34:48 +02:00
Bram Moolenaar a96732150c patch 7.4.1866
Problem:    Invalid memory access when exiting with EXITFREE defined.
            (Dominique Pelle)
Solution:   Set "really_exiting" and skip error messages.
2016-06-01 22:21:06 +02:00
Bram Moolenaar 9ad73239c2 patch 7.4.1865
Problem:    Memory leaks in tet49. (Dominique Pelle)
Solution:   Use NULL instead of an empty string.
2016-06-01 22:08:17 +02:00
Bram Moolenaar 22081f4a33 patch 7.4.1864
Problem:    Python: encoding error with Python 2.
Solution:   Use "getcwdu" instead of "getcwd". (Ken Takata)
2016-06-01 20:38:34 +02:00
Bram Moolenaar 9b0ac229bc patch 7.4.1863
Problem:    Compiler warnings on Win64.
Solution:   Adjust types, add type casts. (Ken Takata)
2016-06-01 20:31:43 +02:00
Kazuki Sakamoto ca92f49a56 Merge remote-tracking branch 'vim/master' 2016-05-31 22:46:41 -07:00
Bram Moolenaar 18dfb4404a patch 7.4.1862
Problem:    string() with repeated argument does not give a result usable by
            eval().
Solution:   Refactor echo_striong and tv2string(), moving the common part to
            echo_string_core(). (Ken Takata)
2016-05-31 22:31:23 +02:00
Bram Moolenaar b055066a1d patch 7.4.1861
Problem:    Compiler warnings with 64 bit compiler.
Solution:   Change int to size_t. (Mike William)
2016-05-31 21:37:36 +02:00
Bram Moolenaar e3188e2615 patch 7.4.1860
Problem:    Using a partial for timer_start() may cause a crash.
Solution:   Set the copyID in timer objects. (Ozaki Kiichi)
2016-05-31 21:13:04 +02:00
Bram Moolenaar ef3abc6442 patch 7.4.1859
Problem:    Cannot use a function reference for "exit_cb".
Solution:   Use get_callback(). (Yegappan Lakshmanan)
2016-05-29 16:44:26 +02:00
Bram Moolenaar b127cfd75f patch 7.4.1858
Problem:    When a channel writes to a buffer it doesn't find a buffer by the
            short name but re-uses it anyway.
Solution:   Find buffer also by the short name.
2016-05-29 16:24:50 +02:00
Bram Moolenaar 9f5842e63f patch 7.4.1857
Problem:    When a channel appends to a buffer that is 'nomodifiable' there is
            an error but appending is done anyway.
Solution:   Add the 'modifiable' option.  Refuse to write to a 'nomodifiable'
            when the value is 1.
2016-05-29 16:17:08 +02:00
Bram Moolenaar 324a78f3b6 patch 7.4.1856
Problem:    failing job test fails on MS-Windows.
Solution:   Expect "fail" status instead of "dead".
2016-05-28 22:47:12 +02:00
Bram Moolenaar 655da31a18 patch 7.4.1855
Problem:    Valgrind reports memory leak for job that is not freed.
Solution:   Free all jobs on exit.  Add test for failing job.
2016-05-28 22:22:34 +02:00
Bram Moolenaar d80629cef0 patch 7.4.1854
Problem:    When setting 'termguicolors' the Ignore highlighting doesn't work.
            (Charles Campbell)
Solution:   Handle the color names "fg" and "bg" when the GUI isn't running
            and no colors are speficied, fall back to black and white.
2016-05-28 15:53:53 +02:00
Bram Moolenaar 28ae577342 patch 7.4.1853
Problem:    Crash when job and channel are in the same dict while using
            partials. (Luc Hermitte)
Solution:   Do not decrement the channel reference count too early.
2016-05-28 14:16:10 +02:00
Bram Moolenaar af6c12c27b patch 7.4.1852
Problem:    Unix: Cannot run all tests with the GUI.
Solution:   Add the "testgui" target.
2016-05-28 13:40:10 +02:00
Bram Moolenaar 180fc2d418 patch 7.4.1851
Problem:    test_syn_attr failes when using the GUI. (Dominique Pelle)
Solution:   Escape the font name properly.
2016-05-28 13:28:10 +02:00
Bram Moolenaar bf981eeb6b patch 7.4.1850
Problem:    GUI freezes when using a job. (Shougo)
Solution:   Unregister the channel when there is an input error.
2016-05-28 13:20:31 +02:00
Kazuki Sakamoto d81024334a Merge remote-tracking branch 'vim/master' 2016-05-27 12:18:28 -07:00
Bram Moolenaar 5850a764ea patch 7.4.1849
Problem:    Still trying to read from channel that is going to be closed.
            (Ramel Eshed)
Solution:   Check if ch_to_be_closed is set.
2016-05-27 19:59:48 +02:00
Kazuki Sakamoto 9bfe278570 Merge remote-tracking branch 'vim/master' 2016-05-26 22:35:13 -07:00
Bram Moolenaar 6727bf8617 patch 7.4.1848
Problem:    Can't build with Strawberry Perl 5.24.
Solution:   Define S_SvREFCNT_dec() if needed. (Damien, Ken Takata)
2016-05-26 22:10:00 +02:00
Kazuki Sakamoto 40a9e00ed3 Merge remote-tracking branch 'vim/master' 2016-05-26 04:48:27 -07:00
Bram Moolenaar 13ddc5c359 patch 7.4.1847
Problem:    Getting an item from a NULL dict crashes.  Setting a register to a
            NULL list crashes. (Nikolai Pavlov, issue #768)  Comparing a NULL
            dict with a NULL dict fails.
Solution:   Properly check for NULL.
2016-05-25 22:51:17 +02:00
Bram Moolenaar 54c10ccf92 patch 7.4.1846
Problem:    Ubsan detects a multiplication overflow.
Solution:   Don't use orig_mouse_time when it's zero. (Dominique Pelle)
2016-05-25 22:00:11 +02:00
Bram Moolenaar f8df45d84f patch 7.4.1845
Problem:    Mentioning NetBeans when reading from channel. (Ramel Eshed)
Solution:   Make the text more generic.
2016-05-25 21:48:13 +02:00
Bram Moolenaar 8e8df251bf patch 7.4.1844
Problem:    Using old function name in comment.  More functions should start
            with test_.
Solution:   Rename function in comment. (Higashi Higashi) Rename
            disable_char_avail_for_testing() to test_disable_char_avail().
            And alloc_fail() to test_alloc_fail().
2016-05-25 21:23:21 +02:00
Bram Moolenaar 2177f9fe18 patch 7.4.1843
Problem:    Tests involving Python are flaky.
Solution:   Set the pt_auto field.  Add tests. (Nikolai Pavlov)
2016-05-25 20:39:09 +02:00
Kazuki Sakamoto f0a930b685 Merge remote-tracking branch 'vim/master' 2016-05-24 20:42:17 -07:00
Bram Moolenaar 03e19a04ac patch 7.4.1842
Problem:    get() works for Partial but not for Funcref.
Solution:   Accept Funcref.  Also return the function itself. (Nikolai Pavlov)
2016-05-24 22:29:49 +02:00
Bram Moolenaar 26852128a2 Update runtime files. 2016-05-24 20:02:38 +02:00
Bram Moolenaar 2b2b8ae5ab patch 7.4.1841
Problem:    The code to reallocate the buffer used for quickfix is repeated.
Solution:   Move the code to a function. (Yegappan Lakshmanan, closes #831)
2016-05-24 19:59:51 +02:00
Bram Moolenaar a570244531 patch 7.4.1840
Problem:    When using packages an "after" directory cannot be used.
Solution:   Add the "after" directory of the package to 'runtimepath' if it
            exists.
2016-05-24 19:37:29 +02:00
Bram Moolenaar 2bbf8eff6f patch 7.4.1839
Problem:    Cannot get the items stored in a partial.
Solution:   Support using get() on a partial.
2016-05-24 18:37:12 +02:00
Bram Moolenaar 574860b5ee patch 7.4.1838
Problem:    Functions specifically for testing do not sort together.
Solution:   Rename garbagecollect_for_testing() to test_garbagecollect_now().
            Add test_null_list(), test_null_dict(), etc.
2016-05-24 17:33:34 +02:00
Bram Moolenaar c67e892134 patch 7.4.1837
Problem:    The BufUnload event is triggered twice, when :bunload is used with
             set to  or .
Solution:   Do not trigger the event when ml_mfp is NULL. (Hirohito Higashi)
2016-05-24 16:07:40 +02:00
Bram Moolenaar 1d429610bf patch 7.4.1836
Problem:    When using a partial on a dictionary it always gets bound to that
            dictionary.
Solution:   Make a difference between binding a function to a dictionary
            explicitly or automatically.
2016-05-24 15:44:17 +02:00
Bram Moolenaar 991dea3ab1 patch 7.4.1835
Problem:    When splitting and closing a window the status height changes.
Solution:   Compute the frame height correctly. (Hirohito Higashi)
2016-05-24 11:31:32 +02:00
Bram Moolenaar 908be43879 patch 7.4.1834
Problem:    Possible crash when conceal is active.
Solution:   Check for the screen to be valid when redrawing a line.
2016-05-24 10:51:30 +02:00
Bram Moolenaar 2ff8b64679 patch 7.4.1833
Problem:    Cannot use an Ex command for 'keywordprg'.
Solution:   Accept an Ex command. (Nelo-Thara Wallus)
2016-05-24 10:46:45 +02:00
Kazuki Sakamoto c3adca5e0f Merge remote-tracking branch 'vim/master' 2016-05-22 23:18:26 -07:00
Bram Moolenaar 06d2d38ab7 Updated runtime files. 2016-05-20 17:24:11 +02:00
Kazuki Sakamoto 385b36eb53 Merge remote-tracking branch 'vim/master' 2016-05-18 09:06:35 -07:00
Kazuki Sakamoto 62afa1dd13 Merge pull request #284 from macvim-dev/fix/with_properly_linked_python2_python3
Fix --with_properly_linked_python2_python3 option
2016-05-17 22:08:02 -07:00
Kazuki Sakamoto 1a84f8da5c Fix --with_properly_linked_python2_python3 option 2016-05-17 22:07:12 -07:00
Bram Moolenaar dc303bce10 patch 7.4.1832
Problem:    Memory leak in debug commands.
Solution:   Free memory before overwriting the pointer. (hint by Justin Keyes)
2016-05-17 17:45:38 +02:00
Kazuki Sakamoto 5e1d8fba9e MacVim Snapshot 104
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1831

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-05-16 21:51:31 -07:00
Kazuki Sakamoto 392fcf3037 Merge pull request #283 from macvim-dev/fix/channel
Fix channel
2016-05-16 20:57:48 -07:00
Kazuki Sakamoto 417dd190a5 Fix channel 2016-05-16 20:56:44 -07:00
Kazuki Sakamoto fa9800e39b Merge pull request #281 from macvim-dev/fix/job
Fix job
2016-05-15 23:30:40 -07:00
Kazuki Sakamoto 88f4fe0968 Fix job 2016-05-15 23:24:45 -07:00
Kazuki Sakamoto 2375f35235 Merge remote-tracking branch 'vim/master' 2016-05-15 20:39:15 -07:00
Bram Moolenaar e40d75f6ef patch 7.4.1831
Problem:    When timer_stop() is called with a string there is no proper error
            message.
Solution:   Require getting a number. (Bjorn Linse)
2016-05-15 18:00:19 +02:00
Kazuki Sakamoto 32080ba100 Merge remote-tracking branch 'vim/master' 2016-05-11 21:26:19 -07:00
Bram Moolenaar 73a733e08b patch 7.4.1830
Problem:    non-antialiased misnamed.
Solution:   Use NONANTIALIASED and NONANTIALIASED_QUALITY. (Kim Brouer,
            closes #793)
2016-05-11 21:05:05 +02:00
Kazuki Sakamoto fd5b06fddd Merge pull request #280 from macvim-dev/fix/channel
Set CFSocket option for native size socket handling
2016-05-10 22:09:32 -07:00
Kazuki Sakamoto e026051f1d Set CFSocket option for native size socket handling 2016-05-10 22:08:09 -07:00
Kazuki Sakamoto 0fee3f143c Workaround fix for test_channel 2016-05-09 20:47:03 -07:00
Kazuki Sakamoto ae529b5e4a Merge remote-tracking branch 'vim/master' 2016-05-09 19:45:00 -07:00
Bram Moolenaar de7eb0a47b patch 7.4.1829
Problem:    No message on channel log when buffer was freed.
Solution:   Log a message.
2016-05-09 20:54:33 +02:00
Bram Moolenaar e0f76d0097 patch 7.4.1828
Problem:    May try to access buffer that's already freed.
Solution:   When freeing a buffer remove it from any channel.
2016-05-09 20:38:53 +02:00
Bram Moolenaar fb6ffc732e patch 7.4.1827
Problem:    No error when invoking a callback when it's not safe.
Solution:   Add an error message.  Avoid the error when freeing a channel.
2016-05-09 17:58:04 +02:00
Bram Moolenaar cf7ff70ca7 patch 7.4.1826
Problem:    Callbacks are invoked when it's not safe. (Andrew Stewart)
Solution:   When a channel is to be closed don't invoke callbacks right away,
            wait for a safe moment.
2016-05-09 17:20:14 +02:00
Kazuki Sakamoto 949fc40089 Merge remote-tracking branch 'vim/master' 2016-05-08 22:23:13 -07:00
Bram Moolenaar 5d96e3ae53 patch 7.4.1825
Problem:    When job writes to buffer nothing is written. (Nicola)
Solution:   Do not discard a channel before writing is done.
2016-05-08 21:47:01 +02:00
Bram Moolenaar 36e0f7da9b patch 7.4.1824
Problem:    When a job is no longer referenced and does not have an exit
            callback the process may hang around in defunc state. (Nicola)
Solution:   Call job_status() if the job is running and won't get freed
            because it might still be useful.
2016-05-08 13:21:12 +02:00
Bram Moolenaar d9db8b448c patch 7.4.1823
Problem:    Warning from 64 bit compiler.
Solution:   Add type cast. (Mike Williams)
2016-05-08 12:52:05 +02:00
Bram Moolenaar 91c4937be1 Updated runtime files. 2016-05-08 09:50:29 +02:00
Bram Moolenaar ea83bf06b9 patch 7.4.1822
Problem:    Redirecting stdout of a channel to "null" doesn't work. (Nicola)
Solution:   Correct the file descriptor number.
2016-05-08 09:40:51 +02:00
Bram Moolenaar 4ed6b2e2d7 patch 7.4.1821
Problem:    Test fails on MS-Windows.
Solution:   Sort the completion results.
2016-05-07 22:28:53 +02:00
Bram Moolenaar 9ccaae04c6 patch 7.4.1820
Problem:    Removing language from help tags too often.
Solution:   Only remove @en when not needed. (Hirohito Higashi)
2016-05-07 18:36:48 +02:00
Kazuki Sakamoto 2989db56e7 Merge pull request #278 from macvim-dev/fix/channel
Fix channel
2016-05-07 00:29:46 -07:00
Kazuki Sakamoto f0ba2aaec3 Fix channel 2016-05-07 00:28:57 -07:00
Kazuki Sakamoto b31f06a1ea Merge remote-tracking branch 'vim/master' 2016-05-06 23:00:20 -07:00
Bram Moolenaar 827b165b2a patch 7.4.1819
Problem:    Compiler warnings when sprintf() is a macro.
Solution:   Don't interrupt sprintf() with an #ifdef. (Michael Jarvis,
            closes #788)
2016-05-05 18:14:03 +02:00
Bram Moolenaar 89c79b9932 patch 7.4.1818
Problem:    Help completion adds @en to all matches except the first one.
Solution:   Remove "break", go over all items.
2016-05-05 17:18:41 +02:00
Kazuki Sakamoto 7330a2e5cf Remove --enable-termtruecolor 2016-05-05 04:36:40 -07:00
Kazuki Sakamoto e764e5a393 Merge remote-tracking branch 'vim/master' 2016-05-04 21:28:12 -07:00
Bram Moolenaar cefe4f9948 patch 7.4.1817
Problem:    The screen is not updated if a callback is invoked when closing a
            channel.
Solution:   Invoke redraw_after_callback().
2016-05-04 21:49:19 +02:00
Kazuki Sakamoto 0674485034 MacVim Snapshot 103
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1816

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-05-04 09:49:49 -07:00
Kazuki Sakamoto 297440f777 Merge pull request #276 from macvim-dev/fix/termguicolors
Fix termgui_mch_get_color in MacVim
2016-05-04 08:25:18 -07:00
Kazuki Sakamoto a111780dc7 Fix termgui_mch_get_color in MacVim 2016-05-03 21:44:21 -07:00
Kazuki Sakamoto df7edfe33b Merge remote-tracking branch 'vim/master' 2016-05-01 20:47:48 -07:00
Bram Moolenaar d8585eded6 patch 7.4.1816
Problem:    Looping over a null list throws an error.
Solution:   Skip over the for loop.
2016-05-01 23:05:53 +02:00
Bram Moolenaar 9a3b3311d2 patch 7.4.1815
Problem:    Compiler warnings for unused variables. (Ajit Thakkar)
Solution:   Add a dummy initialization. (Yasuhiro Matsumoto)
2016-05-01 20:20:49 +02:00
Bram Moolenaar b8d4905592 patch 7.4.1814
Problem:    A channel may be garbage collected while it's still being used by
            a job. (James McCoy)
Solution:   Mark the channel as used if the job is still used.  Do the same
            for channels that are still used.
2016-05-01 14:22:16 +02:00
Bram Moolenaar 9b4ebc692d patch 7.4.1813
Problem:    Memory access error when running test_quickfix.
Solution:   Allocate one more byte. (Yegappan Lakshmanan)
2016-05-01 13:28:38 +02:00
Bram Moolenaar 187147aedd patch 7.4.1812
Problem:    Failure on startup with Athena and Motif.
Solution:   Check for INVALCOLOR. (Kazunobu Kuriyama)
2016-05-01 13:09:57 +02:00
Kazuki Sakamoto 38ed567cd5 MacVim Snapshot 102
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1811

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-04-30 20:34:10 -07:00
Kazuki Sakamoto 75297a22fb Revert "MacVim Snapshot 102"
This reverts commit fa9dd06ea8.
2016-04-30 20:32:53 -07:00
Kazuki Sakamoto 8a3ac0add8 Merge remote-tracking branch 'vim/master' 2016-04-30 20:31:29 -07:00
Bram Moolenaar 3266c85a44 patch 7.4.1811
Problem:    Netbeans channel gets garbage collected.
Solution:   Set reference in nb_channel.
2016-04-30 18:07:05 +02:00
Bram Moolenaar 715d285d79 patch 7.4.1810
Problem:    Sending DETACH after a channel was closed isn't useful.
Solution:   Only add DETACH for a netbeans channel.
2016-04-30 17:06:31 +02:00
Bram Moolenaar 868cfc19bb patch 7.4.1809
Problem:    Using wrong short option name for 'termguicolors'.
Solution:   Use the option name.
2016-04-30 16:49:58 +02:00
Bram Moolenaar 8a24b794b8 patch 7.4.1808
Problem:    Using wrong feature name to check for 'termguicolors'.
Solution:   Use the right feature name. (Ken Takata)
2016-04-30 16:13:10 +02:00
Bram Moolenaar d75263c020 patch 7.4.1807
Problem:    Test_out_close_cb sometimes fails.
Solution:   Always write DETACH to out, not err.
2016-04-30 16:07:23 +02:00
Bram Moolenaar 8e3d1b6326 patch 7.4.1806
Problem:    'termguicolors' option missing from the options window.
Solution:   Add the entry.
2016-04-30 15:17:19 +02:00
Bram Moolenaar 0648142700 Update runtime files. 2016-04-30 15:13:38 +02:00
Bram Moolenaar 4cc39a527f patch 7.4.1805
Problem:    Running tests in shadow dir fails.
Solution:   Link the samples directory
2016-04-30 15:08:27 +02:00
Bram Moolenaar b20545f2a7 patch 7.4.1804
Problem:    Can't use Vim as MANPAGER.
Solution:   Add manpager.vim. (Enno Nagel, closes #491)
2016-04-30 14:15:54 +02:00
Bram Moolenaar 0b6cf69c03 patch 7.4.1803
Problem:    GTK3 doesn't handle menu separaters properly.
Solution:   Use gtk_separator_menu_item_new(). (Kazunobu Kuriyama)
2016-04-30 13:26:14 +02:00
Bram Moolenaar 6be8c8e165 patch 7.4.1802
Problem:    Quickfix doesn't handle long lines well, they are split.
Solution:   Drop characters after a limit. (Anton Lindqvist)
2016-04-30 13:17:09 +02:00
Bram Moolenaar 113ce08456 patch 7.4.1801
Problem:    Make uninstall leaves file behind.
Solution:   Delete rgb.txt. (Kazunobu Kuriyama)
2016-04-30 12:32:52 +02:00
Bram Moolenaar 631225627d patch 7.4.1800
Problem:    Unnecessary #ifdef.
Solution:   Just use USE_24BIT. (Ken Takata)
2016-04-30 12:28:15 +02:00
Bram Moolenaar 61be73bb0f patch 7.4.1799
Problem:    'guicolors' is a confusing option name.
Solution:   Use 'termguicolors' instead. (Hirohito Higashi)
2016-04-29 22:59:22 +02:00
Bram Moolenaar bb82762907 patch 7.4.1798
Problem:    Still compiler warning for unused return value. (Charles Campbell)
Solution:   Assign to ignoredp.
2016-04-29 22:33:27 +02:00
Kazuki Sakamoto 355cfeba77 Merge pull request #274 from macvim-dev/fix/channel_test
Workaround fix for test_channel
2016-04-29 04:42:23 -07:00
Kazuki Sakamoto 5f91455a3c Workaround fix for test_channel 2016-04-29 04:40:45 -07:00
Kazuki Sakamoto 1cf41e6aee Merge remote-tracking branch 'vim/master' 2016-04-28 20:28:24 -07:00
Bram Moolenaar c61348e83f patch 7.4.1797
Problem:    Warning from Windows 64 bit compiler.
Solution:   Change int to size_t. (Mike Williams)
2016-04-28 22:20:03 +02:00
Kazuki Sakamoto f99471219e Merge remote-tracking branch 'vim/master' 2016-04-27 20:48:12 -07:00
Bram Moolenaar 283ee8b3a0 patch 7.4.1796
Problem:    Colors are wrong on MS-Windows. (Christian Robinson)
Solution:   Use existing RGB macro if it exists. (Ken Takata)
2016-04-27 20:36:31 +02:00
Kazuki Sakamoto 0afe480389 Merge remote-tracking branch 'vim/master' 2016-04-26 20:11:42 -07:00
Bram Moolenaar 5487544fa5 patch 7.4.1795
Problem:    Compiler warning for redefining RGB. (John Marriott)
Solution:   Rename it to TORGB.
2016-04-26 22:33:17 +02:00
Bram Moolenaar c285fe7c3f patch 7.4.1794
Problem:    Can't build on MS-Windows.
Solution:   Add missing declaration.
2016-04-26 21:51:48 +02:00
Bram Moolenaar e8aee7dcf9 patch 7.4.1793
Problem:    Some character classes may differ between systems.  On OS/X the
            regexp test fails.
Solution:   Make this less dependent on the system. (idea by Kazunobu Kuriyama)
2016-04-26 21:39:13 +02:00
Bram Moolenaar ab3022196e patch 7.4.1792
Problem:    Color name decoding is implemented several times.
Solution:   Move it to term.c. (Christian Brabandt)
2016-04-26 20:59:29 +02:00
Bram Moolenaar 674127e180 patch 7.4.1791
Problem:    Channel could be garbage collected too early.
Solution:   Don't free a channel or remove it from a job when it is still
            useful.
2016-04-26 20:30:07 +02:00
Bram Moolenaar 6231cb8b5b patch 7.4.1790
Problem:    Leading white space in a job command matters. (Andrew Stewart)
Solution:   Skip leading white space.
2016-04-26 19:42:42 +02:00
Bram Moolenaar 437905c25d patch 7.4.1789
Problem:    Cannot use ch_read() in the close callback.
Solution:   Do not discard the channel if there is readahead.  Do not discard
            readahead if there is a close callback.
2016-04-26 19:01:05 +02:00
Bram Moolenaar c7baa43fdb patch 7.4.1788
Problem:    NSIS script is missing packages.
Solution:   Add the missing directories. (Ken Takata)
2016-04-26 17:34:44 +02:00
Bram Moolenaar b2658a1ab0 patch 7.4.1787
Problem:    When a job ends the close callback is invoked before other
            callbacks. On Windows the close callback is not called.
Solution:   First invoke out/err callbacks before the close callback.
            Make the close callback work on Windows.
2016-04-26 17:16:24 +02:00
Kazuki Sakamoto 53793980d4 Merge remote-tracking branch 'vim/master' 2016-04-24 10:06:33 -07:00
Bram Moolenaar d10abe5201 patch 7.4.1786
Problem:    Compiled-in colors do not match rgb.txt.
Solution:   Use the rgb.txt colors. (Kazunobu Kuriyama)
2016-04-24 15:41:33 +02:00
Bram Moolenaar 490465bda6 patch 7.4.1785
Problem:    Regexp test fails on windows.
Solution:   set 'isprint' to the right value for testing.
2016-04-24 15:11:02 +02:00
Bram Moolenaar 8e9eb3a6a1 patch 7.4.1784
Problem:    The termtruecolor feature is enabled differently from many other
            features.
Solution:   Enable the termtruecolor feature for the big build, not through
            configure.
2016-04-24 15:00:11 +02:00
Bram Moolenaar af98a49dd0 patch 7.4.1783
Problem:    The old regexp engine doesn't handle character classes correctly.
            (Manuel Ortega)
Solution:   Use regmbc() instead of regc().  Add a test.
2016-04-24 14:40:12 +02:00
Kazuki Sakamoto f8dd3ebb7c Merge remote-tracking branch 'vim/master' 2016-04-23 20:51:11 -07:00
Bram Moolenaar fca6600305 patch 7.4.1782
Problem:    strcharpart() does not work properly with some multi-byte
            characters.
Solution:   Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi)
2016-04-23 15:30:09 +02:00
Bram Moolenaar da5b3dcf06 patch 7.4.1781
Problem:    synIDattr() does not respect 'guicolors'.
Solution:   Change the conditition for the mode. (Christian Brabandt)
2016-04-23 15:19:02 +02:00
Bram Moolenaar dc633cf827 patch 7.4.1780
Problem:    Warnings reported by cppcheck.
Solution:   Fix the warnings. (Dominique Pelle)
2016-04-23 14:33:19 +02:00
Bram Moolenaar 73dfe917ba patch 7.4.1779
Problem:    Using negative index in strcharpart(). (Yegappan Lakshmanan)
Solution:   Assume single byte when using a negative iindex.
2016-04-23 13:54:48 +02:00
Kazuki Sakamoto 84ffb58d89 Add --enable-termtruecolor 2016-04-22 22:36:43 -07:00
Kazuki Sakamoto 07b340efea Merge remote-tracking branch 'vim/master' 2016-04-22 20:47:56 -07:00
Bram Moolenaar b2fa54a840 patch 7.4.1778
Problem:    When using the term truecolor feature, the t_8f and t_8b termcap
            options are not set by default.
Solution:   Move the values to before BT_EXTRA_KEYS. (Christian Brabandt)
2016-04-22 21:11:09 +02:00
Bram Moolenaar 3849992b16 patch 7.4.1777
Problem:    Newly added features can escape the sandbox.
Solution:   Add checks for restricted and secure. (Yasuhiro Matsumoto)
2016-04-22 20:46:52 +02:00
Bram Moolenaar a1c487eef7 patch 7.4.1776
Problem:    Using wrong buffer length.
Solution:   use the right name. (Kazunobu Kuriyama)
2016-04-22 20:20:19 +02:00
Bram Moolenaar 763b684373 patch 7.4.1775
Problem:    The rgb.txt file is not installed.
Solution:   Install the file. (Christian Brabandt)
2016-04-22 12:24:52 +02:00
Bram Moolenaar 902647d2df patch 7.4.1774
Problem:    Cterm true color feature has warnings.
Solution:   Add type casts.
2016-04-22 11:49:06 +02:00
Bram Moolenaar 380130f1e1 patch 7.4.1773
Problem:    Compiler warnings. (Dominique Pelle)
Solution:   Add UNUSED. Add type cast. Avoid a buffer overflow.
2016-04-22 11:24:43 +02:00
Bram Moolenaar 54a38415ca patch 7.4.1772
Problem:    Installation fails when $GTK_UPDATE_ICON_CACHE is empty.
Solution:   Add quotes. (Kazunobu Kuriyama)
2016-04-22 10:14:07 +02:00
Bram Moolenaar 21decdd3e6 patch 7.4.1771
Problem:    Warning for unused variable.
Solution:   Add #ifdef. (John Marriott)
2016-04-22 10:00:58 +02:00
Kazuki Sakamoto f6c6992098 Merge remote-tracking branch 'vim/master' 2016-04-21 21:27:31 -07:00
Bram Moolenaar 8a633e3427 patch 7.4.1770
Problem:    Cannot use true color in the terminal.
Solution:   Add the 'guicolors' option. (Nikolai Pavlov)
2016-04-21 21:10:14 +02:00
Bram Moolenaar 6d4431e7b6 patch 7.4.1769
Problem:    No "closed", "errors" and "encoding" attribute on Python output.
Solution:   Add attributes and more tests. (Roland Puntaier, closes #622)
2016-04-21 20:00:56 +02:00
Bram Moolenaar d106e5ba7f patch 7.4.1768
Problem:    Arguments of setqflist() are not checked properly.
Solution:   Add better checks, add a test. (Nikolai Pavlov, Hirohito Higashi,
            closes #661)
2016-04-21 19:38:07 +02:00
Bram Moolenaar 4adfaabfe7 patch 7.4.1767
Problem:    When installing Vim on a GTK system the icon cache is not updated.
Solution:   Update the GTK icon cache when possible. (Kazunobu Kuriyama)
2016-04-21 18:20:11 +02:00
Bram Moolenaar 0c1ff16b54 updated runtime files. Add avra syntax. 2016-04-21 18:01:28 +02:00
Bram Moolenaar 02cfac85b4 patch 7.4.1766
Problem:    Building instructions for MS-Windows are outdated.
Solution:   Mention setting SDK_INCLUDE_DIR. (Ben Franklin, closes #771)  Move
            outdated instructions further down.
2016-04-21 14:34:58 +02:00
Bram Moolenaar 4694a17d1e patch 7.4.1765
Problem:    Undo options are not together in the options window.
Solution:   Put them together.  (Gary Johnson)
2016-04-21 14:05:23 +02:00
Bram Moolenaar ba53435144 patch 7.4.1763
Problem:    Coverity: useless assignment.
Solution:   Add #if 0.
2016-04-21 09:20:26 +02:00
Bram Moolenaar 268a06ce90 patch 7.4.1762
Problem:    Coverity: useless assignments.
Solution:   Remove them.
2016-04-21 09:07:01 +02:00
Bram Moolenaar 8ed43916db patch 7.4.1761
Problem:    Coverity complains about ignoring return value.
Solution:   Add "(void)" to get rid of the warning.
2016-04-21 08:56:12 +02:00
Bram Moolenaar aa3b15dbeb Updated runtime files. 2016-04-21 08:53:19 +02:00
Kazuki Sakamoto 4d505ad0fc Merge pull request #265 from macvim-dev/feature/README
MacVim README.md
2016-04-20 20:30:02 -07:00
Kazuki Sakamoto 0fffd1cda6 MacVim README.md 2016-04-20 20:28:19 -07:00
Kazuki Sakamoto 130eee0a2a Merge remote-tracking branch 'vim/master' 2016-04-20 20:20:37 -07:00
Bram Moolenaar 4445f7ee70 patch 7.4.1760
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)
2016-04-20 20:55:56 +02:00
Bram Moolenaar 40b1b5443c patch 7.4.1759
Problem:    When using feedkeys() in a timer the inserted characters are not
            used right away.
Solution:   Break the wait loop when characters have been added to typebuf.
            use this for testing CursorHoldI.
2016-04-20 20:18:23 +02:00
Bram Moolenaar 245c41070c patch 7.4.1758
Problem:    Triggering CursorHoldI when in CTRL-X mode causes problems.
Solution:   Do not trigger CursorHoldI in CTRL-X mode. Add "!" flag to
            feedkeys() (test with that didn't work though).
2016-04-20 17:37:41 +02:00
Bram Moolenaar 8e42ae5069 patch 7.4.1757
Problem:    When using complete() it may set 'modified' even though nothing
            was inserted.
Solution:   Use Down/Up instead of Next/Previous match. (Shougo, closes #745)
2016-04-20 16:39:19 +02:00
Bram Moolenaar a6e4250142 patch 7.4.1756
Problem:    "dll" options are not expanded.
Solution:   Expand environment variables. (Ozaki Kiichi)
2016-04-20 16:19:52 +02:00
Bram Moolenaar 517ffbee0d patch 7.4.1755
Problem:    When using getreg() on a non-existing register a NULL list is
            returned. (Bjorn Linse)
Solution:   Allocate an empty list. Add a test.
2016-04-20 14:59:29 +02:00
Bram Moolenaar c3691332f7 patch 7.4.1754
Problem:    When 'filetype' was set and reloading a buffer which does not
            cause it to be set, the syntax isn't loaded. (KillTheMule)
Solution:   Remember whether the FileType event was fired and fire it if not.
            (Anton Lindqvist, closes #747)
2016-04-20 12:49:49 +02:00
Bram Moolenaar c020042083 patch 7.4.1753
Problem:    "noinsert" in 'completeopt' is sometimes ignored.
Solution:   Set the variables when the 'completeopt' was set. (Ozaki Kiichi)
2016-04-20 12:02:02 +02:00
Kazuki Sakamoto fa9dd06ea8 MacVim Snapshot 102
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1752

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-04-19 20:20:23 -07:00
Kazuki Sakamoto f62065e786 Merge remote-tracking branch 'vim/master' 2016-04-18 20:26:59 -07:00
Bram Moolenaar 8d8aa0a367 Add missing test file. 2016-04-18 20:21:12 +02:00
Bram Moolenaar c1808d5822 patch 7.4.1752
Problem:    When adding to the quickfix list the current position is reset.
Solution:   Do not reset the position when not needed. (Yegappan Lakshmanan)
2016-04-18 20:04:00 +02:00
Bram Moolenaar def5abe0a2 patch 7.4.1751
Problem:    Crash when 'tagstack' is off. (Dominique Pelle)
Solution:   Fix it. (Hirohito Higashi)
2016-04-18 19:46:15 +02:00
Bram Moolenaar 7f7c3325d3 patch 7.4.1750
Problem:    When a buffer gets updated while in command line mode, the screen
            may be messed up.
Solution:   Postpone the redraw when the screen is scrolled.
2016-04-18 19:27:24 +02:00
Kazuki Sakamoto 75baa49a7a Merge remote-tracking branch 'vim/master' 2016-04-17 20:12:43 -07:00
Bram Moolenaar 30e12d259e patch 7.4.1749
Problem:    When using GTK 3.20 there are a few warnings.
Solution:   Use new functions when available. (Kazunobu Kuriyama)
2016-04-17 20:49:53 +02:00
Kazuki Sakamoto 44f028eb93 Merge remote-tracking branch 'vim/master' 2016-04-16 20:54:36 -07:00
Bram Moolenaar f9660b59b2 Add missing test file. 2016-04-16 22:19:15 +02:00
Bram Moolenaar 1538fc34fa patch 7.4.1748
Problem:    "gD" does not find match in first column of first line. (Gary
            Johnson)
Solution:   Accept match at the cursor.
2016-04-16 09:13:34 +02:00
Kazuki Sakamoto 60009f28dd Merge remote-tracking branch 'vim/master' 2016-04-15 21:19:18 -07:00
Bram Moolenaar fe4b186406 patch 7.4.1747
Problem:    Coverity: missing check for NULL pointer.
Solution:   Check for out of memory.
2016-04-15 21:47:54 +02:00
Bram Moolenaar 95509e18f8 patch 7.4.1746
Problem:    Memory leak in Perl.
Solution:   Decrement the reference count.  Add a test. (Damien)
2016-04-15 21:16:11 +02:00
Bram Moolenaar 5d98c9d932 patch 7.4.1745
Problem:    README file is not clear about where to get Vim.
Solution:   Add links to github, releases and the Windows installer.
            (Suggested by Christian Brabandt)
2016-04-15 20:54:52 +02:00
Bram Moolenaar 6621004289 patch 7.4.1744
Problem:    Python: Converting a sequence may leak memory.
Solution:   Decrement a reference. (Nikolay Pavlov)
2016-04-15 20:40:41 +02:00
Kazuki Sakamoto a5660a2ebe Merge remote-tracking branch 'vim/master' 2016-04-14 21:37:50 -07:00
Bram Moolenaar 75be2339d8 patch 7.4.1743
Problem:    Clang warns for uninitialzed variable. (Michael Jarvis)
Solution:   Initialize it.
2016-04-14 23:10:40 +02:00
Bram Moolenaar 5d18e0eca5 patch 7.4.1742
Problem:    strgetchar() does not work correctly.
Solution:   use mb_cptr2len().  Add a test. (Naruhiko Nishino)
2016-04-14 22:54:24 +02:00
Bram Moolenaar b22bd46b96 patch 7.4.1741
Problem:    Not testing utf-8 characters.
Solution:   Move the right asserts to the test_expr_utf8 test.
2016-04-14 22:52:50 +02:00
Bram Moolenaar 4d58502202 patch 7.4.1740
Problem:    syn-cchar defined with matchadd() does not appear if there are no
            other syntax definitions which matches buffer text.
Solution:   Check for startcol. (Ozaki Kiichi, haya14busa, closes #757)
2016-04-14 19:50:22 +02:00
Bram Moolenaar bea1ede1c5 patch 7.4.1739
Problem:    Messages test fails on MS-Windows.
Solution:   Adjust the asserts.  Skip the "messages maintainer" line if not
            showing all messages.
2016-04-14 19:44:36 +02:00
Bram Moolenaar 5d91646599 patch 7.4.1738
Problem:    Count for ":messages" depends on number of lines.
Solution:   Add ADDR_OTHER address type.
2016-04-14 18:42:47 +02:00
Bram Moolenaar 52196b2dbe patch 7.4.1737
Problem:    Argument marked as unused is used.
Solution:   Remove UNUSED.
2016-04-14 17:52:41 +02:00
Bram Moolenaar baa9fcaf40 patch 7.4.1736
Problem:    Unused variable.
Solution:   Remove it. (Yasuhiro Matsumoto)
2016-04-14 17:40:56 +02:00
Bram Moolenaar 451f849fd6 patch 7.4.1735
Problem:    It is not possible to only see part of the message history.  It is
            not possible to clear messages.
Solution:   Add a count to ":messages" and a clear argument. (Yasuhiro
            Matsumoto)
2016-04-14 17:16:22 +02:00
Bram Moolenaar 0f518a8f4d patch 7.4.1734
Problem:    Test fails when not using utf-8.
Solution:   Split test in regularand utf-8 part.
2016-04-14 16:57:10 +02:00
Bram Moolenaar 839e954aaa patch 7.4.1733
Problem:    "make install" doesn't know about cross-compiling. (Christian
            Neukirchen)
Solution:   Add CROSS_COMPILING. (closes #740)
2016-04-14 16:46:02 +02:00
Bram Moolenaar 429fcfbf9a patch 7.4.1732
Problem:    Folds may close when using autocomplete. (Anmol Sethi)
Solution:   Increment/decrement disable_fold. (Christian Brabandt, closes
            #643)
2016-04-14 16:22:04 +02:00
Bram Moolenaar 8110a091bc patch 7.4.1731
Problem:    Python: turns partial into simple funcref.
Solution:   Use partials like partials. (Nikolai Pavlov, closes #734)
2016-04-14 15:56:09 +02:00
Bram Moolenaar 58de0e2dcc patch 7.4.1730
Problem:    It is not easy to get a character out of a string.
Solution:   Add strgetchar() and strcharpart().
2016-04-14 15:13:46 +02:00
Bram Moolenaar 6244a0fc29 patch 7.4.1729
Problem:    The Perl interface cannot use 'print' operator for writing
            directly in standard IO.
Solution:   Add a minimal implementation of PerlIO Layer feature and try to
            use it for STDOUT/STDERR. (Damien)
2016-04-14 14:09:25 +02:00
Bram Moolenaar 81edd171a9 patch 7.4.1728
Problem:    The help for functions require a space after the "(".
Solution:   Make CTRL-] on a function name ignore the arguments. (Hirohito
            Higashi)
2016-04-14 13:51:37 +02:00
Bram Moolenaar ebf7dfa6f1 patch 7.4.1727
Problem:    Cannot detect a crash in tests when caused by garbagecollect().
Solution:   Add garbagecollect_for_testing().  Do not free a job if is still
            useful.
2016-04-14 12:46:51 +02:00
Kazuki Sakamoto b3d9e6e9bf Merge remote-tracking branch 'vim/master' 2016-04-13 20:49:51 -07:00
Bram Moolenaar 700eefe5a4 patch 7.4.1726
Problem:    ANSI compiler complains about string length.
Solution:   Split long string in two parts. (Michael Jarvis)
2016-04-13 21:14:37 +02:00
Kazuki Sakamoto 1e7a5a0a4b Merge remote-tracking branch 'vim/master' 2016-04-12 21:28:59 -07:00
Bram Moolenaar 3780bb923a patch 7.4.1725
Problem:    Compiler errors for non-ANSI compilers.
Solution:   Remove // comment.  Remove comma at end of enum. (Michael Jarvis)
2016-04-12 22:18:53 +02:00
Bram Moolenaar 03413f4416 Updated runtime files. 2016-04-12 21:07:15 +02:00
Kazuki Sakamoto afe0027db1 Merge remote-tracking branch 'vim/master' 2016-04-11 21:27:11 -07:00
Bram Moolenaar 73cd8fb3e8 patch 7.4.1724
Problem:    Tabline test fails in GUI.
Solution:   Remove 'e' from 'guioptions'.
2016-04-11 22:49:03 +02:00
Bram Moolenaar f73d3bc253 patch 7.4.1723
Problem:    When using try/catch in 'tabline' it is still considered an
            error and the tabline will be disabled.
Solution:   Check did_emsg instead of called_emsg. (haya14busa, closes #746)
2016-04-11 21:55:15 +02:00
Bram Moolenaar 0239acb11f patch 7.4.1722
Problem:    Crash when calling garbagecollect() after starting a job.
Solution:   Set the copyID on job and channel. (Hirohito Higashi, Ozaki
            Kiichi)
2016-04-11 21:02:54 +02:00
Kazuki Sakamoto d9b7066919 Merge remote-tracking branch 'vim/master' 2016-04-09 20:36:33 -07:00
Bram Moolenaar 939a1abe93 Updated runtime files. 2016-04-10 01:31:25 +02:00
Kazuki Sakamoto 9f4f1ebd63 Merge remote-tracking branch 'vim/master' 2016-04-08 20:43:37 -07:00
Bram Moolenaar a4d13de836 patch 7.4.1721
Problem:    The vimtbar files are unused.
Solution:   Remove them. (Ken Takata)
2016-04-08 22:17:04 +02:00
Bram Moolenaar 9e4043757c patch 7.4.1720
Problem:    Tests fail without the job feature.
Solution:   Skip tests when the job feature is not present.
2016-04-08 17:25:19 +02:00
Bram Moolenaar 107e1eef1d patch 7.4.1719
Problem:    Leaking memory when there is a cycle involving a job and a
            partial.
Solution:   Add a copyID to job and channel.  Set references in items referred
            by them.  Go through all jobs and channels to find unreferenced
            items.  Also, decrement reference counts when garbage collecting.
2016-04-08 17:07:19 +02:00
Kazuki Sakamoto fa37206276 Merge remote-tracking branch 'vim/master' 2016-04-07 20:48:31 -07:00
Bram Moolenaar d56374e25d patch 7.4.1718
Problem:    Coverity: not using return value of set_ref_in_item().
Solution:   Use the return value.
2016-04-07 22:16:30 +02:00
Bram Moolenaar 0e4c1de556 patch 7.4.1717
Problem:    Leaking memory when opening a channel fails.
Solution:   Unreference partials in job options.
2016-04-07 21:40:38 +02:00
Kazuki Sakamoto 3ef3a60656 Merge remote-tracking branch 'vim/master' 2016-04-06 21:28:50 -07:00
Bram Moolenaar baec5c1768 patch 7.4.1716
Problem:    'autochdir' doesn't work for the first file. (Rob Hoelz)
Solution:   Call DO_AUTOCHDIR after startup. (Christian Brabandt, closes #704)
2016-04-06 23:06:23 +02:00
Bram Moolenaar ddecc25947 patch 7.4.1715
Problem:    Double free when a partial is in a cycle with a list or dict.
            (Nikolai Pavlov)
Solution:   Do not free a nested list or dict used by the partial.
2016-04-06 22:59:37 +02:00
Kazuki Sakamoto a6e4822186 Merge remote-tracking branch 'vim/master' 2016-04-05 20:43:34 -07:00
Bram Moolenaar 54f1b7abf8 patch 7.4.1714
Problem:    Non-GUI specific settings in the gvimrc_example file.
Solution:   Move some settings to the vimrc_example file.  Remove setting
            'hlsearch' again. (suggested by Hirohito Higashi)
2016-04-05 22:07:04 +02:00
Bram Moolenaar f80663f17b patch 7.4.1713
Problem:    GTK GUI doesn't work on Wayland.
Solution:   Specify that only the X11 backend is allowed. (Simon McVittie)
2016-04-05 21:56:06 +02:00
Bram Moolenaar 49b2732644 patch 7.4.1712
Problem:    For plugins in packages, plugin authors need to take care of all
            dependencies.
Solution:   When loading "start" packages and for :packloadall, first add all
            directories to 'runtimepath' before sourcing plugins.
2016-04-05 21:13:00 +02:00
Bram Moolenaar a742e084b6 patch 7.4.1711
Problem:    When using try/catch in 'statusline' it is still considered an
            error and the status line will be disabled.
Solution:   Check did_emsg instead of called_emsg. (haya14busa, closes #729)
2016-04-05 21:10:38 +02:00
Kazuki Sakamoto a18a828b26 Merge remote-tracking branch 'vim/master' 2016-04-04 22:44:39 -07:00
Bram Moolenaar 17fe5e1aec patch 7.4.1710
Problem:    Not all output of an external command is read.
Solution:   Avoid timing out when the process has exited. (closes #681)
2016-04-04 22:03:08 +02:00
Bram Moolenaar 4c9ce053d9 patch 7.4.1709
Problem:    Mistake in #ifdef.
Solution:   Change PROOF_QUALITY to DRAFT_QUALITY. (Ken Takata)
2016-04-04 21:06:19 +02:00
Bram Moolenaar 2a6fa564a3 patch 7.4.1708
Problem:    New regexp engine does not work properly with EBCDIC.
Solution:   Define equivalence class characters. (Owen Leibman)
2016-04-04 20:55:59 +02:00
Kazuki Sakamoto 79f8f407af MacVim Snapshot 100
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1707

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-04-03 19:27:21 -07:00
Kazuki Sakamoto 04a4b41111 Merge remote-tracking branch 'vim/master' 2016-04-03 17:57:43 -07:00
Bram Moolenaar 0921ecff1c patch 7.4.1707
Problem:    Cannot use empty dictionary key, even though it can be useful.
Solution:   Allow using an empty dictionary key.
2016-04-03 22:44:36 +02:00
Bram Moolenaar e185c1efba patch 7.4.1706
Problem:    Old style function declaration breaks build.
Solution:   Remove __ARGS().
2016-04-03 22:22:30 +02:00
Bram Moolenaar 7c1c6dbb68 patch 7.4.1705
Problem:    The 'guifont' option does not allow for a quality setting.
Solution:   Add the "q" item, supported on MS-Windows. (Yasuhiro Matsumoto)
2016-04-03 22:08:05 +02:00
Bram Moolenaar 3dda7db4e1 patch 7.4.1704
Problem:    Using freed memory with "wincmd p". (Dominique Pelle)
Solution:   Also clear "prevwin" in other tab pages.
2016-04-03 21:22:58 +02:00
Bram Moolenaar b50e5f5686 patch 7.4.1703
Problem:    Can't assert for not equal and not matching.
Solution:   Add assert_notmatch() and assert_notequal().
2016-04-03 20:57:20 +02:00
Bram Moolenaar 4afc7c5d4a patch 7.4.1702
Problem:    Using freed memory when parsing 'printoptions' fails.
Solution:   Save the old options and restore them in case of an error.
            (Dominique)
2016-04-03 14:56:52 +02:00
Bram Moolenaar f9f22dbe4f patch 7.4.1701
Problem:    Equivalence classes still tested in old style tests.
Solution:   Remove the duplicate.
2016-04-03 14:09:59 +02:00
Bram Moolenaar 22e421549d patch 7.4.1700
Problem:    Equivalence classes are not properly tested.
Solution:   Add tests for multi-byte and latin1. Fix an error. (Owen Leibman)
2016-04-03 14:02:02 +02:00
Kazuki Sakamoto 0e954ac375 Merge remote-tracking branch 'vim/master' 2016-04-02 21:23:43 -07:00
Bram Moolenaar 71fb0c146b patch 7.4.1699
Problem:    :packadd does not work the same when used early or late.
Solution:   Always load plugins matching "plugin/**/*.vim".
2016-04-02 22:44:16 +02:00
Bram Moolenaar 298c65971e patch 7.4.1698
Problem:    Two tests fail when running tests with MinGW. (Michael Soyka)
Solution:   Convert test_getcwd.ok test_wordcount.ok to unix fileformat.
2016-04-02 22:24:20 +02:00
Bram Moolenaar cb0700844c patch 7.4.1697
Problem:    Display problems when the 'ambiwidth' and 'emoji' options are not
            set properly or the terminal doesn't behave as expected.
Solution:   After drawing an ambiguous width character always position the
            cursor.
2016-04-02 22:14:51 +02:00
Bram Moolenaar fd773e9e88 patch 7.4.1696
Problem:    When using :stopinsert in a silent mapping the "INSERT" message
            isn't cleared. (Coacher)
Solution:   Always clear the message. (Christian Brabandt, closes #718)
2016-04-02 19:39:16 +02:00
Bram Moolenaar 8bc189e81a patch 7.4.1695
Problem:    ":syn reset" clears the effect ":syn iskeyword". (James McCoy)
Solution:   Remove clearing the syntax keywords.
2016-04-02 19:01:58 +02:00
Bram Moolenaar f28d871465 patch 7.4.1694
Problem:    Win32 gvim doesn't work with "dvorakj" input method.
Solution:   Wait for QS_ALLINPUT instead of QS_ALLEVENTS. (Yukihiro Nakadaira)
2016-04-02 15:59:40 +02:00
Bram Moolenaar 8e77bad3c1 Add json_test to gitignore (Hirohito Higashi) 2016-04-02 15:32:45 +02:00
Bram Moolenaar 864733ad92 patch 7.4.1693
Problem:    Building the Perl interface gives compiler warnings.
Solution:   Remove a pragma. Add noreturn attributes. (Damien)
2016-04-02 14:18:01 +02:00
Bram Moolenaar 9bd547aca4 patch 7.4.1692
Problem:    feedkeys('i', 'x') gets stuck, waits for a character to be typed.
Solution:   Behave like ":normal". (Yasuhiro Matsumoto)
2016-04-01 21:00:48 +02:00
Kazuki Sakamoto cef9e23dd7 Merge remote-tracking branch 'vim/master' 2016-03-31 21:27:57 -07:00
Bram Moolenaar b681be175b patch 7.4.1691
Problem:    When switching to a new buffer and an autocommand applies syntax
            highlighting an ml_get error may occur.
Solution:   Check "syn_buf" against the buffer in the window. (Alexander von
            Buddenbrock, closes #676)
2016-03-31 23:02:16 +02:00
Bram Moolenaar 42356150ba patch 7.4.1690
Problem:    Can't compile with the conceal feature but without multi-byte.
Solution:   Adjust #ifdef. (Owen Leibman)
2016-03-31 22:27:40 +02:00
Kazuki Sakamoto 4005cc7a59 Merge remote-tracking branch 'vim/master' 2016-03-30 20:50:57 -07:00
Bram Moolenaar 758535a1df patch 7.4.1689
Problem:    Ruby interface has inconsistent coding style.
Solution:   Fix the coding style. (Ken Takata)
2016-03-30 22:06:16 +02:00
Bram Moolenaar 67c2c058ea patch 7.4.1688
Problem:    MzScheme does not support partial.
Solution:   Add minimal partial support. (Ken Takata)
2016-03-30 22:03:02 +02:00
Bram Moolenaar bdf0bda968 patch 7.4.1687
Problem:    The channel close_cb option does not work.
Solution:   Use jo_close_partial instead of jo_err_partial. (Damien)
2016-03-30 21:06:57 +02:00
Bram Moolenaar e9c0727003 patch 7.4.1686
Problem:    When running tests $HOME/.viminfo is written. (James McCoy)
Solution:   Add 'nviminfo' to the 'viminfo' option. (closes #722)
2016-03-30 20:50:46 +02:00
Kazuki Sakamoto 4d59b3cc54 Merge remote-tracking branch 'vim/master' 2016-03-29 20:22:57 -07:00
Bram Moolenaar 7db8f6f4f8 Updated runtime files. 2016-03-29 23:12:46 +02:00
Bram Moolenaar 7fed5c18f8 patch 7.4.1685
Problem:    There is no easy way to get all the information about a match.
Solution:   Add matchstrpos(). (Ozaki Kiichi)
2016-03-29 23:10:31 +02:00
Bram Moolenaar d18cfb7dbf patch 7.4.1684
Problem:    README text is slightly outdated.
Solution:   Mention the READMEdir directory.
2016-03-29 22:29:18 +02:00
Kazuki Sakamoto e6f9c446ac Merge remote-tracking branch 'vim/master' 2016-03-28 20:19:42 -07:00
Bram Moolenaar e609ad557c patch 7.4.1683
Problem:    Generated .bat files do not support --nofork.
Solution:   Add check for --nofork.  Also add "setlocal". (Kevin Cantú,
            closes #659)
2016-03-28 23:05:48 +02:00
Bram Moolenaar 72188e9aae patch 7.4.1682
Problem:    Coverity: no check for NULL.
Solution:   Add check for invalid argument to assert_match().
2016-03-28 22:48:29 +02:00
Bram Moolenaar ef9d9b94a8 patch 7.4.1681
Problem:    Coverity warns for fixed size buffer length (false positive).
Solution:   Add a check for the name length.
2016-03-28 22:44:50 +02:00
Bram Moolenaar 925ccfde79 patch 7.4.1680
Problem:    Coverity warns for not checking name length (false positive).
Solution:   Only copy the characters we know are there.
2016-03-28 22:38:02 +02:00
Bram Moolenaar 7d2a5796d3 patch 7.4.1679
Problem:    Coverity: copying value of v_lock without initializing it.
Solution:   Init v_lock in rettv_list_alloc() and rettv_dict_alloc().
2016-03-28 22:30:50 +02:00
Bram Moolenaar 8b29aba019 patch 7.4.1678
Problem:    Warning for unused argument.
Solution:   Add UNUSED. (Dominique Pelle)
2016-03-28 22:17:16 +02:00
Bram Moolenaar 0b9e4d1224 patch 7.4.1677
Problem:    A reference to the removed file_select plugin remains.
Solution:   Remove it.
2016-03-28 22:05:47 +02:00
Bram Moolenaar fead3ac9a3 patch 7.4.1676
Problem:    The shellmenu plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 21:26:47 +02:00
Bram Moolenaar e101204906 patch 7.4.1675
Problem:    The swapmous plugin has to be copied or sourced to be used.
Solution:   Turn it into the swapmouse package.
2016-03-28 21:10:49 +02:00
Bram Moolenaar cf2d8dee51 patch 7.4.1674
Problem:    The editexisting plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 21:04:37 +02:00
Bram Moolenaar 2946d0236d patch 7.4.1673
Problem:    The justify plugin has to be copied or sourced to be used.
Solution:   Turn it into a package.
2016-03-28 20:53:08 +02:00
Bram Moolenaar e934e8f5c1 patch 7.4.1672
Problem:    The Dvorak support is a bit difficult to install.
Solution:   Turn it into an optional package.
2016-03-28 20:40:32 +02:00
Bram Moolenaar 61264d9969 patch 7.4.1671
Problem:    When help exists in multiple languages, adding @ab while "ab" is
            the default help language is unnecessary.
Solution:   Leave out "@ab" when not needed. (Ken Takata)
2016-03-28 19:59:02 +02:00
Bram Moolenaar a32095fc8f patch 7.4.1670
Problem:    Completion doesn't work well for a variable containing "#".
Solution:   Recognize the "#". (Watiko)
2016-03-28 19:27:13 +02:00
Bram Moolenaar 8b877ac38e patch 7.4.1669
Problem:    When writing buffer lines to a pipe Vim may block.
Solution:   Avoid blocking, write more lines later.
2016-03-28 19:16:20 +02:00
Bram Moolenaar ee1f7b3cb7 patch 7.4.1668
Problem:    channel_get_all() does multiple allocations.
Solution:   Compute the size and allocate once.
2016-03-28 14:42:14 +02:00
Bram Moolenaar 84e1d2b21a patch 7.4.1667
Problem:    Win32: waiting on a pipe with fixed sleep time.
Solution:   Start with a short delay and increase it when looping.
2016-03-28 14:20:41 +02:00
Bram Moolenaar 46c00a6565 patch 7.4.1666
Problem:    When reading JSON from a channel all readahead is used.
Solution:   Use the fill function to reduce overhead.
2016-03-28 14:11:42 +02:00
Kazuki Sakamoto 1e35e3ee83 Merge remote-tracking branch 'vim/master' 2016-03-27 20:29:36 -07:00
Bram Moolenaar 8038568722 patch 7.4.1665
Problem:    Crash when calling job_start() with a NULL string. (Dominique)
Solution:   Check for an invalid argument.
2016-03-27 19:13:35 +02:00
Bram Moolenaar 89c64d557d patch 7.4.1664
Problem:    Crash in :cgetexpr.
Solution:   Check for NULL pointer. (Dominique) Add a test.
2016-03-27 18:44:40 +02:00
Bram Moolenaar ea6553bec3 patch 7.4.1663
Problem:    In tests it's often useful to check if a pattern matches.
Solution:   Add assert_match().
2016-03-27 15:13:38 +02:00
Kazuki Sakamoto 312c0326e5 Merge remote-tracking branch 'vim/master' 2016-03-26 19:39:06 -07:00
Bram Moolenaar 4f3f668c84 Updated runtime files. 2016-03-26 23:01:59 +01:00
Bram Moolenaar c4dcd60c76 patch 7.4.1662
Problem:    No test for an invalid Ex command on a channel.
Solution:   Test handling an invalid command gracefully.  Avoid getting an
            error message, do write it to the channel log.
2016-03-26 22:56:46 +01:00
Bram Moolenaar fa8b2e173d patch 7.4.1661
Problem:    No test for special characters in channel eval command.
Solution:   Testing sending and receiving text with special characters.
2016-03-26 22:19:27 +01:00
Bram Moolenaar 819821c5a9 patch 7.4.1660
Problem:    has('patch-7.4.1') doesn't work.
Solution:   Fix off-by-one error. (Thinca)
2016-03-26 21:24:14 +01:00
Bram Moolenaar e1581307d2 patch 7.4.1659
Problem:    Compiler warning for argument type. (Manuel Ortega)
Solution:   Remove "&".
2016-03-26 21:04:48 +01:00
Bram Moolenaar 1473551a44 patch 7.4.1658
Problem:    A plugin does not know when VimEnter autocommands were already
            triggered.
Solution:   Add the v:vim_did_enter variable.
2016-03-26 21:00:08 +01:00
Bram Moolenaar 8fdd721047 patch 7.4.1657
Problem:    On Unix in a terminal: channel messages are not handled right away.
            (Jackson Alves de Aquino)
Solution:   Break the loop for timers when something was received.
2016-03-26 19:41:48 +01:00
Bram Moolenaar 92e35efaf6 patch 7.4.1656
Problem:    Crash when using partial with a timer.
Solution:   Increment partial reference count. (Hirohito Higashi)
2016-03-26 18:20:41 +01:00
1016 changed files with 95262 additions and 56936 deletions
+2
View File
@@ -78,6 +78,8 @@ src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/memfile_test
src/json_test
src/message_test
# From MacVim
.*.swp
+2
View File
@@ -41,6 +41,8 @@ script:
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py3 print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "ruby puts(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- make test
- make -C src/testdir clean
- make -C src testgui
before_deploy:
- make -C src macvim-dmg
+33 -5
View File
@@ -18,10 +18,12 @@ SRC_ALL = \
src/charset.c \
src/crypt.c \
src/crypt_zip.c \
src/dict.c \
src/diff.c \
src/digraph.c \
src/edit.c \
src/eval.c \
src/evalfunc.c \
src/ex_cmds.c \
src/ex_cmds.h \
src/ex_cmds2.c \
@@ -43,6 +45,7 @@ SRC_ALL = \
src/hashtab.c \
src/json.c \
src/json_test.c \
src/list.c \
src/keymap.h \
src/macros.h \
src/main.c \
@@ -53,6 +56,7 @@ SRC_ALL = \
src/memline.c \
src/menu.c \
src/message.c \
src/message_test.c \
src/misc1.c \
src/misc2.c \
src/move.c \
@@ -74,6 +78,8 @@ SRC_ALL = \
src/sha256.c \
src/structs.h \
src/spell.c \
src/spell.h \
src/spellfile.c \
src/syntax.c \
src/tag.c \
src/term.c \
@@ -81,11 +87,13 @@ SRC_ALL = \
src/termlib.c \
src/ui.c \
src/undo.c \
src/userfunc.c \
src/version.c \
src/version.h \
src/vim.h \
src/winclip.c \
src/window.c \
src/tee/tee.c \
src/xxd/xxd.c \
src/main.aap \
src/testdir/main.aap \
@@ -95,6 +103,8 @@ SRC_ALL = \
src/testdir/*.py \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/shared.vim \
src/testdir/setup.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
@@ -116,21 +126,25 @@ SRC_ALL = \
src/testdir/bench*.vim \
src/testdir/samples/*.txt \
src/proto.h \
src/proto/arabic.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/dict.pro \
src/proto/diff.pro \
src/proto/digraph.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalfunc.pro \
src/proto/ex_cmds.pro \
src/proto/ex_cmds2.pro \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/farsi.pro \
src/proto/fileio.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
@@ -139,6 +153,7 @@ SRC_ALL = \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/json.pro \
src/proto/list.pro \
src/proto/main.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
@@ -160,12 +175,14 @@ SRC_ALL = \
src/proto/search.pro \
src/proto/sha256.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
src/proto/termlib.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/userfunc.pro \
src/proto/version.pro \
src/proto/winclip.pro \
src/proto/window.pro \
@@ -247,6 +264,7 @@ SRC_UNIX = \
src/workshop.h \
src/wsdebug.c \
src/wsdebug.h \
src/tee/Makefile \
src/xxd/Makefile \
# source files for both DOS and Unix
@@ -298,6 +316,7 @@ SRC_DOS = \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
tools/rename.bat \
src/bigvim.bat \
src/bigvim64.bat \
src/msvcsetup.bat \
@@ -317,6 +336,8 @@ SRC_DOS = \
src/if_ole.h \
src/if_ole.idl \
src/if_perl_msvc/stdbool.h \
src/iscygpty.c \
src/iscygpty.h \
src/iid_ole.c \
src/os_dos.h \
src/os_w32dll.c \
@@ -337,9 +358,9 @@ SRC_DOS = \
src/vimio.h \
src/gvim.exe.mnf \
src/vimrun.c \
src/vimtbar.h \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
@@ -375,15 +396,15 @@ SRC_DOS_BIN = \
src/tools.bmp \
src/vim*.ico \
src/vim.tlb \
src/vimtbar.lib \
src/xpm/COPYRIGHT \
src/xpm/README.txt \
src/xpm/include/*.h \
src/xpm/x64/lib/libXpm.a \
src/xpm/x64/lib/libXpm.lib \
src/xpm/x64/lib-vc14/libXpm.lib \
src/xpm/x86/lib/libXpm.a \
src/xpm/x86/lib/libXpm.lib \
src/vimtbar.dll \
src/xpm/x86/lib-vc14/libXpm.lib \
nsis/icons/*.bmp \
nsis/icons/*.ico \
@@ -483,7 +504,6 @@ RT_ALL = \
runtime/ftoff.vim \
runtime/gvimrc_example.vim \
runtime/macros/README.txt \
runtime/macros/dvorak \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \
runtime/macros/hanoi/hanoi.vim \
@@ -510,8 +530,9 @@ RT_ALL = \
runtime/macros/urm/examples \
runtime/macros/urm/urm \
runtime/macros/urm/urm.vim \
runtime/mswin.vim \
runtime/defaults.vim \
runtime/evim.vim \
runtime/mswin.vim \
runtime/optwin.vim \
runtime/ftplugin.vim \
runtime/ftplugof.vim \
@@ -524,9 +545,16 @@ RT_ALL = \
runtime/tutor/tutor \
runtime/tutor/tutor.vim \
runtime/vimrc_example.vim \
runtime/pack/dist/opt/dvorak/plugin/dvorak.vim \
runtime/pack/dist/opt/dvorak/dvorak/enable.vim \
runtime/pack/dist/opt/dvorak/dvorak/disable.vim \
runtime/pack/dist/opt/editexisting/plugin/editexisting.vim \
runtime/pack/dist/opt/justify/plugin/justify.vim \
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
runtime/pack/dist/opt/matchit/doc/matchit.txt \
runtime/pack/dist/opt/matchit/doc/tags \
runtime/pack/dist/opt/shellmenu/plugin/shellmenu.vim \
runtime/pack/dist/opt/swapmouse/plugin/swapmouse.vim \
# runtime files for all distributions without CR-NL translation
RT_ALL_BIN = \
+21 -92
View File
@@ -32,7 +32,7 @@ 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:
all install uninstall tools config configure reconfig proto depend lint tags types test scripttests unittests testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@@ -51,12 +51,9 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##d16.zip binary for MS-DOS 16 bits
# vim##d32.zip binary for MS-DOS 32 bits
# vim##w32.zip binary for Win32
# dosbin vim##w32.zip binary for Win32
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
# gvim##_s.zip exe for Win32s GUI
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
@@ -73,15 +70,6 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
MAJOR = 7
MINOR = 4
# Uncomment this line if the Win32s version is to be included.
# DOSBIN_S = dosbin_s
# Uncomment this line if the 16 bit DOS version is to be included.
# DOSBIN_D16 = dosbin_d16
# Uncomment this line if the 32 bit DOS version is to be included.
# DOSBIN_D32 = dosbin_d32
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
@@ -149,31 +137,35 @@ MINOR = 4
# - > cd src
# > nmake -f Make_mvc.mak
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak test
# - check the output.
# - Rename vim.exe to vimw32.exe, xxd/xxd.exe to xxdw32.exe.
# - Rename vim.pdb to vimw32.pdb.
# - Rename install.exe to installw32.exe and uninstal.exe to uninstalw32.exe.
# - Rename (using tools/rename.bat):
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
# xxd/xxd.exe to xxdw32.exe
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
# uninstal.exe to uninstalw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# - check the output.
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Copy "GvimExt/gvimext.dll" to here.
# - Delete vimrun.exe, install.exe and uninstal.exe.
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
# - Install the interfaces you want, see src/INSTALLpc.txt
# - Build:
# > cd src
# Adjust bigvim.bat to match the version of each interface you want.
# > bigvim.bat
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
@@ -187,7 +179,8 @@ MINOR = 4
# NSIS self installing exe:
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# uninstalw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# above.
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
@@ -221,15 +214,7 @@ MINOR = 4
# 32 bit DOS version: Support was removed in 7.4.1399. When syncing to before
# that it probably won't build.
#
# Win32s GUI version: (requires a very old compiler)
# - Set environment for Visual C++ 4.1 (requires a new console window):
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
# - Rename "install.exe" to "installw32.exe"
# - Rename "uninstal.exe" to "uninstalw32.exe"
# - The produced uninstalw32.exe and vimrun.exe are used.
# Win32s GUI version: Support was removed in patch 7.4.1364.
#
# OS/2 support was removed in patch 7.4.1008. If you want to give it a try
# sync to before that and check the old version of this Makefile for
@@ -268,12 +253,9 @@ dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
COMMENT_OLE = comment/$(VERSION)-bin-ole
COMMENT_W32S = comment/$(VERSION)-bin-w32s
COMMENT_SRC = comment/$(VERSION)-src
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
@@ -281,12 +263,6 @@ COMMENT_FARSI = comment/$(VERSION)-farsi
dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_D16): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
dist/$(COMMENT_D32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
dist/$(COMMENT_W32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
@@ -296,9 +272,6 @@ dist/$(COMMENT_GVIM): dist/comment
dist/$(COMMENT_OLE): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
dist/$(COMMENT_W32S): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
dist/$(COMMENT_SRC): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
@@ -501,7 +474,8 @@ runtime_unix2dos: dosrt_files
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 $(DOSBIN_D32) dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_ole $(DOSBIN_S)
-rm $(IN_README_DIR)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
@@ -512,8 +486,8 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -532,43 +506,13 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
# make 32bit DOS
dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
-rm -rf dist/vim$(VERSION)d32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
# make 16bit DOS
dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
-rm -rf dist/vim$(VERSION)d16.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
# make Win32 gvim with OLE
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
-rm -rf dist/gvim$(VERSION)ole.zip
@@ -579,6 +523,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -590,22 +535,6 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
# make Win32s gvim
dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
-rm -rf dist/gvim$(VERSION)_s.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp README_w32s.txt dist/vim/$(VIMRTDIR)
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
html: dist dist/$(COMMENT_HTML)
-rm -rf dist/vim$(VERSION)html.zip
cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
+6 -121
View File
@@ -1,125 +1,10 @@
`README.md` for version 7.4 of Vim: Vi IMproved.
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Coverage Status](https://coveralls.io/repos/vim/vim/badge.svg?branch=master&service=github)](https://coveralls.io/github/vim/vim?branch=master)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
Vim - the text editor - for Mac OS X
This is the official GitHub repository for MacVim, the macOS port of [vim](https://github.com/vim/vim). It is based on
[Björn Winckler's repository](https://github.com/b4winckler/macvim), which was official until he stepped down as the
maintainer of the port.
## What is Vim? ##
- MacVim homepage http://macvim-dev.github.io/macvim
Vim is an almost compatible version of the UNIX editor Vi. Many new features
have been added: multi-level undo, syntax highlighting, command line history,
on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
`runtime/doc/vi_diff.txt` for differences with Vi.
- Vim README https://github.com/macvim-dev/macvim/blob/master/README_vim.md
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
Vim runs under MS-DOS, MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh,
VMS and almost all flavours of UNIX. Porting to other systems should not be
very difficult. Older versions of Vim run on MS-Windows 95/98/Me, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
## Distribution ##
You can often use your favorite package manager to install Vim. On Mac and
Linux a small version of Vim is pre-installed, you still need to install Vim
if you want more features.
There are separate distributions for Unix, PC, Amiga and some other systems.
This `README.md` file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check http://www.vim.org/download.php for
an overview of currently available distributions.
## Documentation ##
The vim tutor is a one hour training course for beginners. Mostly it can be
started as `vimtutor`. See `:help tutor` for more information.
The best is to use `:help` in Vim. If you don't have an executable yet, read
`runtime/doc/help.txt`. It contains pointers to the other documentation
files. The User Manual reads like a book and is recommended to learn to use
Vim. See `:help user-manual`.
## Copying ##
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation to help orphans in Uganda. Please read the file
`runtime/doc/uganda.txt` for details (do `:help uganda` inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
text must always be included. For modified versions a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
## Sponsoring ##
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See `runtime/doc/uganda.txt`. But at the same time donations
increase Bram's motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
## Compiling ##
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
`src` directory. See `src/INSTALL` for instructions.
## Installation ##
See one of these files for system-specific instructions:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more `README_*.txt` files, depending on the distribution you used.
## Contributing ##
If you would like to help making Vim better, see the [CONTRIBUTING.md](https://github.com/vim/vim/blob/master/CONTRIBUTING.md) file.
## Information ##
The latest news about Vim can be found on the Vim home page:
http://www.vim.org/
If you have problems, have a look at the Vim documentation or tips:
http://www.vim.org/docs.php
http://vim.wikia.com/wiki/Vim_Tips_Wiki
If you still have problems or any other questions, use one of the mailing
lists to discuss them with Vim users and developers:
http://www.vim.org/maillist.php
If nothing else works, report bugs directly:
Bram Moolenaar <Bram@vim.org>
## Main author ##
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar <Bram@vim.org>
+43 -27
View File
@@ -3,21 +3,23 @@ README.txt for version 7.4 of Vim: Vi IMproved.
WHAT IS VIM?
Vim is an almost compatible version of the UNIX editor Vi. Many new features
have been added: multi-level undo, syntax highlighting, command line history,
on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
"runtime/doc/vi_diff.txt" for differences with Vi.
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
available. Still, Vi compatibility is maintained, those who have Vi "in the
fingers" will feel at home. See "runtime/doc/vi_diff.txt" for differences with
Vi.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-DOS, MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh,
VMS and almost all flavours of UNIX. Porting to other systems should not be
very difficult. Older versions of Vim run on MS-Windows 95/98/Me, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
almost all flavours of UNIX. Porting to other systems should not be very
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
DISTRIBUTION
@@ -34,10 +36,38 @@ Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check "http://www.vim.org/download.php" for
an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from github: https://github.com/vim/vim.
* Get the source code as an archive: https://github.com/vim/vim/releases.
* Get a Windows executable from the vim-win32-installer repository:
https://github.com/vim/vim-win32-installer/releases.
COMPILING
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
"src" directory. See src/INSTALL for instructions.
INSTALLATION
See one of these files for system-specific instructions. Either in the
READMEdir directory (in the repository) or the top directory (if you unpack an
archive):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
DOCUMENTATION
The vim tutor is a one hour training course for beginners. Mostly it can be
The Vim tutor is a one hour training course for beginners. Often it can be
started as "vimtutor". See ":help tutor" for more information.
The best is to use ":help" in Vim. If you don't have an executable yet, read
@@ -74,23 +104,9 @@ For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
COMPILING
CONTRIBUTING
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
"src" directory. See src/INSTALL for instructions.
INSTALLATION
See one of these files for system-specific instructions:
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
If you would like to help making Vim better, see the CONTRIBUTING.md file.
INFORMATION
+136
View File
@@ -0,0 +1,136 @@
`README.md` for version 7.4 of Vim: Vi IMproved.
[![Build Status](https://travis-ci.org/vim/vim.svg?branch=master)](https://travis-ci.org/vim/vim)
[![Coverage Status](https://coveralls.io/repos/vim/vim/badge.svg?branch=master&service=github)](https://coveralls.io/github/vim/vim?branch=master)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim)
[![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim)
## What is Vim? ##
Vim is a greatly improved version of the good old UNIX editor Vi. Many new
features have been added: multi-level undo, syntax highlighting, command line
history, on-line help, spell checking, filename completion, block operations,
script language, etc. There is also a Graphical User Interface (GUI)
available. Still, Vi compatibility is maintained, those who have Vi "in the
fingers" will feel at home. See `runtime/doc/vi_diff.txt` for differences with
Vi.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-Windows (NT, 2000, XP, Vista, 7, 8, 10), Macintosh, VMS and
almost all flavours of UNIX. Porting to other systems should not be very
difficult. Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me, Amiga
DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
## Distribution ##
You can often use your favorite package manager to install Vim. On Mac and
Linux a small version of Vim is pre-installed, you still need to install Vim
if you want more features.
There are separate distributions for Unix, PC, Amiga and some other systems.
This `README.md` file comes with the runtime archive. It includes the
documentation, syntax files and other files that are used at runtime. To run
Vim you must get either one of the binary archives or a source archive.
Which one you need depends on the system you want to run it on and whether you
want or must compile it yourself. Check http://www.vim.org/download.php for
an overview of currently available distributions.
Some popular places to get the latest Vim:
* Check out the git repository from [github](https://github.com/vim/vim).
* Get the source code as an [archive](https://github.com/vim/vim/releases).
* Get a Windows executable from the
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
## Compiling ##
If you obtained a binary distribution you don't need to compile Vim. If you
obtained a source distribution, all the stuff for compiling Vim is in the
`src` directory. See `src/INSTALL` for instructions.
## Installation ##
See one of these files for system-specific instructions. Either in the
READMEdir directory (in the repository) or the top directory (if you unpack an
archive):
README_ami.txt Amiga
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_vms.txt VMS
There are other `README_*.txt` files, depending on the distribution you used.
## Documentation ##
The Vim tutor is a one hour training course for beginners. Often it can be
started as `vimtutor`. See `:help tutor` for more information.
The best is to use `:help` in Vim. If you don't have an executable yet, read
`runtime/doc/help.txt`. It contains pointers to the other documentation
files. The User Manual reads like a book and is recommended to learn to use
Vim. See `:help user-manual`.
## Copying ##
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation to help orphans in Uganda. Please read the file
`runtime/doc/uganda.txt` for details (do `:help uganda` inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
text must always be included. For modified versions a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
## Sponsoring ##
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate Bram and others to continue
working on Vim please send a donation.
Since Bram is back to a paid job the money will now be used to help children
in Uganda. See `runtime/doc/uganda.txt`. But at the same time donations
increase Bram's motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
http://www.vim.org/sponsor/
## Contributing ##
If you would like to help making Vim better, see the [CONTRIBUTING.md](https://github.com/vim/vim/blob/master/CONTRIBUTING.md) file.
## Information ##
The latest news about Vim can be found on the Vim home page:
http://www.vim.org/
If you have problems, have a look at the Vim documentation or tips:
http://www.vim.org/docs.php
http://vim.wikia.com/wiki/Vim_Tips_Wiki
If you still have problems or any other questions, use one of the mailing
lists to discuss them with Vim users and developers:
http://www.vim.org/maillist.php
If nothing else works, report bugs directly:
Bram Moolenaar <Bram@vim.org>
## Main author ##
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar <Bram@vim.org>
+2 -1
View File
@@ -26,9 +26,10 @@ build_script:
test_script:
- cd src/testdir
# Testing with MSVC gvim
- path C:\Python35-x64;%PATH%
- nmake -f Make_dos.mak VIMPROG=..\gvim
- nmake -f Make_dos.mak clean
# Testing with MingW console version
- nmake -f Make_dos.mak VIMPROG=..\vim
# vim: sw=2 sts=2 et ts=2 sr
# vim: sw=2 sts=2 et ts=8 sr
+23
View File
@@ -188,6 +188,7 @@ Section "Vim executables and runtime files"
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File ${VIMSRC}\vimrun.exe
File /oname=tee.exe ${VIMSRC}\teew32.exe
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
File ${VIMTOOLS}\diff.exe
File ${VIMRT}\vimtutor.bat
@@ -215,6 +216,28 @@ Section "Vim executables and runtime files"
SetOutPath $0\macros
File ${VIMRT}\macros\*.*
SetOutPath $0\pack\dist\opt\dvorak\dvorak
File ${VIMRT}\pack\dist\opt\dvorak\dvorak\*.*
SetOutPath $0\pack\dist\opt\dvorak\plugin
File ${VIMRT}\pack\dist\opt\dvorak\plugin\*.*
SetOutPath $0\pack\dist\opt\editexisting\plugin
File ${VIMRT}\pack\dist\opt\editexisting\plugin\*.*
SetOutPath $0\pack\dist\opt\justify\plugin
File ${VIMRT}\pack\dist\opt\justify\plugin\*.*
SetOutPath $0\pack\dist\opt\matchit\doc
File ${VIMRT}\pack\dist\opt\matchit\doc\*.*
SetOutPath $0\pack\dist\opt\matchit\plugin
File ${VIMRT}\pack\dist\opt\matchit\plugin\*.*
SetOutPath $0\pack\dist\opt\shellmenu\plugin
File ${VIMRT}\pack\dist\opt\shellmenu\plugin\*.*
SetOutPath $0\pack\dist\opt\swapmouse\plugin
File ${VIMRT}\pack\dist\opt\swapmouse\plugin\*.*
SetOutPath $0\plugin
File ${VIMRT}\plugin\*.*
File diff suppressed because one or more lines are too long
+243 -259
View File
File diff suppressed because it is too large Load Diff
+32 -4
View File
@@ -93,7 +93,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
let stopline = 1
let crex = '^\s*\<' . a:type . '\>\s*\<' . a:name . '\>\s*\(<\s*.*\s*\)\?'
let crex = '^\s*\<' . a:type . '\>\s*\<' . escape(a:name, '*') . '\>\s*\(<\s*.*\s*\)\?'
let [lnum,lcol] = searchpos( crex, 'w' )
"let [lnum,lcol] = searchpairpos( crex . '\zs', '', '\(end\|}\)', 'w' )
@@ -149,7 +149,7 @@ function! s:GetRubyVarType(v)
let ctors = ctors.'\)'
let fstr = '=\s*\([^ \t]\+.' . ctors .'\>\|[\[{"''/]\|%[xwQqr][(\[{@]\|[A-Za-z0-9@:\-()\.]\+...\?\|lambda\|&\)'
let sstr = ''.a:v.'\>\s*[+\-*/]*'.fstr
let sstr = ''.escape(a:v, '*').'\>\s*[+\-*/]*'.fstr
let [lnum,lcol] = searchpos(sstr,'nb',stopline)
if lnum != 0 && lcol != 0
let str = matchstr(getline(lnum),fstr,lcol)
@@ -266,6 +266,28 @@ class VimRubyCompletion
end
end
def load_gems
fpath = VIM::evaluate("get(g:, 'rubycomplete_gemfile_path', 'Gemfile')")
return unless File.file?(fpath) && File.readable?(fpath)
want_bundler = VIM::evaluate("get(g:, 'rubycomplete_use_bundler')")
parse_file = !want_bundler
begin
require 'bundler'
Bundler.setup
Bundler.require
rescue Exception
parse_file = true
end
if parse_file
File.new(fpath).each_line do |line|
begin
require $1 if /\s*gem\s*['"]([^'"]+)/.match(line)
rescue Exception
end
end
end
end
def load_buffer_class(name)
dprint "load_buffer_class(%s) START" % name
classdef = get_buffer_entity(name, 's:GetBufferRubyClass("%s")')
@@ -588,6 +610,10 @@ class VimRubyCompletion
load_rails
end
want_gems = VIM::evaluate("get(g:, 'rubycomplete_load_gemfile')")
load_gems unless want_gems.to_i.zero?
input = VIM::Buffer.current.line
cpos = VIM::Window.current.cursor[1] - 1
input = input[0..cpos]
@@ -678,7 +704,9 @@ class VimRubyCompletion
cv = eval("self.class.constants")
vartype = get_var_type( receiver )
dprint "vartype: %s" % vartype
if vartype != ''
invalid_vartype = ['', "gets"]
if !invalid_vartype.include?(vartype)
load_buffer_class( vartype )
begin
@@ -706,7 +734,7 @@ class VimRubyCompletion
methods.concat m.instance_methods(false)
}
end
variables += add_rails_columns( "#{vartype}" ) if vartype && vartype.length > 0
variables += add_rails_columns( "#{vartype}" ) if vartype && !invalid_vartype.include?(vartype)
when /^\(?\s*[A-Za-z0-9:^@.%\/+*\(\)]+\.\.\.?[A-Za-z0-9:^@.%\/+*\(\)]+\s*\)?\.([^.]*)/
message = $1
+16 -16
View File
@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: Jan 17, 2012
" Version: 35
" Author: Charles E. Campbell
" Date: Apr 11, 2016
" Version: 37
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" Copyright: (c) 2004-2011 by Charles E. Campbell
" 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 = "v35"
let g:loaded_vimball = "v37"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
@@ -142,7 +142,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
let lastline= line("$") + 1
if lastline == 2 && getline("$") == ""
call setline(1,'" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.')
call setline(1,'" Vimball Archiver by Charles E. Campbell')
call setline(2,'UseVimball')
call setline(3,'finish')
let lastline= line("$") + 1
@@ -179,7 +179,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" remove the evidence
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
exe "tabc! ".vbtabnr
" restore options
call vimball#RestoreSettings()
@@ -280,7 +280,7 @@ fun! vimball#Vimball(really,...)
" when AsNeeded/filename is filereadable or was present in VimballRecord
if fname =~ '\<plugin/'
let anfname= substitute(fname,'\<plugin/','AsNeeded/','')
if filereadable(anfname) || (exists("s:VBRstring") && s:VBRstring =~ anfname)
if filereadable(anfname) || (exists("s:VBRstring") && s:VBRstring =~# anfname)
" call Decho("using anfname<".anfname."> instead of <".fname.">")
let fname= anfname
endif
@@ -379,10 +379,10 @@ fun! vimball#Vimball(really,...)
call s:RecordInFile(home)
" restore events, delete tab and buffer
exe "tabn ".vbtabnr
exe "sil! tabn ".vbtabnr
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
exe "sil! tabn ".curtabnr
exe "sil! tabc! ".vbtabnr
call vimball#RestoreSettings()
call s:ChgDir(curdir)
@@ -555,7 +555,7 @@ fun! vimball#ShowMesg(level,msg)
set noruler noshowcmd
redraw!
if &fo =~ '[ta]'
if &fo =~# '[ta]'
echomsg "***vimball*** ".a:msg
else
if a:level == s:WARNING || a:level == s:USAGE
@@ -715,7 +715,7 @@ fun! vimball#SaveSettings()
" call Dfunc("SaveSettings()")
let s:makeep = getpos("'a")
let s:regakeep= @a
if exists("&acd")
if exists("+acd")
let s:acdkeep = &acd
endif
let s:eikeep = &ei
@@ -728,7 +728,7 @@ fun! vimball#SaveSettings()
let s:vekeep = &ve
let s:ffkeep = &l:ff
let s:swfkeep = &l:swf
if exists("&acd")
if exists("+acd")
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 noswf
@@ -743,7 +743,7 @@ endfun
fun! vimball#RestoreSettings()
" call Dfunc("RestoreSettings()")
let @a = s:regakeep
if exists("&acd")
if exists("+acd")
let &acd = s:acdkeep
endif
let &l:fen = s:fenkeep
@@ -760,7 +760,7 @@ fun! vimball#RestoreSettings()
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",s:makeep)
endif
if exists("&acd")
if exists("+acd")
unlet s:acdkeep
endif
unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep s:pmkeep s:ffkeep
+2 -1
View File
@@ -2,7 +2,7 @@
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2013 May 23
" Last Change: 2016 Sep 04
hi clear
set background=dark
@@ -45,6 +45,7 @@ hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white g
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
hi EndOfBuffer term=bold cterm=bold ctermfg=darkred guifg=#cc0000 gui=bold
hi link IncSearch Visual
hi link String Constant
hi link Character Constant
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Aug 09
" Last Change: 2016 Aug 29
if exists("current_compiler")
finish
@@ -19,7 +19,7 @@ CompilerSet makeprg=cucumber
CompilerSet errorformat=
\%W%m\ (Cucumber::Undefined),
\%E%m\ (%.%#),
\%E%m\ (%\\S%#),
\%Z%f:%l,
\%Z%f:%l:%.%#
+2
View File
@@ -2,6 +2,7 @@
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-10-14
" added line suggested by Anton Lindqvist 2016 Mar 31
if exists("current_compiler")
finish
@@ -24,6 +25,7 @@ CompilerSet errorformat=
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\%f:\\(%*[^\\)]\\):\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Haml
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
if exists("current_compiler")
finish
@@ -15,7 +15,7 @@ endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=haml\ -c
CompilerSet makeprg=haml
CompilerSet errorformat=
\Haml\ %trror\ on\ line\ %l:\ %m,
+5 -1
View File
@@ -27,7 +27,11 @@ CompilerSet errorformat=
\%\\s%#[%f:%l:\ %#%m,
\%\\s%#%f:%l:\ %#%m,
\%\\s%#%f:%l:,
\%m\ [%f:%l]:
\%m\ [%f:%l]:,
\%+Erake\ aborted!,
\%+EDon't\ know\ how\ to\ build\ task\ %.%#,
\%+Einvalid\ option:%.%#,
\%+Irake\ %\\S%\\+%\\s%\\+#\ %.%#
let &cpo = s:cpo_save
unlet s:cpo_save
+2 -1
View File
@@ -22,9 +22,10 @@ CompilerSet errorformat=
\%f:%l:\ %tarning:\ %m,
\%E%.%#:in\ `load':\ %f:%l:%m,
\%E%f:%l:in\ `%*[^']':\ %m,
\%-Z\ \ \ \ \ \#\ %f:%l:%.%#,
\%-Z\ \ \ \ \ %\\+\#\ %f:%l:%.%#,
\%E\ \ %\\d%\\+)%.%#,
\%C\ \ \ \ \ %m,
\%C%\\s%#,
\%-G%.%#
let &cpo = s:cpo_save
+2
View File
@@ -17,6 +17,8 @@ let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=testrb
" CompilerSet makeprg=ruby\ -Itest
" CompilerSet makeprg=m
CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:,
\%C%m\ [%f:%l]:,
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
if exists("current_compiler")
finish
@@ -15,7 +15,7 @@ endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=sass\ -c
CompilerSet makeprg=sass
CompilerSet errorformat=
\%f:%l:%m\ (Sass::Syntax%trror),
+5 -5
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: HTML Tidy
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2013 Jul 7
" Last Change: 2016 Apr 21
if exists("current_compiler")
finish
@@ -12,8 +12,8 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %
CompilerSet makeprg=tidy\ -quiet\ -errors\ --gnu-emacs\ yes\ %:S
" sample warning: foo.html:8:1: Warning: inserting missing 'foobar' element
" sample error: foo.html:9:2: Error: <foobar> is not recognized!
CompilerSet errorformat=%f:%l:%c:\ Error:%m,%f:%l:%c:\ Warning:%m,%-G%.%#
" foo.html:8:1: Warning: inserting missing 'foobar' element
" foo.html:9:2: Error: <foobar> is not recognized!
CompilerSet errorformat=%f:%l:%c:\ %trror:%m,%f:%l:%c:\ %tarning:%m,%-G%.%#
+125
View File
@@ -0,0 +1,125 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2016 Sep 02
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
" Individual settings can be reverted with ":set option&".
" Other commands can be reverted as mentioned below.
" When started as "evim", evim.vim will already have done these settings.
if v:progname =~? "evim"
finish
endif
" Bail out if something that ran earlier, e.g. a system wide vimrc, does not
" want Vim to use these default values.
if exists('skip_defaults_vim')
finish
endif
" Use Vim settings, rather than Vi settings (much better!).
" This must be first, because it changes other options as a side effect.
set nocompatible
" Allow backspacing over everything in insert mode.
set backspace=indent,eol,start
set history=200 " keep 200 lines of command line history
set ruler " show the cursor position all the time
set showcmd " display incomplete commands
set wildmenu " display completion matches in a status line
set ttimeout " time out for key codes
set ttimeoutlen=100 " wait up to 100ms after Esc for special key
" Show @@@ in the last line if it is truncated.
set display=truncate
" Show a few lines of context around the cursor. Note that this makes the
" text scroll if you mouse-click near the start or end of the window.
set scrolloff=5
" Do incremental searching when it's possible to timeout.
if has('reltime')
set incsearch
endif
" Do not recognize octal numbers for Ctrl-A and Ctrl-X, most users find it
" confusing.
set nrformats-=octal
" For Win32 GUI: remove 't' flag from 'guioptions': no tearoff menu entries.
if has('win32')
set guioptions-=t
endif
" Don't use Ex mode, use Q for formatting.
" Revert with ":unmap Q".
map Q gq
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
" Revert with ":iunmap <C-U>".
inoremap <C-U> <C-G>u<C-U>
" In many terminal emulators the mouse works just fine. By enabling it you
" can position the cursor, Visually select and scroll with the mouse.
if has('mouse')
set mouse=a
endif
" Switch syntax highlighting on when the terminal has colors or when using the
" GUI (which always has colors).
if &t_Co > 2 || has("gui_running")
" Revert with ":syntax off".
syntax on
" I like highlighting strings inside C comments.
" Revert with ":unlet c_comment_strings".
let c_comment_strings=1
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Enable file type detection.
" Use the default filetype settings, so that mail gets 'tw' set to 72,
" 'cindent' is on in C files, etc.
" Also load indent files, to automatically do language-dependent indenting.
" Revert with ":filetype off".
filetype plugin indent on
" Put these in an autocmd group, so that you can revert them with:
" ":augroup vimStartup | au! | augroup END"
augroup vimStartup
au!
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
autocmd BufReadPost *
\ if line("'\"") >= 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
augroup END
endif " has("autocmd")
" Convenient command to see the difference between the current buffer and the
" file it was loaded from, thus the changes you made.
" Only define it when not defined already.
" Revert with: ":delcommand DiffOrig".
if !exists(":DiffOrig")
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
\ | wincmd p | diffthis
endif
if has('langmap') && exists('+langremap')
" Prevent that the langmap option applies to characters that result from a
" mapping. If set (default), this may break plugins (but it's backward
" compatible).
set nolangremap
endif
+2
View File
@@ -142,6 +142,7 @@ DOCS = \
version5.txt \
version6.txt \
version7.txt \
version8.txt \
vi_diff.txt \
visual.txt \
windows.txt \
@@ -275,6 +276,7 @@ HTMLS = \
version5.html \
version6.html \
version7.html \
version8.html \
vi_diff.html \
vimindex.html \
visual.html \
+47 -10
View File
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.4. Last change: 2015 Dec 05
*autocmd.txt* For Vim version 7.4. Last change: 2016 Sep 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -52,9 +52,6 @@ effects. Be careful not to destroy your text.
==============================================================================
2. Defining autocommands *autocmd-define*
Note: The ":autocmd" command cannot be followed by another command, since any
'|' is considered part of the command.
*:au* *:autocmd*
:au[tocmd] [group] {event} {pat} [nested] {cmd}
Add {cmd} to the list of commands that Vim will
@@ -67,6 +64,12 @@ Note: The ":autocmd" command cannot be followed by another command, since any
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
Note: The ":autocmd" command can only be followed by another command when the
'|' appears before {cmd}. This works: >
:augroup mine | au! BufRead | augroup END
But this sees "augroup" as part of the defined command: >
:augroup mine | au BufRead * set tw=70 | augroup END
Note that special characters (e.g., "%", "<cword>") in the ":autocmd"
arguments are not expanded when the autocommand is defined. These will be
expanded when the Event is recognized, and the {cmd} is executed. The only
@@ -293,6 +296,9 @@ Name triggered by ~
|CursorMoved| the cursor was moved in Normal mode
|CursorMovedI| the cursor was moved in Insert mode
|WinNew| after creating a new window
|TabNew| after creating a new tab page
|TabClosed| after closing a tab page
|WinEnter| after entering another window
|WinLeave| before leaving a window
|TabEnter| after entering another tab page
@@ -413,8 +419,8 @@ BufUnload Before unloading a buffer. This is when the
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
Don't change to another buffer, it will cause
problems.
Don't change to another buffer or window, it
will cause problems!
When exiting and v:dying is 2 or more this
event is not triggered.
*BufWinEnter*
@@ -539,6 +545,9 @@ CursorHold When the user doesn't press a key for the time
versions}
*CursorHoldI*
CursorHoldI Just like CursorHold, but in Insert mode.
Not triggered when waiting for another key,
e.g. after CTRL-V, and not when in CTRL-X mode
|insert_expand|.
*CursorMoved*
CursorMoved After the cursor was moved in Normal or Visual
@@ -775,7 +784,9 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
|:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
|:lgetfile|, |:laddfile|, |:helpgrep|,
|:lhelpgrep|).
|:lhelpgrep|, |:cexpr|, |:cgetexpr|,
|:caddexpr|, |:cbuffer|, |:cgetbuffer|,
|:caddbuffer|).
The pattern is matched against the command
being run. When |:grep| is used but 'grepprg'
is set to "internal" it still matches "grep".
@@ -871,6 +882,8 @@ Syntax When the 'syntax' option has been set. The
where this option was set, and <amatch> for
the new value of 'syntax'.
See |:syn-on|.
*TabClosed*
TabClosed After closing a tab page.
*TabEnter*
TabEnter Just after entering a tab page. |tab-page|
After triggering the WinEnter and before
@@ -879,6 +892,10 @@ TabEnter Just after entering a tab page. |tab-page|
TabLeave Just before leaving a tab page. |tab-page|
A WinLeave event will have been triggered
first.
*TabNew*
TabNew When a tab page was created. |tab-page|
A WinEnter event will have been triggered
first, TabEnter follows.
*TermChanged*
TermChanged After the value of 'term' has changed. Useful
for re-loading the syntax file to update the
@@ -918,7 +935,15 @@ VimEnter After doing all the startup stuff, including
loading .vimrc files, executing the "-c cmd"
arguments, creating all windows and loading
the buffers in them.
*VimLeave*
Just before this event is triggered the
|v:vim_did_enter| variable is set, so that you
can do: >
if v:vim_did_enter
call s:init()
else
au VimEnter * call s:init()
endif
< *VimLeave*
VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
@@ -956,6 +981,11 @@ WinLeave Before leaving a window. If the window to be
WinLeave autocommands (but not for ":new").
Not used for ":qa" or ":q" when exiting Vim.
*WinNew*
WinNew When a new window was created. Not done for
the fist window, when Vim has just started.
Before a WinEnter event.
==============================================================================
6. Patterns *autocmd-patterns* *{pat}*
@@ -1037,6 +1067,9 @@ Note that for all systems the '/' character is used for path separator (even
MS-DOS and OS/2). This was done because the backslash is difficult to use
in a pattern and to make the autocommands portable across different systems.
It is possible to use |pattern| items, but they may not work as expected,
because of the translation done for the above.
*autocmd-changes*
Matching with the pattern is done when an event is triggered. Changing the
buffer name in one of the autocommands, or even deleting the buffer, does not
@@ -1135,10 +1168,12 @@ name!
different from existing {event} names, as this
most likely will not do what you intended.
*:augroup-delete* *E367*
*:augroup-delete* *E367* *W19* *E936*
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
this if there is still an autocommand using
this group! This is not checked.
this group! You will get a warning if doing
it anyway. when the group is the current group
you will get error E936.
To enter autocommands for a specific group, use this method:
1. Select the group with ":augroup {name}".
@@ -1193,6 +1228,8 @@ option will not cause any commands to be executed.
argument is present. You probably want to use
<nomodeline> for events that are not used when loading
a buffer, such as |User|.
Processing modelines is also skipped when no
matching autocommands were executed.
*:doautoa* *:doautoall*
:doautoa[ll] [<nomodeline>] [group] {event} [fname]
+4 -3
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2016 Mar 08
*change.txt* For Vim version 7.4. Last change: 2016 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -852,7 +852,7 @@ Examples: >
:s/abcde/abc^Mde/ modifies "abcde" to "abc", "de" (two lines)
:s/$/\^M/ modifies "abcde" to "abcde^M"
:s/\w\+/\u\0/g modifies "bla bla" to "Bla Bla"
:s/\w\+/\L\u/g modifies "BLA bla" to "Bla Bla"
:s/\w\+/\L\u\0/g modifies "BLA bla" to "Bla Bla"
Note: "\L\u" can be used to capitalize the first letter of a word. This is
not compatible with Vi and older versions of Vim, where the "\u" would cancel
@@ -872,6 +872,7 @@ The numbering of "\1", "\2" etc. is done based on which "\(" comes first in
the pattern (going left to right). When a parentheses group matches several
times, the last one will be used for "\1", "\2", etc. Example: >
:s/\(\(a[a-d] \)*\)/\2/ modifies "aa ab x" to "ab x"
The "\2" is for "\(a[a-d] \)". At first it matches "aa ", secondly "ab ".
When using parentheses in combination with '|', like in \([ab]\)\|\([cd]\),
either the first or second pattern in parentheses did not match, so either
@@ -1205,7 +1206,7 @@ name '"'. This means you have to type two double quotes. Writing to the ""
register writes to register "0.
{Vi: register contents are lost when changing files, no '"'}
2. Numbered registers "0 to "9 *quote_number* *quote0* *quote1*
2. Numbered registers "0 to "9 *quote_number* *quote0* *quote1*
*quote2* *quote3* *quote4* *quote9*
Vim fills these registers with text from yank and delete commands.
Numbered register 0 contains the text from the most recent yank command,
+161 -61
View File
@@ -1,4 +1,4 @@
*channel.txt* For Vim version 7.4. Last change: 2016 Mar 15
*channel.txt* For Vim version 7.4. Last change: 2016 Sep 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,13 +6,9 @@
Inter-process communication *channel*
DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
Vim uses channels to communicate with other processes.
A channel uses a socket or pipes *socket-interface*
A channel uses a socket or pipes. *socket-interface*
Jobs can be used to start processes and communicate with them.
Vim current supports up to 10 simultaneous channels.
The Netbeans interface also uses a channel. |netbeans|
1. Overview |job-channel-overview|
@@ -29,7 +25,9 @@ The Netbeans interface also uses a channel. |netbeans|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
You can check this with: `has('channel')`
{only when compiled with the |+job| feature for job stuff}
You can check this with: `has('job')`
==============================================================================
1. Overview *job-channel-overview*
@@ -58,10 +56,10 @@ Common combination are:
- Using a job connected through pipes in NL mode. E.g., to run a style
checker and receive errors and warnings.
- Using a deamon, connecting over a socket in JSON mode. E.g. to lookup
crosss-refrences in a database.
cross-references in a database.
==============================================================================
2. Channel demo *channel-demo*
2. Channel demo *channel-demo* *demoserver.py*
This requires Python. The demo program can be found in
$VIMRUNTIME/tools/demoserver.py
@@ -120,24 +118,13 @@ Use |ch_status()| to see if the channel could be opened.
{address} has the form "hostname:port". E.g., "localhost:8765".
{options} is a dictionary with optional entries:
{options} is a dictionary with optional entries: *channel-open-options*
"mode" can be: *channel-mode*
"json" - Use JSON, see below; most convenient way. Default.
"js" - Use JS (JavaScript) encoding, more efficient than JSON.
"nl" - Use messages that end in a NL character
"raw" - Use raw messages
*in_mode* *out_mode* *err_mode*
"in_mode" mode specifically for stdin, only when using pipes
"out_mode" mode specifically for stdout, only when using pipes
"err_mode" mode specifically for stderr, only when using pipes
Note: when setting "mode" the part specific mode is
overwritten. Therefore set "mode" first and the part specific
mode later.
Note: when writing to a file or buffer and when reading from a
buffer NL mode is used by default.
*channel-callback* *E921*
"callback" A function that is called when a message is received that is
not handled otherwise. It gets two arguments: the channel
@@ -155,21 +142,21 @@ Use |ch_status()| to see if the channel could be opened.
as a string.
For all callbacks: Use |function()| to bind it to arguments
and/or a dictionary.
*out_cb*
"out_cb" A function like "callback" but used for stdout. Only for when
the channel uses pipes. When "out_cb" wasn't set the channel
callback is used.
*err_cb*
"err_cb" A function like "callback" but used for stderr. Only for when
the channel uses pipes. When "err_cb" wasn't set the channel
callback is used.
and/or a Dictionary. Or use the form "dict.function" to bind
the Dictionary.
Callbacks are only called at a "safe" moment, usually when Vim
is waiting for the user to type a character. Vim does not use
multi-threading.
*close_cb*
"close_cb" A function that is called when the channel gets closed, other
than by calling ch_close(). It should be defined like this: >
func MyCloseHandler(channel)
< *waittime*
< Vim will invoke callbacks that handle data before invoking
close_cb, thus when this function is called no more data will
be received.
*waittime*
"waittime" The time to wait for the connection to be made in
milliseconds. A negative number waits forever.
@@ -178,16 +165,10 @@ Use |ch_status()| to see if the channel could be opened.
actually uses a 1 msec timeout, that is required on many
systems. Use a larger value for a remote server, e.g. 10
msec at least.
*channel-timeout*
"timeout" The time to wait for a request when blocking, E.g. when using
ch_evalexpr(). In milliseconds. The default is 2000 (2
seconds).
*out_timeout* *err_timeout*
"out_timeout" Timeout for stdout. Only when using pipes.
"err_timeout" Timeout for stderr. Only when using pipes.
Note: when setting "timeout" the part specific mode is
overwritten. Therefore set "timeout" first and the part
specific mode later.
When "mode" is "json" or "js" the "callback" is optional. When omitted it is
only possible to receive a message after sending one.
@@ -215,13 +196,20 @@ pipes are used (stdin/stdout/stderr) they are all closed. This might not be
what you want! Stopping the job with job_stop() might be better.
All readahead is discarded, callbacks will no longer be invoked.
Note that a channel is closed in three stages:
- The I/O ends, log message: "Closing channel". There can still be queued
messages to read or callbacks to invoke.
- The readahead is cleared, log message: "Clearing channel". Some variables
may still reference the channel.
- The channel is freed, log message: "Freeing channel".
When the channel can't be opened you will get an error message. There is a
difference between MS-Windows and Unix: On Unix when the port doesn't exist
ch_open() fails quickly. On MS-Windows "waittime" applies.
*E898* *E899* *E900* *E901* *E902*
*E898* *E901* *E902*
If there is an error reading or writing a channel it will be closed.
*E896* *E630* *E631*
*E630* *E631*
==============================================================================
4. Using a JSON or JS channel *channel-use*
@@ -261,9 +249,15 @@ In which {number} is different every time. It must be used in the response
This way Vim knows which sent message matches with which received message and
can call the right handler. Also when the messages arrive out of order.
A newline character is terminating the JSON text. This can be used to
separate the read text. For example, in Python:
splitidx = read_text.find('\n')
message = read_text[:splitidx]
rest = read_text[splitidx + 1:]
The sender must always send valid JSON to Vim. Vim can check for the end of
the message by parsing the JSON. It will only accept the message if the end
was received.
was received. A newline after the message is optional.
When the process wants to send a message to Vim without first receiving a
message, it must use the number zero:
@@ -272,10 +266,6 @@ message, it must use the number zero:
Then channel handler will then get {response} converted to Vim types. If the
channel does not have a handler the message is dropped.
On read error or ch_close(), when using a socket with RAW or NL mode, the
string "DETACH\n" is sent, if still possible. The channel will then be
inactive.
It is also possible to use ch_sendraw() and ch_evalraw() on a JSON or JS
channel. The caller is then completely responsible for correct encoding and
decoding.
@@ -326,6 +316,9 @@ completion or error. You could use functions in an |autoload| script:
You can also use "call |feedkeys()|" to insert any key sequence.
When there is an error a message is written to the channel log, if it exists,
and v:errmsg is set to the error.
Command "normal" ~
@@ -404,6 +397,9 @@ This {string} can also be JSON, use |json_encode()| to create it and
It is not possible to use |ch_evalexpr()| or |ch_sendexpr()| on a raw channel.
A String in Vim cannot contain NUL bytes. To send or receive NUL bytes read
or write from a buffer. See |in_io-buffer| and |out_io-buffer|.
==============================================================================
7. More channel functions *channel-more*
@@ -411,6 +407,7 @@ To obtain the status of a channel: ch_status(channel). The possible results
are:
"fail" Failed to open the channel.
"open" The channel can be used.
"buffered" The channel was closed but there is data to read.
"closed" The channel was closed.
To obtain the job associated with a channel: ch_getjob(channel)
@@ -428,6 +425,23 @@ To read all output from a RAW channel that is available: >
To read the error output: >
let output = ch_readraw(channel, {"part": "err"})
ch_read() and ch_readraw() use the channel timeout. When there is nothing to
read within that time an empty string is returned. To specify a different
timeout in msec use the "timeout" option:
{"timeout": 123} ~
To read from the error output use the "part" option:
{"part": "err"} ~
To read a message with a specific ID, on a JS or JSON channel:
{"id": 99} ~
When no ID is specified or the ID is -1, the first message is returned. This
overrules any callback waiting for this message.
For a RAW channel this returns whatever is available, since Vim does not know
where a message ends.
For a NL channel this returns one message.
For a JS or JSON channel this returns one decoded message.
This includes any sequence number.
==============================================================================
8. Starting a job with a channel *job-start* *job*
@@ -449,7 +463,7 @@ it like this: >
func MyHandler(channel, msg)
Without the handler you need to read the output with |ch_read()| or
|ch_readraw()|.
|ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
The handler defined for "out_cb" will not receive stderr. If you want to
handle that separately, add an "err_cb" handler: >
@@ -471,7 +485,7 @@ For example, to start a job and write its output in buffer "dummy": >
Job input from a buffer ~
*in_io-buffer*
To run a job that reads from a buffer: >
let job = job_start({command},
\ {'in_io': 'buffer', 'in_name': 'mybuffer'})
@@ -487,6 +501,28 @@ A special mode is when "in_top" is set to zero and "in_bot" is not set: Every
time a line is added to the buffer, the last-but-one line will be send to the
job stdin. This allows for editing the last line and sending it when pressing
Enter.
*channel-close-in*
When not using the special mode the pipe or socket will be closed after the
last line has been written. This signals the reading end that the input
finished. You can also use |ch_close_in()| to close it sooner.
NUL bytes in the text will be passed to the job (internally Vim stores these
as NL bytes).
Reading job output in the close callback ~
*read-in-close-cb*
If the job can take some time and you don't need intermediate results, you can
add a close callback and read the output there: >
func! CloseHandler(channel)
while ch_status(a:channel) == 'buffered'
echomsg ch_read(a:channel)
endwhile
endfunc
let job = job_start(command, {'close_cb': 'CloseHandler'})
You will want to do something more useful than "echomsg".
==============================================================================
9. Starting a job without a channel *job-start-nochannel*
@@ -524,24 +560,55 @@ job_setoptions(job, {options}). Many options can be used with the channel
related to the job, using ch_setoptions(channel, {options}).
See |job_setoptions()| and |ch_setoptions()|.
*in_mode* *out_mode* *err_mode*
"in_mode" mode specifically for stdin, only when using pipes
"out_mode" mode specifically for stdout, only when using pipes
"err_mode" mode specifically for stderr, only when using pipes
See |channel-mode| for the values.
Note: when setting "mode" the part specific mode is
overwritten. Therefore set "mode" first and the part
specific mode later.
Note: when writing to a file or buffer and when
reading from a buffer NL mode is used by default.
*job-callback*
"callback": handler Callback for something to read on any part of the
channel.
*job-out_cb*
*job-out_cb* *out_cb*
"out_cb": handler Callback for when there is something to read on
stdout.
*job-err_cb*
stdout. Only for when the channel uses pipes. When
"out_cb" wasn't set the channel callback is used.
The two arguments are the channel and the message.
*job-err_cb* *err_cb*
"err_cb": handler Callback for when there is something to read on
stderr.
stderr. Only for when the channel uses pipes. When
"err_cb" wasn't set the channel callback is used.
The two arguments are the channel and the message.
*job-close_cb*
"close_cb": handler Callback for when the channel is closed. Same as
"close_cb" on ch_open().
"close_cb" on |ch_open()|, see |close_cb|.
*job-exit_cb*
"exit_cb": handler Callback for when the job ends. The arguments are the
job and the exit status.
Vim checks about every 10 seconds for jobs that ended.
The callback can also be triggered by calling
|job_status()|.
The check also be triggered by calling |job_status()|,
which may then invoke the exit_cb handler.
Note that data can be buffered, callbacks may still be
called after the process ends.
*job-timeout*
"timeout" The time to wait for a request when blocking, E.g.
when using ch_evalexpr(). In milliseconds. The
default is 2000 (2 seconds).
*out_timeout* *err_timeout*
"out_timeout" Timeout for stdout. Only when using pipes.
"err_timeout" Timeout for stderr. Only when using pipes.
Note: when setting "timeout" the part specific mode is
overwritten. Therefore set "timeout" first and the
part specific mode later.
*job-stoponexit*
"stoponexit": {signal} Send {signal} to the job when Vim exits. See
|job_stop()| for possible values.
@@ -574,22 +641,33 @@ See |job_setoptions()| and |ch_setoptions()|.
"out_io": "null" disconnect stdout (goes to /dev/null)
"out_io": "pipe" stdout is connected to the channel (default)
"out_io": "file" stdout writes to a file
"out_io": "buffer" stdout appends to a buffer
"out_io": "buffer" stdout appends to a buffer (see below)
"out_name": "/path/file" the name of the file or buffer to write to
"out_buf": number the number of the buffer to write to
"out_modifiable": 0 when writing to a buffer, 'modifiable' will be off
(see below)
"out_msg": 0 when writing to a new buffer, the first line will be
set to "Reading from channel output..."
*job-err_io* *err_name* *err_buf*
"err_io": "out" stderr messages to go to stdout
"err_io": "null" disconnect stderr (goes to /dev/null)
"err_io": "pipe" stderr is connected to the channel (default)
"err_io": "file" stderr writes to a file
"err_io": "buffer" stderr appends to a buffer
"err_io": "buffer" stderr appends to a buffer (see below)
"err_name": "/path/file" the name of the file or buffer to write to
"err_buf": number the number of the buffer to write to
"err_modifiable": 0 when writing to a buffer, 'modifiable' will be off
(see below)
"err_msg": 0 when writing to a new buffer, the first line will be
set to "Reading from channel error..."
"block_write": number only for testing: pretend every other write to stdin
will block
Writing to a buffer ~
*out_io-buffer*
When the out_io or err_io mode is "buffer" and there is a callback, the text
is appended to the buffer before invoking the callback.
@@ -601,19 +679,41 @@ When using JS or JSON mode with "buffer", only messages with zero or negative
ID will be added to the buffer, after decoding + encoding. Messages with a
positive number will be handled by a callback, commands are handled as usual.
The name of the buffer is compared the full name of existing buffers. If
there is a match that buffer is used. Otherwise a new buffer is created.
Use an empty name to always create a new buffer. |ch_getbufnr()| can then be
used to get the buffer number.
The name of the buffer from "out_name" or "err_name" is compared the full name
of existing buffers, also after expanding the name for the current directory.
E.g., when a buffer was created with ":edit somename" and the buffer name is
"somename" it will use that buffer.
If there is no matching buffer a new buffer is created. Use an empty name to
always create a new buffer. |ch_getbufnr()| can then be used to get the
buffer number.
For a new buffer 'buftype' is set to "nofile" and 'bufhidden' to "hide". If
you prefer other settings, create the buffer first and pass the buffer number.
*out_modifiable* *err_modifiable*
The "out_modifiable" and "err_modifiable" options can be used to set the
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
means that lines will be appended to the buffer, but the user can't easily
change the buffer.
*out_msg* *err_msg*
The "out_msg" option can be used to specify whether a new buffer will have the
first line set to "Reading from channel output...". The default is to add the
message. "err_msg" does the same for channel error.
'modifiable' option off, or write to a buffer that has 'modifiable' off. That
means that lines will be appended to the buffer, but the user can't easily
change the buffer.
When an existing buffer is to be written where 'modifiable' is off and the
"out_modifiable" or "err_modifiable" options is not zero, an error is given
and the buffer will not be written to.
When the buffer written to is displayed in a window and the cursor is in the
first column of the last line, the cursor will be moved to the newly added
line and the window is scrolled up to show the cursor if needed.
Undo is synced for every added line.
Undo is synced for every added line. NUL bytes are accepted (internally Vim
stores these as NL bytes).
Writing to a file ~
+15 -1
View File
@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.4. Last change: 2015 Dec 17
*cmdline.txt* For Vim version 7.4. Last change: 2016 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -423,12 +423,26 @@ CTRL-L A match is done on the pattern in front of the cursor. If
If there are multiple matches the longest common part is
inserted in place of the pattern. If the result is shorter
than the pattern, no completion is done.
*/_CTRL-L*
When 'incsearch' is set, entering a search pattern for "/" or
"?" and the current match is displayed then CTRL-L will add
one character from the end of the current match. If
'ignorecase' and 'smartcase' are set and the command line has
no uppercase characters, the added character is converted to
lowercase.
*c_CTRL-G* */_CTRL-G*
CTRL-G When 'incsearch' is set, entering a search pattern for "/" or
"?" and the current match is displayed then CTRL-G will move
to the next match (does not take |search-offset| into account)
Use CTRL-T to move to the previous match. Hint: on a regular
keyboard T is above G.
*c_CTRL-T* */_CTRL-T*
CTRL-T When 'incsearch' is set, entering a search pattern for "/" or
"?" and the current match is displayed then CTRL-T will move
to the previous match (does not take |search-offset| into
account).
Use CTRL-G to move to the next match. Hint: on a regular
keyboard T is above G.
The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
a previous version <Esc> was used). In the pattern standard wildcards '*' and
+4 -4
View File
@@ -1,12 +1,12 @@
*diff.txt* For Vim version 7.4. Last change: 2015 Nov 01
*diff.txt* For Vim version 7.4. Last change: 2016 Aug 24
VIM REFERENCE MANUAL by Bram Moolenaar
*diff* *vimdiff* *gvimdiff* *diff-mode*
This file describes the |+diff| feature: Showing differences between two,
three or four versions of the same file.
This file describes the |+diff| feature: Showing differences between two to
eight versions of the same file.
The basics are explained in section |08.7| of the user manual.
@@ -117,7 +117,7 @@ To make these commands use a vertical split, prepend |:vertical|. Examples: >
If you always prefer a vertical split include "vertical" in 'diffopt'.
*E96*
There can be up to four buffers with 'diff' set.
There can be up to eight buffers with 'diff' set.
Since the option values are remembered with the buffer, you can edit another
file for a moment and come back to the same file and be in diff mode again.
+9 -7
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.4. Last change: 2016 Feb 16
*editing.txt* For Vim version 7.4. Last change: 2016 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -393,7 +393,7 @@ These are the common ones:
To avoid the special meaning of the wildcards prepend a backslash. However,
on MS-Windows the backslash is a path separator and "path\[abc]" is still seen
as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
is to use "path\[[]abc]". Then the file "path[abc]" literally.
is to use "path\[[]abc]", this matches the file "path\[abc]".
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
@@ -1114,10 +1114,12 @@ The names can be in upper- or lowercase.
edited. See |:confirm| and 'confirm'. {not in Vi}
:q[uit]! Quit without writing, also when the current buffer has
changes. If this is the last window and there is a
modified hidden buffer, the current buffer is
abandoned and the first changed hidden buffer becomes
the current buffer.
changes. The buffer is unloaded, also when it has
'hidden' set.
If this is the last window and there is a modified
hidden buffer, the current buffer is abandoned and the
first changed hidden buffer becomes the current
buffer.
Use ":qall!" to exit always.
:cq[uit] Quit always, without writing, and return an error
@@ -1221,7 +1223,7 @@ Examples: >
If you want to always use ":confirm", set the 'confirm' option.
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
*:browse* *:bro* *E338* *E614* *E615* *E616*
:bro[wse] {command} Open a file selection dialog for an argument to
{command}. At present this works for |:e|, |:w|,
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
+1495 -725
View File
File diff suppressed because it is too large Load Diff
+56 -1
View File
@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.4. Last change: 2015 Dec 06
*filetype.txt* For Vim version 7.4. Last change: 2016 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -579,12 +579,56 @@ CTRL-] Jump to the manual page for the word under the cursor.
CTRL-T Jump back to the previous manual page.
q Same as ":quit"
To use a vertical split instead of horizontal: >
let g:ft_man_open_mode = 'vert'
To use a new tab: >
let g:ft_man_open_mode = 'tab'
To enable folding use this: >
let g:ft_man_folding_enable = 1
If you do not like the default folding, use an autocommand to add your desired
folding style instead. For example: >
autocmd FileType man setlocal foldmethod=indent foldenable
You may also want to set 'keywordprg' to make the |K| command open a manual
page in a Vim window: >
set keywordprg=:Man
MANPAGER *manpager.vim*
The :Man command allows you to turn Vim into a manpager (that syntax highlights
manpages and follows linked manpages on hitting CTRL-]).
Works on:
- Linux
- Mac OS
- FreeBSD
- Cygwin
- Win 10 under Bash
Untested:
- Amiga OS
- BeOS
- OS/2
For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...)
export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
For (t)csh by adding to the config file
setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
For fish by adding to the config file
set -x MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
If man sets the $MAN_PN environment variable, like man-db, the most common
implementation on Linux and Mac OS, then the "env MAN_PN=1 " part above is
superfluous.
PDF *ft-pdf-plugin*
@@ -600,6 +644,17 @@ These maps can be disabled with >
:let g:no_pdf_maps = 1
<
PYTHON *ft-python-plugin* *PEP8*
By default the following options are set, in accordance with PEP8: >
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
To disable this behaviour, set the following variable in your vimrc: >
let g:python_recommended_style = 0
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
+3 -2
View File
@@ -111,8 +111,8 @@ to your .gvimrc file to revert back to the default Vim tab label.
*macvim-options*
These are the non-standard options that MacVim supports:
'antialias' 'blurradius' 'fullscreen'
'fuoptions' 'macligatures' 'macmeta' 'toolbariconsize'
'transparency'
'fuoptions' 'macligatures' 'macmeta' 'macthinstrokes'
'toolbariconsize' 'transparency'
*macvim-commands*
These are the non-standard commands that MacVim supports:
@@ -256,6 +256,7 @@ Here is a list of relevant dictionary entries:
KEY VALUE ~
MMCellWidthMultiplier width of a normal glyph in em units [float]
MMDialogsTrackPwd open/save dialogs track the Vim pwd [bool]
MMFullScreenFadeTime fade delay for non-native fullscreen [float]
MMLoginShellArgument login shell parameter [string]
MMLoginShellCommand which shell to use to launch Vim [string]
MMNoFontSubstitution disable automatic font substitution [bool]
+40 -24
View File
@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
*gui_x11.txt* For Vim version 7.4. Last change: 2016 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -314,7 +314,7 @@ If a name is used that exists on other systems, but not in X11, the default
"arrow" pointer is used.
==============================================================================
5. GTK version *gui-gtk* *GTK+* *GTK*
5. GTK version *gui-gtk* *GTK+* *GTK* *GTK3*
The GTK version of the GUI works a little bit different.
@@ -430,6 +430,9 @@ These are the different looks:
GNOME is compiled with if it was found by configure and the
--enable-gnome-check argument was used.
Note: Avoid use of --enable-gnome-check with GTK+ 3 GUI build. The
functionality mentioned above is consolidated in GTK+ 3.
GNOME session support *gui-gnome-session* *gnome-session*
@@ -466,20 +469,37 @@ continues on Yzis: https://github.com/chrizel/Yzis.
==============================================================================
8. Compiling *gui-x11-compiling*
If using X11, Vim's Makefile will by default first try to find the necessary
GTK+ files on your system. If the GTK+ files cannot be found, then the Motif
files will be searched for. Finally, if this fails, the Athena files will be
searched for. If all three fail, the GUI will be disabled.
If using X11, Vim's configure will by default first try to find the necessary
GTK+ files on your system. When both GTK+ 2 and GTK+ 3 are available, GTK+ 2
will be chosen unless --enable-gui=gtk3 is passed explicitly to configure.
For GTK+, Vim's configuration process requires that GTK+ be properly
installed. That is, the shell script 'gtk-config' must be in your PATH, and
you can already successful compile, build, and execute a GTK+ program. The
reason for this is that the compiler flags (CFLAGS) and link flags (LDFLAGS)
are obtained through the 'gtk-config' shell script.
If the GTK+ files cannot be found, then the Motif files will be searched for.
Finally, if this fails, the Athena files will be searched for. If all three
fail, the GUI will be disabled.
If you want to build with GTK+ 2 support pass the --enable-gtk2-check argument
to ./configure. Optionally, support for GNOME 2 will be compiled if the
--enable-gnome-check option is also given.
For GTK+, Vim's configuration process uses pkg-config(1) to check if the
GTK+ required for a specified build is properly installed and usable.
Accordingly, it is a good idea to make sure before running configure that
your system has a working pkg-config together with the .pc file of the
required GTK+. For that, say, run the following on the command line to see if
your pkg-config works with your GTK+ 2: >
$ pkgconfig --modversion gtk+-2.0
Replace gtk+-2.0 with gtk+-3.0 for GTK+ 3. If you get the correct version
number of your GTK+, you can proceed; if not, you probably need to do some
system administration chores to set up pkg-config and GTK+ correctly.
The GTK+ 2 GUI is built by default. Therefore, you usually don't need to pass
any options such as --enable-gui=gtk2 to configure and build that.
Optionally, the GTK+ 2 GUI can consolidate the GNOME 2 support. This support
is enabled by passing --enable-gnome-check to configure.
If you want to build the GTK+ 3 GUI, you have to pass --enable-gui=gtk3
explicitly to configure, and avoid passing --enable-gnome-check to that, as
the functionality of the GNOME 2 support has already been consolidated in
GTK+ 3.
Otherwise, if you are using Motif or Athena, when you have the Motif or Athena
files in a directory where configure doesn't look, edit the Makefile to enter
@@ -487,18 +507,14 @@ the names of the directories. Search for "GUI_INC_LOC" for an example to set
the Motif directories, "CONF_OPT_X" for Athena.
*gui-x11-gtk*
At the time of this writing, GTK+ version 1.0.6 and 1.2 are outdated. It
is suggested that you use GTK 2. The GTK 1 support will most likely be
dropped soon.
Currently, Vim supports both GTK+ 2 and GTK+ 3.
For the GTK+ 2 GUI, using the latest release of the GTK+ 2.0 or GTK+ 2.2
series is recommended.
The GTK+ 2 GUI requires GTK+ 2.2 or later.
Lastly, although GTK+ has supposedly been ported to the Win32 platform, this
has not been tested with Vim and is also unsupported. Also, it's unlikely to
even compile since GTK+ GUI uses parts of the generic X11 code. This might
change in distant future; particularly because getting rid of the X11 centric
code parts is also required for GTK+ framebuffer support.
Although the GTK+ 3 GUI is written in such a way that the source code can be
compiled against all versions of the 3.x series, we recommend GTK+ 3.10 or
later because of its substantial implementation changes in redraw done at
that version.
*gui-x11-motif*
For Motif, you need at least Motif version 1.2 and/or X11R5. Motif 2.0 and
+2 -1
View File
@@ -1,4 +1,4 @@
*help.txt* For Vim version 7.4. Last change: 2016 Feb 27
*help.txt* For Vim version 7.4. Last change: 2016 Mar 31
VIM - main help file
k
@@ -179,6 +179,7 @@ Versions ~
|version5.txt| Differences between Vim version 4.6 and 5.x
|version6.txt| Differences between Vim version 5.7 and 6.x
|version7.txt| Differences between Vim version 6.4 and 7.x
|version8.txt| Differences between Vim version 7.4 and 8.x
*sys-file-list*
Remarks about specific systems ~
|os_390.txt| OS/390 Unix
+10 -2
View File
@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 7.4. Last change: 2016 Mar 12
*helphelp.txt* For Vim version 7.4. Last change: 2016 Apr 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -208,9 +208,11 @@ command: >
sorted.
When there are duplicates an error message is given.
An existing tags file is silently overwritten.
The optional "++t" argument forces adding the
"help-tags" tag. This is also done when the {dir} is
equal to $VIMRUNTIME/doc.
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
@@ -261,7 +263,9 @@ The second one finds the English user manual, even when 'helplang' is set to
When using command-line completion for the ":help" command, the "@en"
extension is only shown when a tag exists for multiple languages. When the
tag only exists for English "@en" is omitted.
tag only exists for English "@en" is omitted. When the first candidate has an
"@ab" extension and it matches the first language in 'helplang' "@ab" is also
omitted.
When using |CTRL-]| or ":help!" in a non-English help file Vim will try to
find the tag in the same language. If not found then 'helplang' will be used
@@ -318,6 +322,10 @@ aligned on a line.
When referring to an existing help tag and to create a hot-link, place the
name between two bars (|) eg. |help-writing|.
When referring to a Vim command and to create a hot-link, place the
name between two backticks, eg. inside `:filetype`. You will see this is
highlighted as a command, like a code block (see below).
When referring to a Vim option in the help file, place the option name between
two single quotes, eg. 'statusline'
+9 -4
View File
@@ -97,8 +97,8 @@ command does the same and also splits the window (short: "scs").
The available subcommands are:
*E563* *E564* *E566* *E568* *E569* *E622* *E623*
*E625* *E626* *E609*
*E563* *E564* *E566* *E568* *E622* *E623* *E625*
*E626* *E609*
add : Add a new cscope database/connection.
USAGE :cs add {file|dir} [pre-path] [flags]
@@ -129,6 +129,7 @@ The available subcommands are:
6 or e: Find this egrep pattern
7 or f: Find this file
8 or i: Find files #including this file
9 or a: Find places where this symbol is assigned a value
For all types, except 4 and 6, leading white space for {name} is
removed. For 4 and 6 there is exactly one space between {querytype}
@@ -255,13 +256,13 @@ started will have no effect!
{not available when compiled without the |+quickfix| feature}
'cscopequickfix' specifies whether to use quickfix window to show cscope
results. This is a list of comma-separated values. Each item consists of
|cscope-find| command (s, g, d, c, t, e, f or i) and flag (+, - or 0).
|cscope-find| command (s, g, d, c, t, e, f, i or a) and flag (+, - or 0).
'+' indicates that results must be appended to quickfix window,
'-' implies previous results clearance, '0' or command absence - don't use
quickfix. Search is performed from start until first command occurrence.
The default value is "" (don't use quickfix anyway). The following value
seems to be useful: >
:set cscopequickfix=s-,c-,d-,i-,t-,e-
:set cscopequickfix=s-,c-,d-,i-,t-,e-,a-
<
*cscopetag* *cst*
If 'cscopetag' is set, the commands ":tag" and CTRL-] as well as "vim -t"
@@ -422,6 +423,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
nmap <C-_>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-_>a :cs find a <C-R>=expand("<cword>")<CR><CR>
" Using 'CTRL-spacebar' then a search type makes the vim window
" split horizontally, with search result displayed in
@@ -435,6 +437,7 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
nmap <C-Space>f :scs find f <C-R>=expand("<cfile>")<CR><CR>
nmap <C-Space>i :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space>d :scs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space>a :scs find a <C-R>=expand("<cword>")<CR><CR>
" Hitting CTRL-space *twice* before the search type does a vertical
" split instead of a horizontal one
@@ -453,6 +456,8 @@ Cscope Home Page (http://cscope.sourceforge.net/): >
\:vert scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-Space><C-Space>d
\:vert scs find d <C-R>=expand("<cword>")<CR><CR>
nmap <C-Space><C-Space>a
\:vert scs find a <C-R>=expand("<cword>")<CR><CR>
==============================================================================
7. Cscope availability and information *cscope-info*
+6
View File
@@ -59,6 +59,12 @@ Example:
EOF
endfunction
<
To see what version of Lua you have: >
:lua print(_VERSION)
If you use LuaJIT you can also use this: >
:lua print(jit.version)
<
*:luado*
:[range]luado {body} Execute Lua function "function (line, linenr) {body}
+3
View File
@@ -97,6 +97,9 @@ procedures is restricted.
:mzscheme (require (prefix vim- vimext)) ; for MzScheme < 4.x
:mzscheme (require (prefix-in vim- 'vimext)) ; MzScheme 4.x
:mzscheme (vim-set-buff-line 10 "This is line #10")
To see what version of MzScheme you have: >
:mzscheme (display (version))
<
Inline script usage: >
function! <SID>SetFirstLine()
+3
View File
@@ -83,6 +83,9 @@ Example vim script: >
EOF
endfunction
<
To see what version of Perl you have: >
:perl print $^V
<
*:perldo* *:perld*
:[range]perld[o] {cmd} Execute Perl command {cmd} for each line in the
+47 -7
View File
@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 7.4. Last change: 2015 Nov 10
*if_pyth.txt* For Vim version 7.4. Last change: 2016 Sep 01
VIM REFERENCE MANUAL by Paul Moore
@@ -56,7 +56,11 @@ Example: >
print 'EAT ME'
EOF
endfunction
<
To see what version of Python you have: >
:python import sys
:python print(sys.version)
Note: Python is very sensitive to the indenting. Make sure the "class" line
and "EOF" do not have any indent.
@@ -653,10 +657,37 @@ vim.List object *python-List*
class List(vim.List): # Subclassing
vim.Function object *python-Function*
Function-like object, acting like vim |Funcref| object. Supports `.name`
attribute and is callable. Accepts special keyword argument `self`, see
|Dictionary-function|. You can also use `vim.Function(name)` constructor,
it is the same as `vim.bindeval('function(%s)'%json.dumps(name))`.
Function-like object, acting like vim |Funcref| object. Accepts special
keyword argument `self`, see |Dictionary-function|. You can also use
`vim.Function(name)` constructor, it is the same as
`vim.bindeval('function(%s)'%json.dumps(name))`.
Attributes (read-only):
Attribute Description ~
name Function name.
args `None` or a |python-List| object with arguments. Note
that this is a copy of the arguments list, constructed
each time you request this attribute. Modifications made
to the list will be ignored (but not to the containers
inside argument list: this is like |copy()| and not
|deepcopy()|).
self `None` or a |python-Dictionary| object with self
dictionary. Note that explicit `self` keyword used when
calling resulting object overrides this attribute.
auto_rebind Boolean. True if partial created from this Python object
and stored in the VimL dictionary should be automatically
rebound to the dictionary it is stored in when this
dictionary is indexed. Exposes Vim internal difference
between `dict.func` (auto_rebind=True) and
`function(dict.func,dict)` (auto_rebind=False). This
attribute makes no sense if `self` attribute is `None`.
Constructor additionally accepts `args`, `self` and `auto_rebind`
keywords. If `args` and/or `self` argument is given then it constructs
a partial, see |function()|. `auto_rebind` is only used when `self`
argument is given, otherwise it is assumed to be `True` regardless of
whether it was given or not. If `self` is given then it defaults to
`False`.
Examples: >
f = vim.Function('tr') # Constructor
@@ -670,6 +701,11 @@ vim.Function object *python-Function*
print f(self={}) # Like call('DictFun', [], {})
print isinstance(f, vim.Function) # True
p = vim.Function('DictFun', self={})
print f()
p = vim.Function('tr', args=['abc', 'a'])
print f('b')
==============================================================================
8. pyeval() and py3eval() Vim functions *python-pyeval*
@@ -713,8 +749,12 @@ The `:py3` and `:python3` commands work similar to `:python`. A simple check
if the `:py3` command is working: >
:py3 print("Hello")
< *:py3file*
To see what version of Python you have: >
:py3 import sys
:py3 print(sys.version)
The `:py3file` command works similar to `:pyfile`.
*:py3do* *E863*
*:py3do*
The `:py3do` command works similar to `:pydo`.
+5 -2
View File
@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 7.4. Last change: 2015 Dec 03
*if_ruby.txt* For Vim version 7.4. Last change: 2016 Sep 01
VIM REFERENCE MANUAL by Shugo Maeda
@@ -58,6 +58,9 @@ Example Vim script: >
EOF
endfunction
<
To see what version of Ruby you have: >
:ruby print RUBY_VERSION
<
*:rubydo* *:rubyd* *E265*
:[range]rubyd[o] {cmd} Evaluate Ruby command {cmd} for each line in the
@@ -205,7 +208,7 @@ MS-Windows ~
You need to install the right version of Ruby for this to work. You can find
the package to download from:
http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
Currently that is ruby-1.9.1-p429-i386-mswin32.zip
Currently that is ruby-1.9.2-p136-i386-mswin32.zip
To use the Ruby interface the Ruby DLL must be in your search path. In a
console window type "path" to see what directories are used. The 'rubydll'
+4 -1
View File
@@ -16,7 +16,7 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
{Vi does not have any of these commands} *E280* *E281*
{Vi does not have any of these commands} *E280*
The Tcl interface only works when Vim was compiled with the |+tcl| feature.
@@ -54,6 +54,9 @@ Example: >
EOF
endfunction
<
To see what version of Tcl you have: >
:tcl puts [info patchlevel]
<
*:tcldo* *:tcld*
:[range]tcld[o] {cmd} Execute Tcl command {cmd} for each line in [range]
+1 -1
View File
@@ -813,7 +813,7 @@ PHP indenting can be altered in several ways by modifying the values of some
global variables:
*php-comment* *PHP_autoformatcomment*
To not enable auto-formating of comments by default (if you want to use your
To not enable auto-formatting of comments by default (if you want to use your
own 'formatoptions'): >
:let g:PHP_autoformatcomment = 0
+16 -5
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2016 Mar 12
*index.txt* For Vim version 7.4. Last change: 2016 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -49,6 +49,7 @@ tag char action in Insert mode ~
|i_CTRL-G_k| CTRL-G k line up, to column where inserting started
|i_CTRL-G_k| CTRL-G <Up> line up, to column where inserting started
|i_CTRL-G_u| CTRL-G u start new undoable edit
|i_CTRL-G_U| CTRL-G U don't break undo with next cursor movement
|i_<BS>| <BS> delete character before the cursor
|i_digraph| {char1}<BS>{char2}
enter digraph (only when 'digraph' option set)
@@ -859,6 +860,7 @@ tag command note action in Visual mode ~
------------------------------------------------------------------------------
|v_CTRL-\_CTRL-N| CTRL-\ CTRL-N stop Visual mode
|v_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|v_CTRL-A| CTRL-A 2 add N to number in highlighted text
|v_CTRL-C| CTRL-C stop Visual mode
|v_CTRL-G| CTRL-G toggle between Visual mode and Select mode
|v_<BS>| <BS> 2 Select mode: delete highlighted area
@@ -867,6 +869,7 @@ tag command note action in Visual mode ~
command
|v_CTRL-V| CTRL-V make Visual mode blockwise or stop Visual
mode
|v_CTRL-X| CTRL-X 2 subtract N from number in highlighted text
|v_<Esc>| <Esc> stop Visual mode
|v_CTRL-]| CTRL-] jump to highlighted tag
|v_!| !{filter} 2 filter the highlighted lines through the
@@ -923,6 +926,8 @@ tag command note action in Visual mode ~
|v_a}| a} same as aB
|v_c| c 2 delete highlighted area and start insert
|v_d| d 2 delete highlighted area
|v_g_CTRL-A| g CTRL-A 2 add N to number in highlighted text
|v_g_CTRL-X| g CTRL-X 2 subtract N from number in highlighted text
|v_gJ| gJ 2 join the highlighted lines without
inserting spaces
|v_gq| gq 2 format the highlighted lines
@@ -979,7 +984,7 @@ tag command action in Command-line editing mode ~
|c_CTRL-E| CTRL-E cursor to end of command-line
|'cedit'| CTRL-F default value for 'cedit': opens the
command-line window; otherwise not used
CTRL-G not used
|c_CTRL-G| CTRL-G next match when 'incsearch' is active
|c_<BS>| <BS> delete the character in front of the cursor
|c_digraph| {char1} <BS> {char2}
enter digraph when 'digraph' is on
@@ -1012,7 +1017,7 @@ tag command action in Command-line editing mode ~
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
CTRL-T not used
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|c_CTRL-U| CTRL-U remove all characters
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
digit decimal number as a single byte.
@@ -1134,6 +1139,7 @@ tag command action ~
|:caddfile| :caddf[ile] add error message to current quickfix list
|:call| :cal[l] call a function
|:catch| :cat[ch] part of a :try command
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|:cc| :cc go to specific error
|:cclose| :ccl[ose] close quickfix window
@@ -1151,8 +1157,10 @@ tag command action ~
|:chdir| :chd[ir] change directory
|:checkpath| :che[ckpath] list included files
|:checktime| :checkt[ime] check timestamp of loaded buffers
|:clist| :cl[ist] list all errors
|:chistory| :chi[story] list the error lists
|:clast| :cla[st] go to the specified error, default last one
|:clearjumps| :cle[arjumps] clear the jump list
|:clist| :cl[ist] list all errors
|:close| :clo[se] close current window
|:cmap| :cm[ap] like ":map" but for Command-line mode
|:cmapclear| :cmapc[lear] clear all mappings for Command-line mode
@@ -1199,7 +1207,7 @@ tag command action ~
|:display| :di[splay] display registers
|:djump| :dj[ump] jump to #define
|:dl| :dl short for |:delete| with the 'l' flag
|:dl| :del[ete]l short for |:delete| with the 'l' flag
|:del| :del[ete]l short for |:delete| with the 'l' flag
|:dlist| :dli[st] list #defines
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
@@ -1231,6 +1239,7 @@ tag command action ~
|:file| :f[ile] show or set the current file name
|:files| :files list all files in the buffer list
|:filetype| :filet[ype] switch file type detection on/off
|:filter| :filt[er] filter output of following command
|:find| :fin[d] find file in 'path' and edit it
|:finally| :fina[lly] part of a :try command
|:finish| :fini[sh] quit sourcing a Vim script
@@ -1293,6 +1302,7 @@ tag command action ~
|:last| :la[st] go to the last file in the argument list
|:language| :lan[guage] set the language (locale)
|:later| :lat[er] go to newer change, redo
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|:lbuffer| :lb[uffer] parse locations and jump to first location
|:lcd| :lc[d] change directory locally
|:lchdir| :lch[dir] change directory locally
@@ -1312,6 +1322,7 @@ tag command action ~
|:lgrep| :lgr[ep] run 'grepprg' and jump to first match
|:lgrepadd| :lgrepa[dd] like :grep, but append to current list
|:lhelpgrep| :lh[elpgrep] like ":helpgrep" but uses location list
|:lhistory| :lhi[story] list the location lists
|:ll| :ll go to specific location
|:llast| :lla[st] go to the specified location, default last one
|:llist| :lli[st] list all locations
+33 -2
View File
@@ -1,4 +1,4 @@
*map.txt* For Vim version 7.4. Last change: 2016 Jan 10
*map.txt* For Vim version 7.4. Last change: 2016 Aug 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -431,6 +431,9 @@ with a space.
Note: When using mappings for Visual mode, you can use the "'<" mark, which
is the start of the last selected Visual area in the current buffer |'<|.
The |:filter| command can be used to select what mappings to list. The
pattern is matched against the {lhs} and {rhs} in the raw form.
*:map-verbose*
When 'verbose' is non-zero, listing a key map will also display where it was
last defined. Example: >
@@ -1177,6 +1180,10 @@ scripts.
" Command has the -register attribute
b Command is local to current buffer
(see below for details on attributes)
The list can be filtered on command name with
|:filter|, e.g., to list all commands with "Pyth" in
the name: >
filter Pyth command
:com[mand] {cmd} List the user-defined commands that start with {cmd}
@@ -1274,6 +1281,7 @@ completion can be enabled:
-complete=mapping mapping name
-complete=menu menus
-complete=option options
-complete=packadd optional package |pack-add| names
-complete=shellcmd Shell command
-complete=sign |:sign| suboptions
-complete=syntax syntax file names |'syntax'|
@@ -1358,7 +1366,7 @@ Possible attributes are:
Note that -range=N and -count=N are mutually exclusive - only one should be
specified.
*E889* *:command-addr*
*:command-addr*
It is possible that the special characters in the range like ., $ or % which
by default correspond to the current line, last line and the whole buffer,
relate to arguments, (loaded) buffers, windows or tab pages.
@@ -1411,6 +1419,29 @@ The valid escape sequences are
<bang> (See the '-bang' attribute) Expands to a ! if the
command was executed with a ! modifier, otherwise
expands to nothing.
*<mods>*
<mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|:keepjumps|, |:keepmarks|, |:keeppatterns|, |:leftabove|,
|:lockmarks|, |:noswapfile| |:rightbelow|, |:silent|, |:tab|,
|:topleft|, |:verbose|, and |:vertical|.
Note that these are not yet supported: |:noautocmd|,
|:sandbox| and |:unsilent|.
Examples: >
command! -nargs=+ -complete=file MyEdit
\ for f in expand(<q-args>, 0, 1) |
\ exe '<mods> split ' . f |
\ endfor
function! SpecialEdit(files, mods)
for f in expand(a:files, 0, 1)
exe a:mods . ' split ' . f
endfor
endfunction
command! -nargs=+ -complete=file Sedit
\ call SpecialEdit(<q-args>, <q-mods>)
<
*<reg>* *<register>*
<reg> (See the '-register' attribute) The optional register,
if specified. Otherwise, expands to nothing. <register>
+2 -1
View File
@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 7.4. Last change: 2013 May 18
*mbyte.txt* For Vim version 7.4. Last change: 2016 Jul 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -1010,6 +1010,7 @@ text, you can use the 'keymap' option. This will translate one or more
(English) characters to another (non-English) character. This only happens
when typing text, not when typing Vim commands. This avoids having to switch
between two keyboard settings.
{only available when compiled with the |+keymap| feature}
The value of the 'keymap' option specifies a keymap file to use. The name of
this file is one of these two:
+19 -2
View File
@@ -1,4 +1,4 @@
*message.txt* For Vim version 7.4. Last change: 2016 Feb 27
*message.txt* For Vim version 7.4. Last change: 2016 Sep 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,6 +19,15 @@ The ":messages" command can be used to view previously given messages. This
is especially useful when messages have been overwritten or truncated. This
depends on the 'shortmess' option.
:messages Show all messages.
:{count}messages Show the {count} most recent messages.
:messages clear Clear all messages.
:{count}messages clear Clear messages, keeping only the {count} most
recent ones.
The number of remembered messages is fixed at 20 for the tiny version and 200
for other versions.
@@ -30,6 +39,7 @@ back.
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.
The "g<" output is not redirected.
If you are using translated messages, the first printed line tells who
maintains the messages or the translations. You can use this to contact the
@@ -58,8 +68,9 @@ If you are lazy, it also works without the shift key: >
When an error message is displayed, but it is removed before you could read
it, you can see it again with: >
:echo errmsg
or view a list of recent messages with: >
Or view a list of recent messages with: >
:messages
See `:messages` above.
LIST OF MESSAGES
@@ -663,6 +674,12 @@ You must be using an awful lot of buffers. It's now possible that two buffers
have the same number, which causes various problems. You might want to exit
Vim and restart it.
*E931* >
Buffer cannot be registered
Out of memory or a duplicate buffer number. May happen after W14. Looking up
a buffer will not always work, better restart Vim.
*E296* *E297* >
Seek error in swap file write
Write error in swap file
+13 -6
View File
@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.4. Last change: 2015 Jun 06
*motion.txt* For Vim version 7.4. Last change: 2016 Jul 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -586,7 +586,7 @@ i[ "inner [] block", select [count] '[' ']' blocks. This
When used in Visual mode it is made characterwise.
a) *v_a)* *a)* *a(*
a( *v_ab* *v_a(* *ab*
a( *vab* *v_ab* *v_a(* *ab*
ab "a block", select [count] blocks, from "[count] [(" to
the matching ')', including the '(' and ')' (see
|[(|). Does not include white space outside of the
@@ -594,7 +594,7 @@ ab "a block", select [count] blocks, from "[count] [(" to
When used in Visual mode it is made characterwise.
i) *v_i)* *i)* *i(*
i( *v_ib* *v_i(* *ib*
i( *vib* *v_ib* *v_i(* *ib*
ib "inner block", select [count] blocks, from "[count] [("
to the matching ')', excluding the '(' and ')' (see
|[(|).
@@ -1027,7 +1027,8 @@ unless the line containing that position was changed or deleted.
*CTRL-O*
CTRL-O Go to [count] Older cursor position in jump list
(not a motion command). {not in Vi}
(not a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
@@ -1037,8 +1038,14 @@ CTRL-I Go to [count] newer cursor position in jump list
{not available without the |+jumplist| feature}
*:ju* *:jumps*
:ju[mps] Print the jump list (not a motion command). {not in
Vi} {not available without the |+jumplist| feature}
:ju[mps] Print the jump list (not a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
*:cle* *:clearjumps*
:cle[arjumps] Clear the jump list of the current window.
{not in Vi}
{not available without the |+jumplist| feature}
*jumplist*
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you
+4 -2
View File
@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 7.4. Last change: 2016 Feb 18
*netbeans.txt* For Vim version 7.4. Last change: 2016 Jul 15
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -59,6 +59,8 @@ Current projects using the NetBeans protocol of Vim are:
Check the specific project pages to see how to use Vim with these projects.
An alternative is to use a channel, see |channel|.
In the rest of this help page, we will use the term "Vim Controller" to
describe the program controlling Vim through the NetBeans socket interface.
@@ -827,7 +829,7 @@ REJECT Not used.
These errors occur when a message violates the protocol:
*E627* *E628* *E629* *E632* *E633* *E634* *E635* *E636*
*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
*E647* *E648* *E649* *E650* *E651* *E652*
==============================================================================
+203 -102
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2016 Mar 19
*options.txt* For Vim version 7.4. Last change: 2016 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -261,10 +261,10 @@ global value, which is used for new buffers. With ":set" both the local and
global value is changed. With "setlocal" only the local value is changed,
thus this value is not used when editing a new buffer.
When editing a buffer that has been edited before, the last used window
options are used again. If this buffer has been edited in this window, the
values from back then are used. Otherwise the values from the window where
the buffer was edited last are used.
When editing a buffer that has been edited before, the options from the window
that was last closed are used again. If this buffer has been edited in this
window, the values from back then are used. Otherwise the values from the
last closed window where the buffer was edited last are used.
It's possible to set a local window option specifically for a type of buffer.
When you edit another buffer in the same window, you don't want to keep
@@ -892,7 +892,8 @@ A jump table for the options with a short description can be found at |Q_op|.
done with ":syntax on".
*'backspace'* *'bs'*
'backspace' 'bs' string (default "")
'backspace' 'bs' string (default "", set to "indent,eol,start"
in |defaults.vim|)
global
{not in Vi}
Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
@@ -1075,7 +1076,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Note that environment variables are not expanded. If you want to use
$HOME you must expand it explicitly, e.g.: >
:let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
:let &backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
< Note that the default also makes sure that "crontab -e" works (when a
backup would be made by renaming the original file crontab won't see
@@ -1108,6 +1109,7 @@ A jump table for the options with a short description can be found at |Q_op|.
v:beval_bufnr number of the buffer in which balloon is going to show
v:beval_winnr number of the window
v:beval_winid ID of the window
v:beval_lnum line number
v:beval_col column number (byte index)
v:beval_text word under or after the mouse pointer
@@ -1258,7 +1260,7 @@ A jump table for the options with a short description can be found at |Q_op|.
break if 'linebreak' is on. Only works for ASCII and also for 8-bit
characters when 'encoding' is an 8-bit encoding.
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
*'breakindent'* *'bri'* *'nobreakindent'* *'nobri'*
'breakindent' 'bri' boolean (default off)
local to window
{not in Vi}
@@ -1439,8 +1441,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Only non-printable keys are allowed.
The key can be specified as a single character, but it is difficult to
type. The preferred way is to use the <> notation. Examples: >
:set cedit=<C-Y>
:set cedit=<Esc>
:exe "set cedit=\<C-Y>"
:exe "set cedit=\<Esc>"
< |Nvi| also has this option, but it only uses the first character.
See |cmdwin|.
@@ -1708,7 +1710,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'compatible'* *'cp'* *'nocompatible'* *'nocp'*
'compatible' 'cp' boolean (default on, off when a |vimrc| or |gvimrc|
file is found)
file is found, reset in |defaults.vim|)
global
{not in Vi}
This option has the effect of making Vim either more Vi-compatible, or
@@ -2305,6 +2307,8 @@ A jump table for the options with a short description can be found at |Q_op|.
different. The whole undo file is encrypted, not just
the pieces of text.
You should use "blowfish2", also to re-encrypt older files.
When reading an encrypted file 'cryptmethod' will be set automatically
to the detected method of the file being read. Thus if you write it
without changing 'cryptmethod' the same method will be used.
@@ -2627,17 +2631,24 @@ A jump table for the options with a short description can be found at |Q_op|.
{Vi: directory to put temp file in, defaults to "/tmp"}
*'display'* *'dy'*
'display' 'dy' string (default "")
'display' 'dy' string (default "", set to "truncate" in
|defaults.vim|)
global
{not in Vi}
Change the way text is displayed. This is comma separated list of
flags:
lastline When included, as much as possible of the last line
in a window will be displayed. When not included, a
last line that doesn't fit is replaced with "@" lines.
in a window will be displayed. "@@@" is put in the
last columns of the last screen line to indicate the
rest of the line is not displayed.
truncate Like "lastline", but "@@@" is displayed in the first
column of the last screen line. Overrules "lastline".
uhex Show unprintable characters hexadecimal as <xx>
instead of using ^C and ~C.
When neither "lastline" or "truncate" is included, a last line that
doesn't fit is replaced with "@" lines.
*'eadirection'* *'ead'*
'eadirection' 'ead' string (default "both")
global
@@ -2657,7 +2668,7 @@ A jump table for the options with a short description can be found at |Q_op|.
also 'gdefault' option.
Switching this option on is discouraged!
*'emoji'* *'emo'*
*'emoji'* *'emo'* *'noemoji'* *'noemo'*
'emoji' 'emo' boolean (default: on)
global
{not in Vi}
@@ -2858,10 +2869,17 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
Enables the reading of .vimrc, .exrc and .gvimrc in the current
directory. If you switch this option on you should also consider
setting the 'secure' option (see |initialization|). Using a local
.exrc, .vimrc or .gvimrc is a potential security leak, use with care!
also see |.vimrc| and |gui-init|.
directory.
Setting this option is a potential security leak. E.g., consider
unpacking a package or fetching files from github, a .vimrc in there
might be a trojan horse. BETTER NOT SET THIS OPTION!
Instead, define an autocommand in your .vimrc to set options for a
matching directory.
If you do switch this option on you should also consider setting the
'secure' option (see |initialization|).
Also see |.vimrc| and |gui-init|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -3043,8 +3061,8 @@ A jump table for the options with a short description can be found at |Q_op|.
file only, the option is not changed.
When 'binary' is set, the value of 'fileformats' is not used.
Note that when Vim starts up with an empty buffer this option is not
used. Set 'fileformat' in your .vimrc instead.
When Vim starts up with an empty buffer the first item is used. You
can overrule this by setting 'fileformat' in your .vimrc.
For systems with a Dos-like <EOL> (<CR><NL>), when reading files that
are ":source"ed and for vimrc files, automatic <EOL> detection may be
@@ -3347,6 +3365,41 @@ A jump table for the options with a short description can be found at |Q_op|.
It is not allowed to change text or jump to another window while
evaluating 'foldtext' |textlock|.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
local to buffer
{not in Vi}
{not available when compiled without the |+eval|
feature}
Expression which is evaluated to format a range of lines for the |gq|
operator or automatic formatting (see 'formatoptions'). When this
option is empty 'formatprg' is used.
The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted if the expression is being evaluated due to
automatic formatting. This can be empty. Don't insert
it yet!
Example: >
:set formatexpr=mylang#Format()
< This will invoke the mylang#Format() function in the
autoload/mylang.vim file in 'runtimepath'. |autoload|
The expression is also evaluated when 'textwidth' is set and adding
text beyond that limit. This happens under the same conditions as
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'formatoptions'* *'fo'*
'formatoptions' 'fo' string (Vim default: "tcq", Vi default: "vt")
local to buffer
@@ -3390,41 +3443,6 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
local to buffer
{not in Vi}
{not available when compiled without the |+eval|
feature}
Expression which is evaluated to format a range of lines for the |gq|
operator or automatic formatting (see 'formatoptions'). When this
option is empty 'formatprg' is used.
The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted if the expression is being evaluated due to
automatic formatting. This can be empty. Don't insert
it yet!
Example: >
:set formatexpr=mylang#Format()
< This will invoke the mylang#Format() function in the
autoload/mylang.vim file in 'runtimepath'. |autoload|
The expression is also evaluated when 'textwidth' is set and adding
text beyond that limit. This happens under the same conditions as
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
'fsync' 'fs' boolean (default on)
global
@@ -3453,6 +3471,10 @@ A jump table for the options with a short description can be found at |Q_op|.
See 'fuoptions' for how Vim resizes and colors the background when
entering and leaving fullscreen mode.
You can use the hidden preference MMFullScreenFadeTime to adjust how
long the animation takes to fade in and out. The default is 0.25
seconds. See |macvim-preferences|for how to set hidden preferences.
Note: Setting 'fullscreen' usually changes the size of the Vim
control. However, for technical reasons, 'lines' and 'columns' will
currently only be updated when Vim runs its event loop. As a
@@ -3733,6 +3755,10 @@ A jump table for the options with a short description can be found at |Q_op|.
HANGEUL, HEBREW, JOHAB, MAC, OEM, RUSSIAN, SHIFTJIS,
SYMBOL, THAI, TURKISH, VIETNAMESE ANSI and BALTIC.
Normally you would use "cDEFAULT".
qXX - quality XX. Valid quality names are: PROOF, DRAFT,
ANTIALIASED, NONANTIALIASED, CLEARTYPE, DEFAULT.
Normally you would use "qDEFAULT".
Some quality values are not supported in legacy OSs.
Use a ':' to separate the options.
- A '_' can be used in the place of a space, so you don't need to use
@@ -3819,8 +3845,10 @@ A jump table for the options with a short description can be found at |Q_op|.
screen.
*'guioptions'* *'go'*
'guioptions' 'go' string (default "egmrLtT" (MS-Windows),
"aegimrLtT" (GTK, Motif and Athena))
'guioptions' 'go' string (default "egmrLtT" (MS-Windows, "t" is
removed in |defaults.vim|),
"aegimrLtT" (GTK, Motif and Athena),
)
global
{not in Vi}
{only available when compiled with GUI enabled}
@@ -4037,17 +4065,16 @@ A jump table for the options with a short description can be found at |Q_op|.
*'highlight'* *'hl'*
'highlight' 'hl' string (default (as a single string):
"8:SpecialKey,@:NonText,d:Directory,
e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
M:ModeMsg,n:LineNr,N:CursorLineNr,
r:Question,s:StatusLine,S:StatusLineNC,
c:VertSplit, t:Title,v:Visual,
w:WarningMsg,W:WildMenu,
f:Folded,F:FoldColumn,A:DiffAdd,
C:DiffChange,D:DiffDelete,T:DiffText,
>:SignColumn,B:SpellBad,P:SpellCap,
R:SpellRare,L:SpellLocal,-:Conceal,
+:Pmenu,=:PmenuSel,
"8:SpecialKey,~:EndOfBuffer,@:NonText,
d:Directory,e:ErrorMsg,i:IncSearch,
l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
N:CursorLineNr,r:Question,s:StatusLine,
S:StatusLineNC,c:VertSplit,t:Title,
v:Visual,w:WarningMsg,W:WildMenu,f:Folded,
F:FoldColumn,A:DiffAdd,C:DiffChange,
D:DiffDelete,T:DiffText,>:SignColumn,
B:SpellBad,P:SpellCap,R:SpellRare,
L:SpellLocal,-:Conceal,+:Pmenu,=:PmenuSel,
x:PmenuSbar,X:PmenuThumb")
global
{not in Vi}
@@ -4056,7 +4083,8 @@ A jump table for the options with a short description can be found at |Q_op|.
first character in a pair gives the occasion, the second the mode to
use for that occasion. The occasions are:
|hl-SpecialKey| 8 Meta and special keys listed with ":map"
|hl-NonText| @ '~' and '@' at the end of the window and
|hl-EndOfBuffer| ~ lines after the last line in the buffer
|hl-NonText| @ '@' at the end of the window and
characters from 'showbreak'
|hl-Directory| d directories in CTRL-D listing and other special
things in listings
@@ -4144,7 +4172,8 @@ A jump table for the options with a short description can be found at |Q_op|.
NOTE: This option is reset when 'compatible' is set.
*'history'* *'hi'*
'history' 'hi' number (Vim default: 50, Vi default: 0)
'history' 'hi' number (Vim default: 50, Vi default: 0,
set to 200 in |defaults.vim|)
global
{not in Vi}
A history of ":" commands, and a history of previous search patterns
@@ -4397,7 +4426,8 @@ A jump table for the options with a short description can be found at |Q_op|.
evaluating 'includeexpr' |textlock|.
*'incsearch'* *'is'* *'noincsearch'* *'nois'*
'incsearch' 'is' boolean (default off)
'incsearch' 'is' boolean (default off, set in |defaults.vim| if the
+reltime feature is supported)
global
{not in Vi}
{not available when compiled without the
@@ -4410,6 +4440,8 @@ A jump table for the options with a short description can be found at |Q_op|.
original position when no match is found and when pressing <Esc>. You
still need to finish the search command with <Enter> to move the
cursor to the match.
You can use the CTRL-N and CTRL-P keys to move to the next and
previous match. |c_CTRL-N| |c_CTRL-P|
When compiled with the |+reltime| feature Vim only searches for about
half a second. With a complicated pattern and/or a lot of text the
match may not be found. This is to avoid that Vim hangs while you
@@ -4494,7 +4526,7 @@ A jump table for the options with a short description can be found at |Q_op|.
if you want to use Vim as a modeless editor. Used for |evim|.
These Insert mode commands will be useful:
- Use the cursor keys to move around.
- Use CTRL-O to execute one Normal mode command |i_CTRL-O|). When
- Use CTRL-O to execute one Normal mode command |i_CTRL-O|. When
this is a mapping, it is executed as if 'insertmode' was off.
Normal mode remains active until the mapping is finished.
- Use CTRL-L to execute a number of Normal mode commands, then use
@@ -4691,16 +4723,18 @@ A jump table for the options with a short description can be found at |Q_op|.
*'keywordprg'* *'kp'*
'keywordprg' 'kp' string (default "man" or "man -s", DOS: ":help",
OS/2: "view /", VMS: "help")
VMS: "help")
global or local to buffer |global-local|
{not in Vi}
Program to use for the |K| command. Environment variables are
expanded |:set_env|. ":help" may be used to access the Vim internal
help. (Note that previously setting the global option to the empty
value did this, which is now deprecated.)
When "man" is used, Vim will automatically translate a count for the
"K" command to a section number. Also for "man -s", in which case the
"-s" is removed when there is no count.
When the first character is ":", the command is invoked as a Vim
Ex command prefixed with [count].
When "man", "man -s" or an Ex command is used, Vim will automatically
translate a count for the "K" command and pass it as the first
argument. For "man -s" the "-s" is removed when there is no count.
See |option-backslash| about including spaces and backslashes.
Example: >
:set keywordprg=man\ -s
@@ -4721,7 +4755,7 @@ A jump table for the options with a short description can be found at |Q_op|.
be able to execute Normal mode commands.
This is the opposite of the 'keymap' option, where characters are
mapped in Insert mode.
Also consider setting 'langnoremap' to avoid 'langmap' applies to
Also consider resetting 'langremap' to avoid 'langmap' applies to
characters resulting from a mapping.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -4779,15 +4813,25 @@ A jump table for the options with a short description can be found at |Q_op|.
< Warning: This deletes all menus that you defined yourself!
*'langnoremap'* *'lnr'* *'nolangnoremap'* *'nolnr'*
'langnoremap' 'lnr' boolean (default off)
'langnoremap' 'lnr' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{only available when compiled with the |+langmap|
feature}
When on, setting 'langmap' does not apply to characters resulting from
This is just like 'langremap' but with the value inverted. It only
exists for backwards compatibility. When setting 'langremap' then
'langnoremap' is set to the inverted value, and the other way around.
*'langremap'* *'lrm'* *'nolangremap'* *'nolrm'*
'langremap' 'lrm' boolean (default on, reset in |defaults.vim|)
global
{not in Vi}
{only available when compiled with the |+langmap|
feature}
When off, setting 'langmap' does not apply to characters resulting from
a mapping. This basically means, if you noticed that setting
'langmap' disables some of your mappings, try setting this option.
This option defaults to off for backwards compatibility. Set it on if
'langmap' disables some of your mappings, try resetting this option.
This option defaults to on for backwards compatibility. Set it off if
that works for you to avoid mappings to break.
*'laststatus'* *'ls'*
@@ -4840,7 +4884,7 @@ A jump table for the options with a short description can be found at |Q_op|.
use this command to get the tallest window possible: >
:set lines=999
< Minimum value is 2, maximum value is 1000.
If you get less lines than expected, check the 'guiheadroom' option.
If you get fewer lines than expected, check the 'guiheadroom' option.
When you set this option and Vim is unable to change the physical
number of lines of the display, the display may be messed up.
@@ -4967,6 +5011,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Lua shared library. The default is
DYNAMIC_LUA_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -4998,6 +5043,18 @@ A jump table for the options with a short description can be found at |Q_op|.
'guifont' supports them. Examples for such fonts are Fira Code or
Haskelig.
Note: Currently this option only has an effect if
'Use Core Text renderer' is enabled in the GUI preferences pane.
*'macthinstrokes'* *'nomacthinstrokes'*
'macthinstrokes' boolean (default off)
global
{not in Vi}
{only available when compiled with GUI enabled on
Mac OS X}
This option only has an effect in the GUI version of Vim on Mac OS X
v10.8 or later. When on, Vim will render the text a little lighter
which looks nice with a dark colorscheme.
Note: Currently this option only has an effect if
'Use Core Text renderer' is enabled in the GUI preferences pane.
*'macmeta'* *'mmta'* *'nomacmeta'* *'nommta'*
@@ -5017,10 +5074,11 @@ A jump table for the options with a short description can be found at |Q_op|.
global
Changes the special characters that can be used in search patterns.
See |pattern|.
NOTE: To avoid portability problems with using patterns, always keep
this option at the default "on". Only switch it off when working with
old Vi scripts. In any other situation write patterns that work when
'magic' is on. Include "\M" when you want to |/\M|.
WARNING: Switching this option off most likely breaks plugins! That
is because many patterns assume it's on and will fail when it's off.
Only switch it off when working with old Vi scripts. In any other
situation write patterns that work when 'magic' is on. Include "\M"
when you want to |/\M|.
*'makeef'* *'mef'*
'makeef' 'mef' string (default: "")
@@ -5160,7 +5218,7 @@ A jump table for the options with a short description can be found at |Q_op|.
without a limit.
On 64 bit machines higher values might work. But hey, do you really
need more than 2 Gbyte for text editing? Keep in mind that text is
stored in the swap file, one can edit files > 2 Gbyte anyay. We do
stored in the swap file, one can edit files > 2 Gbyte anyway. We do
need the memory to store undo info.
Also see 'maxmem'.
@@ -5251,6 +5309,7 @@ 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.
Similarly for 'eol' and 'bomb'.
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
@@ -5269,7 +5328,8 @@ A jump table for the options with a short description can be found at |Q_op|.
set and to the Vim default value when 'compatible' is reset.
*'mouse'* *E538*
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
'mouse' string (default "", "a" for GUI, MS-DOS and Win32,
set to "a" in |defaults.vim|)
global
{not in Vi}
Enable the use of the mouse. Only works for certain terminals
@@ -5435,7 +5495,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Negative or zero value means no thread scheduling.
*'nrformats'* *'nf'*
'nrformats' 'nf' string (default "bin,octal,hex")
'nrformats' 'nf' string (default "bin,octal,hex",
set to "bin,hex" in |defaults.vim|)
local to buffer
{not in Vi}
This defines what bases Vim will consider for numbers when using the
@@ -5719,6 +5780,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Perl shared library. The default is
DYNAMIC_PERL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5856,6 +5918,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Python 2.x shared library. The default is
DYNAMIC_PYTHON_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -5867,6 +5930,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Python 3 shared library. The default is
DYNAMIC_PYTHON3_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -6097,11 +6161,12 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Ruby shared library. The default is
DYNAMIC_RUBY_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'ruler'* *'ru'* *'noruler'* *'noru'*
'ruler' 'ru' boolean (default off)
'ruler' 'ru' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{not available when compiled without the
@@ -6187,6 +6252,7 @@ A jump table for the options with a short description can be found at |Q_op|.
keymap/ key mapping files |mbyte-keymap|
lang/ menu translations |:menutrans|
menu.vim GUI menus |menu.vim|
pack/ packages |:packadd|
plugin/ plugin scripts |write-plugin|
print/ files for printing |postscript-print-encoding|
spell/ spell checking files |spell|
@@ -6208,6 +6274,8 @@ A jump table for the options with a short description can be found at |Q_op|.
personal preferences to overrule or add to the distributed defaults
or system-wide settings (rarely needed).
More entries are added when using |packages|.
Note that, unlike 'path', no wildcards like "**" are allowed. Normal
wildcards are allowed, but can significantly slow down searching for
runtime files. For speed, use as few items as possible and avoid
@@ -6349,6 +6417,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"inclusive" means that the last character of the selection is included
in an operation. For example, when "x" is used to delete the
selection.
When "old" is used and 'virtualedit' allows the cursor to move past
the end of line the line break still isn't included.
Note that when "exclusive" is used and selecting from the end
backwards, you cannot include the last character of a line, when
starting in Normal mode and 'virtualedit' empty.
@@ -6573,6 +6643,8 @@ A jump table for the options with a short description can be found at |Q_op|.
The |FilterReadPre|, |FilterReadPost| and |FilterWritePre|,
|FilterWritePost| autocommands event are not triggered when
'shelltemp' is off.
The `system()` function does not respect this option and always uses
temp files.
*'shelltype'* *'st'*
'shelltype' 'st' number (default 0)
@@ -6729,8 +6801,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"n" flag to 'cpoptions'.
*'showcmd'* *'sc'* *'noshowcmd'* *'nosc'*
'showcmd' 'sc' boolean (Vim default: on, off for Unix, Vi default:
off)
'showcmd' 'sc' boolean (Vim default: on, off for Unix,
Vi default: off, set in |defaults.vim|)
global
{not in Vi}
{not available when compiled without the
@@ -6835,10 +6907,21 @@ A jump table for the options with a short description can be found at |Q_op|.
Example: Try this together with 'sidescroll' and 'listchars' as
in the following example to never allow the cursor to move
onto the "extends" character:
onto the "extends" character: >
:set nowrap sidescroll=1 listchars=extends:>,precedes:<
:set sidescrolloff=1
<
*'signcolumn'* *'scl'*
'signcolumn' 'scl' string (default "auto")
local to window
{not in Vi}
{not available when compiled without the |+signs|
feature}
Whether or not to draw the signcolumn. Valid values are:
"auto" only when there is a sign to display
"no" never
"yes" always
*'smartcase'* *'scs'* *'nosmartcase'* *'noscs'*
@@ -7508,6 +7591,9 @@ A jump table for the options with a short description can be found at |Q_op|.
By default, tag searches are case-sensitive. Case is ignored when
'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
"ignore".
Also when 'tagcase' is "followscs" and 'smartcase' is set, or
'tagcase' is "smart", and the pattern contains only lowercase
characters.
When 'tagbsearch' is off, tags searching is slower when a full match
exists, but faster when no full match exists. Tags in unsorted tags
@@ -7526,8 +7612,10 @@ A jump table for the options with a short description can be found at |Q_op|.
This option specifies how case is handled when searching the tags
file:
followic Follow the 'ignorecase' option
followscs Follow the 'smartcase' and 'ignorecase' options
ignore Ignore case
match Match case
smart Ignore case unless an upper case letter is used
*'taglength'* *'tl'*
'taglength' 'tl' number (default 0)
@@ -7591,6 +7679,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
Specifies the name of the Tcl shared library. The default is
DYNAMIC_TCL_DLL, which was specified at compile time.
Environment variables are expanded |:set_env|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -7665,6 +7754,18 @@ A jump table for the options with a short description can be found at |Q_op|.
:set encoding=utf-8
< You need to do this when your system has no locale support for UTF-8.
*'termguicolors'* *'tgc'*
'termguicolors' 'tgc' boolean (default off)
global
{not in Vi}
{not available when compiled without the
|+termguicolors| feature}
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
the terminal (thus using 24-bit color). Requires a ISO-8613-3
compatible terminal.
If setting this option does not work (produces a colorless UI)
reading |xterm-true-color| might help.
*'terse'* *'noterse'*
'terse' boolean (default off)
global
@@ -8028,8 +8129,8 @@ A jump table for the options with a short description can be found at |Q_op|.
"xterm", "xterm2", "urxvt" or "sgr" (because dec mouse codes conflict
with them).
This option is automatically set to "xterm", when the 'term' option is
set to a name that starts with "xterm", "mlterm", or "screen", and
'ttymouse' is not set already.
set to a name that starts with "xterm", "mlterm", "screen", "st" (full
match only), "st-" or "stterm", and 'ttymouse' is not set already.
Additionally, if vim is compiled with the |+termresponse| feature and
|t_RV| is set to the escape sequence to request the xterm version
number, more intelligent detection process runs.
@@ -8299,10 +8400,10 @@ A jump table for the options with a short description can be found at |Q_op|.
has been used since the last search command.
*viminfo-n*
n Name of the viminfo file. The name must immediately follow
the 'n'. Must be the last one! If the "-i" argument was
given when starting Vim, that file name overrides the one
given here with 'viminfo'. Environment variables are expanded
when opening the file, not when setting the option.
the 'n'. Must be at the end of the option! If the "-i"
argument was given when starting Vim, that file name overrides
the one given here with 'viminfo'. Environment variables are
expanded when opening the file, not when setting the option.
*viminfo-r*
r Removable media. The argument is a string (up to the next
','). This parameter can be given several times. Each
@@ -8488,7 +8589,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'wildmenu'* *'wmnu'* *'nowildmenu'* *'nowmnu'*
'wildmenu' 'wmnu' boolean (default off)
'wildmenu' 'wmnu' boolean (default off, set in |defaults.vim|)
global
{not in Vi}
{not available if compiled without the |+wildmenu|
@@ -8787,7 +8888,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'writedelay' 'wd' number (default 0)
global
{not in Vi}
The number of microseconds to wait for each character sent to the
The number of milliseconds to wait for each character sent to the
screen. When non-zero, characters are sent to the terminal one by
one. For MS-DOS pcterm this does not work. For debugging purposes.
+4 -3
View File
@@ -1,4 +1,4 @@
*os_beos.txt* For Vim version 7.4. Last change: 2010 Aug 14
*os_beos.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -248,8 +248,9 @@ reality. Vim uses this mapping:
Button 3 -> MiddleMouse.
If your mouse has fewer than 3 buttons you can provide your own mapping from
mouse clicks with modifier(s) to other mouse buttons. See the file
vim-5.x/macros/swapmous.vim for an example. |gui-mouse-mapping|
mouse clicks with modifier(s) to other mouse buttons. See the swapmouse
package for an example: |gui-mouse-mapping|
$VIMRUNTIME/pack/dist/opt/swapmouse/plugin/swapmouse.vim
12. Color names *beos-colors*
+3 -24
View File
@@ -1,4 +1,4 @@
*os_win32.txt* For Vim version 7.4. Last change: 2016 Mar 05
*os_win32.txt* For Vim version 7.4. Last change: 2016 Aug 28
VIM REFERENCE MANUAL by George Reilly
@@ -144,29 +144,8 @@ the console.
5. Running under Windows 3.1 *win32-win3.1*
*win32s* *windows-3.1*
There is a special version of Gvim that runs under Windows 3.1 and 3.11. You
need the gvim.exe that was compiled with Visual C++ 4.1.
To run the Win32 version under Windows 3.1, you need to install Win32s. You
might have it already from another Win32 application which you have installed.
If Vim doesn't seem to be running properly, get the latest version: 1.30c.
You can find it at:
http://support.microsoft.com/download/support/mslfiles/pw1118.exe
(Microsoft moved it again, we don't know where it is now :-( ).
The reason for having two versions of gvim.exe is that the Win32s version was
compiled with VC++ 4.1. This is the last version of VC++ that supports Win32s
programs. VC++ 5.0 is better, so that one was used for the Win32 version.
Apart from that, there is no difference between the programs. If you are in a
mixed environment, you can use the gvim.exe for Win32s on both.
The Win32s version works the same way as the Win32 version under 95/NT. When
running under Win32s the following differences apply:
- You cannot use long file names, because Windows 3.1 doesn't support them!
- When executing an external command, it doesn't return an exit code. After
doing ":make" you have to do ":cn" yourself.
There was a special version of Gvim that runs under Windows 3.1 and 3.11.
Support was removed in patch 7.4.1363.
==============================================================================
6. Win32 mini FAQ *win32-faq*
+20 -15
View File
@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.4. Last change: 2016 Jan 03
*pattern.txt* For Vim version 7.4. Last change: 2016 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -576,7 +576,7 @@ An atom can be followed by an indication of how many times the atom can be
matched and in what way. This is called a multi. See |/multi| for an
overview.
*/star* */\star* *E56*
*/star* */\star*
* (use \* when 'magic' is not set)
Matches 0 or more of the preceding atom, as many as possible.
Example 'nomagic' matches ~
@@ -596,7 +596,7 @@ overview.
the end of the file and then tries matching "END", backing up one
character at a time.
*/\+* *E57*
*/\+*
\+ Matches 1 or more of the preceding atom, as many as possible. {not in
Vi}
Example matches ~
@@ -612,7 +612,7 @@ overview.
\? Just like \=. Cannot be used when searching backwards with the "?"
command. {not in Vi}
*/\{* *E58* *E60* *E554* *E870*
*/\{* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
\{n} Matches n of the preceding atom
\{n,} Matches at least n of the preceding atom, as many as possible
@@ -954,14 +954,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
< When 'hlsearch' is set and you move the cursor around and make changes
this will clearly show when the match is updated or not.
To match the text up to column 17: >
/.*\%17v
< Column 17 is included, because that's where the "\%17v" matches,
even though this is a |/zero-width| match. Adding a dot to match the
next character has the same result: >
/.*\%17v.
/^.*\%17v
< Column 17 is not included, because this is a |/zero-width| match. To
include the column use: >
/^.*\%17v.
< This command does the same thing, but also matches when there is no
character in column 17: >
/.*\%<18v.
/^.*\%<18v.
< Note that without the "^" to anchor the match in the first column,
this will also highlight column 17: >
/.*\%17v
< Column 17 is highlighted by 'hlsearch' because there is another match
where ".*" matches zero characters.
<
Character classes: {not in Vi}
@@ -1079,8 +1083,8 @@ x A single character, with no special meaning, matches itself
belonging to that character class. The following character classes
are supported:
Name Contents ~
*[:alnum:]* [:alnum:] letters and digits
*[:alpha:]* [:alpha:] letters
*[:alnum:]* [:alnum:] ASCII letters and digits
*[:alpha:]* [:alpha:] ASCII letters
*[:blank:]* [:blank:] space and tab characters
*[:cntrl:]* [:cntrl:] control characters
*[:digit:]* [:digit:] decimal digits
@@ -1088,7 +1092,7 @@ x A single character, with no special meaning, matches itself
*[:lower:]* [:lower:] lowercase letters (all letters when
'ignorecase' is used)
*[:print:]* [:print:] printable characters including space
*[:punct:]* [:punct:] punctuation characters
*[:punct:]* [:punct:] ASCII punctuation characters
*[:space:]* [:space:] whitespace characters
*[:upper:]* [:upper:] uppercase letters (all letters when
'ignorecase' is used)
@@ -1104,8 +1108,9 @@ x A single character, with no special meaning, matches itself
'/', alphabetic, numeric, '_' or '~'.
These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multi-byte characters when using the new
regexp engine. In the future these items may work for multi-byte
characters.
regexp engine. See |two-engines|. In the future these items may
work for multi-byte characters. For now, to get all "alpha"
characters you can use: [[:lower:][:upper:]].
*/[[=* *[==]*
- An equivalence class. This means that characters are matched that
have almost the same meaning, e.g., when ignoring accents. This
+23 -19
View File
@@ -1,25 +1,25 @@
*pi_logipat.txt* Logical Patterns Mar 13, 2013
*logiPat.txt* Logical Patterns Jun 22, 2015
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
Copyright: (c) 2004-2015 by Charles E. Campbell *logiPat-copyright*
The VIM LICENSE applies to LogiPat.vim and LogiPat.txt
(see |copyright|) except use "LogiPat" instead of "Vim"
No warranty, express or implied. Use At-Your-Own-Risk.
==============================================================================
1. Contents *logipat* *logipat-contents*
1. Contents *logiPat* *logiPat-contents*
1. Contents.................: |logiPat-contents|
2. LogiPat Manual...........: |logiPat-manual|
3. LogiPat Examples.........: |logiPat-examples|
4. Caveat...................: |logiPat-caveat|
5. LogiPat History..........: |logiPat-history|
1. Contents.................: |logipat-contents|
2. LogiPat Manual...........: |logipat-manual|
3. LogiPat Examples.........: |logipat-examples|
4. Caveat...................: |logipat-caveat|
5. LogiPat History..........: |logipat-history|
==============================================================================
2. LogiPat Manual *logipat-manual* *logipat-man*
2. LogiPat Manual *logiPat-manual* *logiPat-man*
*logipat-arg* *logipat-input* *logipat-pattern* *logipat-operators*
*logiPat-arg* *logiPat-input* *logiPat-pattern* *logiPat-operators*
Boolean logic patterns are composed of
operators ! = not
@@ -30,13 +30,12 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
:LogiPat {boolean-logic pattern} *:LogiPat*
:LogiPat is a command which takes a boolean-logic
argument (|logipat-arg|).
argument (|logiPat-arg|).
:LP {boolean-logic pattern} *:LP*
:LP is a shorthand command version of :LogiPat
(|:LogiPat|).
:ELP {boolean-logic pattern} *:ELP*
:LPE {boolean-logic pattern} *:LPE*
No search is done, but the conversion from the
boolean logic pattern to the regular expression
is performed and echoed onto the display.
@@ -59,8 +58,9 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
To get a " inside a pattern, as opposed to having it delimit
the pattern, double it.
==============================================================================
3. LogiPat Examples *logipat-examples*
3. LogiPat Examples *logiPat-examples*
LogiPat takes Boolean logic arguments and produces a regular
expression which implements the choices. A series of examples
@@ -96,22 +96,26 @@ Copyright: (c) 2004-2013 by Charles E. Campbell *logipat-copyright*
==============================================================================
4. Caveat *logipat-caveat*
4. Caveat *logiPat-caveat*
The "not" operator may be fragile; ie. it may not always play well
with the & (logical-and) and | (logical-or) operators. Please try out
your patterns, possibly with :set hls, to insure that what is matching
is what you want.
==============================================================================
3. LogiPat History *logipat-history*
==============================================================================
3. LogiPat History *logiPat-history*
v4 Jun 22, 2015 * LogiPat has been picked up by Bram M for standard
plugin distribution; hence the name change
v3 Sep 25, 2006 * LP_Or() fixed; it now encapsulates its output
in \%(...\) parentheses
Dec 12, 2011 * |:ELP| added
Dec 12, 2011 * |:LPE| added
* "" is mapped to a single " and left inside patterns
v2 May 31, 2005 * LPF and LogiPatFlags commands weren't working
v1 May 23, 2005 * initial release
==============================================================================
vim:tw=78:ts=8:ft=help
+26 -1
View File
@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.4. Last change: 2016 Feb 16
*pi_netrw.txt* For Vim version 7.4. Last change: 2016 Apr 20
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -1525,6 +1525,7 @@ the |'isfname'| option (which is global, so netrw doesn't modify it).
Associated setting variables:
|g:netrw_gx| control how gx picks up the text under the cursor
|g:netrw_nogx| prevent gx map while editing
|g:netrw_suppress_gx_mesg| controls gx's suppression of browser messages
*netrw_filehandler*
@@ -2931,6 +2932,13 @@ your browsing preferences. (see also: |netrw-settings|)
such as listing, file removal, etc.
default: ssh
*g:netrw_suppress_gx_mesg* =1 : browsers sometimes produce messages
which are normally unwanted intermixed
with the page.
However, when using links, for example,
those messages are what the browser produces.
By setting this option to 0, netrw will not
suppress browser messages.
*g:netrw_tmpfile_escape* =' &;'
escape() is applied to all temporary files
@@ -3757,6 +3765,23 @@ netrw:
==============================================================================
12. History *netrw-history* {{{1
v156: Feb 18, 2016 * Changed =~ to =~# where appropriate
Feb 23, 2016 * s:ComposePath(base,subdir) now uses
fnameescape() on the base portion
Mar 01, 2016 * (gt_macki) reported where :Explore would
make file unlisted. Fixed (tst943)
Apr 04, 2016 * (reported by John Little) netrw normally
suppresses browser messages, but sometimes
those "messages" are what is wanted.
See |g:netrw_suppress_gx_mesg|
Apr 06, 2016 * (reported by Carlos Pita) deleting a remote
file was giving an error message. Fixed.
Apr 08, 2016 * (Charles Cooper) had a problem with an
undefined b:netrw_curdir. He also provided
a fix.
Apr 20, 2016 * Changed s:NetrwGetBuffer(); now uses
dictionaries. Also fixed the "No Name"
buffer problem.
v155: Oct 29, 2015 * (Timur Fayzrakhmanov) reported that netrw's
mapping of ctrl-l was not allowing refresh of
other windows when it was done in a netrw
+13 -10
View File
@@ -1,12 +1,12 @@
*pi_vimball.txt* For Vim version 7.4. Last change: 2012 Jan 17
*pi_vimball.txt* For Vim version 7.4. Last change: 2016 Apr 11
----------------
Vimball Archiver
----------------
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: (c) 2004-2012 by Charles E. Campbell, Jr. *Vimball-copyright*
Copyright: (c) 2004-2015 by Charles E. Campbell *Vimball-copyright*
The VIM LICENSE (see |copyright|) applies to the files in this
package, including vimballPlugin.vim, vimball.vim, and pi_vimball.txt.
except use "vimball" instead of "VIM". Like anything else that's free,
@@ -99,10 +99,10 @@ MAKING DIRECTORIES VIA VIMBALLS *g:vimball_mkdir*
If it doesn't exist, then if g:vimball_mkdir doesn't exist, it is set
as follows: >
|g:netrw_local_mkdir|, if it exists
"mkdir" , if it is executable
"makedir" , if it is executable
Otherwise , it is undefined.
|g:netrw_localmkdir|, if it exists
"mkdir" , if it is executable
"makedir" , if it is executable
Otherwise , it is undefined.
< One may explicitly specify the directory making command using
g:vimball_mkdir. This command is used to make directories that
are needed as indicated by the vimball.
@@ -120,8 +120,7 @@ CONTROLLING THE VIMBALL EXTRACTION DIRECTORY *g:vimball_home*
source the file to extract its contents.
Extraction will only proceed if the first line of a putative vimball
file holds the "Vimball Archiver by Charles E. Campbell, Jr., Ph.D."
line.
file holds the "Vimball Archiver by Charles E. Campbell" line.
LISTING FILES IN A VIMBALL *:VimballList*
@@ -182,13 +181,16 @@ WINDOWS *vimball-windows*
==============================================================================
4. Vimball History *vimball-history* {{{1
37 : Jul 18, 2014 * (by request of T. Miedema) added augroup around
the autocmds in vimballPlugin.vim
Jul 06, 2015 * there are two uses of tabc; changed to tabc!
34 : Sep 22, 2011 * "UseVimball path" now supports a non-full path by
prepending the current directory to it.
33 : Apr 02, 2011 * Gave priority to *.vmb over *.vba
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
its now turned off)
32 : May 19, 2010 * (Christian Brabandt) :so someplugin.vba and
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
@@ -200,6 +202,7 @@ WINDOWS *vimball-windows*
MkVimball, however, now will create *.vmb files.
Feb 11, 2011 * motoyakurotsu reported an error with vimball's
handling of zero-length files
Feb 18, 2016 * Changed =~ to =~# where appropriate
30 : Dec 08, 2008 * fnameescape() inserted to protect error
messaging using corrupted filenames from
causing problems
+53 -13
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.4. Last change: 2016 Mar 23
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jul 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,11 +35,13 @@ positions in files. For example, |:vimgrep| finds pattern matches. You can
use the positions in a script with the |getqflist()| function. Thus you can
do a lot more than the edit/compile/fix cycle!
If you are using Manx's Aztec C compiler on the Amiga look here for how to use
it with Vim: |quickfix-manx|. If you are using another compiler you should
save the error messages in a file and start Vim with "vim -q filename". An
easy way to do this is with the |:make| command (see below). The
'errorformat' option should be set to match the error messages from your
If you have the error messages in a file you can start Vim with: >
vim -q filename
From inside Vim an easy way to run a command and handle the output is with the
|:make| command (see below).
The 'errorformat' option should be set to match the error messages from your
compiler (see |errorformat| below).
*location-list* *E776*
@@ -49,8 +51,8 @@ have a separate location list. A location list can be associated with only
one window. The location list is independent of the quickfix list.
When a window with a location list is split, the new window gets a copy of the
location list. When there are no references to a location list, the location
list is destroyed.
location list. When there are no longer any references to a location list,
the location list is destroyed.
The following quickfix commands can be used. The location list commands are
similar to the quickfix commands, replacing the 'c' prefix in the quickfix
@@ -270,11 +272,24 @@ processing a quickfix or location list command, it will be aborted.
The 'switchbuf' settings are respected when jumping
to a buffer.
:cl[ist] +{count} List the current and next {count} valid errors. This
is similar to ":clist from from+count", where "from"
is the current error position.
:cl[ist]! [from] [, [to]]
List all errors.
*:lli* *:llist*
:lli[st] [from] [, [to]]
:cl[ist]! +{count} List the current and next {count} error lines. This
is useful to see unrecognized lines after the current
one. For example, if ":clist" shows:
8384 testje.java:252: error: cannot find symbol ~
Then using ":cl! +3" shows the reason:
8384 testje.java:252: error: cannot find symbol ~
8385: ZexitCode = Fmainx(); ~
8386: ^ ~
8387: symbol: method Fmainx() ~
:lli[st] [from] [, [to]] *:lli* *:llist*
Same as ":clist", except the location list for the
current window is used instead of the quickfix list.
@@ -318,7 +333,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
etc.
< When the current file can't be |abandon|ed and the [!]
is not present, the command fails.
When an error is detected excecution stops.
When an error is detected execution stops.
The last buffer (or where an error occurred) becomes
the current buffer.
{cmd} can contain '|' to concatenate several commands.
@@ -420,6 +435,17 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
*:lw* *:lwindow*
:lw[indow] [height] Same as ":cwindow", except use the window showing the
location list for the current window.
*:cbo* *:cbottom*
:cbo[ttom] Put the cursor in the last line of the quickfix window
and scroll to make it visible. This is useful for
when errors are added by an asynchronous callback.
Only call it once in a while if there are many
updates to avoid a lot of redrawing.
*:lbo* *:lbottom*
:lbo[ttom] Same as ":cbottom", except use the window showing the
location list for the current window.
Normally the quickfix window is at the bottom of the screen. If there are
@@ -457,6 +483,9 @@ expression.
The BufWinEnter event is also triggered, again using "quickfix" for the buffer
name.
Note: When adding to an existing quickfix list the autocommand are not
triggered.
Note: Making changes in the quickfix window has no effect on the list of
errors. 'modifiable' is off to avoid making changes. If you delete or insert
lines anyway, the relation between the text and the error number is messed up.
@@ -501,7 +530,7 @@ lists. They set one of the existing error lists as the current one.
list, an error message is given.
*:lolder* *:lol*
:lol[der] [count] Same as ":colder", except use the location list for
:lol[der] [count] Same as `:colder`, except use the location list for
the current window instead of the quickfix list.
*:cnewer* *:cnew* *E381*
@@ -510,9 +539,20 @@ lists. They set one of the existing error lists as the current one.
list, an error message is given.
*:lnewer* *:lnew*
:lnew[er] [count] Same as ":cnewer", except use the location list for
:lnew[er] [count] Same as `:cnewer`, except use the location list for
the current window instead of the quickfix list.
*:chistory* *:chi*
:chi[story] Show the list of error lists. The current list is
marked with ">". The output looks like:
error list 1 of 3; 43 errors ~
> error list 2 of 3; 0 errors ~
error list 3 of 3; 15 errors ~
*:lhistory* *:lhi*
:lhi[story] Show the list of location lists, otherwise like
`:chistory`.
When adding a new error list, it becomes the current list.
When ":colder" has been used and ":make" or ":grep" is used to add a new error
+7 -2
View File
@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 7.4. Last change: 2016 Feb 24
*quickref.txt* For Vim version 7.4. Last change: 2016 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -680,6 +680,7 @@ Short explanation of each option: *option-list*
'display' 'dy' list of flags for how to display text
'eadirection' 'ead' in which direction 'equalalways' works
'edcompatible' 'ed' toggle flags of ":substitute" command
'emoji' 'emo' emoji characters are considered full width
'encoding' 'enc' encoding used internally
'endofline' 'eol' write <EOL> for last line in file
'equalalways' 'ea' windows are automatically made the same size
@@ -769,7 +770,7 @@ Short explanation of each option: *option-list*
'keywordprg' 'kp' program to use for the "K" command
'langmap' 'lmap' alphabetic characters for other language mode
'langmenu' 'lm' language to be used for the menus
'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
'langremap' 'lrm' do apply 'langmap' to mapped characters
'laststatus' 'ls' tells when last window has status lines
'lazyredraw' 'lz' don't redraw while executing macros
'linebreak' 'lbr' wrap long lines at a blank
@@ -784,6 +785,7 @@ Short explanation of each option: *option-list*
'macatsui' Mac GUI: use ATSUI text drawing
'macligatures' display ligatures (MacVim GUI only)
'macmeta' 'mmta' use option as meta key (MacVim GUI only)
'macthinstrokes' render the text lighter by using thin strokes (MacVim GUI only)
'magic' changes special characters in search patterns
'makeef' 'mef' name of the errorfile for ":make"
'makeprg' 'mp' program to use for the ":make" command
@@ -835,6 +837,7 @@ Short explanation of each option: *option-list*
'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy
'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy
'printoptions' 'popt' controls the format of :hardcopy output
'prompt' 'prompt' enable prompt in Ex mode
'pumheight' 'ph' maximum height of the popup menu
'pythondll' name of the Python 2 dynamic library
'pythonthreedll' name of the Python 3 dynamic library
@@ -886,6 +889,7 @@ Short explanation of each option: *option-list*
'showtabline' 'stal' tells when the tab pages line is displayed
'sidescroll' 'ss' minimum number of columns to scroll horizontal
'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor
'signcolumn' 'scl' when to display the sign column
'smartcase' 'scs' no ignore case when pattern has uppercase
'smartindent' 'si' smart autoindenting for C programs
'smarttab' 'sta' use 'shiftwidth' when inserting <Tab>
@@ -919,6 +923,7 @@ Short explanation of each option: *option-list*
'term' name of the terminal
'termbidi' 'tbidi' terminal takes care of bi-directionality
'termencoding' 'tenc' character encoding used by the terminal
'termguicolors' 'tgc' use GUI colors for the terminal
'terse' shorten some messages
'textauto' 'ta' obsolete, use 'fileformats'
'textmode' 'tx' obsolete, use 'fileformat'
+139 -25
View File
@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2016 Mar 15
*repeat.txt* For Vim version 7.4. Last change: 2016 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8,13 +8,14 @@ Repeating commands, Vim scripts and debugging *repeating*
Chapter 26 of the user manual introduces repeating |usr_26.txt|.
1. Single repeats |single-repeat|
2. Multiple repeats |multi-repeat|
3. Complex repeats |complex-repeat|
4. Using Vim scripts |using-scripts|
5. Using Vim packages |packages|
6. Debugging scripts |debug-scripts|
7. Profiling |profiling|
1. Single repeats |single-repeat|
2. Multiple repeats |multi-repeat|
3. Complex repeats |complex-repeat|
4. Using Vim scripts |using-scripts|
5. Using Vim packages |packages|
6. Creating Vim packages |package-create|
7. Debugging scripts |debug-scripts|
8. Profiling |profiling|
==============================================================================
1. Single repeats *single-repeat*
@@ -71,8 +72,8 @@ examples.
The global commands work by first scanning through the [range] lines and
marking each line where a match occurs (for a multi-line pattern, only the
start of the match matters).
In a second scan the [cmd] is executed for each marked line with its line
number prepended. For ":v" and ":g!" the command is executed for each not
In a second scan the [cmd] is executed for each marked line, as if the cursor
was in that line. For ":v" and ":g!" the command is executed for each not
marked line. If a line is deleted its mark disappears.
The default for [range] is the whole buffer (1,$). Use "CTRL-C" to interrupt
the command. If an error message is given for a line, the command for that
@@ -157,7 +158,7 @@ q Stops recording. (Implementation note: The 'q' that
:[addr]@: Repeat last command-line. First set cursor at line
[addr] (default is current line). {not in Vi}
*:@@*
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
line [addr] (default is current line). {Vi: only in
some versions}
@@ -231,10 +232,15 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
pack/*/opt/{name} ~
The directory is added to 'runtimepath' if it wasn't
there yet.
If the directory pack/*/opt/{name}/after exists it is
added at the end of 'runtimepath'.
Note that {name} is the directory name, not the name
of the .vim file. If the "{name}/plugin" directory
contains more than one file they are all sourced.
of the .vim file. All the files matching the pattern
pack/*/opt/{name}/plugin/**/*.vim ~
will be sourced. This allows for using subdirectories
below "plugin", just like with plugins in
'runtimepath'.
If the filetype detection was not enabled yet (this
is usually done with a "syntax enable" or "filetype
@@ -250,16 +256,25 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
Also see |pack-add|.
*:packl* *:packloadall*
:packloadall[!] Load all packages in the "start" directories under
'packpath'. The directories found are added to
'runtimepath'.
:packl[oadall][!] Load all packages in the "start" directory under each
entry in 'packpath'.
First all the directories found are added to
'runtimepath', then the plugins found in the
directories are sourced. This allows for a plugin to
depend on something of another plugin, e.g. an
"autoload" directory. See |packload-two-steps| for
how this can be useful.
This is normally done automatically during startup,
after loading your .vimrc file. With this command it
can be done earlier.
Packages will be loaded only once. After this command
it won't happen again. When the optional ! is added
this command will load packages even when done before.
An Error only causes sourcing the script where it
An error only causes sourcing the script where it
happens to be aborted, further plugins will be loaded.
See |packages|.
@@ -280,7 +295,9 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
... not converted ...
< When conversion isn't supported by the system, there
is no error message and no conversion is done.
is no error message and no conversion is done. When a
line can't be converted there is no error and the
original line is kept.
Don't use "ucs-2" or "ucs-4", scripts cannot be in
these encodings (they would contain NUL bytes).
@@ -470,8 +487,9 @@ You would now have these files under ~/.vim:
pack/foo/opt/foodebug/plugin/debugger.vim
When Vim starts up, after processing your .vimrc, it scans all directories in
'packpath' for plugins under the "pack/*/start" directory and loads them. The
directory is added to 'runtimepath'.
'packpath' for plugins under the "pack/*/start" directory. First all those
directories are added to 'runtimepath'. Then all the plugins are loaded.
See |packload-two-steps| for how these two steps can be useful.
In the example Vim will find "pack/foo/start/foobar/plugin/foo.vim" and adds
"~/.vim/pack/foo/start/foobar" to 'runtimepath'.
@@ -481,7 +499,7 @@ find the syntax/some.vim file, because its directory is in 'runtimepath'.
Vim will also load ftdetect files, if there are any.
Note that the files under "pack/foo/opt" or not loaded automatically, only the
Note that the files under "pack/foo/opt" are not loaded automatically, only the
ones under "pack/foo/start". See |pack-add| below for how the "opt" directory
is used.
@@ -493,6 +511,9 @@ To load packages earlier, so that 'runtimepath' gets updated: >
This also works when loading plugins is disabled. The automatic loading will
only happen once.
If the package has an "after" directory, that directory is added to the end of
'runtimepath', so that anything there will be loaded later.
Using a single plugin and loading it automatically ~
@@ -516,14 +537,107 @@ To load an optional plugin from a pack use the `:packadd` command: >
This searches for "pack/*/opt/foodebug" in 'packpath' and will find
~/.vim/pack/foo/opt/foodebug/plugin/debugger.vim and source it.
This could be done inside always.vim, if some conditions are met. Or you
could add this command to your |.vimrc|.
This could be done if some conditions are met. For example, depending on
whether Vim supports a feature or a dependency is missing.
You can also load an optional plugin at startup, by putting this command in
your |.vimrc|: >
:packadd! foodebug
The extra "!" is so that the plugin isn't loaded if Vim was started with
|--noplugin|.
It is perfectly normal for a package to only have files in the "opt"
directory. You then need to load each plugin when you want to use it.
Where to put what ~
Since color schemes, loaded with `:colorscheme`, are found below
"pack/*/start" and "pack/*/opt", you could put them anywhere. We recommend
you put them below "pack/*/opt", for example
".vim/pack/mycolors/opt/dark/colors/very_dark.vim".
Filetype plugins should go under "pack/*/start", so that they are always
found. Unless you have more than one plugin for a file type and want to
select which one to load with `:packadd`. E.g. depending on the compiler
version: >
if foo_compiler_version > 34
packadd foo_new
else
packadd foo_old
endif
The "after" directory is most likely not useful in a package. It's not
disallowed though.
==============================================================================
6. Debugging scripts *debug-scripts*
6. Creating Vim packages *package-create*
This assumes you write one or more plugins that you distribute as a package.
If you have two unrelated plugins you would use two packages, so that Vim
users can chose what they include or not. Or you can decide to use one
package with optional plugins, and tell the user to add the ones he wants with
`:packadd`.
Decide how you want to distribute the package. You can create an archive or
you could use a repository. An archive can be used by more users, but is a
bit harder to update to a new version. A repository can usually be kept
up-to-date easily, but it requires a program like "git" to be available.
You can do both, github can automatically create an archive for a release.
Your directory layout would be like this:
start/foobar/plugin/foo.vim " always loaded, defines commands
start/foobar/plugin/bar.vim " always loaded, defines commands
start/foobar/autoload/foo.vim " loaded when foo command used
start/foobar/doc/foo.txt " help for foo.vim
start/foobar/doc/tags " help tags
opt/fooextra/plugin/extra.vim " optional plugin, defines commands
opt/fooextra/autoload/extra.vim " loaded when extra command used
opt/fooextra/doc/extra.txt " help for extra.vim
opt/fooextra/doc/tags " help tags
This allows for the user to do: >
mkdir ~/.vim/pack/myfoobar
cd ~/.vim/pack/myfoobar
git clone https://github.com/you/foobar.git
Here "myfoobar" is a name that the user can choose, the only condition is that
it differs from other packages.
In your documentation you explain what the plugins do, and tell the user how
to load the optional plugin: >
:packadd! fooextra
You could add this packadd command in one of your plugins, to be executed when
the optional plugin is needed.
Run the `:helptags` command to generate the doc/tags file. Including this
generated file in the package means that the user can drop the package in his
pack directory and the help command works right away. Don't forget to re-run
the command after changing the plugin help: >
:helptags path/start/foobar/doc
:helptags path/opt/fooextra/doc
Dependencies between plugins ~
*packload-two-steps*
Suppose you have two plugins that depend on the same functionality. You can
put the common functionality in an autoload directory, so that it will be
found automatically. Your package would have these files:
pack/foo/start/one/plugin/one.vim >
call foolib#getit()
< pack/foo/start/two/plugin/two.vim >
call foolib#getit()
< pack/foo/start/lib/autoload/foolib.vim >
func foolib#getit()
This works, because loading packages will first add all found directories to
'runtimepath' before sourcing the plugins.
==============================================================================
7. Debugging scripts *debug-scripts*
Besides the obvious messages that you can add to your scripts to find out what
they are doing, Vim offers a debug mode. This allows you to step through a
@@ -748,7 +862,7 @@ OBSCURE
user, don't use typeahead for debug commands.
==============================================================================
7. Profiling *profile* *profiling*
8. Profiling *profile* *profiling*
Profiling means that Vim measures the time that is spent on executing
functions and/or scripts. The |+profile| feature is required for this.
+9 -5
View File
@@ -1,4 +1,4 @@
*sign.txt* For Vim version 7.4. Last change: 2014 May 07
*sign.txt* For Vim version 7.4. Last change: 2016 Aug 17
VIM REFERENCE MANUAL by Gordon Prieur
@@ -45,8 +45,10 @@ There are two steps in using signs:
When signs are defined for a file, Vim will automatically add a column of two
characters to display them in. When the last sign is unplaced the column
disappears again. The color of the column is set with the SignColumn group
|hl-SignColumn|. Example to set the color: >
disappears again. This behavior can be changed with the 'signcolumn' option.
The color of the column is set with the SignColumn group |hl-SignColumn|.
Example to set the color: >
:highlight SignColumn guibg=darkgrey
@@ -195,7 +197,9 @@ JUMPING TO A SIGN *:sign-jump* *E157*
If the file isn't displayed in window and the current file can
not be |abandon|ed this fails.
:sign jump {id} buffer={nr}
Same, but use buffer {nr}.
:sign jump {id} buffer={nr} *E934*
Same, but use buffer {nr}. This fails if buffer {nr} does not
have a name.
vim:tw=78:ts=8:ft=help:norl:
+138 -48
View File
@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.4. Last change: 2016 Mar 05
*starting.txt* For Vim version 7.4. Last change: 2016 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -249,7 +249,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-Z Restricted mode. All commands that make use of an external
shell are disabled. This includes suspending with CTRL-Z,
":sh", filtering, the system() function, backtick expansion,
delete(), rename(), mkdir(), writefile(), libcall(), etc.
delete(), rename(), mkdir(), writefile(), libcall(),
job_start(), etc.
{not in Vi}
*-g*
@@ -806,13 +807,13 @@ accordingly. Vim proceeds in this order:
MacVim.app, this only applies to the older Carbon version).
*VIMINIT* *.vimrc* *_vimrc* *EXINIT* *.exrc* *_exrc* *$MYVIMRC*
c. Four places are searched for initializations. The first that exists
c. Five places are searched for initializations. The first that exists
is used, the others are ignored. The $MYVIMRC environment variable is
set to the file that was first found, unless $MYVIMRC was already set
and when using VIMINIT.
- The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
- The user vimrc file(s):
I The environment variable VIMINIT (see also |compatible-default|) (*)
The value of $VIMINIT is used as an Ex command line.
II The user vimrc file(s):
"$HOME/.vimrc" (for Unix and OS/2) (*)
"$HOME/.vim/vimrc" (for Unix and OS/2) (*)
"s:.vimrc" (for Amiga) (*)
@@ -829,15 +830,16 @@ accordingly. Vim proceeds in this order:
Note: For MS-DOS and Win32, "$HOME" is checked first. If no
"_vimrc" or ".vimrc" is found there, "$VIM" is tried.
See |$VIM| for when $VIM is not set.
- The environment variable EXINIT.
The value of $EXINIT is used as an Ex command line.
- The user exrc file(s). Same as for the user vimrc file, but with
"vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is
used, depending on the system. And without the (*)!
- You would usually have "syntax on" and/or "filetype on" commands,
which trigger initializing filetype detection, see |syntax-loading|.
III The environment variable EXINIT.
The value of $EXINIT is used as an Ex command line.
IV The user exrc file(s). Same as for the user vimrc file, but with
"vimrc" replaced by "exrc". But only one of ".exrc" and "_exrc" is
used, depending on the system. And without the (*)!
V The default vimrc file, $VIMRUNTIME/defaults.vim. This sets up
options values and has "syntax on" and "filetype on" commands,
which is what most new users will want. See |defaults.vim|.
d. If the 'exrc' option is on (which is not the default), the current
d. If the 'exrc' option is on (which is NOT the default), the current
directory is searched for three files. The first that exists is used,
the others are ignored.
- The file ".vimrc" (for Unix, Amiga and OS/2) (*)
@@ -857,6 +859,8 @@ accordingly. Vim proceeds in this order:
searched for the "plugin" sub-directory and all files ending in ".vim"
will be sourced (in alphabetical order per directory), also in
subdirectories.
However, directories in 'runtimepath' ending in "after" are skipped
here and only loaded after packages, see below.
Loading plugins won't be done when:
- The 'loadplugins' option was reset in a vimrc file.
- The |--noplugin| command line argument is used.
@@ -864,11 +868,17 @@ accordingly. Vim proceeds in this order:
- When Vim was compiled without the |+eval| feature.
Note that using "-c 'set noloadplugins'" doesn't work, because the
commands from the command line have not been executed yet. You can
use "--cmd 'set noloadplugins'" |--cmd|.
use "--cmd 'set noloadplugins'" or "--cmd 'set loadplugins'" |--cmd|.
Plugin packs are loaded. These are plugins, as above, but found in
'packpath' directories. Every plugin directory found is added in
'runtimepath'. See |packages|.
Packages are loaded. These are plugins, as above, but found in the
"start" directory of each entry in 'packpath'. Every plugin directory
found is added in 'runtimepath' and then the plugins are sourced. See
|packages|.
The plugins scripts are loaded, as above, but now only the directories
ending in "after" are used. Note that 'runtimepath' will have changed
if packages have been found, but that should not add a directory
ending in "after".
5. Set 'shellpipe' and 'shellredir'
The 'shellpipe' and 'shellredir' options are set according to the
@@ -906,11 +916,16 @@ accordingly. Vim proceeds in this order:
12. Execute startup commands
If a "-t" flag was given to Vim, the tag is jumped to.
The commands given with the |-c| and |+cmd| arguments are executed.
The starting flag is reset, has("vim_starting") will now return zero.
If the 'insertmode' option is set, Insert mode is entered.
The starting flag is reset, has("vim_starting") will now return zero.
The |v:vim_did_enter| variable is set to 1.
The |VimEnter| autocommands are executed.
Some hints on using initializations:
The $MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or
gvimrc file.
Some hints on using initializations ~
Standard setup:
Create a vimrc file to set the default settings and mappings for all your edit
@@ -933,39 +948,62 @@ want to set the defaults for all users. Create a vimrc file with commands
for default settings and mappings and put it in the place that is given with
the ":version" command.
Saving the current state of Vim to a file:
Saving the current state of Vim to a file ~
Whenever you have changed values of options or when you have created a
mapping, then you may want to save them in a vimrc file for later use. See
|save-settings| about saving the current state of settings to a file.
Avoiding setup problems for Vi users:
Avoiding setup problems for Vi users ~
Vi uses the variable EXINIT and the file "~/.exrc". So if you do not want to
interfere with Vi, then use the variable VIMINIT and the file "vimrc" instead.
Amiga environment variables:
Amiga environment variables ~
On the Amiga, two types of environment variables exist. The ones set with the
DOS 1.3 (or later) setenv command are recognized. See the AmigaDos 1.3
manual. The environment variables set with the old Manx Set command (before
version 5.0) are not recognized.
MS-DOS line separators:
MS-DOS line separators ~
On MS-DOS-like systems (MS-DOS itself, Win32, and OS/2), Vim assumes that all
the vimrc files have <CR> <NL> pairs as line separators. This will give
problems if you have a file with only <NL>s and have a line like
":map xx yy^M". The trailing ^M will be ignored.
Vi compatible default value ~
*compatible-default*
When Vim starts, the 'compatible' option is on. This will be used when Vim
starts its initializations. But as soon as a user vimrc file is found, or a
vimrc file in the current directory, or the "VIMINIT" environment variable is
set, it will be set to 'nocompatible'. This has the side effect of setting or
resetting other options (see 'compatible'). But only the options that have
not been set or reset will be changed. This has the same effect like the
value of 'compatible' had this value when starting Vim. Note that this
doesn't happen for the system-wide vimrc file nor when Vim was started with
the |-u| command line argument. It does also happen for gvimrc files. The
$MYVIMRC or $MYGVIMRC file will be set to the first found vimrc and/or gvimrc
file.
starts its initializations. But as soon as:
- a user vimrc file is found, or
- a vimrc file in the current directory, or
- the "VIMINIT" environment variable is set, or
- the "-N" command line argument is given, or
even when no vimrc file exists.
- the |defaults.vim| script is loaded, or
- gvimrc file was found,
then it will be set to 'nocompatible'.
Note that this does NOT happen when a system-wide vimrc file was found.
This has the side effect of setting or resetting other options (see
'compatible'). But only the options that have not been set or reset will be
changed. This has the same effect like the value of 'compatible' had this
value when starting Vim.
'compatible' is NOT reset, and |defaults.vim| is not loaded:
- when Vim was started with the |-u| command line argument, especially with
"-u NONE", or
- when started with the |-C| command line argument, or
- when the name of the executable ends in "ex". (This has been done to make
Vim behave like "ex", when it is started as "ex")
But there is a side effect of setting or resetting 'compatible' at the moment
a .vimrc file is found: Mappings are interpreted the moment they are
@@ -973,18 +1011,35 @@ encountered. This makes a difference when using things like "<CR>". If the
mappings depend on a certain value of 'compatible', set or reset it before
giving the mapping.
The above behavior can be overridden in these ways:
- If the "-N" command line argument is given, 'nocompatible' will be used,
even when no vimrc file exists.
- If the "-C" command line argument is given, 'compatible' will be used, even
when a vimrc file exists.
- If the "-u {vimrc}" argument is used, 'compatible' will be used.
- When the name of the executable ends in "ex", then this works like the "-C"
argument was given: 'compatible' will be used, even when a vimrc file
exists. This has been done to make Vim behave like "ex", when it is started
as "ex".
Avoiding trojan horses: *trojan-horse*
Defaults without a .vimrc file ~
*defaults.vim*
If Vim is started normally and no user vimrc file is found, the
$VIMRUTIME/defaults.vim script is loaded. This will set 'compatible' off,
switch on syntax highlighting and a few more things. See the script for
details. NOTE: this is done since Vim 8.0, not in Vim 7.4. (it was added in
patch 7.4.2111 to be exact).
This should work well for new Vim users. If you create your own .vimrc, it is
recommended to add this line somewhere near the top: >
unlet! skip_defaults_vim
source $VIMRUNTIME/defaults.vim
Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
is way to do this. Alternatively, you can copy defaults.vim to your .vimrc
and modify it (but then you won't get updates when it changes).
If you don't like some of the defaults, you can still source defaults.vim and
revert individual settings. See the defaults.vim file for hints on how to
revert each item.
*skip_defaults_vim*
If you use a system-wide vimrc and don't want defaults.vim to change settings,
set the "skip_defaults_vim" variable. If this was set and you want to load
defaults.vim from your .vimrc, first unlet skip_defaults_vim, as in the
example above.
Avoiding trojan horses ~
*trojan-horse*
While reading the "vimrc" or the "exrc" file in the current directory, some
commands can be disabled for security reasons by setting the 'secure' option.
This is always done when executing the command from a tags file. Otherwise it
@@ -1007,6 +1062,8 @@ Be careful!
part of the line in the tags file) is always done in secure mode. This works
just like executing a command from a vimrc/exrc in the current directory.
If Vim startup is slow ~
*slow-start*
If Vim takes a long time to start up, use the |--startuptime| argument to find
out what happens. There are a few common causes:
@@ -1021,6 +1078,8 @@ out what happens. There are a few common causes:
moment (use the Vim argument "-i NONE", |-i|). Try reducing the number of
lines stored in a register with ":set viminfo='20,<50,s10". |viminfo-file|.
Intro message ~
*:intro*
When Vim starts without a file name, an introductory message is displayed (for
those who don't know what Vim is). It is removed as soon as the display is
@@ -1411,6 +1470,34 @@ file (it's actually merged with the existing one, if one exists). The
'viminfo' option is a string containing information about what info should be
stored, and contains limits on how much should be stored (see 'viminfo').
Merging happens in two ways. Most items that have been changed or set in the
current Vim session are stored, and what was not changed is filled from what
is currently in the viminfo file. For example:
- Vim session A reads the viminfo, which contains variable START.
- Vim session B does the same
- Vim session A sets the variables AAA and BOTH and exits
- Vim session B sets the variables BBB and BOTH and exits
Now the viminfo will have:
START - it was in the viminfo and wasn't changed in session A or B
AAA - value from session A, session B kept it
BBB - value from session B
BOTH - value from session B, value from session A is lost
*viminfo-timestamp*
For some items a timestamp is used to keep the last changed version. Here it
doesn't matter in which sequence Vim sessions exit, the newest item(s) are
always kept. This is used for:
- The command line history.
- The search string history.
- The input-line history.
- Contents of non-empty registers.
- The jump list
- File marks
The timestamp feature was added before Vim 8.0. Older versions of Vim,
starting with 7.4.1131, will keep the items with timestamp, but not use them.
Thus when using both an older and a newer version of Vim the most recent data
will be kept.
Notes for Unix:
- The file protection for the viminfo file will be set to prevent other users
from being able to read it, because it may contain any text or commands that
@@ -1533,14 +1620,14 @@ most of the information will be restored).
already set (registers, marks, |v:oldfiles|, etc.)
will be overwritten {not in Vi}
*:wv* *:wviminfo* *E137* *E138* *E574* *E886*
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
The information in the file is first read in to make
a merge between old and new info. When [!] is used,
the old information is not read first, only the
internal info is written. If 'viminfo' is empty, marks
for up to 100 files will be written.
When you get error "E138: Can't write viminfo file"
When you get error "E929: Too many viminfo temp files"
check that no old temp files were left behind (e.g.
~/.viminf*) and that you can write in the directory of
the .viminfo file.
@@ -1549,8 +1636,11 @@ most of the information will be restored).
*:ol* *:oldfiles*
:ol[dfiles] List the files that have marks stored in the viminfo
file. This list is read on startup and only changes
afterwards with ":rviminfo!". Also see |v:oldfiles|.
afterwards with `:rviminfo!`. Also see |v:oldfiles|.
The number can be used with |c_#<|.
The output can be filtered with |:filter|, e.g.: >
filter /\.vim/ oldfiles
< The filtering happens on the file name.
{not in Vi, only when compiled with the |+eval|
feature}
+128 -64
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2016 Mar 12
*syntax.txt* For Vim version 7.4. Last change: 2016 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -941,26 +941,29 @@ To disable them use ":unlet". Example: >
:unlet c_comment_strings
Variable Highlight ~
c_gnu GNU gcc specific items
c_comment_strings strings and numbers inside a comment
c_space_errors trailing white space and spaces before a <Tab>
c_no_trail_space_error ... but no trailing spaces
c_no_tab_space_error ... but no spaces before a <Tab>
c_no_bracket_error don't highlight {}; inside [] as errors
c_no_curly_error don't highlight {}; inside [] and () as errors;
*c_gnu* GNU gcc specific items
*c_comment_strings* strings and numbers inside a comment
*c_space_errors* trailing white space and spaces before a <Tab>
*c_no_trail_space_error* ... but no trailing spaces
*c_no_tab_space_error* ... but no spaces before a <Tab>
*c_no_bracket_error* don't highlight {}; inside [] as errors
*c_no_curly_error* don't highlight {}; inside [] and () as errors;
except { and } in first column
c_curly_error highlight a missing }; this forces syncing from the
Default is to highlight them, otherwise you
can't spot a missing ")".
*c_curly_error* highlight a missing }; this forces syncing from the
start of the file, can be slow
c_no_ansi don't do standard ANSI types and constants
c_ansi_typedefs ... but do standard ANSI types
c_ansi_constants ... but do standard ANSI constants
c_no_utf don't highlight \u and \U in strings
c_syntax_for_h for *.h files use C syntax instead of C++ and use objc
*c_no_ansi* don't do standard ANSI types and constants
*c_ansi_typedefs* ... but do standard ANSI types
*c_ansi_constants* ... but do standard ANSI constants
*c_no_utf* don't highlight \u and \U in strings
*c_syntax_for_h* for *.h files use C syntax instead of C++ and use objc
syntax instead of objcpp
c_no_if0 don't highlight "#if 0" blocks as comments
c_no_cformat don't highlight %-formats in strings
c_no_c99 don't highlight C99 standard items
c_no_c11 don't highlight C11 standard items
*c_no_if0* don't highlight "#if 0" blocks as comments
*c_no_cformat* don't highlight %-formats in strings
*c_no_c99* don't highlight C99 standard items
*c_no_c11* don't highlight C11 standard items
*c_no_bsd* don't highlight BSD specific types
When 'foldmethod' is set to "syntax" then /* */ comments and { } blocks will
become a fold. If you don't want comments to become a fold use: >
@@ -1042,6 +1045,21 @@ This works immediately.
CLOJURE *ft-clojure-syntax*
The default syntax groups can be augmented through the
*g:clojure_syntax_keywords* and *b:clojure_syntax_keywords* variables. The
value should be a |Dictionary| of syntax group names to a |List| of custom
identifiers:
>
let g:clojure_syntax_keywords = {
\ 'clojureMacro': ["defproject", "defcustom"],
\ 'clojureFunc': ["string/join", "string/replace"]
\ }
<
Refer to the Clojure syntax script for valid syntax group names.
If the |buffer-variable| *b:clojure_syntax_without_core_keywords* is set, only
language constants and special forms are matched.
Setting *g:clojure_fold* enables folding Clojure code via the syntax engine.
Any list, vector, or map that extends over more than one line can be folded
using the standard Vim |fold-commands|.
@@ -2651,7 +2669,76 @@ your .vimrc: *g:filetype_r*
RUBY *ruby.vim* *ft-ruby-syntax*
There are a number of options to the Ruby syntax highlighting.
Ruby: Operator highlighting |ruby_operators|
Ruby: Whitespace errors |ruby_space_errors|
Ruby: Folding |ruby_fold| |ruby_foldable_groups|
Ruby: Reducing expensive operations |ruby_no_expensive| |ruby_minlines|
Ruby: Spellchecking strings |ruby_spellcheck_strings|
*ruby_operators*
Ruby: Operator highlighting ~
Operators can be highlighted by defining "ruby_operators": >
:let ruby_operators = 1
<
*ruby_space_errors*
Ruby: Whitespace errors ~
Whitespace errors can be highlighted by defining "ruby_space_errors": >
:let ruby_space_errors = 1
<
This will highlight trailing whitespace and tabs preceded by a space character
as errors. This can be refined by defining "ruby_no_trail_space_error" and
"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after
spaces respectively.
*ruby_fold* *ruby_foldable_groups*
Ruby: Folding ~
Folding can be enabled by defining "ruby_fold": >
:let ruby_fold = 1
<
This will set the value of 'foldmethod' to "syntax" locally to the current
buffer or window, which will enable syntax-based folding when editing Ruby
filetypes.
*ruby_foldable_groups*
Default folding is rather detailed, i.e., small syntax units like "if", "do",
"%w[]" may create corresponding fold levels.
You can set "ruby_foldable_groups" to restrict which groups are foldable: >
:let ruby_foldable_groups = 'if case %'
<
The value is a space-separated list of keywords:
keyword meaning ~
-------- ------------------------------------- ~
ALL Most block syntax (default)
NONE Nothing
if "if" or "unless" block
def "def" block
class "class" block
module "module" block
do "do" block
begin "begin" block
case "case" block
for "for", "while", "until" loops
{ Curly bracket block or hash literal
[ Array literal
% Literal with "%" notation, e.g.: %w(STRING), %!STRING!
/ Regexp
string String and shell command output (surrounded by ', ", `)
: Symbol
# Multiline comment
<< Here documents
__END__ Source code after "__END__" directive
*ruby_no_expensive*
Ruby: Reducing expensive operations ~
By default, the "end" keyword is colorized according to the opening statement
of the block it closes. While useful, this feature can be expensive; if you
@@ -2662,6 +2749,8 @@ you may want to turn it off by defining the "ruby_no_expensive" variable: >
<
In this case the same color will be used for all control keywords.
*ruby_minlines*
If you do want this feature enabled, but notice highlighting errors while
scrolling backwards, which are fixed when redrawing with CTRL-L, try setting
the "ruby_minlines" variable to a value larger than 50: >
@@ -2671,48 +2760,13 @@ the "ruby_minlines" variable to a value larger than 50: >
Ideally, this value should be a number of lines large enough to embrace your
largest class or module.
Highlighting of special identifiers can be disabled by removing the
rubyIdentifier highlighting: >
*ruby_spellcheck_strings*
Ruby: Spellchecking strings ~
:hi link rubyIdentifier NONE
<
This will prevent highlighting of special identifiers like "ConstantName",
"$global_var", "@@class_var", "@instance_var", "| block_param |", and
":symbol".
Ruby syntax will perform spellchecking of strings if you define
"ruby_spellcheck_strings": >
Significant methods of Kernel, Module and Object are highlighted by default.
This can be disabled by defining "ruby_no_special_methods": >
:let ruby_no_special_methods = 1
<
This will prevent highlighting of important methods such as "require", "attr",
"private", "raise" and "proc".
Ruby operators can be highlighted. This is enabled by defining
"ruby_operators": >
:let ruby_operators = 1
<
Whitespace errors can be highlighted by defining "ruby_space_errors": >
:let ruby_space_errors = 1
<
This will highlight trailing whitespace and tabs preceded by a space character
as errors. This can be refined by defining "ruby_no_trail_space_error" and
"ruby_no_tab_space_error" which will ignore trailing whitespace and tabs after
spaces respectively.
Folding can be enabled by defining "ruby_fold": >
:let ruby_fold = 1
<
This will set the 'foldmethod' option to "syntax" and allow folding of
classes, modules, methods, code blocks, heredocs and comments.
Folding of multiline comments can be disabled by defining
"ruby_no_comment_fold": >
:let ruby_no_comment_fold = 1
:let ruby_spellcheck_strings = 1
<
SCHEME *scheme.vim* *ft-scheme-syntax*
@@ -3746,7 +3800,7 @@ Whether or not it is actually concealed depends on the value of the
'conceallevel' option. The 'concealcursor' option is used to decide whether
concealable items in the current line are displayed unconcealed to be able to
edit the line.
Another way to conceal text with with |matchadd()|.
Another way to conceal text is with |matchadd()|.
concealends *:syn-concealends*
@@ -4778,6 +4832,10 @@ font={font-name} *highlight-font*
All fonts used, except for Menu and Tooltip, should be of the same
character size as the default font! Otherwise redrawing problems will
occur.
To use a font name with an embedded space or other special character,
put it in single quotes. The single quote cannot be used then.
Example: >
:hi comment font='Monospace 10'
guifg={color-name} *highlight-guifg*
guibg={color-name} *highlight-guibg*
@@ -4848,6 +4906,9 @@ DiffChange diff mode: Changed line |diff.txt|
DiffDelete diff mode: Deleted line |diff.txt|
*hl-DiffText*
DiffText diff mode: Changed text within a changed line |diff.txt|
*hl-EndOfBuffer*
EndOfBuffer filler lines (~) after the last line in the buffer.
By default, this is highlighted like |hl-NonText|.
*hl-ErrorMsg*
ErrorMsg error messages on the command line
*hl-VertSplit*
@@ -4876,10 +4937,10 @@ ModeMsg 'showmode' message (e.g., "-- INSERT --")
*hl-MoreMsg*
MoreMsg |more-prompt|
*hl-NonText*
NonText '~' and '@' at the end of the window, characters from
'showbreak' and other characters that do not really exist in
the text (e.g., ">" displayed when a double-wide character
doesn't fit at the end of the line).
NonText '@' at the end of the window, characters from 'showbreak'
and other characters that do not really exist in the text
(e.g., ">" displayed when a double-wide character doesn't
fit at the end of the line).
*hl-Normal*
Normal normal text
*hl-Pmenu*
@@ -5047,6 +5108,9 @@ defaults back: >
:syntax reset
It is a bit of a wrong name, since it does not reset any syntax items, it only
affects the highlighting.
This doesn't change the colors for the 'highlight' option.
Note that the syntax colors that you set in your vimrc file will also be reset
+23 -9
View File
@@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 7.4. Last change: 2015 Jan 04
*tabpage.txt* For Vim version 7.4. Last change: 2016 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -87,14 +87,21 @@ In the GUI tab pages line you can use the right mouse button to open menu.
Execute {cmd} and when it opens a new window open a new tab
page instead. Doesn't work for |:diffsplit|, |:diffpatch|,
|:execute| and |:normal|.
When [count] is omitted the tab page appears after the current
one.
When [count] is specified the new tab page comes after tab
page [count]. Use ":0tab cmd" to get the new tab page as the
first one.
If [count] is given the new tab page appears after the tab
page [count] otherwise the new tab page will appear after the
current one.
Examples: >
:tab split " opens current buffer in new tab page
:tab help gt " opens tab page with help for "gt"
:tab split " opens current buffer in new tab page
:tab help gt " opens tab page with help for "gt"
:.tab help gt " as above
:+tab help " opens tab page with help after the next
" tab page
:-tab help " opens tab page with help before the
" current one
:0tab help " opens tab page with help before the
" first one
:$tab help " opens tab page with help after the last
" one
CTRL-W gf Open a new tab page and edit the file name under the cursor.
See |CTRL-W_gf|.
@@ -141,10 +148,11 @@ something else.
given, then they become hidden. But modified buffers are
never abandoned, so changes cannot get lost. >
:tabonly " close all tab pages except the current
" one
:{count}tabo[nly][!]
Close all tab pages except the {count}th one. >
:.tabonly " one
:.tabonly " as above
:-tabonly " close all tab pages except the previous
" one
:+tabonly " close all tab pages except the next one
@@ -193,6 +201,12 @@ Other commands:
:tabs List the tab pages and the windows they contain.
Shows a ">" for the current window.
Shows a "+" for modified buffers.
For example:
Tab page 1 ~
+ tabpage.txt ~
ex_docmd.c ~
Tab page 2 ~
> main.c ~
REORDERING TAB PAGES:
+224 -32
View File
File diff suppressed because it is too large Load Diff
+46 -32
View File
@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Oct 01
*tagsrch.txt* For Vim version 7.4. Last change: 2016 Aug 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -84,14 +84,23 @@ Note that when the current file changes, the priority list is mostly not
changed, to avoid confusion when using ":tnext". It is changed when using
":tag {ident}".
The ignore-case matches are not found for a ":tag" command when the
'ignorecase' option is off and 'tagcase' is "followic" or when 'tagcase' is
"match". They are found when a pattern is used (starting with a "/") and for
":tselect", also when 'ignorecase' is off and 'tagcase' is "followic" or when
'tagcase' is "match". Note that using ignore-case tag searching disables
binary searching in the tags file, which causes a slowdown. This can be
avoided by fold-case sorting the tag file. See the 'tagbsearch' option for an
explanation.
The ignore-case matches are not found for a ":tag" command when:
- the 'ignorecase' option is off and 'tagcase' is "followic"
- 'tagcase' is "match"
- 'tagcase' is "smart" and the pattern contains an upper case character.
- 'tagcase' is "followscs" and 'smartcase' option is on and the pattern
contains an upper case character.
The gnore-case matches are found when:
- a pattern is used (starting with a "/")
- for ":tselect"
- when 'tagcase' is "followic" and 'ignorecase' is off
- when 'tagcase' is "match"
- when 'tagcase' is "followscs" and the 'smartcase' option is off
Note that using ignore-case tag searching disables binary searching in the
tags file, which causes a slowdown. This can be avoided by fold-case sorting
the tag file. See the 'tagbsearch' option for an explanation.
==============================================================================
2. Tag stack *tag-stack* *tagstack* *E425*
@@ -442,13 +451,18 @@ file "tags". It can also be used to access a common tags file.
The next file in the list is not used when:
- A matching static tag for the current buffer has been found.
- A matching global tag has been found.
This also depends on whether case is ignored. Case is ignored when
'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
"ignore". If case is not ignored, and the tags file only has a match without
matching case, the next tags file is searched for a match with matching case.
If no tag with matching case is found, the first match without matching case
is used. If case is ignored, and a matching global tag with or without
matching case is found, this one is used, no further tags files are searched.
This also depends on whether case is ignored. Case is ignored when:
- 'tagcase' is "followic" and 'ignorecase' is set
- 'tagcase' is "ignore"
- 'tagcase' is "smart" and the pattern only contains lower case
characters.
- 'tagcase' is "followscs" and 'smartcase' is set and the pattern only
contains lower case characters.
If case is not ignored, and the tags file only has a match without matching
case, the next tags file is searched for a match with matching case. If no
tag with matching case is found, the first match without matching case is
used. If case is ignored, and a matching global tag with or without matching
case is found, this one is used, no further tags files are searched.
When a tag file name starts with "./", the '.' is replaced with the path of
the current file. This makes it possible to use a tags file in the directory
@@ -819,24 +833,24 @@ CTRL-W d Open a new window, with the cursor on the first
*:search-args*
Common arguments for the commands above:
[!] When included, find matches in lines that are recognized as comments.
When excluded, a match is ignored when the line is recognized as a
comment (according to 'comments'), or the match is in a C comment (after
"//" or inside /* */). Note that a match may be missed if a line is
recognized as a comment, but the comment ends halfway the line.
And if the line is a comment, but it is not recognized (according to
'comments') a match may be found in it anyway. Example: >
[!] When included, find matches in lines that are recognized as comments.
When excluded, a match is ignored when the line is recognized as a
comment (according to 'comments'), or the match is in a C comment
(after "//" or inside /* */). Note that a match may be missed if a
line is recognized as a comment, but the comment ends halfway the line.
And if the line is a comment, but it is not recognized (according to
'comments') a match may be found in it anyway. Example: >
/* comment
foobar */
< A match for "foobar" is found, because this line is not recognized as a
comment (even though syntax highlighting does recognize it).
Note: Since a macro definition mostly doesn't look like a comment, the
[!] makes no difference for ":dlist", ":dsearch" and ":djump".
[/] A pattern can be surrounded by '/'. Without '/' only whole words are
matched, using the pattern "\<pattern\>". Only after the second '/' a
next command can be appended with '|'. Example: >
< A match for "foobar" is found, because this line is not recognized as
a comment (even though syntax highlighting does recognize it).
Note: Since a macro definition mostly doesn't look like a comment, the
[!] makes no difference for ":dlist", ":dsearch" and ":djump".
[/] A pattern can be surrounded by '/'. Without '/' only whole words are
matched, using the pattern "\<pattern\>". Only after the second '/' a
next command can be appended with '|'. Example: >
:isearch /string/ | echo "the last one"
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
is used as a literal string, not as a search pattern.
< For a ":djump", ":dsplit", ":dlist" and ":dsearch" command the pattern
is used as a literal string, not as a search pattern.
vim:tw=78:ts=8:ft=help:norl:
+27 -3
View File
@@ -1,4 +1,4 @@
*term.txt* For Vim version 7.4. Last change: 2015 Nov 24
*term.txt* For Vim version 7.4. Last change: 2016 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -302,7 +302,10 @@ Added by Vim (there are no standard codes for these):
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
see |'ambiwidth'|
t_RB request terminal background color *t_RB* *'t_RB'*
see |'ambiwidth'|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|xterm-true-color|
KEY CODES
Note: Use the <> form if possible
@@ -419,6 +422,27 @@ VT220, etc.). The result is that codes like <xF1> are no longer needed.
Note: This is only done on startup. If the xterm options are changed after
Vim has started, the escape sequences may not be recognized anymore.
*xterm-true-color*
Vim supports using true colors in the terminal (taken from |highlight-guifg|
and |highlight-guibg|), given that the terminal supports this. To make this
work the 'termguicolors' option needs to be set.
See https://gist.github.com/XVilka/8346728 for a list of terminals that
support true colors.
Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
and |t_8b| options explicitly. Default values of these options are
"^[[38;2;%lu;%lu;%lum" and "^[[48;2;%lu;%lu;%lum" respectively, but it is only
set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
with all semicolons replaced by colons (this is actually more compatible, but
less widely supported): >
let &t_8f = "\<Esc>[38:2:%lu:%lu:%lum"
let &t_8b = "\<Esc>[48:2:%lu:%lu:%lum"
These options contain printf strings, with |printf()| (actually, its C
equivalent hence `l` modifier) invoked with the t_ option value and three
unsigned long integers that may have any value between 0 and 255 (inclusive)
representing red, green and blue colors respectively.
*xterm-resize*
Window resizing with xterm only works if the allowWindowOps resource is
enabled. On some systems and versions of xterm it's disabled by default
@@ -542,7 +566,7 @@ correct values.
One command can be used to set the screen size:
*:mod* *:mode* *E359* *E362*
*:mod* *:mode* *E359*
:mod[e] [mode]
Without argument this only detects the screen size and redraws the screen.
+190 -172
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2016 Mar 20
*todo.txt* For Vim version 7.4. Last change: 2016 Sep 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,7 +27,7 @@ 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
Issues can also be entered online: https://github.com/vim/vim/issues
Updates will be forwarded to the vim_dev maillist. Issues entered there will
not be repeated below, unless there is extra information.
@@ -35,49 +35,32 @@ not be repeated below, unless there is extra information.
-------------------- Known bugs and current work -----------------------
+channel:
- add test for out-cb and err-cb.
- Move more details from eval.txt to channel.txt. Add tags in eval.txt.
- When decoding json, don't read all the typeahead at once, use the reader
properly.
- channel_wait() may return an error while there is still something to read.
Perhaps try to read once?
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
- Add 'cwd' argument to start_job(): directory to change to in the child.
check for valid directory before forking.
- Implement |job-term| ?
- Channel test fails with Motif. Sometimes kills the X11 server.
- When a message in the queue but there is no callback, drop it after a while?
Add timestamp to queued messages and callbacks with ID, remove after a
minute. Option to set the droptime.
- Add more ch_log calls, basically at every branch, before every callback, etc.
- Add an option to drop text of very long lines? Default to 1 Mbyte.
- Add remark about undo sync, is there a way to force it?
- When starting a job, have an option to open the server socket, so we know
the port, and pass it to the command with --socket-fd {nr}. (Olaf Dabrunz,
Feb 9) How to do this on MS-Windows?
- Add more unit-testing in json_test.c
- Add a test where ["eval","getline(123)"] gets a line with special
characters (NUL, 0x80, etc.). Check that it isn't garbled.
- Make sure errors lead to a useful error msg. ["ex","foobar"]
- For connection to server, a "keep open" flag would be useful. Retry
connecting in the main loop with zero timeout.
Later
- job_start(): run job in a newly opened terminal.
With xterm could use -S{pty}.
Packages: how about "after" directory?
Make it so that the window ID can be used where currently a window nr is used
Fix to support --nofork for Windows batch files. (Kevin Cantú, 2016 Feb 23,
#658, #659) Also add "setlocal" at top of batch file?
Patch to add matchstrpos(). (Ozaki Kiichi, 2016 Feb 28)
Why does this: echo "a" . 1.1
result in: a11
Should recognize float (so long as it's not ".1.1").
Allow for an empty dictionary key?
Patch to improve I/O for Perl. (Damien, 2016 Jan 9, update Jan 22 2nd one)
Patch to fix ml_get error. (Alexander Freiherr von Buddenbrock, 2016 Mar 4,
#676)
Regexp problems:
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
(Manuel Ortega, 2016 Apr 24)
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
LC_CTYPE
- The regexp engines are not reentrant, causing havoc when interrupted by a
remote expression or something else. Move global variables onto the stack
or into an allocated struct.
@@ -93,11 +76,10 @@ Regexp problems:
2013 Dec 11)
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
Remark from Brett 2014 Jan 6 and 7.
- Difference in NFA and old engine. (Brett Stahlman, 2014 Nov 5)
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
- NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
- Does not work with NFA regexp engine:
\%u, \%x, \%o, \%d followed by a composing character
- \%'[ does not work. '%'] does work. (Masaaki Nakamura, 2016 Apr 4)
- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
- New RE does not give an error for empty group: "\(\)\{2}" (Dominique Pelle,
2015 Feb 7)
@@ -117,51 +99,132 @@ Regexp problems:
out the \& works. Seems any column check after \& fails.
- The pattern "\1" with the old engine gives E65, with the new engine it
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
- Search for \\~ causes error E874.
had_endbrace[] is set but not initialized or used.
Patch to fix that folds close with autocomplete. #643
Christian Brabandt, 2016 Feb 18.
json_encode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
Also include update_curswant() fix for getcurpos(). (Christian Brabandt, 2016
Feb 9)
Should json_encode()/json_decode() restrict recursiveness?
Or avoid recursiveness.
Patch to list some messages and clear messages. (Yasuhiro Matsumoto, 2016 Mar
12)
Error in test_startup_utf8 on Solaris. (Danek Duvall, 2016 Aug 17)
Patch to fix escaping special characters for delete(). (tc-0, 2016 Mar 20,
#700) Test fails on MS-Windows.
Once .exe with updated installer is available: Add remark to download page
about /S and /D options (Ken Takata, 2016 Apr 13)
Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
Patch to put undo options together in undo window.
(Gary Johnson, 2016 Jan 28)
Javascript indent wrong after /* in single quoted string:
var SRC = 'src/*.js';
function log(tag) {
a = b;
}
Patch to have better check for {action} argument of setqflist().
Nikolai Pavlov, Feb 25, #661. Can be even more strict.
Also see patch from Hirohito Higash, Feb 25.
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
Add tests for using number larger than number of lines in buffer.
Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016
Feb 3)
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
Patch for test86 and test87. (Roland Puntaier, #622)
min() and max() spawn lots of error messages if sorted list/dictionary
contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039)
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
4#1038)
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
Syntax highlighting for messages with RFC3339 timestamp (#946)
Did maintainer reply?
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
Also with latest version.
Cannot delete a file with square brackets with delete(). (#696)
Patch to add 'topbot' to 'belloff' option. (Coot, 2016 Mar 18, #695)
Completion for input() does not expand environment variables. (chdiza, 2016
Jul 25, #948)
'hlsearch' interferes with a Conceal match. (Rom Grk, 2016 Aug 9)
Patch to add context information to quickfix/location list. (Yegappan
Lakshmanan, 2016 Aug 25)
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
Otherwise task flickers in taskbar.
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
Also for ":@.".
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
This does not work: :set cscopequickfix=a-
(Linewi, 2015 Jul 12, #914)
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
Patch to improve map documentation. Issue #799.
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
Patch for restoring wide characters in the console buffer.
(Ken Takata, 2016 Jun 7)
We can use '. to go to the last change in the current buffer, but how about
the last change in any buffer? Can we use ', (, is next to .)?
Ramel Eshed: system() is much slower than job_start(), why? (Aug 26)
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
What does it change?
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
More tests May 14. Update May 29. Update Aug 10.
Now part of large file patches. (Ken Takata, 2016 Feb 1)
Two patches now? New update Feb 24.
Patch to make gd and gD work better for non-K&R code and with comments.
(Anton Lindqvist, 2016 Aug 29)
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
Also in update of Feb 24?
When generating the Unicode tables with runtime/tools/unicode.vim the
emoji_width table has only one entry.
After 7.5 is released:
It's possible to add ",," to 'wildignore', an empty entry. Causes problems.
Reject the value? #710.
Patch to fix increment/decrement not working properly when 'virtualedit' is
set. (Hirohito Higashi, 2016 Aug 1, #923)
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
Update mentioned by Christian, 2016 Apr 25.
Update from Ken Takata, 2016 Jul 17.
Patch to improve cscope. (Adrian Kocis, #843)
Patch for groovy multi-line comment highlighting. (Justin M. Keyes, 2016 May
20 #644)
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
Because of using the initial buffer? (Dun Peal, 2016 May 12)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
No test, needs some work to include.
Patch to make finding duplicate tags much faster, using a hashtab. (James
McCoy, 2016 Sept 6, #1046)
>
Patch to improve indenting for C++ constructor with initializer list.
(Hirohito Higashi, 2016 Mar 31)
After 8.0 is released:
- Drop support for older MS-Windows systems, before XP.
Patch from Ken Takata, 2016 Mar 8.
@@ -188,11 +251,13 @@ work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
Should jsonencode()/jsondecode() restrict recursiveness?
Or avoid recursiveness.
Add ":read :command", to insert the output of an Ex command?
Can already do it with ":$put =execute('command')".
When repeating the 'confirm' dialog one needs to press Enter. (ds26gte, 2016
Apr 17) #762
Use vim.vim syntax highlighting for help file examples, but without ":" in
'iskeyword' for syntax.
@@ -202,6 +267,14 @@ Patch to make "%:h:h" return "." instead of the full path.
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
When command names are very long :command output is difficult to read. Use a
maximum for the column width? (#871)
Patcy by varmanishant, 2016 Jun 18, #876
Patch to change GUI behavior: instead of changing the window size change the
lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
#703)
Installation of .desktop files does not work everywhere.
It's now fixed, but the target directory probably isn't right.
Add configure check?
@@ -209,26 +282,54 @@ Should use /usr/local/share/applications or /usr/share/applications.
Or use $XDG_DATA_DIRS.
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
Patch to test popupmenu. Fails, possibly due to a bug.
(Christian Brabandt, 2016 Jul 23)
Patch to introduce 'cmdencoding'. (Ken Takata, Aug 18?)
Better help Aug 19.
Problem: applies to too many commands, such as :cbuffer.
Updated patch with three options, 2016 Sep 8.
Win32: When running ":make" and 'encoding' differs from the system locale,
the output should be converted. Esp. when 'encoding' is "utf-8". (Yongwei
Wu) Should we use 'termencoding' for this?
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Added tests (James McCoy, 2016 Aug 3). Still needs more work.
Patch to add CTRL-N / CTRL-P while searching. (Christian Brabandt, 2016 Aug
3) Problem: two matches in one line and using CTRL-P does not move back.
Access to uninitialized memory in match_backref() regexp_nda.c:4882
(Dominique Pelle, 2015 Nov 6)
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
7 Add a watchpoint in the debug mode: An expression that breaks execution
when evaluating to non-zero. Add the "watchadd expr" command, stop when
the value of the expression changes. ":watchdel" deletes an item,
":watchlist" lists the items. (Charles Campbell)
Patch by Christian Brabandt, 2016 Feb 1.
Patch by Christian Brabandt, 2016 Jun 10, #859
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
2016 Apr 25, #780)
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
restore the mode properly. (Andrew Stewart, 2016 Apr 20)
Do not trigger the event?
Using ":windo" to set options in all windows has the side effect that it
changes the window layout and the current window. Make a variant that saves
and restores. Use in the matchparen plugin.
@@ -247,6 +348,8 @@ https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
Patch to make the behavior of "w" more straightforward, but not Vi compatible.
With a 'cpo' flag. (Christian Brabandt, 2016 Feb 8)
Patch to add optionproperties(). (Anton Lindqvist, 2016 Mar 27, update Apr 13)
Patch to add TagNotFound autocommand. (Anton Lindqvist, 2016 Feb 3)
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
@@ -287,22 +390,19 @@ wrong name. (Aram, 2014 Nov 7) Vim 7.4.
Can't recognize the $ProgramFiles(x86) environment variable. Recognize it
specifically? First try with the parens, then without.
Half-finished patch to fix the Problem using cgn to change a search hit when
replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
2016 Jan 11.
Patch to add :mapgroup, put mappings in a group like augroup.
(Yasuhiro Matsumoto, 2016 Feb 19)
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
13, last version)
Can we cache the syntax attributes, so that updates for 'relativenumber' and
'cursorline'/'cursorcolumn' are a lot faster?
C highlighting: modern C allows: /* comment */ #ifdef
and also line continuation after #include.
I can't recommend it though.
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
@@ -311,7 +411,7 @@ Use v:none. var == v:none
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
24) Also need a way to get the global arg list? Update later on Jan 24
Update Mar 5.
Update Mar 5. Update Apr 7. Update Jun 5.
To support Thai (and other languages) word boundaries, include the ICU
library: http://userguide.icu-project.org/boundaryanalysis
@@ -319,15 +419,9 @@ library: http://userguide.icu-project.org/boundaryanalysis
When complete() first argument is before where insert started and 'backspace'
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
30)
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
Goes away when disabling the swap file. (might1, Feb 16)
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
@@ -351,14 +445,9 @@ wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
Update Aug 14.
Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
26, update 2013 Dec 14, another 2014 Nov 22)
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
Sep 10)
@@ -366,7 +455,7 @@ Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
Needs a different check for CLEARTYPE_QUALITY.
Problem mentioned by Christian Brabandt, 2016 Jan 4.
Example in editing.txt uses $HOME with the expectating that it ends in a
Example in editing.txt uses $HOME with the expectation that it ends in a
slash. For me it does, but perhaps not for everybody. Add a function that
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
@@ -379,8 +468,6 @@ Patch to fix checking global option value when not using it.
When 'showbreak' is set repeating a Visual operation counts the size of the
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
Patch for matchit plugin related to multibyte chars. (Ken Takata, 2015 Jul 22)
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
@@ -391,6 +478,7 @@ Is this the right solution? Need to cleanup langmap behavior:
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on issue 543 (Roland Puntaier).
Also see #737: langmap not applied to replaying recording.
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
@@ -408,9 +496,6 @@ Breaks test_eval. Inefficient, can we only compute y_width when needed?
Patch to use different terminal mode settings for system(). (Hayaki Saito)
Does this work for everybody?
Patch to fix that wide characters do not work properly after exiting.
(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
Patch to add wordcount(). Same info as g CTRL-G. (Christian Brabandt, 2015
Nov 17)
@@ -436,7 +521,7 @@ Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
Patch for drag&drop reordering of GUI tab pages reordering.
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
Update 2016 Mar 15.
Update 2016 Aug 10.
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
@@ -456,9 +541,6 @@ any one-character from the previous line. (Kartik Agaram, 2014 Sep 19)
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
Patch to add the EndOfBuffer highlight group, used instead of NonText for "~"
lines. (Marco Hinz, 2014 Nov 2)
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
@@ -467,14 +549,6 @@ Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
Is this a good solution?
Patch to add /pattern/ to :oldfiles. Pull #575.
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
functions. (Christian Brabandt, 2013 May 8, update May 21)
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
Second one. Update May 22.
Update by Daniel Hahler, 2014 Jul 4, Aug 14, Oct 14, Oct 15.
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
@@ -490,7 +564,7 @@ Patch for ordered dict. (Ozaki Kiichi, 2015 May 7)
Patch to make closed folds line up. (Charles Campbell, 2014 Sep 12)
Remark from Roland Eggner: does it cause crashes? (2014 Dec 12)
Updated patch by Roland Eggner, Dec 16
Updated patch from Charles, 2016 Jan 4.
Updated patch from Charles, 2016 Jul 2
Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
@@ -503,7 +577,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
Update 2016 Jan 31 (email).
Update 2016 Jun 10, # 857
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
@@ -526,9 +600,6 @@ Jun 8)
Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
insert a space. (Micha Mos, 2014 Nov 7)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Feb 10
Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
No error for missing endwhile. (ZyX, 2014 Mar 20)
@@ -547,9 +618,11 @@ Spell files use a latin single quote. Unicode also has another single quote:
New OpenOffice spell files support this with ICONV. But they are not
compatible with Vim spell files. The old files can no longer be downloaded.
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
Update 2015 Jan 10.
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
@@ -562,9 +635,6 @@ What for systems that don't have unsetenv()?
Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
Patch to add TabNew, TabNewEntered and TabClosed autocommand events.
(Felipe Morales, 2015 Feb 1)
This does not give an error: (Andre Sihera, 2014 Mar 21)
vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
This neither: (ZyX)
@@ -631,14 +701,6 @@ various other commands. (ZyX, 2014 Mar 30)
Patch to skip sort if no line matches the expression.
(Christian Brabandt, 2014 Jun 25)
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
Or add uniq() instead? Patch by lcd47, but it has problems.
Patch to support expression argument to sort() instead of a function name.
Yasuhiro Matsumoto, 2013 May 31.
Or should we add a more general mechanism, like a lambda() function?
Patch by Yasuhiro Matsumoto, 2014 Sep 16.
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
instead. (Samuel Ferencik, 2013 Sep 28)
@@ -686,17 +748,9 @@ Patch by Thomas Tuegel, also for GTK, 2013 Nov 24
:help gives example for z?, but it does not work. m? and t? do work.
Python: Extended funcrefs: use func_T* structure in place of char_u* function
names.
(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
With tests: Sep 5.
Patch to fix that on suckless Terminal mousewheel up does not work.
(Ralph Eastwood, 2013 Nov 25)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Checking runtime scripts: Thilo Six, 2012 Jun 6.
@@ -777,6 +831,7 @@ optional. (2013 Jul 12)
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
Improve the installer for MS-Windows. There are a few alternatives:
- Add silent install option. (Shane Lee, #751)
- Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
https://github.com/gpwen/vim-installer-mui2
@@ -788,9 +843,6 @@ Improve the installer for MS-Windows. There are a few alternatives:
Problem: they all work slightly different (e.g. don't install vimrun.exe).
How to test that it works well for all Vim users?
Patch to check whether a buffer is quickfix or a location list.
(Yasuhiro Matsumoto, 2014 Dec 9)
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
Issue 54: document behavior of -complete, also expands arg.
@@ -805,11 +857,6 @@ In the ATTENTION message about an existing swap file, mention the name of the
process that is running. It might actually be some other program, e.g. after
a reboot.
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Ben Fritz: problem with 'selection' set to "exclusive".
Updated to current Vim, not quite right yet. (Ben Fritz, 2014 Mar 27)
Patch to select the next or previous text object if there isn't one under the
cursor. (Daniel Thau, 2013 Nov 20)
@@ -831,9 +878,6 @@ Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
Do we need some way (option) to show the sign column even when there are no
signs? Patch by Christian Brabandt, 2013 Aug 22.
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
@@ -1080,7 +1124,7 @@ 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 addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
Patch to add TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
May 24) Update May 26.
Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
@@ -1252,12 +1296,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.
Use json format for new items in .viminfo:
|["info","any info"]
|["text","text text text"
|"continuation line"]
|["hist",242342342,{"arg":"value"}]
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
@@ -1314,7 +1352,7 @@ https://scan.coverity.com/projects/241
Patch to support :undo absolute jump to file save number. (Christian Brabandt,
2010 Nov 5)
Patch to use 'foldnextmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
Jan 7)
Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
@@ -1557,9 +1595,6 @@ probably causes this.
'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
2009 Jan 16)
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
Document that default font in Athena can be set with resources:
XtDefaultFont: "9x15"
XtDefaultFontSet: "9x15"
@@ -1904,10 +1939,6 @@ Win32: using "gvim --remote-tab-silent fname" sometimes gives an empty screen
with the more prompt. Caused by setting the guitablabel? (Thomas Michael
Engelke, 2007 Dec 20 - 2008 Jan 17)
Win64: Seek error in swap file for a very big file (3 Gbyte). Check storing
pointer in long and seek offset in 64 bit var.
Patches from Ken Takata might help (2014 Apr 17)
Win32: patch for fullscreen mode. (Liushaolin, 2008 April 17)
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
@@ -2189,10 +2220,6 @@ only set after Visual moded is ended.
Also add a variable for the Visual mode. So that this mode and '< '> can be
used to set what "gv" selects. (Ben Schmidt)
Win32: When running ":make" and 'encoding' differs from the system locale, the
output should be converted. Esp. when 'encoding' is "utf-8". (Yongwei Wu)
Should we use 'termencoding' for this?
Win32, NTFS: When editing a specific infostream directly and 'backupcopy' is
"auto" should detect this situation and work like 'backupcopy' is "yes". File
name is something like "c:\path\foo.txt:bar", includes a colon. (Alex
@@ -2217,10 +2244,6 @@ Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
tabs and the autocommand "autocmd BufWinLeave * mkview". (James Vega, 2007
Jun 18)
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
When completing from another file that uses a different encoding completion
text has the wrong encoding. E.g., when 'encoding' is utf-8 and file is
latin1. Example from Gombault Damien, 2007 Mar 24.
@@ -2394,9 +2417,6 @@ Awaiting updated patches:
done for filetype detection. Patch from Walter Briscoe, 2003 Jul 1.
7 Add a "-@ filelist" argument: read file names from a file. (David
Kotchan has a patch for it)
8 Include a connection to an external program through a pipe? See
patches from Felbinger for a mathematica interface.
Or use emacs server kind of thing?
7 Add ":justify" command. Patch from Vit Stradal 2002 Nov 25.
- findmatch() should be adjusted for Lisp. See remark at
get_lisp_indent(). Esp. \( and \) should be skipped. (Dorai Sitaram,
@@ -3508,8 +3528,6 @@ Multi-byte characters:
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
"lang". (Ilya Dogolazky)
- Make 'breakat' accept multi-byte characters. Problem: can't use a lookup
table anymore (breakat_flags[]).
Simplistic solution: when 'formatoptions' contains "m" also break a line
@@ -3788,7 +3806,7 @@ Vim script language:
8 Pass the command line arguments to Vim scripts in some way. As v:args
List? Or extra parameter to argv()?
8 Add command arguments with three dashes, passed on to Vim scripts.
7 Add optional arguments to user functions:
9 Add optional arguments to user functions:
:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
6 User functions: Functions local to buffer "b:func()"?
8 For Strings add ":let var[{expr}] = {expr}". When past the end of "var"
@@ -4841,7 +4859,7 @@ Searching:
lines 23 to 45? Or does this conflict with Ex range syntax?
8 Allow identical pairs in 'matchpairs'. Restrict the search to the current
line.
7 Allow longer pairs in 'matchpairs'. Use ~/vim/macros/matchit.vim as an
7 Allow longer pairs in 'matchpairs'. Use matchit.vim as an
example.
8 Make it possible to define the character that "%" checks for in
#if/#endif. For nmake it's !if/!endif.
+5 -7
View File
@@ -1,4 +1,4 @@
*usr_05.txt* For Vim version 7.4. Last change: 2016 Mar 25
*usr_05.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM USER MANUAL - by Bram Moolenaar
@@ -275,10 +275,9 @@ matching HTML tags, if/else/endif in Vim scripts, etc. Very useful, although
it's not backwards compatible (that's why it is not enabled by default).
To start using the matchit plugin, add one line to your vimrc file: >
packadd matchit
packadd! matchit
That's all! You can also type the command to try it out. Now you can find
help about this plugin: >
That's all! After restarting Vim you can find help about this plugin: >
:help matchit
This works, because when `:packadd` loaded the plugin it also added the
@@ -364,10 +363,9 @@ Example for Unix (assuming you didn't have a plugin directory yet): >
mkdir ~/.vim
mkdir ~/.vim/plugin
cp /usr/local/share/vim/vim60/macros/justify.vim ~/.vim/plugin
cp /tmp/yourplugin.vim ~/.vim/plugin
That's all! Now you can use the commands defined in this plugin to justify
text.
That's all! Now you can use the commands defined in this plugin.
Instead of putting plugins directly into the plugin/ directory, you may
better organize them by putting them into subdirectories under plugin/.
+7 -3
View File
@@ -1,4 +1,4 @@
*usr_25.txt* For Vim version 7.4. Last change: 2014 Oct 29
*usr_25.txt* For Vim version 7.4. Last change: 2016 Mar 28
VIM USER MANUAL - by Bram Moolenaar
@@ -196,12 +196,16 @@ Vim has no built-in way of justifying text. However, there is a neat macro
package that does the job. To use this package, execute the following
command: >
:runtime macros/justify.vim
:packadd justify
Or put this line in your |vimrc|: >
packadd! justify
This Vim script file defines a new visual command "_j". To justify a block of
text, highlight the text in Visual mode and then execute "_j".
Look in the file for more explanations. To go there, do "gf" on this name:
$VIMRUNTIME/macros/justify.vim.
$VIMRUNTIME/pack/dist/opt/justify/plugin/justify.vim.
An alternative is to filter the text through an external program. Example: >
+72 -8
View File
@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.4. Last change: 2016 Mar 15
*usr_41.txt* For Vim version 7.4. Last change: 2016 Sep 01
VIM USER MANUAL - by Bram Moolenaar
@@ -592,6 +592,7 @@ String manipulation: *string-functions*
match() position where a pattern matches in a string
matchend() position where a pattern match ends in a string
matchstr() match of a pattern in a string
matchstrpos() match and positions of a pattern in a string
matchlist() like matchstr() and also return submatches
stridx() first index of a short string in a long string
strridx() last index of a short string in a long string
@@ -601,13 +602,16 @@ String manipulation: *string-functions*
strdisplaywidth() size of string when displayed, deals with tabs
substitute() substitute a pattern match with a string
submatch() get a specific match in ":s" and substitute()
strpart() get part of a string
strpart() get part of a string using byte index
strcharpart() get part of a string using char index
strgetchar() get character from a string using char index
expand() expand special keywords
iconv() convert text from one encoding to another
byteidx() byte index of a character in a string
byteidxcomp() like byteidx() but count composing characters
repeat() repeat a string multiple times
eval() evaluate a string expression
execute() execute an Ex command and get the output
List manipulation: *list-functions*
get() get an item without error for wrong index
@@ -677,6 +681,7 @@ Floating point computation: *float-functions*
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
isnan() check for not a number
Other computation: *bitwise-function*
and() bitwise AND
@@ -731,11 +736,14 @@ Working with text in the current buffer: *text-functions*
searchpair() find the other end of a start/skip/end
searchpairpos() find the other end of a start/skip/end
searchdecl() search for the declaration of a name
getcharsearch() return character search information
setcharsearch() set character search information
*system-functions* *file-functions*
System functions and manipulation of files:
glob() expand wildcards
globpath() expand wildcards in a number of directories
glob2regpat() convert a glob pattern into a search pattern
findfile() find a file in a list of directories
finddir() find a directory in a list of directories
resolve() find out where a shortcut points to
@@ -747,6 +755,7 @@ System functions and manipulation of files:
filereadable() check if a file can be read
filewritable() check if a file can be written to
getfperm() get the permissions of a file
setfperm() set the permissions of a file
getftype() get the kind of a file
isdirectory() check if a directory exists
getfsize() get the size of a file
@@ -768,6 +777,7 @@ Date and Time: *date-functions* *time-functions*
strftime() convert time to a string
reltime() get the current or elapsed time accurately
reltimestr() convert reltime() result to a string
reltimefloat() convert reltime() result to a Float
*buffer-functions* *window-functions* *arg-functions*
Buffers, windows and the argument list:
@@ -784,9 +794,18 @@ Buffers, windows and the argument list:
tabpagenr() get the number of a tab page
tabpagewinnr() like winnr() for a specified tab page
winnr() get the window number for the current window
bufwinid() get the window ID of a specific buffer
bufwinnr() get the window number of a specific buffer
winbufnr() get the buffer number of a specific window
getbufline() get a list of lines from the specified buffer
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gotoid() go to window with ID
win_id2tabwin() get tab and window nr from window ID
win_id2win() get window nr from window ID
getbufinfo() get a list with buffer information
gettabinfo() get a list with tab page information
getwininfo() get a list with window information
Command line: *command-line-functions*
getcmdline() get the current command line
@@ -794,6 +813,7 @@ Command line: *command-line-functions*
setcmdpos() set position of the cursor in the command line
getcmdtype() return the current command-line type
getcmdwintype() return the current command-line window type
getcompletion() list of command-line completion matches
Quickfix and location lists: *quickfix-functions*
getqflist() list of quickfix errors
@@ -890,18 +910,61 @@ Mappings: *mapping-functions*
Testing: *test-functions*
assert_equal() assert that two expressions values are equal
assert_notequal() assert that two expressions values are not equal
assert_inrange() assert that an expression is inside a range
assert_match() assert that a pattern matches the value
assert_notmatch() assert that a pattern does not match the value
assert_false() assert that an expression is false
assert_true() assert that an expression is true
assert_exception() assert that a command throws an exception
assert_fails() assert that a function call fails
test_alloc_fail() make memory allocation fail
test_autochdir() enable 'autochdir' during startup
test_disable_char_avail() test without typeahead
test_garbagecollect_now() free memory right now
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_job() return a null Job
test_null_list() return a null List
test_null_partial() return a null Partial function
test_null_string() return a null String
Inter-process communication:
Inter-process communication: *channel-functions*
ch_open() open a channel
ch_close() close a channel
ch_close_in() close the in part of a channel
ch_read() read a message from a channel
ch_readraw() read a raw message from a channel
ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel
jsonencode() encode an expression to a JSON string
jsondecode() decode a JSON string to Vim types
ch_evalexpr() evaluates an expression over channel
ch_evalraw() evaluates a raw string over channel
ch_status() get status of a channel
ch_getbufnr() get the buffer number of a channel
ch_getjob() get the job associated with a channel
ch_info() get channel information
ch_log() write a message in the channel log file
ch_logfile() set the channel log file
ch_setoptions() set the options for a channel
json_encode() encode an expression to a JSON string
json_decode() decode a JSON string to Vim types
js_encode() encode an expression to a JSON string
js_decode() decode a JSON string to Vim types
Jobs: *job-functions*
job_start() start a job
job_stop() stop a job
job_status() get the status of a job
job_getchannel() get the channel used by a job
job_info() get information about a job
job_setoptions() set options for a job
Timers: *timer-functions*
timer_start() create a timer
timer_pause() pause or unpause a timer
timer_stop() stop a timer
timer_stopall() stop all timers
timer_info() get information about timers
Various: *various-functions*
mode() get current editing mode
@@ -926,6 +989,8 @@ Various: *various-functions*
shiftwidth() effective value of 'shiftwidth'
wordcount() get byte/word/char count of buffer
taglist() get list of matching tags
tagfiles() get a list of tags files
@@ -934,7 +999,6 @@ Various: *various-functions*
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
wordcount() get byte/word/char count of buffer
==============================================================================
*41.7* Defining a function
@@ -1402,9 +1466,9 @@ Now we can instantiate a Dutch translation object: >
And a German translator: >
:let uk2de = copy(transdict)
:let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
:let uk2de.words = {'one': 'eins', 'two': 'zwei', 'three': 'drei'}
:echo uk2de.translate('three one')
< drei ein ~
< drei eins ~
You see that the copy() function is used to make a copy of the "transdict"
Dictionary and then the copy is changed to add the words. The original
+42 -7
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.4. Last change: 2016 Mar 20
*various.txt* For Vim version 7.4. Last change: 2016 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -91,6 +91,8 @@ g8 Print the hex values of the bytes used in the
on paper see |:hardcopy|. In the GUI you can use the
File.Print menu entry.
See |ex-flags| for [flags].
The |:filter| command can be used to only show lines
matching a pattern.
:[range]p[rint] {count} [flags]
Print {count} lines, starting with [range] (default
@@ -362,6 +364,7 @@ N *+insert_expand* |insert_expand| Insert mode completion
m *+job* starting and stopping jobs |job|
N *+jumplist* |jumplist|
B *+keymap* |'keymap'|
N *+lambda* |lambda| and |closure|
B *+langmap* |'langmap'|
N *+libcall* |libcall()|
N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
@@ -391,8 +394,10 @@ N *+multi_lang* non-English language support |multi-lang|
m *+mzscheme* Mzscheme interface |mzscheme|
m *+mzscheme/dyn* Mzscheme interface |mzscheme-dynamic| |/dyn|
m *+netbeans_intg* |netbeans|
*+num64* 64-bit Number support |Number|
m *+odbeditor* MacVim only: ODB Editor Protocol support |odbeditor|
m *+ole* Win32 GUI only: |ole-interface|
N *+packages* Loading |packages|
N *+path_extra* Up/downwards search in 'path' and 'tags'
m *+perl* Perl interface |perl|
m *+perl/dyn* Perl interface |perl-dynamic| |/dyn|
@@ -419,13 +424,14 @@ N *+statusline* Options 'statusline', 'rulerformat' and special
m *+sun_workshop* |workshop|
N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
N *+tag_binary* binary searching in tags file |tag-binary-search|
T *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static|
m *+tag_any_white* any white space allowed in tags file |tag-any-white|
m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
*+terminfo* uses |terminfo| instead of termcap
N *+termresponse* support for |t_RV| and |v:termresponse|
B *+termguicolors* 24-bit color in xterm-compatible terminals support
N *+textobjects* |text-objects| selection
*+tgetent* non-Unix only: able to use external termcap
N *+timers* the |timer_start()| function
@@ -470,9 +476,12 @@ N *+X11* Unix only: can restore window title |X11|
shown on the screen. When [!] is included, an
existing file is overwritten. When [!] is omitted,
and {file} exists, this command fails.
Only one ":redir" can be active at a time. Calls to
":redir" will close any active redirection before
starting redirection to the new target.
starting redirection to the new target. For recursive
use check out |execute()|.
To stop the messages and commands from being echoed to
the screen, put the commands in a function and call it
with ":silent call Function()".
@@ -512,12 +521,35 @@ N *+X11* Unix only: can restore window title |X11|
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
command output messages will cause errors. {not in Vi}
To get the output of one command the |execute()|
function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used. {not in Vi}
:redi[r] END End redirecting messages. {not in Vi}
*:filt* *:filter*
:filt[er] {pat} {command}
:filt[er] /{pat}/ {command}
Restrict the output of {command} to matches with {pat}.
For example, to list only xml files: >
:filter /\.xml$/ oldfiles
<
{pat} is a Vim search pattern. Instead of enclosing
it in / any non-ID character (see |'isident'|) can be
used, so long as it does not appear in {pat}. Without
the enclosing character the pattern cannot include the
bar character.
The pattern is matched against the relevant part of
the output, not necessarily the whole line. Only some
commands support filtering, try it out to check if it
works.
Only normal messages are filtered, error messages are
not.
*:sil* *:silent* *:silent!*
:sil[ent][!] {command} Execute {command} silently. Normal messages will not
be given or added to the message history.
@@ -608,13 +640,16 @@ K Run a program to lookup the keyword under the
directory of Vim. It is called 'ref' and does a
simple spelling check.
Special cases:
- If 'keywordprg' begins with ":" it is invoked as
a Vim Ex command with [count].
- If 'keywordprg' is empty, the ":help" command is
used. It's a good idea to include more characters
in 'iskeyword' then, to be able to find more help.
- When 'keywordprg' is equal to "man", a count before
"K" is inserted after the "man" command and before
the keyword. For example, using "2K" while the
cursor is on "mkdir", results in: >
- When 'keywordprg' is equal to "man" or starts with
":", a [count] before "K" is inserted after
keywordprg and before the keyword. For example,
using "2K" while the cursor is on "mkdir", results
in: >
!man 2 mkdir
< - When 'keywordprg' is equal to "man -s", a count
before "K" is inserted after the "-s". If there is
+5 -4
View File
@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.4. Last change: 2014 Aug 29
*version7.txt* For Vim version 7.4. Last change: 2016 Jul 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1683,7 +1683,7 @@ work. Use "LPT1" then.
The GTK font dialog uses a font size zero when the font name doesn't include a
size. Use a default size of 10.
This example in the documentation didn't work:
This example in the documentation didn't work: >
:e `=foo . ".c"`
Skip over the expression in `=expr` when looking for comments, |, % and #.
@@ -4028,7 +4028,7 @@ Solution: Check for NULL pointer returned from mch_open().
Files: src/if_cscope.c
Patch 7.0.154
Problem: When 'foldnextmax' is negative Vim can hang. (James Vega)
Problem: When 'foldnestmax' is negative Vim can hang. (James Vega)
Solution: Avoid the fold level becoming negative.
Files: src/fold.c, src/syntax.c
@@ -10160,7 +10160,7 @@ an error. Was caused by patch 7.2.132.
Make the references to features in the help more consistent. (Sylvain Hitier)
==============================================================================
VERSION 7.4 *version-7.4* *version7.4*
VERSION 7.4 *version-7.4* *version7.4* *vim-7.4*
This section is about improvements made between version 7.3 and 7.4.
@@ -18310,4 +18310,5 @@ Solution: Subtract the unsigned numbers and cast to int. (Ken Takata)
Files: src/os_win32.c
vim:tw=78:ts=8:ft=help:norl:
File diff suppressed because it is too large Load Diff
+14 -2
View File
@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 7.4. Last change: 2016 Feb 12
*vi_diff.txt* For Vim version 7.4. Last change: 2016 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,7 +147,7 @@ Support for different systems.
resource usage, esp. on MS-DOS. For some outdated systems you need to
use an older Vim version.
Multi level undo. |undo|
Multi level persistent undo. |undo|
'u' goes backward in time, 'CTRL-R' goes forward again. Set option
'undolevels' to the number of changes to be remembered (default 1000).
Set 'undolevels' to 0 for a Vi-compatible one level undo. Set it to
@@ -158,6 +158,9 @@ Multi level undo. |undo|
create a branch in the undo tree. This means you can go back to any
state of the text, there is no risk of a change causing text to be
lost forever. |undo-tree|
The undo information is stored in a file when the 'undofile' option is
set. This means you can exit Vim, start Vim on a previously edited
file and undo changes that were made before exiting Vim.
Graphical User Interface (GUI). |gui|
Included support for GUI: menu's, mouse, scrollbars, etc. You can
@@ -212,6 +215,15 @@ Plugins. |add-plugin|
right directory. That's an easy way to start using Vim scripts
written by others. Plugins can be for all kind of files, or
specifically for a filetype.
Packages make this even easier. |packages|
Asynchronous communication and timers. |channel| |job| |timer|
Vim can exchange messages with other processes in the background.
This makes it possible to have servers do work and send back the
results to Vim. |channel|
Vim can start a job, communicate with it and stop it. |job|
Timers can fire once or repeatedly and invoke a function to do any
work. |timer|
Repeat a series of commands. |q|
"q{c}" starts recording typed characters into named register {c}.
+1 -1
View File
@@ -321,7 +321,7 @@ When N is omitted, open one tab page for each file.
\-R
Read-only mode.
The 'readonly' option will be set.
You can still edit the buffer, but will be prevented from accidently
You can still edit the buffer, but will be prevented from accidentally
overwriting a file.
If you do want to overwrite a file, add an exclamation mark to the Ex command,
as in ":w!".
+1 -1
View File
@@ -222,7 +222,7 @@ OPTIONS
-R Read-only mode. The 'readonly' option will be set. You
can still edit the buffer, but will be prevented from acci
dently overwriting a file. If you do want to overwrite a
dentally overwriting a file. If you do want to overwrite a
file, add an exclamation mark to the Ex command, as in
":w!". The -R option also implies the -n option (see
below). The 'readonly' option can be reset with ":set
+16 -2
View File
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
*windows.txt* For Vim version 7.4. Last change: 2016 Aug 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -75,6 +75,16 @@ places where a Normal mode command can't be used or is inconvenient.
The main Vim window can hold several split windows. There are also tab pages
|tab-page|, each of which can hold multiple windows.
*window-ID* *winid* *windowid*
Each window has a unique identifier called the window ID. This identifier
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
functions can be used to convert between the window/tab number and the
identifier. There is also the window number, which may change whenever
windows are opened or closed, see |winnr()|.
Each buffer has a unique number and the number will not change within a Vim
session. The |bufnr()| and |bufname()| functions can be used to convert
between a buffer name and the buffer number.
==============================================================================
2. Starting Vim *windows-starting*
@@ -245,7 +255,7 @@ window will appear.
far left and occupies the full height of the Vim window.
Doesn't work for |:execute| and |:normal|.
*:botright*
*:bo* *:botright*
:bo[tright] {cmd}
Execute {cmd}. If it contains a command that splits a window,
it will appear at the bottom and occupy the full width of the
@@ -1032,6 +1042,10 @@ list of buffers. |unlisted-buffer|
h+ hidden buffers which are modified
a+ active buffers which are modified
When using |:filter| the pattern is matched against the
displayed buffer name, e.g.: >
filter /\.vim/ ls
<
*:bad* *:badd*
:bad[d] [+lnum] {fname}
Add file name {fname} to the buffer list, without loading it.
+9 -1
View File
@@ -1,6 +1,6 @@
" Vim script for Evim key bindings
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Mar 29
" Last Change: 2016 Jul 24
" Don't use Vi-compatible mode.
set nocompatible
@@ -63,4 +63,12 @@ if has("autocmd")
endif " has("autocmd")
" Add optional packages.
"
" The matchit plugin makes the % command work better, but it is not backwards
" compatible.
if has('syntax') && has('eval')
packadd matchit
endif
" vim: set sw=2 :
+26 -16
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2015 Dec 03
" Last Change: 2016 Aug 26
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -17,7 +17,7 @@ augroup filetypedetect
" Ignored extensions
if exists("*fnameescape")
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew
au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-old,?\+.dpkg-new,?\+.dpkg-bak,?\+.rpmsave,?\+.rpmnew,?\+.pacsave,?\+.pacnew
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r"))
au BufNewFile,BufRead *~
\ let s:name = expand("<afile>") |
@@ -534,7 +534,7 @@ au BufNewFile,BufRead configure.in,configure.ac setf config
au BufNewFile,BufRead *.cu setf cuda
" Dockerfile
au BufNewFile,BufRead Dockerfile setf dockerfile
au BufNewFile,BufRead Dockerfile,*.Dockerfile setf dockerfile
" WildPackets EtherPeek Decoder
au BufNewFile,BufRead *.dcd setf dcd
@@ -692,8 +692,8 @@ func! s:FTe()
let n = 1
while n < 100 && n < line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
setf specman
return
endif
let n = n + 1
endwhile
@@ -779,8 +779,7 @@ au BufNewFile,BufRead *.mo,*.gdmo setf gdmo
au BufNewFile,BufRead *.ged,lltxxxxx.txt setf gedcom
" Git
au BufNewFile,BufRead COMMIT_EDITMSG setf gitcommit
au BufNewFile,BufRead MERGE_MSG setf gitcommit
au BufNewFile,BufRead COMMIT_EDITMSG,MERGE_MSG,TAG_EDITMSG setf gitcommit
au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
au BufNewFile,BufRead *.git/modules/*/config setf gitconfig
au BufNewFile,BufRead */.config/git/config setf gitconfig
@@ -1019,7 +1018,7 @@ au BufNewFile,BufRead *.jgr setf jgraph
au BufNewFile,BufRead *.jov,*.j73,*.jovial setf jovial
" JSON
au BufNewFile,BufRead *.json,*.jsonp setf json
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
" Kixtart
au BufNewFile,BufRead *.kix setf kix
@@ -1621,11 +1620,9 @@ au BufNewFile,BufRead */etc/protocols setf protocols
" Pyrex
au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
" Python
au BufNewFile,BufRead *.py,*.pyw setf python
" Python, Python Shell Startup Files
" Quixote (Python-based web framework)
au BufNewFile,BufRead *.ptl setf python
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,*.ptl setf python
" Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance
@@ -1783,6 +1780,9 @@ au BufNewFile,BufRead *.sass setf sass
" Sather
au BufNewFile,BufRead *.sa setf sather
" Scala
au BufNewFile,BufRead *.scala setf scala
" Scilab
au BufNewFile,BufRead *.sci,*.sce setf scilab
@@ -1861,11 +1861,19 @@ au BufNewFile,BufRead catalog setf catalog
au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
" Gentoo ebuilds are actually bash scripts
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass call SetFileTypeSH("bash")
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call SetFileTypeSH("bash")
au BufNewFile,BufRead .kshrc*,*.ksh call SetFileTypeSH("ksh")
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call SetFileTypeSH(getline(1))
" Shell script (Arch Linux) or PHP file (Drupal)
au BufNewFile,BufRead *.install
\ if getline(1) =~ '<?php' |
\ setf php |
\ else |
\ call SetFileTypeSH("bash") |
\ endif
" Also called from scripts.vim.
func! SetFileTypeSH(name)
if expand("<amatch>") =~ g:ft_ignore_pat
@@ -2047,7 +2055,7 @@ func! s:FTRules()
if line =~ s:ft_rules_udev_rules_pattern
let udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
if dir == udev_rules
setf udevrules
setf udevrules
endif
break
endif
@@ -2296,7 +2304,7 @@ au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
@@ -2637,6 +2645,8 @@ au BufNewFile,BufRead [rR]akefile* call s:StarSetf('ruby')
" Mail (also matches muttrc.vim, so this is below the other checks)
au BufNewFile,BufRead mutt[[:alnum:]._-]\\\{6\} setf mail
au BufNewFile,BufRead reportbug-* call s:StarSetf('mail')
" Modconf
au BufNewFile,BufRead */etc/modutils/*
\ if executable(expand("<afile>")) != 1
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Jul 10
" Last Change: 2016 Jun 12
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -37,7 +37,7 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments.
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'
let b:match_skip = 's:comment\|string\|character\|special'
" Win32 can filter files in the browse dialog
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
+10 -10
View File
@@ -1,11 +1,11 @@
" Vim filetype plugin file
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
"
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 27 March 2014
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 18 July 2016
if exists("b:did_ftplugin")
finish
@@ -43,7 +43,7 @@ setlocal commentstring=;\ %s
" specially and hence are not indented specially.
"
" -*- LISPWORDS -*-
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-010/clj/src/vim_clojure_static/generate.clj
" Generated from https://github.com/guns/vim-clojure-static/blob/vim-release-011/clj/src/vim_clojure_static/generate.clj
setlocal lispwords=as->,binding,bound-fn,case,catch,cond->,cond->>,condp,def,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftest,deftest-,deftype,doseq,dotimes,doto,extend,extend-protocol,extend-type,fn,for,if,if-let,if-not,if-some,let,letfn,locking,loop,ns,proxy,reify,set-test,testing,when,when-first,when-let,when-not,when-some,while,with-bindings,with-in-str,with-local-vars,with-open,with-precision,with-redefs,with-redefs-fn,with-test
" Provide insert mode completions for special forms and clojure.core. As
@@ -82,9 +82,9 @@ endif
" Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
\ "Java Source Files (*.java)\t*.java\n" .
\ "All Files (*.*)\t*.*\n"
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
\ "Java Source Files (*.java)\t*.java\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
endif
+12 -16
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 Jun 01
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -19,27 +19,23 @@ setlocal omnifunc=CucumberComplete
let b:undo_ftplugin = "setl fo< com< cms< ofu<"
let b:cucumber_root = expand('%:p:h:s?.*[\/]\%(features\|stories\)\zs[\/].*??')
if !exists("b:cucumber_steps_glob")
let b:cucumber_steps_glob = b:cucumber_root.'/**/*.rb'
endif
if !exists("g:no_plugin_maps") && !exists("g:no_cucumber_maps")
nnoremap <silent><buffer> <C-]> :<C-U>exe <SID>jump('edit',v:count)<CR>
nnoremap <silent><buffer> [<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
nnoremap <silent><buffer> ]<C-D> :<C-U>exe <SID>jump('edit',v:count)<CR>
nnoremap <silent><buffer> <C-W>] :<C-U>exe <SID>jump('split',v:count)<CR>
nnoremap <silent><buffer> <C-W><C-]> :<C-U>exe <SID>jump('split',v:count)<CR>
nnoremap <silent><buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<CR>
nnoremap <silent><buffer> <C-W><C-D> :<C-U>exe <SID>jump('split',v:count)<CR>
nnoremap <silent><buffer> <C-W>} :<C-U>exe <SID>jump('pedit',v:count)<CR>
nnoremap <silent><buffer> [d :<C-U>exe <SID>jump('pedit',v:count)<CR>
nnoremap <silent><buffer> ]d :<C-U>exe <SID>jump('pedit',v:count)<CR>
cnoremap <SID>foldopen <Bar>if &foldopen =~# 'tag'<Bar>exe 'norm! zv'<Bar>endif
nnoremap <silent> <script> <buffer> [<C-D> :<C-U>exe <SID>jump('edit',v:count)<SID>foldopen<CR>
nnoremap <silent> <script> <buffer> ]<C-D> :<C-U>exe <SID>jump('edit',v:count)<SID>foldopen<CR>
nnoremap <silent> <script> <buffer> <C-W>d :<C-U>exe <SID>jump('split',v:count)<SID>foldopen<CR>
nnoremap <silent> <script> <buffer> <C-W><C-D> :<C-U>exe <SID>jump('split',v:count)<SID>foldopen<CR>
nnoremap <silent> <script> <buffer> [d :<C-U>exe <SID>jump('pedit',v:count)<CR>
nnoremap <silent> <script> <buffer> ]d :<C-U>exe <SID>jump('pedit',v:count)<CR>
let b:undo_ftplugin .=
\ "|sil! nunmap <buffer> <C-]>" .
\ "|sil! nunmap <buffer> [<C-D>" .
\ "|sil! nunmap <buffer> ]<C-D>" .
\ "|sil! nunmap <buffer> <C-W>]" .
\ "|sil! nunmap <buffer> <C-W><C-]>" .
\ "|sil! nunmap <buffer> <C-W>d" .
\ "|sil! nunmap <buffer> <C-W><C-D>" .
\ "|sil! nunmap <buffer> <C-W>}" .
\ "|sil! nunmap <buffer> [d" .
\ "|sil! nunmap <buffer> ]d"
endif
@@ -59,7 +55,7 @@ endfunction
function! s:allsteps()
let step_pattern = '\C^\s*\K\k*\>\s*(\=\s*\zs\S.\{-\}\ze\s*)\=\s*\%(do\|{\)\s*\%(|[^|]*|\s*\)\=\%($\|#\)'
let steps = []
for file in split(glob(b:cucumber_root.'/**/*.rb'),"\n")
for file in split(glob(b:cucumber_steps_glob),"\n")
let lines = readfile(file)
let num = 0
for line in lines
+1 -1
View File
@@ -27,7 +27,7 @@ elseif !exists("b:eruby_subtype")
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
if b:eruby_subtype == ''
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\)\+$','',''),'\.\zs\w\+$')
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
endif
if b:eruby_subtype == 'rhtml'
let b:eruby_subtype = 'html'
+3 -1
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: generic git output
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -12,6 +12,8 @@ let b:did_ftplugin = 1
if !exists('b:git_dir')
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]'
" Stay out of the way
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees'
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>')
elseif expand('%:p') =~# '\.git\>'
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>')
elseif $GIT_DIR != ''
+7 -10
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: git commit file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -11,15 +11,10 @@ endif
runtime! ftplugin/git.vim
let b:did_ftplugin = 1
setlocal nomodeline tabstop=8 formatoptions-=croq formatoptions+=tl
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions<'
if &textwidth == 0
" make sure that log messages play nice with git-log on standard terminals
setlocal textwidth=72
let b:undo_ftplugin .= "|setl tw<"
endif
setlocal comments=:# commentstring=#\ %s
setlocal nomodeline tabstop=8 formatoptions+=tl textwidth=72
setlocal formatoptions-=c formatoptions-=r formatoptions-=o formatoptions-=q
let b:undo_ftplugin = 'setl modeline< tabstop< formatoptions< tw< com< cms<'
if exists("g:no_gitcommit_commands") || v:version < 700
finish
@@ -31,6 +26,8 @@ endif
command! -bang -bar -buffer -complete=custom,s:diffcomplete -nargs=* DiffGitCached :call s:gitdiffcached(<bang>0,b:git_dir,<f-args>)
let b:undo_ftplugin = b:undo_ftplugin . "|delc DiffGitCached"
function! s:diffcomplete(A,L,P)
let args = ""
if a:P <= match(a:L." -- "," -- ")+3
+3 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: git rebase --interactive
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if (exists("b:did_ftplugin"))
@@ -12,10 +12,11 @@ runtime! ftplugin/git.vim
let b:did_ftplugin = 1
setlocal comments=:# commentstring=#\ %s formatoptions-=t
setlocal nomodeline
if !exists("b:undo_ftplugin")
let b:undo_ftplugin = ""
endif
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo<"
let b:undo_ftplugin = b:undo_ftplugin."|setl com< cms< fo< ml<"
function! s:choose(word)
s/^\(\w\+\>\)\=\(\s*\)\ze\x\{4,40\}\>/\=(strlen(submatch(1)) == 1 ? a:word[0] : a:word) . substitute(submatch(2),'^$',' ','')/e
+19
View File
@@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: groovy
" Maintainer: Justin M. Keyes <justinkz@gmail.com>
" Last Change: 2016 May 22
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo-=C
let b:undo_ftplugin = 'setlocal commentstring<'
setlocal commentstring=//%s
let &cpo = s:cpo_save
unlet s:cpo_save
+1 -1
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Haml
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 Jun 01
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
+19 -3
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2016 Feb 04
" Last Change: 2016 Jun 20
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -150,7 +150,17 @@ func <SID>GetPage(...)
endwhile
endif
if &filetype != "man"
new
if exists("g:ft_man_open_mode")
if g:ft_man_open_mode == "vert"
vnew
elseif g:ft_man_open_mode == "tab"
tabnew
else
new
endif
else
new
endif
setl nonu fdc=0
endif
endif
@@ -160,10 +170,15 @@ func <SID>GetPage(...)
setl ma nonu nornu nofen
silent exec "norm 1GdG"
let unsetwidth = 0
if empty($MANWIDTH)
let $MANWIDTH = winwidth(0)
let unsetwidth = 1
endif
silent exec "r!/usr/bin/man ".s:GetCmdArg(sect, page)." | col -b"
if unsetwidth
let $MANWIDTH = ''
endif
" Remove blank lines from top and bottom.
while getline(1) =~ '^\s*$'
silent keepj norm ggdd
@@ -175,6 +190,7 @@ func <SID>GetPage(...)
setl ft=man nomod
setl bufhidden=hide
setl nobuflisted
setl noma
endfunc
func <SID>PopPage()
@@ -195,4 +211,4 @@ endfunc
endif
" vim: set sw=2:
" vim: set sw=2 ts=8 noet:
+30 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Markdown
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2013 May 30
" Last Change: 2016 Aug 29
if exists("b:did_ftplugin")
finish
@@ -11,7 +11,7 @@ runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:
if exists('b:undo_ftplugin')
let b:undo_ftplugin .= "|setl cms< com< fo< flp<"
@@ -19,4 +19,32 @@ else
let b:undo_ftplugin = "setl cms< com< fo< flp<"
endif
function! MarkdownFold()
let line = getline(v:lnum)
" Regular headers
let depth = match(line, '\(^#\+\)\@<=\( .*$\)\@=')
if depth > 0
return ">" . depth
endif
" Setext style headings
let nextline = getline(v:lnum + 1)
if (line =~ '^.\+$') && (nextline =~ '^=\+$')
return ">1"
endif
if (line =~ '^.\+$') && (nextline =~ '^-\+$')
return ">2"
endif
return "="
endfunction
if has("folding") && exists("g:markdown_folding")
setlocal foldexpr=MarkdownFold()
setlocal foldmethod=expr
let b:undo_ftplugin .= " foldexpr< foldmethod<"
endif
" vim:set sw=2:
+39 -16
View File
@@ -1,8 +1,9 @@
" Vim filetype plugin file
" Language: python
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2014 Feb 09
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
" Maintainer: James Sully <sullyj3@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Tue, 06 September 2016
" https://github.com/sullyj3/vim-ftplugin-python
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
@@ -21,32 +22,54 @@ setlocal omnifunc=pythoncomplete#Complete
set wildignore+=*.pyc
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
let b:next_toplevel='\v%$\|^(class\|def)>'
let b:prev_toplevel='\v^(class\|def)>'
let b:next='\v%$\|^\s*(class\|def)>'
let b:prev='\v^\s*(class\|def)>'
execute "nnoremap <silent> <buffer> ]] :call <SID>Python_jump('n', '". b:next_toplevel."', 'W')<cr>"
execute "nnoremap <silent> <buffer> [[ :call <SID>Python_jump('n', '". b:prev_toplevel."', 'Wb')<cr>"
execute "nnoremap <silent> <buffer> ]m :call <SID>Python_jump('n', '". b:next."', 'W')<cr>"
execute "nnoremap <silent> <buffer> [m :call <SID>Python_jump('n', '". b:prev."', 'Wb')<cr>"
execute "onoremap <silent> <buffer> ]] :call <SID>Python_jump('o', '". b:next_toplevel."', 'W')<cr>"
execute "onoremap <silent> <buffer> [[ :call <SID>Python_jump('o', '". b:prev_toplevel."', 'Wb')<cr>"
execute "onoremap <silent> <buffer> ]m :call <SID>Python_jump('o', '". b:next."', 'W')<cr>"
execute "onoremap <silent> <buffer> [m :call <SID>Python_jump('o', '". b:prev."', 'Wb')<cr>"
execute "xnoremap <silent> <buffer> ]] :call <SID>Python_jump('x', '". b:next_toplevel."', 'W')<cr>"
execute "xnoremap <silent> <buffer> [[ :call <SID>Python_jump('x', '". b:prev_toplevel."', 'Wb')<cr>"
execute "xnoremap <silent> <buffer> ]m :call <SID>Python_jump('x', '". b:next."', 'W')<cr>"
execute "xnoremap <silent> <buffer> [m :call <SID>Python_jump('x', '". b:prev."', 'Wb')<cr>"
if !exists('*<SID>Python_jump')
fun! <SID>Python_jump(motion) range
fun! <SID>Python_jump(mode, motion, flags) range
if a:mode == 'x'
normal! gv
endif
normal! 0
let cnt = v:count1
let save = @/ " save last search pattern
mark '
while cnt > 0
silent! exe a:motion
let cnt = cnt - 1
call search(a:motion, a:flags)
let cnt = cnt - 1
endwhile
call histdel('/', -1)
let @/ = save " restore last search pattern
normal! ^
endfun
endif
if has("browsefilter") && !exists("b:browsefilter")
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
\ "All Files (*.*)\t*.*\n"
\ "All Files (*.*)\t*.*\n"
endif
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
if !exists("g:python_recommended_style") || g:python_recommended_style != 0
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
endif
" First time: try finding "pydoc".
if !exists('g:pydoc_executable')
+13 -3
View File
@@ -1,9 +1,9 @@
" Vim filetype plugin file
" Language: R help file
" Language: R Markdown file
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Tue Apr 07, 2015 04:37PM
" Original work by Alex Zvoleff (adjusted for rmd by Michel Kuhlmann)
" Last Change: Mon Jun 06, 2016 09:41PM
" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann)
" Only do this when not yet done for this buffer
if exists("b:did_ftplugin")
@@ -12,6 +12,16 @@ endif
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
" Nvim-R plugin needs this
if exists("*CompleteR")
if &omnifunc == "CompleteR"
let b:rplugin_nonr_omnifunc = ""
else
let b:rplugin_nonr_omnifunc = &omnifunc
endif
set omnifunc=CompleteR
endif
setlocal comments=fb:*,fb:-,fb:+,n:> commentstring=>\ %s
setlocal formatoptions+=tcqln
setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+
+88 -63
View File
@@ -28,12 +28,13 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ ':' .
\ '\<\%(else\|elsif\|ensure\|when\|rescue\|break\|redo\|next\|retry\)\>' .
\ ':' .
\ '\<end\>' .
\ '\%(^\|[^.\:@$]\)\@<=\<end\:\@!\>' .
\ ',{:},\[:\],(:)'
let b:match_skip =
\ "synIDattr(synID(line('.'),col('.'),0),'name') =~ '" .
\ "\\<ruby\\%(String\\|StringDelimiter\\|ASCIICode\\|Escape\\|" .
\ "Regexp\\|RegexpDelimiter\\|" .
\ "Interpolation\\|NoInterpolation\\|Comment\\|Documentation\\|" .
\ "ConditionalModifier\\|RepeatModifier\\|OptionalDo\\|" .
\ "Function\\|BlockArgument\\|KeywordAsMethod\\|ClassVariable\\|" .
@@ -43,7 +44,7 @@ endif
setlocal formatoptions-=t formatoptions+=croql
setlocal include=^\\s*\\<\\(load\\>\\\|require\\>\\\|autoload\\s*:\\=[\"']\\=\\h\\w*[\"']\\=,\\)
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'\%(\.rb\)\=$','.rb','')
setlocal suffixesadd=.rb
if exists("&ofu") && has("ruby")
@@ -66,32 +67,32 @@ if !exists('g:ruby_version_paths')
let g:ruby_version_paths = {}
endif
function! s:query_path(root)
function! s:query_path(root) abort
let code = "print $:.join %q{,}"
if &shell =~# 'sh' && $PATH !~# '\s'
let prefix = 'env PATH='.$PATH.' '
if &shell =~# 'sh'
let prefix = 'env PATH='.shellescape($PATH).' '
else
let prefix = ''
endif
if &shellxquote == "'"
let path_check = prefix.'ruby -e "' . code . '"'
let path_check = prefix.'ruby --disable-gems -e "' . code . '"'
else
let path_check = prefix."ruby -e '" . code . "'"
let path_check = prefix."ruby --disable-gems -e '" . code . "'"
endif
let cd = haslocaldir() ? 'lcd' : 'cd'
let cwd = getcwd()
let cwd = fnameescape(getcwd())
try
exe cd fnameescape(a:root)
let path = split(system(path_check),',')
exe cd fnameescape(cwd)
exe cd cwd
return path
finally
exe cd fnameescape(cwd)
exe cd cwd
endtry
endfunction
function! s:build_path(path)
function! s:build_path(path) abort
let path = join(map(copy(a:path), 'v:val ==# "." ? "" : v:val'), ',')
if &g:path !~# '\v^\.%(,/%(usr|emx)/include)=,,$'
let path = substitute(&g:path,',,$',',','') . ',' . path
@@ -101,7 +102,7 @@ endfunction
if !exists('b:ruby_version') && !exists('g:ruby_path') && isdirectory(expand('%:p:h'))
let s:version_file = findfile('.ruby-version', '.;')
if !empty(s:version_file)
if !empty(s:version_file) && filereadable(s:version_file)
let b:ruby_version = get(readfile(s:version_file, '', 1), '')
if !has_key(g:ruby_version_paths, b:ruby_version)
let g:ruby_version_paths[b:ruby_version] = s:query_path(fnamemodify(s:version_file, ':p:h'))
@@ -135,7 +136,7 @@ if exists('s:ruby_paths') && stridx(&l:tags, join(map(copy(s:ruby_paths),'v:val.
let &l:tags = &tags . ',' . join(map(copy(s:ruby_paths),'v:val."/tags"'),',')
endif
if has("gui_win32") && !exists("b:browsefilter")
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Ruby Source Files (*.rb)\t*.rb\n" .
\ "All Files (*.*)\t*.*\n"
endif
@@ -145,7 +146,22 @@ let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< tags< kp<"
\."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
\."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
function! s:map(mode, flags, map) abort
let from = matchstr(a:map, '\S\+')
if empty(mapcheck(from, a:mode))
exe a:mode.'map' '<buffer>'.(a:0 ? a:1 : '') a:map
let b:undo_ftplugin .= '|sil! '.a:mode.'unmap <buffer> '.from
endif
endfunction
cmap <buffer><script><expr> <Plug><cword> substitute(RubyCursorIdentifier(),'^$',"\022\027",'')
cmap <buffer><script><expr> <Plug><cfile> substitute(RubyCursorFile(),'^$',"\022\006",'')
let b:undo_ftplugin .= "| sil! cunmap <buffer> <Plug><cword>| sil! cunmap <buffer> <Plug><cfile>"
if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
nmap <buffer><script> <SID>: :<C-U>
nmap <buffer><script> <SID>c: :<C-U><C-R>=v:count ? v:count : ''<CR>
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','n')<CR>
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','n')<CR>
nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','n')<CR>
@@ -168,7 +184,7 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
\."| sil! exe 'unmap <buffer> [[' | sil! exe 'unmap <buffer> ]]' | sil! exe 'unmap <buffer> []' | sil! exe 'unmap <buffer> ]['"
\."| sil! exe 'unmap <buffer> [m' | sil! exe 'unmap <buffer> ]m' | sil! exe 'unmap <buffer> [M' | sil! exe 'unmap <buffer> ]M'"
if maparg('im','n') == ''
if maparg('im','x') == '' && maparg('im','o') == '' && maparg('am','x') == '' && maparg('am','o') == ''
onoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
onoremap <silent> <buffer> am :<C-U>call <SID>wrap_a('[m',']M')<CR>
xnoremap <silent> <buffer> im :<C-U>call <SID>wrap_i('[m',']M')<CR>
@@ -178,7 +194,7 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
\."| sil! exe 'xunmap <buffer> im' | sil! exe 'xunmap <buffer> am'"
endif
if maparg('iM','n') == ''
if maparg('iM','x') == '' && maparg('iM','o') == '' && maparg('aM','x') == '' && maparg('aM','o') == ''
onoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
onoremap <silent> <buffer> aM :<C-U>call <SID>wrap_a('[[','][')<CR>
xnoremap <silent> <buffer> iM :<C-U>call <SID>wrap_i('[[','][')<CR>
@@ -188,33 +204,24 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
\."| sil! exe 'xunmap <buffer> iM' | sil! exe 'xunmap <buffer> aM'"
endif
if maparg("\<C-]>",'n') == ''
nnoremap <silent> <buffer> <C-]> :<C-U>exe v:count1."tag <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> g<C-]> :<C-U>exe "tjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> g] :<C-U>exe "tselect <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W>] :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W><C-]> :<C-U>exe v:count1."stag <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W>g<C-]> :<C-U>exe "stjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W>g] :<C-U>exe "stselect <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W>} :<C-U>exe "ptag <C-R>=RubyCursorIdentifier()<CR>"<CR>
nnoremap <silent> <buffer> <C-W>g} :<C-U>exe "ptjump <C-R>=RubyCursorIdentifier()<CR>"<CR>
let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'nunmap <buffer> <C-]>'| sil! exe 'nunmap <buffer> g<C-]>'| sil! exe 'nunmap <buffer> g]'"
\."| sil! exe 'nunmap <buffer> <C-W>]'| sil! exe 'nunmap <buffer> <C-W><C-]>'"
\."| sil! exe 'nunmap <buffer> <C-W>g<C-]>'| sil! exe 'nunmap <buffer> <C-W>g]'"
\."| sil! exe 'nunmap <buffer> <C-W>}'| sil! exe 'nunmap <buffer> <C-W>g}'"
endif
call s:map('c', '', '<C-R><C-W> <Plug><cword>')
call s:map('c', '', '<C-R><C-F> <Plug><cfile>')
if maparg("gf",'n') == ''
" By using findfile() rather than gf's normal behavior, we prevent
" erroneously editing a directory.
nnoremap <silent> <buffer> gf :<C-U>exe <SID>gf(v:count1,"gf",'edit')<CR>
nnoremap <silent> <buffer> <C-W>f :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>f",'split')<CR>
nnoremap <silent> <buffer> <C-W><C-F> :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>\<Lt>C-F>",'split')<CR>
nnoremap <silent> <buffer> <C-W>gf :<C-U>exe <SID>gf(v:count1,"\<Lt>C-W>gf",'tabedit')<CR>
let b:undo_ftplugin = b:undo_ftplugin
\."| sil! exe 'nunmap <buffer> gf' | sil! exe 'nunmap <buffer> <C-W>f' | sil! exe 'nunmap <buffer> <C-W><C-F>' | sil! exe 'nunmap <buffer> <C-W>gf'"
endif
cmap <buffer><script><expr> <SID>tagzv &foldopen =~# 'tag' ? '<Bar>norm! zv' : ''
call s:map('n', '<silent>', '<C-]> <SID>:exe v:count1."tag <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', 'g<C-]> <SID>:exe "tjump <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', 'g] <SID>:exe "tselect <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>] <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W><C-]> <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>g<C-]> <SID>:exe "stjump <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>g] <SID>:exe "stselect <Plug><cword>"<SID>tagzv<CR>')
call s:map('n', '<silent>', '<C-W>} <SID>:exe v:count1."ptag <Plug><cword>"<CR>')
call s:map('n', '<silent>', '<C-W>g} <SID>:exe "ptjump <Plug><cword>"<CR>')
call s:map('n', '<silent>', 'gf <SID>c:find <Plug><cfile><CR>')
call s:map('n', '<silent>', '<C-W>f <SID>c:sfind <Plug><cfile><CR>')
call s:map('n', '<silent>', '<C-W><C-F> <SID>c:sfind <Plug><cfile><CR>')
call s:map('n', '<silent>', '<C-W>gf <SID>c:tabfind <Plug><cfile><CR>')
endif
let &cpo = s:cpo_save
@@ -225,7 +232,7 @@ if exists("g:did_ruby_ftplugin_functions")
endif
let g:did_ruby_ftplugin_functions = 1
function! RubyBalloonexpr()
function! RubyBalloonexpr() abort
if !exists('s:ri_found')
let s:ri_found = executable('ri')
endif
@@ -274,13 +281,13 @@ function! RubyBalloonexpr()
endif
endfunction
function! s:searchsyn(pattern,syn,flags,mode)
function! s:searchsyn(pattern, syn, flags, mode) abort
let cnt = v:count1
norm! m'
if a:mode ==# 'v'
norm! gv
endif
let i = 0
let cnt = v:count ? v:count : 1
while i < cnt
let i = i + 1
let line = line('.')
@@ -296,11 +303,11 @@ function! s:searchsyn(pattern,syn,flags,mode)
endwhile
endfunction
function! s:synname()
function! s:synname() abort
return synIDattr(synID(line('.'),col('.'),0),'name')
endfunction
function! s:wrap_i(back,forward)
function! s:wrap_i(back,forward) abort
execute 'norm k'.a:forward
let line = line('.')
execute 'norm '.a:back
@@ -310,7 +317,7 @@ function! s:wrap_i(back,forward)
execute 'norm jV'.a:forward.'k'
endfunction
function! s:wrap_a(back,forward)
function! s:wrap_a(back,forward) abort
execute 'norm '.a:forward
if line('.') < line('$') && getline(line('.')+1) ==# ''
let after = 1
@@ -328,37 +335,55 @@ function! s:wrap_a(back,forward)
endif
endfunction
function! RubyCursorIdentifier()
function! RubyCursorIdentifier() abort
let asciicode = '\%(\w\|[]})\"'."'".']\)\@<!\%(?\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\=\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)\)'
let number = '\%(\%(\w\|[]})\"'."'".']\s*\)\@<!-\)\=\%(\<[[:digit:]_]\+\%(\.[[:digit:]_]\+\)\=\%([Ee][[:digit:]_]\+\)\=\>\|\<0[xXbBoOdD][[:xdigit:]_]\+\>\)\|'.asciicode
let operator = '\%(\[\]\|<<\|<=>\|[!<>]=\=\|===\=\|[!=]\~\|>>\|\*\*\|\.\.\.\=\|=>\|[~^&|*/%+-]\)'
let method = '\%(\<[_a-zA-Z]\w*\>\%([?!]\|\s*=>\@!\)\=\)'
let method = '\%(\.[_a-zA-Z]\w*\s*=>\@!\|\<[_a-zA-Z]\w*\>[?!]\=\)'
let global = '$\%([!$&"'."'".'*+,./:;<=>?@\`~]\|-\=\w\+\>\)'
let symbolizable = '\%(\%(@@\=\)\w\+\>\|'.global.'\|'.method.'\|'.operator.'\)'
let pattern = '\C\s*\%('.number.'\|\%(:\@<!:\)\='.symbolizable.'\)'
let [lnum, col] = searchpos(pattern,'bcn',line('.'))
let raw = matchstr(getline('.')[col-1 : ],pattern)
let stripped = substitute(substitute(raw,'\s\+=$','=',''),'^\s*:\=','','')
let stripped = substitute(substitute(raw,'\s\+=$','=',''),'^\s*[:.]\=','','')
return stripped == '' ? expand("<cword>") : stripped
endfunction
function! s:gf(count,map,edit) abort
if getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
return a:edit.' %:h/'.target.'.rb'
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
let target = matchstr(getline('.'),'\(["'']\)\.\./\zs.\{-\}\ze\1')
return a:edit.' %:h/'.target.'.rb'
function! RubyCursorFile() abort
let isfname = &isfname
try
set isfname+=:
let cfile = expand('<cfile>')
finally
let isfname = &isfname
endtry
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
let ext = getline('.') =~# '^\s*\%(require\%(_relative\)\=\|autoload\)\>' && cfile !~# '\.rb$' ? '.rb' : ''
if s:synname() ==# 'rubyConstant'
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
let cfile = substitute(cfile,'::','/','g')
let cfile = substitute(cfile,'\(\u\+\)\(\u\l\)','\1_\2', 'g')
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
return tolower(cfile) . '.rb'
elseif getline('.') =~# '^\s*require_relative\s*\(["'']\).*\1\s*$'
let cfile = expand('%:p:h') . '/' . matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
elseif getline('.') =~# '^\s*\%(require[( ]\|load[( ]\|autoload[( ]:\w\+,\)\s*\%(::\)\=File\.expand_path(\(["'']\)\.\./.*\1,\s*__FILE__)\s*$'
let target = matchstr(getline('.'),'\(["'']\)\.\.\zs/.\{-\}\ze\1')
let cfile = expand('%:p:h') . target . ext
elseif getline('.') =~# '^\s*\%(require \|load \|autoload :\w\+,\)\s*\(["'']\).*\1\s*$'
let target = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1')
let cfile = matchstr(getline('.'),'\(["'']\)\zs.\{-\}\ze\1') . ext
elseif pre.post =~# '\<File.expand_path[( ].*[''"]\{2\}, *__FILE__\>' && cfile =~# '^\.\.'
let cfile = expand('%:p:h') . strpart(cfile, 2)
else
let target = expand('<cfile>')
return substitute(cfile, '\C\v^(.*):(\d+)%(:in)=$', '+\2 \1', '')
endif
let found = findfile(target, &path, a:count)
if found ==# ''
return 'norm! '.a:count.a:map
let cwdpat = '^\M' . substitute(getcwd(), '[\/]', '\\[\\/]', 'g').'\ze\[\/]'
let cfile = substitute(cfile, cwdpat, '.', '')
if fnameescape(cfile) !=# cfile
return '+ '.fnameescape(cfile)
else
return a:edit.' '.fnameescape(found)
return cfile
endif
endfunction
+3 -2
View File
@@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Jul 26
" Last Change: 2016 Aug 29
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -9,8 +9,9 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setl cms< def< inc< inex< ofu< sua<"
let b:undo_ftplugin = "setl com< cms< def< inc< inex< ofu< sua<"
setlocal comments=://
setlocal commentstring=//\ %s
setlocal define=^\\s*\\%(@mixin\\\|=\\)
setlocal includeexpr=substitute(v:fname,'\\%(.*/\\\|^\\)\\zs','_','')
+35
View File
@@ -0,0 +1,35 @@
" Vim filetype plugin file
" Language: Scala
" Maintainer: Derek Wyatt
" URL: https://github.com/derekwyatt/vim-scala
" License: Same as Vim
" Last Change: 02 August 2016
" ----------------------------------------------------------------------------
if exists('b:did_ftplugin') || &cp
finish
endif
let b:did_ftplugin = 1
" j is fairly new in Vim, so don't complain if it's not there
setlocal formatoptions-=t formatoptions+=croqnl
silent! setlocal formatoptions+=j
" Just like c.vim, but additionally doesn't wrap text onto /** line when
" formatting. Doesn't bungle bulleted lists when formatting.
if get(g:, 'scala_scaladoc_indent', 0)
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s2:/**,mb:*,ex:*/,s1:/*,mb:*,ex:*/,://
else
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/**,mb:*,ex:*/,s1:/*,mb:*,ex:*/,://
endif
setlocal commentstring=//\ %s
setlocal shiftwidth=2 softtabstop=2 expandtab
setlocal include='^\s*import'
setlocal includeexpr='substitute(v:fname,"\\.","/","g")'
setlocal path+=src/main/scala,src/test/scala
setlocal suffixesadd=.scala
" vim:set sw=2 sts=2 ts=8 et:
+2 -1
View File
@@ -1,12 +1,13 @@
" Vim filetype plugin
" Language: SCSS
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Jul 26
" Last Change: 2016 Aug 29
if exists("b:did_ftplugin")
finish
endif
runtime! ftplugin/sass.vim
setlocal comments=s1:/*,mb:*,ex:*/,://
" vim:set sw=2:
+9 -9
View File
@@ -36,10 +36,11 @@ except ImportError:
else:
specfile = vim.current.buffer.name
if specfile:
rpm.delMacro("dist")
spec = rpm.spec(specfile)
headers = spec.packages[0].header
version = headers['Version']
release = ".".join(headers['Release'].split(".")[:-1])
headers = spec.sourceHeader
version = headers["Version"]
release = headers["Release"]
vim.command("let ver = " + version)
vim.command("let rel = " + release)
PYEND
@@ -113,7 +114,10 @@ if !exists("*s:SpecChangelog")
endif
endif
if (chgline != -1)
let tmptime = v:lc_time
language time C
let parsed_format = "* ".strftime(format)." - ".ver."-".rel
execute "language time" tmptime
let release_info = "+ ".name."-".ver."-".rel
let wrong_format = 0
let wrong_release = 0
@@ -179,12 +183,8 @@ if !exists("*s:ParseRpmVars")
endif
let varname = strpart(a:str, start+2, end-(start+2))
execute a:strline
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
let definestr = "^[ \t]*%(?:global|define)[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
let linenum = search(definestr, "bW")
if (linenum == 0)
let definestr = substitute(definestr, "%define", "%global", "")
let linenum = search(definestr, "bW")
endif
if (linenum != -1)
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
else
@@ -201,7 +201,7 @@ endif
let b:match_ignorecase = 0
let b:match_words =
\ '^Name:^%description:^%clean:^%setup:^%build:^%install:^%files:' .
\ '^Name:^%description:^%clean:^%(?:auto)?setup:^%build:^%install:^%files:' .
\ '^%package:^%preun:^%postun:^%changelog'
let &cpo = s:cpo_save
+1
View File
@@ -74,6 +74,7 @@ TryExec=gvim
Exec=gvim -f %F
Terminal=false
Type=Application
Keywords=Text;editor;
Icon=gvim
Categories=Utility;TextEditor;
StartupNotify=true
+3 -8
View File
@@ -1,8 +1,9 @@
" An example for a gvimrc file.
" The commands in this are executed when the GUI is started.
" The commands in this are executed when the GUI is started, after the vimrc
" has been executed.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2001 Sep 02
" Last change: 2016 Apr 05
"
" To use it, copy it to
" for Unix and OS/2: ~/.gvimrc
@@ -27,17 +28,11 @@ map! <S-Insert> <MiddleMouse>
" Only do this for Vim version 5.0 and later.
if version >= 500
" I like highlighting strings inside C comments
let c_comment_strings=1
" Switch on syntax highlighting if it wasn't on yet.
if !exists("syntax_on")
syntax on
endif
" Switch on search pattern highlighting.
set hlsearch
" For Win32 version, have "K" lookup the keyword in a help file
"if has("win32")
" let winhelpfile='windows.hlp'

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