Compare commits

...

376 Commits

Author SHA1 Message Date
373c65104e patch 8.2.1036: popupwin test fails sometimes
Problem:    Popupwin test fails sometimes.
Solution:   Use WaitForAssert() instead of a sleep.
2020-06-22 19:24:23 +02:00
7633fe595e patch 8.2.1035: setreg() does not always clear the register
Problem:    setreg() does not always clear the register.
Solution:   Clear the register if the dict argument is empty. (Andy Massimino,
            closes #3370)
2020-06-22 19:10:56 +02:00
38041da1c2 patch 8.2.1034: compiler warning for uninitialized variables
Problem:    Compiler warning for uninitialized variables.
Solution:   Add initializations. (John Marriott)
2020-06-21 22:17:18 +02:00
73fef33014 Update runtime files 2020-06-21 22:12:03 +02:00
8d9437968b patch 8.2.1033: not easy to read the test time in the test output
Problem:    Not easy to read the test time in the test output.
Solution:   Align the times.  Make slow tests bold.
2020-06-21 20:39:37 +02:00
7fe875583b patch 8.2.1032: error message for declaring a variable cannot be translated
Problem:    Error message for declaring a variable cannot be translated.
Solution:   Enclose in _().  Make environment variable a separate message.
2020-06-21 20:38:28 +02:00
f5433fbfe4 patch 8.2.1031: build failure with Perl5.32
Problem:    Build failure with Perl5.32.
Solution:   Define a few more functions. (Felix Yan, closes #6310)
2020-06-21 20:06:54 +02:00
da58134eed patch 8.2.1030: reducing size of a terminal window may cause a crash
Problem:    Reducing size of a terminal window may cause a crash.
Solution:   Make sure the row and column don't become negative. (closes #6273)
2020-06-21 17:57:32 +02:00
23c5527373 patch 8.2.1029: Vim9: cannot chain function calls with -> at line start
Problem:    Vim9: cannot chain function calls with -> at line start.
Solution:   Peek ahead for a following line starting with "->". (closes #6306)
2020-06-21 16:58:13 +02:00
e55b1c098d patch 8.2.1028: Vim9: no error for declaring buffer, window, etc. variable
Problem:    Vim9: no error for declaring buffer, window, etc. variable.
Solution:   Give an error.  Unify the error messages.
2020-06-21 15:52:59 +02:00
820ffa567c patch 8.2.1027: GUI: multi-byte characters do not work in a terminal
Problem:    GUI: multi-byte characters do not work in a terminal.
Solution:   Do not assume a key is one byte. (closes #6304)
2020-06-21 15:09:14 +02:00
a3b7fdc1bb patch 8.2.1026: Vim9: cannot break the line after "->"
Problem:    Vim9: cannot break the line after "->".
Solution:   Check for a continuation line after "->", "[" and ".".  Ignore
            trailing white space.
2020-06-21 14:12:17 +02:00
8c524f76eb patch 8.2.1025: tabpage menu and tabline not sufficiently tested
Problem:    Tabpage menu and tabline not sufficiently tested.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6307)
2020-06-21 13:23:45 +02:00
6797966dfc patch 8.2.1024: Vim9: no error for using "let g:var = val"
Problem:    Vim9: no error for using "let g:var = val".
Solution:   Add an error.
2020-06-20 22:50:47 +02:00
0cb5bcf583 patch 8.2.1023: Vim9: redefining a function uses a new index every time
Problem:    Vim9: redefining a function uses a new index every time.
Solution:   When redefining a function clear the contents and re-use the
            index.
2020-06-20 18:19:09 +02:00
845e0ee594 patch 8.2.1022: various parts of code not covered by tests
Problem:    Various parts of code not covered by tests.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6300)
2020-06-20 16:05:32 +02:00
a190548e91 patch 8.2.1021: Ruby interface not tested enough
Problem:    Ruby interface not tested enough.
Solution:   Add a couple more tests. (Dominique Pellé, closes #6301)
2020-06-20 16:00:25 +02:00
b326edf5b3 patch 8.2.1020: popupwin test fails in the GUI
Problem:    Popupwin test fails in the GUI.
Solution:   Send GUI byte sequence for <C-S-a>.
2020-06-20 15:03:38 +02:00
ef6746f637 patch 8.2.1019: mapping <M-S-a> does not work in the GUI
Problem:    Mapping <M-S-a> does not work in the GUI.
Solution:   Move the logic to remove the shift modifier to
            may_remove_shift_modifier() and also use it in the GUI.
2020-06-20 14:43:23 +02:00
280b0dc815 patch 8.2.1018: typo in enum value
Problem:    Typo in enum value. (James McCoy)
Solution:   Fix the typo.
2020-06-20 13:29:03 +02:00
1089374130 patch 8.2.1017: Appveyor output doesn't show MinGW console features
Problem:    Appveyor output doesn't show MinGW console features.
Solution:   List the features of the console build.
2020-06-19 22:37:47 +02:00
7e380030c1 patch 8.2.1016: Vim9: test fails when channel feature is missing
Problem:    Vim9: test fails when channel feature is missing.
Solution:   Process an :if command when skipping
2020-06-19 22:35:44 +02:00
20298ce679 patch 8.2.1015: popup filter gets key with modifier prepended
Problem:    Popup filter gets key with modifier prepended when using
            modifyOtherKeys.
Solution:   Remove the shift modifier when it is included in the key, also
            when the Alt or Meta modifier is used.
2020-06-19 21:46:52 +02:00
1e0b7b11db patch 8.2.1014: using "name" for a string result is confusing
Problem:    Using "name" for a string result is confusing.
Solution:   Rename to "end".
2020-06-19 19:30:53 +02:00
ec9b017b87 patch 8.2.1013: channel tests can be a bit flaky
Problem:    Channel tests can be a bit flaky.
Solution:   Set the g:test_is_flaky flag in SetUp().
2020-06-19 19:10:59 +02:00
3b74b6b4bb patch 8.2.1012: Vim9: cannot declare single character script variables
Problem:    Vim9: cannot declare single character script variables.
Solution:   Don't see "b:", "s:", etc. as namespace.  Fix item size of
            sn_var_vals.
2020-06-19 19:01:43 +02:00
c785b9a7f4 patch 8.2.1011: Vim9: some code not tested
Problem:    Vim9: some code not tested.
Solution:   Add a few more test cases.  Reorder checks for clearer error.
            Remove unreachable code.
2020-06-19 18:34:15 +02:00
128d307963 patch 8.2.1010: build failure in libvterm with debug enabled
Problem:    Build failure in libvterm with debug enabled. (John Little)
Solution:   Use "->" instead of ".".
2020-06-19 17:20:41 +02:00
c5b1c20b6b patch 8.2.1009: Vim9: some failures not checked for
Problem:    Vim9: some failures not checked for.
Solution:   Add test cases.  Remove unused code.
2020-06-18 22:43:27 +02:00
0779fab297 patch 8.2.1008: Vim9: no test for disassambling newly added instructions
Problem:    Vim9: no test for disassambling newly added instructions.
Solution:   Add a function and check disassembly.
2020-06-18 22:18:18 +02:00
c8cb883015 patch 8.2.1007: completion doesn't work after ":r ++arg !"
Problem:    Completion doesn't work after ":r ++arg !".
Solution:   Skip over "++arg". (Christian Brabandt, closes #6275,
            closes #6258)
2020-06-18 21:14:30 +02:00
efd8855594 patch 8.2.1006: Vim9: require unnecessary return statement
Problem:    Vim9: require unnecessary return statement.
Solution:   Improve the use of the had_return flag. (closes #6270)
2020-06-18 20:50:10 +02:00
9b68c82b7c patch 8.2.1005: Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing
Problem:    Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing.
Solution:   Use an enum value.
2020-06-18 19:31:08 +02:00
511feec6f0 patch 8.2.1004: line numbers below filler lines not always updated
Problem:    Line numbers below filler lines not always updated.
Solution:   Don't break out of the win_line() loop too early. (Christian
            Brabandt, closes #6294, closes #6138)
2020-06-18 19:15:27 +02:00
865af6b990 patch 8.2.1003: Vim9: return type of sort() is too generic
Problem:    Vim9: return type of sort() is too generic.
Solution:   Get type from the first argument. (closes #6292)
2020-06-18 18:45:49 +02:00
ceb2e77510 patch 8.2.1002: test may fail when run directly
Problem:    Test may fail when run directly.
Solution:   Check if g:run_nr exists. (Christian Brabandt, closes #6285)
2020-06-18 18:33:59 +02:00
72abcf42d4 patch 8.2.1001: Vim9: crash with nested "if" and assignment
Problem:    Vim9: crash with nested "if" and assignment.
Solution:   Skip more of the assignment.  Do not set ctx_skip when code is
            reachable.
2020-06-18 18:26:24 +02:00
158ea175a9 patch 8.2.1000: get error when leaving Ex mode with :visual
Problem:    Get error when leaving Ex mode with :visual and a CmdLineEnter
            autocommand was used.
Solution:   Reset ex_pressedreturn. (closes #6293)
2020-06-18 17:28:39 +02:00
2f03e5a0a9 patch 8.2.0999: moving to next sentence gets stuck on quote
Problem:    Moving to next sentence gets stuck on quote.
Solution:   When moving to the next sentence doesn't result in moving, advance
            a character and try again. (closes #6291)
2020-06-18 15:33:25 +02:00
3d9207ad2f patch 8.2.0998: not all tag code is tested
Problem:    Not all tag code is tested.
Solution:   Add a few more test cases. (Yegappan Lakshmanan, closes #6284)
2020-06-17 22:58:35 +02:00
856c1110c1 patch 8.2.0997: cannot execute a register containing line continuation
Problem:    Cannot execute a register containing line continuation.
Solution:   Concatenate lines where needed. (Yegappan Lakshmanan,
            closes #6272)
2020-06-17 21:47:23 +02:00
40a019f157 patch 8.2.0996: using "aucmdwin" in win_gettype() is not ideal
Problem:    Using "aucmdwin" in win_gettype() is not ideal.
Solution:   Rename to "autocmd".
2020-06-17 21:41:35 +02:00
e17f8817a1 patch 8.2.0995: insufficient testing for the readdir() sort option
Problem:    Insufficient testing for the readdir() sort option.
Solution:   Add a few more tests. (Christian Brabandt, closes #6278)
2020-06-17 20:30:44 +02:00
9bb3eb3e02 patch 8.2.0994: Vim9: missing function causes compilation error
Problem:    Vim9: missing function causes compilation error.
Solution:   Call test function indirectly.
2020-06-17 20:03:36 +02:00
f7d267ef20 patch 8.2.0993: Vim9 script test fails with normal features
Problem:    Vim9 script test fails with normal features.
Solution:   Use :func instead of :def for now.
2020-06-17 12:04:54 +02:00
101f4810e2 patch 8.2.0992: Vim9: crash when using :import in the Vim command
Problem:    Vim9: crash when using :import in the Vim command.
Solution:   Give an error when using :import outside of a script.
            (closes #6271)
2020-06-16 23:18:51 +02:00
0fe937fd86 patch 8.2.0991: cannot get window type for autocmd and preview window
Problem:    Cannot get window type for autocmd and preview window.
Solution:   Add types to win_gettype(). (Yegappan Lakshmanan, closes #6277)
2020-06-16 22:42:04 +02:00
a1bc6f1293 patch 8.2.0990: Using duplicate error number
Problem:    Using duplicate error number.
Solution:   Use an unused error number.  Add a test for it.
2020-06-16 22:27:39 +02:00
a6e8bf2d89 patch 8.2.0989: crash after resizing a terminal window
Problem:    Crash after resizing a terminal window. (August Masquelier)
Solution:   Add check for valid row in libvterm. (closes #6273)
2020-06-16 20:58:07 +02:00
84cf6bd81b patch 8.2.0988: getting directory contents is always case sorted
Problem:    Getting directory contents is always case sorted.
Solution:   Add sort options and v:collate. (Christian Brabandt, closes #6229)
2020-06-16 20:03:43 +02:00
9af78769ee patch 8.2.0987: Vim9: cannot assign to [var; var]
Problem:    Vim9: cannot assign to [var; var].
Solution:   Assign rest of items to a list.
2020-06-16 11:34:42 +02:00
c70222d12a patch 8.2.0986: MS-Windows: functions test fails
Problem:    MS-Windows: functions test fails.
Solution:   Only simplify ///path on Unix.
2020-06-15 23:18:12 +02:00
fdcbe3c3fe patch 8.2.0985: simplify() does not remove slashes from "///path"
Problem:    Simplify() does not remove slashes from "///path".
Solution:   Reduce > 2 slashes to one. (closes #6263)
2020-06-15 21:41:56 +02:00
ab176ce982 patch 8.2.0984: not using previous window when closing a shell popup window
Problem:    Not using previous window when closing a shell popup window.
Solution:   Use "prevwin" if it was set. (closes #6267)
2020-06-15 21:19:08 +02:00
ad72350360 patch 8.2.0983: SConstruct file type not recognized
Problem:    SConstruct file type not recognized.
Solution:   Use python for SConstruct files. (Roland Hieber)
2020-06-15 20:24:58 +02:00
b340baed9f patch 8.2.0982: insufficient testing for reading/writing files
Problem:    Insufficient testing for reading/writing files.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6257)
            Add "ui_delay" to test_override() and use it for the CTRL-O test.
2020-06-15 19:51:56 +02:00
47a519a933 patch 8.2.0981: Vim9: cannot compile "[var, var] = list"
Problem:    Vim9: cannot compile "[var, var] = list".
Solution:   Implement list assignment.
2020-06-14 23:05:10 +02:00
a65d8b5bb9 patch 8.2.0980: raku file extension not recognized
Problem:    Raku file extension not recognized. (Steven Penny)
Solution:   Recognize .raku and .rakumod. (closes #6255)
2020-06-14 20:04:32 +02:00
65e0d77a66 Update runtime files 2020-06-14 17:29:55 +02:00
8e20f75e58 patch 8.2.0979: a couple of screendump tests fail
Problem:    A couple of screendump tests fail.
Solution:   Do not redraw when clearing t_8u.
2020-06-14 16:43:47 +02:00
0c8059e0b6 patch 8.2.0978: leaking memory in termcodes test
Problem:    Leaking memory in termcodes test.
Solution:   Set t_8u with set_option_value().
2020-06-14 15:35:58 +02:00
8dff4cbf6d patch 8.2.0977: t_8u is made empty for the wrong terminals
Problem:    t_8u is made empty for the wrong terminals. (Dominique Pelle)
Solution:   Invert the check for TPR_YES. (closes #6254)
2020-06-14 14:34:16 +02:00
df7df59d85 patch 8.2.0976: some 'cpoptions' not tested
Problem:    Some 'cpoptions' not tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #6253)
2020-06-14 13:50:55 +02:00
984dddbef4 patch 8.2.0975: Vim9: script variable does not accept optional s: prefix
Problem:    Vim9: script variable does not accept optional s: prefix.
Solution:   Adjust the accepted syntax.
2020-06-14 12:50:24 +02:00
f3decc5830 patch 8.2.0974: Vim9: memory leak when script var has wrong type
Problem:    Vim9: memory leak when script var has wrong type.
Solution:   Free the variable name.
2020-06-13 19:56:38 +02:00
34db91f7a4 patch 8.2.0973: Vim9: type is not checked when assigning to a script variable
Problem:    Vim9: type is not checked when assigning to a script variable.
Solution:   Check the type.
2020-06-13 19:00:10 +02:00
c82a5b5da5 patch 8.2.0972: Vim9 script variable declarations need a type
Problem:    Vim9 script variable declarations need a type.
Solution:   Make "let var: type" declare a script-local variable.
2020-06-13 18:09:19 +02:00
142499de33 patch 8.2.0971: build with tiny features fails
Problem:    Build with tiny features fails.
Solution:   Add #ifdef.
2020-06-13 16:39:31 +02:00
0c0eddd3dd patch 8.2.0970: terminal properties are not available in Vim script
Problem:    Terminal properties are not available in Vim script.
Solution:   Add the terminalprops() function.
2020-06-13 15:47:25 +02:00
4a021dfbee patch 8.2.0969: assert_equal() output for dicts is hard to figure out
Problem:    Assert_equal() output for dicts is hard to figure out.
Solution:   Only show the different items.
2020-06-13 15:13:38 +02:00
c9630d2658 patch 8.2.0968: no proper testing of the 'cpoptions' flags
Problem:    No proper testing of the 'cpoptions' flags.
Solution:   Add tests. (Yegappan Lakshmanan, closes #6251)
2020-06-13 13:20:48 +02:00
71ccd03ee8 patch 8.2.0967: unnecessary type casts for vim_strnsave()
Problem:    Unnecessary type casts for vim_strnsave().
Solution:   Remove the type casts.
2020-06-12 22:59:11 +02:00
722e505d1a patch 8.2.0966: 'shortmess' flag "n" not used in two places
Problem:    'shortmess' flag "n" not used in two places.
Solution:   Make use of the "n" flag consistent. (Nick Jensen, closes #6245,
            closes #6244)
2020-06-12 22:31:00 +02:00
5055c56cfb patch 8.2.0965: has_funcundefined() is not used
Problem:    Has_funcundefined() is not used.
Solution:   Delete the function. (Dominique Pellé, closes #6242)
2020-06-12 22:15:31 +02:00
37d1673ce0 patch 8.2.0964: TextYankPost does not provide info about Visual selection
Problem:    TextYankPost does not provide info about Visual selection.
Solution:   Add the 'visual' key in v:event. (closes #6249)
2020-06-12 22:09:01 +02:00
6c6be9e88d patch 8.2.0963: number increment/decrement does not work with 'virtualedit'
Problem:    Number increment/decrement does not work with 'virtualedit'.
Solution:   Handle coladd changing. (Christian Brabandt, closes #6240,
            closes #923)
2020-06-12 20:19:44 +02:00
f6e020b122 patch 8.2.0962: terminal test sometimes hangs on Travis
Problem:    Terminal test sometimes hangs on Travis.
Solution:   Do show output for this test temporarily.
2020-06-12 20:11:55 +02:00
ec68028604 patch 8.2.0961: MS-Windows: no completion for locales
Problem:    MS-Windows: no completion for locales.
Solution:   Use the directories in $VIMRUNTIME/lang to complete locales.
            (Christian Brabandt, closes 36248)
2020-06-12 19:35:32 +02:00
9721fb4ea3 patch 8.2.0960: cannot use :import in legacy Vim script
Problem:    Cannot use :import in legacy Vim script.
Solution:   Support :import in any Vim script.
2020-06-11 23:10:46 +02:00
00e260bb6c patch 8.2.0959: using 'quickfixtextfunc' is a bit slow
Problem:    Using 'quickfixtextfunc' is a bit slow.
Solution:   Process a list of entries. (Yegappan Lakshmanan, closes #6234)
2020-06-11 19:35:52 +02:00
1de5f7c81d patch 8.2.0958: not sufficient testing for buffer writing
Problem:    Not sufficient testing for buffer writing.
Solution:   Add a few tests. (Yegappan Lakshmanan, closes #6238)
2020-06-11 19:22:43 +02:00
2d4070d3b0 patch 8.2.0957: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
Solution:   Initialize one variable.
2020-06-11 12:30:13 +02:00
e0ebeda4d8 patch 8.2.0956: spell test fails
Problem:    Spell test fails.
Solution:   Add missing change the spell checking.
2020-06-10 22:17:58 +02:00
215f49c4d7 patch 8.2.0955: build fails
Problem:    Build fails.
Solution:   Add missing struct change.
2020-06-10 22:12:04 +02:00
f1f0ff9557 patch 8.2.0954: not all desktop files are recognized
Problem:    Not all desktop files are recognized.
Solution:   Add the *.directory pattern. (Eisuke Kawashima, closes #3317)
2020-06-10 22:07:52 +02:00
362b44bd4a patch 8.2.0953: spell checking doesn't work for CamelCased words
Problem:    Spell checking doesn't work for CamelCased words.
Solution:   Add the "camel" value in the new option 'spelloptions'.
            (closes #1235)
2020-06-10 21:47:00 +02:00
be5ee8686a patch 8.2.0952: no simple way to interrupt Vim
Problem:    No simple way to interrupt Vim.
Solution:   Add the SigUSR1 autocommand, triggered by SIGUSR1. (Jacob Hayes,
            closes #1718)
2020-06-10 20:56:58 +02:00
6ba24d8763 patch 8.2.0951: search stat test has leftover from debugging
Problem:    Search stat test has leftover from debugging.
Solution:   Remove line that writes a file. (Christian Brabandt, closes #6224)
2020-06-10 20:21:09 +02:00
13b8205b44 patch 8.2.0950: tagjump test fails
Problem:    Tagjump test fails.
Solution:   Adjust expected text of the prompt.
2020-06-10 17:13:48 +02:00
ea1233fccf patch 8.2.0949: strptime() does not use DST
Problem:    Strptime() does not use DST.
Solution:   Set the tm_isdst field to -1. (Tomáš Janoušek, closes #6230)
2020-06-10 16:54:13 +02:00
d281b7c227 patch 8.2.0948: spell test fails
Problem:    Spell test fails.
Solution:   Adjust expected text of the prompt.
2020-06-10 16:39:32 +02:00
ab54032f29 patch 8.2.0947: readdirex() doesn't handle broken link properly
Problem:    Readdirex() doesn't handle broken link properly.
Solution:   Small fixes to readdirex(). (Christian Brabandt, closes #6226,
            closes #6213)
2020-06-10 15:55:36 +02:00
eebd555733 patch 8.2.0946: cannot use "q" to cancel a number prompt
Problem:    Cannot use "q" to cancel a number prompt.
Solution:   Recognize "q" instead of ignoring it.
2020-06-10 15:45:57 +02:00
152e79e94b patch 8.2.0945: cannot use "z=" when 'spell' is off
Problem:    Cannot use "z=" when 'spell' is off.
Solution:   Make "z=" work even when 'spell' is off. (Christian Brabandt,
            Gary Johnson, closes #6227)
2020-06-10 15:32:08 +02:00
253ea9fa42 patch 8.2.0944: xxd test leaves file behind
Problem:    Xxd test leaves file behind.
Solution:   Delete the file "XXDfile". (Christian Brabandt, closes #6228)
2020-06-10 14:21:20 +02:00
32ee627750 patch 8.2.0943: displaying ^M or ^J depends on current buffer
Problem:    Displaying ^M or ^J depends on current buffer.
Solution:   Pass the displayed buffer to transchar(). (closes #6225)
2020-06-10 14:16:49 +02:00
0e390f40e9 patch 8.2.0942: expanding to local dir after homedir keeps "~/"
Problem:    Expanding to local dir after homedir keeps "~/".
Solution:   Adjust modify_fname(). (Christian Brabandt, closes #6205,
            closes #5979)
2020-06-10 13:12:28 +02:00
517f00f788 patch 8.2.0941: detecting terminal properties is unstructured
Problem:    Detecting terminal properties is unstructured.
Solution:   Add a table with terminal properties.  Set properties when a
            terminal is detected.
2020-06-10 12:15:51 +02:00
0ca8b5ba7b patch 8.2.0940: build failure with tiny features
Problem:    Build failure with tiny features.
Solution:   Add #ifdef.  Add UNUSED.  A bit more cleaning up.
2020-06-09 21:35:36 +02:00
218cb0fb62 patch 8.2.0939: checking for term escape sequences is long and confusing
Problem:    checking for term escape sequences is long and confusing
Solution:   Refactor code into separate functions.
2020-06-09 21:26:36 +02:00
59de417b90 patch 8.2.0938: NFA regexp uses tolower ()to compare ignore-case
Problem:    NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs)
Solution:   Use utf_fold() when possible. (ref. neovim #12456)
2020-06-09 19:34:54 +02:00
dcf59c37d0 patch 8.2.0937: asan failure in the flatten() test
Problem:    Asan failure in the flatten() test.
Solution:   Free the flattened list.
2020-06-09 17:30:04 +02:00
a45551a535 patch 8.2.0936: some terminals misinterpret the code for getting cursor style
Problem:    Some terminals misinterpret the code for getting cursor style.
Solution:   Send a sequence to the terminal and check the result. (IWAMOTO
            Kouichi, closes #2126)  Merged with current code.
2020-06-09 15:57:37 +02:00
077a1e670a patch 8.2.0935: flattening a list with existing code is slow
Problem:    Flattening a list with existing code is slow.
Solution:   Add flatten(). (Mopp, closes #3676)
2020-06-08 20:50:43 +02:00
ec98e93a82 patch 8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Problem:    Running lhelpgrep twice in a help window doesn't jump to the help
            topic.
Solution:   Check whether any window with the location list is present.
            (Yegappan Lakshmanan, closes #6215)
2020-06-08 19:35:59 +02:00
7ba5a7eff3 patch 8.2.0933: 'quickfixtextfunc' does not get window ID of location list
Problem:    'quickfixtextfunc' does not get window ID of location list.
Solution:   Add "winid" to the dict argument. (Yegappan Lakshmanan,
            closes #6222)
2020-06-08 19:20:27 +02:00
f154f3ab2c patch 8.2.0932: missspelling spelllang
Problem:    Missspelling spelllang.
Solution:   Add an "l". (Dominique Pelle)
2020-06-08 18:54:49 +02:00
6938e27abd patch 8.2.0931: some remarks about BeOS remain
Problem:    Some remarks about BeOS remain.
Solution:   Remove BeOS remarks from the help and other files. (Emir Sari,
            closes #6221)
2020-06-07 22:23:19 +02:00
b5e18f29fa patch 8.2.0930: script filetype detection trips over env -S argument
Problem:    Script filetype detection trips over env -S argument.
Solution:   Remove "-S" and "--ignore-environment". (closes #5013)
            Add tests.
2020-06-07 21:58:54 +02:00
cc613031b9 patch 8.2.0929: v:register is not cleared after an operator was executed
Problem:    v:register is not cleared after an operator was executed.
Solution:   Clear v:register after finishing an operator (Andy Massimino,
            closes #5305)
2020-06-07 21:31:18 +02:00
acc2240640 Update runtime files 2020-06-07 21:07:18 +02:00
df44a27b53 patch 8.2.0928: many type casts are used for vim_strnsave()
Problem:    Many type casts are used for vim_strnsave().
Solution:   Make the length argument size_t instead of int. (Ken Takata,
            closes #5633)  Remove some type casts.
2020-06-07 20:49:05 +02:00
da84ac2a6f patch 8.2.0927: some sshconfig and ssdhconfig files are not recognized
Problem:    Some sshconfig and ssdhconfig files are not recognized.
Solution:   Add filetype patterns.
2020-06-07 20:07:43 +02:00
951a2fb1b8 patch 8.2.0926: cmdline test fails on Appveyor
Problem:    Cmdline test fails on Appveyor.
Solution:   Add CR to the commands. (Naruhiko Nishino, closes #6220)
2020-06-07 19:38:10 +02:00
1f1fd44ef7 patch 8.2.0925: getcompletion() does not return command line arguments
Problem:    Getcompletion() does not return command line arguments.
Solution:   Add the "cmdline" option. (Shougo, closes #1140)
2020-06-07 18:45:14 +02:00
bb861e293e patch 8.2.0924: cannot save and restore a register properly
Problem:    Cannot save and restore a register properly.
Solution:   Add getreginfo() and make setreg() accept a dictionary. (Andy
            Massimino, closes #3370)
2020-06-07 18:16:36 +02:00
c82dd86084 patch 8.2.0923: cmdline test is slow
Problem:    Cmdline test is slow.
Solution:   Use WaitForAssert().
2020-06-07 17:30:33 +02:00
48af321a33 patch 8.2.0922: search test fails
Problem:    Search test fails.
Solution:   Remove failure tests for calls that no longer fail.
2020-06-07 17:20:02 +02:00
4fdb8bd054 patch 8.2.0921: CTRL-W T in cmdline window causes trouble
Problem:    CTRL-W T in cmdline window causes trouble.
Solution:   Disallow CTRL-W T in the cmdline window.  Add more tests.
            (Naruhiko Nishino, closes #6219)
2020-06-07 17:03:21 +02:00
5b157fe2ed patch 8.2.0920: writing viminfo fails with a circular reference
Problem:    Writing viminfo fails with a circular reference.
Solution:   Use copyID to detect the cycle. (closes #6217)
2020-06-07 16:08:08 +02:00
673fc3e23f patch 8.2.0919: merging modifier for modifyOtherKeys is done twice
Problem:    Merging modifier for modifyOtherKeys is done twice.
Solution:   Remove the merging done in vgetc().
2020-06-07 15:46:11 +02:00
a9c0104947 patch 8.2.0918: duplicate code for evaluating expression argument
Problem:    Duplicate code for evaluating expression argument.
Solution:   Merge the code and make the use more flexible.
2020-06-07 14:50:50 +02:00
e928366de5 patch 8.2.0917: quickfix entries do not suport a "note" type
Problem:    Quickfix entries do not suport a "note" type.
Solution:   Add support for "note". (partly by Yegappan Lakshmanan,
            closes #5527, closes #6216)
2020-06-07 14:10:47 +02:00
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
482 changed files with 28525 additions and 14764 deletions

View File

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

View File

@ -8,7 +8,7 @@ labels: enhancement
_Instructions: Replace the template text and remove irrelevant text (including this line)_ _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 [...] 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.) (If it is related to runtime files, please check their header for where to discuss enhancements.)

View File

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

View File

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

View File

@ -13,9 +13,6 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
src/os_amiga.* Files for the Amiga port. src/os_amiga.* Files for the Amiga port.
src/gui_beos.*
src/os_beos.* Files for the BeOS port.
src/os_msdos.* src/os_msdos.*
src/os_dos.* Files for the MS-DOS port. src/os_dos.* Files for the MS-DOS port.

View File

@ -8,6 +8,7 @@ cd src
echo "Building MinGW 32bit console version" echo "Building MinGW 32bit console version"
set PATH=c:\msys64\mingw32\bin;%PATH% set PATH=c:\msys64\mingw32\bin;%PATH%
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1 mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
.\vim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
:: Save vim.exe before Make clean, moved back below. :: Save vim.exe before Make clean, moved back below.
copy vim.exe testdir copy vim.exe testdir
mingw32-make.exe -f Make_ming.mak clean mingw32-make.exe -f Make_ming.mak clean
@ -20,13 +21,14 @@ if "%FEATURE%" == "HUGE" (
) ELSE ( ) ELSE (
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1 mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
) )
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt .\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming_gui.txt
:: Filter out the progress bar from the build log :: Filter out the progress bar from the build log
sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak sed -e "s/@<<$/@<< | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
echo "Building MSVC 64bit console Version" echo "Building MSVC 64bit console Version"
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1 nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
:: The executable is not used
nmake -f Make_mvc2.mak clean nmake -f Make_mvc2.mak clean
:: build MSVC huge version with python and channel support :: build MSVC huge version with python and channel support
@ -43,6 +45,8 @@ if "%FEATURE%" == "HUGE" (
move /Y testdir\vim.exe . move /Y testdir\vim.exe .
echo "version output MinGW" echo "version output MinGW"
type ver_ming.txt type ver_ming.txt
echo "version output MinGW GUI"
type ver_ming_gui.txt
echo "version output MVC" echo "version output MVC"
type ver_msvc.txt type ver_msvc.txt
cd .. cd ..

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/ /^CFLAGS[[:blank:]]*=/s/$/ -Wall -Wextra -Wshadow -Werror/
/^PERL_CFLAGS\b/s/$/ -Wno-error=unused-function/ /^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

@ -141,6 +141,7 @@ DOCS = \
usr_43.txt \ usr_43.txt \
usr_44.txt \ usr_44.txt \
usr_45.txt \ usr_45.txt \
usr_46.txt \
usr_90.txt \ usr_90.txt \
usr_toc.txt \ usr_toc.txt \
various.txt \ various.txt \
@ -282,6 +283,7 @@ HTMLS = \
usr_43.html \ usr_43.html \
usr_44.html \ usr_44.html \
usr_45.html \ usr_45.html \
usr_46.html \
usr_90.html \ usr_90.html \
usr_toc.html \ usr_toc.html \
various.html \ various.html \
@ -317,7 +319,11 @@ CONVERTED = \
evim-ru.UTF-8.1 \ evim-ru.UTF-8.1 \
vimdiff-ru.UTF-8.1 \ vimdiff-ru.UTF-8.1 \
vimtutor-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:
.SUFFIXES: .c .o .txt .html .SUFFIXES: .c .o .txt .html
@ -509,3 +515,15 @@ vimtutor-ru.UTF-8.1: vimtutor-ru.1
xxd-ru.UTF-8.1: xxd-ru.1 xxd-ru.UTF-8.1: xxd-ru.1
iconv -f KOI8-R -t utf-8 $< >$@ 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 @@
*autocmd.txt* For Vim version 8.2. Last change: 2020 Jan 26 *autocmd.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -380,6 +380,7 @@ Name triggered by ~
info info
|User| to be used in combination with ":doautocmd" |User| to be used in combination with ":doautocmd"
|SigUSR1| after the SIGUSR1 signal has been detected
The alphabetical list of autocommand events: *autocmd-events-abc* The alphabetical list of autocommand events: *autocmd-events-abc*
@ -1153,11 +1154,14 @@ TextYankPost After text has been yanked or deleted in the
register. register.
regtype Type of the register, see regtype Type of the register, see
|getregtype()|. |getregtype()|.
visual True if the operation is
performed on a |Visual| area.
Not triggered when |quote_| is used nor when Not triggered when |quote_| is used nor when
called recursively. called recursively.
It is not allowed to change the buffer text, It is not allowed to change the buffer text,
see |textlock|. see |textlock|.
{only when compiled with the +eval feature} {only when compiled with the +eval feature}
*User* *User*
User Never executed automatically. To be used for User Never executed automatically. To be used for
autocommands that are only executed with autocommands that are only executed with
@ -1166,6 +1170,15 @@ User Never executed automatically. To be used for
used while there are no matching autocommands, used while there are no matching autocommands,
you will get an error. If you don't want you will get an error. If you don't want
that, define a dummy autocommand yourself. that, define a dummy autocommand yourself.
*SigUSR1*
SigUSR1 After the SIGUSR1 signal has been detected.
Could be used if other ways of notifying Vim
are not feasible. E.g. to check for the
result of a build that takes a long time, or
when a motion sensor is triggered.
{only on Unix}
*UserGettingBored* *UserGettingBored*
UserGettingBored When the user presses the same key 42 times. UserGettingBored When the user presses the same key 42 times.
Just kidding! :-) Just kidding! :-)

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 Jun 04
VIM REFERENCE MANUAL by Bram Moolenaar 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* 5. Copying and moving text *copy-move*
*quote* *quote*
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank "{register} Use {register} for next delete, yank or put. Use
or put (use uppercase character to append with an uppercase character to append with delete and yank.
delete and yank) ({.%#:} only work with put). Registers ".", "%", "#" and ":" only work with put.
*:reg* *:registers* *:reg* *:registers*
:reg[isters] Display the type and contents of all numbered and :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. characters. Overruled by the 'M' flag.
1 Don't break a line after a one-letter word. It's broken before it 1 Don't break a line after a one-letter word. It's broken before it
instead (if possible). 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 j Where it makes sense, remove a comment leader when joining lines. For
example, joining: example, joining:
int i; // the index ~ int i; // the index ~

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.2. Last change: 2019 Dec 07 *channel.txt* For Vim version 8.2. Last change: 2020 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1235,8 +1235,8 @@ If you want to type input for the job in a Vim window you have a few options:
- Use a terminal window. This works well if what you type goes directly to - Use a terminal window. This works well if what you type goes directly to
the job and the job output is directly displayed in the window. the job and the job output is directly displayed in the window.
See |terminal-window|. See |terminal-window|.
- Use a prompt window. This works well when entering a line for the job in Vim - Use a window with a prompt buffer. This works well when entering a line for
while displaying (possibly filtered) output from the job. the job in Vim while displaying (possibly filtered) output from the job.
A prompt buffer is created by setting 'buftype' to "prompt". You would A prompt buffer is created by setting 'buftype' to "prompt". You would
normally only do that in a newly created buffer. normally only do that in a newly created buffer.
@ -1270,5 +1270,46 @@ Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
the cursor to the last line. "A" will move to the end of the line, "I" to the the cursor to the last line. "A" will move to the end of the line, "I" to the
start of the line. start of the line.
Here is an example for Unix. It starts a shell in the background and prompts
for the next shell command. Output from the shell is displayed above the
prompt. >
" Create a channel log so we can see what happens.
call ch_logfile('logfile', 'w')
" Function handling a line of text has been typed.
func TextEntered(text)
" Send the text to a shell with Enter appended.
call ch_sendraw(g:shell_job, a:text .. "\n")
endfunc
" Function handling output from the shell: Added above the prompt.
func GotOutput(channel, msg)
call append(line("$") - 1, "- " . a:msg)
endfunc
" Function handling the shell exist: close the window.
func JobExit(job, status)
quit!
endfunc
" Start a shell in the background.
let shell_job = job_start(["/bin/sh"], #{
\ out_cb: function('GotOutput'),
\ err_cb: function('GotOutput'),
\ exit_cb: function('JobExit'),
\ })
let shell_ch = job_getchannel(shell_job)
new
set buftype=prompt
let buf = bufnr('')
call prompt_setcallback(buf, function("TextEntered"))
eval prompt_setprompt(buf, "shell command: ")
" start accepting shell commands
startinsert
<
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -615,6 +615,7 @@ followed by another Vim command:
:tcl :tcl
:tcldo :tcldo
:tclfile :tclfile
:terminal
:vglobal :vglobal
:windo :windo
:write ! :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 Jun 05
VIM REFERENCE MANUAL by Bram Moolenaar 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 :w ++enc=latin1 newfile
This writes the current buffer to "newfile" in latin1 format. 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 There may be several ++opt arguments, separated by white space. They must all
appear before any |+cmd| argument. appear before any |+cmd| argument.
@ -1079,9 +1082,9 @@ The names can be in upper- or lowercase.
*:q* *:quit* *:q* *:quit*
:q[uit] Quit the current window. Quit Vim if this is the last :q[uit] Quit the current window. Quit Vim if this is the last
window. This fails when changes have been made and |edit-window|. This fails when changes have been made
Vim refuses to |abandon| the current buffer, and when and Vim refuses to |abandon| the current buffer, and
the last file in the argument list has not been when the last file in the argument list has not been
edited. edited.
If there are other tab pages and quitting the last If there are other tab pages and quitting the last
window in the current tab page the current tab page is window in the current tab page the current tab page is
@ -1107,18 +1110,22 @@ The names can be in upper- or lowercase.
|quickfix|). |quickfix|).
*:wq* *:wq*
:wq [++opt] Write the current file and quit. Writing fails when :wq [++opt] Write the current file and close the window. If this
the file is read-only or the buffer does not have a was the last |edit-window| Vim quits.
name. Quitting fails when the last file in the Writing fails when the file is read-only or the buffer
argument list has not been edited. 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 :wq! [++opt] Write the current file and close the window. If this
the current buffer does not have a name. 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. 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] :[range]wq[!] [++opt] [file]
Same as above, but only write the lines in [range]. 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. Same as :xit.
*ZZ* *ZZ*
ZZ Write current file, if modified, and quit (same as ZZ Write current file, if modified, and close the current
":x"). (Note: If there are several windows for the window (same as ":x").
current file, the file is written if it was modified If there are several windows for the current file,
and the window is closed). only the current window is closed.
*ZQ* *ZQ*
ZQ Quit without checking for changes (same as ":q!"). 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* *:tchdir*
:tch[dir][!] Same as |:tcd|. :tch[dir][!] Same as |:tcd|.
*:tcd-*
:tcd[!] - Change to the previous current directory, before the
last ":tcd {path}" command.
*:lc* *:lcd* *:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when :lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current 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* *:lchdir*
:lch[dir][!] Same as |:lcd|. :lch[dir][!] Same as |:lcd|.
*:lcd-*
:lcd[!] - Change to the previous current directory, before the
last ":lcd {path}" command.
*:pw* *:pwd* *E187* *:pw* *:pwd* *E187*
:pw[d] Print the current directory name. :pw[d] Print the current directory name.
Also see |getcwd()|. 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 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 same current directory. Using a command to jump to another window doesn't

File diff suppressed because it is too large Load Diff

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

@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.2. Last change: 2019 May 05 *gui_x11.txt* For Vim version 8.2. Last change: 2020 Jun 05
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -356,6 +356,9 @@ need to set those up in some sort of gtkrc file. You'll have to refer
to the GTK documentation, however little there is, on how to do this. to the GTK documentation, however little there is, on how to do this.
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
for more information. for more information.
*gtk3-slow*
If you are using GTK3 and Vim appears to be slow, try setting the environment
variable $GDK_RENDERING to "image".
Tooltip Colors ~ Tooltip Colors ~

View File

@ -198,13 +198,13 @@ Remarks about specific systems ~
|os_amiga.txt| Amiga |os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox |os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows common items |os_dos.txt| MS-DOS and MS-Windows common items
|os_haiku.txt| Haiku
|os_mac.txt| Macintosh |os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT |os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows) |os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|os_os2.txt| OS/2 |os_os2.txt| OS/2
|os_qnx.txt| QNX |os_qnx.txt| QNX
|os_risc.txt| RISC-OS |os_risc.txt| RISC-OS
|os_haiku.txt| Haiku
|os_unix.txt| Unix |os_unix.txt| Unix
|os_vms.txt| VMS |os_vms.txt| VMS
|os_win32.txt| MS-Windows |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 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 returns it. Note that the buffer is not set as
current. 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* 3. List userdata *lua-list*

View File

@ -570,9 +570,15 @@ The examples below assume a 'shiftwidth' of 4.
with "#" does not work. 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: 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, 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: Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'. - 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 31
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -85,7 +85,7 @@ tag char action in Insert mode ~
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register} |i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
insert the contents of a register literally insert the contents of a register literally
and fix indent. and fix indent.
CTRL-S (used for terminal control flow) CTRL-S not used or used for terminal control flow
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current |i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
line line
|i_CTRL-U| CTRL-U delete all entered characters in the current |i_CTRL-U| CTRL-U delete all entered characters in the current
@ -220,9 +220,9 @@ tag char note action in Normal mode ~
|CTRL-N| CTRL-N 1 same as "j" |CTRL-N| CTRL-N 1 same as "j"
|CTRL-O| CTRL-O 1 go to N older entry in jump list |CTRL-O| CTRL-O 1 go to N older entry in jump list
|CTRL-P| CTRL-P 1 same as "k" |CTRL-P| CTRL-P 1 same as "k"
CTRL-Q (used for terminal control flow) CTRL-Q not used, or used for terminal control flow
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u' |CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
CTRL-S (used for terminal control flow) CTRL-S not used, or used for terminal control flow
|CTRL-T| CTRL-T jump to N older Tag in tag list |CTRL-T| CTRL-T jump to N older Tag in tag list
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a |CTRL-U| CTRL-U scroll N lines Upwards (default: half a
screen) screen)
@ -246,8 +246,7 @@ tag char note action in Normal mode ~
2 filter Nmove text through the {filter} 2 filter Nmove text through the {filter}
command command
|!!| !!{filter} 2 filter N lines 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 |quote| "{register} use {register} for next delete, yank or put
delete, yank or put (uppercase to append)
({.%#:} only work with put) ({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of |#| # 1 search backward for the Nth occurrence of
the ident under the cursor the ident under the cursor
@ -365,8 +364,8 @@ tag char note action in Normal mode ~
register x] register x]
|Y| ["x]Y yank N lines [into register x]; synonym for |Y| ["x]Y yank N lines [into register x]; synonym for
"yy" "yy"
|ZZ| ZZ store current file if modified, and exit |ZZ| ZZ write if buffer changed and close window
|ZQ| ZQ exit current file always |ZQ| ZQ close window without writing
|[| [{char} square bracket command (see |[| below) |[| [{char} square bracket command (see |[| below)
\ not used \ not used
|]| ]{char} square bracket command (see |]| below) |]| ]{char} square bracket command (see |]| below)
@ -829,7 +828,7 @@ tag char note action in Normal mode ~
|zD| zD delete folds recursively |zD| zD delete folds recursively
|zE| zE eliminate all folds |zE| zE eliminate all folds
|zF| zF create a fold for N lines |zF| zF create a fold for N lines
|zG| zG mark word as good spelled word |zG| zG temporarily mark word as correctly spelled
|zH| zH when 'wrap' off scroll half a screenwidth |zH| zH when 'wrap' off scroll half a screenwidth
to the right to the right
|zL| zL when 'wrap' off scroll half a screenwidth |zL| zL when 'wrap' off scroll half a screenwidth
@ -838,7 +837,7 @@ tag char note action in Normal mode ~
|zN| zN set 'foldenable' |zN| zN set 'foldenable'
|zO| zO open folds recursively |zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold |zR| zR set 'foldlevel' to the deepest fold
|zW| zW mark word as wrong (bad) spelled word |zW| zW temporarily mark word as incorrectly spelled
|zX| zX re-apply 'foldlevel' |zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above |z^| z^ cursor on line N (default line above
window), otherwise like "z-" window), otherwise like "z-"
@ -850,7 +849,7 @@ tag char note action in Normal mode ~
position the cursor at the end (right side) position the cursor at the end (right side)
of the screen of the screen
|zf| zf{motion} create a fold for Nmove text |zf| zf{motion} create a fold for Nmove text
|zg| zg mark word as good spelled word |zg| zg permanently mark word as correctly spelled
|zh| zh when 'wrap' off scroll screen N characters |zh| zh when 'wrap' off scroll screen N characters
to the right to the right
|zi| zi toggle 'foldenable' |zi| zi toggle 'foldenable'
@ -871,7 +870,7 @@ tag char note action in Normal mode ~
|zuW| zuW undo |zW| |zuW| zuW undo |zW|
|zuG| zuG undo |zG| |zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line |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 incorrectly spelled
|zx| zx re-apply 'foldlevel' and do "zv" |zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window |zz| zz redraw, cursor line at center of window
|z<Left>| z<Left> same as "zh" |z<Left>| z<Left> same as "zh"
@ -1057,7 +1056,7 @@ tag command action in Command-line editing mode ~
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname} |c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object insert the contents of a register or object
under the cursor literally under the cursor literally
CTRL-S (used for terminal control flow) CTRL-S not used, or used for terminal control flow
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active |c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|c_CTRL-U| CTRL-U remove all characters |c_CTRL-U| CTRL-U remove all characters
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three |c_CTRL-V| CTRL-V insert next non-digit literally, insert three
@ -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 : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal |t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job 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 paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job |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 |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 |:debug| :deb[ug] run a command in debugging mode
|:debuggreedy| :debugg[reedy] read debug mode commands from normal input |:debuggreedy| :debugg[reedy] read debug mode commands from normal input
|:def| :def define a Vim9 user function |:def| :def define a Vim9 user function
|:defcompile| :defc[ompile] compile Vim9 user functions in current script
|:delcommand| :delc[ommand] delete user-defined command |:delcommand| :delc[ommand] delete user-defined command
|:delfunction| :delf[unction] delete a user function |:delfunction| :delf[unction] delete a user function
|:delmarks| :delm[arks] delete marks |:delmarks| :delm[arks] delete marks
@ -1722,7 +1722,7 @@ tag command action ~
|:wqall| :wqa[ll] write all changed buffers and quit Vim |:wqall| :wqa[ll] write all changed buffers and quit Vim
|:wundo| :wu[ndo] write undo information to a file |:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo 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" |:xall| :xa[ll] same as ":wqall"
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode |:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|:xmap| :xm[ap] like ":map" but 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 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. 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. 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 Note: While completion is active Insert mode can't be used recursively and
buffer text cannot be changed. Mappings that somehow invoke ":normal i.." buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
will generate an E565 error. will generate an E565 error.

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.2. Last change: 2019 Nov 11 *intro.txt* For Vim version 8.2. Last change: 2020 May 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -121,14 +121,16 @@ http://www.vim.org/maillist.php
Bug reports: *bugs* *bug-reports* *bugreport.vim* Bug reports: *bugs* *bug-reports* *bugreport.vim*
There are two ways to report bugs, both work: There are three ways to report bugs:
1. Send bug reports to: Vim Developers <vim-dev@vim.org> 1. Open an issue on GitHub: https://github.com/vim/vim/issues
The text will be forwarded to the vim-dev maillist.
2. For issues with runtime files, look in the header for an email address or
any other way to report it to the maintainer.
3. Send bug reports to: Vim Developers <vim-dev@vim.org>
This is a maillist, you need to become a member first and many people will This is a maillist, you need to become a member first and many people will
see the message. If you don't want that, e.g. because it is a security see the message. If you don't want that, e.g. because it is a security
issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer issue, send it to <bugs@vim.org>, this only goes to the Vim maintainer
(that's Bram). (that's Bram).
2. Open an issue on GitHub: https://github.com/vim/vim/issues
The text will be forwarded to the vim-dev maillist.
Please be brief; all the time that is spent on answering mail is subtracted Please be brief; all the time that is spent on answering mail is subtracted
from the time that is spent on improving Vim! Always give a reproducible from the time that is spent on improving Vim! Always give a reproducible

View File

@ -58,7 +58,7 @@ substr($0,length($0),1) == "~" { print "<B><FONT COLOR=\"PURPLE\">" substr($0,1,
# #
#ad hoc code #ad hoc code
# #
/^"\|\& / {gsub(/\|/,"\\&#124;"); } /^"\|& / {gsub(/\|/,"\\&#124;"); }
/ = b / {gsub(/ b /," \\&#98; "); } / = b / {gsub(/ b /," \\&#98; "); }
# #
# one letter tag # 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 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 <bang> (See the '-bang' attribute) Expands to a ! if the
command was executed with a ! modifier, otherwise command was executed with a ! modifier, otherwise
expands to nothing. expands to nothing.
*<mods>* *<mods>* *:command-modifiers*
<mods> The command modifiers, if specified. Otherwise, expands to <mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|, nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|, |:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,

View File

@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.2. Last change: 2019 May 05 *mlang.txt* For Vim version 8.2. Last change: 2020 Jun 16
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -37,6 +37,7 @@ use of "-" and "_".
:lan[guage] mes[sages] :lan[guage] mes[sages]
:lan[guage] cty[pe] :lan[guage] cty[pe]
:lan[guage] tim[e] :lan[guage] tim[e]
:lan[guage] col[late]
Print the current language (aka locale). Print the current language (aka locale).
With the "messages" argument the language used for With the "messages" argument the language used for
messages is printed. Technical: LC_MESSAGES. messages is printed. Technical: LC_MESSAGES.
@ -44,15 +45,19 @@ use of "-" and "_".
character encoding is printed. Technical: LC_CTYPE. character encoding is printed. Technical: LC_CTYPE.
With the "time" argument the language used for With the "time" argument the language used for
strftime() is printed. Technical: LC_TIME. strftime() is printed. Technical: LC_TIME.
With the "collate" argument the language used for
collation order is printed. Technical: LC_COLLATE.
Without argument all parts of the locale are printed Without argument all parts of the locale are printed
(this is system dependent). (this is system dependent).
The current language can also be obtained with the The current language can also be obtained with the
|v:lang|, |v:ctype| and |v:lc_time| variables. |v:lang|, |v:ctype|, |v:collate| and |v:lc_time|
variables.
:lan[guage] {name} :lan[guage] {name}
:lan[guage] mes[sages] {name} :lan[guage] mes[sages] {name}
:lan[guage] cty[pe] {name} :lan[guage] cty[pe] {name}
:lan[guage] tim[e] {name} :lan[guage] tim[e] {name}
:lan[guage] col[late] {name}
Set the current language (aka locale) to {name}. Set the current language (aka locale) to {name}.
The locale {name} must be a valid locale on your The locale {name} must be a valid locale on your
system. Some systems accept aliases like "en" or system. Some systems accept aliases like "en" or
@ -72,7 +77,10 @@ use of "-" and "_".
With the "time" argument the language used for time With the "time" argument the language used for time
and date messages is set. This affects strftime(). and date messages is set. This affects strftime().
This sets $LC_TIME. This sets $LC_TIME.
Without an argument both are set, and additionally With the "collate" argument the language used for the
collation order is set. This affects sorting of
characters. This sets $LC_COLLATE.
Without an argument all are set, and additionally
$LANG is set. $LANG is set.
When compiled with the |+float| feature the LC_NUMERIC When compiled with the |+float| feature the LC_NUMERIC
value will always be set to "C", so that floating value will always be set to "C", so that floating

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 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -5232,7 +5232,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< If your terminal can't overrule the mouse events going to the < If your terminal can't overrule the mouse events going to the
application, use: > application, use: >
:set mouse=nvi :set mouse=nvi
< The you can press ":", select text for the system, and press Esc to go < Then you can press ":", select text for the system, and press Esc to go
back to Vim using the mouse events. back to Vim using the mouse events.
In |defaults.vim| "nvi" is used if the 'term' option is not matching In |defaults.vim| "nvi" is used if the 'term' option is not matching
"xterm". "xterm".
@ -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 bin If included, numbers starting with "0b" or "0B" will be
considered to be binary. Example: Using CTRL-X on considered to be binary. Example: Using CTRL-X on
"0b1000" subtracts one, resulting in "0b0111". "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 CTRL-A on "18446744073709551615"
(2^64 - 1) has no effect, overflow is prevented.
Numbers which simply begin with a digit in the range 1-9 are always Numbers which simply begin with a digit in the range 1-9 are always
considered decimal. This also happens for numbers that are not considered decimal. This also happens for numbers that are not
recognized as octal or hex. 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 'pyxversion' has no effect. The pyx* functions and commands are
always the same as the compiled version. 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 This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons. security reasons.
@ -7081,6 +7105,16 @@ A jump table for the options with a short description can be found at |Q_op|.
up to the first character that is not an ASCII letter or number and up to the first character that is not an ASCII letter or number and
not a dash. Also see |set-spc-auto|. not a dash. Also see |set-spc-auto|.
*'spelloptions'* *'spo'*
'spelloptions' 'spo' string (default "")
local to buffer
{not available when compiled without the |+syntax|
feature}
A comma separated list of options for spell checking:
camel When a word is CamelCased, assume "Cased" is a
separate word: every upper-case character in a word
that comes after a lower case character indicates the
start of a new word.
*'spellsuggest'* *'sps'* *'spellsuggest'* *'sps'*
'spellsuggest' 'sps' string (default "best") 'spellsuggest' 'sps' string (default "best")
@ -7672,7 +7706,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'term' string (default is $TERM, if that fails: 'term' string (default is $TERM, if that fails:
in the GUI: "builtin_gui" in the GUI: "builtin_gui"
on Amiga: "amiga" on Amiga: "amiga"
on BeOS: "beos-ansi"
on Haiku: "xterm" on Haiku: "xterm"
on Mac: "mac-ansi" on Mac: "mac-ansi"
on MiNT: "vt52" on MiNT: "vt52"
@ -8323,13 +8356,17 @@ A jump table for the options with a short description can be found at |Q_op|.
Currently, these messages are given: Currently, these messages are given:
>= 1 When the viminfo file is read or written. >= 1 When the viminfo file is read or written.
>= 2 When a file is ":source"'ed. >= 2 When a file is ":source"'ed.
>= 4 Shell commands.
>= 5 Every searched tags file and include file. >= 5 Every searched tags file and include file.
>= 8 Files for which a group of autocommands is executed. >= 8 Files for which a group of autocommands is executed.
>= 9 Every executed autocommand. >= 9 Every executed autocommand.
>= 11 Finding items in a path
>= 12 Every executed function. >= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded. >= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause. >= 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 can also be set with the "-V" argument. See |-V|.
This option is also set by the |:verbose| command. This option is also set by the |:verbose| command.
@ -8519,8 +8556,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'virtualedit'* *'ve'* *'virtualedit'* *'ve'*
'virtualedit' 've' string (default "") 'virtualedit' 've' string (default "")
global global
{not available when compiled without the
|+virtualedit| feature}
A comma separated list of these words: A comma separated list of these words:
block Allow virtual editing in Visual block mode. block Allow virtual editing in Visual block mode.
insert Allow virtual editing in Insert mode. insert Allow virtual editing in Insert mode.

View File

@ -1,320 +1,13 @@
*os_beos.txt* For Vim version 8.2. Last change: 2016 Mar 28 *os_beos.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
*BeOS* *BeBox* *beos* *BeOS* *BeBox*
This is a port of Vim 5.1 to the BeOS Preview Release 2 (also known as PR2) This file used to contain particularities for the BeOS port of Vim.
or later.
This file contains the particularities for the BeBox/BeOS version of Vim. For The BeOS support was removed in patch 8.2.0849.
matters not discussed in this file, Vim behaves very much like the Unix
|os_unix.txt| version.
1. General |beos-general|
2. Compiling Vim |beos-compiling|
3. Timeout in the Terminal |beos-timeout|
4. Unicode vs. Latin1 |beos-unicode|
5. The BeOS GUI |beos-gui|
6. The $VIM directory |beos-vimdir|
7. Drag & Drop |beos-dragndrop|
8. Single Launch vs. Multiple
Launch |beos-launch|
9. Fonts |beos-fonts|
10. The meta key modifier |beos-meta|
11. Mouse key mappings |beos-mouse|
12. Color names |beos-colors|
13. Compiling with Perl |beos-perl|
1. General *beos-general*
The default syntax highlighting mostly works with different foreground colors
to highlight items. This works best if you set your Terminal window to a
darkish background and light letters. Some middle-grey background (for
instance (r,g,b)=(168,168,168)) with black letters also works nicely. If you
use the default light background and dark letters, it may look better to
simply reverse the notion of foreground and background color settings. To do
this, add this to your .vimrc file (where <Esc> may need to be replaced with
the escape character): >
:if &term == "beos-ansi"
: set t_AB=<Esc>[3%dm
: set t_AF=<Esc>[4%dm
:endif
2. Compiling Vim *beos-compiling*
From the Advanced Access Preview Release (AAPR) on, Vim can be configured with
the standard configure script. To get the compiler and its flags right, use
the following command-line in the shell (you can cut and paste it in one go):
CC=$BE_C_COMPILER CFLAGS="$BE_DEFAULT_C_FLAGS -O7" \
./configure --prefix=/boot/home/config
$BE_C_COMPILER is usually "mwcc", $BE_DEFAULT_C_FLAGS is usually "-I- -I."
When configure has run, and you wish to enable GUI support, you must edit the
config.mk file so that the lines with GUI_xxx refer to $(BEOSGUI_xxx) instead
of $(NONE_xxx).
Alternatively you can make this change in the Makefile; it will have a
more permanent effect. Search for "NONE_".
After compilation you need to add the resources to the binary. Add the
following few lines near the end (before the line with "exit $exit_value") of
the link.sh script to do this automatically.
rmattr BEOS:TYPE vim
copyres os_beos.rsrc vim
mimeset vim
Also, create a dummy file "strip":
#!/bin/sh
mimeset $1
exit 0
You will need it when using "make install" to install Vim.
Now type "make" to compile Vim, then "make install" to install it.
If you want to install Vim by hand, you must copy Vim to $HOME/config/bin, and
create a bunch of symlinks to it ({g,r,rg}{vim,ex,view}). Furthermore you must
copy Vim's configuration files to $HOME/config/share/vim:
vim-5.0s/{*.vim,doc,syntax}. For completeness, you should also copy the nroff
manual pages to $HOME/config/man/man1. Don't forget ctags/ctags and xxd/xxd!
Obviously, you need the unlimited linker to actually link Vim. See
http://www.metrowerks.com for purchasing the CodeWarrior compiler for BeOS.
There are currently no other linkers that can do the job.
This won't be able to include the Perl or Python interfaces even if
you have the appropriate files installed. |beos-perl|
3. Timeout in the Terminal *beos-timeout*
Because some POSIX/UNIX features are still missing[1], there is no direct OS
support for read-with-timeout in the Terminal. This would mean that you cannot
use :mappings of more than one character, unless you also :set notimeout.
|'timeout'|
To circumvent this problem, I added a workaround to provide the necessary
input with timeout by using an extra thread which reads ahead one character.
As a side effect, it also makes Vim recognize when the Terminal window
resizes.
Function keys are not supported in the Terminal since they produce very
indistinctive character sequences.
These problems do not exist in the GUI.
[1]: there is no select() on file descriptors; also the termios VMIN and VTIME
settings do not seem to work properly. This has been the case since DR7 at
least and still has not been fixed as of PR2.
*beos-unicode*
4. Unicode vs. Latin1 *beos-utf8*
BeOS uses Unicode and UTF-8 for text strings (16-bit characters encoded to
8-bit characters). Vim assumes ISO-Latin1 or other 8-bit character codes.
This does not produce the desired results for non-ASCII characters. Try the
command :digraphs to see. If they look messed up, use :set isprint=@ to
(slightly) improve the display of ISO-Latin1 characters 128-255. This works
better in the GUI, depending on which font you use (below).
You may also use the /boot/bin/xtou command to convert UTF-8 files from (xtou
-f iso1 filename) or to (xtou -t iso1 filename) ISO-Latin1 characters.
5. The BeOS GUI *beos-gui*
The BeOS GUI is no longer included. It was not maintained for a while and
most likely didn't work. If you want to work on this: get the Vim 6.x version
and merge it back in.
6. The $VIM directory *beos-vimdir*
$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 >
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
set the VIM environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500
: set helpfile=~/vim/vim54/doc/help.txt
: syntax on
:endif
7. Drag & Drop *beos-dragndrop*
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
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.
Files dropped set the current argument list. |argument-list|
8. Single Launch vs. Multiple Launch *beos-launch*
As distributed Vim's Application Flags (as seen in the FileTypes preference)
are set to Multiple Launch. If you prefer, you can set them to Single Launch
instead. Attempts to start a second copy of Vim will cause the first Vim to
open the files instead. This works from the Tracker but also from the command
line. In the latter case, non-file (option) arguments are not supported.
NB: Only the GUI version has a BApplication (and hence Application Flags).
This section does not apply to the GUI-less version, should you compile one.
9. Fonts *beos-fonts*
Set fonts with >
:set guifont=Courier10_BT/Roman/10
where the first part is the font family, the second part the style, and the
third part the size. You can use underscores instead of spaces in family and
style.
Best results are obtained with monospaced fonts (such as Courier). Vim
attempts to use all fonts in B_FIXED_SPACING mode but apparently this does not
work for proportional fonts (despite what the BeBook says).
Vim also tries to use the B_ISO8859_1 encoding, also known as ISO Latin 1.
This also does not work for all fonts. It does work for Courier, but not for
ProFontISOLatin1/Regular (strangely enough). You can verify this by giving the >
:digraphs
command, which lists a bunch of characters with their ISO Latin 1 encoding.
If, for instance, there are "box" characters among them, or the last character
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.
Standard fixed-width system fonts are:
ProFontISOLatin1/Regular
Courier10_BT/Roman
Courier10_BT/Italic
Courier10_BT/Bold
Courier10_BT/Bold_Italic
Standard proportional system fonts are:
Swis721_BT/Roman
Swis721_BT/Italic
Swis721_BT/Bold
Swis721_BT/Bold_Italic
Dutch801_Rm_BT/Roman
Dutch801_Rm_BT/Italic
Dutch801_Rm_BT/Bold
Dutch801_Rm_BT/Bold_Italic
Baskerville/Roman
Baskerville/Italic
Baskerville/Bold
Baskerville/Bold_Italic
SymbolProp_BT/Regular
Try some of them, just for fun.
10. The meta key modifier *beos-meta*
The META key modifier is obtained by the left or right OPTION keys. This is
because the ALT (aka COMMAND) keys are not passed to applications.
11. Mouse key mappings *beos-mouse*
Vim calls the various mouse buttons LeftMouse, MiddleMouse and RightMouse. If
you use the default Mouse preference settings these names indeed correspond to
reality. Vim uses this mapping:
Button 1 -> LeftMouse,
Button 2 -> RightMouse,
Button 3 -> MiddleMouse.
If your mouse has fewer than 3 buttons you can provide your own mapping from
mouse clicks with modifier(s) to other mouse buttons. See the swapmouse
package for an example: |gui-mouse-mapping|
$VIMRUNTIME/pack/dist/opt/swapmouse/plugin/swapmouse.vim
12. Color names *beos-colors*
Vim has a number of color names built-in. Additional names are read from the
file $VIMRUNTIME/rgb.txt, if present. This file is basically the color
database from X. Names used from this file are cached for efficiency.
13. Compiling with Perl *beos-perl*
Compiling with Perl support enabled is slightly tricky. The Metrowerks
compiler has some strange ideas where to search for include files. Since
several include files with Perl have the same names as some Vim header
files, the wrong ones get included. To fix this, run the following Perl
script while in the vim-5.0/src directory: >
preproc.pl > perl.h
#!/bin/env perl
# Simple #include expander, just good enough for the Perl header files.
use strict;
use IO::File;
use Config;
sub doinclude
{
my $filename = $_[0];
my $fh = new IO::File($filename, "r");
if (defined $fh) {
print "/* Start of $filename */\n";
while (<$fh>) {
if (/^#include "(.*)"/) {
doinclude($1);
print "/* Back in $filename */\n";
} else {
print $_;
}
}
print "/* End of $filename */\n";
undef $fh;
} else {
print "/* Cannot open $filename */\n";
print "#include \"$filename\"\n";
}
}
chdir $Config{installarchlib}."/CORE";
doinclude "perl.h";
It expands the "perl.h" header file, using only other Perl header files.
Now you can configure & make Vim with the --enable-perlinterp option.
Be warned though that this adds about 616 kilobytes to the size of Vim!
Without Perl, Vim with default features and GUI is about 575K, with Perl
it is about 1191K.
-Olaf Seibert
[Note: these addresses no longer work:]
<rhialto@polder.ubc.kun.nl>
http://polder.ubc.kun.nl/~rhialto/be
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Apr 30 *os_haiku.txt* For Vim version 8.2. Last change: 2020 May 13
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -25,8 +25,9 @@ targets personal computing.
9. The meta key modifier |haiku-meta| 9. The meta key modifier |haiku-meta|
10. Mouse key mappings |haiku-mouse| 10. Mouse key mappings |haiku-mouse|
11. Color names |haiku-colors| 11. Color names |haiku-colors|
12. Credits |haiku-support-credits| 12. GUI Toolbar Images |haiku-toolbar-images|
13. Bugs & to-do |haiku-bugs| 13. Credits |haiku-support-credits|
14. Bugs & to-do |haiku-bugs|
1. General *haiku-general* 1. General *haiku-general*
@ -83,9 +84,6 @@ Stuff that does not work yet:
in when the window is activated or deactivated (so it works best with focus- in when the window is activated or deactivated (so it works best with focus-
follows-mouse turned on). follows-mouse turned on).
- The cursor does not flash. - The cursor does not flash.
- Built-in terminal is not available in GUI, and does not work reliably on
console version as well; e.g. it is not possible to exit using the 'exit'
command. If you need to use it, enable at your own risk.
4. The $VIM directory *haiku-vimdir* 4. The $VIM directory *haiku-vimdir*
@ -223,7 +221,7 @@ All the changes and patches released under vim-license.
Thank you, all! 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 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 reports, patches and wishes, please use the Vim mailing list or Vim Github

View File

@ -1,4 +1,4 @@
*os_vms.txt* For Vim version 8.2. Last change: 2019 Jan 29 *os_vms.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL VIM REFERENCE MANUAL
@ -432,7 +432,6 @@ Terminal entry not found in termcap
builtin_gui builtin_gui
builtin_riscos builtin_riscos
builtin_amiga builtin_amiga
builtin_beos-ansi
builtin_ansi builtin_ansi
builtin_vt320 builtin_vt320
builtin_vt52 builtin_vt52

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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -150,6 +150,7 @@ different: *E863*
- When the job ends, the popup window closes. - When the job ends, the popup window closes.
- The popup window can be closed with `popup_close()`, the terminal buffer - The popup window can be closed with `popup_close()`, the terminal buffer
then becomes hidden. 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 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 the color of the terminal itself set the Terminal highlight group before
creating the terminal. Setting 'wincolor' later can work but requires the 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_getoptions()| get current options for a popup
|popup_getpos()| get actual position and size of a popup |popup_getpos()| get actual position and size of a popup
|popup_locate()| find popup window at a screen position |popup_locate()| find popup window at a screen position
|popup_list()| get list of all popups
DETAILS *popup-function-details* DETAILS *popup-function-details*
@ -235,8 +237,15 @@ popup_beval({what}, {options}) *popup_beval()*
GetText()->popup_beval({}) GetText()->popup_beval({})
< <
*popup_clear()* *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. 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()* popup_close({id} [, {result}]) *popup_close()*
@ -415,6 +424,10 @@ popup_hide({id}) *popup_hide()*
Can also be used as a |method|: > Can also be used as a |method|: >
GetPopup()->popup_hide() GetPopup()->popup_hide()
popup_list() *popup_list()*
Return a List with the |window-ID| of all existing popups.
popup_locate({row}, {col}) *popup_locate()* popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row} Return the |window-ID| of the popup at screen position {row}
and {col}. If there are multiple popups the one with the and {col}. If there are multiple popups the one with the

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.2. Last change: 2020 Jan 06 *quickfix.txt* For Vim version 8.2. Last change: 2020 May 31
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -15,6 +15,7 @@ This subject is introduced in section |30.1| of the user manual.
7. The error format |error-file-format| 7. The error format |error-file-format|
8. The directory stack |quickfix-directory-stack| 8. The directory stack |quickfix-directory-stack|
9. Specific error file formats |errorformats| 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 The quickfix commands are not available when the |+quickfix| feature was
disabled at compile time. disabled at compile time.
@ -1374,7 +1375,11 @@ Basic items
%v virtual column number (finds a number representing %v virtual column number (finds a number representing
screen column of the error (1 <tab> == 8 screen screen column of the error (1 <tab> == 8 screen
columns)) columns))
%t error type (finds a single character) %t error type (finds a single character):
e - error message
w - warning message
i - info message
n - note message
%n error number (finds a number) %n error number (finds a number)
%m error message (finds a string) %m error message (finds a string)
%r matches the "rest" of a single-line file message %O/P/Q %r matches the "rest" of a single-line file message %O/P/Q
@ -1445,6 +1450,7 @@ prefixes are:
%E start of a multi-line error message %E start of a multi-line error message
%W start of a multi-line warning message %W start of a multi-line warning message
%I start of a multi-line informational message %I start of a multi-line informational message
%N start of a multi-line note message
%A start of a multi-line message (unspecified type) %A start of a multi-line message (unspecified type)
%> for next line start with current pattern again |efm-%>| %> for next line start with current pattern again |efm-%>|
%C continuation of a multi-line message %C continuation of a multi-line message
@ -1921,6 +1927,67 @@ 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 start of the file about how to use it. (This script is deprecated, see
|compiler-perl|.) |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 and
should return a List of strings to be displayed in the quickfix or location
list window. 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.
winid for a location list, set to the id of the window with the
location list. For a quickfix list, set to 0. Can be used in
getloclist() to get the location list entry.
id quickfix or location list identifier
start_idx index of the first entry for which text should be returned
end_idx index of the last entry for which text should be returned
The function should return a single line of text to display in the quickfix
window for each entry from start_idx to end_idx. The function can obtain
information about the entries using the |getqflist()| function and specifying
the quickfix list identifier "id". For a location list, getloclist() function
can be used with the 'winid' argument.
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 a range of quickfix entries
let items = getqflist({'id' : a:info.id, 'items' : 1}).items
let l = []
for idx in range(a:info.start_idx - 1, a:info.end_idx - 1)
" use the simplified file name
call add(l, fnamemodify(bufname(items[idx].bufnr), ':p:.'))
endfor
return l
endfunc
<
vim:tw=78:ts=8:noet:ft=help:norl: vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.2. Last change: 2020 Jan 17 *quickref.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -851,6 +851,7 @@ Short explanation of each option: *option-list*
'pythonthreedll' name of the Python 3 dynamic library 'pythonthreedll' name of the Python 3 dynamic library
'pythonthreehome' name of the Python 3 home directory 'pythonthreehome' name of the Python 3 home directory
'pyxversion' 'pyx' Python version used for pyx* commands 'pyxversion' 'pyx' Python version used for pyx* commands
'quickfixtextfunc' 'qftf' function for the text in the quickfix window
'quoteescape' 'qe' escape characters used in a string 'quoteescape' 'qe' escape characters used in a string
'readonly' 'ro' disallow writing the buffer 'readonly' 'ro' disallow writing the buffer
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting 'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
@ -909,6 +910,7 @@ Short explanation of each option: *option-list*
'spellcapcheck' 'spc' pattern to locate end of a sentence 'spellcapcheck' 'spc' pattern to locate end of a sentence
'spellfile' 'spf' files where |zg| and |zw| store words 'spellfile' 'spf' files where |zg| and |zw| store words
'spelllang' 'spl' language(s) to do spell checking for 'spelllang' 'spl' language(s) to do spell checking for
'spelloptions' 'spo' options for spell checking
'spellsuggest' 'sps' method(s) used to suggest spelling corrections 'spellsuggest' 'sps' method(s) used to suggest spelling corrections
'splitbelow' 'sb' new window from split is below the current one 'splitbelow' 'sb' new window from split is below the current one
'splitright' 'spr' new window is put right of the current one 'splitright' 'spr' new window is put right of the current one

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 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: command:
*:pre* *:preserve* *E313* *E314* *:pre* *:preserve* *E313* *E314*
:pre[serve] Write all text for all buffers into swap files. The :pre[serve] Write all text for the current buffer into its swap
original file is no longer needed for recovery. file. The original file is no longer needed for
This sets a flag in the current buffer. When the '&' recovery. This sets a flag in the current buffer.
flag is present in 'cpoptions' the swap file will not When the '&' flag is present in 'cpoptions' the swap
be deleted for this buffer when Vim exits and the file will not be deleted for this buffer when Vim
buffer is still loaded |cpo-&|. exits and the buffer is still loaded |cpo-&|.
A Vim swap file can be recognized by the first six characters: "b0VIM ". A Vim swap file can be recognized by the first six characters: "b0VIM ".
After that comes the version number, e.g., "3.0". 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 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 and the yank will overwrite the
recorded macro. 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 q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless stops recording is not stored in the register, unless
it was the result of a mapping) it was the result of a mapping)
@ -137,7 +142,7 @@ q Stops recording. (Implementation note: The 'q' that
used. used.
The register is executed like a mapping, that means The register is executed like a mapping, that means
that the difference between 'wildchar' and 'wildcharm' 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 For "@=" you are prompted to enter an expression. The
result of the expression is then executed. result of the expression is then executed.
See also |@:|. See also |@:|.
@ -158,6 +163,11 @@ q Stops recording. (Implementation note: The 'q' that
result of evaluating the expression is executed as an result of evaluating the expression is executed as an
Ex command. Ex command.
Mappings are not recognized in these commands. Mappings are not recognized in these commands.
When the |line-continuation| character (\) is present
at the beginning of a line in a linewise register,
then it is combined with the previous line. This is
useful for yanking and executing parts of a Vim
script.
Future: Will execute the register for each line in the Future: Will execute the register for each line in the
address range. address range.
@ -166,7 +176,7 @@ q Stops recording. (Implementation note: The 'q' that
[addr] (default is current line). [addr] (default is current line).
:[addr]@ *:@@* :[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). line [addr] (default is current line).
============================================================================== ==============================================================================

View File

@ -1,4 +1,4 @@
*spell.txt* For Vim version 8.2. Last change: 2019 Aug 16 *spell.txt* For Vim version 8.2. Last change: 2020 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -215,6 +215,9 @@ When there is a line break right after a sentence the highlighting of the next
line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for
how it can be set automatically when 'spelllang' is set. how it can be set automatically when 'spelllang' is set.
The 'spelloptions' option has a few more flags that influence the way spell
checking works.
Vim counts the number of times a good word is encountered. This is used to Vim counts the number of times a good word is encountered. This is used to
sort the suggestions: words that have been seen before get a small bonus, sort the suggestions: words that have been seen before get a small bonus,
words that have been seen often get a bigger bonus. The COMMON item in the words that have been seen often get a bigger bonus. The COMMON item in the

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.2. Last change: 2020 Feb 29 *syntax.txt* For Vim version 8.2. Last change: 2020 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1214,11 +1214,13 @@ DESKTOP *desktop.vim* *ft-desktop-syntax*
Primary goal of this syntax file is to highlight .desktop and .directory files Primary goal of this syntax file is to highlight .desktop and .directory files
according to freedesktop.org standard: according to freedesktop.org standard:
http://standards.freedesktop.org/desktop-entry-spec/latest/ https://specifications.freedesktop.org/desktop-entry-spec/latest/
But actually almost none implements this standard fully. Thus it will To highlight nonstandard extensions that does not begin with X-, set >
highlight all Unix ini files. But you can force strict highlighting according let g:desktop_enable_nonstd = 1
to standard by placing this in your vimrc file: > Note that this may cause wrong highlight.
:let enforce_freedesktop_standard = 1 To highlight KDE-reserved features, set >
let g:desktop_enable_kde = 1
g:desktop_enable_kde follows g:desktop_enable_nonstd if not supplied
DIFF *diff.vim* DIFF *diff.vim*
@ -3636,6 +3638,26 @@ DEFINING CASE *:syn-case* *E390*
:sy[ntax] case :sy[ntax] case
Show either "syntax case match" or "syntax case ignore" (translated). 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* SPELL CHECKING *:syn-spell*
:sy[ntax] spell [toplevel | notoplevel | default] :sy[ntax] spell [toplevel | notoplevel | default]
@ -4099,6 +4121,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 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. ends. If the start and end are within the same line, there is no fold.
The 'foldnestmax' option limits the nesting of syntax folds. 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} {not available when Vim was compiled without |+folding| feature}
@ -4857,7 +4881,12 @@ term={attr-list} *attr-list* *highlight-term* *E418*
have the same effect. have the same effect.
"undercurl" is a curly underline. When "undercurl" is not possible "undercurl" is a curly underline. When "undercurl" is not possible
then "underline" is used. In general "undercurl" and "strikethrough" then "underline" is used. In general "undercurl" and "strikethrough"
is only available in the GUI. The color is set with |highlight-guisp|. are only available in the GUI and some terminals. The color is set
with |highlight-guisp| or |highlight-ctermul|. You can try these
termcap entries to make undercurl work in a terminal: >
let &t_Cs = "\e[4:3m"
let &t_Ce = "\e[4:0m"
start={term-list} *highlight-start* *E422* start={term-list} *highlight-start* *E422*
stop={term-list} *term-list* *highlight-stop* stop={term-list} *term-list* *highlight-stop*
@ -4901,6 +4930,10 @@ cterm={attr-list} *highlight-cterm*
ctermfg={color-nr} *highlight-ctermfg* *E421* ctermfg={color-nr} *highlight-ctermfg* *E421*
ctermbg={color-nr} *highlight-ctermbg* 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 The {color-nr} argument is a color number. Its range is zero to
(not including) the number given by the termcap entry "Co". (not including) the number given by the termcap entry "Co".
The actual color with this number depends on the type of terminal The actual color with this number depends on the type of terminal
@ -4978,11 +5011,11 @@ ctermbg={color-nr} *highlight-ctermbg*
needs to reset the color when exiting. This is done with the "op" 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 termcap entry |t_op|. If this doesn't work correctly, try setting the
't_op' option in your .vimrc. 't_op' option in your .vimrc.
*E419* *E420* *E419* *E420* *E453*
When Vim knows the normal foreground and background colors, "fg" and When Vim knows the normal foreground, background and underline colors,
"bg" can be used as color names. This only works after setting the "fg", "bg" and "ul" can be used as color names. This only works after
colors for the Normal group and for the MS-Windows console. Example, setting the colors for the Normal group and for the MS-Windows
for reverse video: > console. Example, for reverse video: >
:highlight Visual ctermfg=bg ctermbg=fg :highlight Visual ctermfg=bg ctermbg=fg
< Note that the colors are used that are valid at the moment this < 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 command are given. If the Normal group colors are changed later, the

View File

@ -810,6 +810,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'pyx' options.txt /*'pyx'* 'pyx' options.txt /*'pyx'*
'pyxversion' options.txt /*'pyxversion'* 'pyxversion' options.txt /*'pyxversion'*
'qe' options.txt /*'qe'* 'qe' options.txt /*'qe'*
'qftf' options.txt /*'qftf'*
'quickfixtextfunc' options.txt /*'quickfixtextfunc'*
'quote motion.txt /*'quote* 'quote motion.txt /*'quote*
'quoteescape' options.txt /*'quoteescape'* 'quoteescape' options.txt /*'quoteescape'*
'rdt' options.txt /*'rdt'* 'rdt' options.txt /*'rdt'*
@ -913,11 +915,13 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'spellcapcheck' options.txt /*'spellcapcheck'* 'spellcapcheck' options.txt /*'spellcapcheck'*
'spellfile' options.txt /*'spellfile'* 'spellfile' options.txt /*'spellfile'*
'spelllang' options.txt /*'spelllang'* 'spelllang' options.txt /*'spelllang'*
'spelloptions' options.txt /*'spelloptions'*
'spellsuggest' options.txt /*'spellsuggest'* 'spellsuggest' options.txt /*'spellsuggest'*
'spf' options.txt /*'spf'* 'spf' options.txt /*'spf'*
'spl' options.txt /*'spl'* 'spl' options.txt /*'spl'*
'splitbelow' options.txt /*'splitbelow'* 'splitbelow' options.txt /*'splitbelow'*
'splitright' options.txt /*'splitright'* 'splitright' options.txt /*'splitright'*
'spo' options.txt /*'spo'*
'spr' options.txt /*'spr'* 'spr' options.txt /*'spr'*
'sps' options.txt /*'sps'* 'sps' options.txt /*'sps'*
'sr' options.txt /*'sr'* 'sr' options.txt /*'sr'*
@ -956,10 +960,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
't_&8' term.txt /*'t_&8'* 't_&8' term.txt /*'t_&8'*
't_8b' term.txt /*'t_8b'* 't_8b' term.txt /*'t_8b'*
't_8f' term.txt /*'t_8f'* 't_8f' term.txt /*'t_8f'*
't_8u' term.txt /*'t_8u'*
't_@7' term.txt /*'t_@7'* 't_@7' term.txt /*'t_@7'*
't_AB' term.txt /*'t_AB'* 't_AB' term.txt /*'t_AB'*
't_AF' term.txt /*'t_AF'* 't_AF' term.txt /*'t_AF'*
't_AL' term.txt /*'t_AL'* 't_AL' term.txt /*'t_AL'*
't_AU' term.txt /*'t_AU'*
't_BD' term.txt /*'t_BD'* 't_BD' term.txt /*'t_BD'*
't_BE' term.txt /*'t_BE'* 't_BE' term.txt /*'t_BE'*
't_CS' term.txt /*'t_CS'* 't_CS' term.txt /*'t_CS'*
@ -1922,6 +1928,10 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
45.3 usr_45.txt /*45.3* 45.3 usr_45.txt /*45.3*
45.4 usr_45.txt /*45.4* 45.4 usr_45.txt /*45.4*
45.5 usr_45.txt /*45.5* 45.5 usr_45.txt /*45.5*
46.1 usr_46.txt /*46.1*
46.2 usr_46.txt /*46.2*
46.3 usr_46.txt /*46.3*
46.? usr_46.txt /*46.?*
8g8 various.txt /*8g8* 8g8 various.txt /*8g8*
90.1 usr_90.txt /*90.1* 90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2* 90.2 usr_90.txt /*90.2*
@ -2272,6 +2282,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:command-completion-custom map.txt /*:command-completion-custom* :command-completion-custom map.txt /*:command-completion-custom*
:command-completion-customlist map.txt /*:command-completion-customlist* :command-completion-customlist map.txt /*:command-completion-customlist*
:command-count map.txt /*:command-count* :command-count map.txt /*:command-count*
:command-modifiers map.txt /*:command-modifiers*
:command-nargs map.txt /*:command-nargs* :command-nargs map.txt /*:command-nargs*
:command-range map.txt /*:command-range* :command-range map.txt /*:command-range*
:command-register map.txt /*:command-register* :command-register map.txt /*:command-register*
@ -2316,6 +2327,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:debugg repeat.txt /*:debugg* :debugg repeat.txt /*:debugg*
:debuggreedy repeat.txt /*:debuggreedy* :debuggreedy repeat.txt /*:debuggreedy*
:def vim9.txt /*:def* :def vim9.txt /*:def*
:defc vim9.txt /*:defc*
:defcompile vim9.txt /*:defcompile*
:del change.txt /*:del* :del change.txt /*:del*
:delc map.txt /*:delc* :delc map.txt /*:delc*
:delcommand map.txt /*:delcommand* :delcommand map.txt /*:delcommand*
@ -2584,6 +2597,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:lbuffer quickfix.txt /*:lbuffer* :lbuffer quickfix.txt /*:lbuffer*
:lc editing.txt /*:lc* :lc editing.txt /*:lc*
:lcd editing.txt /*:lcd* :lcd editing.txt /*:lcd*
:lcd- editing.txt /*:lcd-*
:lch editing.txt /*:lch* :lch editing.txt /*:lch*
:lchdir editing.txt /*:lchdir* :lchdir editing.txt /*:lchdir*
:lcl quickfix.txt /*:lcl* :lcl quickfix.txt /*:lcl*
@ -2891,6 +2905,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:put change.txt /*:put* :put change.txt /*:put*
:pw editing.txt /*:pw* :pw editing.txt /*:pw*
:pwd editing.txt /*:pwd* :pwd editing.txt /*:pwd*
:pwd-verbose editing.txt /*:pwd-verbose*
:py if_pyth.txt /*:py* :py if_pyth.txt /*:py*
:py3 if_pyth.txt /*:py3* :py3 if_pyth.txt /*:py3*
:py3do if_pyth.txt /*:py3do* :py3do if_pyth.txt /*:py3do*
@ -3194,6 +3209,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:syn-file-remarks syntax.txt /*:syn-file-remarks* :syn-file-remarks syntax.txt /*:syn-file-remarks*
:syn-files syntax.txt /*:syn-files* :syn-files syntax.txt /*:syn-files*
:syn-fold syntax.txt /*:syn-fold* :syn-fold syntax.txt /*:syn-fold*
:syn-foldlevel syntax.txt /*:syn-foldlevel*
:syn-include syntax.txt /*:syn-include* :syn-include syntax.txt /*:syn-include*
:syn-iskeyword syntax.txt /*:syn-iskeyword* :syn-iskeyword syntax.txt /*:syn-iskeyword*
:syn-keepend syntax.txt /*:syn-keepend* :syn-keepend syntax.txt /*:syn-keepend*
@ -3274,6 +3290,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:tags tagsrch.txt /*:tags* :tags tagsrch.txt /*:tags*
:tc if_tcl.txt /*:tc* :tc if_tcl.txt /*:tc*
:tcd editing.txt /*:tcd* :tcd editing.txt /*:tcd*
:tcd- editing.txt /*:tcd-*
:tch editing.txt /*:tch* :tch editing.txt /*:tch*
:tchdir editing.txt /*:tchdir* :tchdir editing.txt /*:tchdir*
:tcl if_tcl.txt /*:tcl* :tcl if_tcl.txt /*:tcl*
@ -3875,10 +3892,12 @@ E101 diff.txt /*E101*
E102 diff.txt /*E102* E102 diff.txt /*E102*
E103 diff.txt /*E103* E103 diff.txt /*E103*
E104 digraph.txt /*E104* E104 digraph.txt /*E104*
E1042 vim9.txt /*E1042*
E105 mbyte.txt /*E105* E105 mbyte.txt /*E105*
E107 eval.txt /*E107* E107 eval.txt /*E107*
E108 eval.txt /*E108* E108 eval.txt /*E108*
E109 eval.txt /*E109* E109 eval.txt /*E109*
E1094 vim9.txt /*E1094*
E11 cmdline.txt /*E11* E11 cmdline.txt /*E11*
E110 eval.txt /*E110* E110 eval.txt /*E110*
E111 eval.txt /*E111* E111 eval.txt /*E111*
@ -4246,12 +4265,14 @@ E448 various.txt /*E448*
E449 eval.txt /*E449* E449 eval.txt /*E449*
E45 message.txt /*E45* E45 message.txt /*E45*
E452 eval.txt /*E452* E452 eval.txt /*E452*
E453 syntax.txt /*E453*
E455 print.txt /*E455* E455 print.txt /*E455*
E456 print.txt /*E456* E456 print.txt /*E456*
E457 print.txt /*E457* E457 print.txt /*E457*
E458 message.txt /*E458* E458 message.txt /*E458*
E459 message.txt /*E459* E459 message.txt /*E459*
E46 message.txt /*E46* E46 message.txt /*E46*
E460 eval.txt /*E460*
E461 eval.txt /*E461* E461 eval.txt /*E461*
E462 editing.txt /*E462* E462 editing.txt /*E462*
E463 netbeans.txt /*E463* E463 netbeans.txt /*E463*
@ -4363,6 +4384,7 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562* E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563* E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564* E564 if_cscop.txt /*E564*
E565 insert.txt /*E565*
E566 if_cscop.txt /*E566* E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567* E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568* E568 if_cscop.txt /*E568*
@ -4374,6 +4396,7 @@ E574 starting.txt /*E574*
E575 starting.txt /*E575* E575 starting.txt /*E575*
E576 starting.txt /*E576* E576 starting.txt /*E576*
E577 starting.txt /*E577* E577 starting.txt /*E577*
E578 insert.txt /*E578*
E579 eval.txt /*E579* E579 eval.txt /*E579*
E580 eval.txt /*E580* E580 eval.txt /*E580*
E581 eval.txt /*E581* E581 eval.txt /*E581*
@ -4675,6 +4698,7 @@ E855 autocmd.txt /*E855*
E858 eval.txt /*E858* E858 eval.txt /*E858*
E859 eval.txt /*E859* E859 eval.txt /*E859*
E86 windows.txt /*E86* E86 windows.txt /*E86*
E861 popup.txt /*E861*
E862 eval.txt /*E862* E862 eval.txt /*E862*
E863 popup.txt /*E863* E863 popup.txt /*E863*
E864 pattern.txt /*E864* E864 pattern.txt /*E864*
@ -4716,6 +4740,7 @@ E897 eval.txt /*E897*
E898 channel.txt /*E898* E898 channel.txt /*E898*
E899 eval.txt /*E899* E899 eval.txt /*E899*
E90 message.txt /*E90* E90 message.txt /*E90*
E900 eval.txt /*E900*
E901 channel.txt /*E901* E901 channel.txt /*E901*
E902 channel.txt /*E902* E902 channel.txt /*E902*
E903 channel.txt /*E903* E903 channel.txt /*E903*
@ -4822,6 +4847,7 @@ E994 eval.txt /*E994*
E995 eval.txt /*E995* E995 eval.txt /*E995*
E996 eval.txt /*E996* E996 eval.txt /*E996*
E997 popup.txt /*E997* E997 popup.txt /*E997*
E998 eval.txt /*E998*
E999 repeat.txt /*E999* E999 repeat.txt /*E999*
EX intro.txt /*EX* EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT* EXINIT starting.txt /*EXINIT*
@ -5042,6 +5068,7 @@ SessionLoad-variable starting.txt /*SessionLoad-variable*
SessionLoadPost autocmd.txt /*SessionLoadPost* SessionLoadPost autocmd.txt /*SessionLoadPost*
ShellCmdPost autocmd.txt /*ShellCmdPost* ShellCmdPost autocmd.txt /*ShellCmdPost*
ShellFilterPost autocmd.txt /*ShellFilterPost* ShellFilterPost autocmd.txt /*ShellFilterPost*
SigUSR1 autocmd.txt /*SigUSR1*
SourceCmd autocmd.txt /*SourceCmd* SourceCmd autocmd.txt /*SourceCmd*
SourcePost autocmd.txt /*SourcePost* SourcePost autocmd.txt /*SourcePost*
SourcePre autocmd.txt /*SourcePre* SourcePre autocmd.txt /*SourcePre*
@ -5433,20 +5460,7 @@ bars help.txt /*bars*
base_font_name_list mbyte.txt /*base_font_name_list* base_font_name_list mbyte.txt /*base_font_name_list*
basic.vim syntax.txt /*basic.vim* basic.vim syntax.txt /*basic.vim*
beep options.txt /*beep* beep options.txt /*beep*
beos-colors os_beos.txt /*beos-colors* beos os_beos.txt /*beos*
beos-compiling os_beos.txt /*beos-compiling*
beos-dragndrop os_beos.txt /*beos-dragndrop*
beos-fonts os_beos.txt /*beos-fonts*
beos-general os_beos.txt /*beos-general*
beos-gui os_beos.txt /*beos-gui*
beos-launch os_beos.txt /*beos-launch*
beos-meta os_beos.txt /*beos-meta*
beos-mouse os_beos.txt /*beos-mouse*
beos-perl os_beos.txt /*beos-perl*
beos-timeout os_beos.txt /*beos-timeout*
beos-unicode os_beos.txt /*beos-unicode*
beos-utf8 os_beos.txt /*beos-utf8*
beos-vimdir os_beos.txt /*beos-vimdir*
better-python-interface version7.txt /*better-python-interface* better-python-interface version7.txt /*better-python-interface*
beval_bufnr-variable eval.txt /*beval_bufnr-variable* beval_bufnr-variable eval.txt /*beval_bufnr-variable*
beval_col-variable eval.txt /*beval_col-variable* beval_col-variable eval.txt /*beval_col-variable*
@ -5785,6 +5799,7 @@ coding-style develop.txt /*coding-style*
col() eval.txt /*col()* col() eval.txt /*col()*
coldfusion.vim syntax.txt /*coldfusion.vim* coldfusion.vim syntax.txt /*coldfusion.vim*
collapse tips.txt /*collapse* collapse tips.txt /*collapse*
collate-variable eval.txt /*collate-variable*
color-xterm syntax.txt /*color-xterm* color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring* coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim* colortest.vim syntax.txt /*colortest.vim*
@ -6124,6 +6139,7 @@ edit-files editing.txt /*edit-files*
edit-intro editing.txt /*edit-intro* edit-intro editing.txt /*edit-intro*
edit-no-break usr_25.txt /*edit-no-break* edit-no-break usr_25.txt /*edit-no-break*
edit-paragraph-join usr_25.txt /*edit-paragraph-join* edit-paragraph-join usr_25.txt /*edit-paragraph-join*
edit-window windows.txt /*edit-window*
editing.txt editing.txt /*editing.txt* editing.txt editing.txt /*editing.txt*
efm-%> quickfix.txt /*efm-%>* efm-%> quickfix.txt /*efm-%>*
efm-entries quickfix.txt /*efm-entries* efm-entries quickfix.txt /*efm-entries*
@ -6324,6 +6340,7 @@ filetype.txt filetype.txt /*filetype.txt*
filetypedetect-changed version6.txt /*filetypedetect-changed* filetypedetect-changed version6.txt /*filetypedetect-changed*
filetypes filetype.txt /*filetypes* filetypes filetype.txt /*filetypes*
filewritable() eval.txt /*filewritable()* filewritable() eval.txt /*filewritable()*
filler-lines windows.txt /*filler-lines*
filter change.txt /*filter* filter change.txt /*filter*
filter() eval.txt /*filter()* filter() eval.txt /*filter()*
find-manpage usr_12.txt /*find-manpage* find-manpage usr_12.txt /*find-manpage*
@ -6346,6 +6363,7 @@ fixed-7.1 version7.txt /*fixed-7.1*
fixed-7.2 version7.txt /*fixed-7.2* fixed-7.2 version7.txt /*fixed-7.2*
fixed-7.3 version7.txt /*fixed-7.3* fixed-7.3 version7.txt /*fixed-7.3*
fixed-7.4 version7.txt /*fixed-7.4* fixed-7.4 version7.txt /*fixed-7.4*
flatten() eval.txt /*flatten()*
flexwiki.vim syntax.txt /*flexwiki.vim* flexwiki.vim syntax.txt /*flexwiki.vim*
float-e eval.txt /*float-e* float-e eval.txt /*float-e*
float-functions usr_41.txt /*float-functions* float-functions usr_41.txt /*float-functions*
@ -6902,6 +6920,7 @@ getjumplist() eval.txt /*getjumplist()*
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install* getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
getline() eval.txt /*getline()* getline() eval.txt /*getline()*
getloclist() eval.txt /*getloclist()* getloclist() eval.txt /*getloclist()*
getmarklist() eval.txt /*getmarklist()*
getmatches() eval.txt /*getmatches()* getmatches() eval.txt /*getmatches()*
getmousepos() eval.txt /*getmousepos()* getmousepos() eval.txt /*getmousepos()*
getpid() eval.txt /*getpid()* getpid() eval.txt /*getpid()*
@ -6909,6 +6928,7 @@ getpos() eval.txt /*getpos()*
getqflist() eval.txt /*getqflist()* getqflist() eval.txt /*getqflist()*
getqflist-examples quickfix.txt /*getqflist-examples* getqflist-examples quickfix.txt /*getqflist-examples*
getreg() eval.txt /*getreg()* getreg() eval.txt /*getreg()*
getreginfo() eval.txt /*getreginfo()*
getregtype() eval.txt /*getregtype()* getregtype() eval.txt /*getregtype()*
getscript pi_getscript.txt /*getscript* getscript pi_getscript.txt /*getscript*
getscript-autoinstall pi_getscript.txt /*getscript-autoinstall* getscript-autoinstall pi_getscript.txt /*getscript-autoinstall*
@ -6979,6 +6999,7 @@ gstar pattern.txt /*gstar*
gt tabpage.txt /*gt* gt tabpage.txt /*gt*
gtk-css gui_x11.txt /*gtk-css* gtk-css gui_x11.txt /*gtk-css*
gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors* gtk-tooltip-colors gui_x11.txt /*gtk-tooltip-colors*
gtk3-slow gui_x11.txt /*gtk3-slow*
gu change.txt /*gu* gu change.txt /*gu*
gugu change.txt /*gugu* gugu change.txt /*gugu*
gui gui.txt /*gui* gui gui.txt /*gui*
@ -7107,6 +7128,7 @@ highlight-changed version4.txt /*highlight-changed*
highlight-cterm syntax.txt /*highlight-cterm* highlight-cterm syntax.txt /*highlight-cterm*
highlight-ctermbg syntax.txt /*highlight-ctermbg* highlight-ctermbg syntax.txt /*highlight-ctermbg*
highlight-ctermfg syntax.txt /*highlight-ctermfg* highlight-ctermfg syntax.txt /*highlight-ctermfg*
highlight-ctermul syntax.txt /*highlight-ctermul*
highlight-default syntax.txt /*highlight-default* highlight-default syntax.txt /*highlight-default*
highlight-font syntax.txt /*highlight-font* highlight-font syntax.txt /*highlight-font*
highlight-groups syntax.txt /*highlight-groups* highlight-groups syntax.txt /*highlight-groups*
@ -7696,6 +7718,7 @@ mapmode-v map.txt /*mapmode-v*
mapmode-x map.txt /*mapmode-x* mapmode-x map.txt /*mapmode-x*
mapping map.txt /*mapping* mapping map.txt /*mapping*
mapping-functions usr_41.txt /*mapping-functions* mapping-functions usr_41.txt /*mapping-functions*
mapset() eval.txt /*mapset()*
mark motion.txt /*mark* mark motion.txt /*mark*
mark-functions usr_41.txt /*mark-functions* mark-functions usr_41.txt /*mark-functions*
mark-motions motion.txt /*mark-motions* mark-motions motion.txt /*mark-motions*
@ -8379,6 +8402,7 @@ popup_findpreview() popup.txt /*popup_findpreview()*
popup_getoptions() popup.txt /*popup_getoptions()* popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()* popup_getpos() popup.txt /*popup_getpos()*
popup_hide() popup.txt /*popup_hide()* popup_hide() popup.txt /*popup_hide()*
popup_list() popup.txt /*popup_list()*
popup_locate() popup.txt /*popup_locate()* popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()* popup_menu() popup.txt /*popup_menu()*
popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example* popup_menu-shortcut-example popup.txt /*popup_menu-shortcut-example*
@ -8539,6 +8563,7 @@ quickfix-title quickfix.txt /*quickfix-title*
quickfix-valid quickfix.txt /*quickfix-valid* quickfix-valid quickfix.txt /*quickfix-valid*
quickfix-window quickfix.txt /*quickfix-window* quickfix-window quickfix.txt /*quickfix-window*
quickfix-window-ID quickfix.txt /*quickfix-window-ID* quickfix-window-ID quickfix.txt /*quickfix-window-ID*
quickfix-window-function quickfix.txt /*quickfix-window-function*
quickfix.txt quickfix.txt /*quickfix.txt* quickfix.txt quickfix.txt /*quickfix.txt*
quickref quickref.txt /*quickref* quickref quickref.txt /*quickref*
quickref.txt quickref.txt /*quickref.txt* quickref.txt quickref.txt /*quickref.txt*
@ -8589,6 +8614,7 @@ read-messages insert.txt /*read-messages*
read-only-share editing.txt /*read-only-share* read-only-share editing.txt /*read-only-share*
read-stdin version5.txt /*read-stdin* read-stdin version5.txt /*read-stdin*
readdir() eval.txt /*readdir()* readdir() eval.txt /*readdir()*
readdirex() eval.txt /*readdirex()*
readfile() eval.txt /*readfile()* readfile() eval.txt /*readfile()*
readline.vim syntax.txt /*readline.vim* readline.vim syntax.txt /*readline.vim*
recording repeat.txt /*recording* recording repeat.txt /*recording*
@ -8597,6 +8623,7 @@ recovery recover.txt /*recovery*
recursive_mapping map.txt /*recursive_mapping* recursive_mapping map.txt /*recursive_mapping*
redo undo.txt /*redo* redo undo.txt /*redo*
redo-register undo.txt /*redo-register* redo-register undo.txt /*redo-register*
reduce() eval.txt /*reduce()*
ref intro.txt /*ref* ref intro.txt /*ref*
reference intro.txt /*reference* reference intro.txt /*reference*
reference_toc help.txt /*reference_toc* reference_toc help.txt /*reference_toc*
@ -8761,6 +8788,7 @@ search-offset pattern.txt /*search-offset*
search-pattern pattern.txt /*search-pattern* search-pattern pattern.txt /*search-pattern*
search-range pattern.txt /*search-range* search-range pattern.txt /*search-range*
search-replace change.txt /*search-replace* search-replace change.txt /*search-replace*
searchcount() eval.txt /*searchcount()*
searchdecl() eval.txt /*searchdecl()* searchdecl() eval.txt /*searchdecl()*
searchforward-variable eval.txt /*searchforward-variable* searchforward-variable eval.txt /*searchforward-variable*
searchpair() eval.txt /*searchpair()* searchpair() eval.txt /*searchpair()*
@ -8851,11 +8879,13 @@ slow-terminal term.txt /*slow-terminal*
socket-interface channel.txt /*socket-interface* socket-interface channel.txt /*socket-interface*
sort() eval.txt /*sort()* sort() eval.txt /*sort()*
sorting change.txt /*sorting* sorting change.txt /*sorting*
sound-functions usr_41.txt /*sound-functions*
sound_clear() eval.txt /*sound_clear()* sound_clear() eval.txt /*sound_clear()*
sound_playevent() eval.txt /*sound_playevent()* sound_playevent() eval.txt /*sound_playevent()*
sound_playfile() eval.txt /*sound_playfile()* sound_playfile() eval.txt /*sound_playfile()*
sound_stop() eval.txt /*sound_stop()* sound_stop() eval.txt /*sound_stop()*
soundfold() eval.txt /*soundfold()* soundfold() eval.txt /*soundfold()*
source-vim9-script usr_46.txt /*source-vim9-script*
space intro.txt /*space* space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing* spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it* spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@ -9119,10 +9149,12 @@ t_%i term.txt /*t_%i*
t_&8 term.txt /*t_&8* t_&8 term.txt /*t_&8*
t_8b term.txt /*t_8b* t_8b term.txt /*t_8b*
t_8f term.txt /*t_8f* t_8f term.txt /*t_8f*
t_8u term.txt /*t_8u*
t_@7 term.txt /*t_@7* t_@7 term.txt /*t_@7*
t_AB term.txt /*t_AB* t_AB term.txt /*t_AB*
t_AF term.txt /*t_AF* t_AF term.txt /*t_AF*
t_AL term.txt /*t_AL* t_AL term.txt /*t_AL*
t_AU term.txt /*t_AU*
t_BD term.txt /*t_BD* t_BD term.txt /*t_BD*
t_BE term.txt /*t_BE* t_BE term.txt /*t_BE*
t_CS term.txt /*t_CS* t_CS term.txt /*t_CS*
@ -9456,6 +9488,7 @@ termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-starting terminal.txt /*termdebug-starting* termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping* termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-variables terminal.txt /*termdebug-variables* termdebug-variables terminal.txt /*termdebug-variables*
termdebug_map_K terminal.txt /*termdebug_map_K*
termdebug_popup terminal.txt /*termdebug_popup* termdebug_popup terminal.txt /*termdebug_popup*
termdebug_shortcuts terminal.txt /*termdebug_shortcuts* termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
termdebug_use_prompt terminal.txt /*termdebug_use_prompt* termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
@ -9493,6 +9526,7 @@ terminal-unix terminal.txt /*terminal-unix*
terminal-use terminal.txt /*terminal-use* terminal-use terminal.txt /*terminal-use*
terminal-window terminal.txt /*terminal-window* terminal-window terminal.txt /*terminal-window*
terminal.txt terminal.txt /*terminal.txt* terminal.txt terminal.txt /*terminal.txt*
terminalprops() eval.txt /*terminalprops()*
terminfo term.txt /*terminfo* terminfo term.txt /*terminfo*
termresponse-variable eval.txt /*termresponse-variable* termresponse-variable eval.txt /*termresponse-variable*
test-functions usr_41.txt /*test-functions* test-functions usr_41.txt /*test-functions*
@ -9549,6 +9583,7 @@ text-prop-changes textprop.txt /*text-prop-changes*
text-prop-functions textprop.txt /*text-prop-functions* text-prop-functions textprop.txt /*text-prop-functions*
text-prop-intro textprop.txt /*text-prop-intro* text-prop-intro textprop.txt /*text-prop-intro*
text-properties textprop.txt /*text-properties* text-properties textprop.txt /*text-properties*
text-property-functions usr_41.txt /*text-property-functions*
textlock eval.txt /*textlock* textlock eval.txt /*textlock*
textprop textprop.txt /*textprop* textprop textprop.txt /*textprop*
textprop.txt textprop.txt /*textprop.txt* textprop.txt textprop.txt /*textprop.txt*
@ -9668,6 +9703,7 @@ usr_42.txt usr_42.txt /*usr_42.txt*
usr_43.txt usr_43.txt /*usr_43.txt* usr_43.txt usr_43.txt /*usr_43.txt*
usr_44.txt usr_44.txt /*usr_44.txt* usr_44.txt usr_44.txt /*usr_44.txt*
usr_45.txt usr_45.txt /*usr_45.txt* usr_45.txt usr_45.txt /*usr_45.txt*
usr_46.txt usr_46.txt /*usr_46.txt*
usr_90.txt usr_90.txt /*usr_90.txt* usr_90.txt usr_90.txt /*usr_90.txt*
usr_toc.txt usr_toc.txt /*usr_toc.txt* usr_toc.txt usr_toc.txt /*usr_toc.txt*
utf-8 mbyte.txt /*utf-8* utf-8 mbyte.txt /*utf-8*
@ -9689,6 +9725,7 @@ v:charconvert_from eval.txt /*v:charconvert_from*
v:charconvert_to eval.txt /*v:charconvert_to* v:charconvert_to eval.txt /*v:charconvert_to*
v:cmdarg eval.txt /*v:cmdarg* v:cmdarg eval.txt /*v:cmdarg*
v:cmdbang eval.txt /*v:cmdbang* v:cmdbang eval.txt /*v:cmdbang*
v:collate eval.txt /*v:collate*
v:completed_item eval.txt /*v:completed_item* v:completed_item eval.txt /*v:completed_item*
v:count eval.txt /*v:count* v:count eval.txt /*v:count*
v:count1 eval.txt /*v:count1* v:count1 eval.txt /*v:count1*
@ -9887,6 +9924,7 @@ val-variable eval.txt /*val-variable*
valgrind debug.txt /*valgrind* valgrind debug.txt /*valgrind*
values() eval.txt /*values()* values() eval.txt /*values()*
var-functions usr_41.txt /*var-functions* var-functions usr_41.txt /*var-functions*
variable-scope eval.txt /*variable-scope*
variables eval.txt /*variables* variables eval.txt /*variables*
various various.txt /*various* various various.txt /*various*
various-cmds various.txt /*various-cmds* various-cmds various.txt /*various-cmds*
@ -9959,11 +9997,16 @@ vim-variable eval.txt /*vim-variable*
vim.vim syntax.txt /*vim.vim* vim.vim syntax.txt /*vim.vim*
vim7 version7.txt /*vim7* vim7 version7.txt /*vim7*
vim8 version8.txt /*vim8* vim8 version8.txt /*vim8*
vim9 vim9.txt /*vim9*
vim9-declaration vim9.txt /*vim9-declaration*
vim9-declarations usr_46.txt /*vim9-declarations*
vim9-differences vim9.txt /*vim9-differences* vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export* vim9-export vim9.txt /*vim9-export*
vim9-import vim9.txt /*vim9-import* vim9-import vim9.txt /*vim9-import*
vim9-rationale vim9.txt /*vim9-rationale* vim9-rationale vim9.txt /*vim9-rationale*
vim9-scopes vim9.txt /*vim9-scopes*
vim9-script vim9.txt /*vim9-script* vim9-script vim9.txt /*vim9-script*
vim9-script-intro usr_46.txt /*vim9-script-intro*
vim9-types vim9.txt /*vim9-types* vim9-types vim9.txt /*vim9-types*
vim9.txt vim9.txt /*vim9.txt* vim9.txt vim9.txt /*vim9.txt*
vim9script vim9.txt /*vim9script* vim9script vim9.txt /*vim9script*

View File

@ -322,6 +322,7 @@ OUTPUT CODES *terminal-output-codes*
t_ZR italics end *t_ZR* *'t_ZR'* t_ZR italics end *t_ZR* *'t_ZR'*
Added by Vim (there are no standard codes for these): 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_Ce undercurl end *t_Ce* *'t_Ce'*
t_Cs undercurl mode *t_Cs* *'t_Cs'* t_Cs undercurl mode *t_Cs* *'t_Cs'*
t_Te strikethrough end *t_Te* *'t_Te'* 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| |xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'* t_8b set background color (R, G, B) *t_8b* *'t_8b'*
|xterm-true-color| |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'* t_BE enable bracketed paste mode *t_BE* *'t_BE'*
|xterm-bracketed-paste| |xterm-bracketed-paste|
t_BD disable bracketed paste mode *t_BD* *'t_BD'* 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 Jun 06
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -113,14 +113,15 @@ sent to the job running in the terminal. For example, to make F1 switch
to Terminal-Normal mode: > to Terminal-Normal mode: >
tnoremap <F1> <C-W>N tnoremap <F1> <C-W>N
You can use Esc, but you need to make sure it won't cause other keys to You can use Esc, but you need to make sure it won't cause other keys to
break (cursor keys start with an Esc, so they may break): > break (cursor keys start with an Esc, so they may break), this probably only
works in the GUI: >
tnoremap <Esc> <C-W>N tnoremap <Esc> <C-W>N
set notimeout ttimeout timeoutlen=100 set notimeout ttimeout timeoutlen=100
You can also create menus similar to terminal mode mappings, but you have to You can also create menus similar to terminal mode mappings, but you have to
use |:tlmenu| instead of |:tmenu|. use |:tlmenu| instead of |:tmenu|.
< *options-in-terminal* *options-in-terminal*
After opening the terminal window and setting 'buftype' to "terminal" the After opening the terminal window and setting 'buftype' to "terminal" the
TerminalOpen autocommand event is triggered. This makes it possible to set TerminalOpen autocommand event is triggered. This makes it possible to set
options specifically for the window and buffer. Example: > options specifically for the window and buffer. Example: >
@ -161,6 +162,7 @@ terminal windows may be configured using the variable
hexadecimal color codes, similar to those accepted by |highlight-guifg|. When 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 not using GUI colors, the terminal window always uses the 16 ANSI colors of
the underlying terminal. 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 The |term_setansicolors()| function can be used to change the colors, and
|term_getansicolors()| to get the currently used colors. |term_getansicolors()| to get the currently used colors.
@ -183,6 +185,10 @@ Command syntax ~
keep the terminal open in Terminal-Normal mode. This keep the terminal open in Terminal-Normal mode. This
can be changed with the ++close argument. 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 A new buffer will be created, using [command] or
'shell' as the name, prefixed with a "!". If a buffer 'shell' as the name, prefixed with a "!". If a buffer
by this name already exists a number is added in by this name already exists a number is added in
@ -1301,7 +1307,7 @@ breakpoint, or use the "Clear breakpoint" right-click menu entry.
Inspecting variables ~ Inspecting variables ~
*termdebug-variables* *:Evaluate* *termdebug-variables* *:Evaluate*
`:Evaluate` evaluate the expression under the cursor `:Evaluate` evaluate the expression under the cursor
`K` same `K` same (see |termdebug_map_K| to disable)
`:Evaluate` {expr} evaluate {expr} `:Evaluate` {expr} evaluate {expr}
`:'<,'>Evaluate` evaluate the Visually selected text `:'<,'>Evaluate` evaluate the Visually selected text
@ -1332,6 +1338,10 @@ in a buffer with 'buftype' set to "prompt". This works slightly differently:
*termdebug_use_prompt* *termdebug_use_prompt*
Prompt mode can be used even when the |+terminal| feature is present with: > Prompt mode can be used even when the |+terminal| feature is present with: >
let g:termdebug_use_prompt = 1 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 ~ Communication ~

View File

@ -1,4 +1,4 @@
*testing.txt* For Vim version 8.2. Last change: 2020 Apr 10 *testing.txt* For Vim version 8.2. Last change: 2020 Jun 15
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -165,6 +165,10 @@ test_override({name}, {val}) *test_override()*
terminals terminals
no_wait_return set the "no_wait_return" flag. Not restored no_wait_return set the "no_wait_return" flag. Not restored
with "ALL". with "ALL".
ui_delay time in msec to use in ui_delay(); overrules a
wait time of up to 3 seconds for messages
term_props reset all terminal properties when the version
string is detected
ALL clear all overrides ({val} is not used) ALL clear all overrides ({val} is not used)
"starting" is to be used when a test should behave like "starting" is to be used when a test should behave like
@ -263,9 +267,8 @@ assert_equal({expected}, {actual} [, {msg}])
Can also be used as a |method|: > Can also be used as a |method|: >
mylist->assert_equal([1, 2, 3]) mylist->assert_equal([1, 2, 3])
< *assert_equalfile()* < *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 When the files {fname-one} and {fname-two} do not contain
exactly the same text an error message is added to |v:errors|. exactly the same text an error message is added to |v:errors|.
Also see |assert-return|. Also see |assert-return|.
@ -276,7 +279,6 @@ assert_equalfile({fname-one}, {fname-two})
Can also be used as a |method|: > Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log') GetLog()->assert_equalfile('expected.log')
assert_exception({error} [, {msg}]) *assert_exception()* assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error When v:exception does not contain the string {error} an error
message is added to |v:errors|. Also see |assert-return|. 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_add({name}, {props}) define a new property type
prop_type_change({name}, {props}) change an existing property type prop_type_change({name}, {props}) change an existing property type
prop_type_delete({name} [, {props}]) delete a 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 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}]]) prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
remove all text properties remove all text properties
prop_find({props} [, {direction}]) search for a text property 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}]]) prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property remove a text property
@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
Can also be used as a |method|: > Can also be used as a |method|: >
GetPropName()->prop_type_delete() 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 Returns the properties of property type {name}. This is a
dictionary with the same fields as was given to dictionary with the same fields as was given to
prop_type_add(). 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 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,40 +38,66 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Include src/po/vim.pot ?
See if resizing a terminal can be fixed.
Vim9 script: Vim9 script:
more tests for # comments: Making everything work:
check all calls to ends_excmd() and test that space before # is needed. - Error for "g:var: string = 'value'"
next: ex_findpat() - Make func()->append('$') work - value is last argument, not first. #6305
func and partial types: - possible memory leak in test_vim9_func through compile_nested_function.
- Calling unknown user function does not give proper error message: - memory leaks in test_vim9_expr
assert_equal('123text', RefDef2Arg()) typo for "RetDef2Arg" - memory leaks in test_vim9_script
- "func" inside "vim9script" doesn't work? (Ben Jackson, #5670) - more return types depending on the first argument, like sort().
- :func inside vim9script must still use a:arg - Check that when sourcing a Vim9 script, only the global items can be used.
- define function and create funcref in one step: - Make "true" and "false" work in vim9script
let ref = def(arg: type): rettype
body
enddef
- Test that a script-local function in Vim9 script cannot be deleted.
- Test that a function defined inside a :def function is local to that - 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 function, g: functions can be defined and script-local functions cannot be
defined. defined.
Also: - make 0 == 'string' fail on the script level, like inside :def.
- When wildcards are expanded, find `=expr` and evaluate it before invoking - Check that when using a user function name without prefix, it does not find
the command. For example: :edit `=filename` a global function. Prefixing g: is required.
- 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?
- Implement "as Name" in "import Item as Name from ..."
- 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. - "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 Test:
compiled. - Using a Vim9 autoload script (functions must be global).
Also:
- For range: make table of first ASCII character with flag to quickly check if - 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. it can be a Vim9 command. E.g. "+" can, but "." can't.
- better implementation for partial and tests for that. - better implementation for partial and tests for that.
- Make "g:imported = Export.exported" work in Vim9 script. - Make "g:imported = Export.exported" work in Vim9 script.
- Make Foo.Bar() work to call the dict function. (#5676) - 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. - Error in any command in "vim9script" aborts sourcing.
- Find a way to test expressions in legacy and Vim9 script without duplication - Find a way to test expressions in legacy and Vim9 script without duplication
- Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script - Fix memory leaks for test_vim9_disassemble, test_vim9_expr, test_vim9_script
@ -90,9 +116,22 @@ Also:
- implement class - implement class
- implement interface - implement interface
- predefined class: Promise<T> - predefined class: Promise<T>
- implement enum
- Make accessing varargs faster: arg[expr] - Make accessing varargs faster: arg[expr]
EVAL expr EVAL expr
LOADVARARG (varags idx) 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: Popup windows:
- With some sequence get get hidden finished terminal buffer. (#5768) - With some sequence get get hidden finished terminal buffer. (#5768)
@ -120,8 +159,6 @@ Popup windows:
- Figure out the size and position better if wrapping inserts indent - Figure out the size and position better if wrapping inserts indent
Text properties: Text properties:
- Patch to fix that split / join does not update properties properly (Axel
Forsman, #5839) Alternative: #5875.
- :goto does not go to the right place when test properties are present. - :goto does not go to the right place when test properties are present.
(#5930) (#5930)
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763) - "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
@ -163,12 +200,17 @@ Terminal debugger:
with another Vim instance. with another Vim instance.
Terminal emulator window: Terminal emulator window:
- No support for underline color, t_8u.
- When started with ":terminal ++close" and the shell exits but there is a - When started with ":terminal ++close" and the shell exits but there is a
background process, the window remains open, because the channel still background process, the window remains open, because the channel still
exists (and output still shows). Perhaps close the window when an explicit exists (and output still shows). Perhaps close the window when an explicit
++close was used? (#5931) ++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 - 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 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 And use modeless selection. #2962
- Use CTRL-W CTRL-K to enter a digraph? #5371 - Use CTRL-W CTRL-K to enter a digraph? #5371
- When Vim runs in the terminal and changes the title, the statusline needs to - When Vim runs in the terminal and changes the title, the statusline needs to
@ -198,8 +240,27 @@ Terminal emulator window:
conversions. conversions.
Error numbers available: Error numbers available:
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653, E489, E610, E611, E653, E856
E856, E857, E861, E900
Remove SPACE_IN_FILENAME ? It is only used for completion.
Patch to use collaction based sorting. (Christian Brabandt, #6229)
Can we detect true color support? https://gist.github.com/XVilka/8346728
Try setting a color then request the current color, like using t_u7.
Check out PR #543 (Roland Puntaier).
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
a copy-buffer, only when langmap is appropriate for the current mode. Then
check for mapping and let gotchars() work on the copy-buffer.
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing.
Also see #737: langmap not applied to replaying recording.
Buffer autocommands are a bit inconsistent. Add a separate set of Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle: autocommands for the buffer lifecycle:
@ -210,45 +271,54 @@ autocommands for the buffer lifecycle:
BufIsRenamed (after buffer ID gets another name) BufIsRenamed (after buffer ID gets another name)
The buffer list and windows are locked, no changes possible The buffer list and windows are locked, no changes possible
How about removing Atari MiNT support?
src/Make_mint.mak, src/os_mint.h, matches with __MINT__
Patch to make :q work with local arglist. (Christian Brabandt, #6286)
Patch to fix drawing error with DirectX. (James Grant, #5688) Patch to fix drawing error with DirectX. (James Grant, #5688)
Causes flicker on resizing. Causes flicker on resizing. Workaround from Ken Takata.
How about only setting the attribute when part of the Vim window is offscreen?
Patch to support ipv6 for channel. (Ozaki Kiichi, #5893)
Patch to explain use of "%" in :!. (David Briscoe, #5591)
Patch to improve Windows terminal support. (Nobuhiro Takasaki, #5546)
Ready to include.
Patch to add "-d" to xxd. (#5616)
Patch to add Turkish manual. (Emir Sarı, #5641)
Patch to support cindent option to handle pragmas differently.
(Max Rumpf, #5468)
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733) 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 "make test_gui" crashed in submenu_change(). Fix and remove workaround in
manager. Problem with Motif? Now test_gui crashes in submenu_change(). add_pixmap_args().
Athena is OK. Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields. 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?
Patch to properly break CJK lines: Anton Kochkov, #3875 Patch to add :argdedupe. (Nir Lichtman, #6235)
Flag in 'formatoptions' is not used in the tests.
Patch to add 'vtp' option. (#5344) :map output does not clear the reset of the command line.
Needs better docs. Is there a better name? (#5623, also see #5962)
Problem with auto-formatting - inserting space and putting cursor before added
character. (#6154)
undo result wrong: Masato Nishihata, #4798 undo result wrong: Masato Nishihata, #4798
Patch for Template string: #4491. New pull: #4634
Ready to include? Review the code.
When 'lazyredraw' is set sometimes the title is not updated. When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition. (Jason Franklin, 2020 Feb 3) Looks like a race condition.
Patch to delete BeOS code. (#5817) Regexp to search for duplicate lines does not work correctly:
/\(^.*\n\)\1 (Chris Morgan, #6239)
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. Strange sequence of BufWipeout and BufNew events while doing omni-complete.
(Paul Jolly, #5656) (Paul Jolly, #5656)
@ -260,19 +330,21 @@ Get BufDelete without preceding BufNew. (Paul Jolly, #5694)
BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655) BufWinenter event not fired when saving unnamed buffer. (Paul Jolly, #5655)
Another spurious BufDelete. (Dani Dickstein, #5701) Another spurious BufDelete. (Dani Dickstein, #5701)
Patch to add function to return the text used in the quickfix window. Wrong error when using local arglist. (Harm te Hennepe, #6133)
(Yegappan, #5465)
Patch to add readdirex() (Ken Takata, #5619)
Request to support <Cmd> in mappings, similar to how Neovim does this. Request to support <Cmd> in mappings, similar to how Neovim does this.
(Daniel Hahler, #4784) (Daniel Hahler, #4784)
Test loose_clipboard() by selecting text before suspending.
Undo puts cursor in wrong line after "cG<Esc>" undo. Undo puts cursor in wrong line after "cG<Esc>" undo.
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
Dec 19) Dec 19)
Patch to add an option to enable/disable VTP. (Nobuhiro Takasaki, #5344)
Should have three values: empty, "off", "on". Name it 'winterm'?
Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019 Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
May 20) May 20)
Also put :argadd commands at the start for all buffers, so that their order Also put :argadd commands at the start for all buffers, so that their order
@ -283,9 +355,6 @@ Also #5326: netrw buffers are not restored.
When 'backupdir' has a path ending in double slash (meaning: use full path of When 'backupdir' has a path ending in double slash (meaning: use full path of
the file) combined with 'patchmode' the file name is wrong. (#5791) the file) combined with 'patchmode' the file name is wrong. (#5791)
Patch to make ":verbose pwd" show the scope of the directory. (Takuya
Fujiwara, #5469)
Completion mixes results from the current buffer with tags and other files. Completion mixes results from the current buffer with tags and other files.
Happens when typing CTRL-N while still searching for results. E.g., type "b_" Happens when typing CTRL-N while still searching for results. E.g., type "b_"
in terminal.c and then CTRL-N twice. in terminal.c and then CTRL-N twice.
@ -295,19 +364,13 @@ Should do current file first and not split it up when more results are found.
Undo history wrong when ":next file" re-uses a buffer. (#5426) Undo history wrong when ":next file" re-uses a buffer. (#5426)
ex_next() should pass flag to do_argfile(), then to do_ecmd(). ex_next() should pass flag to do_argfile(), then to do_ecmd().
Patch to add "note" type to quickfix. (#5527) Missing tests. Help for ":argadd fname" says that if "fname" is already in the argument list
that entry is used. But instead it's always added. (#6210)
Add flag AL_FIND_ADD, if there is one argument find it in the list.
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow. Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087) (#4087)
FR: add search_status(), the current values displayed for search (current
match, total matches). (#5631)
Patch to provide search stats in a variable, so that it can be used in the
statusline. (Fujiwara Takuya, #4446)
Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)
behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker, behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
#5771) #5771)
@ -315,10 +378,15 @@ behavior of i_CTRl-R_CTRL-R differs from documentation. (Paul Desmond Parker,
goes to any buffer, and then :bnext skips help buffers, since they are goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478) unlisted. (#4478)
Patch to include reduce() function. (#5481) Patch for Template string: #4634
Copies the text twice, not very efficient. Requires a separate implementation
for Vim9 script, compiling the string parts and expressions.
Statusline highlighting error, off by one. (#5599) Statusline highlighting error, off by one. (#5599)
":find" with 'path' set to "data*" does not find files, while completion does
find them. (Max Kukartsev, #6218)
Enable 'termbidi' if $VTE_VERSION >= 5703 ? Enable 'termbidi' if $VTE_VERSION >= 5703 ?
Universal solution to detect if t_RS is working, using cursor position. Universal solution to detect if t_RS is working, using cursor position.
@ -331,15 +399,16 @@ Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
The :syntax cchar value can only be a single character. It would be useful to The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687 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) "--cleanFOO" does not result in an error. (#5537)
Output from assert_equalfile() doesn't give a hint about what's different.
Assuming the files are text, print the line with the difference.
Add "t" action to settagstack(): truncate and add new entries. (#5405) 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) Result of synID() sometimes wrong in help files. (#5252)
Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496) Status line is nut updated when splitting windows. (Marcin Szamotulski, #5496)
@ -354,7 +423,7 @@ When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994) with packages under "start". (xtal8, #1994)
Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320) Patch to add new motion ]( and ]{. (Yasuhiro Matsumoto, #5320)
Or make "v" prefix work? Better: use the "z" prefix. or ]t) and [t(.
Modeless selection doesn't work in gvim. (#4783) Modeless selection doesn't work in gvim. (#4783)
Caused by patch 8.1.1534. Caused by patch 8.1.1534.
@ -362,8 +431,7 @@ Caused by patch 8.1.1534.
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
fit. (Kevin Lawler, #4457) fit. (Kevin Lawler, #4457)
Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd Current position in the changelist should be local to the buffer. (#2173)
-". (Yegappan Lakshmanan, #4362)
Does not build with MinGW out of the box: Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h - _stat64 is not defined, need to use "struct stat" in vim.h
@ -375,14 +443,6 @@ Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
Display messed up with matchparen, wrapping and scrolling. (#5638) Display messed up with matchparen, wrapping and scrolling. (#5638)
Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
Patch to support "0o" for octal numbers. (Ken Takata, #5304)
Patch to enable IXON, avoid that CTRL-S stops terminal output. (#5775)
When getting a focus event halfway a mapping this aborts the mapping. E.g. When getting a focus event halfway a mapping this aborts the mapping. E.g.
when "qq" is mapped and after the first "q" the mouse is moved outside of the when "qq" is mapped and after the first "q" the mouse is moved outside of the
gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the
@ -411,21 +471,12 @@ Can be used to update highlighting. #3127 #5181
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909) Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12) Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer> Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>.
Better use ":bufgrep" ?
Errors found with random data: Errors found with random data:
heap-buffer-overflow in alist_add (#2472) heap-buffer-overflow in alist_add (#2472)
Patch to support CamelCase for spell checking: See a lower-to-upper case
change as a word boundary. (btucker-MPCData, 2016 Nov 6, #1235)
patch for 'spellcamelcase' option: spellcheck each CamelCased word.
(Ben Tucker, 2016 Dec 2)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
Improve fallback for menu translations, to avoid having to create lots of Improve fallback for menu translations, to avoid having to create lots of
files that source the actual file. E.g. menu_da_de -> menu_da files that source the actual file. E.g. menu_da_de -> menu_da
Include part of #3242? Include part of #3242?
@ -441,18 +492,6 @@ Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg, window 2. User expects 10 to be added to size of window 2. (Daniel Steinberg,
#5443) #5443)
Patch for multi-byte characters in langmap and applying a mapping on them.
(Christian Brabandt, 2015 Jun 12, update July 25)
Is this the right solution? Need to cleanup langmap behavior:
- in vgetorpeek() apply langmap to the typeahead buffer and put the result in
a copy-buffer, only when langmap is appropriate for the current mode. Then
check for mapping and let gotchars() work on the copy-buffer.
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on PR #543 (Roland Puntaier).
Also see #737: langmap not applied to replaying recording.
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
t:diffexpr_option t:diffopt_option? (#4782) t:diffexpr_option t:diffopt_option? (#4782)
@ -482,10 +521,10 @@ Give a few examples. (#4288)
Opening a file with --remote-tab-silent that matches 'wildignore' does not Opening a file with --remote-tab-silent that matches 'wildignore' does not
work, results in (E479: No match". (#4610) work, results in (E479: No match". (#4610)
Patch for this (Tristan Konolige, #1011, only adds the option, no implem.):
7 Add an option to add one pixel column to the character width? Lucida 7 Add an option to add one pixel column to the character width? Lucida
Console italic is wider than the normal font ("d" overlaps with next char). Console italic is wider than the normal font ("d" overlaps with next char).
Opposite of 'linespace': 'columnspace'. Opposite of 'linespace': 'columnspace'.
Patch for this (Tristan Konolige, #1011, only added the option, no implem.)
Bug: script written with "-W scriptout" contains Key codes, while the script Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
@ -538,10 +577,6 @@ Should we include some part of pull request #4505, not increment changedtick
in some cases? E.g. for ":write" when the changed flag was already off, the in some cases? E.g. for ":write" when the changed flag was already off, the
buffer didn't change at all. buffer didn't change at all.
Patch to add getreginfo() and setreg() with an option to set the unnamed
register "", So that registers can be saved and fully restored.
(Andy Massimino, 2018 Aug 24, #3370)
Line numbers in profile are off when function was defined with ":execute". Line numbers in profile are off when function was defined with ":execute".
(Daniel Hahler, #4511) (Daniel Hahler, #4511)
@ -562,9 +597,6 @@ C syntax: {} inside () causes following {} to be highlighted as error.
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
added? added?
Patch to add a flatten() function. #3676. Check that the doc explains the
maxdepth argument (applies to the input "recursiveness").
Add test for urxvt mouse codes. Also test that mouse coordinates can be Add test for urxvt mouse codes. Also test that mouse coordinates can be
negative. (see #4326) negative. (see #4326)
@ -635,11 +667,6 @@ punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550). ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
Patch to add more info to OptionSet. Should mention what triggered the change
":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
#4118. Proposed implementation: 2019 Mar 27.
Updated 2019 May 25.
Using single wide base character with double wide composing character gives Using single wide base character with double wide composing character gives
drawing errors. Fill up the base character? (Dominique, #4328) drawing errors. Fill up the base character? (Dominique, #4328)
@ -690,26 +717,13 @@ Neovim uses "eob:X" in 'fillchars'.
Sourceforge Vim pages still have content, redirect from empty page. Sourceforge Vim pages still have content, redirect from empty page.
Check for PHP errors. (Wayne Davison, 2018 Oct 26) Check for PHP errors. (Wayne Davison, 2018 Oct 26)
Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
Use something like ":tag {kind}/{tagname}".
Not ready to include.
Problem with Visual yank when 'linebreak' and 'showbreak' are set. Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018 Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look. Nov 17) Asked about this, Dec 22. Christian will have a look.
Patch for larger icons in installer. (#978) Still not good.
Patch to fix that using "5gj" starting inside a closed fold does not work on Patch to fix that using "5gj" starting inside a closed fold does not work on
screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test. screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
Patch to implement 'diffref' option. (#3535)
Easier to use a 'diffmaster' option, is the extra complexity needed?
Not ready to include.
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
Patch #2405 does something like this, but in the wrong way.
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9) home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
When the status line uses term_gettitle(), it does not get updated when the When the status line uses term_gettitle(), it does not get updated when the
@ -737,7 +751,7 @@ Further xdiff changes:
Difference between two regexp engines: #3373 Difference between two regexp engines: #3373
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639) Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
What is the practical use for this? What is the practical use for this? Need an example.
When the last line wraps, selecting with the mouse below that line only When the last line wraps, selecting with the mouse below that line only
includes the first screen line. (2018 Aug 23, #3368) includes the first screen line. (2018 Aug 23, #3368)
@ -761,8 +775,6 @@ when adding a sign for every quickfix entry. (#4557)
Win32 key codes are messy. Mike Williams tried to fix that, but now old Win32 key codes are messy. Mike Williams tried to fix that, but now old
mappings no longer work. Create a new terminal for the better solution? mappings no longer work. Create a new terminal for the better solution?
Patch to "fix" 'visualbell'. Add option to set delay? (#1789)
Script generated by :mksession does not work well if there are windows with Script generated by :mksession does not work well if there are windows with
modified buffers modified buffers
change "silent only" into "silent only!" change "silent only" into "silent only!"
@ -852,9 +864,6 @@ deleting autocmds, not when adding them.
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529) Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
Delete all the specific stuff for the Borland compiler? (#3374)
Patch in #3377 (Thomas Dziedzic)
With 'foldmethod' "indent" and appending an empty line, what follows isn't With 'foldmethod' "indent" and appending an empty line, what follows isn't
included in the existing fold. Deleting the empty line and undo fixes it. included in the existing fold. Deleting the empty line and undo fixes it.
(Oleg Koshovetc, 2018 Jul 15, #3214) (Oleg Koshovetc, 2018 Jul 15, #3214)
@ -1019,6 +1028,7 @@ The ":move" command does not honor closed folds. (Ryan Lue, #2351)
Patch to fix increment/decrement not working properly when 'virtualedit' is Patch to fix increment/decrement not working properly when 'virtualedit' is
set. (Hirohito Higashi, 2016 Aug 1, #923) set. (Hirohito Higashi, 2016 Aug 1, #923)
Was this fixed?
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300) Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
@ -1088,8 +1098,6 @@ Or is this not an actual problem?
Better TeX indent file. (Christian Brabandt, 2017 May 3) Better TeX indent file. (Christian Brabandt, 2017 May 3)
Patch to use a separate code for BS on Windows. (Linwei, #1823)
Use gvimext.dll from the nightly build? (Issue #249) Use gvimext.dll from the nightly build? (Issue #249)
'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31, 'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
@ -1198,13 +1206,6 @@ Implement named arguments for functions:
Add a command to take a range of lines, filter them and put the output Add a command to take a range of lines, filter them and put the output
somewhere else. :{range}copy {dest} !cmd somewhere else. :{range}copy {dest} !cmd
Patch to fix that empty first tab is not in session.
(Hirohito Higashi, 2016 Nov 25, #1282)
Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
Update Aug 2017: #1954
The TermResponse event is not triggered when a plugin has set 'eventignore' to The TermResponse event is not triggered when a plugin has set 'eventignore' to
"all". Netrw does this. (Gary Johnson, 2017 Jan 24) "all". Netrw does this. (Gary Johnson, 2017 Jan 24)
Postpone the event until 'eventignore' is reset. Postpone the event until 'eventignore' is reset.
@ -1280,6 +1281,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 - 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 available. Should be more efficient than looping over ch_read() with
ch_status() to check for more. 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 - 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) msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026) - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@ -1366,11 +1369,6 @@ Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
3. Doesn't work properly according to Yukihiro Nakadaira. 3. Doesn't work properly according to Yukihiro Nakadaira.
Also see #1635. Also see #1635.
Patch for systemlist(), add empty item. (thinca, Sep 30, #1135)
Add an argument to choose binary or non-binary (like readfile()), when omitted
use the current behavior.
Include the test.
When 'keywordprg' starts with ":" the argument is still escaped as a shell When 'keywordprg' starts with ":" the argument is still escaped as a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175) command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
@ -1380,9 +1378,6 @@ Probably list of keystrokes, with some annotations for mode changes.
Could store in logfile to be able to analyse it with an external command. Could store in logfile to be able to analyse it with an external command.
E.g. to see when's the last time a plugin command was used. E.g. to see when's the last time a plugin command was used.
execute() cannot be used with command completion. (Daniel Hahler, 2016 Oct 1,
#1141)
cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983) cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
:map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816) :map X may print invalid data. (Nikolay Pavlov, 2017 Jul 3, #1816)
@ -1395,17 +1390,11 @@ synced. (Ryan Carney, 2016 Sep 14)
Syntax highlighting for messages with RFC3339 timestamp (#946) Syntax highlighting for messages with RFC3339 timestamp (#946)
Did maintainer reply? Did maintainer reply?
Patch to avoid problem with special characters in file name.
(Shougo, 2016 Sept 19, #1099) Not finished?
ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19) ml_get errors when reloading file. (Chris Desjardins, 2016 Apr 19)
Also with latest version. Also with latest version.
Cannot delete a file with square brackets with delete(). (#696) 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 Completion for input() does not expand environment variables. (chdiza, 2016
Jul 25, #948) Jul 25, #948)
@ -1419,9 +1408,6 @@ the system encoding (usually utf-8).
MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c? MS-Windows: use WS_HIDE instead of SW_SHOWMINNOACTIVE in os_win32.c?
Otherwise task flickers in taskbar. Otherwise task flickers in taskbar.
Should make ":@r" handle line continuation. (Cesar Romani, 2016 Jun 26)
Also for ":@.".
Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925) Repeating 'opfunc' in a function only works once. (Tarmean, 2016 Jul 15, #925)
Have a way to get the call stack, in a function and from an exception. Have a way to get the call stack, in a function and from an exception.
@ -1436,8 +1422,6 @@ Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
Patch to improve map documentation. Issue #799. Patch to improve map documentation. Issue #799.
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
We can use '. to go to the last change in the current buffer, but how about We can use '. to go to the last change in the current buffer, but how about
the last change in any buffer? Can we use ', (, is next to .)? the last change in any buffer? Can we use ', (, is next to .)?
@ -1494,11 +1478,6 @@ Mechelynck) Perhaps use exists("::tearoff") to check?
Use vim.vim syntax highlighting for help file examples, but without ":" in Use vim.vim syntax highlighting for help file examples, but without ":" in
'iskeyword' for syntax. 'iskeyword' for syntax.
Patch to make "%:h:h" return "." instead of the full path.
(Coot, 2016 Jan 24, #592)
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
When command names are very long :command output is difficult to read. Use a When command names are very long :command output is difficult to read. Use a
maximum for the column width? (#871) maximum for the column width? (#871)
Patcy by varmanishant, 2016 Jun 18, #876 Patcy by varmanishant, 2016 Jun 18, #876
@ -2093,11 +2072,6 @@ Vim using lots of memory when joining lines. (John Little, 2010 Dec 3)
BT regexp engine: After trying a \@> match and failing, submatches are not BT regexp engine: After trying a \@> match and failing, submatches are not
cleared. See test64. cleared. See test64.
Patch to make "z=" work when 'spell' is off. Does this have nasty side
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
Would also need to do this for spellbadword() and spellsuggest().
https://github.com/chrisbra/vim-mq-patches/blob/master/enable_spellchecking
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the 64 bits value. Change all number options to use nropt_T and define it to the
right type. right type.
@ -2116,9 +2090,6 @@ doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19) Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
maparg() does not show the <script> flag. When temporarily changing a
mapping, how to restore the script ID?
Bug in try/catch: return with invalid compare throws error that isn't caught. Bug in try/catch: return with invalid compare throws error that isn't caught.
(ZyX, 2011 Jan 26) (ZyX, 2011 Jan 26)
@ -4899,9 +4870,6 @@ Win32 GUI:
GUI: GUI:
8 Make inputdialog() work for Photon, Amiga.
- <C--> cannot be mapped. Should be possible to recognize this as a
normal "-" with the Ctrl modifier.
7 Implement ":popup" for other systems than Windows. 7 Implement ":popup" for other systems than Windows.
8 Implement ":tearoff" for other systems than Win32 GUI. 8 Implement ":tearoff" for other systems than Win32 GUI.
6 Implement ":untearoff": hide a torn-off menu. 6 Implement ":untearoff": hide a torn-off menu.

View File

@ -211,7 +211,7 @@ will automatically delete it:
- The flag that the file was modified is not set. - The flag that the file was modified is not set.
- The process is not running. - The process is not running.
You can programatically deal with this situation with the |FileChangedShell| You can programmatically deal with this situation with the |FileChangedShell|
autocommand event. autocommand event.

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 13
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@ -41,6 +41,12 @@ 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 specific file type. A complicated macro can be defined by a separate Vim
script file. You can think of other uses yourself. script file. You can think of other uses yourself.
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
And if you are familiar with Javascript:
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
Let's start with a simple example: > Let's start with a simple example: >
:let i = 1 :let i = 1
@ -93,6 +99,8 @@ and the value of the variable i. Since i is one, this will print:
Then there is the ":let i += 1" command. This does the same thing as Then there is the ":let i += 1" command. This does the same thing as
":let i = i + 1". This adds one to the variable i and assigns the new value ":let i = i + 1". This adds one to the variable i and assigns the new value
to the same variable. to the same variable.
Note: this is how it works in legacy Vim script, which is what we discuss in
this file. In Vim9 script it's a bit different, see |usr_46.txt|.
The example was given to explain the commands, but would you really want to The example was given to explain the commands, but would you really want to
make such a loop, it can be written much more compact: > make such a loop, it can be written much more compact: >
@ -631,6 +639,7 @@ List manipulation: *list-functions*
deepcopy() make a full copy of a List deepcopy() make a full copy of a List
filter() remove selected items from a List filter() remove selected items from a List
map() change each List item map() change each List item
reduce() reduce a List to a value
sort() sort a List sort() sort a List
reverse() reverse the order of a List reverse() reverse the order of a List
uniq() remove copies of repeated adjacent items uniq() remove copies of repeated adjacent items
@ -644,6 +653,7 @@ List manipulation: *list-functions*
min() minimum value in a List min() minimum value in a List
count() count number of times a value appears in a List count() count number of times a value appears in a List
repeat() repeat a List multiple times repeat() repeat a List multiple times
flatten() flatten a List
Dictionary manipulation: *dict-functions* Dictionary manipulation: *dict-functions*
get() get an entry without an error for a wrong key get() get an entry without an error for a wrong key
@ -687,6 +697,7 @@ Floating point computation: *float-functions*
sinh() hyperbolic sine sinh() hyperbolic sine
cosh() hyperbolic cosine cosh() hyperbolic cosine
tanh() hyperbolic tangent tanh() hyperbolic tangent
isinf() check for infinity
isnan() check for not a number isnan() check for not a number
Other computation: *bitwise-function* Other computation: *bitwise-function*
@ -695,6 +706,8 @@ Other computation: *bitwise-function*
or() bitwise OR or() bitwise OR
xor() bitwise XOR xor() bitwise XOR
sha256() SHA-256 hash sha256() SHA-256 hash
rand() get a pseudo-random number
srand() initialize seed used by rand()
Variables: *var-functions* Variables: *var-functions*
type() type of a variable type() type of a variable
@ -724,6 +737,7 @@ Cursor and mark position: *cursor-functions* *mark-functions*
getcurpos() get position of the cursor getcurpos() get position of the cursor
getpos() get position of cursor, mark, etc. getpos() get position of cursor, mark, etc.
setpos() set 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 byte2line() get line number at a specific byte count
line2byte() byte count at a specific line line2byte() byte count at a specific line
diff_filler() get the number of filler lines above a line diff_filler() get the number of filler lines above a line
@ -743,6 +757,7 @@ Working with text in the current buffer: *text-functions*
prevnonblank() find previous non-blank line prevnonblank() find previous non-blank line
search() find a match for a pattern search() find a match for a pattern
searchpos() 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 searchpair() find the other end of a start/skip/end
searchpairpos() 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 searchdecl() search for the declaration of a name
@ -790,6 +805,7 @@ System functions and manipulation of files:
hostname() name of the system hostname() name of the system
readfile() read a file into a List of lines readfile() read a file into a List of lines
readdir() get a List of file names in a directory 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 writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions* Date and Time: *date-functions* *time-functions*
@ -826,9 +842,11 @@ Buffers, windows and the argument list:
listener_remove() remove a listener callback listener_remove() remove a listener callback
win_findbuf() find windows containing a buffer win_findbuf() find windows containing a buffer
win_getid() get window ID of a window win_getid() get window ID of a window
win_gettype() get type of window
win_gotoid() go to window with ID win_gotoid() go to window with ID
win_id2tabwin() get tab and window nr from window ID win_id2tabwin() get tab and window nr from window ID
win_id2win() get 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 getbufinfo() get a list with buffer information
gettabinfo() get a list with tab page information gettabinfo() get a list with tab page information
getwininfo() get a list with window information getwininfo() get a list with window information
@ -905,6 +923,7 @@ Interactive: *interactive-functions*
getchar() get a character from the user getchar() get a character from the user
getcharmod() get modifiers for the last typed character getcharmod() get modifiers for the last typed character
getmousepos() get last known mouse position getmousepos() get last known mouse position
echoraw() output characters as-is
feedkeys() put characters in the typeahead queue feedkeys() put characters in the typeahead queue
input() get a line from the user input() get a line from the user
inputlist() let the user pick an entry from a list inputlist() let the user pick an entry from a list
@ -946,6 +965,7 @@ Mappings and Menus: *mapping-functions*
hasmapto() check if a mapping exists hasmapto() check if a mapping exists
mapcheck() check if a matching mapping exists mapcheck() check if a matching mapping exists
maparg() get rhs of a mapping maparg() get rhs of a mapping
mapset() restore a mapping
menu_info() get information about a menu item menu_info() get information about a menu item
wildmenumode() check if the wildmode is active wildmenumode() check if the wildmode is active
@ -966,11 +986,13 @@ Testing: *test-functions*
test_autochdir() enable 'autochdir' during startup test_autochdir() enable 'autochdir' during startup
test_override() test with Vim internal overrides test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now 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_getvalue() get value of an internal variable
test_ignore_error() ignore a specific error message test_ignore_error() ignore a specific error message
test_null_blob() return a null Blob test_null_blob() return a null Blob
test_null_channel() return a null Channel test_null_channel() return a null Channel
test_null_dict() return a null Dict test_null_dict() return a null Dict
test_null_function() return a null Funcref
test_null_job() return a null Job test_null_job() return a null Job
test_null_list() return a null List test_null_list() return a null List
test_null_partial() return a null Partial function test_null_partial() return a null Partial function
@ -980,6 +1002,10 @@ Testing: *test-functions*
test_feedinput() add key sequence to input buffer test_feedinput() add key sequence to input buffer
test_option_not_set() reset flag indicating option was set test_option_not_set() reset flag indicating option was set
test_scrollbar() simulate scrollbar movement in the GUI 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* Inter-process communication: *channel-functions*
ch_canread() check if there is something to read ch_canread() check if there is something to read
@ -991,8 +1017,8 @@ Inter-process communication: *channel-functions*
ch_readraw() read a raw message from a channel ch_readraw() read a raw message from a channel
ch_sendexpr() send a JSON message over a channel ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel ch_sendraw() send a raw message over a channel
ch_evalexpr() evaluates an expression over channel ch_evalexpr() evaluate an expression over channel
ch_evalraw() evaluates a raw string over channel ch_evalraw() evaluate a raw string over channel
ch_status() get status of a channel ch_status() get status of a channel
ch_getbufnr() get the buffer number of a channel ch_getbufnr() get the buffer number of a channel
ch_getjob() get the job associated with a channel ch_getjob() get the job associated with a channel
@ -1048,6 +1074,7 @@ Terminal window: *terminal-functions*
term_setkill() set signal to stop job in a terminal term_setkill() set signal to stop job in a terminal
term_setrestore() set command to restore a terminal term_setrestore() set command to restore a terminal
term_setsize() set the size of 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 window: *popup-window-functions*
popup_create() create popup centered in the screen popup_create() create popup centered in the screen
@ -1066,9 +1093,13 @@ Popup window: *popup-window-functions*
popup_close() close one popup popup_close() close one popup
popup_clear() close all popups popup_clear() close all popups
popup_filter_menu() select from a list of items 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_getoptions() get current options for a popup
popup_getpos() get actual position and size of 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* Timers: *timer-functions*
timer_start() create a timer timer_start() create a timer
@ -1088,8 +1119,27 @@ Prompt Buffer: *promptbuffer-functions*
prompt_setinterrupt() set interrupt callback for a buffer prompt_setinterrupt() set interrupt callback for a buffer
prompt_setprompt() set the prompt text 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* Various: *various-functions*
mode() get current editing mode mode() get current editing mode
state() get current busy state
visualmode() last visual mode used visualmode() last visual mode used
exists() check if a variable, function, etc. exists exists() check if a variable, function, etc. exists
has() check if a feature is supported in Vim has() check if a feature is supported in Vim
@ -1098,6 +1148,10 @@ Various: *various-functions*
did_filetype() check if a FileType autocommand was used did_filetype() check if a FileType autocommand was used
eventhandler() check if invoked by an event handler eventhandler() check if invoked by an event handler
getpid() get process ID of Vim getpid() get process ID of Vim
getimstatus() check if IME status is active
interrupt() interrupt script execution
windowsversion() get MS-Windows version
terminalprops() properties of the terminal
libcall() call a function in an external library libcall() call a function in an external library
libcallnr() idem, returning a number libcallnr() idem, returning a number
@ -1106,6 +1160,7 @@ Various: *various-functions*
undotree() return the state of the undo tree undotree() return the state of the undo tree
getreg() get contents of a register getreg() get contents of a register
getreginfo() get information about a register
getregtype() get type of a register getregtype() get type of a register
setreg() set contents and type of a register setreg() set contents and type of a register
reg_executing() return the name of the register being executed reg_executing() return the name of the register being executed
@ -1115,12 +1170,14 @@ Various: *various-functions*
wordcount() get byte/word/char count of buffer wordcount() get byte/word/char count of buffer
luaeval() evaluate Lua expression luaeval() evaluate |Lua| expression
mzeval() evaluate |MzScheme| expression mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|) perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|) py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|) pyeval() evaluate Python expression (|+python|)
pyxeval() evaluate |python_x| expression pyxeval() evaluate |python_x| expression
rubyeval() evaluate |Ruby| expression
debugbreak() interrupt a program being debugged debugbreak() interrupt a program being debugged
============================================================================== ==============================================================================

View File

@ -1,8 +1,8 @@
*usr_45.txt* For Vim version 8.2. Last change: 2008 Nov 15 *usr_45.txt* For Vim version 8.2. Last change: 2020 Jun 11
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
Select your language Select your language (locale)
The messages in Vim can be given in several languages. This chapter explains The messages in Vim can be given in several languages. This chapter explains
@ -15,7 +15,7 @@ in various languages is explained.
|45.4| Editing files with a different encoding |45.4| Editing files with a different encoding
|45.5| Entering language text |45.5| Entering language text
Next chapter: |usr_90.txt| Installing Vim Next chapter: |usr_46.txt| Write plugins using Vim9 script
Previous chapter: |usr_44.txt| Your own syntax highlighted Previous chapter: |usr_44.txt| Your own syntax highlighted
Table of contents: |usr_toc.txt| Table of contents: |usr_toc.txt|
@ -408,6 +408,6 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
============================================================================== ==============================================================================
Next chapter: |usr_90.txt| Installing Vim Next chapter: |usr_46.txt| Write plugins using Vim9 script
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

192
runtime/doc/usr_46.txt Normal file
View File

@ -0,0 +1,192 @@
*usr_46.txt* For Vim version 8.2. Last change: 2020 Jun 14
VIM USER MANUAL - by Bram Moolenaar
Write plugins using Vim9 script
The Vim9 script language is used for writing plugins, especially larger ones
that use multiple files. This chapter explains how to split up a plugin into
modules, import and export items and keep the rest local.
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
Next chapter: |usr_90.txt| Installing Vim
Previous chapter: |usr_45.txt| Select your language (locale)
Table of contents: |usr_toc.txt|
==============================================================================
*46.1* Introduction *vim9-script-intro*
Vim9 script was designed to make it easier to write large Vim scripts. It
looks more like other script languages, especially Typescript. Also,
functions are compiled into instructions that can be executed quickly. This
makes Vim9 script a lot faster, up to a 100 times.
The basic idea is that a script file has items that are private, only used
inside the script file, and items that are exported, used outside of the
script file. The exported items can then be used by scripts that import them.
That makes very clear what is defined where.
Let's start with an example, a script that exports one function and has one
private function: >
vim9script " This indicates a Vim9 script file,
export def GetMessage(): string
let result = ''
...
result = GetPart(count)
...
return result
enddef
def GetPart(nr: number): string
if nr == 4
return 'yes'
else
return 'no'
endif
enddef
The `vim9script` command must be the very first command in the file. Without
it Vim will assume legacy script syntax.
The `export def GetMessage(): string` line starts with `export`, meaning that
this function can be imported and called by other scripts. The line
`def GetPart(...` does not start with `export`, this is a script-local
function, it can only be used inside this script file.
In the `export def GetMessage(): string` line you will notice the colon and
the return type. Vim9 functions, defined with `def`, require specifying the
type of arguments and the return type. That way Vim can compile the code
efficiently. The GetPart function defines an argument "nr" of type "number".
Notice that the assignment `result = GetPart(count)` does not use the `let`
command. That is explained in the next section.
==============================================================================
*46.2* Variable declarations *vim9-declarations*
In Vim9 script variables are declared once with a `:let` or `:const` command.
Assigning a value is done without `:let` and it is not possible to `:unlet`
the variable.
In most cases you will want to declare the variable and initialize it at the
same time: >
let myText = 'some text'
...
myText = 'other text'
The type of the variable will be inferred from the expression. In this case
it is a string. If you initialize with a number, then the type is number: >
let myNumber = 1234
...
myNumber = 0
If you try to assign a string to this variable, you will get an error: >
let myNumber = 'this fails!'
In the rare case you want a variable that can take values of any type, you
have to specify the type: >
let myVar: any = 1234
myVar = 'text also works'
You can also declare a variable without assigning a value. In that case Vim
will initialize it to zero or empty: >
let word: string
if condition
word = 'yes'
else
word = 'no'
endif
Although it's shorter to do: >
let word = condition ? 'yes' : 'no'
==============================================================================
*46.3* Functions and types
Legacy Vim script does have type checking, but this happens at runtime, when
the code is executed. And it's permissive, often a computation gives an
unexpected value instead of reporting an error. Thus you can define a
function and think it's fine, but see a problem only later when it is called: >
let s:collected = ''
func ExtendAndReturn(add)
let s:collected += a:add
return s:collected
endfunc
Can you spot the error? Try this: >
echo ExtendAndReturn('text')
And you'll see zero. Why? Because in legacy Vim script "+=" will convert the
arguments to numbers, and any string without a number results in zero!
With `:def` the type checking happens when compiling the function. For that
you need to specify the argument types and the return type. Also notice that
the argument is used without the "a:" prefix: >
let s:collected = ''
def ExtendAndReturn(add: string): string
s:collected += add
return s:collected
enddef
defcompile
Here we use `:defcompile` to do the compilation right away, without it the
compilation would happen when the function is called. Vim will tell you what
you did wrong: >
E1013: type mismatch, expected number but got string
Vim9 script is strict, it uses the "+" operator only for numbers and floats.
For string concatenation ".." must be used. This avoids mistakes and avoids
the automatic conversion that gave a surprising result above. So you change
the first line of the function to: >
s:collected ..= add
And now it works.
If the function does not return anything, just leave out the return type: >
def ReportResult(result: string)
echo 'The result is: ' .. result
enddef
This is also checked, if you try to return a value you'll get an error.
In case you don't care about types or have a function that does work with
multiple types, you can use the "any" type: >
def Store(key: string, value: any)
resultDict[key] = value
enddef
==============================================================================
*46.?* Using a Vim9 script from legacy script *source-vim9-script*
In some cases you have a legacy Vim script where you want to use items from a
Vim9 script. For example in your .vimrc you want to initialize a plugin. The
best way to do this is to use `:import`. For example: >
import Init as NiceInit from 'myNicePlugin.vim'
call NiceInit('today')
This finds the exported function "Init" in the Vim9 script file and makes it
available as script-local item "NiceInit". `:import` always uses the script
namespace, even when "s:" is not given. If "myNicePlugin.vim" was already
sourced it is not sourced again.
Besides avoiding putting any items in the global namespace (where name clashes
can cause unexpected errors), this also means the script is sourced only once,
no matter how many times items from it are imported.
In some cases, e.g. for testing, you may just want to source the Vim9 script.
That is OK, but then only global items will be available. The Vim9 script
will have to make sure to use a unique name for these global items. Example: >
source ~/.vim/extra/myNicePlugin.vim
call g:NicePluginTest()
==============================================================================
Next chapter: |usr_90.txt| Installing Vim
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*usr_90.txt* For Vim version 8.2. Last change: 2008 Sep 10 *usr_90.txt* For Vim version 8.2. Last change: 2020 Jun 11
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@ -15,7 +15,7 @@ upgrading to a new version is done.
|90.4| Common installation issues |90.4| Common installation issues
|90.5| Uninstalling Vim |90.5| Uninstalling Vim
Previous chapter: |usr_45.txt| Select your language Previous chapter: |usr_46.txt| Write plugins using Vim9 script
Table of contents: |usr_toc.txt| Table of contents: |usr_toc.txt|
============================================================================== ==============================================================================

View File

@ -1,4 +1,4 @@
*usr_toc.txt* For Vim version 8.2. Last change: 2019 May 24 *usr_toc.txt* For Vim version 8.2. Last change: 2020 Jun 15
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@ -42,7 +42,8 @@ Tuning Vim
|usr_42.txt| Add new menus |usr_42.txt| Add new menus
|usr_43.txt| Using filetypes |usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted |usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language |usr_45.txt| Select your language (locale)
|usr_46.txt| Write plugins using Vim9 script
Making Vim Run Making Vim Run
|usr_90.txt| Installing Vim |usr_90.txt| Installing Vim
@ -339,6 +340,12 @@ Make Vim work as you like it.
|45.4| Editing files with a different encoding |45.4| Editing files with a different encoding
|45.5| Entering language text |45.5| Entering language text
|usr_46.txt| Write plugins using Vim9 script
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
============================================================================== ==============================================================================
Making Vim Run ~ Making Vim Run ~

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 8.2. Last change: 2020 Apr 13 *various.txt* For Vim version 8.2. Last change: 2020 May 30
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -251,14 +251,20 @@ g8 Print the hex values of the bytes used in the
it to append a Vim command. See |:bar|. it to append a Vim command. See |:bar|.
If {cmd} contains "%" it is expanded to the current If {cmd} contains "%" it is expanded to the current
file name. Special characters are not escaped, use file name, "#" is expanded to the alternate file name.
quotes to avoid their special meaning: > Special characters in the file name are not escaped,
use quotes to avoid their special meaning: >
:!ls "%" :!ls "%"
< If the file name contains a "$" single quotes might < If the file name contains a "$" then single quotes
work better (but a single quote causes trouble): > might work better, but this only works if the file
name does not contain a single quote: >
:!ls '%' :!ls '%'
< This should always work, but it's more typing: > < This should always work, but it's more typing: >
:exe "!ls " . shellescape(expand("%")) :exe "!ls " . shellescape(expand("%"))
< To get a literal "%" or "#" prepend it with a
backslash. For example, to list all files starting
with "%": >
:!ls \%*
< <
A newline character ends {cmd}, what follows is A newline character ends {cmd}, what follows is
interpreted as a following ":" command. However, if interpreted as a following ":" command. However, if
@ -464,7 +470,7 @@ B *+vartabs* Variable-width tabstops. |'vartabstop'|
N *+viminfo* |'viminfo'| N *+viminfo* |'viminfo'|
*+vertsplit* Vertically split windows |:vsplit|; Always enabled *+vertsplit* Vertically split windows |:vsplit|; Always enabled
since 8.0.1118. since 8.0.1118.
N *+virtualedit* |'virtualedit'| N *+virtualedit* |'virtualedit'| Always enabled since 8.1.826.
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200. T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
T *+visualextra* extra Visual mode commands |blockwise-operators| T *+visualextra* extra Visual mode commands |blockwise-operators|
T *+vreplace* |gR| and |gr| T *+vreplace* |gR| and |gr|

View File

@ -1,4 +1,4 @@
*version8.txt* For Vim version 8.2. Last change: 2020 Feb 04 *version8.txt* For Vim version 8.2. Last change: 2020 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -30777,7 +30777,7 @@ Solution: Use a double quoted string. Add a test.
Files: src/ex_docmd.c, src/testdir/test_mksession.vim Files: src/ex_docmd.c, src/testdir/test_mksession.vim
Patch 8.1.0804 Patch 8.1.0804
Problem: Crash when setting v:errmsg to empty list. (Jaon Franklin) Problem: Crash when setting v:errmsg to empty list. (Jason Franklin)
Solution: Separate getting value and assigning result. Solution: Separate getting value and assigning result.
Files: src/eval.c, src/testdir/test_eval_stuff.vim Files: src/eval.c, src/testdir/test_eval_stuff.vim
@ -33684,8 +33684,8 @@ Solution: Also change the textprop implementation.
Files: src/textprop.c Files: src/textprop.c
Patch 8.1.1279 Patch 8.1.1279
Problem: Cannot set 'spellang' to "sr@latin". (Bojan Stipic) Problem: Cannot set 'spelllang' to "sr@latin". (Bojan Stipic)
Solution: Allow using '@' in 'spellang'. (closes #4342) Solution: Allow using '@' in 'spelllang'. (closes #4342)
Files: src/option.c, src/testdir/gen_opt_test.vim Files: src/option.c, src/testdir/gen_opt_test.vim
Patch 8.1.1280 Patch 8.1.1280

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.2. Last change: 2019 Dec 17 *vi_diff.txt* For Vim version 8.2. Last change: 2020 Jun 07
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -135,7 +135,6 @@ Support for different systems.
- Amiga (500, 1000, 1200, 2000, 3000, 4000, ...). - Amiga (500, 1000, 1200, 2000, 3000, 4000, ...).
- MS-Windows - MS-Windows
- VMS - VMS
- BeOS
- Macintosh - Macintosh
- IBM OS/390 - IBM OS/390
Note that on some systems features need to be disabled to reduce Note that on some systems features need to be disabled to reduce
@ -162,7 +161,7 @@ Graphical User Interface (GUI). |gui|
define your own menus. Better support for CTRL/SHIFT/ALT keys in define your own menus. Better support for CTRL/SHIFT/ALT keys in
combination with special keys and mouse. Supported for various combination with special keys and mouse. Supported for various
platforms, such as X11 (with Motif and Athena interfaces), GTK, Win32 platforms, such as X11 (with Motif and Athena interfaces), GTK, Win32
(Windows 95 and later), BeOS, Amiga and Macintosh. (Windows XP and later), Amiga and Macintosh.
Multiple windows and buffers. |windows.txt| Multiple windows and buffers. |windows.txt|
Vim can split the screen into several windows, each editing a Vim can split the screen into several windows, each editing a

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 Jun 21
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -6,7 +6,7 @@
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE 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 Most expression help is in |eval.txt|. This file is about the new syntax and
features in Vim9 script. 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 THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim script has been growing over time, while keeping backwards compatibility. Vim script has been growing over time, while preserving backwards
That means bad choices from the past often can't be changed. Execution is compatibility. That means bad choices from the past often can't be changed
quite slow, every line is parsed every time it is executed. and compatibility 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 The main goal of Vim9 script is to drastically improve performance. This is
increase in execution speed of 10 to 100 times can be expected. A secondary accomplished by compiling commands into instructions that can be efficiently
goal is to avoid Vim-specific constructs and get closer to commonly used executed. An increase in execution speed of 10 to 100 times can be expected.
programming languages, such as JavaScript, TypeScript and Java.
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 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 compatible. For example, making function arguments available in the
"a:" dictionary, as creating that dictionary adds quite a lot of overhead. "a:" dictionary adds quite a lot of overhead. In a Vim9 function this
Other differences are more subtle, such as how errors are handled. dictionary is not available. Other differences are more subtle, such as how
errors are handled.
The Vim9 script syntax and semantics are used in: The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command - a function defined with the `:def` command
- a script file where the first command is `vim9script` - a script file where the first command is `vim9script`
When using `:function` in a Vim9 script file the legacy syntax is used. 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 Vim9 script and legacy Vim script can be mixed. There is no requirement to
old scripts, they keep working as before. 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 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 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. > numbers, but you can also use `:number` for that. >
let count = 0 # number of occurences of Ni! let count = 0 # number of occurrences
To improve readability there must be a space between the command and the # 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 that starts a comment. Note that #{ is the start of a dictionary, therefore
@ -73,44 +77,66 @@ it cannot start a comment.
Vim9 functions ~ Vim9 functions ~
`:def` has no extra arguments like `:function` does: "range", "abort", "dict" A function defined with `:def` is compiled. Execution is many times faster,
or "closure". A `:def` function always aborts on an error, does not get a often 10x to 100x times.
range passed and cannot be a "dict" function.
In the function body: Many errors are already found when compiling, before the function is executed.
- Arguments are accessed by name, without "a:". The syntax is strict, to enforce code that is easy to read and understand.
- There is no "a:" dictionary or "a:000" list. Variable arguments are defined
with a name and have a list type: > Compilation is done when the function is first called, or when the
def MyFunc(...itemlist: list<type>) `: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 for item in itemlist
... ...
Functions are script-local by default ~ Functions and variables are script-local by default ~
*vim9-scopes*
When using `:function` or `:def` to specify a new function at the script level 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 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, 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 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:" script-local function inside a function. It is possible to define a global
prefix must be used. function, using the "g:" prefix.
When referring to a function and no "s:" or "g:" prefix is used, Vim will When referring to a function and no "s:" or "g:" prefix is used, Vim will
search for the function in this order: 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. - Local to the current script file.
- Imported functions, see `:import`. - 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 The result is that functions and variables without a namespace can always be
script script-local functions are defined once when the script is sourced and found in the script, either defined there or imported. Global functions and
cannot be deleted. 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 ~ Variable declarations with :let and :const ~
*vim9-declaration*
Local variables need to be declared with `:let`. Local constants need to be Local variables need to be declared with `:let`. Local constants need to be
declared with `:const`. We refer to both as "variables". declared with `:const`. We refer to both as "variables".
@ -141,8 +167,8 @@ The declaration must be done earlier: >
endif endif
echo inner echo inner
To intentionally use a variable that won't be available later, a block can be To intentionally avoid a variable being available later, a block can be used:
used: > >
{ {
let temp = 'temp' 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 cannot shadow previously defined variables.
Variables may shadow Ex commands, rename the variable if needed. Variables may shadow Ex commands, rename the variable if needed.
Global variables must be prefixed with "g:", also at the script level. Global variables and user defined functions must be prefixed with "g:", also
However, global user defined functions are used without "g:". > at the script level. >
vim9script vim9script
let script_local = 'text' let script_local = 'text'
let g:global = 'value' let g:global = 'value'
let Funcref = ThatFunction let Funcref = g:ThatFunction
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
used to repeat a `:substitute` command. used to repeat a `:substitute` command.
@ -243,6 +269,13 @@ possible AFTER the operators. For example: >
PosFunc(arg) : PosFunc(arg) :
NegFunc(arg) NegFunc(arg)
A special case is "->" for function call chains, it can appear in the next
line: >
let result = GetBuilder()
->BuilderSetWidth(333)
->BuilderSetHeight(777)
->BuilderBuild()
Note that "enddef" cannot be used at the start of a continuation line, it ends Note that "enddef" cannot be used at the start of a continuation line, it ends
the current function. the current function.
@ -362,11 +395,17 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
The second and third form are optional arguments. The second and third form are optional arguments.
When the caller omits an argument the {value} is used. When the caller omits an argument the {value} is used.
The function will be compiled into instructions when
called, or when `:defcompile` is used. Syntax and
type errors will be produced at that time.
NOTE: It is possible to nest `:def` inside another NOTE: It is possible to nest `:def` inside another
`:def`, but it is not possible to nest `:def` inside `:def`, but it is not possible to nest `:def` inside
`:function`, for backwards compatibility. `: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 later in the same script.
*:enddef* *:enddef*
:enddef End of a function defined with `:def`. :enddef End of a function defined with `:def`.
@ -374,9 +413,14 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
If the script the function is defined in is Vim9 script, then script-local If the script the function is defined in is Vim9 script, then script-local
variables can be accessed without the "s:" prefix. They must be defined 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 before the function is compiled. If the script the function is defined in is
script, then script-local variables must be accessed with the "s:" prefix. 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* *:disassemble*
:disa[ssemble] {func} Show the instructions generated for {func}. :disa[ssemble] {func} Show the instructions generated for {func}.
@ -523,10 +567,13 @@ be exported.
Alternatively, an export statement can be used to export several already Alternatively, an export statement can be used to export several already
defined (otherwise script-local) items: > defined (otherwise script-local) items: >
export {EXPORTED_CONST, someValue, MyFunc, MyClass} export {EXPORTED_CONST, someValue, MyFunc, MyClass}
<
*E1042*
`:export` can only be used in Vim9 script, at the script level.
Import ~ Import ~
*:import* *:imp* *:import* *:imp* *E1094*
The exported items can be imported individually in another Vim9 script: > The exported items can be imported individually in another Vim9 script: >
import EXPORTED_CONST from "thatscript.vim" import EXPORTED_CONST from "thatscript.vim"
import MyClass from "myclass.vim" import MyClass from "myclass.vim"
@ -597,8 +644,8 @@ actually needed. A recommended mechanism:
Import in legacy Vim script ~ Import in legacy Vim script ~
If an `import` statement is used in legacy Vim script, for identifier the If an `import` statement is used in legacy Vim script, the script-local "s:"
script-local "s:" namespace will be used, even when "s:" is not specified. namespace will be used for the imported item, even when "s:" is not specified.
============================================================================== ==============================================================================
@ -641,12 +688,37 @@ widely used. The type names are what was used in Vim before, with some
additions such as "void" and "bool". additions such as "void" and "bool".
JavaScript/TypeScript syntax and semantics ~ Compiling functions early ~
Functions are compiled when called or when `:defcompile` is used. Why not
compile them early, so that syntax and type errors are reported early?
The functions can't be compiled right away when encountered, because there may
be forward references to functions defined later. Consider defining functions
A, B and C, where A calls B, B calls C, and C calls A again. It's impossible
to reorder the functions to avoid forward references.
An alternative would be to first scan through the file to locate items and
figure out their type, so that forward references are found, and only then
execute the script and compile the functions. This means the script has to be
parsed twice, which is slower, and some conditions at the script level, such
as checking if a feature is supported, are hard to use. An attempt was made
to see if it works, but it turned out to be impossible to make work nicely.
It would be possible to compile all the functions at the end of the script.
The drawback is that if a function never gets called, the overhead of
compiling it counts anyway. Since startup speed is very important, in most
cases it's better to do it later and accept that syntax and type errors are
only reported then. In case these errors should be found early, e.g. when
testing, the `:defcompile` command will help out.
TypeScript syntax and semantics ~
Script writers have complained that the Vim script syntax is unexpectedly Script writers have complained that the Vim script syntax is unexpectedly
different from what they are used to. To reduce this complaint popular different from what they are used to. To reduce this complaint popular
languages will be used as an example. At the same time, we do not want to languages are used as an example. At the same time, we do not want to abandon
abandon the well-known parts of legacy Vim script. the well-known parts of legacy Vim script.
Since Vim already uses `:let` and `:const` and optional type checking is Since Vim already uses `:let` and `:const` and optional type checking is
desirable, the JavaScript/TypeScript syntax fits best for variable desirable, the JavaScript/TypeScript syntax fits best for variable
@ -663,7 +735,7 @@ are doing. Some details are unexpected and can be fixed. For example how the
... ...
return result || 0 " returns 1 return result || 0 " returns 1
Vim9 script works like JavaScript, keep the value: > Vim9 script works like JavaScript/Typescript, keep the value: >
let result = 44 let result = 44
... ...
return result || 0 " returns 44 return result || 0 " returns 44
@ -695,6 +767,16 @@ that works like one would expect:
avoided. avoided.
- The Vim-specific use of "s:" to make things script-local can be dropped. - The Vim-specific use of "s:" to make things script-local can be dropped.
When sourcing a Vim9 script from a legacy script, only the items defined
globally can be used, not the exported items. Alternatives considered:
- All the exported items become available as script-local items. This makes
it uncontrollable what items get defined.
- Use the exported items and make them global. Disadvantage is that it's then
not possible to avoid name clashes in the global namespace.
- Completely disallow sourcing a Vim9 script, require using `:import`. That
makes it difficult to use scripts for testing, or sourcing them from the
command line to try them out.
Classes ~ Classes ~

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 VIM REFERENCE MANUAL by Bram Moolenaar
@ -137,6 +137,12 @@ invert the status line. Now it should be "sr", reverse the status line, as
status line is inverted anyway; you will only see this problem on terminals status line is inverted anyway; you will only see this problem on terminals
that have termcap codes for italics. that have termcap codes for italics.
*filler-lines*
The lines after the last buffer line in a window are called filler lines.
These lines start with a tilde (~) character. By default, these are
highlighted as NonText (|hl-NonText|). The EndOfBuffer highlight group
(|hl-EndOfBuffer|) can be used to change the highlighting of filler lines.
============================================================================== ==============================================================================
3. Opening and closing a window *opening-window* *E36* 3. Opening and closing a window *opening-window* *E36*
@ -291,9 +297,9 @@ CTRL-W q *CTRL-W_q*
CTRL-W CTRL-Q *CTRL-W_CTRL-Q* CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
Without {count}: Quit the current window. If {count} is Without {count}: Quit the current window. If {count} is
given quit the {count} window. given quit the {count} window.
*edit-window*
When quitting the last window (not counting a help window), When quitting the last edit window (not counting help or
exit Vim. preview windows), exit Vim.
When 'hidden' is set, and there is only one window for the When 'hidden' is set, and there is only one window for the
current buffer, it becomes hidden. When 'hidden' is not set, current buffer, it becomes hidden. When 'hidden' is not set,
@ -312,8 +318,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
:+quit " quit the next window :+quit " quit the next window
:+2quit " quit the second next window :+2quit " quit the second next window
< <
When closing a help window, Vim will try to restore the When closing a help window, and this is not the only window,
previous window layout |:helpclose|. Vim will try to restore the previous window layout, see
|:helpclose|.
:q[uit]! :q[uit]!
:{count}q[uit]! :{count}q[uit]!
@ -335,9 +342,9 @@ CTRL-W c *CTRL-W_c* *:clo* *:close*
changed and the [!] is used, the buffer becomes hidden (unless changed and the [!] is used, the buffer becomes hidden (unless
there is another window editing it). there is another window editing it).
When there is only one window in the current tab page and When there is only one |edit-window| in the current tab page
there is another tab page, this closes the current tab page. and there is another tab page, this closes the current tab
|tab-page|. page. |tab-page|.
This command fails when: *E444* This command fails when: *E444*
- There is only one window on the screen. - There is only one window on the screen.

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Apr 29 " Last Change: 2020 Jun 15
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@ -462,7 +462,7 @@ au BufNewFile,BufRead *.desc setf desc
au BufNewFile,BufRead *.d call dist#ft#DtraceCheck() au BufNewFile,BufRead *.d call dist#ft#DtraceCheck()
" Desktop files " Desktop files
au BufNewFile,BufRead *.desktop,.directory setf desktop au BufNewFile,BufRead *.desktop,*.directory setf desktop
" Dict config " Dict config
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
@ -547,6 +547,9 @@ au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
" ERicsson LANGuage; Yaws is erlang too " ERicsson LANGuage; Yaws is erlang too
au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang au BufNewFile,BufRead *.erl,*.hrl,*.yaws setf erlang
" Elm
au BufNewFile,BufRead *.elm setf elm
" Elm Filter Rules file " Elm Filter Rules file
au BufNewFile,BufRead filter-rules setf elmfilt au BufNewFile,BufRead filter-rules setf elmfilt
@ -884,11 +887,12 @@ au BufNewFile,BufRead *.ll setf lifelines
" Lilo: Linux loader " Lilo: Linux loader
au BufNewFile,BufRead lilo.conf setf lilo 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") 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 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 endif
" SBCL implementation of Common Lisp " SBCL implementation of Common Lisp
@ -1133,6 +1137,9 @@ au BufNewFile,BufRead pf.conf setf pf
" Pam conf " Pam conf
au BufNewFile,BufRead */etc/pam.conf setf pamconf au BufNewFile,BufRead */etc/pam.conf setf pamconf
" Pam environment
au BufNewFile,BufRead pam_env.conf,.pam_environment setf pamenv
" PApp " PApp
au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp au BufNewFile,BufRead *.papp,*.pxml,*.pxsl setf papp
@ -1159,6 +1166,7 @@ else
endif endif
au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl au BufNewFile,BufRead *.plx,*.al,*.psgi setf perl
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6 au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
au BufNewFile,BufRead *.raku,*.rakumod setf perl6
" Perl, XPM or XPM2 " Perl, XPM or XPM2
au BufNewFile,BufRead *.pm au BufNewFile,BufRead *.pm
@ -1288,7 +1296,8 @@ au BufNewFile,BufRead *.pyx,*.pxd setf pyrex
" Python, Python Shell Startup and Python Stub Files " Python, Python Shell Startup and Python Stub Files
" Quixote (Python-based web framework) " Quixote (Python-based web framework)
au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc,*.ptl,*.pyi setf python au BufNewFile,BufRead *.py,*.pyw,.pythonstartup,.pythonrc setf python
au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" Radiance " Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance au BufNewFile,BufRead *.rad,*.mat setf radiance
@ -1611,9 +1620,11 @@ au BufNewFile,BufRead *.sqr,*.sqi setf sqr
" OpenSSH configuration " OpenSSH configuration
au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig au BufNewFile,BufRead ssh_config,*/.ssh/config setf sshconfig
au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
" OpenSSH server configuration " OpenSSH server configuration
au BufNewFile,BufRead sshd_config setf sshdconfig au BufNewFile,BufRead sshd_config setf sshdconfig
au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig
" Stata " Stata
au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata au BufNewFile,BufRead *.ado,*.do,*.imata,*.mata setf stata

11
runtime/ftplugin/asm.vim Normal file
View File

@ -0,0 +1,11 @@
" Vim filetype plugin file
" Language: asm
" Maintainer: Colin Caine <cmcaine at the common googlemail domain>
" Last Changed: 23 May 2020
if exists("b:did_ftplugin") | finish | endif
setl comments=:;,s1:/*,mb:*,ex:*/,://
setl commentstring=;%s
let b:did_ftplugin = 1

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: MS-DOS .bat files " Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk> " 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 " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@ -19,12 +19,21 @@ setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal commentstring=::\ %s setlocal commentstring=::\ %s
setlocal formatoptions-=t formatoptions+=rol 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 " Define patterns for the browse file filter
if has("gui_win32") && !exists("b:browsefilter") if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n" let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
endif endif
let b:undo_ftplugin = "setlocal comments< formatoptions<" let b:undo_ftplugin = "setlocal comments< formatoptions< keywordprg<"
\ . "| unlet! b:browsefiler" \ . "| unlet! b:browsefiler"
let &cpo = s:cpo_save let &cpo = s:cpo_save

18
runtime/ftplugin/elm.vim Normal file
View File

@ -0,0 +1,18 @@
" Elm filetype plugin file
" Language: Elm
" Maintainer: Andreas Scharf <as@99n.de>
" Latest Revision: 2020-05-29
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=s1fl:{-,mb:\ ,ex:-},:--
setlocal commentstring=--\ %s
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@ -1,7 +1,8 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: man " Language: man
" Maintainer: Jason Franklin <vim@justemail.net>
" Maintainer: SungHyun Nam <goweol@gmail.com> " Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Apr 13 " Last Change: 2020 Jun 01
" To make the ":Man" command available before editing a manual page, source " To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file. " this script from your startup vimrc file.
@ -33,8 +34,8 @@ if &filetype == "man"
endif endif
nnoremap <buffer> <Plug>ManBS :%s/.\b//g<CR>:setl nomod<CR>'' nnoremap <buffer> <Plug>ManBS :%s/.\b//g<CR>:setl nomod<CR>''
nnoremap <buffer> <c-]> :call <SID>PreGetPage(v:count)<CR> nnoremap <buffer> <silent> <c-]> :call <SID>PreGetPage(v:count)<CR>
nnoremap <buffer> <c-t> :call <SID>PopPage()<CR> nnoremap <buffer> <silent> <c-t> :call <SID>PopPage()<CR>
nnoremap <buffer> <silent> q :q<CR> nnoremap <buffer> <silent> q :q<CR>
" Add undo commands for the maps " Add undo commands for the maps
@ -137,11 +138,11 @@ func <SID>GetPage(cmdmods, ...)
endif endif
endif endif
if s:FindPage(sect, page) == 0 if s:FindPage(sect, page) == 0
let msg = "\nNo manual entry for ".page let msg = 'man.vim: no manual entry for "' . page . '"'
if sect != "" if !empty(sect)
let msg .= " in section ".sect let msg .= ' in section ' . sect
endif endif
echo msg echomsg msg
return return
endif endif
exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%") exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")

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 " Vim filetype plugin
" Language: Vim " Language: Vim
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2018 Aug 07 " Last Change: 2020 Jun 16
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@ -12,7 +12,7 @@ endif
let b:did_ftplugin = 1 let b:did_ftplugin = 1
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo-=C set cpo&vim
if !exists('*VimFtpluginUndo') if !exists('*VimFtpluginUndo')
func VimFtpluginUndo() func VimFtpluginUndo()
@ -63,14 +63,14 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
let b:did_add_maps = 1 let b:did_add_maps = 1
" Move around functions. " Move around functions.
nnoremap <silent><buffer> [[ m':call search('^\s*fu\%[nction]\>', "bW")<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]\>', "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]\>', "W")<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]\>', "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*endf\%[unction]\>', "bW")<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*endf\%[unction]\>', "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*endf\%[unction]\>', "W")<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*endf\%[unction]\>', "W")<CR> vnoremap <silent><buffer> ][ m':<C-U>exe "normal! gv"<Bar>call search('^\s*end\(f\%[unction]\\|def\)\>', "W")<CR>
" Move around comments " Move around comments
nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR> nnoremap <silent><buffer> ]" :call search('^\(\s*".*\n\)\@<!\(\s*"\)', "W")<CR>
@ -83,8 +83,7 @@ endif
if exists("loaded_matchit") if exists("loaded_matchit")
let b:match_ignorecase = 0 let b:match_ignorecase = 0
let b:match_words = let b:match_words =
\ '\<fu\%[nction]\>:\<retu\%[rn]\>:\<endf\%[unction]\>,' . \ '\<\%(fu\%[nction]\|def\)\>:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
\ '\<def\>:\<retu\%[rn]\>:\<enddef\>,' .
\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' . \ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' . \ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
\ '{:},' . \ '{:},' .

114
runtime/indent/elm.vim Normal file
View File

@ -0,0 +1,114 @@
" Elm indent plugin file
" Language: Elm
" Maintainer: Andreas Scharf <as@99n.de>
" Original Author: Joseph Hager <ajhager@gmail.com>
" Copyright: Joseph Hager <ajhager@gmail.com>
" License: BSD3
" Latest Revision: 2020-05-29
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
finish
endif
let b:did_indent = 1
" Local defaults
setlocal expandtab
setlocal indentexpr=GetElmIndent()
setlocal indentkeys+=0=else,0=if,0=of,0=import,0=then,0=type,0\|,0},0\],0),=-},0=in
setlocal nolisp
setlocal nosmartindent
" Only define the function once.
if exists('*GetElmIndent')
finish
endif
" Indent pairs
function! s:FindPair(pstart, pmid, pend)
"call search(a:pend, 'bW')
return indent(searchpair(a:pstart, a:pmid, a:pend, 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\\|comment"'))
endfunction
function! GetElmIndent()
let l:lnum = v:lnum - 1
" Ident 0 if the first line of the file:
if l:lnum == 0
return 0
endif
let l:ind = indent(l:lnum)
let l:lline = getline(l:lnum)
let l:line = getline(v:lnum)
" Indent if current line begins with '}':
if l:line =~? '^\s*}'
return s:FindPair('{', '', '}')
" Indent if current line begins with 'else':
elseif l:line =~# '^\s*else\>'
if l:lline !~# '^\s*\(if\|then\)\>'
return s:FindPair('\<if\>', '', '\<else\>')
endif
" Indent if current line begins with 'then':
elseif l:line =~# '^\s*then\>'
if l:lline !~# '^\s*\(if\|else\)\>'
return s:FindPair('\<if\>', '', '\<then\>')
endif
" HACK: Indent lines in case with nearest case clause:
elseif l:line =~# '->' && l:line !~# ':' && l:line !~# '\\'
return indent(search('^\s*case', 'bWn')) + &shiftwidth
" HACK: Don't change the indentation if the last line is a comment.
elseif l:lline =~# '^\s*--'
return l:ind
" Align the end of block comments with the start
elseif l:line =~# '^\s*-}'
return indent(search('{-', 'bWn'))
" Indent double shift after let with an empty rhs
elseif l:lline =~# '\<let\>.*\s=$'
return l:ind + 4 + &shiftwidth
" Align 'in' with the parent let.
elseif l:line =~# '^\s*in\>'
return indent(search('^\s*let', 'bWn'))
" Align bindings with the parent let.
elseif l:lline =~# '\<let\>'
return l:ind + 4
" Align bindings with the parent in.
elseif l:lline =~# '^\s*in\>'
return l:ind
endif
" Add a 'shiftwidth' after lines ending with:
if l:lline =~# '\(|\|=\|->\|<-\|(\|\[\|{\|\<\(of\|else\|if\|then\)\)\s*$'
let l:ind = l:ind + &shiftwidth
" Add a 'shiftwidth' after lines starting with type ending with '=':
elseif l:lline =~# '^\s*type' && l:line =~# '^\s*='
let l:ind = l:ind + &shiftwidth
" Back to normal indent after comments:
elseif l:lline =~# '-}\s*$'
call search('-}', 'bW')
let l:ind = indent(searchpair('{-', '', '-}', 'bWn', 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string"'))
" Ident some operators if there aren't any starting the last line.
elseif l:line =~# '^\s*\(!\|&\|(\|`\|+\||\|{\|[\|,\)=' && l:lline !~# '^\s*\(!\|&\|(\|`\|+\||\|{\|[\|,\)=' && l:lline !~# '^\s*$'
let l:ind = l:ind + &shiftwidth
elseif l:lline ==# '' && getline(l:lnum - 1) !=# ''
let l:ind = indent(search('^\s*\S+', 'bWn'))
endif
return l:ind
endfunc

View File

@ -2,7 +2,7 @@
" Header: "{{{ " Header: "{{{
" Maintainer: Bram Moolenaar " Maintainer: Bram Moolenaar
" Original Author: Andy Wokula <anwoku@yahoo.de> " Original Author: Andy Wokula <anwoku@yahoo.de>
" Last Change: 2019 Mar 20 " Last Change: 2020 Jun 18
" Version: 1.0 " Version: 1.0
" Description: HTML indent script with cached state for faster indenting on a " Description: HTML indent script with cached state for faster indenting on a
" range of lines. " range of lines.
@ -223,7 +223,7 @@ endfunc "}}}
call s:AddITags(s:indent_tags, [ call s:AddITags(s:indent_tags, [
\ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big', \ 'a', 'abbr', 'acronym', 'address', 'b', 'bdo', 'big',
\ 'blockquote', 'body', 'button', 'caption', 'center', 'cite', 'code', \ 'blockquote', 'body', 'button', 'caption', 'center', 'cite', 'code',
\ 'colgroup', 'del', 'dfn', 'dir', 'div', 'dl', 'em', 'fieldset', 'font', \ 'colgroup', 'dd', 'del', 'dfn', 'dir', 'div', 'dl', 'dt', 'em', 'fieldset', 'font',
\ 'form', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html', \ 'form', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'html',
\ 'i', 'iframe', 'ins', 'kbd', 'label', 'legend', 'li', \ 'i', 'iframe', 'ins', 'kbd', 'label', 'legend', 'li',
\ 'map', 'menu', 'noframes', 'noscript', 'object', 'ol', \ 'map', 'menu', 'noframes', 'noscript', 'object', 'ol',

View File

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

View File

@ -1,7 +1,8 @@
" Vim indent file " Vim indent file
" Language: SQL " Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Last Change: 2017 Jun 13 " Last Change By Maintainer: 2017 Jun 13
" Last Change: by Stephen Wall, #5578, 2020 Jun 07
" Version: 3.0 " Version: 3.0
" Download: http://vim.sourceforge.net/script.php?script_id=495 " Download: http://vim.sourceforge.net/script.php?script_id=495
@ -67,68 +68,73 @@ set cpo&vim
" IS is excluded, since it is difficult to determine when the " IS is excluded, since it is difficult to determine when the
" ending block is (especially for procedures/functions). " ending block is (especially for procedures/functions).
let s:SQLBlockStart = '^\s*\%('. let s:SQLBlockStart = '^\s*\%('.
\ 'if\|else\|elseif\|elsif\|'. \ 'if\>.*\<then\|'.
\ 'while\|loop\|do\|for\|'. \ 'then\|else\>\|'.
\ 'begin\|'. \ 'elseif\>.*\<then\|'.
\ 'elsif\>.(\<then\|'.
\ 'while\>.*\<loop\|'.
\ 'for\>.*\<loop\|'.
\ 'foreach\>.*\<loop\|'.
\ 'loop\|do\|declare\|begin\|'.
\ 'case\|when\|merge\|exception'. \ 'case\|when\|merge\|exception'.
\ '\)\>' \ '\)\>'
let s:SQLBlockEnd = '^\s*\(end\)\>' let s:SQLBlockEnd = '^\s*\(end\)\>'
" The indent level is also based on unmatched paranethesis " The indent level is also based on unmatched parentheses
" If a line has an extra "(" increase the indent " If a line has an extra "(" increase the indent
" If a line has an extra ")" decrease the indent " If a line has an extra ")" decrease the indent
function! s:CountUnbalancedParan( line, paran_to_check ) function! s:CountUnbalancedParen( line, paren_to_check )
let l = a:line let l = a:line
let lp = substitute(l, '[^(]', '', 'g') let lp = substitute(l, '[^(]', '', 'g')
let l = a:line let l = a:line
let rp = substitute(l, '[^)]', '', 'g') let rp = substitute(l, '[^)]', '', 'g')
if a:paran_to_check =~ ')' if a:paren_to_check =~ ')'
" echom 'CountUnbalancedParan ) returning: ' . " echom 'CountUnbalancedParen ) returning: ' .
" \ (strlen(rp) - strlen(lp)) " \ (strlen(rp) - strlen(lp))
return (strlen(rp) - strlen(lp)) return (strlen(rp) - strlen(lp))
elseif a:paran_to_check =~ '(' elseif a:paren_to_check =~ '('
" echom 'CountUnbalancedParan ( returning: ' . " echom 'CountUnbalancedParen ( returning: ' .
" \ (strlen(lp) - strlen(rp)) " \ (strlen(lp) - strlen(rp))
return (strlen(lp) - strlen(rp)) return (strlen(lp) - strlen(rp))
else else
" echom 'CountUnbalancedParan unknown paran to check: ' . " echom 'CountUnbalancedParen unknown paren to check: ' .
" \ a:paran_to_check " \ a:paren_to_check
return 0 return 0
endif endif
endfunction endfunction
" Unindent commands based on previous indent level " Unindent commands based on previous indent level
function! s:CheckToIgnoreRightParan( prev_lnum, num_levels ) function! s:CheckToIgnoreRightParen( prev_lnum, num_levels )
let lnum = a:prev_lnum let lnum = a:prev_lnum
let line = getline(lnum) let line = getline(lnum)
let ends = 0 let ends = 0
let num_right_paran = a:num_levels let num_right_paren = a:num_levels
let ignore_paran = 0 let ignore_paren = 0
let vircol = 1 let vircol = 1
while num_right_paran > 0 while num_right_paren > 0
silent! exec 'norm! '.lnum."G\<bar>".vircol."\<bar>" silent! exec 'norm! '.lnum."G\<bar>".vircol."\<bar>"
let right_paran = search( ')', 'W' ) let right_paren = search( ')', 'W' )
if right_paran != lnum if right_paren != lnum
" This should not happen since there should be at least " This should not happen since there should be at least
" num_right_paran matches for this line " num_right_paren matches for this line
break break
endif endif
let vircol = virtcol(".") let vircol = virtcol(".")
" if getline(".") =~ '^)' " if getline(".") =~ '^)'
let matching_paran = searchpair('(', '', ')', 'bW', let matching_paren = searchpair('(', '', ')', 'bW',
\ 's:IsColComment(line("."), col("."))') \ 's:IsColComment(line("."), col("."))')
if matching_paran < 1 if matching_paren < 1
" No match found " No match found
" echom 'CTIRP - no match found, ignoring' " echom 'CTIRP - no match found, ignoring'
break break
endif endif
if matching_paran == lnum if matching_paren == lnum
" This was not an unmatched parantenses, start the search again " This was not an unmatched parentheses, start the search again
" again after this column " again after this column
" echom 'CTIRP - same line match, ignoring' " echom 'CTIRP - same line match, ignoring'
continue continue
@ -136,23 +142,23 @@ function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
" echom 'CTIRP - match: ' . line(".") . ' ' . getline(".") " echom 'CTIRP - match: ' . line(".") . ' ' . getline(".")
if getline(matching_paran) =~? '\(if\|while\)\>' if getline(matching_paren) =~? '\(if\|while\)\>'
" echom 'CTIRP - if/while ignored: ' . line(".") . ' ' . getline(".") " echom 'CTIRP - if/while ignored: ' . line(".") . ' ' . getline(".")
let ignore_paran = ignore_paran + 1 let ignore_paren = ignore_paren + 1
endif endif
" One match found, decrease and check for further matches " One match found, decrease and check for further matches
let num_right_paran = num_right_paran - 1 let num_right_paren = num_right_paren - 1
endwhile endwhile
" Fallback - just move back one " Fallback - just move back one
" return a:prev_indent - shiftwidth() " return a:prev_indent - shiftwidth()
return ignore_paran return ignore_paren
endfunction endfunction
" Based on the keyword provided, loop through previous non empty " Based on the keyword provided, loop through previous non empty
" non comment lines to find the statement that initated the keyword. " non comment lines to find the statement that initiated the keyword.
" Return its indent level " Return its indent level
" CASE .. " CASE ..
" WHEN ... " WHEN ...
@ -295,26 +301,26 @@ function! GetSQLIndent()
" echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline " echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline
elseif prevline =~ '[()]' elseif prevline =~ '[()]'
if prevline =~ '(' if prevline =~ '('
let num_unmatched_left = s:CountUnbalancedParan( prevline, '(' ) let num_unmatched_left = s:CountUnbalancedParen( prevline, '(' )
else else
let num_unmatched_left = 0 let num_unmatched_left = 0
endif endif
if prevline =~ ')' if prevline =~ ')'
let num_unmatched_right = s:CountUnbalancedParan( prevline, ')' ) let num_unmatched_right = s:CountUnbalancedParen( prevline, ')' )
else else
let num_unmatched_right = 0 let num_unmatched_right = 0
" let num_unmatched_right = s:CountUnbalancedParan( prevline, ')' ) " let num_unmatched_right = s:CountUnbalancedParen( prevline, ')' )
endif endif
if num_unmatched_left > 0 if num_unmatched_left > 0
" There is a open left paranethesis " There is a open left parenthesis
" increase indent " increase indent
let ind = ind + ( shiftwidth() * num_unmatched_left ) let ind = ind + ( shiftwidth() * num_unmatched_left )
elseif num_unmatched_right > 0 elseif num_unmatched_right > 0
" if it is an unbalanced paranethesis only unindent if " if it is an unbalanced parenthesis only unindent if
" it was part of a command (ie create table(..) ) " it was part of a command (ie create table(..) )
" instead of part of an if (ie if (....) then) which should " instead of part of an if (ie if (....) then) which should
" maintain the indent level " maintain the indent level
let ignore = s:CheckToIgnoreRightParan( prevlnum, num_unmatched_right ) let ignore = s:CheckToIgnoreRightParen( prevlnum, num_unmatched_right )
" echom 'prevl - ) unbalanced - CTIRP - ignore: ' . ignore " echom 'prevl - ) unbalanced - CTIRP - ignore: ' . ignore
if prevline =~ '^\s*)' if prevline =~ '^\s*)'
@ -357,8 +363,8 @@ function! GetSQLIndent()
" elseif line =~ '^\s*)\s*;\?\s*$' " elseif line =~ '^\s*)\s*;\?\s*$'
" elseif line =~ '^\s*)' " elseif line =~ '^\s*)'
elseif line =~ '^\s*)' elseif line =~ '^\s*)'
let num_unmatched_right = s:CountUnbalancedParan( line, ')' ) let num_unmatched_right = s:CountUnbalancedParen( line, ')' )
let ignore = s:CheckToIgnoreRightParan( v:lnum, num_unmatched_right ) let ignore = s:CheckToIgnoreRightParen( v:lnum, num_unmatched_right )
" If the line ends in a ), then reduce the indent " If the line ends in a ), then reduce the indent
" This catches items like: " This catches items like:
" CREATE TABLE T1( " CREATE TABLE T1(
@ -368,7 +374,7 @@ function! GetSQLIndent()
" But we do not want to unindent a line like: " But we do not want to unindent a line like:
" IF ( c1 = 1 " IF ( c1 = 1
" AND c2 = 3 ) THEN " AND c2 = 3 ) THEN
" let num_unmatched_right = s:CountUnbalancedParan( line, ')' ) " let num_unmatched_right = s:CountUnbalancedParen( line, ')' )
" if num_unmatched_right > 0 " if num_unmatched_right > 0
" elseif strpart( line, strlen(line)-1, 1 ) =~ ')' " elseif strpart( line, strlen(line)-1, 1 ) =~ ')'
" let ind = ind - shiftwidth() " let ind = ind - shiftwidth()

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

@ -23,4 +23,14 @@ bar">
text text
</div> </div>
<dl>
<dd>
dd text
</dd>
<dt>
dt text
</dt>
</dl>
" END_INDENT " END_INDENT

View File

@ -23,4 +23,14 @@
text text
</div> </div>
<dl>
<dd>
dd text
</dd>
<dt>
dt text
</dt>
</dl>
" END_INDENT " END_INDENT

View File

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

@ -12,3 +12,8 @@ map2:
map: &anchor map: &anchor
map: val map: val
# END_INDENT # END_INDENT
# START_INDENT
map: multiline
value
# END_INDENT

View File

@ -12,3 +12,8 @@ map2:
map: &anchor map: &anchor
map: val map: val
# END_INDENT # END_INDENT
# START_INDENT
map: multiline
value
# END_INDENT

View File

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

View File

@ -1,7 +1,8 @@
" Vim indent file " Vim indent file
" Language: YAML " Language: YAML
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com> " Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" Last Change: 2019 Sep 28 " Last Update: Lukas Reineke
" Last Change: 2020 Jun 07
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists('b:did_indent') if exists('b:did_indent')
@ -53,7 +54,7 @@ let s:c_ns_anchor_name = s:c_ns_anchor_char.'+'
let s:c_ns_anchor_property = '\v\&'.s:c_ns_anchor_name let s:c_ns_anchor_property = '\v\&'.s:c_ns_anchor_name
let s:ns_word_char = '\v[[:alnum:]_\-]' let s:ns_word_char = '\v[[:alnum:]_\-]'
let s:ns_tag_char = '\v%(%\x\x|'.s:ns_word_char.'|[#/;?:@&=+$.~*''()])' let s:ns_tag_char = '\v%('.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
let s:c_named_tag_handle = '\v\!'.s:ns_word_char.'+\!' let s:c_named_tag_handle = '\v\!'.s:ns_word_char.'+\!'
let s:c_secondary_tag_handle = '\v\!\!' let s:c_secondary_tag_handle = '\v\!\!'
let s:c_primary_tag_handle = '\v\!' let s:c_primary_tag_handle = '\v\!'
@ -62,7 +63,7 @@ let s:c_tag_handle = '\v%('.s:c_named_tag_handle.
\ '|'.s:c_primary_tag_handle.')' \ '|'.s:c_primary_tag_handle.')'
let s:c_ns_shorthand_tag = '\v'.s:c_tag_handle . s:ns_tag_char.'+' let s:c_ns_shorthand_tag = '\v'.s:c_tag_handle . s:ns_tag_char.'+'
let s:c_non_specific_tag = '\v\!' let s:c_non_specific_tag = '\v\!'
let s:ns_uri_char = '\v%(%\x\x|'.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])' let s:ns_uri_char = '\v%('.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
let s:c_verbatim_tag = '\v\!\<'.s:ns_uri_char.'+\>' let s:c_verbatim_tag = '\v\!\<'.s:ns_uri_char.'+\>'
let s:c_ns_tag_property = '\v'.s:c_verbatim_tag. let s:c_ns_tag_property = '\v'.s:c_verbatim_tag.
\ '\v|'.s:c_ns_shorthand_tag. \ '\v|'.s:c_ns_shorthand_tag.

View File

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

View File

@ -453,12 +453,12 @@ if has("spell")
an 40.335.260 &Tools.&Spelling.Set\ Language\ to\ "en_us" :set spl=en_us spell<CR> an 40.335.260 &Tools.&Spelling.Set\ Language\ to\ "en_us" :set spl=en_us spell<CR>
an <silent> 40.335.270 &Tools.&Spelling.&Find\ More\ Languages :call <SID>SpellLang()<CR> an <silent> 40.335.270 &Tools.&Spelling.&Find\ More\ Languages :call <SID>SpellLang()<CR>
let s:undo_spellang = ['aun &Tools.&Spelling.&Find\ More\ Languages'] let s:undo_spelllang = ['aun &Tools.&Spelling.&Find\ More\ Languages']
func s:SpellLang() func s:SpellLang()
for cmd in s:undo_spellang for cmd in s:undo_spelllang
exe "silent! " . cmd exe "silent! " . cmd
endfor endfor
let s:undo_spellang = [] let s:undo_spelllang = []
if &enc == "iso-8859-15" if &enc == "iso-8859-15"
let enc = "latin1" let enc = "latin1"
@ -481,7 +481,7 @@ if has("spell")
let found += 1 let found += 1
let menuname = '&Tools.&Spelling.' . escape(g:menutrans_set_lang_to, "\\. \t|") . '\ "' . nm . '"' let menuname = '&Tools.&Spelling.' . escape(g:menutrans_set_lang_to, "\\. \t|") . '\ "' . nm . '"'
exe 'an 40.335.' . n . ' ' . menuname . ' :set spl=' . nm . ' spell<CR>' exe 'an 40.335.' . n . ' ' . menuname . ' :set spl=' . nm . ' spell<CR>'
let s:undo_spellang += ['aun ' . menuname] let s:undo_spelllang += ['aun ' . menuname]
endif endif
let n += 10 let n += 10
endfor endfor

View File

@ -1,7 +1,7 @@
" These commands create the option window. " These commands create the option window.
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Nov 07 " Last Change: 2020 Jun 10
" If there already is an option window, jump to that one. " If there already is an option window, jump to that one.
let buf = bufnr('option-window') let buf = bufnr('option-window')
@ -447,6 +447,9 @@ if has("syntax")
call append("$", "spellcapcheck\tpattern to locate the end of a sentence") call append("$", "spellcapcheck\tpattern to locate the end of a sentence")
call append("$", "\t(local to buffer)") call append("$", "\t(local to buffer)")
call <SID>OptionL("spc") call <SID>OptionL("spc")
call append("$", "spelloptions\tflags to change how spell checking works")
call append("$", "\t(local to buffer)")
call <SID>OptionL("spo")
call append("$", "spellsuggest\tmethods used to suggest corrections") call append("$", "spellsuggest\tmethods used to suggest corrections")
call <SID>OptionG("sps", &sps) call <SID>OptionG("sps", &sps)
call append("$", "mkspellmem\tamount of memory used by :mkspell before compressing") call append("$", "mkspellmem\tamount of memory used by :mkspell before compressing")
@ -1153,7 +1156,7 @@ call <SID>BinOptionG("warn", &warn)
if has("quickfix") if has("quickfix")
call <SID>Header("running make and jumping to errors") call <SID>Header("running make and jumping to errors (quickfix)")
call append("$", "errorfile\tname of the file that contains error messages") call append("$", "errorfile\tname of the file that contains error messages")
call <SID>OptionG("ef", &ef) call <SID>OptionG("ef", &ef)
call append("$", "errorformat\tlist of formats for error messages") call append("$", "errorformat\tlist of formats for error messages")
@ -1174,6 +1177,8 @@ if has("quickfix")
call append("$", "makeencoding\tencoding of the \":make\" and \":grep\" output") call append("$", "makeencoding\tencoding of the \":make\" and \":grep\" output")
call append("$", "\t(global or local to buffer)") call append("$", "\t(global or local to buffer)")
call <SID>OptionG("menc", &menc) call <SID>OptionG("menc", &menc)
call append("$", "quickfixtextfunc\tfunction to display text in the quickfix window")
call <SID>OptionG("qftf", &qftf)
endif endif

View File

@ -2,7 +2,7 @@
" "
" Author: Bram Moolenaar " Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license" " Copyright: Vim license applies, see ":help license"
" Last Change: 2020 Feb 19 " Last Change: 2020 Jun 12
" "
" WORK IN PROGRESS - Only the basics work " WORK IN PROGRESS - Only the basics work
" Note: On MS-Windows you need a recent version of gdb. The one included with " 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 Source call s:GotoSourcewinOrCreateIt()
command Winbar call s:InstallWinbar() command Winbar call s:InstallWinbar()
" TODO: can the K mapping be restored? if !exists('g:termdebug_map_K') || g:termdebug_map_K
let s:k_map_saved = maparg('K', 'n', 0, 1)
nnoremap K :Evaluate<CR> nnoremap K :Evaluate<CR>
endif
if has('menu') && &mouse != '' if has('menu') && &mouse != ''
call s:InstallWinbar() call s:InstallWinbar()
@ -708,7 +710,10 @@ func s:DeleteCommands()
delcommand Source delcommand Source
delcommand Winbar delcommand Winbar
nunmap K if exists('s:k_map_saved') && !empty(s:k_map_saved)
call mapset('n', 0, s:k_map_saved)
unlet s:k_map_saved
endif
if has('menu') if has('menu')
" Remove the WinBar entries from all windows where it was added. " 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. " Set binary mode before reading the file.
" Use "gzip -d", gunzip isn't always available. " 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 *.gz call gzip#read("gzip -dn")
autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d") autocmd BufReadPost,FileReadPost *.bz2 call gzip#read("bzip2 -d")
autocmd BufReadPost,FileReadPost *.Z call gzip#read("uncompress") 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 *.xz call gzip#read("xz -d")
autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d") autocmd BufReadPost,FileReadPost *.lz call gzip#read("lzip -d")
autocmd BufReadPost,FileReadPost *.zst call gzip#read("zstd -d --rm") 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 *.gz call gzip#write("gzip")
autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2") autocmd BufWritePost,FileWritePost *.bz2 call gzip#write("bzip2")
autocmd BufWritePost,FileWritePost *.Z call gzip#write("compress -f") 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 *.xz call gzip#write("xz -z")
autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip") autocmd BufWritePost,FileWritePost *.lz call gzip#write("lzip")
autocmd BufWritePost,FileWritePost *.zst call gzip#write("zstd --rm") 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 *.gz call gzip#appre("gzip -dn")
autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d") autocmd FileAppendPre *.bz2 call gzip#appre("bzip2 -d")
autocmd FileAppendPre *.Z call gzip#appre("uncompress") autocmd FileAppendPre *.Z call gzip#appre("uncompress")
@ -42,6 +46,8 @@ augroup gzip
autocmd FileAppendPre *.xz call gzip#appre("xz -d") autocmd FileAppendPre *.xz call gzip#appre("xz -d")
autocmd FileAppendPre *.lz call gzip#appre("lzip -d") autocmd FileAppendPre *.lz call gzip#appre("lzip -d")
autocmd FileAppendPre *.zst call gzip#appre("zstd -d --rm") 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 *.gz call gzip#write("gzip")
autocmd FileAppendPost *.bz2 call gzip#write("bzip2") autocmd FileAppendPost *.bz2 call gzip#write("bzip2")
autocmd FileAppendPost *.Z call gzip#write("compress -f") autocmd FileAppendPost *.Z call gzip#write("compress -f")
@ -49,4 +55,6 @@ augroup gzip
autocmd FileAppendPost *.xz call gzip#write("xz -z") autocmd FileAppendPost *.xz call gzip#write("xz -z")
autocmd FileAppendPost *.lz call gzip#write("lzip") autocmd FileAppendPost *.lz call gzip#write("lzip")
autocmd FileAppendPost *.zst call gzip#write("zstd --rm") 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 augroup END

View File

@ -1,6 +1,6 @@
" Vim plugin for showing matching parens " Vim plugin for showing matching parens
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Oct 28 " Last Change: 2020 Jun 18
" Exit quickly when: " Exit quickly when:
" - this plugin was already loaded (or disabled) " - this plugin was already loaded (or disabled)
@ -21,6 +21,7 @@ endif
augroup matchparen augroup matchparen
" Replace all matchparen autocommands " Replace all matchparen autocommands
autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair() autocmd! CursorMoved,CursorMovedI,WinEnter * call s:Highlight_Matching_Pair()
autocmd! WinLeave * call s:Remove_Matches()
if exists('##TextChanged') if exists('##TextChanged')
autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair() autocmd! TextChanged,TextChangedI * call s:Highlight_Matching_Pair()
endif endif
@ -38,10 +39,7 @@ set cpo-=C
" for any matching paren. " for any matching paren.
func s:Highlight_Matching_Pair() func s:Highlight_Matching_Pair()
" Remove any previous match. " Remove any previous match.
if exists('w:paren_hl_on') && w:paren_hl_on call s:Remove_Matches()
silent! call matchdelete(3)
let w:paren_hl_on = 0
endif
" Avoid that we remove the popup menu. " Avoid that we remove the popup menu.
" Return when there are no colors (looks like the cursor jumps). " Return when there are no colors (looks like the cursor jumps).
@ -195,6 +193,14 @@ func s:Highlight_Matching_Pair()
endif endif
endfunction endfunction
func s:Remove_Matches()
if exists('w:paren_hl_on') && w:paren_hl_on
silent! call matchdelete(3)
let w:paren_hl_on = 0
endif
endfunc
" Define commands that will disable and enable the plugin. " Define commands that will disable and enable the plugin.
command DoMatchParen call s:DoMatchParen() command DoMatchParen call s:DoMatchParen()
command NoMatchParen call s:NoMatchParen() command NoMatchParen call s:NoMatchParen()

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types in scripts " Vim support file to detect file types in scripts
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2020 Mar 06 " Last change: 2020 Jun 07
" This file is called by an autocommand for every file that has just been " This file is called by an autocommand for every file that has just been
" loaded into a buffer. It checks if the type of file can be recognized by " loaded into a buffer. It checks if the type of file can be recognized by
@ -35,10 +35,12 @@ let s:line1 = getline(1)
if s:line1 =~# "^#!" if s:line1 =~# "^#!"
" A script that starts with "#!". " A script that starts with "#!".
" Check for a line like "#!/usr/bin/env VAR=val bash". Turn it into " Check for a line like "#!/usr/bin/env {options} bash". Turn it into
" "#!/usr/bin/bash" to make matching easier. " "#!/usr/bin/bash" to make matching easier.
" Recognize only a few {options} that are commonly used.
if s:line1 =~# '^#!\s*\S*\<env\s' if s:line1 =~# '^#!\s*\S*\<env\s'
let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g') let s:line1 = substitute(s:line1, '\S\+=\S\+', '', 'g')
let s:line1 = substitute(s:line1, '\(-[iS]\|--ignore-environment\|--split-string\)', '', '')
let s:line1 = substitute(s:line1, '\<env\s\+', '', '') let s:line1 = substitute(s:line1, '\<env\s\+', '', '')
endif endif

81
runtime/spell/eu/main.aap Normal file
View File

@ -0,0 +1,81 @@
# Aap recipe for Basque Vim spell files.
#
# NOTE: This takes a VERY long time: several hours on a modern PC, more than
# a day on older systems.
# Select the amount of memory that can be used.
# Default.
#SETTING = 'set mkspellmem=460000,2000,500'
# For about 1 Tbyte of RAM.
#SETTING = 'set mkspellmem=900000,4000,1000'
# For about 2 Tbyte of RAM.
#SETTING = 'set mkspellmem=1900000,8000,2000'
# For about 4 Tbyte of RAM.
#SETTING = 'set mkspellmem=3900000,16000,4000'
# For about 8 Tbyte of RAM.
SETTING = 'set mkspellmem=7900000,30000,8000'
# Use a freshly compiled Vim if it exists.
@if os.path.exists('../../../src/vim'):
VIM = ../../../src/vim
@else:
:progsearch VIM vim
SPELLDIR = ..
FILES = eu_ES.aff eu_ES.dic
all: $SPELLDIR/eu.utf-8.spl ../README_eu.txt
$SPELLDIR/eu.utf-8.spl : $FILES
:sys env LANG=eu_ES.UTF-8
$VIM -u NONE -e -c $SETTING -c "mkspell! $SPELLDIR/eu eu_ES" -c q
#
# Fetching the files.
# URL suggested by Zuhaitz Beloki Leiza.
#
:attr {fetch = http://xuxen.eus/static/hunspell/xuxen_5.1_hunspell.tar.gz} xuxen_5.1_hunspell.tar.gz
# The files don't depend on the tar file so that we can delete it.
# Only download the tar file if the targets don't exist.
eu_ES.aff eu_ES.dic: {buildcheck=}
:assertpkg tar
:fetch xuxen_5.1_hunspell.tar.gz
:sys tar xf xuxen_5.1_hunspell.tar.gz
:update cleanunused
@if not os.path.exists('eu_ES.orig.aff'):
:copy eu_ES.aff eu_ES.orig.aff
@if not os.path.exists('eu_ES.orig.dic'):
:copy eu_ES.dic eu_ES.orig.dic
@if os.path.exists('eu_ES.diff'):
:sys patch <eu_ES.diff
../README_eu.txt : LICENSE.txt
:cat $source >! $target
# Delete all the files unpacked from the archive
clean: cleanunused
:delete {f} eu_ES.dic
:delete {f} eu_ES.aff
# Delete all the files from the archive that are not used, including the
# archive itself.
cleanunused:
:delete {f} xuxen_5.1_hunspell.tar.gz
# Generate diff files, so that others can get the files and apply
# the diffs to get the Vim versions.
diff:
:assertpkg diff
:sys {force} diff -a -C 1 eu_ES.orig.aff eu_ES.aff >eu_ES.diff
:sys {force} diff -a -C 1 eu_ES.orig.dic eu_ES.dic >>eu_ES.diff
# vim: set sts=4 sw=4 :

View File

@ -5,9 +5,10 @@
# aap diff create all the diff files # aap diff create all the diff files
# "hu" is at the end, because it takes a very long time. # "hu" is at the end, because it takes a very long time.
# "eu" takes even longer (4 hours on my system).
LANG = af am bg br ca cs cy da de el en eo es fr fo ga gd gl he hr id it LANG = af am bg br ca cs cy da de el en eo es fr fo ga gd gl he hr id it
ku la lt lv mg mi ms nb nl nn ny pl pt ro ru rw sk sl sv sw ku la lt lv mg mi ms nb nl nn ny pl pt ro ru rw sk sl sv sw
tet th tl tn tr uk yi zu hu tet th tl tn tr uk yi zu hu eu
# TODO: # TODO:
# Finnish doesn't work, the dictionary fi_FI.zip file contains hyphenation... # Finnish doesn't work, the dictionary fi_FI.zip file contains hyphenation...
@ -15,6 +16,12 @@ LANG = af am bg br ca cs cy da de el en eo es fr fo ga gd gl he hr id it
diff: $*LANG/diff diff: $*LANG/diff
:print Done. :print Done.
# Use "aap publish" to upload the .spl files.
SPL_files = eu.utf-8.spl
UPDIR = rsync://bram@ftp1.nluug.nl//var/ftp/pub/vim/runtime/spell
:attr {publish = $UPDIR/%file%} $SPL_files
@for l in string.split(_no.LANG): @for l in string.split(_no.LANG):
:child $l/main.aap :child $l/main.aap

View File

@ -1,11 +1,13 @@
" Vim syntax file " Vim syntax file
" Language: AsciiDoc " Language: AsciiDoc
" Author: Stuart Rackham <srackham@gmail.com> (inspired by Felix " 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). " Obenhuber's original asciidoc.vim script).
" URL: http://asciidoc.org/ " URL: http://asciidoc.org/
" Licence: GPL (http://www.gnu.org) " Licence: GPL (http://www.gnu.org)
" Remarks: Vim 6 or greater " Remarks: Vim 6 or greater
" Last Update: 2014 Aug 29 (see Issue 240) " Last Update: 2020 May 03 (see Issue 240)
" Limitations: " Limitations:
" "
" - Nested quoted text formatting is highlighted according to the outer " - Nested quoted text formatting is highlighted according to the outer
@ -23,9 +25,7 @@ if exists("b:current_syntax")
finish finish
endif endif
syn clear " Use the default syntax syncing.
syn sync fromstart
syn sync linebreaks=100
" Run :help syn-priority to review syntax matching priority. " Run :help syn-priority to review syntax matching priority.
syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED

View File

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

View File

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

View File

@ -1,107 +1,267 @@
" Vim syntax file " Vim syntax file
" Language: .desktop, .directory files " Language: XDG desktop entry
" according to freedesktop.org specification 0.9.4 " Filenames: *.desktop, *.directory
" http://pdx.freedesktop.org/Standards/desktop-entry-spec/desktop-entry-spec-0.9.4.html " Maintainer: Eisuke Kawashima ( e.kawaschima+vim AT gmail.com )
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl ) " Previous Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2016 Apr 02 " Last Change: 2020-06-11
" (added "Keywords") " Version Info: desktop.vim 1.5
" Version Info: desktop.vim 0.9.4-1.2 " References:
" - https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.5.html (2020-04-27)
" - https://specifications.freedesktop.org/icon-theme-spec/icon-theme-spec-0.11.html (2006-02-07)
" quit when a syntax file was already loaded " quit when a syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
endif endif
" This syntax file can be used to all *nix configuration files similar to dos let s:cpo_save = &cpo
" ini format (eg. .xawtv, .radio, kde rc files) - this is default mode. But set cpo&vim
" you can also enforce strict following of freedesktop.org standard for
" .desktop and .directory files . Set (eg. in vimrc)
" let enforce_freedesktop_standard = 1
" and nonstandard extensions not following X- notation will not be highlighted.
if exists("enforce_freedesktop_standard")
let b:enforce_freedesktop_standard = 1
else
let b:enforce_freedesktop_standard = 0
endif
" case on
syn case match syn case match
" General " Variable {{{1
if b:enforce_freedesktop_standard == 0 " This syntax file can be used to all *nix configuration files similar to dos
syn match dtNotStLabel "^.\{-}=\@=" nextgroup=dtDelim " ini format (eg. .xawtv, .radio, kde rc files) - this is default mode.
" By default strict following of freedesktop.org standard is enforced.
" To highlight nonstandard extensions that does not begin with X-, set
" let g:desktop_enable_nonstd = v:true
" Note that this may cause wrong highlight.
" To highlight KDE-reserved features, set
" let g:desktop_enable_kde = v:true
" g:desktop_enable_kde follows g:desktop_enable_nonstd if not supplied
if exists("g:desktop_enable_nonstd") && g:desktop_enable_nonstd
let s:desktop_enable_nonstd = v:true
else
let s:desktop_enable_nonstd = v:false
endif endif
syn match dtGroup /^\s*\[.*\]/ if exists("g:desktop_enable_kde") && g:desktop_enable_kde || s:desktop_enable_nonstd
syn match dtComment /^\s*#.*$/ let s:desktop_enable_kde = v:true
else
let s:desktop_enable_kde = v:false
endif
" Comment {{{1
syn match dtComment /^#.*$/
" Error {{{1
syn match dtError /\%(^\s.*\|\s\+$\)/
" Group Header {{{1
" ASCII printable characters except for brackets [ (0x5B) and ] (0x5D)
syn match dtGroup /^\[[\x20-\x5A\x5C\x5E-\x7E]\+\]$/
" Entries {{{1
syn match dtDelim /=/ contained syn match dtDelim /=/ contained
" lang_territory.codeset@modifier
syn match dtLocaleSuffix
\ /\[\%(C\|POSIX\|[a-z]\{2,4}\%(_[A-Z0-9]\{2,3}\)\?\)\%(\.[A-Za-z0-9_-]\+\)\?\%(@[A-Za-z]\+\)\?\]\ze\s*=/
\ contained
" Locale " Boolean Value {{{2
syn match dtLocale /^\s*\<\(Name\|GenericName\|Comment\|SwallowTitle\|Icon\|UnmountIcon\)\>.*/ contains=dtLocaleKey,dtLocaleName,dtDelim transparent syn match dtBoolean
syn keyword dtLocaleKey Name GenericName Comment SwallowTitle Icon UnmountIcon nextgroup=dtLocaleName containedin=dtLocale \ /^\%(DBusActivatable\|Hidden\|NoDisplay\|PrefersNonDefaultGPU\|StartupNotify\|Terminal\)\s*=\s*\%(true\|false\)/
syn match dtLocaleName /\(\[.\{-}\]\s*=\@=\|\)/ nextgroup=dtDelim containedin=dtLocale contained \ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent
syn keyword dtBooleanKey
\ DBusActivatable Hidden NoDisplay PrefersNonDefaultGPU StartupNotify Terminal
\ contained nextgroup=dtDelim
" Numeric if s:desktop_enable_kde
syn match dtNumeric /^\s*\<Version\>/ contains=dtNumericKey,dtDelim syn match dtBoolean
syn keyword dtNumericKey Version nextgroup=dtDelim containedin=dtNumeric contained \ /^ReadOnly\s*=\s*\%(true\|false\)/
\ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent
syn keyword dtBooleanKey
\ ReadOnly
\ contained nextgroup=dtDelim
endif
syn keyword dtBooleanValue true false contained
" Boolean " Numeric Value {{{2
syn match dtBoolean /^\s*\<\(StartupNotify\|ReadOnly\|Terminal\|Hidden\|NoDisplay\)\>.*/ contains=dtBooleanKey,dtDelim,dtBooleanValue transparent " icon theme
syn keyword dtBooleanKey StartupNotify ReadOnly Terminal Hidden NoDisplay nextgroup=dtDelim containedin=dtBoolean contained syn match dtNumeric /^\%(MaxSize\|MinSize\|Size\|Threshold\)\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal
syn keyword dtBooleanValue true false containedin=dtBoolean contained syn keyword dtNumericKey
\ MaxSize MinSize Size Threshold
\ contained nextgroup=dtDelim
" String if s:desktop_enable_kde
syn match dtString /^\s*\<\(Encoding\|Icon\|Path\|Actions\|FSType\|MountPoint\|UnmountIcon\|URL\|Keywords\|Categories\|OnlyShowIn\|NotShowIn\|StartupWMClass\|FilePattern\|MimeType\)\>.*/ contains=dtStringKey,dtDelim transparent syn match dtNumeric /^InitialPreference\s*=\s*\d\+/ contains=dtNumericKey,dtDelim,dtNumericDecimal
syn keyword dtStringKey Type Encoding TryExec Exec Path Actions FSType MountPoint URL Keywords Categories OnlyShowIn NotShowIn StartupWMClass FilePattern MimeType nextgroup=dtDelim containedin=dtString contained syn keyword dtNumericKey
\ InitialPreference
\ contained nextgroup=dtDelim
endif
" Exec syn match dtNumericDecimal /\<\d\+$/ contained
syn match dtExec /^\s*\<\(Exec\|TryExec\|SwallowExec\)\>.*/ contains=dtExecKey,dtDelim,dtExecParam transparent
syn keyword dtExecKey Exec TryExec SwallowExec nextgroup=dtDelim containedin=dtExec contained
syn match dtExecParam /%[fFuUnNdDickv]/ containedin=dtExec contained
" Type " String Value {{{2
syn match dtType /^\s*\<Type\>.*/ contains=dtTypeKey,dtDelim,dtTypeValue transparent syn match dtString
syn keyword dtTypeKey Type nextgroup=dtDelim containedin=dtType contained \ /^\%(Actions\|Implements\|MimeType\|NotShowIn\|OnlyShowIn\|Path\|StartupWMClass\|URL\)\s*=.*\S/
syn keyword dtTypeValue Application Link FSDevice Directory containedin=dtType contained \ contains=dtStringKey,dtDelim transparent
syn keyword dtStringKey
\ Actions Implements MimeType NotShowIn OnlyShowIn Path StartupWMClass URL Version
\ contained nextgroup=dtDelim
" X-Addition " icon theme
syn match dtXAdd /^\s*X-.*/ contains=dtXAddKey,dtDelim transparent syn match dtString
syn match dtXAddKey /^\s*X-.\{-}\s*=\@=/ nextgroup=dtDelim containedin=dtXAdd contains=dtXLocale contained \ /^\%(Context\|Directories\|Example\|Inherits\)\s*=.*\S/
\ contains=dtStringKey,dtDelim transparent
syn keyword dtStringKey
\ Context Directories Example Inherits
\ contained nextgroup=dtDelim
" Locale for X-Addition if s:desktop_enable_kde
syn match dtXLocale /\[.\{-}\]\s*=\@=/ containedin=dtXAddKey contained syn match dtString
\ /^\%(Dev\|DocPath\|FSType\|MountPoint\|ServiceTypes\)\s*=.*\S/
\ contains=dtStringKey,dtDelim transparent
syn keyword dtStringKey
\ Dev DocPath FSType MountPoint ServiceTypes
\ contained nextgroup=dtDelim
endif
" Locale for all " Categories {{{3
syn match dtALocale /\[.\{-}\]\s*=\@=/ containedin=ALL " https://specifications.freedesktop.org/menu-spec/menu-spec-1.0.html#category-registry
syn match dtCategories /^Categories\s*=.\+\S/ contains=dtCategoriesKey,dtDelim,dtCategoriesValue transparent
syn keyword dtCategoriesKey
\ Categories
\ contained nextgroup=dtDelim
" Main Categories
syn keyword dtCategoriesValue
\ Audio AudioVideo Development Education Game Graphics Network Office
\ Settings System Utility Video
\ contained
" Additional Categories
syn keyword dtCategoriesValue
\ BoardGame Chat Clock Geoscience Presentation 2DGraphics 3DGraphics
\ Accessibility ActionGame AdventureGame Amusement ArcadeGame Archiving
\ Art ArtificialIntelligence Astronomy AudioVideoEditing Biology
\ BlocksGame BoardGame Building Calculator Calendar CardGame Chart Chat
\ Chemistry Clock Compression ComputerScience ConsoleOnly Construction
\ ContactManagement Core DataVisualization Database Debugger
\ DesktopSettings Dialup Dictionary DiscBurning Documentation Economy
\ Electricity Electronics Email Emulator Engineering FileManager
\ FileTools FileTransfer Filesystem Finance FlowChart GNOME GTK
\ GUIDesigner Geography Geology Geoscience HamRadio HardwareSettings
\ History IDE IRCClient ImageProcessing InstantMessaging Java KDE
\ KidsGame Languages Literature LogicGame Math MedicalSoftware Midi
\ Mixer Monitor Motif Music News NumericalAnalysis OCR P2P PDA
\ PackageManager ParallelComputing Photography Physics Player
\ Presentation Printing Profiling ProjectManagement Publishing Qt
\ RasterGraphics Recorder RemoteAccess RevisionControl Robotics
\ RolePlaying Scanning Science Security Sequencer Simulation Sports
\ SportsGame Spreadsheet StrategyGame TV Telephony TelephonyTools
\ TerminalEmulator TextEditor TextTools Translation Tuner VectorGraphics
\ VideoConference Viewer WebBrowser WebDevelopment WordProcessor
\ contained
" Reserved Category
syn keyword dtCategoriesValue
\ Applet Screensaver Shell TrayIcon
\ contained
" Exec/TryExec {{{3
syn match dtExec /^\%(Exec\|TryExec\)\s*=.\+\S/ contains=dtExecKey,dtDelim,dtExecParam transparent
syn keyword dtExecKey
\ Exec TryExec
\ contained nextgroup=dtDelim
" code for file(s), URL(s), etc
syn match dtExecParam /\s\zs%[fFuUick]\ze\%(\W\|$\)/ contained
" Type {{{3
syn match dtType /^Type\s*=\s*\S\+/ contains=dtTypeKey,dtDelim,dtTypeValue transparent
syn keyword dtTypeKey
\ Type
\ contained nextgroup=dtDelim
syn keyword dtTypeValue
\ Application Directory Link
\ contained
if s:desktop_enable_kde
syn keyword dtTypeValue
\ FSDevice Service ServiceType
\ contained
endif
" Define the default highlighting. " Version {{{3
" Only when an item doesn't have highlighting yet syn match dtVersion /^Version\s*=\s*\S\+/ contains=dtVersionKey,dtDelim,dtVersionValue transparent
syn keyword dtVersionKey
\ Version
\ contained nextgroup=dtDelim
syn match dtVersionValue /[0-9]\+\%(\.[0-9]\+\)\{1,2}$/ contained
" Localestring Value {{{2
syn match dtLocalestring
\ /^\%(Comment\|GenericName\|Keywords\|Name\)\%(\[.\{-}\]\)\?\s*=.*\S/
\ contains=dtLocalestringKey,dtLocaleSuffix,dtDelim transparent
syn keyword dtLocalestringKey
\ Comment GenericName Keywords Name
\ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite
" Iconstring Value {{{2
syn match dtIconstring
\ /^Icon\s*=.*\S/
\ contains=dtIconstringKey,dtDelim transparent
syn keyword dtIconstringKey
\ Icon
\ contained nextgroup=dtDelim skipwhite
if s:desktop_enable_kde
syn match dtIconstring
\ /^UnmountIcon\>\%(\[.\{-}\]\)\?\s*=.*\S/
\ contains=dtIconstringKey,dtLocaleSuffix,dtDelim transparent
syn keyword dtIconstringKey
\ UnmountIcon
\ contained nextgroup=dtLocaleSuffix,dtDelim skipwhite
endif
" X-Extension {{{2
syn match dtXExtension /^X-[0-9A-Za-z-]*\%(\[.\{-}\]\)\?\s*=.*\S/
\ contains=dtXExtensionKey,dtLocaleSuffix,dtDelim transparent
syn match dtXExtensionKey /^X-[0-9A-Za-z-]*/ contained nextgroup=dtLocaleSuffix,dtDelim
" non standard {{{2
if s:desktop_enable_nonstd
syn match dtNonStdLabel /^[0-9A-Za-z-]\+\%(\[.\{-}\]\)\?\s*=.*\S/
\ contains=dtNonStdLabelKey,dtLocaleSuffix,dtDelim transparent
syn match dtNonStdLabelKey /^[0-9A-Za-z-]\+/ contained nextgroup=dtLocaleSuffix,dtDelim
endif
" Highlight {{{1
hi def link dtComment Comment
hi def link dtError Error
hi def link dtGroup Special hi def link dtGroup Special
hi def link dtComment Comment
hi def link dtDelim String
hi def link dtLocaleKey Type hi def link dtDelim Delimiter
hi def link dtLocaleName Identifier hi def link dtLocaleSuffix Identifier
hi def link dtXLocale Identifier
hi def link dtALocale Identifier
hi def link dtNumericKey Type
hi def link dtBooleanKey Type hi def link dtBooleanKey Type
hi def link dtBooleanValue Constant hi def link dtBooleanValue Boolean
hi def link dtNumericKey Type
hi def link dtNumericDecimal Number
hi def link dtStringKey Type hi def link dtStringKey Type
hi def link dtCategoriesKey Type
hi def link dtCategoriesValue Constant
hi def link dtExecKey Type hi def link dtExecKey Type
hi def link dtExecParam Special hi def link dtExecParam Special
hi def link dtTypeKey Type hi def link dtTypeKey Type
hi def link dtTypeValue Constant hi def link dtTypeValue Constant
hi def link dtNotStLabel Type hi def link dtVersionKey Type
hi def link dtXAddKey Type hi def link dtVersionValue Constant
hi def link dtLocalestringKey Type
hi def link dtIconStringKey Type
hi def link dtXExtensionKey Type
hi def link dtNonStdLabelKey Type
" Clean Up {{{1
let b:current_syntax = "desktop" let b:current_syntax = "desktop"
let &cpo = s:cpo_save
" vim:ts=8 " vim:ts=8:sw=2:fdm=marker

105
runtime/syntax/elm.vim Normal file
View File

@ -0,0 +1,105 @@
" Vim syntax file
" Language: Elm
" Maintainer: Andreas Scharf <as@99n.de>
" Original Author: Joseph Hager <ajhager@gmail.com>
" Copyright: Joseph Hager <ajhager@gmail.com>
" License: BSD3
" Latest Revision: 2020-05-29
if exists('b:current_syntax')
finish
endif
" Keywords
syn keyword elmConditional else if of then case
syn keyword elmAlias alias
syn keyword elmTypedef contained type port
syn keyword elmImport exposing as import module where
" Operators
" elm/core
syn match elmOperator contained "\(<|\||>\|||\|&&\|==\|/=\|<=\|>=\|++\|::\|+\|-\|*\|/\|//\|^\|<>\|>>\|<<\|<\|>\|%\)"
" elm/parser
syn match elmOperator contained "\(|.\||=\)"
" elm/url
syn match elmOperator contained "\(</>\|<?>\)"
" Types
syn match elmType "\<[A-Z][0-9A-Za-z_-]*"
syn keyword elmNumberType number
" Modules
syn match elmModule "\<\([A-Z][0-9A-Za-z_'-\.]*\)\+\.[A-Za-z]"me=e-2
syn match elmModule "^\(module\|import\)\s\+[A-Z][0-9A-Za-z_'-\.]*\(\s\+as\s\+[A-Z][0-9A-Za-z_'-\.]*\)\?\(\s\+exposing\)\?" contains=elmImport
" Delimiters
syn match elmDelimiter "[,;]"
syn match elmBraces "[()[\]{}]"
" Functions
syn match elmTupleFunction "\((,\+)\)"
" Comments
syn keyword elmTodo TODO FIXME XXX contained
syn match elmLineComment "--.*" contains=elmTodo,@spell
syn region elmComment matchgroup=elmComment start="{-|\=" end="-}" contains=elmTodo,elmComment,@spell fold
" Strings
syn match elmStringEscape "\\u[0-9a-fA-F]\{4}" contained
syn match elmStringEscape "\\[nrfvbt\\\"]" contained
syn region elmString start="\"" skip="\\\"" end="\"" contains=elmStringEscape,@spell
syn region elmTripleString start="\"\"\"" skip="\\\"" end="\"\"\"" contains=elmStringEscape,@spell
syn match elmChar "'[^'\\]'\|'\\.'\|'\\u[0-9a-fA-F]\{4}'"
" Lambda
syn region elmLambdaFunc start="\\"hs=s+1 end="->"he=e-2
" Debug
syn match elmDebug "Debug.\(log\|todo\|toString\)"
" Numbers
syn match elmInt "-\?\<\d\+\>"
syn match elmFloat "-\?\(\<\d\+\.\d\+\>\)"
" Identifiers
syn match elmTopLevelDecl "^\s*[a-zA-Z][a-zA-z0-9_]*\('\)*\s\+:\(\r\n\|\r\|\n\|\s\)\+" contains=elmOperator
syn match elmFuncName /^\l\w*/
" Folding
syn region elmTopLevelTypedef start="type" end="\n\(\n\n\)\@=" contains=ALL fold
syn region elmTopLevelFunction start="^[a-zA-Z].\+\n[a-zA-Z].\+=" end="^\(\n\+\)\@=" contains=ALL fold
syn region elmCaseBlock matchgroup=elmCaseBlockDefinition start="^\z\(\s\+\)\<case\>" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\n\z1\@!\(\n\n\)\@=" contains=ALL fold
syn region elmCaseItemBlock start="^\z\(\s\+\).\+->$" end="^\z1\@!\W\@=" end="\(\n\n\z1\@!\)\@=" end="\(\n\z1\S\)\@=" contains=ALL fold
syn region elmLetBlock matchgroup=elmLetBlockDefinition start="\<let\>" end="\<in\>" contains=ALL fold
hi def link elmFuncName Function
hi def link elmCaseBlockDefinition Conditional
hi def link elmCaseBlockItemDefinition Conditional
hi def link elmLetBlockDefinition TypeDef
hi def link elmTopLevelDecl Function
hi def link elmTupleFunction Normal
hi def link elmTodo Todo
hi def link elmComment Comment
hi def link elmLineComment Comment
hi def link elmString String
hi def link elmTripleString String
hi def link elmChar String
hi def link elmStringEscape Special
hi def link elmInt Number
hi def link elmFloat Float
hi def link elmDelimiter Delimiter
hi def link elmBraces Delimiter
hi def link elmTypedef TypeDef
hi def link elmImport Include
hi def link elmConditional Conditional
hi def link elmAlias Delimiter
hi def link elmOperator Operator
hi def link elmType Type
hi def link elmNumberType Identifier
hi def link elmLambdaFunc Function
hi def link elmDebug Debug
hi def link elmModule Type
syn sync minlines=500
let b:current_syntax = 'elm'

View File

@ -3,7 +3,7 @@
" Maintainer: Josh Wainwright <wainwright DOT ja AT gmail DOT com> " Maintainer: Josh Wainwright <wainwright DOT ja AT gmail DOT com>
" Last Maintainer: Andrew Rasmussen andyras@users.sourceforge.net " Last Maintainer: Andrew Rasmussen andyras@users.sourceforge.net
" Original Maintainer: John Hoelzel johnh51@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 " Filenames: *.gnu *.plt *.gpi *.gih *.gp *.gnuplot scripts: #!*gnuplot
" URL: http://www.vim.org/scripts/script.php?script_id=4873 " URL: http://www.vim.org/scripts/script.php?script_id=4873
" Original URL: http://johnh51.get.to/vim/syntax/gnuplot.vim " 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 ---- " " ---- Macros ---- "
syn region gnuplotMacro start="@" end=" " syn match gnuplotMacro "@[a-zA-Z0-9_]*"
" ---- Todos ---- " " ---- Todos ---- "

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