Compare commits

...

278 Commits

Author SHA1 Message Date
975a880a13 patch 8.2.0916: mapping with partly modifyOtherKeys code does not work
Problem:    Mapping with partly modifyOtherKeys code does not work.
Solution:   If there is no mapping with a separate modifier include the
            modifier in the key and then try mapping again. (closes #6200)
2020-06-06 22:36:24 +02:00
adc17a5f9d patch 8.2.0915: search() cannot skip over matches like searchpair() can
Problem:    Search() cannot skip over matches like searchpair() can.
Solution:   Add an optional "skip" argument. (Christian Brabandt, closes #861)
2020-06-06 18:37:51 +02:00
d8df304c59 patch 8.2.0914: MS-Windows: cannot specify a "modified by" text
Problem:    MS-Windows: cannot specify a "modified by" text.
Solution:   Add MODIFIED_BY in the MSVC build file.  (Chen Lei, closes #1275)
2020-06-06 16:18:46 +02:00
439c036ed0 patch 8.2.0913: code for resetting v:register is duplicated
Problem:    Code for resetting v:register is duplicated.
Solution:   Add reset_reg_var().
2020-06-06 15:58:03 +02:00
11f1ffd182 patch 8.2.0912: a few test cases for CJK formatting are disabled
Problem:    A few test cases for CJK formatting are disabled.
Solution:   Fix the tests and enable them. (closes #6212)
2020-06-06 15:23:26 +02:00
9b7cce28d5 patch 8.2.0911: crash when opening a buffer for the cmdline window fails
Problem:    Crash when opening a buffer for the cmdline window fails. (Chris
            Barber)
Solution:   Check do_ecmd() succeeds.  Reset got_int if "q" was used at the
            more prompt. (closes #6211)
2020-06-06 15:14:08 +02:00
87fda407f8 Also fix the patch number. 2020-06-06 13:25:31 +02:00
fe712ced6e Fix duplicated code that only appears in git. 2020-06-06 13:17:59 +02:00
8f1dde5021 patch 8.2.0910: Vim is not reproducibly buildable
Problem:    Vim is not reproducibly buildable.
Solution:   Use the $SOURCE_DATE_EPOCH environment variable in configure.
            (James McCoy, closes #513)  Give a warning about using it.
2020-06-05 23:16:29 +02:00
002bc79991 patch 8.2.0909: cannot go back to the previous local directory
Problem:    Cannot go back to the previous local directory.
Solution:   Add "tcd -" and "lcd -". (Yegappan Lakshmanan, closes #4362)
2020-06-05 22:33:42 +02:00
3fffa97159 patch 8.2.0908: crash when changing the function table while listing it
Problem:    Crash when changing the function table while listing it.
Solution:   Bail out when the function table changes. (closes #6209)
2020-06-05 21:06:10 +02:00
07188fc5ef patch 8.2.0907: when using :global clipboard isn't set correctly
Problem:    When using :global clipboard isn't set correctly.
Solution:   Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian
            Brabandt, closes #6203, closes #6198)
2020-06-05 20:03:16 +02:00
ea563cc22b patch 8.2.0906: when setting 'termguicolors' SpellBad is no longer red
Problem:    When setting 'termguicolors' SpellBad is no longer red.
Solution:   Only use the RGB guisp color for cterm when using the "underline"
            or "undercurl" attributes to avoid the background color to be
            cleared. Also make t_8u empty when the termresponse indicates a
            real xterm. (closes #6207)
2020-06-05 19:36:57 +02:00
e0c3c3d6cb patch 8.2.0905: test coverage could be better
Problem:    Test coverage could be better.
Solution:   Add a couple of tests. (Dominique Pelle, closes #6202)
2020-06-04 22:46:04 +02:00
46cd43bda1 patch 8.2.0904: assuming modifyOtherKeys for rhs of mapping
Problem:    Assuming modifyOtherKeys for rhs of mapping.
Solution:   Ignore seenModifyOtherKeys for mapped characters. (closes #6200)
2020-06-04 22:22:11 +02:00
852ea366d6 patch 8.2.0903: comparing WINVER does not work correctly
Problem:    comparing WINVER does not work correctly.
Solution:   Use arithmethic expansion. (Ozaki Kiichi, closes #6197)
2020-06-04 21:32:49 +02:00
442a85369f patch 8.2.0902: using searchcount() in 'statusline' causes an error
Problem:    Using searchcount() in 'statusline' causes an error.
Solution:   Avoid saving/restoring the search patten recursively.
            (closes #6194)
2020-06-04 20:56:09 +02:00
e52702f003 patch 8.2.0901: formatting CJK text isn't optimal
Problem:    Formatting CJK text isn't optimal.
Solution:   Properly break CJK lines. (closes #3875)
2020-06-04 18:22:13 +02:00
9155825b24 patch 8.2.0900: function list test fails on MS-Windows
Problem:    Function list test fails on MS-Windows.
Solution:   Make sure the fileformat is "unix"
2020-06-04 17:19:05 +02:00
30cc44a97f patch 8.2.0899: assert_equalfile() does not give a hint about the difference
Problem:    Assert_equalfile() does not give a hint about the difference.
Solution:   Display the last seen text.
2020-06-04 16:52:40 +02:00
6b0e528368 patch 8.2.0898: missing help for a function goes unnoticed
Problem:    Missing help for a function goes unnoticed.
Solution:   Add a test. (Gary Johnson)
2020-06-04 15:52:25 +02:00
ebacddbc16 patch 8.2.0897: list of functions in patched version is outdated
Problem:    List of functions in patched version is outdated.
Solution:   Update the function lists only.
2020-06-04 15:22:21 +02:00
14681627f3 patch 8.2.0896: crash when calling searchcount() with a string
Problem:    Crash when calling searchcount() with a string.
Solution:   Check the argument is a dict. (closes #6192)
2020-06-03 22:57:39 +02:00
408c23b079 patch 8.2.0895: :mkspell output does not mention the tree type
Problem:    :mkspell output does not mention the tree type.
Solution:   Back out increasing the limits, it has no effect.  Mention the
            tree being compressed.  Only give a message once per second.
2020-06-03 22:15:45 +02:00
59f88fbf24 patch 8.2.0894: :mkspell can take very long if the word count is high
Problem:    :mkspell can take very long if the word count is high.
Solution:   Use long to avoid negative numbers.  Increase the limits by 20% if
            the compression did not have effect.
2020-06-03 20:51:11 +02:00
fb517bac23 patch 8.2.0893: assert_equalfile() does not take a third argument
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)
2020-06-03 19:55:35 +02:00
c5acc0f7fe patch 8.2.0892: ubsan warns for undefined behavior
Problem:    Ubsan warns for undefined behavior.
Solution:   Use unsigned instead of signed variable. (Dominique Pelle,
            closes #6193)
2020-06-03 18:55:38 +02:00
cc836556d9 patch 8.2.0891: clang warns for invalid conversion
Problem:    Clang warns for invalid conversion.
Solution:   Use zero instead of INVALCOLOR.
2020-06-03 10:04:49 +02:00
1e5f8f6d65 patch 8.2.0890: no color in terminal window when 'termguicolor' is set
Problem:    No color in terminal window when 'termguicolor' is set.
Solution:   Clear the underline color. (closes #6186)
2020-06-02 23:18:24 +02:00
791fb1bcda patch 8.2.0889: using old style comments
Problem:    Using old style comments.
Solution:   Use // comments. (Yegappan Lakshmanan, closes #6190)
2020-06-02 22:24:36 +02:00
441d60efd8 patch 8.2.0888: readdirex() returns size -2 for a directory
Problem:    Readdirex() returns size -2 for a directory.
Solution:   Add missing "else". (Ken Takata, closes #6185)
2020-06-02 22:19:50 +02:00
57f75a5a36 patch 8.2.0887: searchcount().exact_match is 1 right after a match
Problem:    Searchcount().exact_match is 1 right after a match.
Solution:   Use LT_POS() instead of LTOREQ_POS(). (closes #6189)
2020-06-02 22:06:21 +02:00
c17e66c5c0 patch 8.2.0886: cannot use octal numbers in scriptversion 4
Problem:    Cannot use octal numbers in scriptversion 4.
Solution:   Add the "0o" notation. (Ken Takata, closes #5304)
2020-06-02 21:38:22 +02:00
3ac498c8a1 patch 8.2.0885: "make shadow" does not link new lua test dir
Problem:    "make shadow" does not link new lua test dir.
Solution:   Also link testdir/testluaplugin. (Elimar Riesebieter)
2020-06-02 20:25:36 +02:00
ea6561af92 patch 8.2.0884: searchcount() test fails on slower systems
Problem:    Searchcount() test fails on slower systems.
Solution:   Set a longer timeout.
2020-06-01 21:32:45 +02:00
5fbf3bc3f9 patch 8.2.0883: memory leak in test 49
Problem:    Memory leak in test 49.
Solution:   Free "sfile" from the exception.
2020-06-01 21:13:11 +02:00
48b1c21809 patch 8.2.0882: leaking memory when using reduce()
Problem:    Leaking memory when using reduce().
Solution:   Free the intermediate value.
2020-06-01 20:11:02 +02:00
d6a77f95ee patch 8.2.0881: compiler warning for argument type
Problem:    Compiler warning for argument type.
Solution:   Add type cast. (Mike Williams)
2020-06-01 19:14:12 +02:00
109aece79d patch 8.2.0880: leaking memory when using searchcount()
Problem:    Leaking memory when using searchcount().
Solution:   Free the last used search pattern.
2020-06-01 19:08:54 +02:00
f9ca08e95f patch 8.2.0879: compiler warning for unused function argument
Problem:    Compiler warning for unused function argument.
Solution:   Add UNUSED.
2020-06-01 18:56:03 +02:00
85629985b7 patch 8.2.0878: no reduce() function
Problem:    No reduce() function.
Solution:   Add a reduce() function. (closes #5481)
2020-06-01 18:39:20 +02:00
e8f5ec0d30 patch 8.2.0877: cannot get the search statistics
Problem:    Cannot get the search statistics.
Solution:   Add the searchcount() function. (Fujiwara Takuya, closes #4446)
2020-06-01 17:28:35 +02:00
950587242c patch 8.2.0876: :pwd does not give a hint about the scope of the directory
Problem:    :pwd does not give a hint about the scope of the directory
Solution:   Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes #5469)
2020-06-01 16:26:19 +02:00
6c9ba04280 patch 8.2.0875: getting attributes for directory entries is slow
Problem:    Getting attributes for directory entries is slow.
Solution:   Add readdirex(). (Ken Takata, closes #5619)
2020-06-01 16:09:41 +02:00
d14fd5285e patch 8.2.0874: signals test is a bit flaky
Problem:    Signals test is a bit flaky.
Solution:   Flush the XautoOut file.  Delete files that may be left behind
            from a failure. (Dominique Pelle, closes #6179)
2020-06-01 15:05:19 +02:00
2891459b81 patch 8.2.0873: a .jl file can be sawfish (lisp) or Julia
Problem:    A .jl file can be sawfish (lisp) or Julia.
Solution:   Do not recognize *.jl as lisp, since it might be Julia.
            (closes #6178)
2020-06-01 14:43:59 +02:00
f15c8b6eb3 patch 8.2.0872: XIM code is mixed with multi-byte code
Problem:    XIM code is mixed with multi-byte code.
Solution:   Move the XIM code to a separate file. (Yegappan Lakshmanan,
            closes #6177)
2020-06-01 14:34:43 +02:00
f17e7ea67a patch 8.2.0871: cannot use getmarklist() as a method
Problem:    Cannot use getmarklist() as a method.
Solution:   Make getmarklist() work as a method.  Add one to the column
            number to match getpos(). (Yegappan Lakshmanan, closes #6176)
2020-06-01 14:14:44 +02:00
ad772a63ec patch 8.2.0870: MS-Windows: Control keys don't work in the GUI
Problem:    MS-Windows: Control keys don't work in the GUI.
Solution:   Don't set seenModifyOtherKeys for now. (Yasuhiro Matsumoto,
            closes #6175)
2020-06-01 14:07:49 +02:00
858ba06d5f patch 8.2.0869: it is not possible to customize the quickfix window contents
Problem:    It is not possible to customize the quickfix window contents.
Solution:   Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes #5465)
2020-05-31 23:11:59 +02:00
2245ae18e3 patch 8.2.0868: trim() always trims both ends
Problem:    trim() always trims both ends.
Solution:   Add an argument to only trim the beginning or end. (Yegappan
            Lakshmanan, closes #6126)
2020-05-31 22:20:36 +02:00
fccd93f091 patch 8.2.0867: using \{xxx} for encoding a modifier is not nice
Problem:    Using \{xxx} for encoding a modifier is not nice.
Solution:   Use \<*xxx> instead, since it's the same as \<xxx> but producing a
            different code.
2020-05-31 22:06:51 +02:00
494e9069cb patch 8.2.0866: not enough tests for buffer writing
Problem:    Not enough tests for buffer writing.
Solution:   Add more tests. Use CheckRunVimInTerminal in more places.
            (Yegappan Lakshmanan, closes #6167)
2020-05-31 21:28:02 +02:00
e35a52aee7 patch 8.2.0865: syntax foldlevel is taken from the start of the line
Problem:    Syntax foldlevel is taken from the start of the line.
Solution:   Add ":syn foldlevel" to be able to use the minimal foldlevel in
            the line. (Brad King, closes #6087)
2020-05-31 19:48:53 +02:00
d881b516da patch 8.2.0864: pragmas are indented all the way to the left
Problem:    Pragmas are indented all the way to the left.
Solution:   Add an option to indent progmas like normal code. (Max Rumpf,
            closes #5468)
2020-05-31 17:49:30 +02:00
e023e88bed patch 8.2.0863: cannot set a separate color for underline/undercurl
Problem:    Cannot set a separate color for underline/undercurl.
Solution:   Add the t_AU and t_8u termcap codes. (Timur Celik, closes #6011)
2020-05-31 16:42:30 +02:00
b10090928c patch 8.2.0862: ":term ++curwin" makes the current buffer hidden
Problem:    ":term ++curwin" makes the current buffer hidden. (Harm te
            Hennepe)
Solution:   Do not hide the current buffer. (closes #6170)
2020-05-31 16:04:42 +02:00
cfb4b47de0 patch 8.2.0861: cannot easily get all the current marks
Problem:    Cannot easily get all the current marks.
Solution:   Add getmarklist(). (Yegappan Lakshmanan, closes #6032)
2020-05-31 15:41:57 +02:00
aaad995f83 patch 8.2.0860: cannot use CTRL-A and CTRL-X on unsigned numbers
Problem:    Cannot use CTRL-A and CTRL-X on unsigned numbers.
Solution:   Add "unsigned" to 'nrformats'. (Naruhiko Nishino, closes #6144)
2020-05-31 15:08:59 +02:00
f09715bc5c patch 8.2.0859: no Turkish translation of the manual
Problem:    No Turkish translation of the manual.
Solution:   Add Turkish translations. (Emir Sarı, closes #5641)
2020-05-31 14:25:22 +02:00
788fbb4707 patch 8.2.0858: not easy to require Lua modules
Problem:    Not easy to require Lua modules.
Solution:   Improve use of Lua path. (Prabir Shrestha, closes #6098)
2020-05-31 14:08:12 +02:00
5cd1cb9ff9 patch 8.2.0857: GTK cell height can be a pixel too much
Problem:    GTK cell height can be a pixel too much.
Solution:   Subtract 3 instead of 1 when rounding. (closes #6168)
2020-05-31 13:53:04 +02:00
928eec649b patch 8.2.0856: CTRL-S stops output
Problem:    CTRL-S stops output.
Solution:   Invert the IXON flag. (closes #6166)
2020-05-31 13:09:47 +02:00
ebe9d34aa0 patch 8.2.0855: GUI tests fail because the test doesn't use a modifier
Problem:    GUI tests fail because the test doesn't use a modifier.
Solution:   Add "\{xxx}" to be able to encode a modifier.
2020-05-30 21:52:54 +02:00
363d6148df patch 8.2.0854: xxd cannot show offset as a decimal number
Problem:    Xxd cannot show offset as a decimal number.
Solution:   Add the "-d" flag. (Aapo Rantalainen, closes #5616
2020-05-30 20:50:25 +02:00
ca70c07b72 patch 8.2.0853: ml_delete() often called with FALSE argument
Problem:    ml_delete() often called with FALSE argument.
Solution:   Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE.
2020-05-30 20:30:46 +02:00
d6cd5ffade patch 8.2.0852: cannot map CTRL-S on some systems
Problem:    Cannot map CTRL-S on some systems.
Solution:   Do not use CTRL-S for flow control.
2020-05-30 20:05:02 +02:00
f4ae6b245a patch 8.2.0851: can't distinguish <M-a> from accented "a" in the GUI
Problem:    Can't distinguish <M-a> from accented "a" in the GUI.
Solution:   Use another way to make mapping <C-bslash> work. (closes #6163)
2020-05-30 19:52:46 +02:00
95da136142 patch 8.2.0850: MS-Windows: exepath() works different from cmd.exe
Problem:    MS-Windows: exepath() works different from cmd.exe.
Solution:   Make exepath() work better on MS-Windows. (closes #6115)
2020-05-30 18:37:55 +02:00
041c7107f2 patch 8.2.0849: BeOS code is not maintained and probably unused
Problem:    BeOS code is not maintained and probably unused.
Solution:   Remove the BeOS code. (Emir Sari, closes #5817)
2020-05-30 18:14:57 +02:00
06b7b58455 patch 8.2.0848: MS-Windows: the Windows terminal code has some flaws
Problem:    MS-Windows: the Windows terminal code has some flaws.
Solution:   Do not redraw the right edge of the screen.  Remove the background
            color trick.  Flush the screen output buffer often.  (Nobuhiro
            Takasaki, #5546)
2020-05-30 17:49:25 +02:00
367d59e6ba patch 8.2.0847: typval related code is spread out
Problem:    Typval related code is spread out.
Solution:   Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093)
2020-05-30 17:06:14 +02:00
d5c2c7763d patch 8.2.0846: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2020-05-30 16:17:33 +02:00
87be9be1db patch 8.2.0845: text properties crossing lines not handled correctly
Problem:    Text properties crossing lines not handled correctly.
Solution:   When joining lines merge text properties if possible.
            (Axel Forsman, closes #5839, closes #5683)
2020-05-30 15:32:02 +02:00
a9d4b84d97 patch 8.2.0844: text properties crossing lines not handled correctly
Problem:    Text properties crossing lines not handled correctly.
Solution:   When saving for undo include an extra line when needed and do not
            adjust properties when undoing. (Axel Forsman, closes #5875)
2020-05-30 14:46:52 +02:00
0016fd2e29 patch 8.2.0843: filetype elm not detected
Problem:    Filetype elm not detected.
Solution:   Recognize *.elm files. (closes #6157)
2020-05-30 13:15:14 +02:00
208534d9ae patch 8.2.0842: MS-Windows: channel tests fail
Problem:    MS-Windows: channel tests fail.
Solution:   Adjust #ifdefs. (closes #6162)
2020-05-30 13:07:39 +02:00
823654bc06 patch 8.2.0841: 'verbose' value 16 causes duplicate output
Problem:    'verbose' value 16 causes duplicate output.
Solution:   Combine levels 15 and 16 into one message. (Christian Brabandt,
            closes #6153)
2020-05-29 23:03:09 +02:00
6cb0726215 patch 8.2.0840: search match count wrong when only match is in fold
Problem:    Search match count wrong when only match is in fold.
Solution:   Update search stats when in a closed fold. (Christian Brabandt,
            closes #6160, closes #6152)
2020-05-29 22:49:43 +02:00
b42c0d5427 patch 8.2.0839: dropping modifier when putting a character back in typeahead
Problem:    Dropping modifier when putting a character back in typeahead.
Solution:   Add modifier to ins_char_typebuf(). (closes #6158)
2020-05-29 22:41:41 +02:00
09307e3bc1 patch 8.2.0838: MS-Windows: compiler warning for uninitialized variables
Problem:    MS-Windows: compiler warning for uninitialized variables.
Solution:   Initialize variables.
2020-05-29 21:42:55 +02:00
b60db8ba14 patch 8.2.0837: compiler warning for value set but not used
Problem:    Compiler warning for value set but not used.
Solution:   Move variable inside #ifdef.
2020-05-29 21:38:42 +02:00
14798ab9a5 patch 8.2.0836: not all :cdo output is visible
Problem:    Not all :cdo output is visible.
Solution:   Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155)
2020-05-28 21:30:11 +02:00
c998370562 patch 8.2.0835: Motif: mapping <C-bslash> still doesn't work
Problem:    Motif: mapping <C-bslash> still doesn't work.
Solution:   Accept CSI for K_SPECIAL.  Do not apply CTRL to the character
            early.  (closes #6150)
2020-05-28 21:03:53 +02:00
3f65c66df9 patch 8.2.0834: :drop command in terminal popup causes problems
Problem:    :drop command in terminal popup causes problems.
Solution:   Check for using a popup window. (closes #6151)
2020-05-27 23:15:16 +02:00
ca5bc74607 patch 8.2.0833: mapping <C-bslash> doesn't work in the GUI
Problem:    Mapping <C-bslash> doesn't work in the GUI.
Solution:   Reset seenModifyOtherKeys when starting the GUI. (closes #6150)
2020-05-27 22:08:34 +02:00
a55ba06f69 patch 8.2.0832: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add initial value.
2020-05-27 21:29:04 +02:00
f4b68e9056 patch 8.2.0831: compiler warnings for integer sizes
Problem:    Compiler warnings for integer sizes.
Solution:   Add type casts. (Mike Williams)
2020-05-27 21:22:14 +02:00
80a20df86a patch 8.2.0830: Motif: can't map "!"
Problem:    Motif: can't map "!". (Ben Jackson)
Solution:   Remove the shift modifier if it's already included in the key.
            (closes #6147)
2020-05-26 22:14:27 +02:00
388a5d4f20 Update runtime files 2020-05-26 21:20:45 +02:00
fcb0b61d15 patch 8.2.0829: filter() may give misleading error message
Problem:    filter() may give misleading error message.
Solution:   Also mention Blob as an allowed argument.
2020-05-26 20:22:01 +02:00
92c098d18e patch 8.2.0828: Travis: regexp patttern doesn't work everywhere
Problem:    Travis: regexp patttern doesn't work everywhere.
Solution:   Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146)
2020-05-26 20:09:11 +02:00
285b189260 patch 8.2.0827: Vim9: crash in :defcompile
Problem:    Vim9: crash in :defcompile.
Solution:   Fix off-by-one error.
2020-05-26 11:37:26 +02:00
ebc3de634f patch 8.2.0826: Vim9: crash in :defcompile
Problem:    Vim9: crash in :defcompile.
Solution:   Restart the loop after a call to compile_def_function() caused the
            hash table to resize.
2020-05-26 11:08:28 +02:00
a14e697547 patch 8.2.0825: def_function() may return pointer that was freed
Problem:    def_function() may return pointer that was freed.
Solution:   Set "fp" to NULL after freeing it.
2020-05-25 23:29:28 +02:00
1919371b2b patch 8.2.0824: still not enough memory allocated when converting string
Problem:    Still not enough memory allocated when converting string with
            special character.
Solution:   Reserve space for expanding K_SPECIAL. (closes #6130)
2020-05-25 23:01:42 +02:00
25e0f5863e patch 8.2.0823: Vim9: script reload test is disabled
Problem:    Vim9: script reload test is disabled.
Solution:   Compile a function in the context of the script where it was
            defined.  Set execution stack for compiled function.  Add a test
            that an error is reported for the right file/function.
2020-05-25 22:36:50 +02:00
2eec37926d patch 8.2.0822: Vim9: code left over from discovery phase
Problem:    Vim9: code left over from discovery phase.
Solution:   Remove the dead code.
2020-05-25 20:33:55 +02:00
45a1508a22 patch 8.2.0821: Vim9: memory leak in expr test
Problem:    Vim9: memory leak in expr test.
Solution:   Do not decrement the length of the list of functions if the
            current function is not at the end.
2020-05-25 00:28:33 +02:00
6ff71d8b7f patch 8.2.0820: Vim9: function type isn't set until compiled
Problem:    Vim9: function type isn't set until compiled.
Solution:   Set function type early.
2020-05-24 23:45:24 +02:00
f40e51a880 patch 8.2.0819: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Remove the variable.
2020-05-24 23:14:23 +02:00
822ba24743 patch 8.2.0818: Vim9: using a discovery phase doesn't work well
Problem:    Vim9: using a discovery phase doesn't work well.
Solution:   Remove the discovery phase, instead compile a function only when
            it is used.  Add :defcompile to compile def functions earlier.
2020-05-24 23:00:18 +02:00
f7271e8316 patch 8.2.0817: not enough memory allocated when converting string
Problem:    Not enough memory allocated when converting string with special
            character.
Solution:   Reserve space for modifier code. (closes #6130)
2020-05-24 18:45:07 +02:00
87202264f8 patch 8.2.0816: terminal test fails when compiled with Athena
Problem:    Terminal test fails when compiled with Athena.
Solution:   Do give an error when the GUI is not running. (hint by Dominique
            Pelle, closes #5928, closes #6132)
2020-05-24 17:23:45 +02:00
9c65253fe7 patch 8.2.0815: maparg() does not provide enough information for mapset()
Problem:    maparg() does not provide enough information for mapset().
Solution:   Add "lhsraw" and "lhsrawalt" items.  Drop "simplified"
2020-05-24 13:10:18 +02:00
3718427ba3 patch 8.2.0814: clang warning for implicit conversion
Problem:    Clang warning for implicit conversion.
Solution:   Add type cast. (Dominique Pelle, closes #6124)
2020-05-23 19:30:05 +02:00
591cec8366 patch 8.2.0813: libvterm code is slightly different from upstream
Problem:    libvterm code is slightly different from upstream.
Solution:   Use upstream text to avoid future merge problems.  Mainly comment
            style changes.
2020-05-22 22:06:06 +02:00
c94c1467b9 patch 8.2.0812: mapset() does not properly handle <> notation
Problem:    mapset() does not properly handle <> notation.
Solution:   Convert <> codes. (closes #6116)
2020-05-22 20:01:06 +02:00
9cdcd1d0dc patch 8.2.0811: terminal keycode test is flaky
Problem:    Terminal keycode test is flaky.
Solution:   Use WaitForAssert()
2020-05-22 14:44:26 +02:00
2e61e2d083 patch 8.2.0810: error when appending "tagfile" to 'wildoptions'
Problem:    Error when appending "tagfile" to 'wildoptions'.
Solution:   use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin,
            closes #6105)
2020-05-22 14:10:36 +02:00
5a80f8ad5d patch 8.2.0809: build failure with small features
Problem:    Build failure with small features. (Tony Mechelynck)
Solution:   Move "expr" inside #ifdef.
2020-05-22 13:38:18 +02:00
98f1671cc0 patch 8.2.0808: not enough testing for the terminal window
Problem:    Not enough testing for the terminal window.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6069)  Fix memory
            leak.
2020-05-22 13:34:01 +02:00
4c9243f9fb patch 8.2.0807: cannot easily restore a mapping
Problem:    Cannot easily restore a mapping.
Solution:   Add mapset().
2020-05-22 13:10:44 +02:00
74fae513f8 patch 8.2.0806: using "func!" after vim9script gives confusing error
Problem:    using "func!" after vim9script gives confusing error.
Solution:   Give E477. (closes #6107)
2020-05-21 21:50:58 +02:00
fe81389d60 patch 8.2.0805: terminal key codes test fails on some systems
Problem:    Terminal key codes test fails on some systems.
Solution:   Skip keypad 3 and 9. (Yegappan Lakshmanan, closes #6070)
2020-05-21 20:38:31 +02:00
e5886ccb51 patch 8.2.0804: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revision 727, but add the index instead of switching
            between RGB and indexed.
2020-05-21 20:10:04 +02:00
83a52533b2 patch 8.2.0803: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 764 - 767
2020-05-20 19:30:19 +02:00
d863728913 patch 8.2.0802: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 759 - 762.
2020-05-20 18:41:41 +02:00
eaa3e0dae5 patch 8.2.0801: terminal test fails on Mac
Problem:    Terminal test fails on Mac.
Solution:   Concatenate OSC pieces.
2020-05-19 23:11:00 +02:00
a09195f29e patch 8.2.0800: errors from failing test are unclear
Problem:    Errors from failing test are unclear.
Solution:   Include text where parsing failed.
2020-05-19 22:38:59 +02:00
74c6963656 patch 8.2.0799: build fails if snprintf is not available
Problem:    Build fails if snprintf is not available.
Solution:   Use vim_snprintf().
2020-05-19 21:43:47 +02:00
be593bf135 patch 8.2.0798: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 755 - 758.
2020-05-19 21:20:04 +02:00
904e48a22b patch 8.2.0797: MS-Windows: compiler still can't handle C99 construct
Problem:    MS-Windows: compiler still can't handle C99 construct.
Solution:   Change to C90 construct. (Dominique Pelle, closes #6106)
2020-05-19 10:33:02 +02:00
37ebd42f16 patch 8.2.0796: MS-Windows: compiler can't handle C99 construct in libvterm
Problem:    MS-Windows: compiler can't handle C99 construct in libvterm.
Solution:   Change to C90 construct.
2020-05-18 23:27:50 +02:00
88d68de95d patch 8.2.0795: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 748 - 754.
2020-05-18 21:51:01 +02:00
d098b824c1 patch 8.2.0794: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 743 - 747.
2020-05-18 21:12:59 +02:00
1e1d2e89fa patch 8.2.0793: MS-Windows: cannot build GUI with small features
Problem:    MS-Windows: cannot build GUI with small features. (Michael Soyka)
Solution:   Add #ifdef around use of windowsVersion. (Ken Takata)
2020-05-18 20:17:02 +02:00
c33b3216c8 patch 8.2.0792: build failure with small features
Problem:    Build failure with small features.
Solution:   Add #ifdef.
2020-05-18 20:12:09 +02:00
b5383b174b patch 8.2.0791: a second popup window with terminal causes trouble
Problem:    A second popup window with terminal causes trouble.
Solution:   Disallow opening a second terminal-popup window. (closes #6101,
            closes #6103) Avoid defaulting to an invalid line number.
2020-05-18 19:46:48 +02:00
843700875e patch 8.2.0790: Vim9: list index not well tested
Problem:    Vim9: list index not well tested.
Solution:   Add a few more tests.
2020-05-18 14:20:36 +02:00
66b3101672 patch 8.2.0789: Vim9: expression testing lost coverage using constants
Problem:    Vim9: expression testing lost coverage using constants.
Solution:   Use a few variables instead of constants.
2020-05-18 13:38:02 +02:00
deb17451ed patch 8.2.0788: memory leak in libvterm
Problem:    Memory leak in libvterm.
Solution:   free tmpbuffer.
2020-05-17 23:34:42 +02:00
a2e408f598 patch 8.2.0787: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 741 - 742.
2020-05-17 23:00:52 +02:00
0b39ec3c7d patch 8.2.0786: channel test is flaky on FreeBSD
Problem:    Channel test is flaky on FreeBSD.
Solution:   Set the sockiet TCP_NODELAY option. Adjust expected line count in
            netbeans test. (Ozaki Kiichi, closes #6097)
2020-05-17 22:33:53 +02:00
6fc3b59ee9 patch 8.2.0785: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 734 - 740.
2020-05-17 22:27:55 +02:00
94d729cbe8 patch 8.2.0784: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 730 - 733.
2020-05-17 21:50:16 +02:00
c4c9f7e43e patch 8.2.0783: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 728 - 729.
2020-05-17 20:52:45 +02:00
df1643a6a7 patch 8.2.0782: cannot build with Lua on MS-Windows
Problem:    Cannot build with Lua on MS-Windows.
Solution:   Add DLL symbol for luaL_Loadstring. (Ken Takata)
2020-05-17 18:53:27 +02:00
9309eb2f28 patch 8.2.0781: compiler warning for not using value in Lua
Problem:    Compiler warning for not using value in Lua.
Solution:   Add "(void)".
2020-05-17 16:53:56 +02:00
2d2970ea59 patch 8.2.0780: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 724 - 726.
2020-05-17 16:29:47 +02:00
f4e16ae041 patch 8.2.0779: tmode_T not used everywhere
Problem:    Tmode_T not used everywhere.
Solution:   Also use tmode_T for settmode().
2020-05-17 16:10:11 +02:00
d4a5f40c0c patch 8.2.0778: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revisions 720 - 723.
2020-05-17 16:04:44 +02:00
ed37d9b324 Update feature_request.md 2020-05-17 15:17:26 +02:00
79ea680e6b patch 8.2.0777: terminal test fails
Problem:    Terminal test fails.
Solution:   Adjust character position for double-wide characters.
2020-05-17 15:09:27 +02:00
e178ba3654 patch 8.2.0776: libvterm code lags behind the upstream version
Problem:    Libvterm code lags behind the upstream version.
Solution:   Include revision 719.
2020-05-17 14:59:47 +02:00
eb04f0893a patch 8.2.0775: not easy to call a Vim function from Lua
Problem:    Not easy to call a Vim function from Lua.
Solution:   Add vim.call() and vim.fn(). (Prabir Shrestha, closes #6063)
2020-05-17 14:32:35 +02:00
26e86445bf patch 8.2.0774: t_TI and t_TE are output when using 'visualbell'
Problem:    t_TI and t_TE are output when using 'visualbell'. (Dominique
            Pelle)
Solution:   Do not change the terminal mode for a short sleep.  Do not output
            t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an
            enum.
2020-05-17 14:06:16 +02:00
3b1f18f785 patch 8.2.0773: switching to raw mode every time ":" is used
Problem:    Switching to raw mode every time ":" is used.
Solution:   When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the
            next time TMODE_RAW is used it is set, but not every time.
2020-05-16 23:15:08 +02:00
df671b4629 patch 8.2.0772: Vim9: some variable initializations not tested
Problem:    Vim9: some variable initializations not tested.
Solution:   Add a few more tests
2020-05-16 22:33:33 +02:00
6f5b6dfb16 patch 8.2.0771: Vim9: cannot call a compiled closure from not compiled code
Problem:    Vim9: cannot call a compiled closure from not compiled code.
Solution:   Pass funcexe to call_user_func().
2020-05-16 21:20:12 +02:00
aa5fc4ec51 patch 8.2.0770: cannot map CTRL-B when using the GUI
Problem:    Cannot map CTRL-B when using the GUI.
Solution:   Reset the CTRL modifier when used. (closes #6092)
2020-05-16 18:57:53 +02:00
129d6bf6b3 patch 8.2.0769: VimLeavePre not triggered when Vim is terminated
Problem:    VimLeavePre not triggered when Vim is terminated.
Solution:   Unblock autocommands.
2020-05-16 16:08:35 +02:00
e75ba268b3 patch 8.2.0768: Vim9: memory leak in script test
Problem:    Vim9: memory leak in script test.
Solution:   Clear typval before giving an error message.
2020-05-16 15:43:31 +02:00
645e3fe3fe patch 8.2.0767: modifyOtherKeys active when using a shell command in autocmd
Problem:    ModifyOtherKeys active when using a shell command in autocmd.
Solution:   Output T_CTE when going to cooked mode. (closes 5617)
2020-05-16 15:05:04 +02:00
e882f7a73c patch 8.2.0766: display error when using 'number' and 'breakindent'
Problem:    Display error when using 'number' and 'breakindent'.
Solution:   Adjust extra spaces in the first row. (Ken Takata, closes #6089,
            closes #5986)
2020-05-16 14:07:39 +02:00
fd615a3c90 patch 8.2.0765: In the GUI can't use all the modifiers.
Problem:    In the GUI can't use all the modifiers. (Andri Möll)
Solution:   Do not apply Alt/Meta early, do it later like with the terminal.
            Avoid the Motif test from crashing.
2020-05-16 14:01:51 +02:00
a6e67e4f41 patch 8.2.0764: Vim9: assigning to option not fully tested
Problem:    Vim9: assigning to option not fully tested.
Solution:   Add more test cases. Allow using any type for assignment.
2020-05-15 23:36:40 +02:00
4457e1d98f patch 8.2.0763: GUI test fails without the terminal feature
Problem:    GUI test fails without the terminal feature.
Solution:   Check the terminal feature is supported. (Ken Takata,
            closes #6084)
2020-05-15 22:46:44 +02:00
76cb683097 patch 8.2.0762: buffer is not considered modified after setting crypt key
Problem:    Buffer is not considered modified after setting crypt key.
Solution:   Set the modified flag. (Christian Brabandt, closes #6082)
2020-05-15 22:30:38 +02:00
4aeeb63938 patch 8.2.0761: Vim9: instructions not tested
Problem:    Vim9: instructions not tested
Solution:   Use a variable instead of a constant.
2020-05-15 22:01:57 +02:00
4dac32caf3 patch 8.2.0760: Vim9: dict member errors not tested
Problem:    Vim9: dict member errors not tested.
Solution:   Delete unreachable error.  Add tests.
2020-05-15 21:44:19 +02:00
270d0388d2 patch 8.2.0759: Vim9: missing changes for performance improvements
Problem:    Vim9: missing changes for performance improvements
Solution:   Use GA_GROW().  Don't call breakcheck so often.
2020-05-15 21:42:53 +02:00
cb7904016e patch 8.2.0758: Vim9: no test for STORELIST and STOREDICT
Problem:    Vim9: no test for STORELIST and STOREDICT.
Solution:   Add a test.  Make matches stricter.
2020-05-15 20:53:00 +02:00
4902ab16cb patch 8.2.0757: Vim9: no test for MEMBER instruction
Problem:    Vim9: no test for MEMBER instruction.
Solution:   Add a test.  Make matches stricter.
2020-05-15 19:21:31 +02:00
7e6f3fcc3c patch 8.2.0756: MS-Windows: still a compiler warning
Problem:    MS-Windows: still a compiler warning.
Solution:   Move flag to another place in the Makefile. (Ken Takata,
            closes #6083)
2020-05-15 18:21:51 +02:00
227a69de1e patch 8.2.0755: Vim9: No error when variable initializer is not a constant
Problem:    Vim9: No error when variable initializer is not a constant.
Solution:   Return FAIL when trying to get a variable value.  Do not execute a
            script when an error is deteted in the first or second phase.
2020-05-15 18:17:28 +02:00
a5d0077efb patch 8.2.0754: Vim9: No test for forward declaration
Problem:    Vim9: No test for forward declaration.
Solution:   Add a test.
2020-05-14 23:20:55 +02:00
32e351179e patch 8.2.0753: Vim9: expressions are evaluated in the discovery phase
Problem:    Vim9: expressions are evaluated in the discovery phase.
Solution:   Bail out if an expression is not a constant.  Require a type for
            declared constants.
2020-05-14 22:41:15 +02:00
e06a28f5e3 patch 8.2.0752: terminal in popup window test is a bit flaky
Problem:    Terminal in popup window test is a bit flaky.
Solution:   Wait for shell job status to be "run".  Mark as flaky test.
2020-05-13 23:24:12 +02:00
2b72821924 Update version.c for missing patch number 2020-05-13 23:21:55 +02:00
7e9f351b2e patch 8.2.0751: Vim9: performance can be improved
Problem:    Vim9: performance can be improved.
Solution:   Don't call break.  Inline check for list materialize.  Make an
            inline version of ga_grow().
2020-05-13 22:44:22 +02:00
37d1b4f941 patch 8.2.0750: netbeans test is a bit flaky
Problem:    Netbeans test is a bit flaky.
Solution:   Allow for standard sign to be defined.  Use WaitForAssert().
2020-05-13 17:16:04 +02:00
55ba4b844f patch 8.2.0749: TERM signal test fails on FreeBSD
Problem:    TERM signal test fails on FreeBSD.
Solution:   Do not check the messages, the may appear anywhere. (Dominique
            Pelle, closes #6075)
2020-05-13 16:53:49 +02:00
ef6b979bfa patch 8.2.0748: cannot get a list of all popups
Problem:    Cannot get a list of all popups.
Solution:   Add popup_list().  Use it in the test runner.
2020-05-13 16:34:15 +02:00
03a9f84817 patch 8.2.0747: cannot forcefully close all popups
Problem:    Cannot forcefully close all popups.
Solution:   Add the "force" argument to popup_clear().  Use it after running a
            test.  Put back the check for a popup when editing a file.
2020-05-13 13:40:16 +02:00
d502aa4c10 patch 8.2.0746: popup_clear() hangs when a popup can't be closed
Problem:    popup_clear() hangs when a popup can't be closed.
Solution:   Bail out when a popup can't be closed.
2020-05-13 01:04:32 +02:00
06f0853cb0 patch 8.2.0745: crash on exit when not all popups are closed
Problem:    Crash on exit when not all popups are closed.
Solution:   Close popups when freeing all memory.  Disable checking for popup
            when editing a file for now.
2020-05-12 23:45:16 +02:00
47e13953ff Update runtime files 2020-05-12 22:49:12 +02:00
9e6ba8cbef patch 8.2.0744: the name vim is not capatilized in a message
Problem:    The name vim is not capatilized in a message.
Solution:   Use "Vim" instead of "vim".
2020-05-12 22:21:26 +02:00
5aed0ccb96 patch 8.2.0743: can move to another buffer from a terminal in popup window
Problem:    Can move to another buffer from a terminal in popup window.
Solution:   Do not allow "gf" or editing a file. (closes #6072)
2020-05-12 22:02:21 +02:00
48a687148c patch 8.2.0742: handling of a TERM signal not tested
Problem:    Handling of a TERM signal not tested.
Solution:   Add a test for SIGTERM. (Dominique Pelle, closes #6055)
2020-05-12 14:42:02 +02:00
c3fd98cf8e patch 8.2.0741: Python tests fail because of changed message
Problem:    Python tests fail because of changed message.
Solution:   Adjust the expected messages (Dominique Pelle, closes #6066)
2020-05-12 13:08:07 +02:00
86181df9f5 patch 8.2.0740: minor message mistakes
Problem:    Minor message mistakes.
Solution:   Change vim to Vim and other fixes.
2020-05-11 23:14:04 +02:00
b415168a98 patch 8.2.0739: incomplete profiling when exiting because of a dealy signal
Problem:    Incomplete profiling when exiting because of a dealy signal.
Solution:   Call __gcov_flush() if available.
2020-05-11 22:13:28 +02:00
91689ea8ae patch 8.2.0738: mouse handling in a terminal window not well tested
Problem:    Mouse handling in a terminal window not well tested.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6052)
2020-05-11 22:04:53 +02:00
5c3128efe6 patch 8.2.0737: when shell doesn't support CTRL-Z Vim still handles it
Problem:    When shell doesn't support CTRL-Z Vim still handles it.
Solution:   Ignore the STOP signal if it was ignored on startup.
            (Kurtis Rader, closes #5990, closes #6058)
2020-05-11 20:54:42 +02:00
aacc6afdb8 patch 8.2.0736: some files not recognized as pamenv
Problem:    Some files not recognized as pamenv.
Solution:   Add pam_inv.conf. (closes #6065)
2020-05-11 19:46:36 +02:00
bc38f25c02 patch 8.2.0735: Vim9: using unitialized memory
Problem:    Vim9: using unitialized memory.
Solution:   Clear the arg_lvar field.
2020-05-10 23:20:06 +02:00
04816717df patch 8.2.0734: Vim9: leaking memory when using :finish
Problem:    Vim9: leaking memory when using :finish.
Solution:   Do not check for next line in third pass.
2020-05-10 23:11:53 +02:00
cb2bdb1c6d patch 8.2.0733: Vim9: assigning to dict or list argument does not work
Problem:    Vim9: assigning to dict or list argument does not work.
Solution:   Recognize an argument as assignment target.
2020-05-10 22:53:56 +02:00
f163bd5e41 patch 8.2.0732: Vim9: storing value in dict messes up stack
Problem:    Vim9: storing value in dict messes up stack.
Solution:   Correct item count of stack.
2020-05-10 21:47:43 +02:00
7e5bd91dc9 patch 8.2.0731: Vim9: parsing declarations continues after :finish
Problem:    Vim9: parsing declarations continues after :finish.
Solution:   Bail out when encountering :finish.
2020-05-10 21:20:29 +02:00
1cc2a94f80 patch 8.2.0730: Vim9: Assignment to dict member does not work
Problem:    Vim9: Assignment to dict member does not work.
Solution:   Parse dict assignment. Implement getting dict member.
2020-05-10 19:10:31 +02:00
89483d4043 patch 8.2.0729: Vim9: When reloading a script variables are not cleared
Problem:    Vim9: When reloading a script variables are not cleared.
Solution:   When sourcing a script again clear all script-local variables.
2020-05-10 15:24:44 +02:00
69212b11d1 patch 8.2.0728: messages about a deadly signal are not left aligned
Problem:    Messages about a deadly signal are not left aligned.
Solution:   Output a CR before the NL. (Dominique Pelle, #6055)
2020-05-10 14:14:03 +02:00
d695ba732d patch 8.2.0727: MS-Windows: new gcc compiler does not support scanf format
Problem:    MS-Windows: new gcc compiler does not support scanf format.
Solution:   Use "%ll" instead of "%I". (Ken Takata)
2020-05-10 13:42:43 +02:00
3b6a6eb7b4 patch 8.2.0726: Vim9: leaking memory when calling not compiled :def function
Problem:    Vim9: leaking memory when calling not compiled :def function.
Solution:   Check if function is compiled earlier.
2020-05-09 23:20:20 +02:00
09689a0284 patch 8.2.0725: Vim9: cannot call a function declared later in Vim9 script
Problem:    Vim9: cannot call a function declared later in Vim9 script.
Solution:   Make two passes through the script file.
2020-05-09 22:50:08 +02:00
396f3138ca patch 8.2.0724: Vim9: appending to buffer/window/tab variable not tested
Problem:    Vim9: appending to buffer/window/tab variable not tested
Solution:   Add a test.
2020-05-09 18:44:56 +02:00
1c74721233 patch 8.2.0723: Vim9: nested constant expression not evaluated compile time
Problem:    Vim9: nested constant expression not evaluated compile time.
Solution:   Use compile_expr1() for parenthesis.
2020-05-09 18:28:34 +02:00
7f14155f42 patch 8.2.0722: Vim9: not handling constant expression for elseif
Problem:    Vim9: not handling constant expression for elseif.
Solution:   Use postponed constants.  Delete the code for evaluating a
            constant expression.
2020-05-09 17:35:53 +02:00
497f76bfbf patch 8.2.0721: Vim9: leaking memory when skipping
Problem:    Vim9: leaking memory when skipping.
Solution:   Disable skipping in generate_ppconst().
2020-05-09 16:44:22 +02:00
b1062eb23e patch 8.2.0720: occasional exit when encountering an X error
Problem:    Occasional exit when encountering an X error. (Manfred Lotz)
Solution:   On an X error do not exit, do preserve files.
2020-05-09 16:11:33 +02:00
a5565e4189 patch 8.2.0719: Vim9: more expressions can be evaluated at compile time
Problem:    Vim9: more expressions can be evaluated at compile time
Solution:   Recognize has('name').
2020-05-09 15:44:01 +02:00
7d3664df90 patch 8.2.0718: gcc warning for returning pointer to local variable
Problem:    Gcc warning for returning pointer to local variable. (John
            Marriott)
Solution:   Return another pointer.
2020-05-09 13:06:24 +02:00
7d131b0715 patch 8.2.0717: Vim9: postponed constant expressions does not scale
Problem:    Vim9: postponed constant expressions does not scale.
Solution:   Add a structure to pass around postponed constants.
2020-05-08 19:10:34 +02:00
5c2fe64443 patch 8.2.0716: Vim9: another memory leak
Problem:    Vim9: another memory leak.
Solution:   Clear typval when failing.
2020-05-07 23:20:21 +02:00
cca34aa4be patch 8.2.0715: Vim9: leaking memory
Problem:    Vim9: leaking memory.
Solution:   Free strings after concatenating them.
2020-05-07 22:23:58 +02:00
f0eefce93b patch 8.2.0714: Vim9: handling constant expression does not scale
Problem:    Vim9: handling constant expression does not scale.
Solution:   Use another solution, passint typval_T.
2020-05-07 22:19:01 +02:00
2cfb4a2a72 Update runtime files 2020-05-07 18:56:00 +02:00
6115481053 patch 8.2.0713: the pam_environment file is not recognized
Problem:    The pam_environment file is not recognized.
Solution:   Add a filetype pattern for pamenv. (closes #6051)
2020-05-07 18:51:27 +02:00
0ff5dedf0f patch 8.2.0712: various code not fully tested
Problem:    Various code not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6049)
2020-05-07 18:43:44 +02:00
b2d0e51366 patch 8.2.0711: temp directory might be cleared
Problem:    With a long running Vim the temp directory might be cleared on
            some systems.
Solution:   Lock the temp directory. (closes #6044)
2020-05-07 18:37:03 +02:00
4a070cc82e patch 8.2.0710: Netbeans test sometimes fails
Problem:    Netbeans test sometimes fails.
Solution:   Mark any test using an external command as flaky.
2020-05-07 18:16:35 +02:00
ea554ca4fa patch 8.2.0709: MS-Windows: compiler warning for int vs size_t
Problem:    MS-Windows: compiler warning for int vs size_t.
Solution:   Add type cast. (Mike Williams)
2020-05-07 17:46:59 +02:00
61a8981699 patch 8.2.0708: Vim9: constant expressions are not simplified
Problem:    Vim9: constant expressions are not simplified.
Solution:   Simplify string concatenation.
2020-05-07 16:58:17 +02:00
f391586f3f patch 8.2.0707: Vim9 function test fails
Problem:    Vim9 function test fails.
Solution:   Adjust expected error code.
2020-05-07 14:37:19 +02:00
8a1c101315 patch 8.2.0706: Vim9: using assert_fails() causes function to finish
Problem:    Vim9: using assert_fails() causes function to finish.
Solution:   Check did_emsg instead of called_emsg.
2020-05-07 14:07:25 +02:00
3657686a0e patch 8.2.0705: indent tests don't run on CI for FreeBSD
Problem:    Indent tests don't run on CI for FreeBSD.
Solution:   Set modeline. (Ozaki Kiichi, closes #6048)
2020-05-06 22:25:05 +02:00
f821ddaa0c patch 8.2.0704: Vim9: memory leak in disassemble test
Problem:    Vim9: memory leak in disassemble test.
Solution:   Decrement refcount when creating funccal.
2020-05-06 22:18:17 +02:00
b68b346e6d patch 8.2.0703: Vim9: closure cannot store value in outer context
Problem:    Vim9: closure cannot store value in outer context.
Solution:   Make storing value in outer context work.  Make :disassemble
            accept a function reference.
2020-05-06 21:06:30 +02:00
54ed0dff29 patch 8.2.0702: running channel tests may leave running process behind
Problem:    Running channel tests may leave running process behind.
Solution:   Make Python client exit when running into EOF. (Kurtis Rader,
            part of #6046)
2020-05-06 19:38:30 +02:00
2a1381c305 patch 8.2.0701: Vim9 test fails without job feature
Problem:    Vim9 test fails without job feature.
Solution:   Add feature check.
2020-05-05 23:32:58 +02:00
40ee466c36 patch 8.2.0700: Vim9: converting error message to exception not tested
Problem:    Vim9: converting error message to exception not tested.
Solution:   Test exception from error.  Do not continue after :echoerr.
2020-05-05 22:08:26 +02:00
015f4267f4 patch 8.2.0699: Vim9: not all errors tested
Problem:    Vim9: not all errors tested.
Solution:   Add test for deleted function.  Bail out on first error.
2020-05-05 21:25:22 +02:00
f9ab52e155 patch 8.2.0698: insert mode completion not fully tested
Problem:    Insert mode completion not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6041)
2020-05-05 19:57:18 +02:00
221fcc741a patch 8.2.0697: Vim9: memory leak when using nested function
Problem:    Vim9: memory leak when using nested function.
Solution:   Unreference function when deleting instructions. Adjust reference
            count for local variables.
2020-05-05 19:46:20 +02:00
0e65d3de0a patch 8.2.0696: Vim9: nested function does not work properly
Problem:    Vim9: nested function does not work properly
Solution:   Create a function reference.  Check argument count.
2020-05-05 17:53:16 +02:00
04b1269783 patch 8.2.0695: Vim9: cannot define a function inside a function
Problem:    Vim9: cannot define a function inside a function.
Solution:   Initial support for :def inside :def.
2020-05-04 23:24:44 +02:00
80a8d3889b patch 8.2.0694: Haiku: channel and terminal do not work
Problem:    Haiku: channel and terminal do not work.
Solution:   Close files when the job has finished. (Ozaki Kiichi,
            closes #6039)
2020-05-03 22:57:32 +02:00
2fd4cd755c patch 8.2.0693: closure using argument not tested
Problem:    Closure using argument not tested.
Solution:   Add a test, make it work.
2020-05-03 22:30:49 +02:00
4515bcdec8 patch 8.2.0692: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Allow for any path.
2020-05-03 18:21:04 +02:00
7779ee30d9 patch 8.2.0691: startup test fails
Problem:    Startup test fails.
Solution:   Adjust expected output from -V2 argument.
2020-05-03 17:55:32 +02:00
5125874951 patch 8.2.0690: line number of option set by modeline is wrong
Problem:    Line number of option set by modeline is wrong.
Solution:   Do not double the line number. (Ozaki Kiichi, closes #6035)
2020-05-03 17:19:33 +02:00
a38b2b737e patch 8.2.0689: when using getaddrinfo() the error message is unclear
Problem:    When using getaddrinfo() the error message is unclear.
Solution:   Use gai_strerror() to get the message. (Ozaki Kiichi,
            closes #6034)
2020-05-03 17:03:29 +02:00
647a530b33 patch 8.2.0688: output clobbered if setting 'verbose' to see shell commands
Problem:    Output clobbered if setting 'verbose' to see shell commands.
Solution:   Only output "Searching for" when 'verbose' is 11 or higher.
2020-05-03 17:01:24 +02:00
41d4299f26 patch 8.2.0687: some tests do not work on FreeBSD
Problem:    Some tests do not work on FreeBSD.
Solution:   Enable modeline.  Use WaitFor() in more cases. (Ozaki Kiichi,
            closes #6036)
2020-05-03 16:29:50 +02:00
2eaeaf3c31 patch 8.2.0686: formatoptions not sufficiently tested
Problem:    Formatoptions not sufficiently tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6031)
2020-05-03 16:04:43 +02:00
3df02f507f patch 8.2.0685: Build failure
Problem:    Build failure.
Solution:   Include missing changes.
2020-05-03 15:47:33 +02:00
f7779c63d4 patch 8.2.0684: Vim9: memory leak when using lambda
Problem:    Vim9: memory leak when using lambda.
Solution:   Move the funccal context to the partial. Free the function when
            exiting.
2020-05-03 15:38:16 +02:00
5adc55cb74 patch 8.2.0683: Vim9: parsing type does not always work
Problem:    Vim9: parsing type does not always work.
Solution:   Handle func type without return value.  Test more closures.
            Fix type check offset.  Fix garbage collection.
2020-05-02 23:12:58 +02:00
1c0d44f8ef patch 8.2.0682: Vim9: parsing function argument type can get stuck
Problem:    Vim9: parsing function argument type can get stuck.
Solution:   Bail out when not making progress.
2020-05-02 19:04:58 +02:00
0b6849e9e3 patch 8.2.0681: pattern for 'hlsearch' highlighting may leak
Problem:    Pattern for 'hlsearch' highlighting may leak. (Dominique Pelle)
Solution:   Call end_search_hl() to make sure the previous pattern is freed.
            (closes #6028)
2020-05-02 18:33:25 +02:00
01f731e97c patch 8.2.0680: PTYGROUP and PTYMODE are unused
Problem:    PTYGROUP and PTYMODE are unused.
Solution:   Remove from autoconf. (closes #6024)
2020-05-02 18:14:37 +02:00
bf67ea1af0 patch 8.2.0679: Vim9: incomplete support for closures
Problem:    Vim9: incomplete support for closures.
Solution:   At the end of a function copy arguments and local variables if
            they are still used by a referenced closure.
2020-05-02 17:52:42 +02:00
d58a662f44 patch 8.2.0678: rare crash for popup menu
Problem:    Rare crash for popup menu.
Solution:   Check for NULL pointer. (Nobuhiro Takasaki, closes #6027)
2020-05-02 14:52:57 +02:00
c8cd2b34d1 patch 8.2.0677: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Find variables in the outer function scope, so long as the scope
            exists.
2020-05-01 19:29:08 +02:00
37addecc42 patch 8.2.0676: pattern in list of distributed files does not match
Problem:    Pattern in list of distributed files does not match.
Solution:   Drop "testdir/test_[a-z]*.ok".  Add CI sed files.
2020-05-01 16:08:11 +02:00
7ceefb35c8 Update runtime files 2020-05-01 16:07:38 +02:00
b84a381c75 patch 8.2.0675: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Do not re-use stack entries.
2020-05-01 15:44:29 +02:00
11abd09521 patch 8.2.0674: some source files are too big
Problem:    Some source files are too big.
Solution:   Move text formatting functions to a new file. (Yegappan
            Lakshmanan, closes #6021)
2020-05-01 14:26:37 +02:00
4cfde1d273 patch 8.2.0673: cannot build Haiku in shadow directory
Problem:    Cannot build Haiku in shadow directory.
Solution:   Add symlink. (Ozaki Kiichi, closes #6023)
2020-05-01 14:14:07 +02:00
6ab0953fef patch 8.2.0672: heredoc in scripts does not accept lower case marker
Problem:    Heredoc in scripts does not accept lower case marker.
Solution:   Allow lower case only in non-Vim scripts. (Ken Takata,
            closes #6019)
2020-05-01 14:10:13 +02:00
9e175141f3 patch 8.2.0671: Haiku: compiler warnings
Problem:    Haiku: compiler warnings.
Solution:   Avoid the warnings. Drop display_errors() copy. (Emir Sari,
            closes #6018)
2020-04-30 22:51:01 +02:00
6adb9ea0a6 patch 8.2.0670: cannot change window when evaluating 'completefunc'
Problem:    Cannot change window when evaluating 'completefunc'.
Solution:   Make a difference between not changing text or buffers and also
            not changing window.
2020-04-30 22:31:18 +02:00
4e5534fab7 patch 8.2.0669: MS-Windows: display in VTP is a bit slow
Problem:    MS-Windows: display in VTP is a bit slow.
Solution:   Optimize the code. (Nobuhiro Takasaki, closes #6014)
2020-04-30 20:59:57 +02:00
7f6f56f43c patch 8.2.0668: compiler warning for int/size_t usage
Problem:    Compiler warning for int/size_t usage.
Solution:   Change "int" to "size_t". (Mike Williams)
2020-04-30 20:21:43 +02:00
2c5c1638a9 patch 8.2.0667: cannot install Haiku version from source
Problem:    Cannot install Haiku version from source.
Solution:   Update Makefile and rdef file. (Emir Sari, closes #6013)
2020-04-30 19:54:38 +02:00
88e6cc2539 patch 8.2.0666: Ruby test fails on MS-Windows
Problem:    Ruby test fails on MS-Windows.
Solution:   Remove the "maintainer" line. (Ken Takata, closes #6015)
2020-04-30 19:19:29 +02:00
a161cb5ddd patch 8.2.0665: wrongly assuming Python executable is called "python"
Problem:    Wrongly assuming Python executable is called "python".
Solution:   Use detected python command. (Ken Takata, closes #6016)
            Also use CheckFunction if possible.
2020-04-30 19:09:35 +02:00
8dbafd0790 patch 8.2.0664: included undesired changes in Makefile
Problem:    Included undesired changes in Makefile.
Solution:   Revert the changes.
2020-04-29 23:11:32 +02:00
512fe833c3 patch 8.2.0663: not all systemd temp files are recognized
Problem:    Not all systemd temp files are recognized.
Solution:   Add two more patterns. (Jamie Macdonald, closes #6003)
2020-04-29 23:02:40 +02:00
dfc33a665d patch 8.2.0662: cannot use input() in a channel callback
Problem:    Cannot use input() in a channel callback.
Solution:   Reset vgetc_busy. (closes #6010)
2020-04-29 22:30:13 +02:00
339d60c89b patch 8.2.0661: eval test is still old style
Problem:    Eval test is still old style.
Solution:   Change into new style tests. (Yegappan Lakshmanan, closes #6009)
2020-04-29 22:01:21 +02:00
ed8ce057b7 patch 8.2.0660: the search.c file is a bit big
Problem:    The search.c file is a bit big.
Solution:   Split off the text object code to a separate file. (Yegappan
            Lakshmanan, closes #6007)
2020-04-29 21:04:15 +02:00
939b5db480 patch 8.2.0659: Vim9: no test for equal func type
Problem:    Vim9: no test for equal func type.
Solution:   Add a test.  Improve type check.
2020-04-28 22:49:08 +02:00
affc8fd2cd patch 8.2.0658: HP-UX build fails when setenv() is not defined
Problem:    HP-UX build fails when setenv() is not defined.
Solution:   Change "colors" to "t_colors". (John Marriott)
2020-04-28 21:58:29 +02:00
a0a9f43ab2 patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Problem:    Vim9: no check if called variable is a FuncRef.
Solution:   Add a type check.
2020-04-28 21:29:34 +02:00
7ed8f59ae0 patch 8.2.0656: MS-Windows: redrawing right screen edge may not be needed
Problem:    MS-Windows: redrawing right screen edge may not be needed.
Solution:   Check the build version. (Nobuhiro Takasaki, closes #6002)
2020-04-28 20:44:42 +02:00
224a5f17c6 patch 8.2.0655: search code not sufficiently tested
Problem:    Search code not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5999)
2020-04-28 20:29:07 +02:00
a14bb7e113 patch 8.2.0654: building with Python fails
Problem:    Building with Python fails.
Solution:   Add missing argument.
2020-04-28 00:02:41 +02:00
03afdcf1f4 patch 8.2.0653: using uninitialized pointer
Problem:    using uninitialized pointer.
Solution:   Move assignment up. (John Marriott)
2020-04-27 23:39:30 +02:00
909ed7e902 patch 8.2.0652: compiler warning for char conversion
Problem:    Compiler warning for char conversion.
Solution:   Use unsigned char buffer.
2020-04-27 23:16:41 +02:00
57700ee4ac patch 8.2.0651: old style benchmark test still in list of distributed files
Problem:    Old style benchmark test still in list of distributed files.
Solution:   Remove the files from the list.
2020-04-27 22:51:33 +02:00
4c17ad94ec patch 8.2.0650: Vim9: script function can be deleted
Problem:    Vim9: script function can be deleted.
Solution:   Disallow deleting script function.  Delete functions when sourcing
            a script again.
2020-04-27 22:47:51 +02:00
db93495d27 patch 8.2.0649: undo problem whn an InsertLeave autocommand resets undo
Problem:    Undo problem whn an InsertLeave autocommand resets undo. (Kutsan
            Kaplan)
Solution:   Do not create a new undo block when leaving Insert mode.
2020-04-27 20:18:31 +02:00
0e71704b77 patch 8.2.0648: semicolon search does not work in first line
Problem:    Semicolon search does not work in first line.
Solution:   Allow the cursor to be in line zero. (Christian Brabandt,
            closes #5996)
2020-04-27 19:29:01 +02:00
bc970da807 patch 8.2.0647: MS-Windows: repeat count for events was not used
Problem:    MS-Windows: repeat count for events was not used.
Solution:   Check the repeat count. (Nobuhiro Takasaki, closes #5989)
2020-04-26 19:00:07 +02:00
402 changed files with 24214 additions and 14842 deletions

View File

@ -13,5 +13,4 @@ freebsd_12_task:
- make -j${NPROC}
- src/vim --version
test_script:
# Runtime Indent tests do not work, run only the normal test suite
- cd src && make test
- make test

View File

@ -8,7 +8,7 @@ labels: enhancement
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Is your feature request related something that is currently hard to do? Please describe.**
**Is your feature request about something that is currently impossible or hard to do? Please describe the problem.**
A clear and concise description of what is hard to do. Ex. It is difficult to [...] when [...]
(If it is related to runtime files, please check their header for where to discuss enhancements.)

1
.gitignore vendored
View File

@ -5,6 +5,7 @@ src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags

View File

@ -11,13 +11,13 @@ _anchors:
- &normal
BUILD=yes TEST=test FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
- &linux-huge
BUILD=yes TEST="scripttests test_libvterm" CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
BUILD=yes TEST="scripttests test_libvterm" CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &osx-huge # macOS build
BUILD=yes TEST=test FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
CONFOPT="--enable-perlinterp --enable-pythoninterp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
- &unittests
BUILD=no TEST=unittests CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
BUILD=no TEST=unittests CFLAGS="--coverage -DUSE_GCOV_FLUSH" LDFLAGS=--coverage FEATURES=huge SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=yes
- &asan # ASAN build
SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
ASAN_OPTIONS="print_stacktrace=1 log_path=asan" LSAN_OPTIONS="suppressions=$TRAVIS_BUILD_DIR/src/testdir/lsan-suppress.txt"
@ -125,7 +125,12 @@ script:
# Append various warning flags to CFLAGS.
# BSD sed needs backup extension specified.
sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
if [[ "${TRAVIS_OS_NAME}" = "osx" ]]; then
# On macOS, the entity of gcc is clang.
sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
else
sed -i.bak -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
fi
make ${SHADOWOPT} -j${NPROC}
fi
- echo -en "travis_fold:end:build\\r\\033[0K"
@ -141,11 +146,10 @@ script:
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),
# exclude some builds on mac os x and linux
# on mac os x "tiny" is always without GUI
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
# Instead of using all environments with both compilers on both systems,
# exclude some builds on mac os x and linux.
# On mac os x "tiny" is always without GUI, use 2 compilers in 2 environments.
# Linux: 2 compilers on some of the environments + gcc on os390
jobs:
include:
- <<: *osx

View File

@ -13,6 +13,7 @@ SRC_ALL = \
ci/appveyor.bat \
ci/if_ver*.vim \
ci/load-snd-dummy.sh \
ci/config.mk*.sed \
src/Make_all.mak \
src/README.md \
src/alloc.h \
@ -128,8 +129,11 @@ SRC_ALL = \
src/term.h \
src/termlib.c \
src/testing.c \
src/textformat.c \
src/textobject.c \
src/textprop.c \
src/time.c \
src/typval.c \
src/ui.c \
src/undo.c \
src/usercmd.c \
@ -153,6 +157,7 @@ SRC_ALL = \
src/testdir/*.py \
src/testdir/lsan-suppress.txt \
src/testdir/sautest/autoload/*.vim \
src/testdir/testluaplugin/lua/testluaplugin/*.lua \
src/testdir/check.vim \
src/testdir/gui_init.vim \
src/testdir/gui_preinit.vim \
@ -168,7 +173,6 @@ SRC_ALL = \
src/testdir/view_util.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
src/testdir/test49.vim \
src/testdir/test83-tags? \
src/testdir/test77a.com \
@ -183,8 +187,6 @@ SRC_ALL = \
src/testdir/python_after/*.py \
src/testdir/python_before/*.py \
src/testdir/pyxfile/*.py \
src/testdir/bench*.in \
src/testdir/bench*.vim \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
@ -281,8 +283,11 @@ SRC_ALL = \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textformat.pro \
src/proto/textobject.pro \
src/proto/textprop.pro \
src/proto/time.pro \
src/proto/typval.pro \
src/proto/ui.pro \
src/proto/undo.pro \
src/proto/usercmd.pro \
@ -299,10 +304,12 @@ SRC_ALL = \
src/libvterm/LICENSE \
src/libvterm/Makefile \
src/libvterm/README \
src/libvterm/CONTRIBUTING \
src/libvterm/tbl2inc_c.pl \
src/libvterm/vterm.pc.in \
src/libvterm/doc/URLs \
src/libvterm/doc/seqs.txt \
src/libvterm/find-wide-chars.pl \
src/libvterm/include/vterm.h \
src/libvterm/include/vterm_keycodes.h \
src/libvterm/src/encoding.c \
@ -310,6 +317,7 @@ SRC_ALL = \
src/libvterm/src/encoding/DECdrawing.tbl \
src/libvterm/src/encoding/uk.inc \
src/libvterm/src/encoding/uk.tbl \
src/libvterm/src/fullwidth.inc \
src/libvterm/src/keyboard.c \
src/libvterm/src/mouse.c \
src/libvterm/src/parser.c \
@ -340,16 +348,18 @@ SRC_ALL = \
src/libvterm/t/27state_reset.test \
src/libvterm/t/28state_dbl_wh.test \
src/libvterm/t/29state_fallback.test \
src/libvterm/t/30pen.test \
src/libvterm/t/40screen_ascii.test \
src/libvterm/t/41screen_unicode.test \
src/libvterm/t/42screen_damage.test \
src/libvterm/t/43screen_resize.test \
src/libvterm/t/44screen_pen.test \
src/libvterm/t/45screen_protect.test \
src/libvterm/t/46screen_extent.test \
src/libvterm/t/47screen_dbl_wh.test \
src/libvterm/t/48screen_termprops.test \
src/libvterm/t/30state_pen.test \
src/libvterm/t/31state_rep.test \
src/libvterm/t/32state_flow.test \
src/libvterm/t/60screen_ascii.test \
src/libvterm/t/61screen_unicode.test \
src/libvterm/t/62screen_damage.test \
src/libvterm/t/63screen_resize.test \
src/libvterm/t/64screen_pen.test \
src/libvterm/t/65screen_protect.test \
src/libvterm/t/66screen_extent.test \
src/libvterm/t/67screen_dbl_wh.test \
src/libvterm/t/68screen_termprops.test \
src/libvterm/t/90vttest_01-movement-1.test \
src/libvterm/t/90vttest_01-movement-2.test \
src/libvterm/t/90vttest_01-movement-3.test \
@ -409,6 +419,7 @@ SRC_UNIX = \
src/gui_gtk_x11.c \
src/gui_gtk_res.xml \
src/gui_motif.c \
src/gui_xim.c \
src/gui_xmdlg.c \
src/gui_xmebw.c \
src/gui_xmebw.h \
@ -432,6 +443,7 @@ SRC_UNIX = \
src/proto/gui_gtk_x11.pro \
src/proto/gui_gtk_gresources.pro \
src/proto/gui_motif.pro \
src/proto/gui_xim.pro \
src/proto/gui_xmdlg.pro \
src/proto/gui_x11.pro \
src/proto/if_xcmdsrv.pro \
@ -610,7 +622,7 @@ SRC_AMI = \
SRC_HAIKU = \
README_haiku.txt \
src/os_haiku.h \
src/os_haiku.rdef \
src/os_haiku.rdef.in \
src/gui_haiku.cc \
src/gui_haiku.h \
src/proto/gui_haiku.pro \
@ -664,10 +676,6 @@ SRC_EXTRA = \
src/Make_mint.mak \
src/infplist.xml \
src/link.390 \
src/os_beos.c \
src/os_beos.h \
src/os_beos.rsrc \
src/proto/os_beos.pro \
src/os_mint.h \
src/os_vms_fix.com \
src/toolbar.phi \
@ -964,6 +972,8 @@ LANG_GEN = \
runtime/doc/*-pl.UTF-8.1 \
runtime/doc/*-ru.1 \
runtime/doc/*-ru.UTF-8.1 \
runtime/doc/*-tr.1 \
runtime/doc/*-tr.UTF-8.1 \
runtime/lang/README.txt \
runtime/lang/menu_*.vim \
runtime/keymap/README.txt \

View File

@ -10,4 +10,4 @@ software repository HaikuPorts. To get Vim:
- Open a Terminal and type "pkgman install vim", then follow instructions.
If you prefer to install Vim from source, follow the instructions on
"runtime/doc/os_haiku.txt", "Compiling Haiku" section.
"runtime/doc/os_haiku.txt", "Compiling Vim" section.

View File

@ -1 +1,2 @@
/^RUBY_CFLAGS\b/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=missing-field-initializers/
/^RUBY_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unknown-attributes -Wno-error=ignored-attributes/

View File

@ -1 +1 @@
/^CFLAGS\b/s/$/ -Wno-error=maybe-uninitialized/
/^CFLAGS[[:blank:]]*=/s/$/ -Wno-error=maybe-uninitialized/

View File

@ -1,2 +1,2 @@
/^CFLAGS\b/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS\b/s/$/ -Wno-error=unused-function/
/^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS[[:blank:]]*=/s/$/ -Wno-error=unused-function/

View File

@ -0,0 +1,16 @@
" Vim compiler file
" Compiler: ESLint for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17
if exists("current_compiler")
finish
endif
let current_compiler = "eslint"
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=eslint\ --format\ compact
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#

View File

@ -0,0 +1,16 @@
" Vim compiler file
" Compiler: Standard for JavaScript
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Last Change: 2020 May 17
if exists("current_compiler")
finish
endif
let current_compiler = "standard"
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet makeprg=standard
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m,%-G%.%#

View File

@ -317,7 +317,11 @@ CONVERTED = \
evim-ru.UTF-8.1 \
vimdiff-ru.UTF-8.1 \
vimtutor-ru.UTF-8.1 \
xxd-ru.UTF-8.1
xxd-ru.UTF-8.1 \
vim-tr.UTF-8.1 \
evim-tr.UTF-8.1 \
vimdiff-tr.UTF-8.1 \
vimtutor-tr.UTF-8.1
.SUFFIXES:
.SUFFIXES: .c .o .txt .html
@ -509,3 +513,15 @@ vimtutor-ru.UTF-8.1: vimtutor-ru.1
xxd-ru.UTF-8.1: xxd-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
vim-tr.UTF-8.1: vim-tr.1
iconv -f latin5 -t utf-8 $< >$@
evim-tr.UTF-8.1: evim-tr.1
iconv -f latin5 -t utf-8 $< >$@
vimdiff-tr.UTF-8.1: vimdiff-tr.1
iconv -f latin5 -t utf-8 $< >$@
vimtutor-tr.UTF-8.1: vimtutor-tr.1
iconv -f latin5 -t utf-8 $< >$@

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2020 Apr 11
*change.txt* For Vim version 8.2. Last change: 2020 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -996,9 +996,9 @@ inside of strings can change! Also see 'softtabstop' option. >
5. Copying and moving text *copy-move*
*quote*
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
or put (use uppercase character to append with
delete and yank) ({.%#:} only work with put).
"{register} Use {register} for next delete, yank or put. Use
an uppercase character to append with delete and yank.
Registers ".", "%", "#" and ":" only work with put.
*:reg* *:registers*
:reg[isters] Display the type and contents of all numbered and
@ -1688,6 +1688,10 @@ B When joining lines, don't insert a space between two multi-byte
characters. Overruled by the 'M' flag.
1 Don't break a line after a one-letter word. It's broken before it
instead (if possible).
] Respect textwidth rigorously. With this flag set, no line can be
longer than textwidth, unless line-break-prohibition rules make this
impossible. Mainly for CJK scripts and works only if 'encoding' is
"utf-8".
j Where it makes sense, remove a comment leader when joining lines. For
example, joining:
int i; // the index ~

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.2. Last change: 2020 Feb 29
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -615,6 +615,7 @@ followed by another Vim command:
:tcl
:tcldo
:tclfile
:terminal
:vglobal
:windo
:write !

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.2. Last change: 2019 Dec 22
*editing.txt* For Vim version 8.2. Last change: 2020 May 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -475,6 +475,9 @@ This edits the same file again with 'fileformat' set to "unix". >
:w ++enc=latin1 newfile
This writes the current buffer to "newfile" in latin1 format.
The message given when writing a file will show "[converted]" when
'fileencoding' or the value specified with ++enc differs from 'encoding'.
There may be several ++opt arguments, separated by white space. They must all
appear before any |+cmd| argument.
@ -1079,9 +1082,9 @@ The names can be in upper- or lowercase.
*:q* *:quit*
:q[uit] Quit the current window. Quit Vim if this is the last
window. This fails when changes have been made and
Vim refuses to |abandon| the current buffer, and when
the last file in the argument list has not been
|edit-window|. This fails when changes have been made
and Vim refuses to |abandon| the current buffer, and
when the last file in the argument list has not been
edited.
If there are other tab pages and quitting the last
window in the current tab page the current tab page is
@ -1107,18 +1110,22 @@ The names can be in upper- or lowercase.
|quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
the file is read-only or the buffer does not have a
name. Quitting fails when the last file in the
argument list has not been edited.
:wq [++opt] Write the current file and close the window. If this
was the last |edit-window| Vim quits.
Writing fails when the file is read-only or the buffer
does not have a name. Quitting fails when the last
file in the argument list has not been edited.
:wq! [++opt] Write the current file and quit. Writing fails when
the current buffer does not have a name.
:wq! [++opt] Write the current file and close the window. If this
was the last |edit-window| Vim quits. Writing fails
when the current buffer does not have a name.
:wq [++opt] {file} Write to {file} and quit. Quitting fails when the
:wq [++opt] {file} Write to {file} and close the window. If this was the
last |edit-window| Vim quits. Quitting fails when the
last file in the argument list has not been edited.
:wq! [++opt] {file} Write to {file} and quit.
:wq! [++opt] {file} Write to {file} and close the current window. Quit
Vim if this was the last |edit-window|.
:[range]wq[!] [++opt] [file]
Same as above, but only write the lines in [range].
@ -1135,10 +1142,10 @@ The names can be in upper- or lowercase.
Same as :xit.
*ZZ*
ZZ Write current file, if modified, and quit (same as
":x"). (Note: If there are several windows for the
current file, the file is written if it was modified
and the window is closed).
ZZ Write current file, if modified, and close the current
window (same as ":x").
If there are several windows for the current file,
only the current window is closed.
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
@ -1319,6 +1326,10 @@ present in 'cpoptions' and "!" is not used in the command.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:tcd-*
:tcd[!] - Change to the previous current directory, before the
last ":tcd {path}" command.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
@ -1328,9 +1339,28 @@ present in 'cpoptions' and "!" is not used in the command.
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|.
*:lcd-*
:lcd[!] - Change to the previous current directory, before the
last ":lcd {path}" command.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name.
Also see |getcwd()|.
*:pwd-verbose*
When 'verbose' is non-zero, |:pwd| will also display
what scope the current directory was set. Example: >
" Set by :cd
:verbose pwd
[global] /path/to/current
" Set by :lcd
:verbose pwd
[window] /path/to/current
" Set by :tcd
:verbose pwd
[tabpage] /path/to/current
So long as no |:lcd| or |:tcd| command has been used, all windows share the
same current directory. Using a command to jump to another window doesn't

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2020 Apr 19
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -95,15 +95,17 @@ the Number. Examples:
Number -1 --> String "-1" ~
*octal*
Conversion from a String to a Number is done by converting the first digits to
a number. Hexadecimal "0xf9", Octal "017", and Binary "0b10" numbers are
recognized (NOTE: when using |scriptversion-4| octal is not recognized). If
the String doesn't start with digits, the result is zero.
a number. Hexadecimal "0xf9", Octal "017" or "0o17", and Binary "0b10"
numbers are recognized (NOTE: when using |scriptversion-4| octal with a
leading "0" is not recognized). If the String doesn't start with digits, the
result is zero.
Examples:
String "456" --> Number 456 ~
String "6bar" --> Number 6 ~
String "foo" --> Number 0 ~
String "0xf1" --> Number 241 ~
String "0100" --> Number 64 ~
String "0o100" --> Number 64 ~
String "0b101" --> Number 5 ~
String "-8" --> Number -8 ~
String "+8" --> Number 0 ~
@ -584,6 +586,8 @@ adict.
Weeding out entries from a Dictionary can be done with |filter()|: >
:call filter(dict, 'v:val =~ "x"')
This removes all entries from "dict" with a value not matching 'x'.
This can also be used to remove all entries: >
call filter(dict, 0)
Dictionary function ~
@ -1262,7 +1266,7 @@ number number constant *expr-number*
*hex-number* *octal-number* *binary-number*
Decimal, Hexadecimal (starting with 0x or 0X), Binary (starting with 0b or 0B)
and Octal (starting with 0).
and Octal (starting with 0, 0o or 0O).
*floating-point-format*
Floating point numbers can be written in two forms:
@ -1351,6 +1355,9 @@ A string constant accepts these special characters:
To use the double quote character it must be escaped: "<M-\">".
Don't use <Char-xxxx> to get a utf-8 character, use \uxxxx as
mentioned above.
\<*xxx> Like \<xxx> but prepends a modifier instead of including it in the
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four
bytes: 3 for the CTRL modifier and then character "W".
Note that "\xff" is stored as the byte 255, which may be invalid in some
encodings. Use "\u00ff" to store character 255 according to the current value
@ -1485,7 +1492,7 @@ the function returns: >
:echo Bar(6)
< 5
Note that the variables must exist in the outer scope before the lamba is
Note that the variables must exist in the outer scope before the lambda is
defined for this to work. See also |:func-closure|.
Lambda and closure support can be checked with: >
@ -2317,11 +2324,12 @@ argidx() Number current index in the argument list
arglistid([{winnr} [, {tabnr}]]) Number argument list id
argv({nr} [, {winid}]) String {nr} entry of the argument list
argv([-1, {winid}]) List the argument list
asin({expr}) Float arc sine of {expr}
assert_beeps({cmd}) Number assert {cmd} causes a beep
assert_equal({exp}, {act} [, {msg}])
Number assert {exp} is equal to {act}
assert_equalfile({fname-one}, {fname-two})
Number assert file contents is equal
assert_equalfile({fname-one}, {fname-two} [, {msg}])
Number assert file contents are equal
assert_exception({error} [, {msg}])
Number assert {error} is in v:exception
assert_fails({cmd} [, {error} [, {msg}]])
@ -2338,7 +2346,6 @@ assert_notmatch({pat}, {text} [, {msg}])
Number assert {pat} not matches {text}
assert_report({msg}) Number report a test failure
assert_true({actual} [, {msg}]) Number assert {actual} is true
asin({expr}) Float arc sine of {expr}
atan({expr}) Float arc tangent of {expr}
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
balloon_gettext() String current text in the balloon
@ -2429,12 +2436,12 @@ executable({expr}) Number 1 if executable {expr} exists
execute({command}) String execute {command} and get the output
exepath({expr}) String full path of the command {expr}
exists({expr}) Number |TRUE| if {expr} exists
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
exp({expr}) Float exponential of {expr}
expand({expr} [, {nosuf} [, {list}]])
any expand special keywords in {expr}
expandcmd({expr}) String expand {expr} like with `:edit`
extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
filereadable({file}) Number |TRUE| if {file} is a readable file
filewritable({file}) Number |TRUE| if {file} is a writable file
@ -2492,6 +2499,7 @@ getjumplist([{winnr} [, {tabnr}]])
getline({lnum}) String line {lnum} of current buffer
getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
getloclist({nr} [, {what}]) List list of location list items
getmarklist([{expr}]) List list of global/local marks
getmatches([{win}]) List list of current matches
getmousepos() Dict last known mouse position
getpid() Number process ID of Vim
@ -2528,8 +2536,8 @@ histadd({history}, {item}) Number add an item to a history
histdel({history} [, {item}]) Number remove an item from a history
histget({history} [, {index}]) String get the item {index} from a history
histnr({history}) Number highest index of a history
hlexists({name}) Number |TRUE| if highlight group {name} exists
hlID({name}) Number syntax ID of highlight group {name}
hlexists({name}) Number |TRUE| if highlight group {name} exists
hostname() String name of the machine Vim is running on
iconv({expr}, {from}, {to}) String convert encoding of {expr}
indent({lnum}) Number indent of line {lnum}
@ -2586,6 +2594,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
rhs of mapping {name} in mode {mode}
mapcheck({name} [, {mode} [, {abbr}]])
String check for mappings matching {name}
mapset({mode}, {abbr}, {dict})
none restore mapping from |maparg()| result
match({expr}, {pat} [, {start} [, {count}]])
Number position where {pat} matches in {expr}
matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
@ -2627,14 +2637,16 @@ popup_findpreview() Number get window ID of preview popup window
popup_getoptions({id}) Dict get options of popup window {id}
popup_getpos({id}) Dict get position of popup window {id}
popup_hide({id}) none hide popup menu {id}
popup_list() List get a list of window IDs of all popups
popup_locate({row}, {col}) Number get window ID of popup at position
popup_menu({what}, {options}) Number create a popup window used as a menu
popup_move({id}, {options}) none set position of popup window {id}
popup_notification({what}, {options})
Number create a notification popup window
popup_show({id}) none unhide popup window {id}
popup_setoptions({id}, {options})
none set options for popup window {id}
popup_settext({id}, {text}) none set the text of popup window {id}
popup_show({id}) none unhide popup window {id}
pow({x}, {y}) Float {x} to the power of {y}
prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
printf({fmt}, {expr1}...) String format text
@ -2646,7 +2658,7 @@ prop_clear({lnum} [, {lnum-end} [, {props}]])
none remove all text properties
prop_find({props} [, {direction}])
Dict search for a text property
prop_list({lnum} [, {props}) List text properties in {lnum}
prop_list({lnum} [, {props}]) List text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
Number remove a text property
prop_type_add({name}, {props}) none define a new property type
@ -2654,20 +2666,23 @@ prop_type_change({name}, {props})
none change an existing property type
prop_type_delete({name} [, {props}])
none delete a property type
prop_type_get([{name} [, {props}])
prop_type_get([{name} [, {props}]])
Dict get property type values
prop_type_list([{props}]) List get list of property types
pum_getpos() Dict position and size of pum if visible
pumvisible() Number whether popup menu is visible
pyeval({expr}) any evaluate |Python| expression
py3eval({expr}) any evaluate |python3| expression
pyeval({expr}) any evaluate |Python| expression
pyxeval({expr}) any evaluate |python_x| expression
rand([{expr}]) Number get pseudo-random number
range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
readdirex({dir} [, {expr}]) List file info in {dir} selected by {expr}
readfile({fname} [, {type} [, {max}]])
List get list of lines from file {fname}
reduce({object}, {func} [, {initial}])
any reduce {object} using {func}
reg_executing() String get the executing register name
reg_recording() String get the recording register name
reltime([{start} [, {end}]]) List get time value
@ -2701,15 +2716,16 @@ screencol() Number current cursor column
screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
screenrow() Number current cursor row
screenstring({row}, {col}) String characters at screen position
search({pattern} [, {flags} [, {stopline} [, {timeout}]]])
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
Number search for {pattern}
searchcount([{options}]) Dict get or update search stats
searchdecl({name} [, {global} [, {thisblock}]])
Number search for variable declaration
searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
Number search for other end of start/end pair
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
List search for other end of start/end pair
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
List search for {pattern}
server2client({clientid}, {string})
Number send reply string
@ -2783,9 +2799,9 @@ str2list({expr} [, {utf8}]) List convert each character of {expr} to
ASCII/UTF8 value
str2nr({expr} [, {base} [, {quoted}]])
Number convert String to Number
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
strcharpart({str}, {start} [, {len}])
String {len} characters of {str} at {start}
strchars({expr} [, {skipcc}]) Number character length of the String {expr}
strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
strftime({format} [, {time}]) String format time with a specified format
strgetchar({str}, {index}) Number get char {index} from {str}
@ -2818,8 +2834,8 @@ systemlist({expr} [, {input}]) List output of shell command/filter {expr}
tabpagebuflist([{arg}]) List list of buffer numbers in tab page
tabpagenr([{arg}]) Number number of current or last tab page
tabpagewinnr({tabarg} [, {arg}]) Number number of current window in tab page
taglist({expr} [, {filename}]) List list of tags matching {expr}
tagfiles() List tags files used
taglist({expr} [, {filename}]) List list of tags matching {expr}
tan({expr}) Float tangent of {expr}
tanh({expr}) Float hyperbolic tangent of {expr}
tempname() String name for a temporary file
@ -2843,9 +2859,9 @@ term_gettty({buf}, [{input}]) String get the tty name of a terminal
term_list() List get the list of terminal buffers
term_scrape({buf}, {row}) List get row of a terminal screen
term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
term_setansicolors({buf}, {colors})
none set ANSI palette in GUI color mode
term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
term_setkill({buf}, {how}) none set signal to stop job in terminal
term_setrestore({buf}, {command}) none set command to restore terminal
term_setsize({buf}, {rows}, {cols})
@ -2868,16 +2884,16 @@ test_null_job() Job null value for testing
test_null_list() List null value for testing
test_null_partial() Funcref null value for testing
test_null_string() String null value for testing
test_unknown() any unknown value for testing
test_void() any void value for testing
test_option_not_set({name}) none reset flag indicating option was set
test_override({expr}, {val}) none test with Vim internal overrides
test_refcount({expr}) Number get the reference count of {expr}
test_scrollbar({which}, {value}, {dragging})
none scroll in the GUI for testing
test_setmouse({row}, {col}) none set the mouse position for testing
test_srand_seed([seed]) none set seed for testing srand()
test_settime({expr}) none set current time for testing
test_srand_seed([seed]) none set seed for testing srand()
test_unknown() any unknown value for testing
test_void() any void value for testing
timer_info([{id}]) List information about timers
timer_pause({id}, {pause}) none pause or unpause a timer
timer_start({time}, {callback} [, {options}])
@ -2888,7 +2904,8 @@ tolower({expr}) String the String {expr} switched to lowercase
toupper({expr}) String the String {expr} switched to uppercase
tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr}
to chars in {tostr}
trim({text} [, {mask}]) String trim characters in {mask} from {text}
trim({text} [, {mask} [, {dir}]])
String trim characters in {mask} from {text}
trunc({expr}) Float truncate Float {expr}
type({name}) Number type of variable {name}
undofile({name}) String undo file name for {name}
@ -2912,6 +2929,7 @@ win_splitmove({nr}, {target} [, {options}])
Number move window {nr} to split of {target}
winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
windowsversion() String MS-Windows OS version
winheight({nr}) Number height of window {nr}
winlayout([{tabnr}]) List layout of windows in tab {tabnr}
winline() Number window line of the cursor
@ -3050,7 +3068,7 @@ arglistid([{winnr} [, {tabnr}]])
{winnr} can be the window number or the |window-ID|.
*argv()*
argv([{nr} [, {winid}])
argv([{nr} [, {winid}]])
The result is the {nr}th file in the argument list. See
|arglist|. "argv(0)" is the first one. Example: >
:let i = 0
@ -4027,7 +4045,7 @@ executable({expr}) *executable()*
On MS-Windows the ".exe", ".bat", etc. can optionally be
included. Then the extensions in $PATHEXT are tried. Thus if
"foo.exe" does not exist, "foo.exe.bat" can be found. If
$PATHEXT is not set then ".exe;.com;.bat;.cmd" is used. A dot
$PATHEXT is not set then ".com;.exe;.bat;.cmd" is used. A dot
by itself can be used in $PATHEXT to try using the name
without an extension. When 'shell' looks like a Unix shell,
then the name is also tried without adding an extension.
@ -4378,7 +4396,7 @@ feedkeys({string} [, {mode}]) *feedkeys()*
script continues.
Note that if you manage to call feedkeys() while
executing commands, thus calling it recursively, then
all typehead will be consumed by the last call.
all typeahead will be consumed by the last call.
'!' When used with 'x' will not end Insert mode. Can be
used in a test when a timer is set to exit Insert mode
a little later. Useful for testing CursorHoldI.
@ -4414,7 +4432,7 @@ filewritable({file}) *filewritable()*
directory, and we can write to it, the result is 2.
Can also be used as a |method|: >
GetName()->filewriteable()
GetName()->filewritable()
filter({expr1}, {expr2}) *filter()*
@ -5355,6 +5373,27 @@ getloclist({nr} [, {what}]) *getloclist()*
|location-list-file-window| for more
details.
getmarklist([{expr}] *getmarklist()*
Without the {expr} argument returns a |List| with information
about all the global marks. |mark|
If the optional {expr} argument is specified, returns the
local marks defined in buffer {expr}. For the use of {expr},
see |bufname()|.
Each item in the retuned List is a |Dict| with the following:
name - name of the mark prefixed by "'"
pos - a |List| with the position of the mark:
[bufnum, lnum, col, off]
Refer to |getpos()| for more information.
file - file name
Refer to |getpos()| for getting information about a specific
mark.
Can also be used as a |method|: >
GetBufnr()->getmarklist()
getmatches([{win}]) *getmatches()*
Returns a |List| with all matches previously defined for the
current window by |matchadd()| and the |:match| commands.
@ -5394,7 +5433,7 @@ getmousepos() *getmousepos()*
"screenrow" and "screencol" are valid, the others are zero.
When on the status line below a window or the vertical
separater right of a window, the "line" and "column" values
separator right of a window, the "line" and "column" values
are zero.
When the position is after the text then "column" is the
@ -5477,8 +5516,9 @@ getqflist([{what}]) *getqflist()*
id get information for the quickfix list with
|quickfix-ID|; zero means the id for the
current list or the list specified by "nr"
idx index of the current entry in the quickfix
list specified by 'id' or 'nr'.
idx get information for the quickfix entry at this
index in the list specified by 'id' or 'nr'.
If set to zero, then uses the current entry.
See |quickfix-index|
items quickfix list entries
lines parse a list of lines using 'efm' and return
@ -5514,7 +5554,7 @@ getqflist([{what}]) *getqflist()*
If not present, set to "".
id quickfix list ID |quickfix-ID|. If not
present, set to 0.
idx index of the current entry in the list. If not
idx index of the quickfix entry in the list. If not
present, set to 0.
items quickfix list entries. If not present, set to
an empty list.
@ -5854,7 +5894,7 @@ has({feature} [, {check}])
Note that to skip code that has a syntax error when the
feature is not available, Vim may skip the rest of the line
and miss a following `endif`. Therfore put the `endif` on a
and miss a following `endif`. Therefore put the `endif` on a
separate line: >
if has('feature')
let x = this->breaks->without->the->feature
@ -6792,6 +6832,7 @@ map({expr1}, {expr2}) *map()*
Can also be used as a |method|: >
mylist->map(expr2)
maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
@ -6824,7 +6865,10 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is there and it is |TRUE| return a dictionary
containing all the information of the mapping with the
following items:
"lhs" The {lhs} of the mapping.
"lhs" The {lhs} of the mapping as it would be typed
"lhsraw" The {lhs} of the mapping as raw bytes
"lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
form, only present when it differs from "lhsraw"
"rhs" The {rhs} of the mapping as typed.
"silent" 1 for a |:map-silent| mapping, else 0.
"noremap" 1 if the {rhs} of the mapping is not remappable.
@ -6843,6 +6887,9 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
"nowait" Do not wait for other, longer mappings.
(|:map-<nowait>|).
The dictionary can be used to restore a mapping with
|mapset()|.
The mappings local to the current buffer are checked first,
then the global mappings.
This function can be used to map a key even when it's already
@ -6888,6 +6935,23 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
Can also be used as a |method|: >
GetKey()->mapcheck('n')
mapset({mode}, {abbr}, {dict}) *mapset()*
Restore a mapping from a dictionary returned by |maparg()|.
{mode} and {abbr} should be the same as for the call to
|maparg()|. *E460*
{mode} is used to define the mode in which the mapping is set,
not the "mode" entry in {dict}.
Example for saving and restoring a mapping: >
let save_map = maparg('K', 'n', 0, 1)
nnoremap K somethingelse
...
call mapset('n', 0, save_map)
< Note that if you are going to replace a map in several modes,
e.g. with `:map!`, you need to save the mapping for all of
them, since they can differ.
match({expr}, {pat} [, {start} [, {count}]]) *match()*
When {expr} is a |List| then this returns the index of the
first item where {pat} matches. Each item is used as a
@ -7782,11 +7846,11 @@ rand([{expr}]) *rand()* *random*
:echo rand(seed)
:echo rand(seed) % 16 " random number 0 - 15
<
*readdir()*
readdir({directory} [, {expr}])
readdir({directory} [, {expr}]) *readdir()*
Return a list with file and directory names in {directory}.
You can also use |glob()| if you don't need to do complicated
things, such as limiting the number of matches.
The list will be sorted (case sensitive).
When {expr} is omitted all entries are included.
When {expr} is given, it is evaluated to check what to do:
@ -7796,6 +7860,7 @@ readdir({directory} [, {expr}])
added to the list.
If {expr} results in 1 then this entry will be added
to the list.
The entries "." and ".." are always excluded.
Each time {expr} is evaluated |v:val| is set to the entry name.
When {expr} is a function the name is passed as the argument.
For example, to get a list of files ending in ".txt": >
@ -7813,6 +7878,59 @@ readdir({directory} [, {expr}])
<
Can also be used as a |method|: >
GetDirName()->readdir()
<
readdirex({directory} [, {expr}]) *readdirex()*
Extended version of |readdir()|.
Return a list of Dictionaries with file and directory
information in {directory}.
This is useful if you want to get the attributes of file and
directory at the same time as getting a list of a directory.
This is much faster than calling |readdir()| then calling
|getfperm()|, |getfsize()|, |getftime()| and |getftype()| for
each file and directory especially on MS-Windows.
The list will be sorted by name (case sensitive).
The Dictionary for file and directory information has the
following items:
group Group name of the entry. (Only on Unix)
name Name of the entry.
perm Permissions of the entry. See |getfperm()|.
size Size of the entry. See |getfsize()|.
time Timestamp of the entry. See |getftime()|.
type Type of the entry.
On Unix, almost same as |getftype()| except:
Symlink to a dir "linkd"
Other symlink "link"
On MS-Windows:
Normal file "file"
Directory "dir"
Junction "junction"
Symlink to a dir "linkd"
Other symlink "link"
Other reparse point "reparse"
user User name of the entry's owner. (Only on Unix)
On Unix, if the entry is a symlink, the Dictionary includes
the information of the target (except the "type" item).
On MS-Windows, it includes the information of the symlink
itself because of performance reasons.
When {expr} is omitted all entries are included.
When {expr} is given, it is evaluated to check what to do:
If {expr} results in -1 then no further entries will
be handled.
If {expr} results in 0 then this entry will not be
added to the list.
If {expr} results in 1 then this entry will be added
to the list.
The entries "." and ".." are always excluded.
Each time {expr} is evaluated |v:val| is set to a Dictionary
of the entry.
When {expr} is a function the entry is passed as the argument.
For example, to get a list of files ending in ".txt": >
readdirex(dirname, {e -> e.name =~ '.txt$'})
<
Can also be used as a |method|: >
GetDirName()->readdirex()
<
*readfile()*
readfile({fname} [, {type} [, {max}]])
@ -7851,6 +7969,26 @@ readfile({fname} [, {type} [, {max}]])
Can also be used as a |method|: >
GetFileName()->readfile()
reduce({object}, {func} [, {initial}]) *reduce()* *E998*
{func} is called for every item in {object}, which can be a
|List| or a |Blob|. {func} is called with two arguments: the
result so far and current item. After processing all items
the result is returned.
{initial} is the initial result. When omitted, the first item
in {object} is used and {func} is first called for the second
item. If {initial} is not given and {object} is empty no
result can be computed, an E998 error is given.
Examples: >
echo reduce([1, 3, 5], { acc, val -> acc + val })
echo reduce(['x', 'y'], { acc, val -> acc .. val }, 'a')
echo reduce(0z1122, { acc, val -> 2 * acc + val })
<
Can also be used as a |method|: >
echo mylist->reduce({ acc, val -> acc + val }, 0)
reg_executing() *reg_executing()*
Returns the single letter name of the register being executed.
Returns an empty string when no register is being executed.
@ -8226,8 +8364,9 @@ screenstring({row}, {col}) *screenstring()*
Can also be used as a |method|: >
GetRow()->screenstring(col)
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
<
*search()*
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
Search for regexp pattern {pattern}. The search starts at the
cursor position (you can use |cursor()| to set it).
@ -8275,6 +8414,15 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
giving the argument.
{only available when compiled with the |+reltime| feature}
If the {skip} expression is given it is evaluated with the
cursor positioned on the start of a match. If it evaluates to
non-zero this match is skipped. This can be used, for
example, to skip a match in a comment or a string.
{skip} can be a string, which is evaluated as an expression, a
function reference or a lambda.
When {skip} is omitted or empty, every match is accepted.
When evaluating {skip} causes an error the search is aborted
and -1 returned.
*search()-sub-match*
With the 'p' flag the returned value is one more than the
first sub-match in \(\). One if none of them matched but the
@ -8316,6 +8464,128 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
Can also be used as a |method|: >
GetPattern()->search()
searchcount([{options}]) *searchcount()*
Get or update the last search count, like what is displayed
without the "S" flag in 'shortmess'. This works even if
'shortmess' does contain the "S" flag.
This returns a Dictionary. The dictionary is empty if the
previous pattern was not set and "pattern" was not specified.
key type meaning ~
current |Number| current position of match;
0 if the cursor position is
before the first match
exact_match |Boolean| 1 if "current" is matched on
"pos", otherwise 0
total |Number| total count of matches found
incomplete |Number| 0: search was fully completed
1: recomputing was timed out
2: max count exceeded
For {options} see further down.
To get the last search count when |n| or |N| was pressed, call
this function with `recompute: 0` . This sometimes returns
wrong information because |n| and |N|'s maximum count is 99.
If it exceeded 99 the result must be max count + 1 (100). If
you want to get correct information, specify `recompute: 1`: >
" result == maxcount + 1 (100) when many matches
let result = searchcount(#{recompute: 0})
" Below returns correct result (recompute defaults
" to 1)
let result = searchcount()
<
The function is useful to add the count to |statusline|: >
function! LastSearchCount() abort
let result = searchcount(#{recompute: 0})
if empty(result)
return ''
endif
if result.incomplete ==# 1 " timed out
return printf(' /%s [?/??]', @/)
elseif result.incomplete ==# 2 " max count exceeded
if result.total > result.maxcount &&
\ result.current > result.maxcount
return printf(' /%s [>%d/>%d]', @/,
\ result.current, result.total)
elseif result.total > result.maxcount
return printf(' /%s [%d/>%d]', @/,
\ result.current, result.total)
endif
endif
return printf(' /%s [%d/%d]', @/,
\ result.current, result.total)
endfunction
let &statusline .= '%{LastSearchCount()}'
" Or if you want to show the count only when
" 'hlsearch' was on
" let &statusline .=
" \ '%{v:hlsearch ? LastSearchCount() : ""}'
<
You can also update the search count, which can be useful in a
|CursorMoved| or |CursorMovedI| autocommand: >
autocmd CursorMoved,CursorMovedI *
\ let s:searchcount_timer = timer_start(
\ 200, function('s:update_searchcount'))
function! s:update_searchcount(timer) abort
if a:timer ==# s:searchcount_timer
call searchcount(#{
\ recompute: 1, maxcount: 0, timeout: 100})
redrawstatus
endif
endfunction
<
This can also be used to count matched texts with specified
pattern in the current buffer using "pattern": >
" Count '\<foo\>' in this buffer
" (Note that it also updates search count)
let result = searchcount(#{pattern: '\<foo\>'})
" To restore old search count by old pattern,
" search again
call searchcount()
<
{options} must be a Dictionary. It can contain:
key type meaning ~
recompute |Boolean| if |TRUE|, recompute the count
like |n| or |N| was executed.
otherwise returns the last
computed result (when |n| or
|N| was used when "S" is not
in 'shortmess', or this
function was called).
(default: |TRUE|)
pattern |String| recompute if this was given
and different with |@/|.
this works as same as the
below command is executed
before calling this function >
let @/ = pattern
< (default: |@/|)
timeout |Number| 0 or negative number is no
timeout. timeout milliseconds
for recomputing the result
(default: 0)
maxcount |Number| 0 or negative number is no
limit. max count of matched
text while recomputing the
result. if search exceeded
total count, "total" value
becomes `maxcount + 1`
(default: 0)
pos |List| `[lnum, col, off]` value
when recomputing the result.
this changes "current" result
value. see |cursor()|, |getpos()
(default: cursor's position)
searchdecl({name} [, {global} [, {thisblock}]]) *searchdecl()*
Search for the declaration of {name}.
@ -8436,7 +8706,8 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
<
See |match-parens| for a bigger and more useful example.
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
*searchpos()*
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
Same as |search()|, but returns a |List| with the line and
column position of the match. The first element of the |List|
is the line number and the second element is the byte index of
@ -8786,6 +9057,11 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
nr list number in the quickfix stack; zero
means the current quickfix list and "$" means
the last quickfix list.
quickfixtextfunc
function to get the text to display in the
quickfix window. Refer to
|quickfix-window-function| for an explanation
of how to write the function and an example.
title quickfix list title text. See |quickfix-title|
Unsupported keys in {what} are ignored.
If the "nr" item is not present, then the current quickfix list
@ -9381,8 +9657,8 @@ str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
<
When {base} is 16 a leading "0x" or "0X" is ignored. With a
different base the result will be zero. Similarly, when
{base} is 8 a leading "0" is ignored, and when {base} is 2 a
leading "0b" or "0B" is ignored.
{base} is 8 a leading "0", "0o" or "0O" is ignored, and when
{base} is 2 a leading "0b" or "0B" is ignored.
Text after the number is silently ignored.
Can also be used as a |method|: >
@ -10191,13 +10467,22 @@ tr({src}, {fromstr}, {tostr}) *tr()*
Can also be used as a |method|: >
GetText()->tr(from, to)
trim({text} [, {mask}]) *trim()*
trim({text} [, {mask} [, {dir}]]) *trim()*
Return {text} as a String where any character in {mask} is
removed from the beginning and end of {text}.
removed from the beginning and/or end of {text}.
If {mask} is not given, {mask} is all characters up to 0x20,
which includes Tab, space, NL and CR, plus the non-breaking
space character 0xa0.
This code deals with multibyte characters properly.
The optional {dir} argument specifies where to remove the
characters:
0 remove from the beginning and end of {text}
1 remove only at the beginning of {text}
2 remove only at the end of {text}
When omitted both ends are trimmed.
This function deals with multibyte characters properly.
Examples: >
echo trim(" some text ")
@ -10205,7 +10490,9 @@ trim({text} [, {mask}]) *trim()*
echo trim(" \r\t\t\r RESERVE \t\n\x0B\xA0") . "_TAIL"
< returns "RESERVE_TAIL" >
echo trim("rm<Xrm<>X>rrm", "rm<>")
< returns "Xrm<>X" (characters in the middle are not removed)
< returns "Xrm<>X" (characters in the middle are not removed) >
echo trim(" vim ", " ", 2)
< returns " vim"
Can also be used as a |method|: >
GetText()->trim()
@ -11116,6 +11403,8 @@ See |:verbose-cmd| for more information.
NOTE: Use ! wisely. If used without care it can cause
an existing function to be replaced unexpectedly,
which is hard to debug.
NOTE: In Vim9 script script-local functions cannot be
deleted or redefined.
For the {arguments} see |function-argument|.
@ -13319,13 +13608,16 @@ instead of failing in mysterious ways.
<
*scriptversion-4* >
:scriptversion 4
< Numbers with a leading zero are not recognized as octal. With the
< Numbers with a leading zero are not recognized as octal. "0o" or "0O"
is still recognized as octal. With the
previous version you get: >
echo 017 " displays 15
echo 018 " displays 18
echo 017 " displays 15 (octal)
echo 0o17 " displays 15 (octal)
echo 018 " displays 18 (decimal)
< with script version 4: >
echo 017 " displays 17
echo 018 " displays 18
echo 017 " displays 17 (decimal)
echo 0o17 " displays 15 (octal)
echo 018 " displays 18 (decimal)
< Also, it is possible to use single quotes inside numbers to make them
easier to read: >
echo 1'000'000

48
runtime/doc/evim-tr.1 Normal file
View File

@ -0,0 +1,48 @@
.TH EVIM 1 "16 <20>ubat 2002"
.SH AD
evim \- kolay Vim, bir dosyay<61> Vim ile herhangi bir kip olmadan d<>zenleyin
.SH <EFBFBD>ZET
.br
.B evim
[se<73>enekler] [dosya ..]
.br
.B eview
.SH TANIM
.B eVim,
.B Vim'i
ba<EFBFBD>lat<EFBFBD>r ve onu herhangi bir kipsiz d<>zenleyici gibi davranmas<61>n<EFBFBD> sa<73>lar.
Bu bildi<64>iniz Vim'dir, ancak bir t<>kla ve yaz d<>zenleyicisi gibi <20>al<61><6C><EFBFBD>r.
Bir <20>rnek vermek gerekirse MS-Windows <20>zerindeki Not Defteri gibi d<><64><EFBFBD>n<EFBFBD>n.
.B eVim
men<EFBFBD>lere ve ara<72> <20>ubuklar<61>na eri<72>im sa<73>layabilmeniz i<>in grafik arabirimde <20>al<61><6C><EFBFBD>r.
.PP
Yaln<EFBFBD>zca Vim ile normal bi<62>imde <20>al<61><6C>amayan ki<6B>ilerin kullan<61>m<EFBFBD> i<>indir.
Dosya d<>zenleme i<>i <20>ok daha verimsiz olacakt<6B>r.
.PP
.B eview'<27>n
ayn<EFBFBD>s<EFBFBD>d<EFBFBD>r, ancak saltokunur kipte ba<62>lar. evim \-R ile de ba<62>lat<61>labilir.
.PP
Vim hakk<6B>nda ayr<79>nt<6E>l<EFBFBD> bilgi i<>in: vim(1)
.PP
Do<EFBFBD>rudan metin giri<72>ini sa<73>layabilmek i<>in 'insertmode' se<73>ene<6E>i a<><61>l<EFBFBD>r.
.br
E<EFBFBD>lemlemeler Kopyala ve Yap<61><70>t<EFBFBD>r MS-Windows ile ayn<79> olacak bi<62>imde ayarlan<61>r.
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yap<61><70>t<EFBFBD>r<EFBFBD>r.
CTRL-V'nin orijinal i<>levi i<>in CTRL-Q kullan<61>n.
.SH SE<EFBFBD>ENEKLER
Bilgi i<>in: vim(1).
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/evim.vim
eVim'i ilklendirmek i<>in kullan<61>lan betik.
.SH NAM-I D<EFBFBD><EFBFBD>ER
Nam-<2D> di<64>er "Lastik <20>izmeliler i<>in Vim" (Gumbies, Monty Python).
eVim'i kullan<61>rken bir mendili al<61>p iki ucundan birer d<><64><EFBFBD>m yapman<61>z
ve kafan<61>za takman<61>z beklenir.
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in Yard<72>m/Te<54>ekk<6B>rler men<65>s<EFBFBD>ne bak<61>n.

View File

@ -0,0 +1,48 @@
.TH EVIM 1 "16 Şubat 2002"
.SH AD
evim \- kolay Vim, bir dosyayı Vim ile herhangi bir kip olmadan düzenleyin
.SH ÖZET
.br
.B evim
[seçenekler] [dosya ..]
.br
.B eview
.SH TANIM
.B eVim,
.B Vim'i
başlatır ve onu herhangi bir kipsiz düzenleyici gibi davranmasını sağlar.
Bu bildiğiniz Vim'dir, ancak bir tıkla ve yaz düzenleyicisi gibi çalışır.
Bir örnek vermek gerekirse MS-Windows üzerindeki Not Defteri gibi düşünün.
.B eVim
menülere ve araç çubuklarına erişim sağlayabilmeniz için grafik arabirimde çalışır.
.PP
Yalnızca Vim ile normal biçimde çalışamayan kişilerin kullanımı içindir.
Dosya düzenleme işi çok daha verimsiz olacaktır.
.PP
.B eview'ün
aynısıdır, ancak saltokunur kipte başlar. evim \-R ile de başlatılabilir.
.PP
Vim hakkında ayrıntılı bilgi için: vim(1)
.PP
Doğrudan metin girişini sağlayabilmek için 'insertmode' seçeneği açılır.
.br
Eşlemlemeler Kopyala ve Yapıştır MS-Windows ile aynı olacak biçimde ayarlanır.
CTRL-X metni keser, CTRL-C metni kopyalar ve CTRL-V metni yapıştırır.
CTRL-V'nin orijinal işlevi için CTRL-Q kullanın.
.SH SEÇENEKLER
Bilgi için: vim(1).
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/evim.vim
eVim'i ilklendirmek için kullanılan betik.
.SH NAM-I DİĞER
Nam-ı diğer "Lastik Çizmeliler için Vim" (Gumbies, Monty Python).
eVim'i kullanırken bir mendili alıp iki ucundan birer düğüm yapmanız
ve kafanıza takmanız beklenir.
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için Yardım/Teşekkürler menüsüne bakın.

View File

@ -198,13 +198,13 @@ Remarks about specific systems ~
|os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows common items
|os_haiku.txt| Haiku
|os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|os_os2.txt| OS/2
|os_qnx.txt| QNX
|os_risc.txt| RISC-OS
|os_haiku.txt| Haiku
|os_unix.txt| Unix
|os_vms.txt| VMS
|os_win32.txt| MS-Windows

View File

@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.2. Last change: 2019 Jul 21
*if_lua.txt* For Vim version 8.2. Last change: 2020 May 17
VIM REFERENCE MANUAL by Luis Carvalho
@ -199,6 +199,15 @@ Vim evaluation and command execution, and others.
returns it. Note that the buffer is not set as
current.
vim.call({name} [,{args}])
Proxy to call Vim function named {name} with
arguments {args}. Example: >
:lua print(vim.call('has', 'timers'))
<
vim.fn Proxy to call Vim functions. Proxy methods are
created on demand. Example: >
:lua print(vim.fn.has('timers'))
<
==============================================================================
3. List userdata *lua-list*

View File

@ -570,9 +570,15 @@ The examples below assume a 'shiftwidth' of 4.
with "#" does not work.
PN When N is non-zero recognize C pragmas, and indent them like any
other code; does not concern other preprocessor directives.
When N is zero (default): don't recognize C pragmas, treating
them like every other preprocessor directive.
The defaults, spelled out in full, are:
cinoptions=>s,e0,n0,f0,{0,}0,^0,L-1,:s,=s,l0,b0,gs,hs,N0,E0,ps,ts,is,+s,
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0,P0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.2. Last change: 2020 Mar 27
*index.txt* For Vim version 8.2. Last change: 2020 May 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -246,8 +246,7 @@ tag char note action in Normal mode ~
2 filter Nmove text through the {filter}
command
|!!| !!{filter} 2 filter N lines through the {filter} command
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
delete, yank or put (uppercase to append)
|quote| "{register} use {register} for next delete, yank or put
({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of
the ident under the cursor
@ -365,8 +364,8 @@ tag char note action in Normal mode ~
register x]
|Y| ["x]Y yank N lines [into register x]; synonym for
"yy"
|ZZ| ZZ store current file if modified, and exit
|ZQ| ZQ exit current file always
|ZZ| ZZ write if buffer changed and close window
|ZQ| ZQ close window without writing
|[| [{char} square bracket command (see |[| below)
\ not used
|]| ]{char} square bracket command (see |]| below)
@ -829,7 +828,7 @@ tag char note action in Normal mode ~
|zD| zD delete folds recursively
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
|zG| zG mark word as good spelled word
|zG| zG temporarily mark word as good spelled word
|zH| zH when 'wrap' off scroll half a screenwidth
to the right
|zL| zL when 'wrap' off scroll half a screenwidth
@ -838,7 +837,7 @@ tag char note action in Normal mode ~
|zN| zN set 'foldenable'
|zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold
|zW| zW mark word as wrong (bad) spelled word
|zW| zW temporarily mark word as bad spelled word
|zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above
window), otherwise like "z-"
@ -850,7 +849,7 @@ tag char note action in Normal mode ~
position the cursor at the end (right side)
of the screen
|zf| zf{motion} create a fold for Nmove text
|zg| zg mark word as good spelled word
|zg| zg permanently mark word as good spelled word
|zh| zh when 'wrap' off scroll screen N characters
to the right
|zi| zi toggle 'foldenable'
@ -871,7 +870,7 @@ tag char note action in Normal mode ~
|zuW| zuW undo |zW|
|zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zw| zw permanently mark word as bad spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window
|z<Left>| z<Left> same as "zh"
@ -1115,7 +1114,7 @@ tag char action in Terminal-Job mode ~
|t_CTRL-W_:| CTRL-W : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|t_CTRL-W_quote| CTRL-W " {register}
paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
@ -1263,6 +1262,7 @@ tag command action ~
|:debug| :deb[ug] run a command in debugging mode
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|:def| :def define a Vim9 user function
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|:delcommand| :delc[ommand] delete user-defined command
|:delfunction| :delf[unction] delete a user function
|:delmarks| :delm[arks] delete marks
@ -1722,7 +1722,7 @@ tag command action ~
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
|:xit| :x[it] write if buffer changed and close window
|:xall| :xa[ll] same as ":wqall"
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|:xmap| :xm[ap] like ":map" but for Visual mode

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2020 Mar 25
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@ -666,7 +666,7 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
Also, when doing completion with 'complete' mappings apply as usual.
*E565*
*E578* *E565*
Note: While completion is active Insert mode can't be used recursively and
buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
will generate an E565 error.

View File

@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
#
#ad hoc code
#
/^"\|\& / {gsub(/\|/,"\\&#124;"); }
/^"\|& / {gsub(/\|/,"\\&#124;"); }
/ = b / {gsub(/ b /," \\&#98; "); }
#
# one letter tag

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2019 Dec 19
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1492,7 +1492,7 @@ 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>* *:command-modifiers*
<mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2020 Apr 10
*options.txt* For Vim version 8.2. Last change: 2020 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
@ -5427,6 +5427,15 @@ A jump table for the options with a short description can be found at |Q_op|.
bin If included, numbers starting with "0b" or "0B" will be
considered to be binary. Example: Using CTRL-X on
"0b1000" subtracts one, resulting in "0b0111".
unsigned If included, numbers are recognized as unsigned. Thus a
leading dash or negative sign won't be considered as part of
the number. Examples:
Using CTRL-X on "2020" in "9-2020" results in "9-2019"
(without "unsigned" it would become "9-2021").
Using CTRL-A on "2020" in "9-2020" results in "9-2021"
(without "unsigned" it would become "9-2019").
Using CTRL-X on "0" or "18446744073709551615" (2^64) has
no effect, overflow is prevented.
Numbers which simply begin with a digit in the range 1-9 are always
considered decimal. This also happens for numbers that are not
recognized as octal or hex.
@ -5889,6 +5898,21 @@ A jump table for the options with a short description can be found at |Q_op|.
'pyxversion' has no effect. The pyx* functions and commands are
always the same as the compiled version.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'quickfixtextfunc'* *'qftf'*
'quickfixtextfunc' 'qftf' string (default "")
global
{only available when compiled with the |+quickfix|
feature}
This option specifies a function to be used to get the text to display
in the quickfix and location list windows. This can be used to
customize the information displayed in the quickfix or location window
for each entry in the corresponding quickfix or location list. See
|quickfix-window-function| for an explanation of how to write the
function and an example.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@ -8323,13 +8347,17 @@ A jump table for the options with a short description can be found at |Q_op|.
Currently, these messages are given:
>= 1 When the viminfo file is read or written.
>= 2 When a file is ":source"'ed.
>= 4 Shell commands.
>= 5 Every searched tags file and include file.
>= 8 Files for which a group of autocommands is executed.
>= 9 Every executed autocommand.
>= 11 Finding items in a path
>= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause.
>= 15 Every executed Ex command (truncated at 200 characters).
>= 15 Every executed Ex command from a script (truncated at 200
characters).
>= 16 Every executed Ex command
This option can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command.

View File

@ -1,4 +1,4 @@
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Mar 19
*os_haiku.txt* For Vim version 8.2. Last change: 2020 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@ -25,8 +25,9 @@ targets personal computing.
9. The meta key modifier |haiku-meta|
10. Mouse key mappings |haiku-mouse|
11. Color names |haiku-colors|
12. Credits |haiku-support-credits|
13. Bugs & to-do |haiku-bugs|
12. GUI Toolbar Images |haiku-toolbar-images|
13. Credits |haiku-support-credits|
14. Bugs & to-do |haiku-bugs|
1. General *haiku-general*
@ -46,12 +47,11 @@ features you can enable/disable.
Haiku uses "ncurses6" as its terminal library, therefore you need to have
"ncurses6_devel" package installed from HaikuDepot in order to configure
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
below for the initial build.
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
Now you should use "make" to compile Vim, then "make install" to install it.
For seamless integration into Haiku, the GUI-less vim binary should be
additionally installed over the GUI version. Typical build commands are: >
additionally installed over the GUI version. Typical build commands are:
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
@ -71,25 +71,25 @@ additionally installed over the GUI version. Typical build commands are: >
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
version with GUI tries to determine if it was started from the Tracker instead
of the Terminal, and if so, uses the GUI anyway. However, the current detection
of the Terminal, and if so, uses the GUI anyway. However, the current detection
scheme is fooled if you use the command "vim - </dev/null".
Stuff that does not work yet:
- Mouse up events are not generated when outside the window. This may be a bug in
Haiku. You can notice this when selecting text and moving the cursor outside
the window, then letting go of the mouse button. Another way is when you
drag the scrollbar and do the same thing. Because Vim still thinks you are
still playing with the scrollbar it won't change it itself. I provided a
workaround which kicks in when the window is activated or deactivated (so it
works best with focus- follows-mouse turned on).
- Mouse up events are not generated when outside the window. You can notice
this when selecting text and moving the cursor outside the window, then
letting go of the mouse button. Another way is when you drag the scrollbar
and do the same thing. Because Vim still thinks you are still playing with
the scrollbar it won't change it itself. There is a workaround which kicks
in when the window is activated or deactivated (so it works best with focus-
follows-mouse turned on).
- The cursor does not flash.
4. The $VIM directory *haiku-vimdir*
$VIM is the symbolic name for the place where Vim's support files are stored.
The default value for $VIM is set at compile time and can be determined with >
The default value for $VIM is set at compile time and can be determined with:
:version
@ -117,7 +117,7 @@ The normal value is /boot/home/config/settings.
You can drop files and directories on either the Vim icon (starts a new Vim
session, unless you use the File Types application to set Vim to be "Single
Launch") or on the Vim window (starts editing the files). Dropping a folder
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
sets Vim's current working directory |:cd| |:pwd|. If you drop files or
folders with either SHIFT key pressed, Vim changes directory to the folder
that contains the first item dropped. When starting Vim, there is no need to
press shift: Vim behaves as if you do.
@ -164,7 +164,7 @@ isn't a dotted-y, then for this font the encoding does not work.
If the font you specify is unavailable, you get the system fixed font.
GUI Font Selection Dialog is available at giving the >
GUI Font Selection Dialog is available at giving the:
:set guifont=*
@ -221,7 +221,7 @@ All the changes and patches released under vim-license.
Thank you, all!
13. Bugs & to-do *haiku-bugs*
14. Bugs & to-do *haiku-bugs*
The port is under development now and far away from the perfect state. For bug
reports, patches and wishes, please use the Vim mailing list or Vim Github

View File

@ -230,7 +230,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
SCO declares this behavior required for backwards compatibility with 16bit
DOS/Windows environments. The two commands below demonstrate the behavior:
>
echo Hello > file.bat~
echo Hello > file.bat~
dir > file.bat
<
The result is that the "dir" command updates the "file.bat~" file, instead

View File

@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.2. Last change: 2020 Apr 13
*popup.txt* For Vim version 8.2. Last change: 2020 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -150,6 +150,7 @@ different: *E863*
- When the job ends, the popup window closes.
- The popup window can be closed with `popup_close()`, the terminal buffer
then becomes hidden.
- It is not possible to open a second popup window with a terminal. *E861*
- The default Pmenu color is only used for the border and padding. To change
the color of the terminal itself set the Terminal highlight group before
creating the terminal. Setting 'wincolor' later can work but requires the
@ -197,6 +198,7 @@ Other:
|popup_getoptions()| get current options for a popup
|popup_getpos()| get actual position and size of a popup
|popup_locate()| find popup window at a screen position
|popup_list()| get list of all popups
DETAILS *popup-function-details*
@ -235,8 +237,15 @@ popup_beval({what}, {options}) *popup_beval()*
GetText()->popup_beval({})
<
*popup_clear()*
popup_clear() Emergency solution to a misbehaving plugin: close all popup
popup_clear([{force}])
Emergency solution to a misbehaving plugin: close all popup
windows for the current tab and global popups.
Close callbacks are not invoked.
When {force} is not present this will fail if the current
window is a popup.
When {force} is present and |TRUE| the popup is also closed
when it is the current window. If a terminal is running in a
popup it is killed.
popup_close({id} [, {result}]) *popup_close()*
@ -415,6 +424,10 @@ popup_hide({id}) *popup_hide()*
Can also be used as a |method|: >
GetPopup()->popup_hide()
popup_list() *popup_list()*
Return a List with the |window-ID| of all existing popups.
popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row}
and {col}. If there are multiple popups the one with the

View File

@ -15,6 +15,7 @@ This subject is introduced in section |30.1| of the user manual.
7. The error format |error-file-format|
8. The directory stack |quickfix-directory-stack|
9. Specific error file formats |errorformats|
10. Customizing the quickfix window |quickfix-window-function|
The quickfix commands are not available when the |+quickfix| feature was
disabled at compile time.
@ -1921,6 +1922,59 @@ error messages into a format that quickfix mode will understand. See the
start of the file about how to use it. (This script is deprecated, see
|compiler-perl|.)
=============================================================================
10. Customizing the quickfix window *quickfix-window-function*
The default format for the lines displayed in the quickfix window and location
list window is:
<filename>|<lnum> col <col>|<text>
The values displayed in each line correspond to the "bufnr", "lnum", "col" and
"text" fields returned by the |getqflist()| function.
For some quickfix/location lists, the displayed text need to be customized.
For example, if only the filename is present for a quickfix entry, then the
two "|" field separator characters after the filename are not needed. Another
use case is to customize the path displayed for a filename. By default, the
complete path (which may be too long) is displayed for files which are not
under the current directory tree. The file path may need to be simplified to a
common parent directory.
The displayed text can be customized by setting the 'quickfixtextfunc' option
to a Vim function. This function will be called with a dict argument for
every entry in a quickfix or a location list. The dict argument will have the
following fields:
quickfix set to 1 when called for a quickfix list and 0 when called for
a location list.
id quickfix or location list identifier
idx index of the entry in the quickfix or location list
The function should return a single line of text to display in the quickfix
window for the entry identified by idx. The function can obtain information
about the current entry using the |getqflist()| function and specifying the
quickfix list identifier "id" and the entry index "idx".
If a quickfix or location list specific customization is needed, then the
'quickfixtextfunc' attribute of the list can be set using the |setqflist()| or
|setloclist()| function. This overrides the global 'quickfixtextfunc' option.
The example below displays the list of old files (|v:oldfiles|) in a quickfix
window. As there is no line, column number and error text information
associated with each entry, the 'quickfixtextfunc' function returns only the
filename.
Example: >
" create a quickfix list from v:oldfiles
call setqflist([], ' ', {'lines' : v:oldfiles, 'efm' : '%f',
\ 'quickfixtextfunc' : 'QfOldFiles'})
func QfOldFiles(info)
" get information about the specific quickfix entry
let e = getqflist({'id' : a:info.id, 'idx' : a:info.idx,
\ 'items' : 1}).items[0]
" return the simplified file name
return fnamemodify(bufname(e.bufnr), ':p:.')
endfunc
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*recover.txt* For Vim version 8.2. Last change: 2020 Mar 24
*recover.txt* For Vim version 8.2. Last change: 2020 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@ -125,12 +125,12 @@ If you want to make sure that your changes are in the swap file use this
command:
*:pre* *:preserve* *E313* *E314*
:pre[serve] Write all text for all buffers into swap files. The
original file is no longer needed for recovery.
This sets a flag in the current buffer. When the '&'
flag is present in 'cpoptions' the swap file will not
be deleted for this buffer when Vim exits and the
buffer is still loaded |cpo-&|.
:pre[serve] Write all text for the current buffer into its swap
file. The original file is no longer needed for
recovery. This sets a flag in the current buffer.
When the '&' flag is present in 'cpoptions' the swap
file will not be deleted for this buffer when Vim
exits and the buffer is still loaded |cpo-&|.
A Vim swap file can be recognized by the first six characters: "b0VIM ".
After that comes the version number, e.g., "3.0".

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.2. Last change: 2019 Dec 07
*repeat.txt* For Vim version 8.2. Last change: 2020 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@ -126,6 +126,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
recorded macro and the yank will overwrite the
recorded macro.
Note: The recording happens while you type, replaying
the register happens as if the keys come from a
mapping. This matters, for example, for undo, which
only syncs when commands were typed.
q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless
it was the result of a mapping)
@ -137,7 +142,7 @@ q Stops recording. (Implementation note: The 'q' that
used.
The register is executed like a mapping, that means
that the difference between 'wildchar' and 'wildcharm'
applies.
applies, and undo might not be synced in the same way.
For "@=" you are prompted to enter an expression. The
result of the expression is then executed.
See also |@:|.
@ -166,7 +171,7 @@ q Stops recording. (Implementation note: The 'q' that
[addr] (default is current line).
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
:[addr]@@ Repeat the previous :@{register}. First set cursor at
line [addr] (default is current line).
==============================================================================

View File

@ -3636,6 +3636,26 @@ DEFINING CASE *:syn-case* *E390*
:sy[ntax] case
Show either "syntax case match" or "syntax case ignore" (translated).
DEFINING FOLDLEVEL *:syn-foldlevel*
:sy[ntax] foldlevel [start | minimum]
This defines how the foldlevel of a line is computed when using
foldmethod=syntax (see |fold-syntax| and |:syn-fold|):
start: Use level of item containing start of line.
minimum: Use lowest local-minimum level of items on line.
The default is 'start'. Use 'minimum' to search a line horizontally
for the lowest level contained on the line that is followed by a
higher level. This produces more natural folds when syntax items
may close and open horizontally within a line.
:sy[ntax] foldlevel
Show either "syntax foldlevel start" or "syntax foldlevel minimum".
{not meaningful when Vim was compiled without |+folding| feature}
SPELL CHECKING *:syn-spell*
:sy[ntax] spell [toplevel | notoplevel | default]
@ -4099,6 +4119,8 @@ This will make each {} block form one fold.
The fold will start on the line where the item starts, and end where the item
ends. If the start and end are within the same line, there is no fold.
The 'foldnestmax' option limits the nesting of syntax folds.
See |:syn-foldlevel| to control how the foldlevel of a line is computed
from its syntax items.
{not available when Vim was compiled without |+folding| feature}
@ -4901,6 +4923,10 @@ cterm={attr-list} *highlight-cterm*
ctermfg={color-nr} *highlight-ctermfg* *E421*
ctermbg={color-nr} *highlight-ctermbg*
ctermul={color-nr} *highlight-ctermul*
These give the foreground (ctermfg), background (ctermbg) and
underline (ctermul) color to use in the terminal.
The {color-nr} argument is a color number. Its range is zero to
(not including) the number given by the termcap entry "Co".
The actual color with this number depends on the type of terminal
@ -4978,11 +5004,11 @@ ctermbg={color-nr} *highlight-ctermbg*
needs to reset the color when exiting. This is done with the "op"
termcap entry |t_op|. If this doesn't work correctly, try setting the
't_op' option in your .vimrc.
*E419* *E420*
When Vim knows the normal foreground and background colors, "fg" and
"bg" can be used as color names. This only works after setting the
colors for the Normal group and for the MS-Windows console. Example,
for reverse video: >
*E419* *E420* *E453*
When Vim knows the normal foreground, background and underline colors,
"fg", "bg" and "ul" can be used as color names. This only works after
setting the colors for the Normal group and for the MS-Windows
console. Example, for reverse video: >
:highlight Visual ctermfg=bg ctermbg=fg
< Note that the colors are used that are valid at the moment this
command are given. If the Normal group colors are changed later, the

View File

@ -2272,6 +2272,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:command-completion-custom map.txt /*:command-completion-custom*
:command-completion-customlist map.txt /*:command-completion-customlist*
:command-count map.txt /*:command-count*
:command-modifiers map.txt /*:command-modifiers*
:command-nargs map.txt /*:command-nargs*
:command-range map.txt /*:command-range*
:command-register map.txt /*:command-register*
@ -2316,6 +2317,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:debugg repeat.txt /*:debugg*
:debuggreedy repeat.txt /*:debuggreedy*
:def vim9.txt /*:def*
:defc vim9.txt /*:defc*
:defcompile vim9.txt /*:defcompile*
:del change.txt /*:del*
:delc map.txt /*:delc*
:delcommand map.txt /*:delcommand*
@ -4252,6 +4255,7 @@ E457 print.txt /*E457*
E458 message.txt /*E458*
E459 message.txt /*E459*
E46 message.txt /*E46*
E460 eval.txt /*E460*
E461 eval.txt /*E461*
E462 editing.txt /*E462*
E463 netbeans.txt /*E463*
@ -4363,6 +4367,7 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564*
E565 insert.txt /*E565*
E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568*
@ -4374,6 +4379,7 @@ E574 starting.txt /*E574*
E575 starting.txt /*E575*
E576 starting.txt /*E576*
E577 starting.txt /*E577*
E578 insert.txt /*E578*
E579 eval.txt /*E579*
E580 eval.txt /*E580*
E581 eval.txt /*E581*
@ -4675,6 +4681,7 @@ E855 autocmd.txt /*E855*
E858 eval.txt /*E858*
E859 eval.txt /*E859*
E86 windows.txt /*E86*
E861 popup.txt /*E861*
E862 eval.txt /*E862*
E863 popup.txt /*E863*
E864 pattern.txt /*E864*
@ -6124,6 +6131,7 @@ edit-files editing.txt /*edit-files*
edit-intro editing.txt /*edit-intro*
edit-no-break usr_25.txt /*edit-no-break*
edit-paragraph-join usr_25.txt /*edit-paragraph-join*
edit-window windows.txt /*edit-window*
editing.txt editing.txt /*editing.txt*
efm-%> quickfix.txt /*efm-%>*
efm-entries quickfix.txt /*efm-entries*
@ -7696,6 +7704,7 @@ mapmode-v map.txt /*mapmode-v*
mapmode-x map.txt /*mapmode-x*
mapping map.txt /*mapping*
mapping-functions usr_41.txt /*mapping-functions*
mapset() eval.txt /*mapset()*
mark motion.txt /*mark*
mark-functions usr_41.txt /*mark-functions*
mark-motions motion.txt /*mark-motions*
@ -8379,6 +8388,7 @@ popup_findpreview() popup.txt /*popup_findpreview()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
popup_hide() popup.txt /*popup_hide()*
popup_list() popup.txt /*popup_list()*
popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
@ -9456,6 +9466,7 @@ termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-variables terminal.txt /*termdebug-variables*
termdebug_map_K terminal.txt /*termdebug_map_K*
termdebug_popup terminal.txt /*termdebug_popup*
termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
@ -9959,6 +9970,7 @@ vim-variable eval.txt /*vim-variable*
vim.vim syntax.txt /*vim.vim*
vim7 version7.txt /*vim7*
vim8 version8.txt /*vim8*
vim9 vim9.txt /*vim9*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-import vim9.txt /*vim9-import*

View File

@ -322,6 +322,7 @@ OUTPUT CODES *terminal-output-codes*
t_ZR italics end *t_ZR* *'t_ZR'*
Added by Vim (there are no standard codes for these):
t_AU set underline color (ANSI) *t_AU* *'t_AU'*
t_Ce undercurl end *t_Ce* *'t_Ce'*
t_Cs undercurl mode *t_Cs* *'t_Cs'*
t_Te strikethrough end *t_Te* *'t_Te'*
@ -350,6 +351,7 @@ Added by Vim (there are no standard codes for these):
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|xterm-true-color|
t_8u set underline color (R, G, B) *t_8u* *'t_8u'*
t_BE enable bracketed paste mode *t_BE* *'t_BE'*
|xterm-bracketed-paste|
t_BD disable bracketed paste mode *t_BD* *'t_BD'*

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.2. Last change: 2020 Mar 26
*terminal.txt* For Vim version 8.2. Last change: 2020 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
@ -120,7 +120,7 @@ break (cursor keys start with an Esc, so they may break): >
You can also create menus similar to terminal mode mappings, but you have to
use |:tlmenu| instead of |:tmenu|.
< *options-in-terminal*
*options-in-terminal*
After opening the terminal window and setting 'buftype' to "terminal" the
TerminalOpen autocommand event is triggered. This makes it possible to set
options specifically for the window and buffer. Example: >
@ -161,6 +161,7 @@ terminal windows may be configured using the variable
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When
not using GUI colors, the terminal window always uses the 16 ANSI colors of
the underlying terminal.
When using `term_start()` the colors can be set with the "ansi_colors" option.
The |term_setansicolors()| function can be used to change the colors, and
|term_getansicolors()| to get the currently used colors.
@ -183,6 +184,10 @@ Command syntax ~
keep the terminal open in Terminal-Normal mode. This
can be changed with the ++close argument.
No Vim command can follow, any | is included in
[command]. Use `:execute` if you must have a Vim
command following in the same line.
A new buffer will be created, using [command] or
'shell' as the name, prefixed with a "!". If a buffer
by this name already exists a number is added in
@ -1301,7 +1306,7 @@ breakpoint, or use the "Clear breakpoint" right-click menu entry.
Inspecting variables ~
*termdebug-variables* *:Evaluate*
`:Evaluate` evaluate the expression under the cursor
`K` same
`K` same (see |termdebug_map_K| to disable)
`:Evaluate` {expr} evaluate {expr}
`:'<,'>Evaluate` evaluate the Visually selected text
@ -1332,6 +1337,10 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
*termdebug_use_prompt*
Prompt mode can be used even when the |+terminal| feature is present with: >
let g:termdebug_use_prompt = 1
<
*termdebug_map_K*
The K key is normally mapped to :Evaluate. If you do not want this use: >
let g:termdebug_map_K = 0
Communication ~

View File

@ -263,9 +263,8 @@ assert_equal({expected}, {actual} [, {msg}])
Can also be used as a |method|: >
mylist->assert_equal([1, 2, 3])
< *assert_equalfile()*
assert_equalfile({fname-one}, {fname-two})
assert_equalfile({fname-one}, {fname-two} [, {msg}])
When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|.
Also see |assert-return|.
@ -276,7 +275,6 @@ assert_equalfile({fname-one}, {fname-two})
Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log')
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
message is added to |v:errors|. Also see |assert-return|.

View File

@ -101,7 +101,7 @@ Manipulating text property types:
prop_type_add({name}, {props}) define a new property type
prop_type_change({name}, {props}) change an existing property type
prop_type_delete({name} [, {props}]) delete a property type
prop_type_get([{name} [, {props}]) get property type values
prop_type_get([{name} [, {props}]]) get property type values
prop_type_list([{props}]) get list of property types
@ -111,7 +111,7 @@ prop_add({lnum}, {col}, {props}) add a text property
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
remove all text properties
prop_find({props} [, {direction}]) search for a text property
prop_list({lnum} [, {props}) text properties in {lnum}
prop_list({lnum} [, {props}]) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
prop_type_get([{name} [, {props}]) *prop_type_get()*
prop_type_get([{name} [, {props}]]) *prop_type_get()*
Returns the properties of property type {name}. This is a
dictionary with the same fields as was given to
prop_type_add().

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Apr 20
*todo.txt* For Vim version 8.2. Last change: 2020 May 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,39 +38,59 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
Include src/po/vim.pot ?
Vim9 script:
more tests for # comments:
check all calls to ends_excmd() and test that space before # is needed.
next: ex_findpat()
func and partial types:
- Calling unknown user function does not give proper error message:
assert_equal('123text', RefDef2Arg()) typo for "RetDef2Arg"
- "func" inside "vim9script" doesn't work? (Ben Jackson, #5670)
- :func inside vim9script must still use a:arg
- define function and create funcref in one step:
let ref = def(arg: type): rettype
body
enddef
Making everything work:
- possible memory leak in test_vim9_func through compile_nested_function.
- memory leaks in test_vim9_expr
- memory leaks in test_vim9_script
- Test that a script-local function in Vim9 script cannot be deleted.
- Make "true" and "false" work in vim9script
- Test that a function defined inside a :def function is local to that
function, g: functions can be defined and script-local functions cannot be
defined.
Also:
- When wildcards are expanded, find `=expr` and evaluate it before invoking
the command. For example: :edit `=filename`
- make 0 == 'string' fail on the script level, like inside :def.
- Check that when using a user function name without prefix, it does not find
a global function. Prefixing g: is required.
- Compile: let [var, var] = expr
- Compile: for [key, value] in items(map)
- Assignment to dict doesn't work:
let ret: dict<string> = #{}
ret[i] = string(i)
- Appending to dict item doesn't work:
let d[i] ..= value
- Compile replacement of :s command: s/pat/\=expr/
- Compile redir to local variable: var_redir_start().
- Compile builtin functions that access local variables:
islocked()
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
- Expand `=expr` in :mkspell
- When evaluating constants for script variables, some functions could work:
has('asdf'), len('string')
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
Can we share the code from ex_let_const() between direct execution and
compiling?
- Disallow unlet for local/script/imported vars
- Make "++nr" work.
- Make closures work:
- Create closure in a loop. Need to make a list of them.
- expandcmd() with `=expr` in filename uses legacy expression.
- eval_expr() in ex_cexpr()
- eval_expr() call in dbg_parsearg() and debuggy_find()
- has() is compiled as a constant, but some checks are dynamic.
Check for dynamic values, such as "gui_running".
New syntax and functionality:
Improve error checking:
- "echo Func()" is an error if Func() does not return anything.
- Check all Ex commands, give error if they use an expression and should be
compiled.
Also:
- For range: make table of first ASCII character with flag to quickly check if
it can be a Vim9 command. E.g. "+" can, but "." can't.
- better implementation for partial and tests for that.
- Make "g:imported = Export.exported" work in Vim9 script.
- Make Foo.Bar() work to call the dict function. (#5676)
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
Can we share the code for :let between direct execution and compiling?
- Disallow unlet for local/script/imported vars
- Make "++nr" work.
- Check that import in legacy script works and puts item in s:
- Error in any command in "vim9script" aborts sourcing.
- Find a way to test expressions in legacy and Vim9 script without duplication
@ -90,11 +110,25 @@ Also:
- implement class
- implement interface
- predefined class: Promise<T>
- implement enum
- Make accessing varargs faster: arg[expr]
EVAL expr
LOADVARARG (varags idx)
Further improvements:
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
- Make inline function work, to be used as a funcref:
let ref = def(arg: type): rettype
body
enddef
- compile get_lambda_tv() in popup_add_timeout()
- inline call to map() and filter()
- compile "skip" argument of searchpair()
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
Popup windows:
- Can put focus in another window using API and "drop". (#6077)
- With some sequence get get hidden finished terminal buffer. (#5768)
Cannot close popup terminal (#5744)
Buffer can't be wiped, gets status "aF". (#5764)
@ -167,8 +201,12 @@ Terminal emulator window:
background process, the window remains open, because the channel still
exists (and output still shows). Perhaps close the window when an explicit
++close was used? (#5931)
- Using "CTRL-W :confirm quite" and selecting "yes" should work like ":quit!".
(Harm te Hennepe, #6129)
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
A bit like using CTRL-W N first.
Jump back like with "a" when any key is typed.
And use modeless selection. #2962
- Use CTRL-W CTRL-K to enter a digraph? #5371
- When Vim runs in the terminal and changes the title, the statusline needs to
@ -198,8 +236,10 @@ Terminal emulator window:
conversions.
Error numbers available:
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E856, E857, E861, E900
E453, E454, E489, E610, E611, E653, E856, E857, E861, E900
Patch to fix that typval related code is spread out. (Yegappan Lakshmanan,
#6093)
Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle:
@ -220,19 +260,41 @@ Patch to explain use of "%" in :!. (David Briscoe, #5591)
Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546)
Ready to include.
Patch to improve use of Lua path. (Prabir Shrestha, #6098)
Patch to make exepath() work better on MS-Windows. (#6115)
Patch to add "-d" to xxd. (#5616)
Patch for the Haiku port: #5961
Patch to add Turkish manual. (Emir Sarı, #5641)
Patch to add lua sleep function. (Prabir Shrestha, #6057)
Alternative: use vim.call and vim.fn: #6063
Patch to add getmarklist() (Yegappan, #6032)
Patch to support different color for undercurl in cterm.
(Timur Celik, #6011)
Patch to support cindent option to handle pragmas differently.
(Max Rumpf, #5468)
Patch to add ":syn foldlevel" to use fold level further down the line.
(Brad King, 2016 Oct 19, update 2017 Jan 30, now in #6087)
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
"make test_gui" crashed in submenu_change(). Fix and remove workaround in
add_pixmap_args().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif?
:map output does not clear the reset of the command line.
(#5623, also see #5962)
Patch to properly break CJK lines: Anton Kochkov, #3875
Flag in 'formatoptions' is not used in the tests.
@ -240,6 +302,9 @@ Flag in 'formatoptions' is not used in the tests.
Patch to add 'vtp' option. (#5344)
Needs better docs. Is there a better name?
Patch to add argument to trim() to only trim start or end of a string.
(Yegappan, #6126)
undo result wrong: Masato Nishihata, #4798
Patch for Template string: #4491. New pull: #4634
@ -248,7 +313,22 @@ Ready to include? Review the code.
When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
Patch to delete BeOS code. (#5817)
Patch to delete BeOS code. (#5817) Anyone who wants to keep it?
With bash ":make" does not set v:shell_error. Possible solution: set
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
Using mode() when "/pat" is used in Visual mode returns "v" instead of "c",
which is not useful. Return "c/v" instead. And "c/o" when using "d/pat".
#6127
When 'fileignorecase' is set ":e testfile.c" works to edit TestFile.c, but
":find testfile.c" does not ignore case.
Might be related to #6088.
When changing the crypt key the buffer should be considered modified.
Like when changing 'fileformat'. Save the old key in save_file_ff().
(Ninu-Ciprian Marginean)
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
(Paul Jolly, #5656)
@ -265,6 +345,8 @@ Patch to add function to return the text used in the quickfix window.
Patch to add readdirex() (Ken Takata, #5619)
Wrong error when using local arglist. (Harm te Hennepe, #6133)
Request to support <Cmd> in mappings, similar to how Neovim does this.
(Daniel Hahler, #4784)
@ -331,15 +413,13 @@ Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the BeOS code, which is likely not used anymore.
Now on github: #1856. Updated Oct 2017
Got permission to include this under the Vim license.
"--cleanFOO" does not result in an error. (#5537)
Add "t" action to settagstack(): truncate and add new entries. (#5405)
When 'relativenumber' is set the line just below a diff change doesn't get
updated. (#6138)
Result of synID() sometimes wrong in help files. (#5252)
Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496)
@ -1280,6 +1360,8 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
- Add ch_readlines(): for a channel in NL mode, reads as many lines as are
available. Should be more efficient than looping over ch_read() with
ch_status() to check for more.
- If buffer contents is changed in a callback, set w_redr_status so that it
gets redrawn in redraw_after_callback(). #6120
- Add a separate timeout for opening a socket. Currently it's fixed at 50
msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@ -1403,9 +1485,6 @@ Also with latest version.
Cannot delete a file with square brackets with delete(). (#696)
Patch to add ":syn foldlevel" to use fold level further down the line.
(Brad King, 2016 Oct 19, update 2017 Jan 30)
Completion for input() does not expand environment variables. (chdiza, 2016
Jul 25, #948)

View File

@ -402,7 +402,7 @@ Another way to start in diff mode can be done from inside Vim. Edit the
"main.c" file, then make a split and show the differences: >
:edit main.c
:vertical diffsplit main.c~
:vertical diffsplit main.c~
The ":vertical" command is used to make the window split vertically. If you
omit this, you will get a horizontal split.

View File

@ -687,7 +687,7 @@ with any motion command, with text objects and in Visual mode.
lowercase. This can be shortened to "guu". "gUgU" is shortened to "gUU" and
"g~g~" to "g~~". Example: >
g~~
g~~
< Some GIRLS have Fun ----> sOME girls HAVE fUN ~
==============================================================================

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.2. Last change: 2020 Mar 15
*usr_41.txt* For Vim version 8.2. Last change: 2020 Jun 01
VIM USER MANUAL - by Bram Moolenaar
@ -41,6 +41,11 @@ prefer. And you can use any colon command in it (commands that start with a
specific file type. A complicated macro can be defined by a separate Vim
script file. You can think of other uses yourself.
Note: if you are familiar with Python, you can find a comparison between
Python and Vim script here, with pointers to other documents:
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
Let's start with a simple example: >
:let i = 1
@ -631,6 +636,7 @@ List manipulation: *list-functions*
deepcopy() make a full copy of a List
filter() remove selected items from a List
map() change each List item
reduce() reduce a List to a value
sort() sort a List
reverse() reverse the order of a List
uniq() remove copies of repeated adjacent items
@ -687,6 +693,7 @@ Floating point computation: *float-functions*
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
isinf() check for infinity
isnan() check for not a number
Other computation: *bitwise-function*
@ -695,6 +702,8 @@ Other computation: *bitwise-function*
or() bitwise OR
xor() bitwise XOR
sha256() SHA-256 hash
rand() get a pseudo-random number
srand() initialize seed used by rand()
Variables: *var-functions*
type() type of a variable
@ -724,6 +733,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
getcurpos() get position of the cursor
getpos() get position of cursor, mark, etc.
setpos() set position of cursor, mark, etc.
getmarklist() list of global/local marks
byte2line() get line number at a specific byte count
line2byte() byte count at a specific line
diff_filler() get the number of filler lines above a line
@ -743,6 +753,7 @@ Working with text in the current buffer: *text-functions*
prevnonblank() find previous non-blank line
search() find a match for a pattern
searchpos() find a match for a pattern
searchcount() get number of matches before/after the cursor
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
@ -790,6 +801,7 @@ System functions and manipulation of files:
hostname() name of the system
readfile() read a file into a List of lines
readdir() get a List of file names in a directory
readdirex() get a List of file information in a directory
writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions*
@ -826,9 +838,11 @@ Buffers, windows and the argument list:
listener_remove() remove a listener callback
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gettype() get type of 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
win_splitmove() move window to a split of another window
getbufinfo() get a list with buffer information
gettabinfo() get a list with tab page information
getwininfo() get a list with window information
@ -905,6 +919,7 @@ Interactive: *interactive-functions*
getchar() get a character from the user
getcharmod() get modifiers for the last typed character
getmousepos() get last known mouse position
echoraw() output characters as-is
feedkeys() put characters in the typeahead queue
input() get a line from the user
inputlist() let the user pick an entry from a list
@ -946,6 +961,7 @@ Mappings and Menus: *mapping-functions*
hasmapto() check if a mapping exists
mapcheck() check if a matching mapping exists
maparg() get rhs of a mapping
mapset() restore a mapping
menu_info() get information about a menu item
wildmenumode() check if the wildmode is active
@ -966,11 +982,13 @@ Testing: *test-functions*
test_autochdir() enable 'autochdir' during startup
test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now
test_garbagecollect_soon() set a flag to free memory soon
test_getvalue() get value of an internal variable
test_ignore_error() ignore a specific error message
test_null_blob() return a null Blob
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_function() return a null Funcref
test_null_job() return a null Job
test_null_list() return a null List
test_null_partial() return a null Partial function
@ -980,6 +998,10 @@ Testing: *test-functions*
test_feedinput() add key sequence to input buffer
test_option_not_set() reset flag indicating option was set
test_scrollbar() simulate scrollbar movement in the GUI
test_refcount() return an expression's reference count
test_srand_seed() set the seed value for srand()
test_unknown() return a value with unknown type
test_void() return a value with void type
Inter-process communication: *channel-functions*
ch_canread() check if there is something to read
@ -991,8 +1013,8 @@ Inter-process communication: *channel-functions*
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
ch_evalexpr() evaluates an expression over channel
ch_evalraw() evaluates a raw string over channel
ch_evalexpr() evaluate an expression over channel
ch_evalraw() evaluate 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
@ -1005,7 +1027,7 @@ Inter-process communication: *channel-functions*
js_encode() encode an expression to a JSON string
js_decode() decode a JSON string to Vim types
Jobs: *job-functions*
Jobs: *job-functions*
job_start() start a job
job_stop() stop a job
job_status() get the status of a job
@ -1048,6 +1070,7 @@ Terminal window: *terminal-functions*
term_setkill() set signal to stop job in a terminal
term_setrestore() set command to restore a terminal
term_setsize() set the size of a terminal
term_setapi() set terminal JSON API function name prefix
Popup window: *popup-window-functions*
popup_create() create popup centered in the screen
@ -1066,9 +1089,13 @@ Popup window: *popup-window-functions*
popup_close() close one popup
popup_clear() close all popups
popup_filter_menu() select from a list of items
popup_filter_yesno() blocks until 'y' or 'n' is pressed
popup_filter_yesno() block until 'y' or 'n' is pressed
popup_getoptions() get current options for a popup
popup_getpos() get actual position and size of a popup
popup_findinfo() get window ID for popup info window
popup_findpreview() get window ID for popup preview window
popup_list() get list of all popup window IDs
popup_locate() get popup window ID from its screen position
Timers: *timer-functions*
timer_start() create a timer
@ -1088,8 +1115,27 @@ Prompt Buffer: *promptbuffer-functions*
prompt_setinterrupt() set interrupt callback for a buffer
prompt_setprompt() set the prompt text for a buffer
Text Properties: *text-property-functions*
prop_add() attach a property at a position
prop_clear() remove all properties from a line or lines
prop_find() search for a property
prop_list() return a list of all properties in a line
prop_remove() remove a property from a line
prop_type_add() add/define a property type
prop_type_change() change properties of a type
prop_type_delete() remove a text property type
prop_type_get() return the properties of a type
prop_type_list() return a list of all property types
Sound: *sound-functions*
sound_clear() stop playing all sounds
sound_playevent() play an event's sound
sound_playfile() play a sound file
sound_stop() stop playing a sound
Various: *various-functions*
mode() get current editing mode
state() get current busy state
visualmode() last visual mode used
exists() check if a variable, function, etc. exists
has() check if a feature is supported in Vim
@ -1098,6 +1144,9 @@ Various: *various-functions*
did_filetype() check if a FileType autocommand was used
eventhandler() check if invoked by an event handler
getpid() get process ID of Vim
getimstatus() check if IME status is active
interrupt() interrupt script execution
windowsversion() get MS-Windows version
libcall() call a function in an external library
libcallnr() idem, returning a number
@ -1115,12 +1164,14 @@ Various: *various-functions*
wordcount() get byte/word/char count of buffer
luaeval() evaluate Lua expression
luaeval() evaluate |Lua| expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
pyxeval() evaluate |python_x| expression
rubyeval() evaluate |Ruby| expression
debugbreak() interrupt a program being debugged
==============================================================================

544
runtime/doc/vim-tr.1 Normal file
View File

@ -0,0 +1,544 @@
.TH VIM 1 "11 Nisan 2006"
.SH AD
vim \- Vi IMproved, bir programc<6D>n<EFBFBD>n metin d<>zenleyicisi
.SH <EFBFBD>ZET
.br
.B vim
[se<73>enekler] [dosya ..]
.br
.B vim
[se<73>enekler] \-
.br
.B vim
[se<73>enekler] \-t etiket
.br
.B vim
[se<73>enekler] \-q [hatadosyas<61>]
.PP
.br
.B ex
.br
.B view
.br
.B gvim
.B gview
.B evim
.B eview
.br
.B rvim
.B rview
.B rgvim
.B rgview
.SH TANIM
.B Vim,
Vi ile yukar<61>ya do<64>ru uyumlu olan bir metin d<>zenleyicisidir.
Her t<>r d<>z metni d<>zenlemede kullan<61>labilir.
<EFBFBD>zellikle programlar<61> d<>zenlemede yararl<72>d<EFBFBD>r.
.PP
Vi <20>zerine yap<61>lm<6C><6D> bir<69>ok geli<6C>tirme ve iyile<6C>tirmeyi i<>erir:
<EFBFBD>ok d<>zeyli geri alma, <20>oklu pencereler ve arabellekler, s<>zdizim vurgulama,
komut sat<61>r<EFBFBD> d<>zenleme, dosya ad<61> tamamlama, <20>evrimi<6D>i yard<72>m, g<>rsel se<73>im vb.
.B Vim
ve Vi aras<61>ndaki de<64>i<EFBFBD>ikliklerin bir <20>zeti i<>in ":help vi_diff.txt"
dosyas<EFBFBD>na bir g<>z at<61>n.
.PP
.B Vim'i
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>rken gerekli olan yard<72>m<EFBFBD>n <20>o<EFBFBD>u <20>evrimi<6D>i yard<72>m sisteminden elde
edilebilir. Bunun i<>in ":help" komutunu kullanabilirsiniz.
A<EFBFBD>a<EFBFBD><EFBFBD>da <20>EVR<56>M<EFBFBD><4D><EFBFBD> YARDIM b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.PP
Genelde
.B Vim
tek bir dosyay<61> d<>zenlemek i<>in <20>u komutla <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r:
.PP
vim dosya
.PP
Biraz daha a<>acak olursak:
.PP
vim [se<73>enekler] [dosyalistesi]
.PP
E<EFBFBD>er dosya listesi sa<73>lanmam<61><6D>sa, d<>zenleyici bo<62> bir arabellek a<>ar.
Bunun d<><64><EFBFBD>nda a<>a<EFBFBD><61>daki d<>rt se<73>enekten bir tanesi de bir veya birden <20>ok
dosyay<EFBFBD> d<>zenlemek i<>in kullan<61>labilir.
.TP 12
dosya ..
Dosya adlar<61>n<EFBFBD>n bir listesi.
Bunlardan ilki ekrana getirilip arabelle<6C>e y<>klenir.
<EFBFBD>mle<EFBFBD> arabelle<6C>in ilk sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>l<EFBFBD>r.
Di<EFBFBD>er dosyalara ":next" komutu ile ge<67>ebilirsiniz.
Ad<EFBFBD> tire ile ba<62>layan bir dosyay<61> d<>zenlemek i<>in dosya listesinin ba<62><61>na
"\-\-" koyun.
.TP
\-
D<EFBFBD>zenlenecek dosya stdin'den okunur. Komutlar bir tty olmas<61> gereken
stderr'den okunur.
.TP
\-t {etiket}
D<EFBFBD>zenlenecek dosya ve bu dosyan<61>n ba<62>lang<6E><67> imle<6C> konumu bir "etiket"e
dayan<EFBFBD>r, bir t<>r b<>rakt<6B><74><EFBFBD>n<EFBFBD>z konumu belirten bir ayra<72> gibi.
Etiket dosyas<61>nda {etiket} aran<61>r, ili<6C>kin dosya <20>u anki dosya olur ve
ili<EFBFBD>kin komut <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
Bu genelde C programlar<61> i<>in kullan<61>l<EFBFBD>r, {etiket} bu durumda bir i<>lev
olabilir.
Bunun sonucunda bu i<>levi i<>eren dosya o anki dosya olur ve imle<6C> bu
i<EFBFBD>levin ba<62>lang<6E>c<EFBFBD>na konumland<6E>r<EFBFBD>l<EFBFBD>r.
Ek bilgi i<>in: ":help tag\-commands".
.TP
\-q [hatadosyas<61>]
H<EFBFBD>zl<EFBFBD> d<>zelt kipinde ba<62>lat
[hatadosyas<61>] okunur ve ilk hata g<>r<EFBFBD>nt<6E>lenir.
E<EFBFBD>er [hatadosyas<61>] sa<73>lanmazsa, dosya ad<61> 'errorfile' se<73>ene<6E>inden al<61>n<EFBFBD>r
(<28>ntan<61>ml<6D> olarak Amiga i<>in "AztecC.Err", di<64>er sistemlerde "errors.err").
Sonraki hatalara ":cn" komutu ile ge<67>ilebilir.
Ek bilgi i<>in: ":help quickfix".
.PP
.B Vim
girilen komutun ad<61>na g<>re de<64>i<EFBFBD>ik bi<62>imde davran<61>r (<28>al<61><6C>t<EFBFBD>r<EFBFBD>labilir h<>l<EFBFBD>
ayn<EFBFBD> dosya olarak kalabilir).
.TP 10
vim
"Normal" kip, standart <20>al<61><6C>ma bi<62>imi.
.TP
ex
Ex kipinde ba<62>lat.
"\-e" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
Normal kipe ":vi" komutu ile ge<67>ilebilir.
.TP
view
Saltokunur kipte ba<62>lat. Bu kipte dosya yaz<61>m<EFBFBD>na izin verilmez.
"\-R" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
gvim gview
Grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
Yeni bir pencere a<>ar.
"\-g" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
evim eview
Kolay kipte ba<62>lat<61>lan grafik arabirim s<>r<EFBFBD>m<EFBFBD>.
Yeni bir pencere a<>ar.
"\-y" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.TP
rvim rview rgvim rgview
Yukar<EFBFBD>daki ile ayn<79>, ancak s<>n<EFBFBD>rlamalar i<>erir. Kabuk komutlar<61>
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>lamaz veya
.B Vim
ask<EFBFBD>ya al<61>namaz.
"\-Z" de<64>i<EFBFBD>keni ile de ba<62>lat<61>labilir.
.SH SE<EFBFBD>ENEKLER
Se<EFBFBD>enekler bir s<>ra g<>zetmeksizin dosya adlar<61>ndan <20>nce veya sonra
kullan<EFBFBD>labilir.
Herhangi bir de<64>i<EFBFBD>ken i<>ermeyen se<73>enekler bir tirenin ard<72>nda s<>ralanabilir.
.TP 12
+[num]
<EFBFBD>lk dosya i<>in imle<6C> "num" sat<61>r<EFBFBD>nda konumland<6E>r<EFBFBD>lacakt<6B>r.
E<EFBFBD>er "num" eksikse imle<6C> en son sat<61>rda ba<62>lar.
.TP
+/{dizge}
<EFBFBD>lk dosya i<>in imle<6C> {dizgi}'nin ilk e<>le<6C>mesinin oldu<64>u sat<61>rda
konumland<EFBFBD>r<EFBFBD>lacakt<EFBFBD>r.
Kullan<EFBFBD>labilir arama dizgileri i<>in ":help search\-pattern" yaz<61>n.
.TP
+{komut}
.TP
\-c {komut}
<EFBFBD>lk dosya okunduktan sonra {komut} <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
{komut} bir Ex komutu olarak i<>letilir.
E<EFBFBD>er {komut} bo<62>luk i<>eriyorsa <20>ift t<>rnak i<>erisine al<61>nmal<61>d<EFBFBD>r (bu
kullan<EFBFBD>lan kabu<62>a ba<62>l<EFBFBD>d<EFBFBD>r).
<EFBFBD>rnek: Vim "+set si" main.c
.br
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
.TP
\-S {dosya}
<EFBFBD>lk dosya okunduktan sonra {dosya} kaynak al<61>n<EFBFBD>r.
\-c "source {dosya}" bu komutun e<>de<64>eridir.
{dosya}, '\-' ile ba<62>layamaz.
E<EFBFBD>er {dosya} sa<73>lanmazsa "Session.vim" kullan<61>l<EFBFBD>r (yaln<6C>zca \-S son
de<EFBFBD>i<EFBFBD>ken olarak kullan<61>ld<6C><64><EFBFBD>nda i<>e yarar).
.TP
\-\-cmd {komut}
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyas<61>n<EFBFBD> i<>letmeden
<EFBFBD>nce <20>al<61><6C>t<EFBFBD>r<EFBFBD>l<EFBFBD>r.
"\-c" komutundan ba<62><61>ms<6D>z olarak bu komutlardan 10 taneye kadar
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>rabilirsiniz.
.TP
\-A
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Arap<61>a klavye dizilimini kullanabilmesi i<>in
ARAP<EFBFBD>A deste<74>i ile derlenmi<6D>e bu se<73>enek
.B Vim'i
Arap<EFBFBD>a kipinde ba<62>lat<61>r ('arabic' se<73>ene<6E>i a<><61>l<EFBFBD>r). Aksi durumda
.B Vim
hata verip <20><>kar.
.TP
\-b
<EFBFBD>kili kip.
Bir <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri veya ikili dosyay<61> d<>zenlemeye olanacak sa<73>layacak
birka<EFBFBD> se<73>enek ayarlan<61>r.
.TP
\-C
Uyumlu kip. 'compatible' se<73>ene<6E>ini ayarlar.
Bu kipte
.B Vim
bir .vimrc dosyas<61> var olsa bile genelde Vi gibi davran<61>r.
.TP
\-d
Kar<EFBFBD><EFBFBD>la<EFBFBD>t<EFBFBD>rma kipinde ba<62>lat.
Bir, iki, <20><> veya d<>rt adet dosya ad<61> de<64>i<EFBFBD>keni olmal<61>d<EFBFBD>r.
.B Vim
b<EFBFBD>t<EFBFBD>n dosyalar<61> yan yana a<>ar ve aralar<61>ndaki de<64>i<EFBFBD>iklikleri g<>sterir.
vimdiff(1) gibi <20>al<61><6C><EFBFBD>r.
.TP
\-d {ayg<79>t}
{ayg<79>t}'<27> bir u<>birim olarak kullanmak i<>in a<>ar.
Yaln<EFBFBD>zca Amiga'da <20>al<61><6C><EFBFBD>r.
<EFBFBD>rnek:
"\-d con:20/30/600/150".
.TP
\-D
Hata ay<61>klama kipi. Bir beti<74>in ilk komutunu <20>al<61><6C>t<EFBFBD>r<EFBFBD>rken hata ay<61>klama
kipine ge<67>er.
.TP
\-e
.B Vim'i
Ex kipinde ba<62>lat<61>r, "ex" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79> i<>levi g<>r<EFBFBD>r.
.TP
\-E
.B Vim'i
geli<EFBFBD>tirilmi<EFBFBD> Ex kipinde ba<62>lat<61>r, "exim" <20>al<61><6C>t<EFBFBD>r<EFBFBD>labiliri ile ayn<79>
i<EFBFBD>levi g<>r<EFBFBD>r.
.TP
\-f
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
.B Vim
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
Amiga'da,
.B Vim
yeni bir pencere a<>mak i<>in yeniden ba<62>lat<61>lmaz.
Bu se<73>enek
.B Vim
d<EFBFBD>zenleme oturumunun bitmesini bekleyecek bir program taraf<61>ndan
ba<EFBFBD>lat<EFBFBD>ld<EFBFBD><EFBFBD><EFBFBD>nda kullan<61>lmal<61>d<EFBFBD>r (<28>rn. mail).
Amiga'da ":sh" ve ":!" komutlar<61> <20>al<61><6C>mayacakt<6B>r.
.TP
\-\-nofork
<EFBFBD>nplan. Grafik arabirim s<>r<EFBFBD>m<EFBFBD> i<>in
.B Vim
ba<EFBFBD>lad<EFBFBD><EFBFBD><EFBFBD> kabuktan ayr<79>lmayacak ve kendisini <20>atallamayacakt<6B>r.
.TP
\-F
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve Fars<72>a klavye dizilimini kullanabilmesi i<>in
FKMAP deste<74>i ile derlenmi<6D>se, bu se<73>enek
.B Vim'i
Fars<EFBFBD>a kipinde ba<62>lat<61>r ('fkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
Aksi durumda
.B Vim
hata verip <20><>kar.
.TP
\-g
E<EFBFBD>er
.B Vim
grafik arabirim deste<74>i ile derlenmi<6D>se bu se<73>enek grafik arabirimi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
E<EFBFBD>er grafik arabirim deste<74>i eklenmemi<6D>se
.B Vim
hata verir ve <20><>kar.
.TP
\-h
Komut sat<61>r<EFBFBD> de<64>i<EFBFBD>kenleri ve se<73>enekleri <20>zerine biraz yard<72>m sa<73>lar.
Bu komuttan sonra
.B Vim
<EFBFBD><EFBFBD>kar.
.TP
\-H
E<EFBFBD>er
.B Vim
sa<EFBFBD>dan sola yaz<61>lan dosyalar<61> ve <20>branca klavye dizilimini kullanabilmesi i<>in
RIGHTLEFT deste<74>i ile derlenmi<6D>se, bu se<73>enek
.B Vim'i
<EFBFBD>branca kipinde ba<62>lat<61>r ('hkmap' ve 'rightleft' se<73>enekleri a<><61>l<EFBFBD>r).
Aksi durumda
.B Vim
hata verir ve <20><>kar.
.TP
\-i {viminfo}
<EFBFBD>ntan<EFBFBD>ml<EFBFBD> "~/.viminfo" dosyas<61> yerine kullan<61>lacak olan viminfo dosyas<61>n<EFBFBD>
belirtmek i<>in kullan<61>l<EFBFBD>r.
Bu komut ayn<79> zamanda viminfo kullan<61>m<EFBFBD>n<EFBFBD> atlamak i<>in de kullan<61>labilir.
Bunun i<>in dosya ad<61> yerine "NONE" vermeniz yeterlidir.
.TP
\-L
\-r ile ayn<79>.
.TP
\-l
Lisp kipi.
Bu de<64>i<EFBFBD>ken 'lisp' ve 'showmatch' se<73>eneklerini a<>ar.
.TP
\-m
Dosya yazma se<73>ene<6E>i kapal<61>d<EFBFBD>r.
\'write' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak dosyay<61> yazmak olanakl<6B> de<64>ildir.
.TP
\-M
De<EFBFBD>i<EFBFBD>ikliklere izin verilmez. 'modifiable' ve 'write' se<73>enekleri kapat<61>l<EFBFBD>r,
b<EFBFBD>ylece de<64>i<EFBFBD>iklik yap<61>lamaz ve dosyalar yaz<61>lamaz.
Bu se<73>enekleri yeniden a<><61>p de<64>i<EFBFBD>iklik yapmay<61> etkinle<6C>tirebilirsiniz.
.TP
\-N
Uyumsuz kip. 'no-compatible' se<73>ene<6E>ini s<>f<EFBFBD>rlar.
Bu se<73>enekle birlikte
.B Vim
biraz daha d<>zg<7A>nce <20>al<61><6C><EFBFBD>r, ancak bir .vimrc dosyas<61> olmamas<61>na ra<72>men
Vi ile daha az uyumludur.
.TP
\-n
Bir takas dosyas<61> kullan<61>lmaz.
<EFBFBD><EFBFBD>kme sonras<61> kurtarma olanakl<6B> olmayacakt<6B>r.
E<EFBFBD>er <20>ok yava<76> bir ortamda dosya <20>al<61><6C><EFBFBD>yorsan<61>z (<28>rn. disket) yararl<72> olabilir.
":set uc=0" ile de yap<61>labilir.
Geri almak i<>in ":set uc=200" yap<61>n.
.TP
\-nb
NetBeans i<>in bir d<>zenleyici sunucusu olur. Ayr<79>nt<6E>lar i<>in belgelere bak<61>n.
.TP
\-o[N]
N say<61>da pencereyi <20>st <20>ste a<>ar.
N verilmezse, her dosya i<>in bir pencere a<>ar.
.TP
\-O[N]
N say<61>da pencereyi yan yana a<>ar.
N verilmezse, her dosya i<>in bir pencere a<>ar.
.TP
\-p[N]
N say<61>da sekme a<>ar.
N verilmezse, her dosya i<>in bir sekme a<>ar.
.TP
\-R
Saltokunur kip.
\'readonly' se<73>ene<6E>i a<><61>l<EFBFBD>r.
Arabelle<EFBFBD>i h<>l<EFBFBD> de<64>i<EFBFBD>tirebilirsiniz, ancak yanl<6E><6C>l<EFBFBD>kla dosyan<61>n <20>zerine
yazmaktan sizi korur.
Dosyan<EFBFBD>n <20>zerine yazmak istemiyorsan<61>z, Ex komutuna bir <20>nlem imi ekleyin,
<EFBFBD>rn. ":w!".
\-R se<73>ene<6E>i ayn<79> zamanda \-n se<73>ene<6E>ini de uygular (yukar<61>da bak<61>n).
\'readonly' se<73>ene<6E>i ":set noro" ile s<>f<EFBFBD>rlanabilir.
Ek bilgi i<>in: ":help 'readonly'".
.TP
\-r
Takas dosyalar<61>n<EFBFBD> i<>erdikleri kurtarma bilgilerini g<>sterecek bi<62>imde listeler.
.TP
\-r {dosya}
Kurtarma kipi.
<EFBFBD><EFBFBD>km<EFBFBD><EFBFBD> bir d<>zenleme oturumunu takas dosyas<61>n<EFBFBD> kullanarak kurtar<61>r.
Takas dosyas<61> dosya ile ayn<79> ada iye olup sonuna ".swp" eklenmi<6D>tir.
Ek bilgi i<>in: ":help recovery".
.TP
\-s
Sessiz kip. Yaln<6C>zca "Ex" olarak ba<62>lat<61>ld<6C><64><EFBFBD>nda veya "\-e" se<73>ene<6E>i
"\-s" se<73>ene<6E>inden <20>nce verildi<64>inde <20>al<61><6C><EFBFBD>r.
.TP
\-s {betikgir}
{betikgir} betik dosyas<61> okunur.
Dosyadaki karakterler onlar<61> siz girmi<6D>siniz gibi kabul edilir.
Ayn<EFBFBD>s<EFBFBD> ":source! {betikgir}" komutu ile de ger<65>ekle<6C>tirilebilir.
E<EFBFBD>er dosyan<61>n sonuna d<>zenleyici <20><>kmadan <20>nce gelinirse, sonraki karakterler
klavyeden okunur.
.TP
\-T {u<>birim}
.B Vim'e
kulland<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>z u<>birimin ad<61>n<EFBFBD> s<>yler.
Yaln<EFBFBD>zca kendili<6C>inden okunamazsa gereklidir.
.B Vim'in
tan<EFBFBD>d<EFBFBD><EFBFBD><EFBFBD> bir u<>birim olmal<61>d<EFBFBD>r veya termcap veya terminfo dosyas<61>nda
tan<EFBFBD>ml<EFBFBD> olmal<61>d<EFBFBD>r.
.TP
\-u {vimrc}
<EFBFBD>lklendirme i<>in {vimrc} dosyas<61>ndaki komutlar<61> kullan.
Di<EFBFBD>er t<>m ilklendirmeler atlan<61>r.
Bunu <20>zel t<>rde dosyalar<61> d<>zenlemek i<>in kullan<61>n.
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
Ek bilgi i<>in vim i<>inde ":help initialization" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.TP
\-U {gvimrc}
Grafik arabirim ilklendirmesi i<>in {gvimrc} dosyas<61>ndaki komutlara bak<61>n.
Di<EFBFBD>er t<>m grafik arabirim ilklendirmeleri atlan<61>r.
Dosya ad<61> olarak "NONE" verilirse t<>m <20>zelle<6C>tirmeler atlan<61>r.
Ek bilgi i<>in vim i<>inde ":help gui\-init" b<>l<EFBFBD>m<EFBFBD>ne bak<61>n.
.TP
\-V[N]
S<EFBFBD>zl<EFBFBD> anlat<61>m. Hangi dosyalar<61>n kaynak al<61>nd<6E><64><EFBFBD>n<EFBFBD> ve viminfo dosyas<61>ndan
nelerin okundu<64>unu yazd<7A>r<EFBFBD>r. 'verbose' i<>in iste<74>e ba<62>l<EFBFBD> N se<73>ene<6E>i
kullan<EFBFBD>labilir. <20>ntan<61>ml<6D> say<61> 10'dur.
.TP
\-v
.B Vim'i
"vi" yazarak ba<62>lat<61>rm<72><6D> gibi Vi kipinde ba<62>lat<61>r. Bu yaln<6C>zca
<EFBFBD>al<EFBFBD><EFBFBD>t<EFBFBD>r<EFBFBD>labilir "ex" oldu<64>unda bir i<>e yarar.
.TP
\-w {betik<69><6B>k}
Girdi<EFBFBD>iniz t<>m karakterler siz
.B Vim'den
<EFBFBD><EFBFBD>kana de<64>in {betik<69><6B>k} dosyas<61>nda saklan<61>r.
Bu "vim \-s" veya ":source" komutu ile kullan<61>lacak bir betik yaratmaya yarar.
E<EFBFBD>er {betik<69><6B>k} dosyas<61> varsa karakterler dosyaya eklenir.
.TP
\-W {betik<69><6B>k}
\-w gibi, ancak var olan bir dosyan<61>n <20>zerine yazar.
.TP
\-x
Dosya yazarken <20>ifreleme kullan<61>r. Bir <20>ifre girmeniz istenecektir.
.TP
\-X
X sunucusuna ba<62>lanmaz. Vim'in u<>birimde ba<62>lama s<>resini azalt<6C>r ancak pencere ba<62>l<EFBFBD><6C><EFBFBD>
ve pano kullan<61>lamaz.
.TP
\-y
.B Vim'i
"evim" veya "eview" yazarak ba<62>lat<61>rm<72><6D> gibi kolay kipte ba<62>lat<61>r.
.B Vim'i
di<EFBFBD>er t<>kla ve yaz d<>zenleyicileri gibi <20>al<61><6C>t<EFBFBD>r<EFBFBD>r.
.TP
\-Z
K<EFBFBD>s<EFBFBD>tl<EFBFBD> kip. Program "r" yazarak ba<62>lat<61>lm<6C><6D> gibi davran<61>r.
.TP
\-\-
Se<EFBFBD>eneklerin bitti<74>ini belirtir.
Bundan sonraki de<64>i<EFBFBD>kenler art<72>k bir dosya ad<61> olarak i<>letilir.
Ayn<EFBFBD> zamanda '\-' ile ba<62>layan bir dosyay<61> tan<61>tmak i<>in de kullan<61>labilir.
.TP
\-\-echo\-wid
Yaln<EFBFBD>zca GTK grafik arabirimi: Pencere numaras<61>n<EFBFBD> stdout'a yank<6E>la.
.TP
\-\-help
Yard<EFBFBD>m iletisini yazd<7A>r<EFBFBD>r ve <20><>kar, "\-h" gibi.
.TP
\-\-literal
Dosya ad<61> de<64>i<EFBFBD>kenlerini ger<65>ek anlamda i<>let, joker karakterlerini
geni<EFBFBD>letme. Bunun kabu<62>un karakterleri kendili<6C>inden geni<6E>letti<74>i Unix'te
bir etkisi bulunmamaktad<61>r.
.TP
\-\-noplugin
Eklentileri y<>kleme. "\-u NONE" da ayn<79> i<>levi g<>r<EFBFBD>r.
.TP
\-\-remote
Bir Vim sunucusuna ba<62>lan ve geri kalan de<64>i<EFBFBD>kenlerde belirtilen dosyalar<61>
d<EFBFBD>zenle. E<>er bir sunucu bulunamazsa bir uyar<61> verilir ve dosyalar <20>u anki
Vim'de d<>zenlenir.
.TP
\-\-remote\-expr {ifade}
Bir Vim sunucusuna ba<62>lan ve {ifade}'yi de<64>erlendirip sonucu stdout'a yazd<7A>r.
.TP
\-\-remote\-send {anahtarlar}
Bir Vim sunucusuna ba<62>lan ve ona {anahtarlar} g<>nder.
.TP
\-\-remote\-silent
\-\-remote gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
.TP
\-\-remote\-wait
\-\-remote gibi, ancak Vim dosyalar d<>zenlenene kadar <20><>kmaz.
.TP
\-\-remote\-wait\-silent
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyar<61> vermez.
.TP
\-\-serverlist
Bulunabilecek b<>t<EFBFBD>n Vim sunucular<61>n<EFBFBD> listeler.
.TP
\-\-servername {ad}
{ad}'<27> bir sunucu ad<61> olarak kullan<61>r. Bir \-\-remote de<64>i<EFBFBD>keni ve
ba<EFBFBD>lanaca<EFBFBD><EFBFBD> sunucunun ad<61> ile kullan<61>lmad<61><64><EFBFBD> s<>rece <20>u anki Vim i<>in
kullan<EFBFBD>l<EFBFBD>r.
.TP
\-\-socketid {id}
Yaln<EFBFBD>zca GTK grafik arabirimi: GtkPlug mekanizmas<61>n<EFBFBD> kullanarak gvim'i ba<62>ka
bir pencerede <20>al<61><6C>t<EFBFBD>r.
.TP
\-\-version
S<EFBFBD>r<EFBFBD>m bilgisini yazd<7A>r<EFBFBD>r ve <20><>kar.
.SH <EFBFBD>EVR<EFBFBD>M<EFBFBD><EFBFBD><EFBFBD> YARDIM
.B Vim
i<EFBFBD>inde ":help" yazarak ba<62>lay<61>n.
Belirli bir konu <20>zerine yard<72>m almak i<>in ":help subject" yaz<61>n.
<EFBFBD>rne<EFBFBD>in: "ZZ" komutu <20>zerine bilgi almak i<>in ":help ZZ" yaz<61>n.
<Tab> ve CTRL-D kullanarak konular<61> tamamlay<61>n (":help cmdline\-completion").
Bir konumdan di<64>erini atlamak i<>in etiketler mevcuttur (bir t<>r k<>pr<70> gibi),
ek bilgi i<>in ":help").
T<EFBFBD>m belgelendirmeyi bu bi<62>imde okuyabilirsiniz, <20>rne<6E>in: ":help syntax.txt".
":help syntax.txt".
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/doc/*.txt
.B Vim
belgelendirme dosyalar<61>.
T<EFBFBD>m listeyi g<>rmek i<>in ":help doc\-file\-list" yaz<61>n.
.TP
/usr/local/lib/vim/doc/tags
Belgelendirme i<>inde veri bulmak i<>in kullan<61>lan etiketler dosyas<61>.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Sistem geneli s<>zdizim ilklendirmeleri.
.TP
/usr/local/lib/vim/syntax/*.vim
Programlama dilleri i<>in s<>zdizim dosyalar<61>.
.TP
/usr/local/lib/vim/vimrc
Sistem geneli
.B Vim
ilklendirmeleri.
.TP
~/.vimrc
Sizin ki<6B>isel
.B Vim
ilklendirmeleriniz.
.TP
/usr/local/lib/vim/gvimrc
Sistem geneli gvim ilklendirmeleri.
.TP
~/.gvimrc
Sizin ki<6B>isel gvim ilklendirmeleriniz.
.TP
/usr/local/lib/vim/optwin.vim
":options" komutu i<>in kullan<61>lan betik, g<>rsel se<73>enek ayarlar<61>.
.TP
/usr/local/lib/vim/menu.vim
gvim i<>in sistem geneli men<65> ilklendirmeleri.
.TP
/usr/local/lib/vim/bugreport.vim
Hata raporu olu<6C>turmak i<>in kullan<61>lan betik. Ek bilgi i<>in: ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
Dosya t<>r<EFBFBD>n<EFBFBD> ad<61>ndan tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
Dosya t<>r<EFBFBD>n<EFBFBD> i<>eri<72>inden tan<61>yan betik. Ek bilgi i<>in: ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
PostScript yazd<7A>rmas<61> i<>in kullan<61>lan dosyalar.
.PP
En g<>ncel bilgiler i<>in V<>M ana sayfas<61>n<EFBFBD> ziyaret edin:
.br
<URL:http://www.vim.org/>
.SH AYRICA BAKINIZ
vimtutor(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in
.B Vim
i<EFBFBD>inde ":help credits" yaz<61>n.
.br
.B Vim
Stevie tabanl<6E>d<EFBFBD>r, yazarlar<61>: Tim Thompson,
Tony Andrews ve G.R. (Fred) Walter.
Orijinal koddan geriye pek bir <20>ey kalmad<61><64><EFBFBD>n<EFBFBD> s<>ylemek yanl<6E><6C> olmaz.
.SH HATALAR
Bilinen hatalar<61>n bir listesi i<>in ":help todo" yaz<61>n.
.PP
Unutmay<EFBFBD>n ki, ba<62>kalar<61> taraf<61>ndan hata olarak de<64>erlendirilebilecek konular<61>n
bir <20>o<EFBFBD>u Vi'nin davran<61><6E>lar<61>na sad<61>k kal<61>nmas<61> nedeniyle vard<72>r. Yine de
baz<EFBFBD> <20>eylerin "Vi bunu de<64>i<EFBFBD>ik bi<62>imde yap<61>yor" diye hata olabilece<63>ini
d<EFBFBD><EFBFBD><EFBFBD>n<EFBFBD>yorsan<EFBFBD>z, "vi_diff.txt" dosyas<61>n<EFBFBD> dikkatle okuyun (veya Vim i<>inde
:help vi_diff.txt yaz<61>n.
Ek olarak 'compatible' ve 'cpoptions' se<73>eneklerine de bakabilirsiniz.

544
runtime/doc/vim-tr.UTF-8.1 Normal file
View File

@ -0,0 +1,544 @@
.TH VIM 1 "11 Nisan 2006"
.SH AD
vim \- Vi IMproved, bir programcının metin düzenleyicisi
.SH ÖZET
.br
.B vim
[seçenekler] [dosya ..]
.br
.B vim
[seçenekler] \-
.br
.B vim
[seçenekler] \-t etiket
.br
.B vim
[seçenekler] \-q [hatadosyası]
.PP
.br
.B ex
.br
.B view
.br
.B gvim
.B gview
.B evim
.B eview
.br
.B rvim
.B rview
.B rgvim
.B rgview
.SH TANIM
.B Vim,
Vi ile yukarıya doğru uyumlu olan bir metin düzenleyicisidir.
Her tür düz metni düzenlemede kullanılabilir.
Özellikle programları düzenlemede yararlıdır.
.PP
Vi üzerine yapılmış birçok geliştirme ve iyileştirmeyi içerir:
Çok düzeyli geri alma, çoklu pencereler ve arabellekler, sözdizim vurgulama,
komut satırı düzenleme, dosya adı tamamlama, çevrimiçi yardım, görsel seçim vb.
.B Vim
ve Vi arasındaki değişikliklerin bir özeti için ":help vi_diff.txt"
dosyasına bir göz atın.
.PP
.B Vim'i
çalıştırırken gerekli olan yardımın çoğu çevrimiçi yardım sisteminden elde
edilebilir. Bunun için ":help" komutunu kullanabilirsiniz.
Aşağıda ÇEVRİMİÇİ YARDIM bölümüne bakın.
.PP
Genelde
.B Vim
tek bir dosyayı düzenlemek için şu komutla çalıştırılır:
.PP
vim dosya
.PP
Biraz daha açacak olursak:
.PP
vim [seçenekler] [dosyalistesi]
.PP
Eğer dosya listesi sağlanmamışsa, düzenleyici boş bir arabellek açar.
Bunun dışında aşağıdaki dört seçenekten bir tanesi de bir veya birden çok
dosyayı düzenlemek için kullanılabilir.
.TP 12
dosya ..
Dosya adlarının bir listesi.
Bunlardan ilki ekrana getirilip arabelleğe yüklenir.
İmleç arabelleğin ilk satırında konumlandırılır.
Diğer dosyalara ":next" komutu ile geçebilirsiniz.
Adı tire ile başlayan bir dosyayı düzenlemek için dosya listesinin başına
"\-\-" koyun.
.TP
\-
Düzenlenecek dosya stdin'den okunur. Komutlar bir tty olması gereken
stderr'den okunur.
.TP
\-t {etiket}
Düzenlenecek dosya ve bu dosyanın başlangıç imleç konumu bir "etiket"e
dayanır, bir tür bıraktığınız konumu belirten bir ayraç gibi.
Etiket dosyasında {etiket} aranır, ilişkin dosya şu anki dosya olur ve
ilişkin komut çalıştırılır.
Bu genelde C programları için kullanılır, {etiket} bu durumda bir işlev
olabilir.
Bunun sonucunda bu işlevi içeren dosya o anki dosya olur ve imleç bu
işlevin başlangıcına konumlandırılır.
Ek bilgi için: ":help tag\-commands".
.TP
\-q [hatadosyası]
Hızlı düzelt kipinde başlat
[hatadosyası] okunur ve ilk hata görüntülenir.
Eğer [hatadosyası] sağlanmazsa, dosya adı 'errorfile' seçeneğinden alınır
(öntanımlı olarak Amiga için "AztecC.Err", diğer sistemlerde "errors.err").
Sonraki hatalara ":cn" komutu ile geçilebilir.
Ek bilgi için: ":help quickfix".
.PP
.B Vim
girilen komutun adına göre değişik biçimde davranır (çalıştırılabilir hâlâ
aynı dosya olarak kalabilir).
.TP 10
vim
"Normal" kip, standart çalışma biçimi.
.TP
ex
Ex kipinde başlat.
"\-e" değişkeni ile de başlatılabilir.
Normal kipe ":vi" komutu ile geçilebilir.
.TP
view
Saltokunur kipte başlat. Bu kipte dosya yazımına izin verilmez.
"\-R" değişkeni ile de başlatılabilir.
.TP
gvim gview
Grafik arabirim sürümü.
Yeni bir pencere açar.
"\-g" değişkeni ile de başlatılabilir.
.TP
evim eview
Kolay kipte başlatılan grafik arabirim sürümü.
Yeni bir pencere açar.
"\-y" değişkeni ile de başlatılabilir.
.TP
rvim rview rgvim rgview
Yukarıdaki ile aynı, ancak sınırlamalar içerir. Kabuk komutları
çalıştırılamaz veya
.B Vim
askıya alınamaz.
"\-Z" değişkeni ile de başlatılabilir.
.SH SEÇENEKLER
Seçenekler bir sıra gözetmeksizin dosya adlarından önce veya sonra
kullanılabilir.
Herhangi bir değişken içermeyen seçenekler bir tirenin ardında sıralanabilir.
.TP 12
+[num]
İlk dosya için imleç "num" satırında konumlandırılacaktır.
Eğer "num" eksikse imleç en son satırda başlar.
.TP
+/{dizge}
İlk dosya için imleç {dizgi}'nin ilk eşleşmesinin olduğu satırda
konumlandırılacaktır.
Kullanılabilir arama dizgileri için ":help search\-pattern" yazın.
.TP
+{komut}
.TP
\-c {komut}
İlk dosya okunduktan sonra {komut} çalıştırılır.
{komut} bir Ex komutu olarak işletilir.
Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
kullanılan kabuğa bağlıdır).
Örnek: Vim "+set si" main.c
.br
Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
.TP
\-S {dosya}
İlk dosya okunduktan sonra {dosya} kaynak alınır.
\-c "source {dosya}" bu komutun eşdeğeridir.
{dosya}, '\-' ile başlayamaz.
Eğer {dosya} sağlanmazsa "Session.vim" kullanılır (yalnızca \-S son
değişken olarak kullanıldığında işe yarar).
.TP
\-\-cmd {komut}
"\-c" komutu gibi, ancak komut herhangi bir vimrc dosyasını işletmeden
önce çalıştırılır.
"\-c" komutundan bağımsız olarak bu komutlardan 10 taneye kadar
çalıştırabilirsiniz.
.TP
\-A
Eğer
.B Vim
sağdan sola yazılan dosyaları ve Arapça klavye dizilimini kullanabilmesi için
ARAPÇA desteği ile derlenmişe bu seçenek
.B Vim'i
Arapça kipinde başlatır ('arabic' seçeneği açılır). Aksi durumda
.B Vim
hata verip çıkar.
.TP
\-b
İkili kip.
Bir çalıştırılabiliri veya ikili dosyayı düzenlemeye olanacak sağlayacak
birkaç seçenek ayarlanır.
.TP
\-C
Uyumlu kip. 'compatible' seçeneğini ayarlar.
Bu kipte
.B Vim
bir .vimrc dosyası var olsa bile genelde Vi gibi davranır.
.TP
\-d
Karşılaştırma kipinde başlat.
Bir, iki, üç veya dört adet dosya adı değişkeni olmalıdır.
.B Vim
bütün dosyaları yan yana açar ve aralarındaki değişiklikleri gösterir.
vimdiff(1) gibi çalışır.
.TP
\-d {aygıt}
{aygıt}'ı bir uçbirim olarak kullanmak için açar.
Yalnızca Amiga'da çalışır.
Örnek:
"\-d con:20/30/600/150".
.TP
\-D
Hata ayıklama kipi. Bir betiğin ilk komutunu çalıştırırken hata ayıklama
kipine geçer.
.TP
\-e
.B Vim'i
Ex kipinde başlatır, "ex" çalıştırılabiliri ile aynı işlevi görür.
.TP
\-E
.B Vim'i
geliştirilmiş Ex kipinde başlatır, "exim" çalıştırılabiliri ile aynı
işlevi görür.
.TP
\-f
Önplan. Grafik arabirim sürümü için
.B Vim
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
Amiga'da,
.B Vim
yeni bir pencere açmak için yeniden başlatılmaz.
Bu seçenek
.B Vim
düzenleme oturumunun bitmesini bekleyecek bir program tarafından
başlatıldığında kullanılmalıdır (örn. mail).
Amiga'da ":sh" ve ":!" komutları çalışmayacaktır.
.TP
\-\-nofork
Önplan. Grafik arabirim sürümü için
.B Vim
başladığı kabuktan ayrılmayacak ve kendisini çatallamayacaktır.
.TP
\-F
Eğer
.B Vim
sağdan sola yazılan dosyaları ve Farsça klavye dizilimini kullanabilmesi için
FKMAP desteği ile derlenmişse, bu seçenek
.B Vim'i
Farsça kipinde başlatır ('fkmap' ve 'rightleft' seçenekleri açılır).
Aksi durumda
.B Vim
hata verip çıkar.
.TP
\-g
Eğer
.B Vim
grafik arabirim desteği ile derlenmişse bu seçenek grafik arabirimi çalıştırır.
Eğer grafik arabirim desteği eklenmemişse
.B Vim
hata verir ve çıkar.
.TP
\-h
Komut satırı değişkenleri ve seçenekleri üzerine biraz yardım sağlar.
Bu komuttan sonra
.B Vim
çıkar.
.TP
\-H
Eğer
.B Vim
sağdan sola yazılan dosyaları ve İbranca klavye dizilimini kullanabilmesi için
RIGHTLEFT desteği ile derlenmişse, bu seçenek
.B Vim'i
İbranca kipinde başlatır ('hkmap' ve 'rightleft' seçenekleri açılır).
Aksi durumda
.B Vim
hata verir ve çıkar.
.TP
\-i {viminfo}
Öntanımlı "~/.viminfo" dosyası yerine kullanılacak olan viminfo dosyasını
belirtmek için kullanılır.
Bu komut aynı zamanda viminfo kullanımını atlamak için de kullanılabilir.
Bunun için dosya adı yerine "NONE" vermeniz yeterlidir.
.TP
\-L
\-r ile aynı.
.TP
\-l
Lisp kipi.
Bu değişken 'lisp' ve 'showmatch' seçeneklerini açar.
.TP
\-m
Dosya yazma seçeneği kapalıdır.
\'write' seçeneğini sıfırlar.
Arabelleği hâlâ değiştirebilirsiniz, ancak dosyayı yazmak olanaklı değildir.
.TP
\-M
Değişikliklere izin verilmez. 'modifiable' ve 'write' seçenekleri kapatılır,
böylece değişiklik yapılamaz ve dosyalar yazılamaz.
Bu seçenekleri yeniden açıp değişiklik yapmayı etkinleştirebilirsiniz.
.TP
\-N
Uyumsuz kip. 'no-compatible' seçeneğini sıfırlar.
Bu seçenekle birlikte
.B Vim
biraz daha düzgünce çalışır, ancak bir .vimrc dosyası olmamasına rağmen
Vi ile daha az uyumludur.
.TP
\-n
Bir takas dosyası kullanılmaz.
Çökme sonrası kurtarma olanaklı olmayacaktır.
Eğer çok yavaş bir ortamda dosya çalışıyorsanız (örn. disket) yararlı olabilir.
":set uc=0" ile de yapılabilir.
Geri almak için ":set uc=200" yapın.
.TP
\-nb
NetBeans için bir düzenleyici sunucusu olur. Ayrıntılar için belgelere bakın.
.TP
\-o[N]
N sayıda pencereyi üst üste açar.
N verilmezse, her dosya için bir pencere açar.
.TP
\-O[N]
N sayıda pencereyi yan yana açar.
N verilmezse, her dosya için bir pencere açar.
.TP
\-p[N]
N sayıda sekme açar.
N verilmezse, her dosya için bir sekme açar.
.TP
\-R
Saltokunur kip.
\'readonly' seçeneği açılır.
Arabelleği hâlâ değiştirebilirsiniz, ancak yanlışlıkla dosyanın üzerine
yazmaktan sizi korur.
Dosyanın üzerine yazmak istemiyorsanız, Ex komutuna bir ünlem imi ekleyin,
örn. ":w!".
\-R seçeneği aynı zamanda \-n seçeneğini de uygular (yukarıda bakın).
\'readonly' seçeneği ":set noro" ile sıfırlanabilir.
Ek bilgi için: ":help 'readonly'".
.TP
\-r
Takas dosyalarını içerdikleri kurtarma bilgilerini gösterecek biçimde listeler.
.TP
\-r {dosya}
Kurtarma kipi.
Çökmüş bir düzenleme oturumunu takas dosyasını kullanarak kurtarır.
Takas dosyası dosya ile aynı ada iye olup sonuna ".swp" eklenmiştir.
Ek bilgi için: ":help recovery".
.TP
\-s
Sessiz kip. Yalnızca "Ex" olarak başlatıldığında veya "\-e" seçeneği
"\-s" seçeneğinden önce verildiğinde çalışır.
.TP
\-s {betikgir}
{betikgir} betik dosyası okunur.
Dosyadaki karakterler onları siz girmişsiniz gibi kabul edilir.
Aynısı ":source! {betikgir}" komutu ile de gerçekleştirilebilir.
Eğer dosyanın sonuna düzenleyici çıkmadan önce gelinirse, sonraki karakterler
klavyeden okunur.
.TP
\-T {uçbirim}
.B Vim'e
kullandığınız uçbirimin adını söyler.
Yalnızca kendiliğinden okunamazsa gereklidir.
.B Vim'in
tanıdığı bir uçbirim olmalıdır veya termcap veya terminfo dosyasında
tanımlı olmalıdır.
.TP
\-u {vimrc}
İlklendirme için {vimrc} dosyasındaki komutları kullan.
Diğer tüm ilklendirmeler atlanır.
Bunu özel türde dosyaları düzenlemek için kullanın.
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
Ek bilgi için vim içinde ":help initialization" bölümüne bakın.
.TP
\-U {gvimrc}
Grafik arabirim ilklendirmesi için {gvimrc} dosyasındaki komutlara bakın.
Diğer tüm grafik arabirim ilklendirmeleri atlanır.
Dosya adı olarak "NONE" verilirse tüm özelleştirmeler atlanır.
Ek bilgi için vim içinde ":help gui\-init" bölümüne bakın.
.TP
\-V[N]
Sözlü anlatım. Hangi dosyaların kaynak alındığını ve viminfo dosyasından
nelerin okunduğunu yazdırır. 'verbose' için isteğe bağlı N seçeneği
kullanılabilir. Öntanımlı sayı 10'dur.
.TP
\-v
.B Vim'i
"vi" yazarak başlatırmış gibi Vi kipinde başlatır. Bu yalnızca
çalıştırılabilir "ex" olduğunda bir işe yarar.
.TP
\-w {betikçık}
Girdiğiniz tüm karakterler siz
.B Vim'den
çıkana değin {betikçık} dosyasında saklanır.
Bu "vim \-s" veya ":source" komutu ile kullanılacak bir betik yaratmaya yarar.
Eğer {betikçık} dosyası varsa karakterler dosyaya eklenir.
.TP
\-W {betikçık}
\-w gibi, ancak var olan bir dosyanın üzerine yazar.
.TP
\-x
Dosya yazarken şifreleme kullanır. Bir şifre girmeniz istenecektir.
.TP
\-X
X sunucusuna bağlanmaz. Vim'in uçbirimde başlama süresini azaltır ancak pencere başlığı
ve pano kullanılamaz.
.TP
\-y
.B Vim'i
"evim" veya "eview" yazarak başlatırmış gibi kolay kipte başlatır.
.B Vim'i
diğer tıkla ve yaz düzenleyicileri gibi çalıştırır.
.TP
\-Z
Kısıtlı kip. Program "r" yazarak başlatılmış gibi davranır.
.TP
\-\-
Seçeneklerin bittiğini belirtir.
Bundan sonraki değişkenler artık bir dosya adı olarak işletilir.
Aynı zamanda '\-' ile başlayan bir dosyayı tanıtmak için de kullanılabilir.
.TP
\-\-echo\-wid
Yalnızca GTK grafik arabirimi: Pencere numarasını stdout'a yankıla.
.TP
\-\-help
Yardım iletisini yazdırır ve çıkar, "\-h" gibi.
.TP
\-\-literal
Dosya adı değişkenlerini gerçek anlamda işlet, joker karakterlerini
genişletme. Bunun kabuğun karakterleri kendiliğinden genişlettiği Unix'te
bir etkisi bulunmamaktadır.
.TP
\-\-noplugin
Eklentileri yükleme. "\-u NONE" da aynı işlevi görür.
.TP
\-\-remote
Bir Vim sunucusuna bağlan ve geri kalan değişkenlerde belirtilen dosyaları
düzenle. Eğer bir sunucu bulunamazsa bir uyarı verilir ve dosyalar şu anki
Vim'de düzenlenir.
.TP
\-\-remote\-expr {ifade}
Bir Vim sunucusuna bağlan ve {ifade}'yi değerlendirip sonucu stdout'a yazdır.
.TP
\-\-remote\-send {anahtarlar}
Bir Vim sunucusuna bağlan ve ona {anahtarlar} gönder.
.TP
\-\-remote\-silent
\-\-remote gibi, ancak bir sunucu bulunamazsa uyarı vermez.
.TP
\-\-remote\-wait
\-\-remote gibi, ancak Vim dosyalar düzenlenene kadar çıkmaz.
.TP
\-\-remote\-wait\-silent
\-\-remote\-wait gibi, ancak bir sunucu bulunamazsa uyarı vermez.
.TP
\-\-serverlist
Bulunabilecek bütün Vim sunucularını listeler.
.TP
\-\-servername {ad}
{ad}'ı bir sunucu adı olarak kullanır. Bir \-\-remote değişkeni ve
bağlanacağı sunucunun adı ile kullanılmadığı sürece şu anki Vim için
kullanılır.
.TP
\-\-socketid {id}
Yalnızca GTK grafik arabirimi: GtkPlug mekanizmasını kullanarak gvim'i başka
bir pencerede çalıştır.
.TP
\-\-version
Sürüm bilgisini yazdırır ve çıkar.
.SH ÇEVRİMİÇİ YARDIM
.B Vim
içinde ":help" yazarak başlayın.
Belirli bir konu üzerine yardım almak için ":help subject" yazın.
Örneğin: "ZZ" komutu üzerine bilgi almak için ":help ZZ" yazın.
<Tab> ve CTRL-D kullanarak konuları tamamlayın (":help cmdline\-completion").
Bir konumdan diğerini atlamak için etiketler mevcuttur (bir tür köprü gibi),
ek bilgi için ":help").
Tüm belgelendirmeyi bu biçimde okuyabilirsiniz, örneğin: ":help syntax.txt".
":help syntax.txt".
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/doc/*.txt
.B Vim
belgelendirme dosyaları.
Tüm listeyi görmek için ":help doc\-file\-list" yazın.
.TP
/usr/local/lib/vim/doc/tags
Belgelendirme içinde veri bulmak için kullanılan etiketler dosyası.
.TP
/usr/local/lib/vim/syntax/syntax.vim
Sistem geneli sözdizim ilklendirmeleri.
.TP
/usr/local/lib/vim/syntax/*.vim
Programlama dilleri için sözdizim dosyaları.
.TP
/usr/local/lib/vim/vimrc
Sistem geneli
.B Vim
ilklendirmeleri.
.TP
~/.vimrc
Sizin kişisel
.B Vim
ilklendirmeleriniz.
.TP
/usr/local/lib/vim/gvimrc
Sistem geneli gvim ilklendirmeleri.
.TP
~/.gvimrc
Sizin kişisel gvim ilklendirmeleriniz.
.TP
/usr/local/lib/vim/optwin.vim
":options" komutu için kullanılan betik, görsel seçenek ayarları.
.TP
/usr/local/lib/vim/menu.vim
gvim için sistem geneli menü ilklendirmeleri.
.TP
/usr/local/lib/vim/bugreport.vim
Hata raporu oluşturmak için kullanılan betik. Ek bilgi için: ":help bugs".
.TP
/usr/local/lib/vim/filetype.vim
Dosya türünü adından tanıyan betik. Ek bilgi için: ":help 'filetype'".
.TP
/usr/local/lib/vim/scripts.vim
Dosya türünü içeriğinden tanıyan betik. Ek bilgi için: ":help 'filetype'".
.TP
/usr/local/lib/vim/print/*.ps
PostScript yazdırması için kullanılan dosyalar.
.PP
En güncel bilgiler için VİM ana sayfasını ziyaret edin:
.br
<URL:http://www.vim.org/>
.SH AYRICA BAKINIZ
vimtutor(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için
.B Vim
içinde ":help credits" yazın.
.br
.B Vim
Stevie tabanlıdır, yazarları: Tim Thompson,
Tony Andrews ve G.R. (Fred) Walter.
Orijinal koddan geriye pek bir şey kalmadığını söylemek yanlış olmaz.
.SH HATALAR
Bilinen hataların bir listesi için ":help todo" yazın.
.PP
Unutmayın ki, başkaları tarafından hata olarak değerlendirilebilecek konuların
bir çoğu Vi'nin davranışlarına sadık kalınması nedeniyle vardır. Yine de
bazı şeylerin "Vi bunu değişik biçimde yapıyor" diye hata olabileceğini
düşünüyorsanız, "vi_diff.txt" dosyasını dikkatle okuyun (veya Vim içinde
:help vi_diff.txt yazın.
Ek olarak 'compatible' ve 'cpoptions' seçeneklerine de bakabilirsiniz.

View File

@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2020 Apr 19
*vim9.txt* For Vim version 8.2. Last change: 2020 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -6,7 +6,7 @@
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim9 script commands and expressions.
Vim9 script commands and expressions. *vim9*
Most expression help is in |eval.txt|. This file is about the new syntax and
features in Vim9 script.
@ -28,29 +28,33 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim script has been growing over time, while keeping backwards compatibility.
That means bad choices from the past often can't be changed. Execution is
quite slow, every line is parsed every time it is executed.
Vim script has been growing over time, while preserving backwards
compatibility. That means bad choices from the past often can't be changed
and compability with Vi restricts possible solutions. Execution is quite
slow, each line is parsed every time it is executed.
The main goal of Vim9 script is to drastically improve performance. An
increase in execution speed of 10 to 100 times can be expected. A secondary
goal is to avoid Vim-specific constructs and get closer to commonly used
programming languages, such as JavaScript, TypeScript and Java.
The main goal of Vim9 script is to drastically improve performance. This is
accomplished by compiling commands into instructions that can be efficiently
executed. An increase in execution speed of 10 to 100 times can be expected.
A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and Java.
The performance improvements can only be achieved by not being 100% backwards
compatible. For example, in a function the arguments are not available in the
"a:" dictionary, as creating that dictionary adds quite a lot of overhead.
Other differences are more subtle, such as how errors are handled.
compatible. For example, making function arguments available in the
"a:" dictionary adds quite a lot of overhead. In a Vim9 function this
dictionary is not available. Other differences are more subtle, such as how
errors are handled.
The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command
- a script file where the first command is `vim9script`
When using `:function` in a Vim9 script file the legacy syntax is used.
However, this is discouraged.
However, this can be confusing and is therefore discouraged.
Vim9 script and legacy Vim script can be mixed. There is no need to rewrite
old scripts, they keep working as before.
Vim9 script and legacy Vim script can be mixed. There is no requirement to
rewrite old scripts, they keep working as before.
==============================================================================
@ -62,9 +66,9 @@ Comments starting with # ~
In Vim script comments normally start with double quote. That can also be the
start of a string, thus in many places it cannot be used. In Vim9 script a
comment can also start with #. Normally this is a command to list text with
comment can also start with #. In Vi this is a command to list text with
numbers, but you can also use `:number` for that. >
let count = 0 # number of occurences of Ni!
let count = 0 # number of occurences
To improve readability there must be a space between the command and the #
that starts a comment. Note that #{ is the start of a dictionary, therefore
@ -73,40 +77,62 @@ it cannot start a comment.
Vim9 functions ~
`:def` has no extra arguments like `:function` does: "range", "abort", "dict"
or "closure". A `:def` function always aborts on an error, does not get a
range passed and cannot be a "dict" function.
A function defined with `:def` is compiled. Execution is many times faster,
often 10x to 100x times.
In the function body:
- Arguments are accessed by name, without "a:".
- There is no "a:" dictionary or "a:000" list. Variable arguments are defined
with a name and have a list type: >
def MyFunc(...itemlist: list<type>)
Many errors are already found when compiling, before the function is executed.
The syntax is strict, to enforce code that is easy to read and understand.
Compilation is done when the function is first called, or when the
`:defcompile` command is encountered in the script where the function was
defined.
`:def` has no options like `:function` does: "range", "abort", "dict" or
"closure". A `:def` function always aborts on an error, does not get a range
passed and cannot be a "dict" function.
The argument types and return type need to be specified. The "any" type can
be used, type checking will then be done at runtime, like with legacy
functions.
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
"a:000" list.
Variable arguments are defined as the last argument, with a name and have a
list type, similar to Typescript. For example, a list of numbers: >
def MyFunc(...itemlist: list<number>)
for item in itemlist
...
Functions are script-local by default ~
Functions and variables are script-local by default ~
When using `:function` or `:def` to specify a new function at the script level
in a Vim9 script, the function is local to the script, as if "s:" was
prefixed. To define a global function the "g:" prefix must be used.
prefixed. Using the "s:" prefix is optional.
To define or use a global function or variable the "g:" prefix must be used.
When using `:function` or `:def` to specify a new function inside a function,
the function is local to the function. It is not possible to define a
script-local function inside a function. To define a global function the "g:"
prefix must be used.
script-local function inside a function. It is possible to define a global
function, using the "g:" prefix.
When referring to a function and no "s:" or "g:" prefix is used, Vim will
search for the function in this order:
- Local to the current function scope.
- Local to the current scope and outer scopes up to the function scope.
- Local to the current script file.
- Imported functions, see `:import`.
- Global.
In all cases the function must be defined before used. That is when it is
first called or when `:defcompile` causes the call to be compiled.
Global functions can be defined and deleted at nearly any time. In Vim9
script script-local functions are defined once when the script is sourced and
cannot be deleted.
The result is that functions and variables without a namespace can always be
found in the script, either defined there or imported. Global functions and
variables could be defined anywhere (good luck finding where!).
Global functions can be still be defined and deleted at nearly any time. In
Vim9 script script-local functions are defined once when the script is sourced
and cannot be deleted or replaced.
Variable declarations with :let and :const ~
@ -141,8 +167,8 @@ The declaration must be done earlier: >
endif
echo inner
To intentionally use a variable that won't be available later, a block can be
used: >
To intentionally avoid a variable being available later, a block can be used:
>
{
let temp = 'temp'
...
@ -156,12 +182,12 @@ and without `:let`, because there is no rule about where they are declared.
Variables cannot shadow previously defined variables.
Variables may shadow Ex commands, rename the variable if needed.
Global variables must be prefixed with "g:", also at the script level.
However, global user defined functions are used without "g:". >
Global variables and user defined functions must be prefixed with "g:", also
at the script level. >
vim9script
let script_local = 'text'
let g:global = 'value'
let Funcref = ThatFunction
let Funcref = g:ThatFunction
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
used to repeat a `:substitute` command.
@ -366,7 +392,9 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
`:def`, but it is not possible to nest `:def` inside
`:function`, for backwards compatibility.
[!] is used as with `:function`.
[!] is used as with `:function`. Note that in Vim9
script script-local functions cannot be deleted or
redefined.
*:enddef*
:enddef End of a function defined with `:def`.
@ -377,6 +405,10 @@ variables can be accessed without the "s:" prefix. They must be defined
before the function. If the script the function is defined in is legacy
script, then script-local variables must be accessed with the "s:" prefix.
*:defc* *:defcompile*
:defc[ompile] Compile functions defined in the current script that
were not compiled yet.
This will report errors found during the compilation.
*:disa* *:disassemble*
:disa[ssemble] {func} Show the instructions generated for {func}.

45
runtime/doc/vimdiff-tr.1 Normal file
View File

@ -0,0 +1,45 @@
.TH VIMDIFF 1 "30 Mart 2001"
.SH AD
vimdiff \- bir dosyan<61>n d<>rt adede kadar s<>r<EFBFBD>mlerini Vim ile d<>zenle
ve ayr<79>mlar<61>n<EFBFBD> g<>ster
.SH <EFBFBD>ZET
.br
.B vimdiff
[se<73>enekler] dosya1 dosya2 [dosya3 [dosya4]]
.PP
.B gvimdiff
.SH TANIM
.B Vimdiff,
.B Vim
i<EFBFBD>inde iki (<28><> veya d<>rt) dosyay<61> a<>ar.
Her dosya ayr<79> pencerelerde a<><61>l<EFBFBD>r.
Dosyalar aras<61>ndaki ayr<79>mlar vurgulan<61>r.
B<EFBFBD>ylece de<64>i<EFBFBD>iklikler kolayca denetlenebilir ve ayn<79> dosyan<61>n ba<62>ka bir
s<EFBFBD>r<EFBFBD>m<EFBFBD>ne kolayl<79>kla aktar<61>labilir.
.PP
Vim hakk<6B>nda ek bilgi i<>in: vim(1)
.PP
.B gvimdiff
olarak ba<62>lat<61>l<EFBFBD>rsa varsa grafik arabirim a<><61>l<EFBFBD>r.
.PP
Her pencerede 'diff' se<73>ene<6E>i a<><61>l<EFBFBD>r, b<>ylece de<64>i<EFBFBD>iklikler vurgulan<61>r.
.br
\'wrap' ve 'scrollbind' se<73>enekleri metnin d<>zg<7A>n g<>r<EFBFBD>nmesi i<>in a<><61>l<EFBFBD>r.
.br
\'foldmethod' se<73>ene<6E>i "diff"e, ayarlan<61>r, b<>ylece sat<61>r aral<61>klar<61>
k<EFBFBD>vr<EFBFBD>l<EFBFBD>r. 'foldcolumn' se<73>ene<6E>i k<>v<EFBFBD>rmalar<61> kolay ayr<79>mlama ve a<><61>p kapama
i<EFBFBD>in iki olarak ayarlan<61>r.
.SH SE<EFBFBD>ENEKLER
Sat<EFBFBD>rlar hizalama i<>in "\-O" se<73>ene<6E>i kullan<61>lm<6C><6D><EFBFBD>as<61>na dikey b<>l<EFBFBD>nt<6E>ler
i<EFBFBD>inde g<>r<EFBFBD>nt<6E>lenir.
Yatay b<>l<EFBFBD>nt<6E>ler kullanmak i<>in "\-o" kullan<61>n.
Di<EFBFBD>er t<>m de<64>i<EFBFBD>kenler i<>in: vim(1).
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
b<EFBFBD>y<EFBFBD>k <20>o<EFBFBD>unlu<6C>u Bram Moolenaar taraf<61>ndan ba<62>kalar<61>n<EFBFBD>n kayda de<64>er
yard<EFBFBD>mlar<EFBFBD>yla yaz<61>lm<6C><6D>t<EFBFBD>r.
Ek bilgi i<>in
.B Vim
i<EFBFBD>inde ":help credits" yaz<61>n.

View File

@ -0,0 +1,45 @@
.TH VIMDIFF 1 "30 Mart 2001"
.SH AD
vimdiff \- bir dosyanın dört adede kadar sürümlerini Vim ile düzenle
ve ayrımlarını göster
.SH ÖZET
.br
.B vimdiff
[seçenekler] dosya1 dosya2 [dosya3 [dosya4]]
.PP
.B gvimdiff
.SH TANIM
.B Vimdiff,
.B Vim
içinde iki (üç veya dört) dosyayı açar.
Her dosya ayrı pencerelerde açılır.
Dosyalar arasındaki ayrımlar vurgulanır.
Böylece değişiklikler kolayca denetlenebilir ve aynı dosyanın başka bir
sürümüne kolaylıkla aktarılabilir.
.PP
Vim hakkında ek bilgi için: vim(1)
.PP
.B gvimdiff
olarak başlatılırsa varsa grafik arabirim açılır.
.PP
Her pencerede 'diff' seçeneği açılır, böylece değişiklikler vurgulanır.
.br
\'wrap' ve 'scrollbind' seçenekleri metnin düzgün görünmesi için açılır.
.br
\'foldmethod' seçeneği "diff"e, ayarlanır, böylece satır aralıkları
kıvrılır. 'foldcolumn' seçeneği kıvırmaları kolay ayrımlama ve açıp kapama
için iki olarak ayarlanır.
.SH SEÇENEKLER
Satırlar hizalama için "\-O" seçeneği kullanılmışçasına dikey bölüntüler
içinde görüntülenir.
Yatay bölüntüler kullanmak için "\-o" kullanın.
Diğer tüm değişkenler için: vim(1).
.SH AYRICA BAKINIZ
vim(1)
.SH YAZAR
.B Vim'in
büyük çoğunluğu Bram Moolenaar tarafından başkalarının kayda değer
yardımlarıyla yazılmıştır.
Ek bilgi için
.B Vim
içinde ":help credits" yazın.

50
runtime/doc/vimtutor-tr.1 Normal file
View File

@ -0,0 +1,50 @@
.TH VIMTUTOR 1 "2 Nisan 2001"
.SH AD
vimtutor \- Vim e<>itmeni
.SH <EFBFBD>ZET
.br
.B vimtutor [\-g] [dil]
.SH TANIM
.B Vimtutor,
.B Vim
e<EFBFBD>itmenini ba<62>lat<61>r.
<EFBFBD>nce orijinal e<>itmen dosyas<61>n<EFBFBD>n bir kopyas<61>n<EFBFBD> al<61>r, b<>ylece bir de<64>i<EFBFBD>ikli<6C>e
u<EFBFBD>ramadan de<64>i<EFBFBD>tirilebilir.
.PP
.B Vimtutor
ilk
.B Vim
komutlar<EFBFBD>n<EFBFBD> <20><>renmek isteyen ki<6B>iler i<>in yararl<72>d<EFBFBD>r.
.PP
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> \-g de<64>i<EFBFBD>keni vimtutor'u vim yerine e<>er y<>kl<6B> ise gvim ile
ba<EFBFBD>lat<EFBFBD>r. Y<>kl<6B> de<64>ilse a<>mak i<>in Vim kullan<61>l<EFBFBD>r.
.PP
<EFBFBD>ste<EFBFBD>e ba<62>l<EFBFBD> [dil] de<64>i<EFBFBD>keni iki harfli dil kodunu belirtir, <20>rne<6E>in "tr"
veya "es". E<>er [dil] de<64>i<EFBFBD>keni verilmemi<6D>se mevcut yerelle<6C>tirme
kullan<EFBFBD>l<EFBFBD>r.
E<EFBFBD>er bu dilde bir e<>itmen varsa kullan<61>l<EFBFBD>r.
Yoksa <20>ngilizce s<>r<EFBFBD>m kullan<61>lacakt<6B>r.
.PP
.B Vim
her zaman Vi uyumlu kipte ba<62>lat<61>l<EFBFBD>r.
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/tutor/tutor[.dil]
.B Vimtutor
metin dosyalar<61>.
.TP 15
/usr/local/lib/vim/tutor/tutor.vim
.B Vimtutor
metin dosyas<61>n<EFBFBD> kopyalamak i<>in kullan<61>lan betik.
.SH YAZAR
.B Vimtutor
ilk olarak Vi i<>in Michael C. Pierce ve Robert K. Ware,
Colorado School of Mines taraf<61>ndan, Colorado State University'den Charles
Smith'in verdi<64>i fikirler kullan<61>larak yaz<61>ld<6C>.
E-posta: bware@mines.colorado.edu.
.br
.B Vim
uyarlamas<EFBFBD> Bram Moolenaar taraf<61>ndan yap<61>ld<6C>.
<EFBFBD>evirmenlerin adlar<61> i<>in e<>itmen dosyalar<61>na bak<61>n.
.SH AYRICA BAKINIz
vim(1)

View File

@ -0,0 +1,50 @@
.TH VIMTUTOR 1 "2 Nisan 2001"
.SH AD
vimtutor \- Vim eğitmeni
.SH ÖZET
.br
.B vimtutor [\-g] [dil]
.SH TANIM
.B Vimtutor,
.B Vim
eğitmenini başlatır.
Önce orijinal eğitmen dosyasının bir kopyasını alır, böylece bir değişikliğe
uğramadan değiştirilebilir.
.PP
.B Vimtutor
ilk
.B Vim
komutlarını öğrenmek isteyen kişiler için yararlıdır.
.PP
İsteğe bağlı \-g değişkeni vimtutor'u vim yerine eğer yüklü ise gvim ile
başlatır. Yüklü değilse açmak için Vim kullanılır.
.PP
İsteğe bağlı [dil] değişkeni iki harfli dil kodunu belirtir, örneğin "tr"
veya "es". Eğer [dil] değişkeni verilmemişse mevcut yerelleştirme
kullanılır.
Eğer bu dilde bir eğitmen varsa kullanılır.
Yoksa İngilizce sürüm kullanılacaktır.
.PP
.B Vim
her zaman Vi uyumlu kipte başlatılır.
.SH DOSYALAR
.TP 15
/usr/local/lib/vim/tutor/tutor[.dil]
.B Vimtutor
metin dosyaları.
.TP 15
/usr/local/lib/vim/tutor/tutor.vim
.B Vimtutor
metin dosyasını kopyalamak için kullanılan betik.
.SH YAZAR
.B Vimtutor
ilk olarak Vi için Michael C. Pierce ve Robert K. Ware,
Colorado School of Mines tarafından, Colorado State University'den Charles
Smith'in verdiği fikirler kullanılarak yazıldı.
E-posta: bware@mines.colorado.edu.
.br
.B Vim
uyarlaması Bram Moolenaar tarafından yapıldı.
Çevirmenlerin adları için eğitmen dosyalarına bakın.
.SH AYRICA BAKINIz
vim(1)

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.2. Last change: 2020 Mar 19
*windows.txt* For Vim version 8.2. Last change: 2020 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -291,9 +291,9 @@ CTRL-W q *CTRL-W_q*
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
Without {count}: Quit the current window. If {count} is
given quit the {count} window.
When quitting the last window (not counting a help window),
exit Vim.
*edit-window*
When quitting the last edit window (not counting help or
preview windows), exit Vim.
When 'hidden' is set, and there is only one window for the
current buffer, it becomes hidden. When 'hidden' is not set,
@ -312,8 +312,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
:+quit " quit the next window
:+2quit " quit the second next window
<
When closing a help window, Vim will try to restore the
previous window layout |:helpclose|.
When closing a help window, and this is not the only window,
Vim will try to restore the previous window layout, see
|:helpclose|.
:q[uit]!
:{count}q[uit]!
@ -335,9 +336,9 @@ CTRL-W c *CTRL-W_c* *:clo* *:close*
changed and the [!] is used, the buffer becomes hidden (unless
there is another window editing it).
When there is only one window in the current tab page and
there is another tab page, this closes the current tab page.
|tab-page|.
When there is only one |edit-window| in the current tab page
and there is another tab page, this closes the current tab
page. |tab-page|.
This command fails when: *E444*
- There is only one window on the screen.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Apr 17
" Last Change: 2020 May 07
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -547,6 +547,9 @@ au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
" ERicsson LANGuage; Yaws is erlang too
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
" Elm
au BufNewFile,BufRead *.elm setf elm
" Elm Filter Rules file
au BufNewFile,BufRead filter-rules setf elmfilt
@ -884,11 +887,12 @@ au BufNewFile,BufRead *.ll setf lifelines
" Lilo: Linux loader
au BufNewFile,BufRead lilo.conf setf lilo
" Lisp (*.el = ELisp, *.cl = Common Lisp, *.jl = librep Lisp)
" Lisp (*.el = ELisp, *.cl = Common Lisp)
" *.jl was removed, it's also used for Julia, better skip than guess wrong.
if has("fname_case")
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,*.L,.emacs,.sawfishrc setf lisp
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.L,.emacs,.sawfishrc setf lisp
else
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,*.jl,.emacs,.sawfishrc setf lisp
au BufNewFile,BufRead *.lsp,*.lisp,*.el,*.cl,.emacs,.sawfishrc setf lisp
endif
" SBCL implementation of Common Lisp
@ -1133,6 +1137,9 @@ au BufNewFile,BufRead pf.conf setf pf
" Pam conf
au BufNewFile,BufRead */etc/pam.conf setf pamconf
" Pam environment
au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv
" PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
@ -1650,7 +1657,9 @@ au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
" Systemd temp files
au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd
au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 14th April 2019
" Last Change: 7th May 2020
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@ -19,12 +19,21 @@ setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal commentstring=::\ %s
setlocal formatoptions-=t formatoptions+=rol
" Lookup DOS keywords using Windows command help.
if executable('help.exe')
if has('terminal')
setlocal keywordprg=:term\ help.exe
else
setlocal keywordprg=help.exe
endif
endif
" Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setlocal comments< formatoptions<"
let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<"
\ . "| unlet! b:browsefiler"
let &cpo = s:cpo_save

View File

@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: man
" Maintainer: Jason Franklin <vim@justemail.net>
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Apr 13
" Last Change: 2020 May 07
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.

19
runtime/ftplugin/masm.vim Normal file
View File

@ -0,0 +1,19 @@
" Vim filetype plugin file
" Language: Microsoft Macro Assembler (80x86)
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: 2020-05-09 23:02:05 +0800
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = "setl iskeyword<"
setlocal iskeyword=@,48-57,_,36,60,62,63,@-@
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,7 +1,7 @@
" Vim filetype plugin
" Language: Vim
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2018 Aug 07
" Last Change: 2020 May 17
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@ -12,7 +12,7 @@ endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo-=C
set cpo&vim
if !exists('*VimFtpluginUndo')
func VimFtpluginUndo()
@ -63,14 +63,14 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
let b:did_add_maps = 1
" Move around functions.
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<CR>
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "bW")<CR>
nnoremap <silent><buffer> ]] m':call search('^\s*fu\%[nction]\>', "W")<CR>
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*fu\%[nction]\>', "W")<CR>
nnoremap <silent><buffer> [] m':call search('^\s*endf\%[unction]\>', "bW")<CR>
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "bW")<CR>
nnoremap <silent><buffer> ][ m':call search('^\s*endf\%[unction]\>', "W")<CR>
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*endf\%[unction]\>', "W")<CR>
nnoremap <silent><buffer> [[ m':call search('^\s*\(fu\%[nction]\\|def\)\>', "bW")<CR>
vnoremap <silent><buffer> [[ m':<C-U>exe "normal! gv"<Bar>call search('^\s*\(fu\%[nction]\\|def\)\>', "bW")<CR>
nnoremap <silent><buffer> ]] m':call search('^\s*\(fu\%[nction]\\|def\)\>', "W")<CR>
vnoremap <silent><buffer> ]] m':<C-U>exe "normal! gv"<Bar>call search('^\s*\(fu\%[nction]\\|def\)\>', "W")<CR>
nnoremap <silent><buffer> [] m':call search('^\s*end\(f\%[unction]\\|def\)\>', "bW")<CR>
vnoremap <silent><buffer> [] m':<C-U>exe "normal! gv"<Bar>call search('^\s*end\(f\%[unction]\\|def\)\>', "bW")<CR>
nnoremap <silent><buffer> ][ m':call search('^\s*end\(f\%[unction]\\|def\)\>', "W")<CR>
vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*end\(f\%[unction]\\|def\)\>', "W")<CR>
" Move around comments
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>

View File

@ -28,6 +28,11 @@ set cpo&vim
let s:maxoff = 50 " maximum number of lines to look backwards for ()
" See if the specified line is already user-dedented from the expected value.
function s:Dedented(lnum, expected)
return indent(a:lnum) <= a:expected - shiftwidth()
endfunction
function GetPythonIndent(lnum)
" If this line is explicitly joined: If the previous line was also joined,
@ -158,12 +163,12 @@ function GetPythonIndent(lnum)
" If the previous line was a stop-execution statement...
if getline(plnum) =~ '^\s*\(break\|continue\|raise\|return\|pass\)\>'
" See if the user has already dedented
if indent(a:lnum) > indent(plnum) - shiftwidth()
" If not, recommend one dedent
return indent(plnum) - shiftwidth()
if s:Dedented(a:lnum, indent(plnum))
" If so, trust the user
return -1
endif
" Otherwise, trust the user
return -1
" If not, recommend one dedent
return indent(plnum) - shiftwidth()
endif
" If the current line begins with a keyword that lines up with "try"
@ -191,7 +196,7 @@ function GetPythonIndent(lnum)
endif
" Or the user has already dedented
if indent(a:lnum) <= plindent - shiftwidth()
if s:Dedented(a:lnum, plindent)
return -1
endif
@ -203,7 +208,12 @@ function GetPythonIndent(lnum)
" + c)
" here
if parlnum > 0
return plindent
" ...unless the user has already dedented
if s:Dedented(a:lnum, plindent)
return -1
else
return plindent
endif
endif
return -1

View File

@ -0,0 +1,34 @@
" Vim indent file
" Language: ssh config file
" Maintainer: JasonKim <git@jasonk.me>
" Last Change: 2020 May 16
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal autoindent
setlocal indentexpr=GetSshconfigIndent(v:lnum)
setlocal indentkeys=o,O,*<Return>,0=~host\ ,0=~match\ ,0#,!^F
let b:undo_indent = "setlocal autoindent< indentexpr< indentkeys<"
if exists("*GetSshconfigIndent")
finish
endif
function GetSshconfigIndent(lnum)
let sw = shiftwidth()
let prev_lnum = prevnonblank(a:lnum - 1)
let curr_lnum = a:lnum
let prev_line = getline(prev_lnum)
let curr_line = getline(curr_lnum)
if curr_line =~? '^\s*\(host\|match\)\s'
return 0
elseif prev_line =~? '^\s*\(host\|match\)\s'
return sw
else
return indent(prev_lnum)
endif
endfunction

View File

@ -10,6 +10,7 @@ filetype indent on
syn on
set nowrapscan
set report=9999
set modeline
au! SwapExists * call HandleSwapExists()
func HandleSwapExists()

View File

@ -0,0 +1,53 @@
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
# START_INDENT
Host myhost
User myuser
PasswordAuthentication no
# END_INDENT
# START_INDENT
Host aaa
User bbb
Host ccc
Host ddd
# END_INDENT
# START_INDENT
host aaa
HOST bbb
hoSt ccc
match ddd
MATCH eee
MatCH fff
# END_INDENT
# START_INDENT
Host aaa
User host
PasswordAuthentication no
Host *
User user
PasswordAuthentication no
Host match
User bbb
# END_INDENT
# START_INDENT
Host tab
User myuser
# END_INDENT
# START_INDENT
Host mix
User myuser
# END_INDENT
# START_INDENT
Host aaa
User bbb
Match ccc
User ddd
HostKeyAlgorithms ssh-ed25519
Match eee
# END_INDENT

View File

@ -0,0 +1,53 @@
# vim: set filetype=sshconfig shiftwidth=4 expandtab :
# START_INDENT
Host myhost
User myuser
PasswordAuthentication no
# END_INDENT
# START_INDENT
Host aaa
User bbb
Host ccc
Host ddd
# END_INDENT
# START_INDENT
host aaa
HOST bbb
hoSt ccc
match ddd
MATCH eee
MatCH fff
# END_INDENT
# START_INDENT
Host aaa
User host
PasswordAuthentication no
Host *
User user
PasswordAuthentication no
Host match
User bbb
# END_INDENT
# START_INDENT
Host tab
User myuser
# END_INDENT
# START_INDENT
Host mix
User myuser
# END_INDENT
# START_INDENT
Host aaa
User bbb
Match ccc
User ddd
HostKeyAlgorithms ssh-ed25519
Match eee
# END_INDENT

View File

@ -64,14 +64,17 @@
" style) is supported. Thanks Miles Wheeler for reporting.
" 2018/02/07 by Yichao Zhou <broken.zhou AT gmail.com>
" (*) Make indentation more smart in the normal mode
" 2020/04/26 by Yichao Zhou <broken.zhou AT gmail.com>
" (*) Fix a bug related to \[ & \]. Thanks Manuel Boni for
" reporting.
"
" }}}
" Document: {{{
"
" To set the following options (ok, currently it's just one), add a line like
" let g:tex_indent_items = 1
" to your ~/.vimrc.
" For proper latex experience, please put
" let g:tex_flavor = "latex"
" into your vimrc.
"
" * g:tex_indent_brace
"
@ -184,13 +187,18 @@ function! GetTeXIndent() " {{{
let line = substitute(getline(lnum), '\s*%.*', '','g') " last line
let cline = substitute(getline(v:lnum), '\s*%.*', '', 'g') " current line
let ccol = 1
while cline[ccol] =~ '\s'
let ccol += 1
endwhile
" We are in verbatim, so do what our user what.
if synIDattr(synID(v:lnum, indent(v:lnum), 1), "name") == "texZone"
if synIDattr(synID(v:lnum, ccol, 1), "name") == "texZone"
if empty(cline)
return indent(lnum)
else
return indent(v:lnum)
end
endif
endif
if lnum == 0
@ -253,13 +261,13 @@ function! GetTeXIndent() " {{{
let stay = 0
endif
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, indent(v:lnum))
if cline =~ '^\s*\\\?[\]}]' && s:CheckPairedIsLastCharacter(v:lnum, ccol)
let ind -= shiftwidth()
let stay = 0
endif
if line !~ '^\s*\\\?[\]}]'
for i in range(indent(lnum)+1, strlen(line)-1)
for i in range(1, strlen(line)-1)
let char = line[i]
if char == ']' || char == '}'
if s:CheckPairedIsLastCharacter(lnum, i)

View File

@ -1,6 +1,6 @@
" Vim script to work like "less"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Mar 31
" Last Change: 2020 May 18
" Avoid loading this file twice, allow the user to define his own script.
if exists("loaded_less")
@ -66,8 +66,8 @@ endif
" When reading from stdin don't consider the file modified.
au VimEnter * set nomod
" Can't modify the text
set noma
" Can't modify the text or write the file.
set nomodifiable readonly
" Give help
noremap h :call <SID>Help()<CR>

View File

@ -2,7 +2,7 @@
"
" Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license"
" Last Change: 2020 Feb 19
" Last Change: 2020 May 22
"
" WORK IN PROGRESS - Only the basics work
" Note: On MS-Windows you need a recent version of gdb. The one included with
@ -657,8 +657,10 @@ func s:InstallCommands()
command Source call s:GotoSourcewinOrCreateIt()
command Winbar call s:InstallWinbar()
" TODO: can the K mapping be restored?
nnoremap K :Evaluate<CR>
if !exists('g:termdebug_map_K') || g:termdebug_map_K
let s:k_map_saved = maparg('K', 'n', 0, 1)
nnoremap K :Evaluate<CR>
endif
if has('menu') && &mouse != ''
call s:InstallWinbar()
@ -708,7 +710,10 @@ func s:DeleteCommands()
delcommand Source
delcommand Winbar
nunmap K
if exists('s:k_map_saved')
call mapset('n', 0, s:k_map_saved)
unlet s:k_map_saved
endif
if has('menu')
" Remove the WinBar entries from all windows where it was added.

View File

@ -20,7 +20,7 @@ augroup gzip
"
" Set binary mode before reading the file.
" Use "gzip -d", gunzip isn't always available.
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst setlocal bin
autocmd BufReadPre,FileReadPre *.gz,*.bz2,*.Z,*.lzma,*.xz,*.lz,*.zst,*.br,*.lzo setlocal bin
autocmd BufReadPost,FileReadPost *.gz call gzip#read("gzip -dn")
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress")
@ -28,6 +28,8 @@ augroup gzip
autocmd BufReadPost,FileReadPost *.xz call gzip#read("xz -d")
autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d")
autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm")
autocmd BufReadPost,FileReadPost *.br call gzip#read("brotli -d --rm")
autocmd BufReadPost,FileReadPost *.lzo call gzip#read("lzop -d -U")
autocmd BufWritePost,FileWritePost *.gz call gzip#write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f")
@ -35,6 +37,8 @@ augroup gzip
autocmd BufWritePost,FileWritePost *.xz call gzip#write("xz -z")
autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip")
autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm")
autocmd BufWritePost,FileWritePost *.br call gzip#write("brotli --rm")
autocmd BufWritePost,FileWritePost *.lzo call gzip#write("lzop -U")
autocmd FileAppendPre *.gz call gzip#appre("gzip -dn")
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
autocmd FileAppendPre *.Z call gzip#appre("uncompress")
@ -42,6 +46,8 @@ augroup gzip
autocmd FileAppendPre *.xz call gzip#appre("xz -d")
autocmd FileAppendPre *.lz call gzip#appre("lzip -d")
autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm")
autocmd FileAppendPre *.br call gzip#appre("brotli -d --rm")
autocmd FileAppendPre *.lzo call gzip#appre("lzop -d -U")
autocmd FileAppendPost *.gz call gzip#write("gzip")
autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
autocmd FileAppendPost *.Z call gzip#write("compress -f")
@ -49,4 +55,6 @@ augroup gzip
autocmd FileAppendPost *.xz call gzip#write("xz -z")
autocmd FileAppendPost *.lz call gzip#write("lzip")
autocmd FileAppendPost *.zst call gzip#write("zstd --rm")
autocmd FileAppendPost *.br call gzip#write("brotli --rm")
autocmd FileAppendPost *.lzo call gzip#write("lzop -U")
augroup END

View File

@ -1,13 +1,15 @@
" Vim syntax file
" Language: AsciiDoc
" Author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
" Obenhuber's original asciidoc.vim script).
" URL: http://asciidoc.org/
" Licence: GPL (http://www.gnu.org)
" Remarks: Vim 6 or greater
" Last Update: 2014 Aug 29 (see Issue 240)
" Language: AsciiDoc
" Maintainer: @aerostitch on GitHub (tag me in your issue in the
" github/vim/vim repository and I'll answer when available)
" Original author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
" Obenhuber's original asciidoc.vim script).
" URL: http://asciidoc.org/
" Licence: GPL (http://www.gnu.org)
" Remarks: Vim 6 or greater
" Last Update: 2020 May 03 (see Issue 240)
" Limitations:
"
"
" - Nested quoted text formatting is highlighted according to the outer
" format.
" - If a closing Example Block delimiter may be mistaken for a title
@ -23,9 +25,7 @@ if exists("b:current_syntax")
finish
endif
syn clear
syn sync fromstart
syn sync linebreaks=100
" Use the default syntax syncing.
" Run :help syn-priority to review syntax matching priority.
syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED

View File

@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2020 Feb 02
" Last Change: 2020 Apr 27
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@ -24,7 +24,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
\ ]
let s:unsupported = [
\ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',

View File

@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2020 Feb 02
" Last Change: 2020 Apr 27
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@ -26,7 +26,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',

View File

@ -3,7 +3,7 @@
" Maintainer: Josh Wainwright <wainwright DOT ja AT gmail DOT com>
" Last Maintainer: Andrew Rasmussen andyras@users.sourceforge.net
" Original Maintainer: John Hoelzel johnh51@users.sourceforge.net
" Last Change: 2015-08-25
" Last Change: 2020 May 12
" Filenames: *.gnu *.plt *.gpi *.gih *.gp *.gnuplot scripts: #!*gnuplot
" URL: http://www.vim.org/scripts/script.php?script_id=4873
" Original URL: http://johnh51.get.to/vim/syntax/gnuplot.vim
@ -479,7 +479,7 @@ syn keyword gnuplotKeyword terminal palette rgb rbg grb gbr brg bgr
" ---- Macros ---- "
syn region gnuplotMacro start="@" end=" "
syn match gnuplotMacro "@[a-zA-Z0-9_]*"
" ---- Todos ---- "

View File

@ -1,10 +1,10 @@
" Vim syntax file
" Language: Groovy
" Original Author: Alessio Pace <billy.corgan@tiscali.it>
" Maintainer: Tobias Rapp <yahuxo@gmx.de>
" Version: 0.1.16
" Original Author: Alessio Pace <billy.corgan AT tiscali.it>
" Maintainer: Tobias Rapp <yahuxo+vim AT mailbox.org>
" Version: 0.1.17
" URL: http://www.vim.org/scripts/script.php?script_id=945
" Last Change: 2016 May 23
" Last Change: 2020 May 26
" THE ORIGINAL AUTHOR'S NOTES:
"
@ -253,7 +253,7 @@ if exists("groovy_regex_strings")
endif
" syn region groovyELExpr start=+${+ end=+}+ keepend contained
syn match groovyELExpr /\${.\{-}}/ contained
syn match groovyELExpr /\$[a-zA-Z_][a-zA-Z0-9_.]*/ contained
syn match groovyELExpr /\$[a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\uFFFE_][a-zA-Z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\uFFFE0-9_.]*/ contained
hi def link groovyELExpr Identifier
" TODO: better matching. I am waiting to understand how it really works in groovy

View File

@ -7,7 +7,7 @@
" (ss) repaired several quoting and grouping glitches
" (ss) fixed regex parsing issue with multiple qualifiers [gi]
" (ss) additional factoring of keywords, globals, and members
" Last Change: 2019 Sep 27
" Last Change: 2020 May 14
" 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
" 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
@ -77,10 +77,10 @@ else
syn match javaScriptParens "[()]"
endif
syn sync fromstart
syn sync maxlines=100
if main_syntax == "javascript"
syn sync fromstart
syn sync maxlines=100
syn sync ccomment javaScriptComment
endif

View File

@ -1,22 +1,19 @@
" Vim syntax file
" Language: Lex
" Language: Lex and Flex
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: Aug 31, 2016
" Version: 17
" URL: http://mysite.verizon.net/astronaut/vim/index.html#SYNTAX_LEX
"
" Option:
" lex_uses_cpp : if this variable exists, then C++ is loaded rather than C
" Contributor: Robert A. van Engelen <engelen@acm.org>
" Last Change: Apr 24, 2020
" Version: 18
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the C/C++ syntax to start with
let s:Cpath= fnameescape(expand("<sfile>:p:h").(exists("g:lex_uses_cpp")? "/cpp.vim" : "/c.vim"))
" Read the C++ syntax to start with
let s:Cpath= fnameescape(expand("<sfile>:p:h")."/cpp.vim")
if !filereadable(s:Cpath)
for s:Cpath in split(globpath(&rtp,(exists("g:lex_uses_cpp")? "syntax/cpp.vim" : "syntax/c.vim")),"\n")
for s:Cpath in split(globpath(&rtp,"syntax/cpp.vim"),"\n")
if filereadable(fnameescape(s:Cpath))
let s:Cpath= fnameescape(s:Cpath)
break
@ -29,115 +26,163 @@ exe "syn include @lexCcode ".s:Cpath
" --- Lex stuff ---
" --- ========= ---
" Options Section
syn match lexOptions '^%\s*option\>.*$' contains=lexPatString
" Definitions
" %%
" Rules
" %%
" User Code
"
" --- ======= ---
" --- Example ---
" --- ======= ---
"
" // this is a valid lex file
" // indented initial code block
" #include <stdlib.h>
" %{
" // initial code block
" #include <stdio.h>
" const char *sep = "";
" %}
" %option outfile="scanner.c" noyywrap nodefault
" %x COMMENT
" id [A-Za-z_][A-Za-z0-9_]*
" %%
" // indented initial action code block
" printf("BEGIN");
" {id} printf("%s%s", sep, yytext); sep = "";
" . |
" \n { sep = "\n"; }
" "/*" { BEGIN COMMENT; }
" "//".* { }
" <COMMENT>{
" "*/" { BEGIN INITIAL; }
" .|\n
" }
" <*><<EOF>> { // end of file
" printf("\nEND\n");
" yyterminate();
" }
" %%
" void scan()
" {
" while (yylex())
" continue;
" }
" /* main program */
" int main()
" {
" scan();
" }
" Abbreviations Section
" Definitions Section with initial code blocks, abbreviations, options, states
if has("folding")
syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
syn region lexAbbrvBlock fold start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
else
syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
syn region lexAbbrvBlock start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
endif
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp
syn match lexAbbrv "^%[sx]" contained
syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude
syn match lexOptions "^%\a\+\(\s.*\|[^{]*\)$" contains=lexOptionsEq,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace
syn match lexOptionsEq "=" skipwhite contained
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvPat
syn match lexAbbrvPat "\s\S.*$"lc=1 contained contains=lexPatAbbrv,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace nextgroup=lexAbbrv,lexInclude
syn match lexStartState "^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?\(\s\+\I\i*\)\+\s*$" contained contains=lexStartStateCmd
syn match lexStartStateCmd '^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?' contained
if has("folding")
syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell
syn region lexAbbrvComment fold start="\%^/\*" end="\*/" contains=@Spell
syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained
syn region lexInitialCodeBlock fold start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
syn region lexInclude fold matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
syn region lexAbbrvComment fold start="^\s*//" end="$" contains=@Spell
syn region lexAbbrvComment fold start="^\s*/\*" end="\*/" contains=@Spell
else
syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
syn region lexAbbrvComment start="\%^/\*" end="\*/" contains=@Spell
syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
syn region lexInitialCodeBlock start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
syn region lexInclude matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
syn region lexAbbrvComment start="^\s*//" end="$" contains=@Spell
syn region lexAbbrvComment start="^\s*/\*" end="\*/" contains=@Spell
endif
"%% : Patterns {Actions}
" Rules Section with patterns and actions
if has("folding")
syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%\ze%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
syn region lexPatBlock fold matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPat fold start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
syn region lexBrace fold matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
else
syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
syn region lexPatInclude matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
syn region lexPatBlock matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPat start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
syn region lexPatInclude matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
syn region lexBrace matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
endif
syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s\+\ze{" contained nextgroup=lexPatTagZoneStart
syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
" Lex Patterns
syn region lexPattern start='[^ \t{}]' end="$" contained contains=lexPatRange
syn region lexPatRange matchgroup=Delimiter start='\[' skip='\\\\\|\\.' end='\]' contains=lexEscape
syn match lexEscape '\%(\\\\\)*\\.' contained
syn match lexPatAbbrv "{\I\i*}"hs=s+1,he=e-1 contained
syn match lexPatTag "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>" contained nextgroup=lexPat,lexMorePat,lexPatSep,lexPatEnd
syn match lexPatTagZone "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>\s*{$"me=e-1 contained nextgroup=lexPatTagZoneStart
if has("folding")
syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment
syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatTagZoneStart fold matchgroup=lexPatTag start='{$' end='^}' skipnl skipwhite contained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPatComment fold start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatComment fold start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
else
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment
syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhitecontained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPatComment start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatComment start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
endif
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexPatEnd "\s*$" skipnl contained
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode,lexCFunctions
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexSlashQuote +\(\\\\\)*\\"+ contained
syn match lexSlashBrace +\(\\\\\)*\\\[+ contained
if has("folding")
syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=@lexCcode,lexCFunctions
syn region lexPatCode fold matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
else
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
endif
" Lex "functions" which may appear in C/C++ code blocks
syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext
syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap
" User Code Section with final code block
syn region lexFinalCodeBlock matchgroup=Todo start="^%%" end="\%$" contained contains=@lexCcode
" %%
" lexAbbrevBlock
" %%
" lexPatBlock
" %%
" lexFinalCodeBlock
syn region lexFinalCodeBlock matchgroup=Todo start="%$"me=e-1 end="\%$" contained contains=@lexCcode
" Lex macros which may appear in C/C++ code blocks
syn keyword lexCFunctions BEGIN ECHO REJECT yytext YYText yyleng YYLeng yymore yyless yywrap yylook
syn keyword lexCFunctions yyrestart yyterminate yylineno yycolumno yyin yyout
syn keyword lexCFunctions input unput output winput wunput woutput
syn keyword lexCFunctions yyinput yyunput yyoutput yywinput yywunput yywoutput
" <c.vim> includes several ALLBUTs; these have to be treated so as to exclude lex* groups
syn cluster cParenGroup add=lex.*
syn cluster cParenGroup add=lex.*
syn cluster cDefineGroup add=lex.*
syn cluster cPreProcGroup add=lex.*
syn cluster cMultiGroup add=lex.*
syn cluster cMultiGroup add=lex.*
" Synchronization
syn sync clear
syn sync minlines=500
syn sync match lexSyncPat grouphere lexPatBlock "^%[a-zA-Z]"
syn sync match lexSyncPat groupthere lexPatBlock "^<$"
syn sync match lexSyncPat groupthere lexPatBlock "^%%$"
syn sync match lexSyncPat groupthere lexPatBlock "^%%"
" The default highlighting.
if !exists("skip_lex_syntax_inits")
hi def link lexAbbrvComment lexPatComment
hi def link lexAbbrvRegExp Macro
hi def link lexAbbrv SpecialChar
hi def link lexBrace lexPat
hi def link lexCFunctions Function
hi def link lexCstruct cStructure
hi def link lexMorePat SpecialChar
hi def link lexOptions PreProc
hi def link lexAbbrvPat lexPat
hi def link lexAbbrv Special
hi def link lexBrace lexPat
hi def link lexCFunctions PreProc
hi def link lexMorePat Special
hi def link lexOptions PreProc
hi def link lexOptionsEq Operator
hi def link lexPatComment Comment
hi def link lexPat Function
hi def link lexPatString Function
hi def link lexPatTag Special
hi def link lexPatString lexPat
hi def link lexPatAbbrv Special
hi def link lexPatTag Statement
hi def link lexPatTagZone lexPatTag
hi def link lexSep Delimiter
hi def link lexSlashQuote lexPat
hi def link lexStartState Statement
hi def link lexSlashBrace lexPat
hi def link lexStartState lexPatTag
hi def link lexStartStateCmd Special
endif
let b:current_syntax = "lex"
" vim:ts=10
" vim:ts=8

View File

@ -3,7 +3,7 @@
" Maintainer: Roland Hieber <rohieb+vim-iR0jGdkV@rohieb.name>, <https://github.com/rohieb>
" Previous Maintainer: Claudio Fleiner <claudio@fleiner.com>
" URL: https://github.com/vim/vim/blob/master/runtime/syntax/make.vim
" Last Change: 2020 Mar 04
" Last Change: 2020 May 03
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@ -73,7 +73,7 @@ syn match makePreCondit "^ *\(ifn\=\(eq\|def\)\>\|else\(\s\+ifn\=\(eq\|def\)\)\=
syn match makeInclude "^ *[-s]\=include\s.*$"
syn match makeStatement "^ *vpath"
syn match makeExport "^ *\(export\|unexport\)\>"
syn match makeOverride "^ *override"
syn match makeOverride "^ *override\>"
" Statements / Functions (GNU make)
syn match makeStatement contained "(\(abspath\|addprefix\|addsuffix\|and\|basename\|call\|dir\|error\|eval\|file\|filter-out\|filter\|findstring\|firstword\|flavor\|foreach\|guile\|if\|info\|join\|lastword\|notdir\|or\|origin\|patsubst\|realpath\|shell\|sort\|strip\|subst\|suffix\|value\|warning\|wildcard\|word\|wordlist\|words\)\>"ms=s+1

View File

@ -1,9 +1,10 @@
" Vim syntax file
" Language: Man page
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Maintainer: Jason Franklin <vim@justemail.net>
" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
" Version Info:
" Last Change: 2020 Apr 15
" Last Change: 2020 Apr 30
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
" * manSubHeading
@ -19,9 +20,6 @@ runtime! syntax/ctrlh.vim
syn case ignore
syn match manHeader '\%1l.*'
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
syn match manReference "\f\+([1-9][a-z]\=)"
syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
@ -29,6 +27,9 @@ syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
" syn match manHistory "^[a-z].*last change.*$"
syn match manHeader '\%1l.*'
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
if getline(1) =~ '^[a-zA-Z_]\+([23])'
syntax include @cCode <sfile>:p:h/c.vim
syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained

View File

@ -2,8 +2,7 @@
" Language: Microsoft Macro Assembler (80x86)
" Orig Author: Rob Brady <robb@datatone.com>
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: $Date: 2013/11/13 11:49:24 $
" $Revision: 1.48 $
" Last Change: 2020-05-09 22:55:38 +0800
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@ -13,10 +12,12 @@ endif
let s:cpo_save = &cpo
set cpo&vim
syn iskeyword @,48-57,_,36,60,62,63,@-@
syn case ignore
syn match masmIdentifier "[@a-z_$?][@a-z0-9_$?]*"
syn match masmIdentifier "[@a-z_$?][@a-z0-9_$?<>]*"
syn match masmLabel "^\s*[@a-z_$?][@a-z0-9_$?]*:"he=e-1
syn match masmDecimal "[-+]\?\d\+[dt]\?"

28
runtime/syntax/pamenv.vim Normal file
View File

@ -0,0 +1,28 @@
" Vim syntax file
" Language: pam_env.conf(5) configuration file
" Latest Revision: 2020-05-10
if exists("b:current_syntax")
finish
endif
syn keyword pamenvTodo contained TODO FIXME XXX NOTE
syn region pamenvComment start='^#' end='$' display oneline contains=pamenvTodo,@Spells
syn match pamenvVars '^[A-Z_][A-Z_0-9]*' nextgroup=pamenvKeywords skipwhite
syn keyword pamenvKeywords contained DEFAULT OVERRIDE nextgroup=pamenvVarEq
syn match pamenvVarEq contained '=' nextgroup=pamenvValue,pamenvValueWithQuote
syn match pamenvValue contained '[^ \t]*' skipwhite nextgroup=pamenvKeywords
syn region pamenvValueWithQuote contained start='"' end='"' skipwhite nextgroup=pamenvKeywords
hi def link pamenvTodo Todo
hi def link pamenvComment Comment
hi def link pamenvKeywords Keyword
hi def link pamenvVars Identifier
hi def link pamenvValue String
hi def link pamenvValueWithQuote String
let b:current_syntax = "pamenv"

View File

@ -1,9 +1,11 @@
" Vim syntax file
" Language: php PHP 3/4/5/7
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
" Last Change: Oct 19, 2019
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
" Maintainer: Tyson Andre <tysonandre775@hotmail.com>
" Last Change: May 11, 2020
" URL: https://github.com/TysonAndre/vim-syntax
" Former Maintainers:
" Jason Woofenden <jason@jasonwoof.com>
" Peter Hodge <toomuchphp-vim@yahoo.com>
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
"
" Note: If you are using a colour terminal with dark background, you will
@ -91,7 +93,7 @@ if exists( "php_htmlInStrings")
syn cluster phpAddStrings add=@htmlTop
endif
" make sure we can use \ at the begining of the line to do a continuation
" make sure we can use \ at the beginning of the line to do a continuation
let s:cpo_save = &cpo
set cpo&vim
@ -314,7 +316,7 @@ syn region phpIdentifierComplexP matchgroup=phpParent start="\[" end="]" contain
" define a cluster to get all interpolation syntaxes for double-quoted strings
syn cluster phpInterpDouble contains=phpInterpSimple,phpInterpSimpleCurly,phpInterpDollarCurly1,phpInterpDollarCurly2,phpInterpBogusDollarCurley,phpInterpComplex
" Methoden
" Methods
syn match phpMethodsVar "->\h\w*" contained contains=phpMethods,phpMemberSelector display
" Include
@ -328,14 +330,14 @@ syn keyword phpBoolean true false contained
" Float
" Refer to: https://www.php.net/manual/en/language.types.float.php
syn match phpFloat "\%(\w\|\.\)\@<!\%(\d\|\.\)*\d\%(\d\|\.\)*\%([eE][+-]\=\%(\d\|\.\)\+\)\=\%(\w\|\.\)\@!" contained contains=phpFloatError display
syn match phpFloatError "[eE.].*\." contained display
syn match phpFloat "\%(\w\|\.\)\@<!\%(\d_\?\|\.\)*\d\%(\d\|_\|\.\)*\%([eE][+-]\=\%(\d\|_\|\.\)\+\)\=\%(\w\|\.\)\@!" contained contains=phpFloatError display
syn match phpFloatError "\%([eE.][0-9._+-]*\.\|__\|_\(\>\|[eE]\)\|\(\>\|[eE]\)_\)" contained display
" Number
syn match phpNumber "\%(\.\)\@<!\<\%([1-9]\d*\|0\|0[xX]\x\+\)\>\%(\.\)\@!" contained display
syn match phpNumber "\%(\.\)\@<!\<\%([1-9]\d*\|0\|0[xX]\(\x_\?\)*\x\)\>\%(\.\)\@!" contained display
syn match phpNumber "\%(\.\)\@<!\<0\d\+\>\%(\.\)\@!" contained contains=phpOctalError display
syn match phpBinaryError "[2-9]" contained display
syn match phpNumber "\%(\.\)\@<!\<0[bB]\d\+\>\%(\.\)\@!" contained contains=phpBinaryError display
syn match phpNumber "\%(\.\)\@<!\<0[bB]\(\d_\?\)*\d\>\%(\.\)\@!" contained contains=phpBinaryError display
" Backslash escapes
syn case match
@ -442,6 +444,7 @@ if exists("php_folding") && php_folding==1
" match one line constructs here and skip them at folding
syn keyword phpSCKeyword abstract final private protected public static contained
syn keyword phpFCKeyword function contained
syn keyword phpDefine fn contained
syn keyword phpStorageClass global contained
syn match phpDefine "\(\s\|^\)\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function\(\s\+.*[;}]\)\@=" contained contains=phpSCKeyword
syn match phpStructure "\(\s\|^\)\(abstract\s\+\|final\s\+\)*\(trait\|class\)\(\s\+.*}\)\@=" contained
@ -459,7 +462,7 @@ if exists("php_folding") && php_folding==1
syn region phpFoldCatch matchgroup=Exception start="^\z(\s*\)catch\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
syn region phpFoldTry matchgroup=Exception start="^\z(\s*\)try\s\+\([^}]*$\)\@=" matchgroup=Delimiter end="^\z1}" contains=@phpClFunction,phpFoldFunction contained transparent fold extend
else
syn keyword phpDefine function contained
syn keyword phpDefine function fn contained
syn keyword phpStructure abstract class trait interface contained
syn keyword phpException catch throw try finally contained
syn keyword phpStorageClass final global private protected public static contained

View File

@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: Oct 16, 2019
" Version: 189
" Last Change: Apr 14, 2020
" Version: 190
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
" For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
@ -357,19 +357,18 @@ elseif !exists("g:sh_no_error")
syn region shExDoubleQuote matchGroup=Error start=+\$"+ skip=+\\\\\|\\.+ end=+"+ contains=shStringSpecial
endif
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart,shSpecialSQ
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contained contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\.+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
syn region shDoubleQuote matchgroup=shQuote start=+"+ matchgroup=shSpecial skip=+\\"+ end=+"+ contained contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment
syn match shStringSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecialSQ "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshSnglQuote,@shNoZSList
syn match shSpecialDQ "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshDblQuote,@shNoZSList
syn match shSpecialStart "\%(\\\\\)*\\[\\"'`$()#]" contained nextgroup=shBkslshSnglQuote,shBkslshDblQuote,@shNoZSList
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecialNoZS contained "\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecialNxt contained "\\[\\"'`$()#]"
syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart
syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
"syn region shBkslshSnglQuote contained matchgroup=shQuote start=+'+ end=+'+ contains=@Spell nextgroup=shSpecialStart
"syn region shBkslshDblQuote contained matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell nextgroup=shSpecialStart
" Comments: {{{1
"==========
@ -454,13 +453,13 @@ if !exists("g:sh_no_error")
syn match shDerefWordError "[^}$[~]" contained
endif
syn match shDerefSimple "\$\%(\h\w*\|\d\)" nextgroup=@shNoZSList
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray nextgroup=shSpecialStart
syn match shDerefSimple "\$[-#*@!?]" nextgroup=@shNoZSList
syn match shDerefSimple "\$\$" nextgroup=@shNoZSList
syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList
syn match shDerefSimple "\${\d}" nextgroup=@shNoZSList nextgroup=shSpecialStart
if exists("b:is_bash") || exists("b:is_kornshell") || exists("b:is_posix")
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS
syn region shDeref matchgroup=PreProc start="\${##\=" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS,shSpecialStart
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList nextgroup=@shSpecialNoZS,shSpecialStart
endif
" ksh: ${!var[*]} array index list syntax: {{{1

View File

@ -3,7 +3,7 @@
" Language: SPEC: Build/install scripts for Linux RPM packages
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
" Last Change: 2020 Feb 07
" Last Change: 2020 May 25
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@ -128,6 +128,8 @@ syn case match
"sh-like comment stile, only valid in script part
syn match shComment contained '#.*$'
syn region dnlComment matchgroup=specComment start=+%dnl+ end=+$+
syn region shQuote1 contained matchgroup=shQuoteDelim start=+'+ skip=+\\'+ end=+'+ contains=specMacroIdentifier
syn region shQuote2 contained matchgroup=shQuoteDelim start=+"+ skip=+\\"+ end=+"+ contains=specVariables,specMacroIdentifier
@ -173,6 +175,7 @@ endif
"sh colors
hi def link shComment Comment
hi def link dnlComment Comment
hi def link shIf Statement
hi def link shOperator Special
hi def link shQuote1 String

View File

@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: Jan 24, 2020
" Version: 116
" Last Change: May 19, 2020
" Version: 117
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
"
" Notes: {{{1
@ -1057,6 +1057,7 @@ if has("conceal") && &enc == 'utf-8'
call s:SuperSub('texSuperscript','\^','R','ᴿ')
call s:SuperSub('texSuperscript','\^','T','ᵀ')
call s:SuperSub('texSuperscript','\^','U','ᵁ')
call s:SuperSub('texSuperscript','\^','V','ⱽ')
call s:SuperSub('texSuperscript','\^','W','ᵂ')
call s:SuperSub('texSuperscript','\^',',','︐')
call s:SuperSub('texSuperscript','\^',':','︓')

View File

@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 8.0 script
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Apr 15, 2020
" Version: 8.0-33
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: May 26, 2020
" Version: 8.0-35
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Automatically generated keyword lists: {{{1
@ -228,7 +228,7 @@ syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperPa
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "||\|&&\|[-+.!]" skipwhite nextgroup=vimString,vimSpecFile
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=vimoperStar,@vimOperGroup
syn region vimOperParen matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
syn match vimOperError ")"
@ -300,7 +300,7 @@ syn match vimComment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCom
syn match vimComment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
" Vim9 comment inside expression
syn match vim9Comment +\s\zs#[^{].*$+ contains=@vimCommentGroup,vimCommentString
syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
" Environment Variables: {{{2
" =====================
@ -321,7 +321,7 @@ syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"
syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+
syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
@ -932,6 +932,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimNumber Number
hi def link vimOperError Error
hi def link vimOper Operator
hi def link vimOperStar vimOper
hi def link vimOption PreProc
hi def link vimParenSep Delimiter
hi def link vimPatSepErr vimError

View File

@ -625,7 +625,7 @@ endif
ifeq ($(CHANNEL),yes)
DEFINES += -DFEAT_JOB_CHANNEL -DFEAT_IPV6
ifeq ($(shell expr "$(WINVER)" \>= 0x600),1)
ifeq ($(shell expr "$$(($(WINVER)))" \>= "$$((0x600))"),1)
DEFINES += -DHAVE_INET_NTOP
endif
endif
@ -741,6 +741,7 @@ OBJ = \
$(OUTDIR)/findfile.o \
$(OUTDIR)/fold.o \
$(OUTDIR)/getchar.o \
$(OUTDIR)/gui_xim.o \
$(OUTDIR)/hardcopy.o \
$(OUTDIR)/hashtab.o \
$(OUTDIR)/highlight.o \
@ -787,8 +788,11 @@ OBJ = \
$(OUTDIR)/tag.o \
$(OUTDIR)/term.o \
$(OUTDIR)/testing.o \
$(OUTDIR)/textformat.o \
$(OUTDIR)/textobject.o \
$(OUTDIR)/textprop.o \
$(OUTDIR)/time.o \
$(OUTDIR)/typval.o \
$(OUTDIR)/ui.o \
$(OUTDIR)/undo.o \
$(OUTDIR)/usercmd.o \
@ -1244,6 +1248,7 @@ $(OUTDIR)/pathdef.o: $(PATHDEF_SRC) $(INCL)
CCCTERM = $(CC) -c $(CFLAGS) -Ilibvterm/include -DINLINE="" \
-DVSNPRINTF=vim_vsnprintf \
-DSNPRINTF=vim_snprintf \
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
-DWCWIDTH_FUNCTION=utf_uint2cells \
-DGET_SPECIAL_PTY_TYPE_FUNCTION=get_special_pty_type

View File

@ -61,6 +61,7 @@ SRC = arabic.c \
findfile.c \
fold.c \
getchar.c \
gui_xim.c \
hardcopy.c \
hashtab.c \
highlight.c \
@ -103,8 +104,11 @@ SRC = arabic.c \
tag.c \
term.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
typval.c \
ui.c \
undo.c \
usercmd.c \

View File

@ -23,6 +23,8 @@
#
# Feature Set: FEATURES=[TINY, SMALL, NORMAL, BIG, HUGE] (default is HUGE)
#
# Name to add to the version: MODIFIED_BY=[name of modifier]
#
# GUI interface: GUI=yes (default is no)
#
# GUI with DirectWrite (DirectX): DIRECTX=yes
@ -675,9 +677,6 @@ CFLAGS = $(CFLAGS) $(WP64CHECK)
CFLAGS = $(CFLAGS) $(OPTFLAG) -DNDEBUG $(CPUARG)
RCFLAGS = $(rcflags) $(rcvars) -DNDEBUG
! if "$(CL)" == "/D_USING_V110_SDK71_"
RCFLAGS = $(RCFLAGS) /D_USING_V110_SDK71_
! endif
! ifdef USE_MSVCRT
CFLAGS = $(CFLAGS) /MD
LIBC = msvcrt.lib
@ -707,6 +706,10 @@ CFLAGS = $(CFLAGS) /Zl /MTd
! endif
!endif # DEBUG
!if "$(CL)" == "/D_USING_V110_SDK71_"
RCFLAGS = $(RCFLAGS) /D_USING_V110_SDK71_
!endif
!if $(MSVC_MAJOR) >= 8
# Visual Studio 2005 has 'deprecated' many of the standard CRT functions
CFLAGS_DEPR = /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
@ -760,6 +763,7 @@ OBJ = \
$(OUTDIR)\findfile.obj \
$(OUTDIR)\fold.obj \
$(OUTDIR)\getchar.obj \
$(OUTDIR)\gui_xim.obj \
$(OUTDIR)\hardcopy.obj \
$(OUTDIR)\hashtab.obj \
$(OUTDIR)\highlight.obj \
@ -806,8 +810,11 @@ OBJ = \
$(OUTDIR)\tag.obj \
$(OUTDIR)\term.obj \
$(OUTDIR)\testing.obj \
$(OUTDIR)\textformat.obj \
$(OUTDIR)\textobject.obj \
$(OUTDIR)\textprop.obj \
$(OUTDIR)\time.obj \
$(OUTDIR)\typval.obj \
$(OUTDIR)\ui.obj \
$(OUTDIR)\undo.obj \
$(OUTDIR)\usercmd.obj \
@ -1239,6 +1246,13 @@ CFLAGS = $(CFLAGS) -DMSWINPS
#
CFLAGS = $(CFLAGS) -DFEAT_$(FEATURES)
#
# MODIFIED_BY - Name of who modified a release version
#
!if "$(MODIFIED_BY)" != ""
CFLAGS = $(CFLAGS) -DMODIFIED_BY=\"$(MODIFIED_BY)\"
!endif
#
# Always generate the .pdb file, so that we get debug symbols that can be used
# on a crash (doesn't add overhead to the executable).
@ -1587,6 +1601,8 @@ $(OUTDIR)/fold.obj: $(OUTDIR) fold.c $(INCL)
$(OUTDIR)/getchar.obj: $(OUTDIR) getchar.c $(INCL)
$(OUTDIR)/gui_xim.obj: $(OUTDIR) gui_xim.c $(INCL)
$(OUTDIR)/hardcopy.obj: $(OUTDIR) hardcopy.c $(INCL) version.h
$(OUTDIR)/hashtab.obj: $(OUTDIR) hashtab.c $(INCL)
@ -1744,10 +1760,16 @@ $(OUTDIR)/term.obj: $(OUTDIR) term.c $(INCL)
$(OUTDIR)/term.obj: $(OUTDIR) testing.c $(INCL)
$(OUTDIR)/textformat.obj: $(OUTDIR) textformat.c $(INCL)
$(OUTDIR)/textobject.obj: $(OUTDIR) textobject.c $(INCL)
$(OUTDIR)/textprop.obj: $(OUTDIR) textprop.c $(INCL)
$(OUTDIR)/time.obj: $(OUTDIR) time.c $(INCL)
$(OUTDIR)/typval.obj: $(OUTDIR) typval.c $(INCL)
$(OUTDIR)/ui.obj: $(OUTDIR) ui.c $(INCL)
$(OUTDIR)/undo.obj: $(OUTDIR) undo.c $(INCL)
@ -1805,6 +1827,7 @@ $(OUTDIR)/glbl_ime.obj: $(OUTDIR) glbl_ime.cpp dimm.h $(INCL)
CCCTERM = $(CC) $(CFLAGS) -Ilibvterm/include -DINLINE="" \
-DVSNPRINTF=vim_vsnprintf \
-DSNPRINTF=vim_snprintf \
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
-DWCWIDTH_FUNCTION=utf_uint2cells \
-DGET_SPECIAL_PTY_TYPE_FUNCTION=get_special_pty_type \
@ -1838,14 +1861,18 @@ $(OUTDIR)/vterm_vterm.obj: $(OUTDIR) libvterm/src/vterm.c $(TERM_DEPS)
$(CCCTERM) /Fo$@ libvterm/src/vterm.c
# $CFLAGS may contain backslashes and double quotes, escape them both.
# $CFLAGS may contain backslashes, quotes and chevrons, escape them all.
E0_CFLAGS = $(CFLAGS:\=\\)
E_CFLAGS = $(E0_CFLAGS:"=\")
E00_CFLAGS = $(E0_CFLAGS:"=\")
# ") stop the string
# $LINKARGS2 may contain backslashes and double quotes, escape them both.
E000_CFLAGS = $(E00_CFLAGS:<=^^<)
E_CFLAGS = $(E000_CFLAGS:>=^^>)
# $LINKARGS2 may contain backslashes, quotes and chevrons, escape them all.
E0_LINKARGS2 = $(LINKARGS2:\=\\)
E_LINKARGS2 = $(E0_LINKARGS2:"=\")
E00_LINKARGS2 = $(E0_LINKARGS2:"=\")
# ") stop the string
E000_LINKARGS2 = $(E00_LINKARGS2:<=^^<)
E_LINKARGS2 = $(E000_LINKARGS2:>=^^>)
$(PATHDEF_SRC): Make_mvc.mak
@echo creating $(PATHDEF_SRC)
@ -1897,6 +1924,7 @@ proto.h: \
proto/filepath.pro \
proto/findfile.pro \
proto/getchar.pro \
proto/gui_xim.pro \
proto/hardcopy.pro \
proto/hashtab.pro \
proto/highlight.pro \
@ -1942,8 +1970,11 @@ proto.h: \
proto/tag.pro \
proto/term.pro \
proto/testing.pro \
proto/textformat.pro \
proto/textobject.pro \
proto/textprop.pro \
proto/time.pro \
proto/typval.pro \
proto/ui.pro \
proto/undo.pro \
proto/usercmd.pro \

View File

@ -334,6 +334,7 @@ SRC = \
findfile.c \
fold.c \
getchar.c \
gui_xim.c \
hardcopy.c \
hashtab.c \
highlight.c \
@ -382,8 +383,11 @@ SRC = \
term.c \
termlib.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
typval.c \
ui.c \
undo.c \
usercmd.c \
@ -442,6 +446,7 @@ OBJ = \
findfile.obj \
fold.obj \
getchar.obj \
gui_xim.obj \
hardcopy.obj \
hashtab.obj \
highlight.obj \
@ -491,8 +496,11 @@ OBJ = \
term.obj \
termlib.obj \
testing.obj \
textformat.obj \
textobject.obj \
textprop.obj \
time.obj \
typval.obj \
ui.obj \
undo.obj \
usercmd.obj \
@ -812,6 +820,10 @@ getchar.obj : getchar.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
gui_xim.obj : gui_xim.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
globals.h
hardcopy.obj : hardcopy.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h \
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
@ -989,12 +1001,21 @@ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
testing.obj : testing.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textformat.obj : textformat.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textobject.obj : textobject.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
time.obj : time.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
typval.obj : typval.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h

View File

@ -618,7 +618,7 @@ CClink = $(CC)
# Add -Wpedantic to find // comments and other C99 constructs.
# Better disable Perl and Python to avoid a lot of warnings.
#CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wno-cast-function-type -Wunused-result -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
#MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
@ -686,8 +686,10 @@ LINT_OPTIONS = -beprxzF
# 7. Open the objects/index.html file in a web browser to view the coverage
# information.
#
# PROFILE_CFLAGS=-g -O0 -fprofile-arcs -ftest-coverage
# LDFLAGS=--coverage
# PROFILE_CFLAGS=-g -O0 -fprofile-arcs -ftest-coverage -DWE_ARE_PROFILING -DUSE_GCOV_FLUSH
# Alternate flags
# PROFILE_CFLAGS=-g -O0 --coverage -DWE_ARE_PROFILING -DUSE_GCOV_FLUSH
# Uncomment one of the next two lines to compile Vim with the
@ -1578,6 +1580,9 @@ DEST_MAN_PL_I = $(DEST_MAN_TOP)/pl.ISO8859-2$(MAN1DIR)
DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
DEST_MAN_TR = $(DEST_MAN_TOP)/tr$(MAN1DIR)
DEST_MAN_TR_I = $(DEST_MAN_TOP)/tr.ISO8859-9$(MAN1DIR)
DEST_MAN_TR_U = $(DEST_MAN_TOP)/tr.UTF-8$(MAN1DIR)
# stuff common to all systems
include Make_all.mak
@ -1631,6 +1636,7 @@ BASIC_SRC = \
findfile.c \
fold.c \
getchar.c \
gui_xim.c \
hardcopy.c \
hashtab.c \
highlight.c \
@ -1680,8 +1686,11 @@ BASIC_SRC = \
term.c \
terminal.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
typval.c \
ui.c \
undo.c \
usercmd.c \
@ -1777,6 +1786,7 @@ OBJ_COMMON = \
objects/findfile.o \
objects/fold.o \
objects/getchar.o \
objects/gui_xim.o \
objects/hardcopy.o \
objects/hashtab.o \
objects/highlight.o \
@ -1822,8 +1832,11 @@ OBJ_COMMON = \
objects/term.o \
objects/terminal.o \
objects/testing.o \
objects/textformat.o \
objects/textobject.o \
objects/textprop.o \
objects/time.o \
objects/typval.o \
objects/ui.o \
objects/undo.o \
objects/usercmd.o \
@ -1939,6 +1952,7 @@ PRO_AUTO = \
findfile.pro \
fold.pro \
getchar.pro \
gui_xim.pro \
gui_beval.pro \
hardcopy.pro \
hashtab.pro \
@ -1996,8 +2010,11 @@ PRO_AUTO = \
terminal.pro \
termlib.pro \
testing.pro \
textformat.pro \
textobject.pro \
textprop.pro \
time.pro \
typval.pro \
ui.pro \
undo.pro \
usercmd.pro \
@ -2015,7 +2032,7 @@ PRO_AUTO = \
RSRC_DIR = os_mac_rsrc
PRO_MANUAL = os_amiga.pro os_win32.pro \
os_mswin.pro winclip.pro os_beos.pro os_vms.pro $(PERL_PRO)
os_mswin.pro winclip.pro os_vms.pro $(PERL_PRO)
# Default target is making the executable and tools
all: $(VIMTARGET) $(TOOLS) languages $(GUI_BUNDLE)
@ -2113,6 +2130,7 @@ CCC = $(CCC_NF) $(ALL_CFLAGS)
# A shell script is used to try linking without unnecessary libraries.
$(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
$(CCC) version.c -o objects/version.o
@$(BUILD_DATE_MSG)
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
-o $(VIMTARGET) $(OBJ) $(ALL_LIBS)" \
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
@ -2182,10 +2200,6 @@ winclip.pro: winclip.c
$(CPROTO) -DWIN32 -UHAVE_CONFIG_H $< > proto/$@
echo "/* vim: set ft=c : */" >> proto/$@
os_beos.pro: os_beos.c
$(CPROTO) -D__BEOS__ -UHAVE_CONFIG_H $< > proto/$@
echo "/* vim: set ft=c : */" >> proto/$@
os_vms.pro: os_vms.c
# must use os_vms_conf.h for auto/config.h
mv auto/config.h auto/config.h.save
@ -2288,7 +2302,6 @@ test_libvterm:
# Run individual OLD style test.
# These do not depend on the executable, compile it when needed.
test1 \
test_eval \
test42 test44 test49 \
test52 test59 \
test70 \
@ -2569,6 +2582,10 @@ install-tool-languages:
-$(SHELL) ./installman.sh xxd $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh xxd $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS)
# install the language specific files, if they were unpacked
install-languages: languages $(DEST_LANG) $(DEST_KMAP)
@ -2590,6 +2607,9 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
-$(SHELL) ./installman.sh install $(DEST_MAN_PL_U) "-pl.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_RU) "-ru" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_RU_U) "-ru.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_TR) "-tr" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_TR_I) "-tr" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh install $(DEST_MAN_TR_U) "-tr.UTF-8" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_DA) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
@ -2626,6 +2646,12 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
$(DEST_MAN_RU) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR_I) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh install "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR_U) $(INSTALLMLARGS)
if test -n "$(MAKEMO)" -a -f $(PODIR)/Makefile; then \
cd $(PODIR); $(MAKE) prefix=$(DESTDIR)$(prefix) LOCALEDIR=$(DEST_LANG) \
INSTALL_DATA=$(INSTALL_DATA) FILEMOD=$(FILEMOD) install; \
@ -2799,6 +2825,9 @@ uninstall_runtime:
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_PL_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_RU_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR_I) "" $(INSTALLMANARGS)
-$(SHELL) ./installman.sh uninstall $(DEST_MAN_TR_U) "" $(INSTALLMANARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
@ -2837,6 +2866,12 @@ uninstall_runtime:
$(DEST_MAN_RU) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_RU_U) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR_I) $(INSTALLMLARGS)
-$(SHELL) ./installml.sh uninstall "$(GUI_MAN_TARGETS)" \
$(DEST_MAN_TR_U) $(INSTALLMLARGS)
-rm -f $(DEST_MAN)/xxd.1
-rm -f $(DEST_MAN_DA)/xxd.1 $(DEST_MAN_DA_I)/xxd.1 $(DEST_MAN_DA_U)/xxd.1
-rm -f $(DEST_MAN_DE)/xxd.1 $(DEST_MAN_DE_I)/xxd.1 $(DEST_MAN_DE_U)/xxd.1
@ -2883,7 +2918,7 @@ uninstall_runtime:
clean celan: testclean
-rm -f *.o core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
-rm -rf objects
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h auto/os_haiku.rdef
-rm -f conftest* *~ auto/link.sed
-rm -f testdir/opt_test.vim
-rm -f $(UNITTEST_TARGETS)
@ -2916,7 +2951,7 @@ clean celan: testclean
# % make
SHADOWDIR = shadow
LINKEDFILES = ../*.[chm] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
LINKEDFILES = ../*.[chm] ../*.cc ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
shadow: runtime pixmaps
$(MKDIR_P) $(SHADOWDIR)
@ -2952,7 +2987,9 @@ shadow: runtime pixmaps
../../testdir/samples \
../../testdir/dumps \
../../testdir/test83-tags? \
../../testdir/*.ok .
../../testdir/*.ok \
../../testdir/testluaplugin \
.
# After updating Vim new files may have been created, use this to refresh the
# symbolic links in the shadow directory. This isn't guaranteed to catch all
@ -3040,6 +3077,14 @@ auto/if_perl.c: if_perl.xs
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
auto/os_haiku.rdef: os_haiku.rdef.in
@echo creating $@
@echo '/* This file is automatically created by Makefile */' >> $@
@echo '/* DO NOT EDIT! Change Makefile only. */' >> $@
@cat $(srcdir)/os_haiku.rdef.in >> auto/os_haiku.rdef
sed -i "s|@MAJOR@|$(VIMMAJOR)|" auto/os_haiku.rdef
sed -i "s|@MINOR@|$(VIMMINOR)|" auto/os_haiku.rdef
auto/pathdef.c: Makefile auto/config.mk
-@echo creating $@
-@echo '/* pathdef.c */' > $@
@ -3262,6 +3307,9 @@ objects/gui_xmebw.o: gui_xmebw.c
objects/gui_x11.o: gui_x11.c
$(CCC) -o $@ gui_x11.c
objects/gui_xim.o: gui_xim.c
$(CCC) -o $@ gui_xim.c
objects/gui_photon.o: gui_photon.c
$(CCC) -o $@ gui_photon.c
@ -3376,13 +3424,10 @@ objects/option.o: option.c optiondefs.h
objects/optionstr.o: optionstr.c
$(CCC_NF) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(RUBY_CFLAGS) $(TCL_CFLAGS) $(ALL_CFLAGS) -o $@ optionstr.c
objects/os_beos.o: os_beos.c
$(CCC) -o $@ os_beos.c
objects/os_qnx.o: os_qnx.c
$(CCC) -o $@ os_qnx.c
objects/os_haiku.rsrc: os_haiku.rdef
objects/os_haiku.rsrc: auto/os_haiku.rdef
cat $< | $(CCC) -E - | grep -v '^#' | rc -o "$@" -
objects/os_macosx.o: os_macosx.m
@ -3469,12 +3514,21 @@ objects/terminal.o: terminal.c $(TERM_DEPS)
objects/testing.o: testing.c
$(CCC) -o $@ testing.c
objects/textformat.o: textformat.c
$(CCC) -o $@ textformat.c
objects/textobject.o: textobject.c
$(CCC) -o $@ textobject.c
objects/textprop.o: textprop.c
$(CCC) -o $@ textprop.c
objects/time.o: time.c
$(CCC) -o $@ time.c
objects/typval.o: typval.c
$(CCC) -o $@ typval.c
objects/ui.o: ui.c
$(CCC) -o $@ ui.c
@ -3516,6 +3570,7 @@ Makefile:
# prefix vterm_ to avoid name clashes.
CCCTERM = $(CCC_NF) $(VTERM_CFLAGS) $(ALL_CFLAGS) -DINLINE="" \
-DVSNPRINTF=vim_vsnprintf \
-DSNPRINTF=vim_snprintf \
-DIS_COMBINING_FUNCTION=utf_iscomposing_uint \
-DWCWIDTH_FUNCTION=utf_uint2cells
@ -3540,7 +3595,7 @@ objects/vterm_screen.o: libvterm/src/screen.c $(TERM_DEPS)
objects/vterm_state.o: libvterm/src/state.c $(TERM_DEPS)
$(CCCTERM) -o $@ libvterm/src/state.c
objects/vterm_unicode.o: libvterm/src/unicode.c $(TERM_DEPS)
objects/vterm_unicode.o: libvterm/src/unicode.c $(TERM_DEPS) libvterm/src/fullwidth.inc
$(CCCTERM) -o $@ libvterm/src/unicode.c
objects/vterm_vterm.o: libvterm/src/vterm.c $(TERM_DEPS)
@ -4060,6 +4115,14 @@ objects/testing.o: testing.c vim.h protodef.h auto/config.h feature.h os_unix.h
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textformat.o: textformat.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textobject.o: textobject.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
@ -4068,6 +4131,10 @@ objects/time.o: time.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/typval.o: typval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/ui.o: ui.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
@ -4181,6 +4248,11 @@ objects/gui_x11.o: gui_x11.c vim.h protodef.h auto/config.h feature.h os_unix.h
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
../runtime/vim48x48.xpm
objects/gui_xim.o: gui_xim.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h ../runtime/vim32x32.xpm ../runtime/vim16x16.xpm \
../runtime/vim48x48.xpm
objects/gui_at_sb.o: gui_at_sb.c vim.h protodef.h auto/config.h feature.h \
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \

View File

@ -80,8 +80,11 @@ syntax.c | syntax and other highlighting
tag.c | tags
term.c | terminal handling, termcap codes
testing.c | testing: assert and test functions
textformat.c | text formatting
textobject.c | text objects
textprop.c | text properties
time.c | time and timer functions
typval.c | vim script type/value functions
undo.c | undo and redo
usercmd.c | user defined commands
userfunc.c | user defined functions

166
src/auto/configure vendored
View File

@ -721,6 +721,7 @@ OS_EXTRA_SRC
XCODE_SELECT
CPP_MM
CROSS_COMPILING
BUILD_DATE_MSG
STRIP
AWK
FGREP
@ -4455,6 +4456,17 @@ See \`config.log' for more details" "$LINENO" 5; }
fi
fi
if test -n "$SOURCE_DATE_EPOCH"; then
DATE_FMT="%b %d %Y %H:%M:%S"
BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
cat >>confdefs.h <<_ACEOF
#define BUILD_DATE "$BUILD_DATE"
_ACEOF
BUILD_DATE_MSG=-"echo -e '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\nNOTE: build date/time is fixed: $BUILD_DATE\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-fail-if-missing argument" >&5
$as_echo_n "checking --enable-fail-if-missing argument... " >&6; }
@ -4533,16 +4545,6 @@ fi
OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BeOS" >&5
$as_echo_n "checking for BeOS... " >&6; }
case `uname` in
BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
BEOS=yes; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; };;
*) BEOS=no; { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; };;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Haiku" >&5
$as_echo_n "checking for Haiku... " >&6; }
case `uname` in
@ -12476,103 +12478,6 @@ else
$as_echo "don't know" >&6; }
fi
rm -f conftest_grp
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
$as_echo_n "checking default tty permissions/group... " >&6; }
if ${vim_cv_tty_group+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
as_fn_error $? "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/stat.h>
#include <stdio.h>
main()
{
struct stat sb;
char *x,*ttyname();
int om, m;
FILE *fp;
if (!(x = ttyname(0))) exit(1);
if (stat(x, &sb)) exit(1);
om = sb.st_mode;
if (om & 002) exit(0);
m = system("mesg y");
if (m == -1 || m == 127) exit(1);
if (stat(x, &sb)) exit(1);
m = sb.st_mode;
if (chmod(x, om)) exit(1);
if (m & 002) exit(0);
if (sb.st_gid == getgid()) exit(1);
if (!(fp=fopen("conftest_grp", "w")))
exit(1);
fprintf(fp, "%d\n", sb.st_gid);
fclose(fp);
exit(0);
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
if test -f conftest_grp; then
vim_cv_tty_group=`cat conftest_grp`
if test "x$vim_cv_tty_mode" = "x" ; then
vim_cv_tty_mode=0620
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&5
$as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; }
else
vim_cv_tty_group=world
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ptys are world accessible" >&5
$as_echo "ptys are world accessible" >&6; }
fi
else
vim_cv_tty_group=world
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: can't determine - assume ptys are world accessible" >&5
$as_echo "can't determine - assume ptys are world accessible" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_tty_group" >&5
$as_echo "$vim_cv_tty_group" >&6; }
rm -f conftest_grp
if test "x$vim_cv_tty_group" != "xworld" ; then
cat >>confdefs.h <<_ACEOF
#define PTYGROUP $vim_cv_tty_group
_ACEOF
if test "x$vim_cv_tty_mode" = "x" ; then
as_fn_error $? "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
else
$as_echo "#define PTYMODE 0620" >>confdefs.h
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
$as_echo_n "checking return type of signal handlers... " >&6; }
@ -13920,6 +13825,53 @@ fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dirfd" >&5
$as_echo_n "checking for dirfd... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <dirent.h>
int
main ()
{
DIR * dir=opendir("dirname"); dirfd(dir);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_DIRFD 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
$as_echo "not usable" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for flock" >&5
$as_echo_n "checking for flock... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/file.h>
int
main ()
{
flock(10, LOCK_SH);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }; $as_echo "#define HAVE_FLOCK 1" >>confdefs.h
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable" >&5
$as_echo "not usable" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysctl" >&5
$as_echo_n "checking for sysctl... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext

View File

@ -282,7 +282,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
curbuf = save_curbuf;
if (use_sandbox)
++sandbox;
++textlock;
++textwinlock;
vim_free(result);
result = eval_to_string(bexpr, NULL, TRUE);
@ -299,7 +299,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
if (use_sandbox)
--sandbox;
--textlock;
--textwinlock;
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
if (result != NULL && result[0] != NUL)

View File

@ -103,13 +103,13 @@ read_buffer(
{
// Delete the binary lines.
while (--line_count >= 0)
ml_delete((linenr_T)1, FALSE);
ml_delete((linenr_T)1);
}
else
{
// Delete the converted lines.
while (curbuf->b_ml.ml_line_count > line_count)
ml_delete(line_count, FALSE);
ml_delete(line_count);
}
// Put the cursor on the first line.
curwin->w_cursor.lnum = 1;

View File

@ -382,7 +382,7 @@ invoke_listeners(buf_T *buf)
argv[4].v_type = VAR_LIST;
argv[4].vval.v_list = buf->b_recorded_changes;
++textlock;
++textwinlock;
for (lnr = buf->b_listener; lnr != NULL; lnr = lnr->lr_next)
{
@ -390,7 +390,7 @@ invoke_listeners(buf_T *buf)
clear_tv(&rettv);
}
--textlock;
--textwinlock;
list_unref(buf->b_recorded_changes);
buf->b_recorded_changes = NULL;
@ -2317,7 +2317,7 @@ del_lines(long nlines, int undo)
if (curbuf->b_ml.ml_flags & ML_EMPTY) // nothing to delete
break;
ml_delete(first, TRUE);
ml_delete_flags(first, ML_DEL_MESSAGE);
++n;
// If we delete the last line in the file, stop

View File

@ -156,9 +156,9 @@ ch_logfile(char_u *fname, char_u *opt)
if (log_fd != NULL)
{
if (*fname != NUL)
ch_log(NULL, "closing, opening %s", fname);
ch_log(NULL, "closing this logfile, opening %s", fname);
else
ch_log(NULL, "closing");
ch_log(NULL, "closing logfile");
fclose(log_fd);
}
@ -955,6 +955,7 @@ channel_open(
int sd = -1;
channel_T *channel = NULL;
#ifdef FEAT_IPV6
int err;
struct addrinfo hints;
struct addrinfo *res = NULL;
struct addrinfo *addr = NULL;
@ -986,10 +987,11 @@ channel_open(
// Set port number manually in order to prevent name resolution services
// from being invoked in the environment where AI_NUMERICSERV is not
// defined.
if (getaddrinfo(hostname, NULL, &hints, &res) != 0)
if ((err = getaddrinfo(hostname, NULL, &hints, &res)) != 0)
{
ch_error(channel, "in getaddrinfo() in channel_open()");
PERROR(_("E901: getaddrinfo() in channel_open()"));
semsg(_("E901: getaddrinfo() in channel_open(): %s"),
gai_strerror(err));
channel_free(channel);
return NULL;
}
@ -997,8 +999,8 @@ channel_open(
for (addr = res; addr != NULL; addr = addr->ai_next)
{
const char *dst = hostname;
const void *src = NULL;
# ifdef HAVE_INET_NTOP
const void *src = NULL;
char buf[NUMBUFLEN];
# endif
@ -1007,14 +1009,18 @@ channel_open(
struct sockaddr_in6 *sai = (struct sockaddr_in6 *)addr->ai_addr;
sai->sin6_port = htons(port);
# ifdef HAVE_INET_NTOP
src = &sai->sin6_addr;
# endif
}
else if (addr->ai_family == AF_INET)
{
struct sockaddr_in *sai = (struct sockaddr_in *)addr->ai_addr;
sai->sin_port = htons(port);
# ifdef HAVE_INET_NTOP
src = &sai->sin_addr;
#endif
}
# ifdef HAVE_INET_NTOP
if (src != NULL)
@ -1035,7 +1041,7 @@ channel_open(
if (waittime == 0)
waittime = 1;
sd = channel_connect(channel, addr->ai_addr, addr->ai_addrlen,
sd = channel_connect(channel, addr->ai_addr, (int)addr->ai_addrlen,
&waittime);
if (sd >= 0)
break;
@ -2397,7 +2403,7 @@ channel_get_json(
list_T *l = item->jq_value->vval.v_list;
typval_T *tv;
range_list_materialize(l);
CHECK_LIST_MATERIALIZE(l);
tv = &l->lv_first->li_tv;
if ((without_callback || !item->jq_no_callback)
@ -3938,7 +3944,7 @@ theend:
free_job_options(&opt);
}
# if defined(MSWIN) || defined(FEAT_GUI) || defined(PROTO)
#if defined(MSWIN) || defined(__HAIKU__) || defined(FEAT_GUI) || defined(PROTO)
/*
* Check the channels for anything that is ready to be read.
* The data is put in the read queue.
@ -3971,9 +3977,23 @@ channel_handle_events(int only_keep_open)
"channel_handle_events");
}
}
# ifdef __HAIKU__
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
// should close fds when the job has finished if 'channel' connects to
// the pty.
if (channel->ch_job != NULL)
{
job_T *job = channel->ch_job;
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
for (part = PART_SOCK; part < PART_COUNT; ++part)
ch_close_part(channel, part);
}
# endif
}
}
# endif
#endif
# if defined(FEAT_GUI) || defined(PROTO)
/*
@ -4539,6 +4559,20 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
channel_write_input(channel);
--ret;
}
# ifdef __HAIKU__
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
// should close fds when the job has finished if 'channel' connects to
// the pty.
if (channel->ch_job != NULL)
{
job_T *job = channel->ch_job;
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
for (part = PART_SOCK; part < PART_COUNT; ++part)
ch_close_part(channel, part);
}
# endif
}
return ret;
@ -5272,12 +5306,13 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
return FAIL;
}
range_list_materialize(item->vval.v_list);
CHECK_LIST_MATERIALIZE(item->vval.v_list);
li = item->vval.v_list->lv_first;
for (; li != NULL && n < 16; li = li->li_next, n++)
{
char_u *color_name;
guicolor_T guicolor;
int called_emsg_before = called_emsg;
color_name = tv_get_string_chk(&li->li_tv);
if (color_name == NULL)
@ -5285,7 +5320,12 @@ get_job_options(typval_T *tv, jobopt_T *opt, int supported, int supported2)
guicolor = GUI_GET_COLOR(color_name);
if (guicolor == INVALCOLOR)
{
if (called_emsg_before == called_emsg)
// may not get the error if the GUI didn't start
semsg(_(e_alloc_color), color_name);
return FAIL;
}
rgb[n] = GUI_MCH_GET_RGB(guicolor);
}
@ -5699,7 +5739,7 @@ win32_build_cmd(list_T *l, garray_T *gap)
listitem_T *li;
char_u *s;
range_list_materialize(l);
CHECK_LIST_MATERIALIZE(l);
FOR_ALL_LIST_ITEMS(l, li)
{
s = tv_get_string_chk(&li->li_tv);

View File

@ -1764,6 +1764,8 @@ vim_isblankline(char_u *lbuf)
* If "prep" is not NULL, returns a flag to indicate the type of the number:
* 0 decimal
* '0' octal
* 'O' octal
* 'o' octal
* 'B' bin
* 'b' bin
* 'X' hex
@ -1783,8 +1785,8 @@ vim_isblankline(char_u *lbuf)
vim_str2nr(
char_u *start,
int *prep, // return: type of number 0 = decimal, 'x'
// or 'X' is hex, '0' = octal, 'b' or 'B'
// is bin
// or 'X' is hex, '0', 'o' or 'O' is octal,
// 'b' or 'B' is bin
int *len, // return: detected length of number
int what, // what numbers to recognize
varnumber_T *nptr, // return: signed result
@ -1822,6 +1824,11 @@ vim_str2nr(
&& (maxlen == 0 || maxlen > 2))
// binary
ptr += 2;
else if ((what & STR2NR_OOCT)
&& (pre == 'O' || pre == 'o') && vim_isbdigit(ptr[2])
&& (maxlen == 0 || maxlen > 2))
// octal with prefix "0o"
ptr += 2;
else
{
// decimal or octal, default is decimal
@ -1869,9 +1876,12 @@ vim_str2nr(
}
}
}
else if (pre == '0' || ((what & STR2NR_OCT) && (what & STR2NR_FORCE)))
else if (pre == 'O' || pre == 'o' ||
pre == '0' || ((what & STR2NR_OCT) && (what & STR2NR_FORCE)))
{
// octal
if (pre != 0 && pre != '0')
n += 2; // skip over "0o"
while ('0' <= *ptr && *ptr <= '7')
{
// avoid ubsan error for overflow

View File

@ -1845,6 +1845,9 @@ parse_cino(buf_T *buf)
// Handle C++ extern "C" or "C++"
buf->b_ind_cpp_extern_c = 0;
// Handle C #pragma directives
buf->b_ind_pragma = 0;
for (p = buf->b_p_cino; *p; )
{
l = p++;
@ -1920,6 +1923,7 @@ parse_cino(buf_T *buf)
case 'N': buf->b_ind_cpp_namespace = n; break;
case 'k': buf->b_ind_if_for_while = n; break;
case 'E': buf->b_ind_cpp_extern_c = n; break;
case 'P': buf->b_ind_pragma = n; break;
}
if (*p == ',')
++p;
@ -2116,11 +2120,16 @@ get_c_indent(void)
goto laterend;
}
// #defines and so on always go at the left when included in 'cinkeys'.
// #defines and so on go at the left when included in 'cinkeys',
// exluding pragmas when customized in 'cinoptions'
if (*theline == '#' && (*linecopy == '#' || in_cinkeys('#', ' ', TRUE)))
{
amount = curbuf->b_ind_hash_comment;
goto theend;
char_u *directive = skipwhite(theline + 1);
if (curbuf->b_ind_pragma == 0 || STRNCMP(directive, "pragma", 6) != 0)
{
amount = curbuf->b_ind_hash_comment;
goto theend;
}
}
// Is it a non-case label? Then that goes at the left margin too unless:

View File

@ -1317,7 +1317,12 @@ check_clipboard_option(void)
}
if (errmsg == NULL)
{
clip_unnamed = new_unnamed;
if (global_busy)
// clip_unnamed will be reset to clip_unnamed_saved
// at end_global_changes
clip_unnamed_saved = new_unnamed;
else
clip_unnamed = new_unnamed;
clip_autoselect_star = new_autoselect_star;
clip_autoselect_plus = new_autoselect_plus;
clip_autoselectml = new_autoselectml;

View File

@ -30,6 +30,9 @@
/* Define when __DATE__ " " __TIME__ can be used */
#undef HAVE_DATE_TIME
/* Defined from $SOURCE_DATE_EPOCH, used as the build date */
#undef BUILD_DATE
/* Define when __attribute__((unused)) can be used */
#undef HAVE_ATTRIBUTE_UNUSED
@ -126,12 +129,6 @@
#undef PTYRANGE0
#undef PTYRANGE1
/* Define mode for pty */
#undef PTYMODE
/* Define group for pty */
#undef PTYGROUP
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
@ -490,5 +487,11 @@
/* Define if we have isnan() */
#undef HAVE_ISNAN
/* Define if we have dirfd() */
#undef HAVE_DIRFD
/* Define if we have flock() */
#undef HAVE_FLOCK
/* Define to inline symbol or empty */
#undef inline

View File

@ -169,6 +169,10 @@ MAKEMO = @MAKEMO@
MSGFMT = @MSGFMT@
MSGFMT_DESKTOP = @MSGFMT_DESKTOP@
### set if $SOURCE_DATE_EPOCH was set when running configure
BUILD_DATE_MSG = @BUILD_DATE_MSG@
# Make sure that "make first" will run "make all" once configure has done its
# work. This is needed when using the Makefile in the top directory.
first: all

View File

@ -62,6 +62,18 @@ if test x"$ac_cv_prog_cc_c99" != xno; then
fi
fi
dnl If $SOURCE_DATE_EPOCH is present in the environment, use that as the
dnl "compiled" timestamp in :version's output. Attempt to get the formatted
dnl date using GNU date syntax, BSD date syntax, and finally falling back to
dnl just using the current time.
if test -n "$SOURCE_DATE_EPOCH"; then
DATE_FMT="%b %d %Y %H:%M:%S"
BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
AC_DEFINE_UNQUOTED(BUILD_DATE, ["$BUILD_DATE"])
BUILD_DATE_MSG=-"echo -e '=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\nNOTE: build date/time is fixed: $BUILD_DATE\n=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='"
AC_SUBST(BUILD_DATE_MSG)
fi
dnl Check for the flag that fails if stuff are missing.
AC_MSG_CHECKING(--enable-fail-if-missing argument)
@ -146,14 +158,6 @@ fi
OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
dnl Check for BeOS, which needs an extra source file
AC_MSG_CHECKING(for BeOS)
case `uname` in
BeOS) OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
BEOS=yes; AC_MSG_RESULT(yes);;
*) BEOS=no; AC_MSG_RESULT(no);;
esac
AC_MSG_CHECKING(for Haiku)
case `uname` in
Haiku) HAIKU=yes; AC_MSG_RESULT(yes);;
@ -3673,77 +3677,6 @@ else
AC_MSG_RESULT([don't know])
fi
dnl **** pty mode/group handling ****
dnl
dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
rm -f conftest_grp
AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/stat.h>
#include <stdio.h>
main()
{
struct stat sb;
char *x,*ttyname();
int om, m;
FILE *fp;
if (!(x = ttyname(0))) exit(1);
if (stat(x, &sb)) exit(1);
om = sb.st_mode;
if (om & 002) exit(0);
m = system("mesg y");
if (m == -1 || m == 127) exit(1);
if (stat(x, &sb)) exit(1);
m = sb.st_mode;
if (chmod(x, om)) exit(1);
if (m & 002) exit(0);
if (sb.st_gid == getgid()) exit(1);
if (!(fp=fopen("conftest_grp", "w")))
exit(1);
fprintf(fp, "%d\n", sb.st_gid);
fclose(fp);
exit(0);
}
]])],[
if test -f conftest_grp; then
vim_cv_tty_group=`cat conftest_grp`
if test "x$vim_cv_tty_mode" = "x" ; then
vim_cv_tty_mode=0620
fi
AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
else
vim_cv_tty_group=world
AC_MSG_RESULT([ptys are world accessible])
fi
],[
vim_cv_tty_group=world
AC_MSG_RESULT([can't determine - assume ptys are world accessible])
],[
AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
])
])
rm -f conftest_grp
if test "x$vim_cv_tty_group" != "xworld" ; then
AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
if test "x$vim_cv_tty_mode" = "x" ; then
AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)])
else
AC_DEFINE(PTYMODE, 0620)
fi
fi
dnl Checks for library functions. ===================================
AC_TYPE_SIGNAL
@ -4131,6 +4064,21 @@ AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_RENAME),
AC_MSG_RESULT(no))
dnl check for dirfd()
AC_MSG_CHECKING(for dirfd)
AC_TRY_COMPILE(
[#include <sys/types.h>
#include <dirent.h>],
[DIR * dir=opendir("dirname"); dirfd(dir);],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DIRFD), AC_MSG_RESULT(not usable))
dnl check for flock()
AC_MSG_CHECKING(for flock)
AC_TRY_COMPILE(
[#include <sys/file.h>],
[flock(10, LOCK_SH);],
AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOCK), AC_MSG_RESULT(not usable))
dnl sysctl() may exist but not the arguments we use
AC_MSG_CHECKING(for sysctl)
AC_TRY_COMPILE(

View File

@ -104,29 +104,38 @@ rettv_dict_set(typval_T *rettv, dict_T *d)
*/
void
dict_free_contents(dict_T *d)
{
hashtab_free_contents(&d->dv_hashtab);
}
/*
* Clear hashtab "ht" and dict items it contains.
*/
void
hashtab_free_contents(hashtab_T *ht)
{
int todo;
hashitem_T *hi;
dictitem_T *di;
// Lock the hashtab, we don't want it to resize while freeing items.
hash_lock(&d->dv_hashtab);
todo = (int)d->dv_hashtab.ht_used;
for (hi = d->dv_hashtab.ht_array; todo > 0; ++hi)
hash_lock(ht);
todo = (int)ht->ht_used;
for (hi = ht->ht_array; todo > 0; ++hi)
{
if (!HASHITEM_EMPTY(hi))
{
// Remove the item before deleting it, just in case there is
// something recursive causing trouble.
di = HI2DI(hi);
hash_remove(&d->dv_hashtab, hi);
hash_remove(ht, hi);
dictitem_free(di);
--todo;
}
}
// The hashtab is still locked, it has to be re-initialized anyway
hash_clear(&d->dv_hashtab);
// The hashtab is still locked, it has to be re-initialized anyway.
hash_clear(ht);
}
static void
@ -782,8 +791,9 @@ get_literal_key(char_u **arg, typval_T *tv)
* Return OK or FAIL. Returns NOTDONE for {expr}.
*/
int
eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
eval_dict(char_u **arg, typval_T *rettv, int flags, int literal)
{
int evaluate = flags & EVAL_EVALUATE;
dict_T *d = NULL;
typval_T tvkey;
typval_T tv;
@ -791,6 +801,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
dictitem_T *item;
char_u *start = skipwhite(*arg + 1);
char_u buf[NUMBUFLEN];
int vim9script = current_sctx.sc_version == SCRIPT_VERSION_VIM9;
/*
* First check if it's not a curly-braces thing: {expr}.
@ -799,9 +810,9 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
* first item.
* But {} is an empty Dictionary.
*/
if (*start != '}')
if (!vim9script && *start != '}')
{
if (eval1(&start, &tv, FALSE) == FAIL) // recursive!
if (eval1(&start, &tv, 0) == FAIL) // recursive!
return FAIL;
if (*start == '}')
return NOTDONE;
@ -821,7 +832,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
{
if ((literal
? get_literal_key(arg, &tvkey)
: eval1(arg, &tvkey, evaluate)) == FAIL) // recursive!
: eval1(arg, &tvkey, flags)) == FAIL) // recursive!
goto failret;
if (**arg != ':')
@ -843,7 +854,7 @@ eval_dict(char_u **arg, typval_T *rettv, int evaluate, int literal)
}
*arg = skipwhite(*arg + 1);
if (eval1(arg, &tv, evaluate) == FAIL) // recursive!
if (eval1(arg, &tv, flags) == FAIL) // recursive!
{
if (evaluate)
clear_tv(&tvkey);

View File

@ -2764,7 +2764,7 @@ ex_diffgetput(exarg_T *eap)
{
// remember deleting the last line of the buffer
buf_empty = curbuf->b_ml.ml_line_count == 1;
ml_delete(lnum, FALSE);
ml_delete(lnum);
--added;
}
for (i = 0; i < dp->df_count[idx_from] - start_skip - end_skip; ++i)
@ -2786,7 +2786,7 @@ ex_diffgetput(exarg_T *eap)
// Added the first line into an empty buffer, need to
// delete the dummy empty line.
buf_empty = FALSE;
ml_delete((linenr_T)2, FALSE);
ml_delete((linenr_T)2);
}
}
}

View File

@ -1177,6 +1177,12 @@ win_line(
c_final = NUL;
n_extra = get_breakindent_win(wp,
ml_get_buf(wp->w_buffer, lnum, FALSE));
if (row == startrow)
{
n_extra -= win_col_off2(wp);
if (n_extra < 0)
n_extra = 0;
}
if (wp->w_skipcol > 0 && wp->w_p_wrap && wp->w_briopt_sbr)
need_showbreak = FALSE;
// Correct end of highlighted area for 'breakindent',

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