Compare commits

...

395 Commits

Author SHA1 Message Date
823edd1eed patch 8.1.2203: running libvterm tests without the +terminal feature
Problem:    Running libvterm tests without the +terminal feature.
Solution:   Only add the libvterm test target when building libvterm.
2019-10-23 22:35:36 +02:00
93bbf33ceb patch 8.1.2202: MS-Windows: build failure with GUI and small features
Problem:    MS-Windows: build failure with GUI and small features.
Solution:   Add #ifdef. (Michael Soyka, closes #5097)
2019-10-23 21:43:16 +02:00
13a1f3fb0c patch 8.1.2201: cannot build with dynamically linked Python 3.8
Problem:    Cannot build with dynamically linked Python 3.8.
Solution:   Implement py3__Py_DECREF() and py3__Py_XDECREF(). (Ken Takata,
            closes #4080)
2019-10-23 21:37:25 +02:00
1cac70953d patch 8.1.2200: crash when memory allocation fails
Problem:    Crash when memory allocation fails.
Solution:   Check for NULL curwin and curbuf. (Christian Brabandt,
            closes #4839)
2019-10-22 21:54:31 +02:00
a720be78d7 patch 8.1.2199: build failure when using normal features without GUI
Problem:    Build failure when using normal features without GUI and EXITFREE
            defined.
Solution:   Add #ifdef. (Dominique Pelle, closes #5106)
2019-10-22 21:45:19 +02:00
396b7c78c0 patch 8.1.2198: crash when using :center in autocommand
Problem:    Crash when using :center in autocommand.
Solution:   Bail out early for an empty line. (Dominique pelle, closes #5095)
2019-10-21 23:08:59 +02:00
34ba06b6e6 patch 8.1.2197: ExitPre autocommand may cause accessing freed memory
Problem:    ExitPre autocommand may cause accessing freed memory.
Solution:   Check the window pointer is still valid. (closes #5093)
2019-10-20 22:27:10 +02:00
d53ebfc624 patch 8.1.2196: MS-Windows: running tests with MSVC lacks updates
Problem:    MS-Windows: running tests with MSVC lacks updates.
Solution:   Improve running individual tests on MS-Windows. (closes #4922)
2019-10-20 21:47:20 +02:00
4d14bac8e7 patch 8.1.2195: Vim does not exit when the terminal window is last window
Problem:    Vim does not exit when closing a terminal window and it is the
            last window.
Solution:   Exit Vim if the closed terminal window is the last one.
            (closes #4539)
2019-10-20 21:15:15 +02:00
4b57018ee4 patch 8.1.2194: modifyOtherKeys is not enabled by default
Problem:    ModifyOtherKeys is not enabled by default.
Solution:   Add t_TI and t_TE to the builtin xterm termcap.
2019-10-20 19:53:22 +02:00
a13961536e patch 8.1.2193: popup_setoptions(popup_getoptions()) does not work
Problem:    Popup_setoptions(popup_getoptions()) does not work.
Solution:   Also accept a list with three entries for "moved" and
            "mousemoved". (closes #5081)
2019-10-20 18:46:05 +02:00
dca7abe79c patch 8.1.2192: cannot easily fill the info popup asynchronously
Problem:    Cannot easily fill the info popup asynchronously.
Solution:   Add the "popuphidden" value to 'completeopt'. (closes #4924)
2019-10-20 18:17:57 +02:00
88d3d09e07 patch 8.1.2191: when using modifyOtherKeys CTRL-X mode may not work
Problem:    When using modifyOtherKeys CTRL-X mode may not work.
Solution:   Recognize a control character also in the form with a modifier.
2019-10-20 16:00:47 +02:00
83e9a1ce75 patch 8.1.2190: syntax test fails on Mac
Problem:    Syntax test fails on Mac.
Solution:   Limit the window size to 20 rows.
2019-10-20 14:51:23 +02:00
82260afb0e patch 8.1.2189: syntax highlighting wrong for tab
Problem:    Syntax highlighting wrong for tab.
Solution:   Don't clear syntax attribute n_extra is non-zero.
2019-10-20 13:16:22 +02:00
2b78ab5d0c patch 8.1.2188: build error for missing define
Problem:    Build error for missing define.
Solution:   Add missing change.
2019-10-19 22:50:20 +02:00
b40c2576d4 patch 8.1.2187: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 21:01:05 +02:00
7eed964b41 patch 8.1.2186: error for bad regexp even though regexp is not used
Problem:    Error for bad regexp even though regexp is not used, when writing
            a file. (Arseny Nasokin)
Solution:   Ignore regexp errors. (closes #5059)
2019-10-19 20:57:28 +02:00
bbfd1562ae patch 8.1.2185: syntax test fails
Problem:    Syntax test fails.
Solution:   Add missing file patch.
2019-10-19 20:38:15 +02:00
cfb381421f patch 8.1.2184: option context is not copied when splitting a window
Problem:    Option context is not copied when splitting a window. (Daniel
            Hahler)
Solution:   Copy the option context, so that ":verbose set" works.
            (closes #5066)
2019-10-19 20:18:47 +02:00
ba089307bb patch 8.1.2183: running a test is a bit verbose
Problem:    Running a test is a bit verbose.
Solution:   Silence some messages. (Daniel Hahler, closes #5070)
2019-10-19 18:56:58 +02:00
5b39d7adb0 patch 8.1.2182: test42 seen as binary by git diff
Problem:    Test42 seen as binary by git diff.
Solution:   Add .gitattributes file.  Make explicit that 'cpo' does not
            contain 'S'. (Daniel Hahler, closes #5072)
2019-10-19 18:37:53 +02:00
a74fda6f4d patch 8.1.2181: highlighting wrong when item follows tab
Problem:    Highlighting wrong when item follows tab.
Solution:   Don't use syntax attribute when n_extra is non-zero.
            (Christian Brabandt, closes #5076)
2019-10-19 17:38:03 +02:00
00e192becd patch 8.1.2180: Error E303 is not useful when 'directory' is empty
Problem:    Error E303 is not useful when 'directory' is empty.
Solution:   Skip the error message. (Daniel Hahler, #5067)
2019-10-19 17:01:28 +02:00
b98678a974 patch 8.1.2179: pressing "q" at the more prompt doesn't stop Python output
Problem:    Pressing "q" at the more prompt doesn't stop Python output. (Daniel
            Hahler)
Solution:   Check for got_int in writer(). (closes #5053)
            Also do this for Lua.
2019-10-19 15:18:44 +02:00
15ee567809 patch 8.1.2178: accessing uninitialized memory in test
Problem:    Accessing uninitialized memory in test.
Solution:   Check if there was a match before using the match position.
            (Dominique Pelle, closes #5088)
2019-10-19 14:35:02 +02:00
afbdb905c3 patch 8.1.2177: Dart files are not recognized
Problem:    Dart files are not recognized.
Solution:   Add a filetype rule. (Eugene Ciurana, closes #5087)
2019-10-19 14:10:21 +02:00
8459006af5 patch 8.1.2176: syntax attributes not combined with Visual highlighting
Problem:    Syntax attributes not combined with Visual highlighting. (Arseny
            Nasokin)
Solution:   Combine the attributes. (closes #5083)
2019-10-18 23:12:20 +02:00
c3bf7b56f2 patch 8.1.2175: meson files are not recognized
Problem:    Meson files are not recognized.
Solution:   Add the meson filetype. (Liam Beguin , Nirbheek Chauhan,
            closes #5056)  Also recognize hollywood.
2019-10-18 22:09:34 +02:00
89577b3b3e patch 8.1.2174: screen not recognized as supporting "sgr" mouse codes
Problem:    Screen not recognized as supporting "sgr" mouse codes.
Solution:   Recognize screen 4.7. (Jordan Christiansen, closes #5042)
2019-10-18 21:26:05 +02:00
92ea26b925 patch 8.1.2173: searchit() has too many arguments
Problem:    Searchit() has too many arguments.
Solution:   Move optional arguments to a struct.  Add the "wrapped" argument.
2019-10-18 20:53:34 +02:00
7751d1d1a3 patch 8.1.2172: spell highlight is wrong at start of the line
Problem:    Spell highlight is wrong at start of the line.
Solution:   Fix setting the "v" variable. (closes #5078)
2019-10-18 20:37:08 +02:00
a1cb1d1dce patch 8.1.2171: mouse support not always available
Problem:    Mouse support not always available.
Solution:   Enable mouse support also in tiny version.  Do not define
            FEAT_MOUSE_XTERM on MS-Windows (didn't really work).
2019-10-17 23:00:07 +02:00
0d2c4bf171 patch 8.1.2170: cannot build without the +termresponse feature
Problem:    Cannot build without the +termresponse feature.
Solution:   Add #ifdef.
2019-10-17 22:17:02 +02:00
3cea8a9a51 patch 8.1.2169: terminal flags are never reset
Problem:    Terminal flags are never reset.
Solution:   Reset the flags when setting 'term'.
2019-10-17 21:55:24 +02:00
b1ba9abcb3 patch 8.1.2168: heredoc assignment not skipped in if block
Problem:    Heredoc assignment not skipped in if block.
Solution:   Check if "skip" is set. (closes #5063)
2019-10-16 23:34:42 +02:00
2559a47823 patch 8.1.2167: mapping test fails on MS-Windows
Problem:    Mapping test fails on MS-Windows.
Solution:   Remove all the existing Insert-mode mappings.
2019-10-16 23:33:12 +02:00
4a4981b7cd patch 8.1.2166: rubyeval() not tested as a method
Problem:    Rubyeval() not tested as a method.
Solution:   Change a test case.
2019-10-16 22:36:11 +02:00
2e693a88b2 Update runtime files. 2019-10-16 22:35:02 +02:00
4f2f61a014 patch 8.1.2165: mapping test fails on Mac
Problem:    Mapping test fails on Mac.
Solution:   Remove the default Mac mapping.
2019-10-16 22:27:49 +02:00
7b3d939667 patch 8.1.2164: stuck when using "j" in a popupwin with popup_filter_menu
Problem:    Stuck when using "j" in a popupwin with popup_filter_menu if a
            line wraps.
Solution:   Check the cursor line is visible. (closes #4577)
2019-10-16 22:17:07 +02:00
b2fe1d676f patch 8.1.2163: cannot build with +spell but without +syntax
Problem:    Cannot build with +spell but without +syntax.
Solution:   Add #ifdef. (John Marriott)
2019-10-16 21:33:40 +02:00
4e03933726 patch 8.1.2162: popup resize test is flaky
Problem:    Popup resize test is flaky. (Christian Brabandt)
Solution:   Add the function to the list of flaky tests.
2019-10-16 21:13:35 +02:00
4bd88d568a patch 8.1.2161: mapping test fails
Problem:    Mapping test fails.
Solution:   Run the test separately.
2019-10-16 19:27:26 +02:00
a6cc5beb17 patch 8.1.2160: cannot build with +syntax but without +terminal
Problem:    Cannot build with +syntax but without +terminal.
Solution:   Add #ifdef.
2019-10-16 18:42:26 +02:00
fafb4b18cd patch 8.1.2159: some mappings are listed twice
Problem:    Some mappings are listed twice.
Solution:   Skip mappings duplicated for modifyOtherKeys. (closes #5064)
2019-10-16 18:34:57 +02:00
17efc7fa05 patch 8.1.2158: terminal attributes missing in Terminal-normal mode
Problem:    Terminal attributes missing in Terminal-normal mode.
Solution:   Use "syntax_attr".
2019-10-16 18:11:31 +02:00
8f7b29f033 patch 8.1.2157: libvterm source files missing from distribution
Problem:    Libvterm source files missing from distribution.
Solution:   Rename source files. (closes #5065)
2019-10-16 17:15:18 +02:00
9115c611db patch 8.1.2156: first character after Tab is not highlighted
Problem:    First character after Tab is not highlighted.
Solution:   Remember the syntax attribute for a column.
2019-10-16 16:57:06 +02:00
a3817730c0 patch 8.1.2155: in a terminal window 'cursorlineopt' does not work properly
Problem:    In a terminal window 'cursorlineopt' does not work properly.
Solution:   Check the 'cursorlineopt' value. (closes #5055)
2019-10-16 16:31:44 +02:00
1142a31b8c patch 8.1.2154: quickfix window height wrong when there is a tabline
Problem:    Quickfix window height wrong when there is a tabline. (Daniel
            Hahler)
Solution:   Take the tabline height into account. (closes #5058)
2019-10-16 14:51:39 +02:00
3439028c89 patch 8.1.2153: combining text property and syntax highlight is wrong
Problem:    Combining text property and syntax highlight is wrong. (Nick
            Jensen)
Solution:   Compute the syntax highlight attribute much earlier.
            (closes #5057)
2019-10-16 14:38:26 +02:00
27fc8cab22 patch 8.1.2152: problems navigating tags file on MacOS Catalina
Problem:    Problems navigating tags file on MacOS Catalina.
Solution:   Use fseek instead of lseek. (John Lamb, fixes #5061)
2019-10-15 22:23:37 +02:00
3c8cd4a1dc patch 8.1.2151: state test is a bit flaky
Problem:    State test is a bit flaky.
Solution:   Add to the list of flaky tests.
2019-10-14 22:26:20 +02:00
03b00476ee patch 8.1.2150: no test for 'ttymouse' set from xterm version response
Problem:    No test for 'ttymouse' set from xterm version response.
Solution:   Test the three possible values.
2019-10-14 22:22:03 +02:00
e3a22cb1ba patch 8.1.2149: crash when running out of memory very early
Problem:    Crash when running out of memory very early.
Solution:   Do not use IObuff when it's NULL. (closes #5052)
2019-10-14 22:01:57 +02:00
6aa7523b96 patch 8.1.2148: no test for right click extending Visual area
Problem:    No test for right click extending Visual area.
Solution:   Add a test. (Dominique Pelle, closes #5018)
2019-10-13 21:01:34 +02:00
53efb18530 patch 8.1.2147: crash when allocating memory fails
Problem:    Crash when allocating memory fails. (Zu-Ming Jiang)
Solution:   Check that 'spellcapcheck' is not NULL. (closes #5048)
2019-10-13 19:49:26 +02:00
1e7b52ad8a patch 8.1.2146: build failure
Problem:    Build failure.
Solution:   Include omitted changed file.
2019-10-13 16:59:08 +02:00
459fd785e4 patch 8.1.2145: cannot map <C-H> when modifyOtherKeys is enabled
Problem:    Cannot map <C-H> when modifyOtherKeys is enabled.
Solution:   Add the <C-H> mapping twice, both with modifier and as 0x08.  Use
            only the first one when modifyOtherKeys has been detected.
2019-10-13 16:43:39 +02:00
171a921b51 patch 8.1.2144: side effects when using t_ti to enable modifyOtherKeys
Problem:    Side effects when using t_ti to enable modifyOtherKeys.
Solution:   Add t_TI and t_TE.
2019-10-12 21:08:59 +02:00
4facea310c patch 8.1.2143: cannot see each command even when 'verbose' is set
Problem:    Cannot see each command even when 'verbose' is set.
Solution:   List each command when 'verbose' is at least 16.
2019-10-12 20:17:40 +02:00
d1e2f3984a patch 8.1.2142: some key mappings do not work with modifyOtherKeys
Problem:    Some key mappings do not work with modifyOtherKeys.
Solution:   Remove the Shift modifier if it is already included in the key.
2019-10-12 18:22:50 +02:00
e8070987c6 patch 8.1.2141: :tselect has an extra hit-enter prompt
Problem:    :tselect has an extra hit-enter prompt.
Solution:   Do not set need_wait_return when only moving the cursor.
            (closes #5040)
2019-10-12 17:07:06 +02:00
ceba3dd518 patch 8.1.2140: "gk" and "gj" do not work correctly in number column
Problem:    "gk" and "gj" do not work correctly in number column.
Solution:   Allow for a negative "curswant". (Zach Wegner, closes #4969)
2019-10-12 16:12:54 +02:00
18a79a6841 patch 8.1.2139: the modifyOtherKeys codes are not tested
Problem:    The modifyOtherKeys codes are not tested.
Solution:   Add a test case.
2019-10-12 15:36:11 +02:00
4cdbed33e4 patch 8.1.2138: including the build number in the Win32 binary is confusing
Problem:    Including the build number in the Win32 binary is confusing.
Solution:   Only use the patchlevel.
2019-10-12 15:02:47 +02:00
1a4cbb19de patch 8.1.2137: parsing the termresponse is not tested
Problem:    Parsing the termresponse is not tested.
Solution:   Add a first test. (related to #5042)
2019-10-12 13:25:44 +02:00
ec66c41d84 patch 8.1.2136: using freed memory with autocmd from fuzzer
Problem:    using freed memory with autocmd from fuzzer. (Dhiraj Mishra,
            Dominique Pelle)
Solution:   Avoid using "wp" after autocommands. (closes #5041)
2019-10-11 21:19:13 +02:00
00eab7f128 patch 8.1.2135: with modifyOtherKeys Alt-a does not work properly
Problem:    With modifyOtherKeys Alt-a does not work properly.
Solution:   Remove the ALT modifier.  Get multi-byte after applying ALT.
2019-10-10 21:49:28 +02:00
6a0299d8f4 patch 8.1.2134: modifier keys are not always recognized
Problem:    Modifier keys are not always recognized.
Solution:   Handle key codes generated by xterm with modifyOtherKeys set.
            Add this to libvterm so we can debug it.
2019-10-10 21:14:03 +02:00
07282f01da patch 8.1.2133: some tests fail when run as root
Problem:    Some tests fail when run as root.
Solution:   Add CheckNotRoot and use it. (James McCoy, closes #5020)
2019-10-10 16:46:17 +02:00
a129974bc7 patch 8.1.2132: MS-Windows: screen mess when not recognizing insider build
Problem:    MS-Windows: screen mess when not recognizing insider build.
Solution:   Always move the cursor to the first column first. (Nobuhiro
            Takasaki, closes #5036)
2019-10-10 16:36:00 +02:00
c25e702dee patch 8.1.2131: MSVC tests fail
Problem:    MSVC tests fail.
Solution:   Replace backslashes with slashes.
2019-10-10 14:08:26 +02:00
073e779640 patch 8.1.2130: MSVC build fails
Problem:    MSVC build fails.
Solution:   Add the source file name explicitly.
2019-10-10 13:39:08 +02:00
1ac41a5c13 patch 8.1.2129: using hard coded executable path in test
Problem:    Using hard coded executable path in test.
Solution:   Use v:progpath. Use $VIMRUNTIME instead of "runtime". (James
            McCoy, closes #5025)
2019-10-10 13:30:12 +02:00
9326805442 patch 8.1.2128: renamed libvterm sources makes merging difficult
Problem:    Renamed libvterm sources makes merging difficult.
Solution:   Rename back to the original name and only rename the .o files.
            Also clean the libvterm build artifacts. (James McCoy,
            closes #5027)
2019-10-10 13:22:54 +02:00
14c01f8348 patch 8.1.2127: the indent.c file is a bit big
Problem:    The indent.c file is a bit big.
Solution:   Move C-indent code a a new cindent.c file.  Move other
            indent-related code to indent.c. (Yegappan Lakshmanan,
            closes #5031)
2019-10-09 22:53:08 +02:00
6bd1d77067 patch 8.1.2126: viminfo not sufficiently tested
Problem:    Viminfo not sufficiently tested.
Solution:   Add more test cases.  Clean up comments. (Yegappan Lakshmanan,
            closes #5032)
2019-10-09 22:01:25 +02:00
b189295b72 patch 8.1.2125: fnamemodify() fails when repeating :e
Problem:    Fnamemodify() fails when repeating :e.
Solution:   Do not go before the tail. (Rob Pilling, closes #5024)
2019-10-08 23:26:50 +02:00
345f28df54 patch 8.1.2124: ruler is not updated if win_execute() moves cursor
Problem:    Ruler is not updated if win_execute() moves cursor.
Solution:   Update the status line. (closes #5022)
2019-10-08 22:20:35 +02:00
c3e555b22f patch 8.1.2123: parsing CSI sequence is messy
Problem:    Parsing CSI sequence is messy.
Solution:   Generalize parsing a CSI sequence.
2019-10-08 20:15:39 +02:00
fbbd102be0 patch 8.1.2122: cannot build without terminal feature
Problem:    Cannot build without terminal feature.
Solution:   Add #ifdef.
2019-10-07 22:38:58 +02:00
a27e1dcddc patch 8.1.2121: mode is not updated when switching to terminal
Problem:    Mode is not updated when switching to terminal in Insert mode.
Solution:   Redraw the mode when entering a terminal window. (Jason Franklin)
2019-10-07 22:27:36 +02:00
1614a14901 patch 8.1.2120: some MB_ macros are more complicated than necessary
Problem:    Some MB_ macros are more complicated than necessary. (Dominique
            Pelle)
Solution:   Simplify the macros.  Expand inline.
2019-10-06 22:00:13 +02:00
524f3b19ae patch 8.1.2119: memory access error for empty string
Problem:    memory access error for empty string when 'encoding' is a single
            byte encoding.
Solution:   Check for empty string when getting the length. (Dominique Pelle,
            closes #5021, closes #5007)
2019-10-06 20:08:38 +02:00
eb66328bd7 patch 8.1.2118: termcodes test fails when $TERM is "dumb"
Problem:    Termcodes test fails when $TERM is "dumb".
Solution:   Skip the test. (James McCoy, closes #5019)
2019-10-06 12:02:15 +02:00
49474ca122 patch 8.1.2117: CursorLine highlight used while 'cursorline' is off
Problem:    CursorLine highlight used while 'cursorline' is off.
Solution:   Check 'cursorline' is set. (cloes #5017)
2019-10-05 21:57:12 +02:00
1671de3098 patch 8.1.2116: no check for out of memory
Problem:    No check for out of memory.
Solution:   Check for NULL pointer.
2019-10-05 21:35:16 +02:00
2efc44b3f0 patch 8.1.2115: MS-Windows: shell commands fail if &shell contains a space
Problem:    MS-Windows: shell commands fail if &shell contains a space.
Solution:   Use quotes instead of escaping. (closes #4920)
2019-10-05 12:09:32 +02:00
fd00c042af patch 8.1.2114: when a popup is closed with CTRL-C the callback aborts
Problem:    When a popup is closed with CTRL-C the callback aborts.
Solution:   Reset got_int when invoking the callback. (closes #5008)
2019-10-05 11:56:54 +02:00
9ca250855b patch 8.1.2113: ":help expr-!~?" only works after searching
Problem:    ":help expr-!~?" only works after searching.
Solution:   Escape "~" after "expr-". (closes #5015)
2019-10-05 11:30:09 +02:00
4c063dde73 patch 8.1.2112: build number for ConPTY is outdated
Problem:    Build number for ConPTY is outdated.
Solution:   Update to new build number. (Nobuhiro Takasaki, closes #5014)
2019-10-04 21:29:12 +02:00
2a8d3b8997 patch 8.1.2111: viminfo file not sufficiently tested
Problem:    Viminfo file not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5009)
2019-10-04 21:20:25 +02:00
e8a7dfedfc patch 8.1.2110: CTRL-C closes two popups instead of one
Problem:    CTRL-C closes two popups instead of one.
Solution:   Reset got_int when the filter consumed the key.
2019-10-03 22:35:52 +02:00
1824f45883 patch 8.1.2109: popup_getoptions() hangs with tab-local popup
Problem:    popup_getoptions() hangs with tab-local popup.
Solution:   Correct pointer name. (Marko Mahnič, closes #5006)
2019-10-02 23:06:46 +02:00
23324a0b35 patch 8.1.2108: cannot close the cmdline window from CmdWinEnter
Problem:    Cannot close the cmdline window from CmdWinEnter. (George Brown)
Solution:   Reset cmdwin_result earlier. (Christian Brabandt, closes #4980)
2019-10-01 17:39:04 +02:00
8617348e21 patch 8.1.2107: various memory leaks reported by asan
Problem:    Various memory leaks reported by asan.
Solution:   Free the memory. (Ozaki Kiichi, closes #5003)
2019-10-01 17:02:16 +02:00
b4367b7fb6 patch 8.1.2106: no tests for dragging the mouse beyond the window
Problem:    No tests for dragging the mouse beyond the window.
Solution:   Add a test. (Dominique Pelle, closes #5004)
2019-10-01 14:19:07 +02:00
2886dcceba patch 8.1.2105: MS-Windows: system() may crash
Problem:    MS-Windows: system() may crash.
Solution:   Do not use "itmp" when it is NULL. (Yasuhiro Matsumoto,
            closes #5005)
2019-10-01 12:10:25 +02:00
792cf5e1be patch 8.1.2104: the normal.c file is too big
Problem:    The normal.c file is too big.
Solution:   Move do_pending_operator() to ops.c. (Yegappan Lakshmanan,
            closes #4999).
2019-09-30 23:12:16 +02:00
18223a592e patch 8.1.2103: wrong error message if "termdebugger" is not executable
Problem:    wrong error message if "termdebugger" is not executable.
Solution:   Check if "termdebugger" is executable and give a clear error
            message. (Ozaki Kiichi, closes #5000)  Fix indents.
2019-09-30 20:47:54 +02:00
d17a57a433 patch 8.1.2102: can't build with GTK and FEAT_GUI_GNOME
Problem:    Can't build with GTK and FEAT_GUI_GNOME. (Tony Mechelynck)
Solution:   Adjust the #ifdef. (Yegappan Lakshmanan)
2019-09-29 20:53:55 +02:00
ac02a638b4 patch 8.1.2101: write_session_file() often defined but not used
Problem:    write_session_file() often defined but not used.
Solution:   Adjust the #ifdef. (Yegappan Lakshmanan, closes #4998)
2019-09-29 19:02:46 +02:00
ee1a2b5a2a patch 8.1.2100: :mksession is not sufficiently tested
Problem:    :mksession is not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #4993)
2019-09-29 14:23:39 +02:00
b7a97ef340 patch 8.1.2099: state() test fails on some Mac systems
Problem:    state() test fails on some Mac systems.
Solution:   Increase the wait time. (closes #4983)
2019-09-28 22:11:56 +02:00
37ac4a531c patch 8.1.2098: mksession test fails on MS-Windows
Problem:    mksession test fails on MS-Windows.
Solution:   Skip testing with backslashes on MS-Windows.
2019-09-28 19:29:04 +02:00
66f0e6c6e2 patch 8.1.2097: :mksession is not sufficiently tested
Problem:    :mksession is not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes #4992)
2019-09-28 19:08:45 +02:00
8c96af9c05 patch 8.1.2096: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_COMMENTS.
2019-09-28 19:05:57 +02:00
a893194d91 patch 8.1.2095: leaking memory when getting item from dict
Problem:    Leaking memory when getting item from dict.
Solution:   Also free the key when not evaluating.
2019-09-28 17:25:10 +02:00
473952e852 patch 8.1.2094: the fileio.c file is too big
Problem:    The fileio.c file is too big.
Solution:   Move buf_write() to bufwrite.c. (Yegappan Lakshmanan,
            closes #4990)
2019-09-28 16:30:04 +02:00
9be0e0b9d3 patch 8.1.2093: MS-Windows: system() test fails
Problem:    MS-Windows: system() test fails.
Solution:   Expect CR when using systemlist().
2019-09-28 16:25:00 +02:00
1a61339806 patch 8.1.2092: MS-Windows: redirect in system() does not work
Problem:    MS-Windows: redirect in system() does not work.
Solution:   Handle 'shellxescape' and 'shellxquote' better. (Yasuhiro
            Matsumoto, closes #2054)
2019-09-28 15:51:37 +02:00
0f1c6708fd patch 8.1.2091: double free when memory allocation fails
Problem:    Double free when memory allocation fails. (Zu-Ming Jiang)
Solution:   Use VIM_CLEAR() instead of vim_free(). (closes #4991)
2019-09-28 15:24:00 +02:00
2e47cab715 patch 8.1.2090: not clear why channel log file ends
Problem:    Not clear why channel log file ends.
Solution:   Add a "closing" line.
2019-09-27 23:12:45 +02:00
7b666c7883 patch 8.1.2089: do not get a hint that $TEST_FILTER was active
Problem:    Do not get a hint that $TEST_FILTER was active.
Solution:   Mention $TEST_FILTER if no functions were executed.
2019-09-27 21:25:00 +02:00
383f387d9d patch 8.1.2088: renamed libvterm mouse.c file not in distributed file list
Problem:    Renamed libvterm mouse.c file not in distributed file list.
Solution:   Rename the file in the file list.
2019-09-27 19:35:48 +02:00
5be4ceecea Update runtime files. 2019-09-27 19:34:08 +02:00
a7f6c3cf07 patch 8.1.2087: cannot easily select one test function to execute
Problem:    Cannot easily select one test function to execute.
Solution:   Support the $TEST_FILTER environment variable. (Ozaki Kiichi,
            closes #2695)
2019-09-27 15:34:16 +02:00
38f1eeac3d patch 8.1.2086: missing a few changes for the renamed files
Problem:    Missing a few changes for the renamed files.
Solution:   Rename in a few more places. (Ken Takata)
2019-09-27 14:19:09 +02:00
2313b61257 patch 8.1.2085: MS-Windows: draw error moving cursor over double-cell char
Problem:    MS-Windows: draw error moving cursor over double-cell character.
Solution:   Move the cursor to the left edge if needed. (Nobuhiro Takasaki,
            closes #4986)
2019-09-27 14:14:32 +02:00
5e8e967f25 patch 8.1.2084: Amiga: cannot get the user name
Problem:    Amiga: cannot get the user name.
Solution:   Use getpwuid() if available. (Ola Söder, closes #4985)
2019-09-27 13:38:56 +02:00
ce0fac2897 patch 8.1.2083: multi-byte chars do not work properly with "%.*S" in printf()
Problem:    Multi-byte chars do not work properly with "%.*S" in printf().
Solution:   Use mb_ptr2cells(). Daniel Hahler, closes #4989)
2019-09-27 13:32:06 +02:00
30e8e73506 patch 8.1.2082: some files have a weird name to fit in 8.3 characters
Problem:    Some files have a weird name to fit in 8.3 characters.
Solution:   Use a nicer names.
2019-09-27 13:08:36 +02:00
46a426c9ac patch 8.1.2081: the spell.c file is too big
Problem:    The spell.c file is too big.
Solution:   Move the code for spell suggestions to a separate file. (Yegappan
            Lakshmanan, closes #4988)
2019-09-27 12:41:56 +02:00
d2842ea60b patch 8.1.2080: the terminal API is limited and can't be disabled
Problem:    The terminal API is limited and can't be disabled.
Solution:   Add term_setapi() to set the function prefix. (Ozaki Kiichi,
            closes #2907)
2019-09-26 23:08:54 +02:00
d2c1fb476d patch 8.1.2079: popup window test fails without +terminal
Problem:    Popup window test fails without +terminal.
Solution:   Check for the +terminal feature.
2019-09-25 23:06:40 +02:00
f21118e4a9 patch 8.1.2078: build error with +textprop but without +terminal
Problem:    Build error with +textprop but without +terminal. (Tony Mechelynck)
Solution:   Add #ifdef.
2019-09-25 22:45:45 +02:00
4aea03eb87 patch 8.1.2077: the ops.c file is too big
Problem:    The ops.c file is too big.
Solution:   Move code for dealing with registers to a new file. (Yegappan
            Lakshmanan, closes #4982)
2019-09-25 22:37:17 +02:00
e0d749a496 patch 8.1.2076: crash when trying to put a terminal in a popup window
Problem:    Crash when trying to put a terminal buffer in a popup window.
Solution:   Check for NULL buffer.  Do not allow putting a terminal in a popup
            window.
2019-09-25 22:14:48 +02:00
101e99207f patch 8.1.2075: get many log messages when waiting for a typed character
Problem:    Get many log messages when waiting for a typed character.
Solution:   Do not repeat the repeated messages when nothing happens.
2019-09-25 21:43:11 +02:00
0d0c3ca007 patch 8.1.2074: test for SafeState autocommand is a bit flaky
Problem:    Test for SafeState autocommand is a bit flaky.
Solution:   Add to list of flaky tests.
2019-09-25 21:16:15 +02:00
010ee9657a patch 8.1.2073: when editing a buffer 'colorcolumn' may not work
Problem:    When editing a buffer 'colorcolumn' may not work.
Solution:   Set the buffer before copying option values. Call
            check_colorcolumn() after copying window options.
2019-09-25 20:37:36 +02:00
03ac52fc02 patch 8.1.2072: "gk" moves to start of line instead of upwards
Problem:    "gk" moves to start of line instead of upwards.
Solution:   Fix off-by-one error. (Christian Brabandt, closes #4969)
2019-09-24 22:47:46 +02:00
053f712ef2 patch 8.1.2071: when 'wincolor' is set text property changes highlighting
Problem:    When 'wincolor' is set text property changes highlighting. (Andy
            Stewart)
Solution:   Fix combining colors. (closes #4968)
2019-09-23 22:17:15 +02:00
b8ff5c271e patch 8.1.2070: mouse code is spread out
Problem:    Mouse code is spread out.
Solution:   Move mouse terminal code parsing to mouse.c. (Yegappan Lakshmanan,
            closes #4966)
2019-09-23 21:16:54 +02:00
0f6629a08a patch 8.1.2069: test for SafeStateAgain may still fail
Problem:    Test for SafeStateAgain may still fail.
Solution:   Send another message to trigger SafeStateAgain.
2019-09-22 23:24:13 +02:00
513537bfff patch 8.1.2068: test for SafeState and SafeStateAgain may fail
Problem:    Test for SafeState and SafeStateAgain may fail.
Solution:   Accept more possible responses
2019-09-22 23:03:58 +02:00
cadbe1b1fb patch 8.1.2067: no tests for SafeState and SafeStateAgain
Problem:    No tests for SafeState and SafeStateAgain.
Solution:   Add tests.
2019-09-22 21:50:09 +02:00
c258549032 patch 8.1.2066: no tests for state()
Problem:    No tests for state().
Solution:   Add tests.  Clean up some feature checks.  Make "a" flag work.
2019-09-22 21:29:53 +02:00
910c378d93 patch 8.1.2065: compiler warning building non-GUI with MinGW.
Problem:    Compiler warning building non-GUI with MinGW.
Solution:   Adjust #ifdefs. (Yegappan Lakshmanan, closes #4964)
2019-09-22 14:11:50 +02:00
bd67aac279 patch 8.1.2064: MS-Windows: compiler warnings for unused arguments
Problem:    MS-Windows: compiler warnings for unused arguments.
Solution:   Add UNUSED. (Yegappan Lakshmanan, closes #4963)
2019-09-21 23:09:04 +02:00
1e82a784ac patch 8.1.2063: some tests fail when +balloon_eval_term is missing
Problem:    Some tests fail when +balloon_eval_term is missing but
            _balloon_eval is present. (Dominique Pelle)
Solution:   Check the right feature in the test. (closes #4962)
2019-09-21 22:57:06 +02:00
b20b9e14dd patch 8.1.2062: the mouse code is spread out
Problem:    The mouse code is spread out.
Solution:   Move all the mouse code to mouse.c. (Yegappan Lakshmanan,
            closes #4959)
2019-09-21 20:48:04 +02:00
4d5c12626c patch 8.1.2061: MS-Windows GUI: ":sh" crashes when trying to use a terminal
Problem:    MS-Windows GUI: ":sh" crashes when trying to use a terminal.
Solution:   Check for a NULL command. (Yasuhiro Matsumoto, closes #4958)
2019-09-20 17:20:02 +02:00
bffba7f704 patch 8.1.2060: "precedes" in 'listchars' not used properly
Problem:    "precedes" in 'listchars' not used properly.
Solution:   Correctly handle the "precedes" char in list mode for long lines.
            (Christian Brabandt, closes #4953)
2019-09-20 17:00:17 +02:00
589edb3404 Updte runtime files 2019-09-20 14:38:13 +02:00
56ebbabea1 patch 8.1.2059: fix for "x" deleting a fold has side effects
Problem:    Fix for "x" deleting a fold has side effects.
Solution:   Fix it where the fold is included.
2019-09-20 13:40:14 +02:00
4bd782339e patch 8.1.2058: function for ex command is named inconsistently
Problem:    Function for ex command is named inconsistently.
Solution:   Rename do_marks() to ex_marks().
2019-09-19 23:21:55 +02:00
7528d1f6b5 patch 8.1.2057: the screen.c file is much too big
Problem:    The screen.c file is much too big.
Solution:   Split it in three parts. (Yegappan Lakshmanan, closes #4943)
2019-09-19 23:06:20 +02:00
cd67059c0c patch 8.1.2056: "make test" for indent files doesn't cause make to fail
Problem:    "make test" for indent files doesn't cause make to fail.
Solution:   Exit the script with ":cquit". (Daniel Hahler, closes #4949)
2019-09-18 22:14:43 +02:00
181d4f58cc patch 8.1.2055: not easy to jump to function line from profile
Problem:    Not easy to jump to function line from profile.
Solution:   Use "file:99" instead of "file line 99" so that "gf" works.
            (Daniel Hahler, closes #4951)
2019-09-18 22:04:56 +02:00
cebfcffa40 patch 8.1.2054: compiler test for Perl may fail
Problem:    Compiler test for Perl may fail.
Solution:   Accept any error line number. (James McCoy, closes #4944)
2019-09-18 21:42:38 +02:00
d103ee7843 patch 8.1.2053: SafeStateAgain not triggered if callback uses feedkeys()
Problem:    SafeStateAgain not triggered if callback uses feedkeys().
Solution:   Check for safe state in the input loop.  Make log messages easier
            to find. Add 'S' flag to state().
2019-09-18 21:15:31 +02:00
7a9bd7c1e0 patch 8.1.2052: using "x" before a closed fold may delete that fold
Problem:    Using "x" before a closed fold may delete that fold.
Solution:   Do not translate 'x' do "dl". (Christian Brabandt, closes #4927)
2019-09-17 22:42:55 +02:00
705918f9f7 patch 8.1.2051: double-click test is a bit flaky
Problem:    Double-click test is a bit flaky.
Solution:   Correct entry in list of flaky tests.
2019-09-17 21:27:49 +02:00
7e0f462db5 patch 8.1.2050: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations. (James McCoy)
Solution:   Clear the command line.
2019-09-17 21:23:39 +02:00
397c6a1438 patch 8.1.2049: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Add #ifdefs.
2019-09-17 20:54:31 +02:00
37d1807a80 patch 8.1.2048: not clear why SafeState and SafeStateAgain are not triggered
Problem:    Not clear why SafeState and SafeStateAgain are not triggered.
Solution:   Add log statements.
2019-09-17 20:28:38 +02:00
0e57dd859e patch 8.1.2047: cannot check the current state
Problem:    Cannot check the current state.
Solution:   Add the state() function.
2019-09-16 22:56:03 +02:00
69198cb8c0 patch 8.1.2046: SafeState may be triggered at the wrong moment
Problem:    SafeState may be triggered at the wrong moment.
Solution:   Move it up higher to after where messages are processed.  Add a
            SafeStateAgain event to tigger there.
2019-09-16 21:58:13 +02:00
dac1347b4d patch 8.1.2045: the option.c file is too big
Problem:    The option.c file is too big.
Solution:   Split off the code dealing with strings. (Yegappan Lakshmanan,
            closes #4937)
2019-09-16 21:06:21 +02:00
8aeec40207 patch 8.1.2044: no easy way to process postponed work
Problem:    No easy way to process postponed work. (Paul Jolly)
Solution:   Add the SafeState autocommand event.
2019-09-15 23:02:04 +02:00
ea8dcf8346 patch 8.1.2043: not sufficient testing for quoted numbers
Problem:    Not sufficient testing for quoted numbers.
Solution:   Add a few more test cases.
2019-09-15 21:12:22 +02:00
9c658c9eac patch 8.1.2042: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move getchar() and parse_queued_messages() to getchar.c.
2019-09-15 21:00:54 +02:00
248fdb3332 patch 8.1.2041: no test for diff mode with syntax highlighting
Problem:    No test for diff mode with syntax highlighting.
Solution:   Add a test case.
2019-09-15 19:31:28 +02:00
e00fdf35d0 patch 8.1.2040: no highlighting of current line in quickfix window
Problem:    No highlighting of current line in quickfix window.
Solution:   Combine with line_attr.
2019-09-15 19:09:42 +02:00
8ae54375ca patch 8.1.2039: character from 'showbreak' does not use 'wincolor'
Problem:    Character from 'showbreak' does not use 'wincolor'. (Nick Jensen)
Solution:   Mix with 'wincolor'. (closes #4938)
2019-09-15 18:11:16 +02:00
af91438338 patch 8.1.2038: has('vimscript-4') is always 0
Problem:    has('vimscript-4') is always 0.
Solution:   Add "vimscript-4" to the feature table. (Naruhiko Nishino,
            closes #4941)
2019-09-15 17:49:10 +02:00
a046b37c22 patch 8.1.2037: can call win_gotoid() in cmdline window
Problem:    Can call win_gotoid() in cmdline window.
Solution:   Disallow switching windows. (Yasuhiro Matsumoto, closes #4940)
2019-09-15 17:26:07 +02:00
1ac90b4fa6 patch 8.1.2036: the str2nr() tests fail
Problem:    The str2nr() tests fail.
Solution:   Add missing part of patch.
2019-09-15 14:49:52 +02:00
60a8de28d1 patch 8.1.2035: recognizing octal numbers is confusing
Problem:    Recognizing octal numbers is confusing.
Solution:   Introduce scriptversion 4: do not use octal and allow for single
            quote inside numbers.
2019-09-15 14:33:22 +02:00
50bf7ce0c9 patch 8.1.2034: dark them of GTK 3 not supported
Problem:    Dark them of GTK 3 not supported.
Solution:   Add the "d" flag in 'guioptions'. (Jonathan Conder, closes #4934)
2019-09-15 13:17:00 +02:00
0571f3d6f9 patch 8.1.2033: cannot build with tiny features
Problem:    Cannot build with tiny features.
Solution:   Add #ifdef.
2019-09-14 22:33:47 +02:00
076d98839c patch 8.1.2032: scrollbar thumb wrong in popup window
Problem:    Scrollbar thumb wrong in popup window.
Solution:   Adjust thumb size and position when scrolled.
2019-09-14 22:23:29 +02:00
5babc6e858 patch 8.1.2031: cursor position wrong when resizing and using conceal
Problem:    Cursor position wrong when resizing and using conceal.
Solution:   Set the flags that the cursor position is valid when setting the
            row and column during redrawing. (closes #4931)
2019-09-14 21:55:51 +02:00
997d42427e patch 8.1.2030: tests fail when build with normal features and terminal
Problem:    Tests fail when build with normal features and terminal.
            (Dominique Pelle)
Solution:   Disable tests that won't work. (closes #4932)
2019-09-14 21:23:40 +02:00
017ba07fa2 patch 8.1.2029: cannot control 'cursorline' highlighting well
Problem:    Cannot control 'cursorline' highlighting well.
Solution:   Add "screenline". (Christian Brabandt, closes #4933)
2019-09-14 21:01:23 +02:00
d9b0d83b13 patch 8.1.2028: options test script does not work
Problem:    Options test script does not work.
Solution:   Use optiondefs.h for input.
2019-09-14 15:46:32 +02:00
57da698168 patch 8.1.2027: MS-Windows: problem with ambiwidth characters
Problem:    MS-Windows: problem with ambiwidth characters.
Solution:   handle ambiguous width characters in ConPTY on Windows 10 (1903).
            (Nobuhiro Takasaki, closes #4411)
2019-09-13 22:30:11 +02:00
dbec74907e patch 8.1.2026: possibly using uninitialized memory
Problem:    Possibly using uninitialized memory.
Solution:   Check if "dict" is NULL. (closes #4925)
2019-09-13 22:16:21 +02:00
1946de140a patch 8.1.2025: MS-Windows: Including shlguid.h causes problems for msys2
Problem:    MS-Windows: Including shlguid.h causes problems for msys2.
Solution:   Do not include shlguid.h. (closes #4913)
2019-09-13 22:03:19 +02:00
9283f92008 patch 8.1.2024: delete call commented out for debugging
Problem:    Delete call commented out for debugging.
Solution:   Restore the delete call. (Christian Brabandt)
2019-09-13 21:48:34 +02:00
dcb2b9cb08 patch 8.1.2023: no test for synIDattr() returning "strikethrough"
Problem:    No test for synIDattr() returning "strikethrough".
Solution:   Extend the synIDattr() test. (Jaskaran Singh, closes #4929)
2019-09-13 21:26:39 +02:00
0eddca40a6 patch 8.1.2022: the option.c file is too big
Problem:    The option.c file is too big.
Solution:   Move option definitions to a separate file. (Yegappan Lakshmanan,
            closes #4918)
2019-09-12 22:26:43 +02:00
8fe1000e9c Update runtime files 2019-09-11 22:56:44 +02:00
840d16fd36 patch 8.1.2021: some global functions can be local to the file
Problem:    Some global functions can be local to the file.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4917)
2019-09-10 21:27:18 +02:00
d20dcb3d01 patch 8.1.2020: it is not easy to change the window layout
Problem:    It is not easy to change the window layout.
Solution:   Add win_splitmove(). (Andy Massimino, closes #4561)
2019-09-10 21:22:58 +02:00
410e98a70b patch 8.1.2019: 'cursorline' always highlights the whole line
Problem:    'cursorline' always highlights the whole line.
Solution:   Add 'cursorlineopt' to specify what is highlighted.
            (closes #4693)
2019-09-09 22:05:49 +02:00
e5fbd73930 patch 8.1.2018: using freed memory when out of memory and displaying message
Problem:    Using freed memory when out of memory and displaying message.
Solution:   Make a copy of the message first.
2019-09-09 20:04:13 +02:00
96e38a86a7 patch 8.1.2017: cannot execute commands after closing the cmdline window
Problem:    Cannot execute commands after closing the cmdline window.
Solution:   Also trigger BufEnter and WinEnter. (closes #4762)
2019-09-09 18:35:33 +02:00
adbde3fbed patch 8.1.2016: terminal altscreen test now fails on MS-Windows
Problem:    Terminal altscreen test now fails on MS-Windows.
Solution:   Skip the test on MS-Windows
2019-09-08 22:57:14 +02:00
bf9a3b0164 patch 8.1.2015: terminal altscreen test still fails sometimes
Problem:    Terminal altscreen test still fails sometimes.
Solution:   Write the escape sequence in a file.
2019-09-08 22:35:48 +02:00
b9c79cf5cc patch 8.1.2014: terminal altscreen test fails sometimes
Problem:    Terminal altscreen test fails sometimes.
Solution:   Use WaitFor().
2019-09-08 22:09:52 +02:00
f92e58cadb patch 8.1.2013: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-08 21:51:41 +02:00
7ee80f7661 patch 8.1.2012: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make terminal functions usable as a method.  Fix term_getattr().
2019-09-08 20:55:06 +02:00
ce90e36f59 patch 8.1.2011: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.  Make the window
            command test faster.
2019-09-08 18:58:44 +02:00
9490b9a61c patch 8.1.2010: new file uses old style comments
Problem:    New file uses old style comments.
Solution:   Change to new style comments. (Yegappan Lakshmanan, closes #4910)
2019-09-08 17:20:12 +02:00
3d2a3cbce8 patch 8.1.2009: cursorline highlighting not updated in popup window
Problem:    Cursorline highlighting not updated in popup window. (Marko
            Mahnič)
Solution:   Check if the cursor position changed. (closes #4912)
2019-09-08 17:12:01 +02:00
4544bd2f24 patch 8.1.2008: error for invalid range when using listener and undo
Problem:    Error for invalid range when using listener and undo. (Paul Jolly)
Solution:   Do not change the cursor before the lines are restored.
            (closes #4908)
2019-09-08 15:27:21 +02:00
fca068b977 patch 8.1.2007: no test for what 8.1.1926 fixes
Problem:    No test for what 8.1.1926 fixes.
Solution:   Add a test case.
2019-09-08 14:07:47 +02:00
6cdce2a003 patch 8.1.2006: build failure with huge features but without channel feature
Problem:    Build failure with huge features but without channel feature.
Solution:   Add #ifdef. (Dominique Pelle, closes #4906)
2019-09-07 23:25:09 +02:00
6d7d7cf750 patch 8.1.2005: the regexp.c file is too big
Problem:    The regexp.c file is too big.
Solution:   Move the backtracking engine to a separate file. (Yegappan
            Lakshmanan, closes #4905)
2019-09-07 23:16:33 +02:00
f6ed61e148 patch 8.1.2004: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-07 19:05:09 +02:00
30e9b3c425 Update runtime files 2019-09-07 16:24:12 +02:00
fa90d70884 patch 8.1.2003: MS-Windows: code page 65001 is not recognized
Problem:    MS-Windows: code page 65001 is not recognized.
Solution:   Use utf-8 for code page 65001. (Dan Thompson, closes #4902)
2019-09-07 16:07:47 +02:00
9b1cd65d8b patch 8.1.2002: version number 2000 missing
Problem:    Version number 2000 missing.
Solution:   Add the number in the list of patches.
2019-09-07 15:51:28 +02:00
261f346f81 patch 8.1.2001: some source files are too big
Problem:    Some source files are too big.
Solution:   Move buffer and window related functions to evalbuffer.c and
            evalwindow.c. (Yegappan Lakshmanan, closes #4898)
2019-09-07 15:45:32 +02:00
a3a124627d patch 8.1.2000: plugin cannot get the current IME status
Problem:    Plugin cannot get the current IME status.
Solution:   Add the getimstatus() function. (closes #4904)
2019-09-07 15:08:38 +02:00
1b33bee35e patch 8.1.1999: calling both PlaySoundW() and PlaySoundA()
Problem:    Calling both PlaySoundW() and PlaySoundA().
Solution:   Only use PlaySoundW(). (Dan Thompson, closes #4903)
2019-09-07 14:50:49 +02:00
fbb3bc89b3 patch 8.1.1998: redraw even when no popup window filter was invoked
Problem:    Redraw even when no popup window filter was invoked.
Solution:   Only redraw when must_redraw was set to a larger value.
2019-09-07 14:33:36 +02:00
bcb4c8f905 patch 8.1.1997: no redraw after a popup window filter is invoked
Problem:    No redraw after a popup window filter is invoked.
Solution:   Redraw if needed.
2019-09-07 14:06:52 +02:00
aad222c9c9 patch 8.1.1996: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 22:46:09 +02:00
93476fd634 patch 8.1.1995: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make sign functions usable as a method.
2019-09-06 22:00:54 +02:00
5ec849896f patch 8.1.1994: MS-Windows: cannot build with eval but without cscope
Problem:    MS-Windows: cannot build with eval but without cscope
Solution:   Adjust the makefiles to always build if_cscope.obj.
2019-09-06 21:46:15 +02:00
196b466443 patch 8.1.1993: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-06 21:34:30 +02:00
16b58ae9f3 patch 8.1.1992: the search stat moves when wrapping at the end of the buffer
Problem:    The search stat moves when wrapping at the end of the buffer.
Solution:   Put the "W" in front instead of at the end.
2019-09-06 20:40:21 +02:00
6f72e90dd8 patch 8.1.1991: still cannot build with eval but without cscope
Problem:    Still cannot build with eval but without cscope.
Solution:   Move f_cscope_connection() outside of #ifdef.
2019-09-05 23:04:02 +02:00
a546b21b24 patch 8.1.1990: cannot build with eval but without cscope
Problem:    Cannot build with eval but without cscope.
Solution:   Always include if_cscope.pro.
2019-09-05 22:50:11 +02:00
af7645d373 patch 8.1.1989: the evalfunc.c file is still too big
Problem:    The evalfunc.c file is still too big.
Solution:   Move f_pathshorten() to filepath.c.  Move f_cscope_connection() to
            if_cscope.c.  Move diff_ functions to diff.c.  Move timer_
            functions to ex_cmds2.c.  move callback functions to evalvars.c.
2019-09-05 22:33:28 +02:00
8d3b51084a patch 8.1.1988: :startinsert! does not work the same way as "A"
Problem:    :startinsert! does not work the same way as "A".
Solution:   Use the same code to move the cursor. (closes #4896)
2019-09-05 21:29:01 +02:00
a0d1fef4eb patch 8.1.1987: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 22:29:14 +02:00
a5a7882ea4 patch 8.1.1986: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make textprop functions usable as a method.
2019-09-04 21:57:18 +02:00
26262f8777 patch 8.1.1985: code for dealing with paths is spread out
Problem:    Code for dealing with paths is spread out.
Solution:   Move path related functions from misc1.c to filepath.c.
            Remove NO_EXPANDPATH.
2019-09-04 20:59:15 +02:00
3f4f3d8e7e patch 8.1.1984: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-09-04 20:05:59 +02:00
ea781459b9 patch 8.1.1983: compiler nags for uninitialized variable and unused function
Problem:    Compiler nags for uninitialized variable and unused function.
Solution:   Add unnecessary initialization.  Move function inside #ifdef.
2019-09-04 18:53:12 +02:00
6a124e622c patch 8.1.1982: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make popup functions usable as a method.
2019-09-04 18:15:19 +02:00
08c308aeb5 patch 8.1.1981: the evalfunc.c file is too big
Problem:    The evalfunc.c file is too big.
Solution:   Move undo functions to undo.c.  Move cmdline functions to
            ex_getln.c.  Move some container functions to list.c.
2019-09-04 17:48:15 +02:00
0f63ed33fd patch 8.1.1980: fix for search stat not tested
Problem:    Fix for search stat not tested.
Solution:   Add a screenshot test. (Christian Brabandt)
2019-09-04 16:32:36 +02:00
b005cd80cf patch 8.1.1979: code for handling file names is spread out
Problem:    Code for handling file names is spread out.
Solution:   Move code to new filepath.c file.  Graduate FEAT_MODIFY_FNAME.
2019-09-04 15:54:55 +02:00
1e1d30048e patch 8.1.1978: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move filter() and map() to list.c.
2019-09-04 14:41:14 +02:00
19c8fe1925 patch 8.1.1977: terminal debugger plugin may hang
Problem:    Terminal debugger plugin may hang.
Solution:   Wait longer when still reading symbols.
2019-09-04 14:24:24 +02:00
2b43f7f9f4 patch 8.1.1976: Travis log always shows test output
Problem:    Travis log always shows test output.
Solution:   Change script to avoid if/else. (Ozaki Kiichi, closes #4892)
2019-09-04 14:11:16 +02:00
89c0003331 patch 8.1.1975: MS-Windows GUI responds slowly to timer
Problem:    MS-Windows GUI responds slowly to timer.
Solution:   Break out of wait loop when timer was added or input is available.
            (closes #4893)
2019-09-04 13:53:21 +02:00
1f3165bc34 patch 8.1.1974: Coverity warns for using pointer as array
Problem:    Coverity warns for using pointer as array.
Solution:   Call var2fpos() directly instead of using f_line().
2019-09-04 13:21:26 +02:00
61c18652c9 patch 8.1.1973: cannot build without the quickfix feature
Problem:    Cannot build without the quickfix feature.
Solution:   Remove #ifdef for qf_info_T.
2019-09-04 11:51:17 +02:00
5d712e4672 patch 8.1.1972: no proper test for getchar()
Problem:    No proper test for getchar().
Solution:   Add a test with special characters.
2019-09-03 23:37:01 +02:00
d570ab95d9 patch 8.1.1971: manually enabling features causes build errors
Problem:    Manually enabling features causes build errors. (John Marriott)
Solution:   Adjust #ifdefs.
2019-09-03 23:20:05 +02:00
19e8ac72e9 patch 8.1.1970: search stat space wrong, no test for 8.1.1965
Problem:    Search stat space wrong, no test for 8.1.1965.
Solution:   Fix check for cmd_silent.  Add a test. (Christian Brabandt)
2019-09-03 22:23:38 +02:00
581ba39aef patch 8.1.1969: popup window filter is used in all modes
Problem:    Popup window filter is used in all modes.
Solution:   Add the "filtermode" property.
2019-09-03 22:08:33 +02:00
27da7de7c5 patch 8.1.1968: crash when using nested map()
Problem:    Crash when using nested map().
Solution:   Clear the pointer in prepare_vimvar(). (Ozaki Kiichi,
            closes #4890, closes #4891)
2019-09-03 17:13:37 +02:00
8e0a8e7eb7 patch 8.1.1967: line() only works for the current window
Problem:    Line() only works for the current window.
Solution:   Add an optional argument for the window to use.
2019-09-02 22:56:24 +02:00
e677df8d93 patch 8.1.1966: some code in options.c fits better elsewhere
Problem:    Some code in options.c fits better elsewhere.
Solution:   Move functions from options.c to other files. (Yegappan
            Lakshmanan, closes #4889)
2019-09-02 22:31:11 +02:00
359ad1a6f9 patch 8.1.1965: search count message is not displayed when using a mapping
Problem:    The search count message is not displayed when using a mapping.
            (Gary Johnson)
Solution:   Ignore cmd_silent for showing the search count. (Christian
            Brabandt)
2019-09-02 21:44:59 +02:00
c36350bca3 patch 8.1.1964: crash when using nested map() and filter()
Problem:    Crash when using nested map() and filter().
Solution:   Do not set the v:key type to string without clearing the pointer.
2019-09-02 20:44:07 +02:00
934470e562 patch 8.1.1963: popup window filter may be called recursively
Problem:    Popup window filter may be called recursively when using a Normal
            mode command.
Solution:   Prevent recursiveness. (closes #4887)  Also restore KeyTyped.
2019-09-01 23:27:05 +02:00
55008aad50 patch 8.1.1962: leaking memory when using tagfunc()
Problem:    Leaking memory when using tagfunc().
Solution:   Free the user_data. (Dominique Pelle, closes #4886)
2019-09-01 20:21:56 +02:00
a144983633 patch 8.1.1961: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.  Add a test for
            mapcheck().
2019-09-01 20:16:52 +02:00
db022f3ffb patch 8.1.1960: fold code is spread out
Problem:    Fold code is spread out.
Solution:   Move fold functions to fold.c.
2019-09-01 17:52:32 +02:00
a112f2d003 patch 8.1.1959: when using "firstline" in popup window text may jump
Problem:    When using "firstline" in popup window text may jump when
            redrawing it. (Nick Jensen)
Solution:   Set 'scrolloff' to zero in a popup window. (closes #4882)
2019-09-01 17:38:09 +02:00
c330835928 patch 8.1.1958: old style comments taking up space
Problem:    Old style comments taking up space.
Solution:   Change to new style comments.
2019-09-01 16:24:56 +02:00
da6c033421 patch 8.1.1957: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move code to where it fits better. (Yegappan Lakshmanan,
            closes #4883)
2019-09-01 16:01:30 +02:00
0fdddeeb66 patch 8.1.1956: screenshot tests may use a different encoding
Problem:    Screenshot tests may use a different encoding. (Dominique Pelle)
Solution:   Always set 'encoding' to "utf-8" when running Vim in a terminal.
            (closes #4884)
2019-09-01 15:26:23 +02:00
1bc353b6f1 patch 8.1.1955: tests contain typos
Problem:    Tests contain typos.
Solution:   Correct the typos. (Dominique Pelle)
2019-09-01 14:45:28 +02:00
02b31110d3 patch 8.1.1954: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 22:16:38 +02:00
f9f24ce7a0 patch 8.1.1953: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 21:17:39 +02:00
5d69fdb7c4 patch 8.1.1952: more functions can be used as a method
Problem:    More functions can be used as a method.
Solution:   Allow more functions to be used as a method.
2019-08-31 19:13:58 +02:00
f1699968ba patch 8.1.1951: mouse double click test is a bit flaky
Problem:    Mouse double click test is a bit flaky.
Solution:   Add to list of flaky tests.  Update a couple of comments.
2019-08-31 17:48:19 +02:00
06fe74aef7 Runtime files update. 2019-08-31 16:20:32 +02:00
4bbfb0f3cc patch 8.1.1950: using NULL pointer after an out-of-memory
Problem:    Using NULL pointer after an out-of-memory.
Solution:   Check for NULL pointer. (Dominique Pelle, closes #4881)
2019-08-31 15:28:02 +02:00
8c6173c7d3 patch 8.1.1949: cannot scroll a popup window to the very bottom
Problem:    Cannot scroll a popup window to the very bottom.
Solution:   Scroll to the bottom when the "firstline" property was set to -1.
            (closes #4577)  Allow resetting min/max width/height.
2019-08-30 22:08:34 +02:00
b5432d8968 patch 8.1.1948: mouse doesn't work in Linux console
Problem:    Mouse doesn't work in Linux console and causes 100% CPU. (James P.
            Harvey)
Solution:   Loop in WaitForCharOrMouse() when gpm_process_wanted is set.
            (closes #4828)
2019-08-30 19:28:25 +02:00
60b1bcfe92 patch 8.1.1947: when executing one test the report doesn't show it
Problem:    When executing one test the report doesn't show it.
Solution:   Adjust the regexp. (Daniel Hahler, closes #4879)
2019-08-30 19:05:32 +02:00
163588005d patch 8.1.1946: memory error when profiling a function without a script ID
Problem:    Memory error when profiling a function without a script ID.
Solution:   Check for missing script ID.  (closes #4877)
2019-08-30 18:37:26 +02:00
9e67b6a6a1 patch 8.1.1945: popup window "firstline" cannot be reset
Problem:    Popup window "firstline" cannot be reset.
Solution:   Allow for setting "firstline" to zero.  Fix that the text jumps to
            the top when using win_execute(). (closes #4876)
2019-08-30 17:34:08 +02:00
821d771e86 patch 8.1.1944: leaking memory when using sound callback
Problem:    Leaking memory when using sound callback.
Solution:   src/sound.c
2019-08-30 16:30:00 +02:00
8d71b54409 patch 8.1.1943: more code can be moved to evalvars.c
Problem:    More code can be moved to evalvars.c.
Solution:   Move it, clean up comments.  Also move some window related
            functions to window.c. (Yegappan Lakshmanan, closes #4874)
2019-08-30 15:46:30 +02:00
58a297b28d patch 8.1.1942: shadow directory gets outdated when files are added
Problem:    Shadow directory gets outdated when files are added.
Solution:   Add the "shadowupdate" target and add a few comments.
2019-08-30 13:59:29 +02:00
ad5db44c01 patch 8.1.1941: getftype() test fails on Mac
Problem:    getftype() test fails on Mac.
Solution:   Skip /dev/fd/.
2019-08-30 13:12:25 +02:00
34ed68d40e patch 8.1.1940: script tests fail
Problem:    Script tests fail.
Solution:   Don't set vimvars type in set_vim_var_nr().
2019-08-29 22:48:24 +02:00
e5cdf153bc patch 8.1.1939: code for handling v: variables in generic eval file
Problem:    Code for handling v: variables in generic eval file.
Solution:   Move v: variables to evalvars.c. (Yegappan Lakshmanan,
            closes #4872)
2019-08-29 22:09:46 +02:00
c507a2d164 patch 8.1.1938: may crash when out of memory
Problem:    May crash when out of memory.
Solution:   Initialize v_type to VAR_UNKNOWN. (Dominique Pelle, closes #4871)
2019-08-29 21:32:55 +02:00
4fb15c6476 patch 8.1.1937: errors when using javascriptreact
Problem:    Errors when using javascriptreact.
Solution:   Use ":runtime" instead of ":source". (closes #4875)
2019-08-29 21:24:21 +02:00
1fb0831a0e patch 8.1.1936: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.  Make negative offset work.  Close all
            popups when window closes.
2019-08-29 20:02:11 +02:00
57441d6fa0 patch 8.1.1935: test for text property popup window is flaky
Problem:    Test for text property popup window is flaky.
Solution:   Remove the undo message
2019-08-28 22:38:07 +02:00
bc2d4c1db6 patch 8.1.1934: not enough tests for text property popup window
Problem:    Not enough tests for text property popup window.
Solution:   Add a few more tests.
2019-08-28 22:18:30 +02:00
0522ba0359 patch 8.1.1933: the eval.c file is too big
Problem:    The eval.c file is too big.
Solution:   Move code related to variables to evalvars.c. (Yegappan
            Lakshmanan, closes #4868)
2019-08-27 22:48:30 +02:00
d20070274c patch 8.1.1932: ml_get errors after using append()
Problem:    Ml_get errors after using append(). (Alex Genco)
Solution:   Do not update the cursor twice. (closes #1737)
2019-08-27 21:56:06 +02:00
ea7a08a53e patch 8.1.1931: syntax test fails
Problem:    Syntax test fails.
Solution:   Add new javascriptreact type to completions.
2019-08-26 22:38:22 +02:00
92852cee3f patch 8.1.1930: cannot recognize .jsx and .tsx files
Problem:    Cannot recognize .jsx and .tsx files.
Solution:   Recognize them as javascriptreact and typescriptreact.
            (closes #4830)
2019-08-26 21:28:15 +02:00
8e95636a28 patch 8.1.1929: no tests for text property popup window
Problem:    No tests for text property popup window.
Solution:   Add a few tests.
2019-08-25 23:08:17 +02:00
12034e22dd patch 8.1.1928: popup windows don't move with the text when making changes
Problem:    Popup windows don't move with the text when making changes.
Solution:   Add the 'textprop" property to the popup window options, position
            the popup relative to a text property. (closes #4560)
            No tests yet.
2019-08-25 22:25:02 +02:00
307c5a5bb7 patch 8.1.1927: code for dealing with script files is spread out
Problem:    Code for dealing with script files is spread out.
Solution:   Move the code to scriptfile.c. (Yegappan Lakshmanan, closes #4861)
2019-08-25 15:41:00 +02:00
c2b97643a8 patch 8.1.1926: cursorline not redrawn when putting a line above the cursor
Problem:    Cursorline not redrawn when putting a line above the cursor.
Solution:   Redraw when the curor line is below a change. (closes #4862)
2019-08-25 14:48:37 +02:00
4c313b13fb patch 8.1.1925: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 22:58:31 +02:00
a8eee21e75 patch 8.1.1924: using empty string for current buffer is unexpected
Problem:    Using empty string for current buffer is unexpected.
Solution:   Make the argument optional for bufname() and bufnr().
2019-08-24 22:14:58 +02:00
4119309d70 patch 8.1.1923: some source files are not in a normal encoding
Problem:    Some source files are not in a normal encoding.
Solution:   Convert hangulin.c from euc-kr to utf-8 and digraph.c from latin1
            to utf-8. (Daniel Hahler, closes #4731)
2019-08-24 21:53:31 +02:00
4f57eefe1e patch 8.1.1922: in diff mode global operations can be very slow
Problem:    In diff mode global operations can be very slow.
Solution:   Do not call diff_redraw() many times, call it once when redrawing.
            And also don't update folds multiple times.
2019-08-24 20:54:19 +02:00
a4208966fb patch 8.1.1921: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-24 20:50:19 +02:00
f63962378d patch 8.1.1920: cannot always close a popup when filter consumes all events
Problem:    Cannot close a popup by the X when a filter consumes all events.
Solution:   Check for a click on the close button before invoking filters.
            (closes #4858)
2019-08-24 19:36:00 +02:00
4645104be4 patch 8.1.1919: using window options when passing a buffer to popup_create()
Problem:    Using current window option values when passing a buffer to
            popup_create().
Solution:   Clear the window-local options. (closes #4857)
2019-08-24 15:50:46 +02:00
e9a891f255 patch 8.1.1918: redrawing popups is inefficient
Problem:    Redrawing popups is inefficient.
Solution:   Fix the logic to compute what window lines to redraw.  Make it
            work below the last line.  Remove redrawing all windows.
2019-08-24 15:26:24 +02:00
356375fbf8 patch 8.1.1917: non-current window is not redrawn when moving popup
Problem:    Non-current window is not redrawn when moving popup. (Ben Jackson)
Solution:   Redraw all windows under a popup. (closes #4860)
2019-08-24 14:46:29 +02:00
741ea17038 patch 8.1.1916: trying to allocate negative amount of memory closing popup
Problem:    Trying to allocate negative amount of memory when closing a popup.
Solution:   Check the rows are not out of bounds.  Don't finish a selection if
            it was never started.
2019-08-24 14:16:32 +02:00
1a3a89168d patch 8.1.1915: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-23 22:31:37 +02:00
d019039ccd patch 8.1.1914: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move set_one_cmd_context(). (Yegappan Lakshmanan, closes #4855)
2019-08-23 21:17:35 +02:00
37f4cbd46f patch 8.1.1913: not easy to compute the space on the command line
Problem:    Not easy to compute the space on the command line.
Solution:   Add v:echospace. (Daniel Hahler, closes #4732)
2019-08-23 20:58:45 +02:00
570497ac40 patch 8.1.1912: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make channel and job functions usable as a method.
2019-08-22 22:55:13 +02:00
64b4d73524 patch 8.1.1911: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-22 22:18:17 +02:00
448262176b patch 8.1.1910: redrawing too much when toggling 'relativenumber'
Problem:    Redrawing too much when toggling 'relativenumber'.
Solution:   Only clear when 'signcolumn' is set to "number". (Yegappan
            Lakshmanan, closes #4852)
2019-08-22 21:23:20 +02:00
e49fbff384 patch 8.1.1909: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make a few more functions usable as a method.
2019-08-21 22:50:07 +02:00
00b0d6d8dc patch 8.1.1908: every popup window consumes a buffer number
Problem:    Every popup window consumes a buffer number.
Solution:   Recycle buffers only used for popup windows.  Do not list popup
            window buffers.
2019-08-21 22:25:30 +02:00
fe6e7618b4 patch 8.1.1907: wrong position for info popup with scrollbar on the left
Problem:    Wrong position for info popup with scrollbar on the left.
Solution:   Take the scrollbar into account.
2019-08-21 20:57:20 +02:00
c1f87c9a31 patch 8.1.1906: info popup size is sometimes incorrect
Problem:    Info popup size is sometimes incorrect.
Solution:   Compute the position and size after setting the content.
2019-08-21 19:33:16 +02:00
c7c5f10a36 patch 8.1.1905: cannot set all properties of the info popup
Problem:    Cannot set all properties of the info popup.
Solution:   Add popup_findinfo().  Rename popup_getpreview() to
            popup_findpreview().
2019-08-21 18:31:03 +02:00
258cef59d8 patch 8.1.1904: cannot have an info popup align with the popup menu
Problem:    Cannot have an info popup align with the popup menu.
Solution:   Add the "align" item to 'completepopup'.
2019-08-21 17:29:29 +02:00
9cb698d564 patch 8.1.1903: cannot build without the +eval feature
Problem:    Cannot build without the +eval feature.
Solution:   Add missing #ifdefs
2019-08-21 15:30:45 +02:00
bd483b3f57 patch 8.1.1902: cannot have an info popup without a border
Problem:    Cannot have an info popup without a border.
Solution:   Add the "border" item to 'completepopup'.
2019-08-21 15:13:41 +02:00
e2c453d38f patch 8.1.1901: the +insert_expand feature is not always available
Problem:    The +insert_expand feature is not always available.
Solution:   Graduate the +insert_expand feature.
2019-08-21 14:37:09 +02:00
d933c82ff4 patch 8.1.1900: sign test fails in the GUI
Problem:    Sign test fails in the GUI.
Solution:   Catch and ignore the exception.
2019-08-21 13:45:16 +02:00
42aff46d97 patch 8.1.1899: sign_place() does not work as documented
Problem:    sign_place() does not work as documented.
Solution:   Make accept line numbers like line(). (Yegappan Lakshmanan,
            closes #4848)
2019-08-21 13:20:29 +02:00
4dc8f498aa patch 8.1.1898: crash when out of memory during startup
Problem:    Crash when out of memory during startup.
Solution:   When out of memory message given during initialisation bail out.
            (closes #4842)
2019-08-21 13:06:55 +02:00
f1552d07d7 patch 8.1.1897: may free memory twice when out of memory
Problem:    May free memory twice when out of memory.
Solution:   Check that backslash_halve_save() returns a different pointer.
            (Dominique Pelle, closes #4847)
2019-08-21 12:54:18 +02:00
eaf3524119 patch 8.1.1896: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add #ifdef. (John Marriott)  Missing part of 8.1.1892.
2019-08-20 23:14:15 +02:00
6f10c70b59 patch 8.1.1895: using NULL pointer when out of memory
Problem:    Using NULL pointer when out of memory.
Solution:   Bail out or skip the code using the pointer. (Zu-Ming Jiang,
            closes #4805, closes #4843, closes #4939, closes #4844)
2019-08-20 22:58:37 +02:00
1058c9d9b5 patch 8.1.1894: not checking for out-of-memory of autoload_name()
Problem:    Not checking for out-of-memory of autoload_name().
Solution:   Check for NULL. (Dominique Pelle, closes #4846)
2019-08-20 21:58:00 +02:00
f1e0544d41 patch 8.1.1893: script to summarize test results can be improved
Problem:    Script to summarize test results can be improved.
Solution:   Use "silent" for substitute to avoid reporting number of matches.
            Remove duplicate "set nocp". (Daniel Hahler, closes #4845)
2019-08-20 21:25:46 +02:00
36e4d985f0 patch 8.1.1892: missing index entry and option menu for 'completepopup'
Problem:    Missing index entry and option menu for 'completepopup'.
Solution:   Add the entries.  Adjust #ifdefs to avoid dead code.
2019-08-20 21:12:16 +02:00
5843f5f37b patch 8.1.1891: functions used in one file are global
Problem:    Functions used in one file are global.
Solution:   Add "static". (Yegappan Lakshmanan, closes #4840)
2019-08-20 20:13:45 +02:00
9a4a8c4d59 patch 8.1.1890: ml_get error when deleting fold marker
Problem:    Ml_get error when deleting fold marker.
Solution:   Check that the line number is not below the last line.  Adjust the
            fold when deleting the empty line.  (Christian Brabandt,
            closes #4834)
2019-08-19 22:48:30 +02:00
ea7ecfe2a0 patch 8.1.1889: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use zero for column if pos is NULL.
2019-08-19 20:08:15 +02:00
073e4b92e6 patch 8.1.1888: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make various functions usable as a method.
2019-08-18 23:01:56 +02:00
0a52df50a0 patch 8.1.1887: the +cmdline_compl feature is not in the tiny version
Problem:    The +cmdline_compl feature is not in the tiny version.
Solution:   Graduate the +cmdline_compl feature.
2019-08-18 22:26:31 +02:00
66b51420e0 patch 8.1.1886: command line expansion code is spread out
Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes #4831)
2019-08-18 21:44:12 +02:00
db1085a563 patch 8.1.1885: comments in libvterm are inconsistent
Problem:    Comments in libvterm are inconsistent.
Solution:   Use // comments.  Als update the table of combining characters.
2019-08-18 20:41:38 +02:00
f0bc15c769 patch 8.1.1884: cannot use mouse scroll wheel in popup in Insert mode
Problem:    Cannot use mouse scroll wheel in popup in Insert mode.  Mouse
            clicks in popup close the popup menu.
Solution:   Check if the mouse is in a popup window. Do not let mouse events
            close the popup menu.  (closes #4544)
2019-08-18 19:23:45 +02:00
9513d91be0 patch 8.1.1883: options test fails
Problem:    Options test fails.
Solution:   Add entry for 'completepopup'.
2019-08-18 17:58:11 +02:00
62a0cb443c patch 8.1.1882: cannot specify properties of the info popup window
Problem:    Cannot specify properties of the info popup window.
Solution:   Add the 'completepopup' option.  Default to PmenuSel highlight.
2019-08-18 16:35:23 +02:00
f4665e78f2 patch 8.1.1881: popup window test fails in some configurations
Problem:    Popup window test fails in some configurations.
Solution:   Check that screendumps can be made.
2019-08-18 15:42:10 +02:00
576a4a6ff1 patch 8.1.1880: cannot show extra info for completion in a popup window
Problem:    Cannot show extra info for completion in a popup window.
Solution:   Add the "popup" entry in 'completeopt'.
2019-08-18 15:25:17 +02:00
93cf85f9ef patch 8.1.1879: more functions can be used as methods
Problem:    More functions can be used as methods.
Solution:   Make float functions usable as a method.
2019-08-17 21:36:28 +02:00
9cfe8f6e68 patch 8.1.1878: negative float before method not parsed correctly
Problem:    Negative float before method not parsed correctly.
Solution:   Apply "!" and "-" in front of expression before using ->.
2019-08-17 21:04:16 +02:00
ffc0716af8 patch 8.1.1877: graduated features scattered
Problem:    Graduated features scattered.
Solution:   Put graduated and obsolete features together.
2019-08-17 20:17:51 +02:00
f8b055d170 patch 8.1.1876: proto file missing from distribution
Problem:    proto file missing from distribution
Solution:   Add the file.
2019-08-17 20:10:42 +02:00
56c860c315 Update runtime files. 2019-08-17 20:09:31 +02:00
e9bd57286a patch 8.1.1875: cannot get size and position of the popup menu
Problem:    Cannot get size and position of the popup menu.
Solution:   Add pum_getpos(). (Ben Jackson, closes #4827)
2019-08-17 19:36:06 +02:00
4dd751b956 patch 8.1.1874: modeless selection in popup window overlaps scrollbar
Problem:    Modeless selection in popup window overlaps scrollbar.
Solution:   Subtract scrollbar from max_col. (closes #4773)
2019-08-17 19:10:53 +02:00
df70775555 patch 8.1.1873: cannot build tiny version
Problem:    Cannot build tiny version.
Solution:   Remove #ifdef for is_autocmd_blocked().
2019-08-17 17:50:07 +02:00
c7226684c8 patch 8.1.1872: when Vim exits because of a signal, VimLeave is not triggered
Problem:    When Vim exits because of a signal, VimLeave is not triggered.
            (Daniel Hahler)
Solution:   Unblock autocommands when triggering VimLeave. (closes #4818)
2019-08-17 16:33:23 +02:00
ff9f27cdc7 patch 8.1.1871: modeless selection in GUI still not correct
Problem:    Modeless selection in GUI still not correct.
Solution:   Fix max_col.
2019-08-17 16:15:53 +02:00
026587b35c patch 8.1.1870: using :pedit from a help file sets help filetype
Problem:    Using :pedit from a help file sets the preview window to help
            filetype. (Wang Shidong)
Solution:   Do not set "keep_help_flag". (closes #3536)
2019-08-17 15:08:00 +02:00
4ad62155a1 patch 8.1.1869: code for the argument list is spread out
Problem:    Code for the argument list is spread out.
Solution:   Put argument list code in arglist.c. (Yegappan Lakshmanan,
            closes #4819)
2019-08-17 14:38:55 +02:00
69cbbecf54 patch 8.1.1868: multi-byte chars in 'listchars' fail with 'linebreak' set
Problem:    Multibyte characters in 'listchars' don't work correctly if
            'linebreak' is also enabled. (Martin Tournoij)
Solution:   Make it work correctly. (Christian Brabandt, closes #4822,
            closes #4812)
2019-08-17 14:10:56 +02:00
315244d85b patch 8.1.1867: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Loop with a sleep instead of one fixed sleep.
2019-08-17 13:18:16 +02:00
d5cf89872e patch 8.1.1866: modeless selection in GUI does not work properly
Problem:    Modeless selection in GUI does not work properly.
Solution:   Avoid going beyond the end of the line. (closes #4783)
2019-08-16 23:09:11 +02:00
a3891681f7 patch 8.1.1865: spellrare and spellrepall in the wrong order
Problem:    Spellrare and spellrepall in the wrong order.
Solution:   Put spellrare below spellrepall. (closes #4820)
2019-08-16 22:42:13 +02:00
413c04e8d5 patch 8.1.1864: still a timer test that is flaky on Mac
Problem:    Still a timer test that is flaky on Mac.
Solution:   Adjust the sleep times.
2019-08-16 22:29:18 +02:00
9174639a82 patch 8.1.1863: confusing error when using a builtin function as method
Problem:    Confusing error when using a builtin function as method while it
            does not support that.
Solution:   Add a specific error message.
2019-08-16 22:22:31 +02:00
9c272a9e52 patch 8.1.1862: Coverity warns for not using return value
Problem:    Coverity warns for not using return value.
Solution:   Add "(void)" to avoid the warning.
2019-08-16 21:54:27 +02:00
24278d2407 patch 8.1.1861: only some assert functions can be used as a method
Problem:    Only some assert functions can be used as a method.
Solution:   Allow using most assert functions as a method.
2019-08-16 21:49:22 +02:00
ea94c85516 patch 8.1.1860: map timeout test is flaky
Problem:    Map timeout test is flaky.
Solution:   Add test to list of flaky tests.  Increase timeout.
2019-08-16 21:47:27 +02:00
427dddf014 patch 8.1.1859: timer test sometimes fails on Mac
Problem:    Timer test sometimes fails on Mac.
Solution:   Show more info when it fails.
2019-08-16 21:22:41 +02:00
2f710afe7f patch 8.1.1858: test for multi-byte mapping fails on some systems
Problem:    Test for multi-byte mapping fails on some systems.
Solution:   Test in another way.
2019-08-16 20:56:03 +02:00
c8fd33d18b patch 8.1.1857: cannot use modifier with multi-byte character
Problem:    Cannot use modifier with multi-byte character.
Solution:   Allow using a multi-byte character, although it doesn't work
            everywhere.
2019-08-16 20:33:05 +02:00
78d629a385 patch 8.1.1856: popup preview test fails sometimes
Problem:    popup preview test fails sometimes. (Christian Brabandt)
Solution:   Clear the command line.
2019-08-16 17:31:15 +02:00
9a2fddcf04 patch 8.1.1855: another failing timer test
Problem:    Another failing timer test.
Solution:   Assert that timers are finished by the end of the test.  Rename
            test functions to make them easier to find.
2019-08-16 11:26:06 +02:00
973d5304a4 patch 8.1.1854: now another timer test is flaky
Problem:    Now another timer test is flaky.
Solution:   Add test to list of flaky tests.
2019-08-16 10:51:10 +02:00
52953194af patch 8.1.1853: timers test is still flaky
Problem:    Timers test is still flaky.
Solution:   Compute the time to sleep more accurately.
2019-08-16 10:27:13 +02:00
7e6feb9eeb patch 8.1.1852: timers test is flaky
Problem:    Timers test is flaky.
Solution:   Accept a larger count.  Add test to list of flaky tests.
2019-08-15 23:42:21 +02:00
28e67e0c14 patch 8.1.1851: crash when sound_playfile() callback plays sound
Problem:    Crash when sound_playfile() callback plays sound.
Solution:   Invoke callback later from event loop.
2019-08-15 23:05:49 +02:00
5dd143e223 patch 8.1.1850: focus may remain in popup window
Problem:    Focus may remain in popup window.
Solution:   Change focus if needed.
2019-08-15 21:34:34 +02:00
9bca58f36d patch 8.1.1849 2019-08-15 21:31:52 +02:00
a4b2699e28 patch 8.1.1848: 'langmap' is not used for CTRL-W command in terminal
Problem:    'langmap' is not used for CTRL-W command in terminal.
Solution:   Push the command in the typeahead buffer instead of the stuff
            buffer. (closes #4814)
2019-08-15 20:58:54 +02:00
185d68a9d0 patch 8.1.1847: suspend test is failing
Problem:    Suspend test is failing.
Solution:   Do not use GetVimCommandClean().
2019-08-15 11:21:15 +02:00
93344c2d70 patch 8.1.1846: inconsistently using GetVimCommand() and v:progpath
Problem:    Inconsistently using GetVimCommand() and v:progpath. (Daniel
            Hahler)
Solution:   Use GetVimCommand(). (closes #4806)
2019-08-14 21:12:05 +02:00
6ace95e981 patch 8.1.1845: may use NULL pointer when running out of memory
Problem:    May use NULL pointer when running out of memory.
Solution:   Do not clear popup buffers when NULL. (closes #4802)
2019-08-13 23:09:49 +02:00
45311b5274 patch 8.1.1844: buffer no longer unloaded when adding text properties
Problem:    Buffer no longer unloaded when adding text properties to it.
Solution:   Do not create the memfile. (closes #4808)
2019-08-13 22:27:32 +02:00
f077db2423 patch 8.1.1843: might be freeing memory that was not allocated
Problem:    Might be freeing memory that was not allocated.
Solution:   Have next_fenc() set the fenc_alloced flag. (closes #4804)
2019-08-13 00:18:24 +02:00
9570aacdb8 patch 8.1.1842: test listed as flaky should no longer be flaky
Problem:    Test listed as flaky should no longer be flaky.
Solution:   Remove Test_popup_and_window_resize from the list of flaky tests.
            (Daniel Hahler, close #4807)
2019-08-12 23:56:20 +02:00
d5e3cc11d3 patch 8.1.1841: no test for Ex shift commands
Problem:    No test for Ex shift commands.
Solution:   Add a test. (Dominique Pelle, closes #4801)
2019-08-12 14:38:02 +02:00
52992feafe patch 8.1.1840: Testing: WorkingClipboard() is not accurate
Problem:    Testing: WorkingClipboard() is not accurate.
Solution:   Check feature clipboard_working instead.
2019-08-12 14:20:33 +02:00
0b5dc64446 patch 8.1.1839: insufficient info when test fails because of screen size
Problem:    Insufficient info when test fails because of screen size.
Solution:   Report the detected screen size.
2019-08-11 22:56:15 +02:00
08cc374dab patch 8.1.1838: there is :spellwrong and :spellgood but not :spellrare
Problem:    There is :spellwrong and :spellgood but not :spellrare.
Solution:   Add :spellrare. (Martin Tournoij, closes #4291)
2019-08-11 22:51:14 +02:00
4999a7fb65 patch 8.1.1837: popup test fails if clipboard is supported but not working
Problem:    Popup test fails if clipboard is supported but not working.
Solution:   Add the "clipboard_working" feature. Also use Check commands
            instead of "if" and "throw".  And remove stray ch_logfile().
2019-08-10 22:21:48 +02:00
a9ab391a3a patch 8.1.1836: inaccurate memory estimate for Amiga-like OS
Problem:    Inaccurate memory estimate for Amiga-like OS.
Solution:   Adjust #ifdef for AvailMem(). (Ola Söder, closes #4797)
2019-08-10 14:54:20 +02:00
fd8ca21b3f patch 8.1.1835: cannot use printf() as a method
Problem:    Cannot use printf() as a method.
Solution:   Pass the base as the second argument to printf().
2019-08-10 00:13:30 +02:00
22a0c0c4ec patch 8.1.1834: cannot use a lambda as a method
Problem:    Cannot use a lambda as a method.
Solution:   Implement ->{lambda}(). (closes #4768)
2019-08-09 23:25:08 +02:00
0c779e8e48 patch 8.1.1833: allocating a bit too much when there is no bad word.
Problem:    Allocating a bit too much when spellbadword() does not find a bad
            word.
Solution:   Reset "len" when going to the next word. (Daniel Hahler,
            closes #4788)
2019-08-09 17:01:02 +02:00
820680b9ff patch 8.1.1832: win_execute() does not work in other tab
Problem:    Win_execute() does not work in other tab. (Rick Howe)
Solution:   Take care of the tab. (closes #4792)
2019-08-09 14:56:22 +02:00
2514315fc2 patch 8.1.1831: confusing skipped message
Problem:    Confusing skipped message.
Solution:   Drop "run" from "run start the GUI".
2019-08-09 14:13:57 +02:00
088e8e3443 Update runtime files. 2019-08-08 22:15:18 +02:00
a576f50662 patch 8.1.1830: Travis does not report error when tests fail
Problem:    Travis does not report error when tests fail.
Solution:   Explicitly do "exit 1".
2019-08-08 22:02:35 +02:00
39de6413c8 patch 8.1.1829: difference in screenshots
Problem:    Difference in screenshots.
Solution:   Update screenshots.  Change checks in a few more tests.
            (closes #4789)
2019-08-08 21:52:39 +02:00
5184132ec0 patch 8.1.1828: not strict enough checking syntax of method invocation
Problem:    Not strict enough checking syntax of method invocation.
Solution:   Check there is no white space inside ->method(.
2019-08-08 21:10:01 +02:00
47ed553fd5 patch 8.1.1827: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4786)
2019-08-08 20:49:14 +02:00
8c5a278fc5 patch 8.1.1826: tests use hand coded feature and option checks
Problem:    Tests use hand coded feature and option checks.
Solution:   Use the commands from check.vim in more tests.
2019-08-07 23:07:07 +02:00
b59e735772 patch 8.1.1825: allocating more memory than needed for extended structs
Problem:    Allocating more memory than needed for extended structs.
Solution:   Use offsetof() instead of sizeof(). (Dominique Pelle,
            closes #4785)
2019-08-07 21:42:24 +02:00
5bcc5a1ff9 patch 8.1.1824: crash when correctly spelled word is very long
Problem:    Crash when correctly spelled word is very long. (Ben Kraft)
Solution:   Check word length before copying. (closes #4778)
2019-08-06 22:48:02 +02:00
d7663c22c6 patch 8.1.1823: command line history code is spread out
Problem:    Command line history code is spread out.
Solution:   Put the code in a new file. (Yegappan Lakshmanan, closes #4779)
            Also graduate the +cmdline_hist feature.
2019-08-06 21:59:57 +02:00
0acae7acc4 patch 8.1.1822: confusing error message when range is not allowed
Problem:    Confusing error message when range is not allowed.
Solution:   With ADDR_NONE give e_norange.  Change e_invaddr to e_invrange for
            consistency.
2019-08-06 21:29:29 +02:00
f97d46f816 patch 8.1.1821: no test for wrong number of method arguments
Problem:    No test for wrong number of method arguments.
Solution:   Add a test.
2019-08-06 20:34:10 +02:00
761fdf01c6 patch 8.1.1820: using expr->FuncRef() does not work
Problem:    Using expr->FuncRef() does not work.
Solution:   Make FuncRef work as a method.
2019-08-05 23:10:16 +02:00
1b6d9c4215 patch 8.1.1819: :pedit does not work with a popup preview window
Problem:    :pedit does not work with a popup preview window.
Solution:   Avoid aborting with an error. (fixes #4777)  Also double check
            that after prepare_tagpreview() the current window is not a
            popup window.
2019-08-05 21:52:04 +02:00
b4a88a0441 patch 8.1.1818: unused variable
Problem:    Unused variable.
Solution:   Remove the variable. (Mike Williams)
2019-08-05 20:18:14 +02:00
6f33b893c6 patch 8.1.1817: github contribution text is incomplete
Problem:    Github contribution text is incomplete.
Solution:   Update the text.
2019-08-04 23:22:08 +02:00
587 changed files with 78116 additions and 67126 deletions

1
.gitattributes vendored Normal file
View File

@ -0,0 +1 @@
src/testdir/test42.in diff

1
.gitignore vendored
View File

@ -77,6 +77,7 @@ src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
runtime/indent/testdir/*.out
runtime/indent/testdir/*.fail
src/memfile_test
src/json_test
src/message_test

View File

@ -96,7 +96,7 @@ anchors:
- do_test() { "$@"; }
coverage: &coverage
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8 latin-1 EUC-KR
- ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- (cd "${SRCDIR}" && bash <(curl -s https://codecov.io/bash))
asan_symbolize: &asan_symbolize
@ -142,10 +142,8 @@ script:
"${SRCDIR}"/vim --not-a-term -u NONE -S "${SRCDIR}"/testdir/if_ver-2.vim -c quit > /dev/null
cat if_ver.txt
fi
- |
if do_test make ${SHADOWOPT} ${TEST}; then
echo -en "travis_fold:end:test\\r\\033[0K"
fi
- do_test make ${SHADOWOPT} ${TEST} && FOLD_MARKER=travis_fold
- echo -en "${FOLD_MARKER}:end:test\\r\\033[0K"
# instead of a 2*2*8 matrix (2*os + 2*compiler + 8*env),

View File

@ -4,14 +4,23 @@ Patches are welcome in whatever form.
Discussions about patches happen on the vim-dev maillist.
If you create a pull request on GitHub it will be
forwarded to the vim-dev maillist. You can also send your patch there
directly. An attachment with a unified diff format is preferred.
directly. In that case an attachment with a unified diff format is preferred.
Information about the maillist can be found [on the Vim website].
[on the Vim website]: http://www.vim.org/maillist.php#vim-dev
Please consider adding a test. Test coverage isn't very good yet, this needs
to improve. Look through recent patches for examples. The tests are located
under "src/testdir".
A pull request has the advantage that it will trigger the Continuous
Integration tests, you will be warned of problems (you can ignore the coverage
warning, it's noisy).
Please consider adding a test. All new functionality should be tested and bug
fixes should be tested for regressions: the test should fail before the fix and
pass after the fix. Look through recent patches for examples and find help
with ":help testing". The tests are located under "src/testdir".
Contributions will be distributed with Vim under the Vim license. Providing a
change to be included implies that you agree with this and your contribution
does not cause us trouble with trademarks or patents. There is no CLA to sign.
# Reporting issues

View File

@ -4,6 +4,7 @@
# source files for all source archives
SRC_ALL = \
.gitignore \
.gitattributes \
.hgignore \
.lgtm.yml \
.travis.yml \
@ -13,6 +14,7 @@ SRC_ALL = \
src/README.md \
src/alloc.h \
src/arabic.c \
src/arglist.c \
src/ascii.h \
src/autocmd.c \
src/beval.c \
@ -20,18 +22,27 @@ SRC_ALL = \
src/blob.c \
src/blowfish.c \
src/buffer.c \
src/bufwrite.c \
src/change.c \
src/channel.c \
src/charset.c \
src/cindent.c \
src/cmdexpand.c \
src/cmdhist.c \
src/crypt.c \
src/crypt_zip.c \
src/debugger.c \
src/dict.c \
src/diff.c \
src/digraph.c \
src/drawline.c \
src/drawscreen.c \
src/edit.c \
src/eval.c \
src/evalbuffer.c \
src/evalfunc.c \
src/evalvars.c \
src/evalwindow.c \
src/ex_cmdidxs.h \
src/ex_cmds.c \
src/ex_cmds.h \
@ -41,6 +52,7 @@ SRC_ALL = \
src/ex_getln.c \
src/feature.h \
src/fileio.c \
src/filepath.c \
src/findfile.c \
src/fold.c \
src/getchar.c \
@ -71,6 +83,7 @@ SRC_ALL = \
src/message_test.c \
src/misc1.c \
src/misc2.c \
src/mouse.c \
src/move.c \
src/mysign \
src/nbdebug.c \
@ -80,13 +93,18 @@ SRC_ALL = \
src/ops.c \
src/option.c \
src/option.h \
src/popupmnu.c \
src/optiondefs.h \
src/optionstr.c \
src/popupmenu.c \
src/popupwin.c \
src/profiler.c \
src/quickfix.c \
src/regexp.c \
src/regexp_bt.c \
src/regexp_nfa.c \
src/regexp.h \
src/register.c \
src/scriptfile.c \
src/screen.c \
src/search.c \
src/session.c \
@ -96,6 +114,7 @@ SRC_ALL = \
src/spell.c \
src/spell.h \
src/spellfile.c \
src/spellsuggest.c \
src/structs.h \
src/syntax.c \
src/tag.c \
@ -164,29 +183,40 @@ SRC_ALL = \
src/proto.h \
src/protodef.h \
src/proto/arabic.pro \
src/proto/arglist.pro \
src/proto/autocmd.pro \
src/proto/beval.pro \
src/proto/blob.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/bufwrite.pro \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/cindent.pro \
src/proto/cmdexpand.pro \
src/proto/cmdhist.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
src/proto/debugger.pro \
src/proto/dict.pro \
src/proto/diff.pro \
src/proto/digraph.pro \
src/proto/drawline.pro \
src/proto/drawscreen.pro \
src/proto/edit.pro \
src/proto/eval.pro \
src/proto/evalbuffer.pro \
src/proto/evalfunc.pro \
src/proto/evalvars.pro \
src/proto/evalwindow.pro \
src/proto/ex_cmds.pro \
src/proto/ex_cmds2.pro \
src/proto/ex_docmd.pro \
src/proto/ex_eval.pro \
src/proto/ex_getln.pro \
src/proto/fileio.pro \
src/proto/filepath.pro \
src/proto/findfile.pro \
src/proto/fold.pro \
src/proto/getchar.pro \
@ -209,16 +239,20 @@ SRC_ALL = \
src/proto/message.pro \
src/proto/misc1.pro \
src/proto/misc2.pro \
src/proto/mouse.pro \
src/proto/move.pro \
src/proto/netbeans.pro \
src/proto/normal.pro \
src/proto/ops.pro \
src/proto/option.pro \
src/proto/popupmnu.pro \
src/proto/optionstr.pro \
src/proto/popupmenu.pro \
src/proto/popupwin.pro \
src/proto/profiler.pro \
src/proto/quickfix.pro \
src/proto/regexp.pro \
src/proto/register.pro \
src/proto/scriptfile.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/session.pro \
@ -227,6 +261,7 @@ SRC_ALL = \
src/proto/sound.pro \
src/proto/spell.pro \
src/proto/spellfile.pro \
src/proto/spellsuggest.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
src/proto/term.pro \
@ -266,7 +301,7 @@ SRC_ALL = \
src/libvterm/src/parser.c \
src/libvterm/src/pen.c \
src/libvterm/src/rect.h \
src/libvterm/src/termscreen.c \
src/libvterm/src/screen.c \
src/libvterm/src/state.c \
src/libvterm/src/unicode.c \
src/libvterm/src/utf8.h \
@ -487,7 +522,7 @@ SRC_DOS = \
src/testdir/Make_dos.mak \
src/testdir/Make_ming.mak \
src/testdir/dos.vim \
src/uninstal.c \
src/uninstall.c \
src/vim.def \
src/vim.rc \
src/vimio.h \
@ -502,7 +537,7 @@ SRC_DOS = \
nsis/gvim_version.nsh \
nsis/README.txt \
nsis/lang/*.nsi \
uninstal.txt \
uninstall.txt \
src/VisVim/Commands.cpp \
src/VisVim/Commands.h \
src/VisVim/DSAddIn.cpp \
@ -822,7 +857,7 @@ BIN_AMI = \
# files for DOS binary (also in extra archive)
BIN_DOS = \
README_bindos.txt \
uninstal.txt \
uninstall.txt \
# files for Win32 OLE binary (also in extra archive)
BIN_OLE = \

View File

@ -165,7 +165,7 @@ MINOR = 1
# xxd/xxd.exe to xxdw32.exe
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
# uninstal.exe to uninstalw32.exe
# uninstall.exe to uninstallw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
@ -175,7 +175,7 @@ MINOR = 1
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
# - Move gvim.pdb to here.
# - Copy "GvimExt/gvimext.dll" to here.
# - Delete vimrun.exe, install.exe and uninstal.exe.
# - Delete vimrun.exe, install.exe and uninstall.exe.
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
# - Install the interfaces you want, see src/INSTALLpc.txt
# Adjust bigvim.bat to match the version of each interface you want.
@ -188,7 +188,7 @@ MINOR = 1
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
# - Rename gvim.pdb to "gvim_ole.pdb".
# - Delete install.exe and uninstal.exe.
# - Delete install.exe and uninstall.exe.
# Create the archives:
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
@ -197,7 +197,7 @@ MINOR = 1
# NSIS self installing exe:
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# uninstallw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# above.
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
@ -518,7 +518,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
@ -539,7 +539,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
@ -557,7 +557,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp uninstallw32.exe dist/vim/$(VIMRTDIR)/uninstall.exe
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
cp README_ole.txt dist/vim/$(VIMRTDIR)
cp src/VisVim/VisVim.dll dist/vim/$(VIMRTDIR)/VisVim.dll

View File

@ -14,7 +14,7 @@ To build the installable .exe:
gvim.exe (the OLE version),
vimrun.exe,
install.exe,
uninstal.exe,
uninstall.exe,
tee/tee.exe,
xxd/xxd.exe,

View File

@ -341,13 +341,13 @@ Section "$(str_section_exe)" id_section_exe
File ${VIMSRC}\vim${BIT}.dll
!endif
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File /oname=uninstall.exe ${VIMSRC}\uninstallw32.exe
File ${VIMSRC}\vimrun.exe
File /oname=tee.exe ${VIMSRC}\teew32.exe
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
File ..\vimtutor.bat
File ..\README.txt
File ..\uninstal.txt
File ..\uninstall.txt
File ${VIMRT}\*.vim
File ${VIMRT}\rgb.txt
@ -955,7 +955,7 @@ Section "un.$(str_unsection_register)" id_unsection_register
# delete the context menu entry and batch files
DetailPrint "$(str_msg_unregistering)"
nsExec::Exec "$0\uninstal.exe -nsis"
nsExec::Exec "$0\uninstall.exe -nsis"
Pop $3
# We may have been put to the background when uninstall did something.

280
nsis/lang/serbian.nsi Normal file
View File

@ -0,0 +1,280 @@
# vi:set ts=8 sts=4 sw=4 et fdm=marker:
#
# serbian.nsi: Serbian language strings for gvim NSIS installer.
#
# Locale ID : 3098
# fileencoding : UTF-8
# Author : Ivan Pešić
!insertmacro MUI_LANGUAGE "Српски"
# Overwrite the default translation.
# These strings should be always English. Otherwise dosinst.c fails.
LangString ^SetupCaption ${LANG_SERBIAN} \
"$(^Name) Setup"
LangString ^UninstallCaption ${LANG_SERBIAN} \
"$(^Name) Uninstall"
##############################################################################
# MUI Configuration Strings {{{1
##############################################################################
#LangString str_dest_folder ${LANG_SERBIAN} \
# "Destination Folder (Must end with $\"vim$\")"
LangString str_show_readme ${LANG_SERBIAN} \
"Прикажи ПРОЧИТАЈМЕ када се заврши инсталација"
# Install types:
LangString str_type_typical ${LANG_SERBIAN} \
"Типична"
LangString str_type_minimal ${LANG_SERBIAN} \
"Минимална"
LangString str_type_full ${LANG_SERBIAN} \
"Пуна"
##############################################################################
# Section Titles & Description {{{1
##############################################################################
LangString str_section_old_ver ${LANG_SERBIAN} \
"Уклањање постојећ(е/их) верзиј(е/а)"
LangString str_desc_old_ver ${LANG_SERBIAN} \
"Уклања постојећ(у/е) Vim верзииј(у/е) из вашег система."
LangString str_section_exe ${LANG_SERBIAN} \
"Vim ГКИ и фајлови потребни за извршавање"
LangString str_desc_exe ${LANG_SERBIAN} \
"Vim ГКИ извршни фајлови и фајлови потребни током извршавања. Ова компонента је неопходна."
LangString str_section_console ${LANG_SERBIAN} \
"Vim конзолни програм"
LangString str_desc_console ${LANG_SERBIAN} \
"Конзолна верзија програма Vim (vim.exe)."
LangString str_section_batch ${LANG_SERBIAN} \
"Креирај .bat фајлове"
LangString str_desc_batch ${LANG_SERBIAN} \
"Креира у Windows директоријуму .bat фајлове за Vim варијанте \
у циљу коришћења из командне линије."
LangString str_group_icons ${LANG_SERBIAN} \
"Креирај иконе за Vim"
LangString str_desc_icons ${LANG_SERBIAN} \
"Креира иконе за Vim на различитим местима, како би се олакшао приступ."
LangString str_section_desktop ${LANG_SERBIAN} \
"На радној површини"
LangString str_desc_desktop ${LANG_SERBIAN} \
"Креира иконе за gVim извршне фајлове на радној површини."
LangString str_section_start_menu ${LANG_SERBIAN} \
"У фасцикли Програми унутар Старт менија"
LangString str_desc_start_menu ${LANG_SERBIAN} \
"Додаје Vim у фолдер Програми Старт менија."
#LangString str_section_quick_launch ${LANG_SERBIAN} \
# "In the Quick Launch Bar"
#LangString str_desc_quick_launch ${LANG_SERBIAN} \
# "Add Vim shortcut in the quick launch bar."
LangString str_section_edit_with ${LANG_SERBIAN} \
"Додај Vim контекстни мени"
LangString str_desc_edit_with ${LANG_SERBIAN} \
"Додаје Vim у $\"Отвори помоћу...$\" листу контекстног менија."
#LangString str_section_edit_with32 ${LANG_SERBIAN} \
# "32-bit Version"
#LangString str_desc_edit_with32 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 32-bit applications."
#LangString str_section_edit_with64 ${LANG_SERBIAN} \
# "64-bit Version"
#LangString str_desc_edit_with64 ${LANG_SERBIAN} \
# "Add Vim to the $\"Open With...$\" context menu list \
# for 64-bit applications."
LangString str_section_vim_rc ${LANG_SERBIAN} \
"Креирај Подразумевану конфигурацију"
LangString str_desc_vim_rc ${LANG_SERBIAN} \
"Креира подразумевани конфиг фајл (_vimrc) ако неки већ не постоји."
LangString str_group_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака"
LangString str_desc_plugin ${LANG_SERBIAN} \
"Креира директоријуме додатака. Ови директоријуми омогућавају проширење програма Vim \
убацивањем фајла у директоријум."
LangString str_section_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_plugin_home ${LANG_SERBIAN} \
"Креира директоријуме додатака у HOME директоријуму."
LangString str_section_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_plugin_vim ${LANG_SERBIAN} \
"Креира директоријуме додатака у Vim инсталационом директоријуму, користе их сви \
на систему."
LangString str_section_vis_vim ${LANG_SERBIAN} \
"VisVim проширење"
LangString str_desc_vis_vim ${LANG_SERBIAN} \
"VisVim проширење за Microsoft Visual Studio интеграцију."
LangString str_section_nls ${LANG_SERBIAN} \
"Подршка за домаћи језик"
LangString str_desc_nls ${LANG_SERBIAN} \
"Инсталира фајлове за домаћу језичку подршку."
LangString str_unsection_register ${LANG_SERBIAN} \
"Поништи регистрацију Vim"
LangString str_desc_unregister ${LANG_SERBIAN} \
"Поништава регистрацију програма Vim на систему."
LangString str_unsection_exe ${LANG_SERBIAN} \
"Уклони Vim извршне фајлове/фајлове потребне у време извршавања"
LangString str_desc_rm_exe ${LANG_SERBIAN} \
"Уклања све Vim извршне фајлове и оне потребне у време извршавања."
LangString str_ungroup_plugin ${LANG_SERBIAN} \
"Укони директоријуме додатака"
LangString str_desc_rm_plugin ${LANG_SERBIAN} \
"Уклања директоријуме додатака ако су празни."
LangString str_unsection_plugin_home ${LANG_SERBIAN} \
"Приватне"
LangString str_desc_rm_plugin_home ${LANG_SERBIAN} \
"Уклања директоријуме додатака из HOME директоријума."
LangString str_unsection_plugin_vim ${LANG_SERBIAN} \
"Дељене"
LangString str_desc_rm_plugin_vim ${LANG_SERBIAN} \
"Уклања директоријуме додатака из Vim инсталациониг директоријума."
LangString str_unsection_rootdir ${LANG_SERBIAN} \
"Уклони Vim корени директоријум"
LangString str_desc_rm_rootdir ${LANG_SERBIAN} \
"Уклања Vim корени директоријум. Он садржи ваше Vim конфигурационе фајлове!"
##############################################################################
# Messages {{{1
##############################################################################
#LangString str_msg_too_many_ver ${LANG_SERBIAN} \
# "Found $vim_old_ver_count Vim versions on your system.$\r$\n\
# This installer can only handle ${VIM_MAX_OLD_VER} versions \
# at most.$\r$\n\
# Please remove some versions and start again."
#LangString str_msg_invalid_root ${LANG_SERBIAN} \
# "Invalid install path: $vim_install_root!$\r$\n\
# It should end with $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_SERBIAN} \
# "Binary path mismatch!$\r$\n$\r$\n\
# Expect the binary path to be $\"$vim_bin_path$\",$\r$\n\
# but system indicates the binary path is $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_SERBIAN} \
# "Vim is still running on your system.$\r$\n\
# Please close all instances of Vim before you continue."
#LangString str_msg_register_ole ${LANG_SERBIAN} \
# "Attempting to register Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_unreg_ole ${LANG_SERBIAN} \
# "Attempting to unregister Vim with OLE. \
# There is no message indicates whether this works or not."
#LangString str_msg_rm_start ${LANG_SERBIAN} \
# "Uninstalling the following version:"
#LangString str_msg_rm_fail ${LANG_SERBIAN} \
# "Fail to uninstall the following version:"
#LangString str_msg_no_rm_key ${LANG_SERBIAN} \
# "Cannot find uninstaller registry key."
#LangString str_msg_no_rm_reg ${LANG_SERBIAN} \
# "Cannot find uninstaller from registry."
#LangString str_msg_no_rm_exe ${LANG_SERBIAN} \
# "Cannot access uninstaller."
#LangString str_msg_rm_copy_fail ${LANG_SERBIAN} \
# "Fail to copy uninstaller to temporary directory."
#LangString str_msg_rm_run_fail ${LANG_SERBIAN} \
# "Fail to run uninstaller."
#LangString str_msg_abort_install ${LANG_SERBIAN} \
# "Installer will abort."
LangString str_msg_install_fail ${LANG_SERBIAN} \
"Инсталација није успела. Више среће идући пут."
LangString str_msg_rm_exe_fail ${LANG_SERBIAN} \
"Неки фајлови у $0 нису обрисани!$\r$\n\
Морате то ручно да обавите."
#LangString str_msg_rm_root_fail ${LANG_SERBIAN} \
# "WARNING: Cannot remove $\"$vim_install_root$\", it is not empty!"
LangString str_msg_uninstalling ${LANG_SERBIAN} \
"Уклањање старе верзије..."
LangString str_msg_registering ${LANG_SERBIAN} \
"Регистровање..."
LangString str_msg_unregistering ${LANG_SERBIAN} \
"Поништавање регистрације..."
##############################################################################
# Dialog Box {{{1
##############################################################################
LangString str_vimrc_page_title ${LANG_SERBIAN} \
"Изаберите _vimrc подешавања"
LangString str_vimrc_page_subtitle ${LANG_SERBIAN} \
"Изаберите подешавања за побољшања, тастатуру и миша."
LangString str_msg_compat_title ${LANG_SERBIAN} \
" Vi / Vim понашање "
LangString str_msg_compat_desc ${LANG_SERBIAN} \
"&Компатибилност и побољшања"
LangString str_msg_compat_vi ${LANG_SERBIAN} \
"Vi компатибилно"
LangString str_msg_compat_vim ${LANG_SERBIAN} \
"Vim оригинално"
LangString str_msg_compat_defaults ${LANG_SERBIAN} \
"Vim са неким побољшањима (учитава defaults.vim)"
LangString str_msg_compat_all ${LANG_SERBIAN} \
"Vim са свим побољшањима (учитава vimrc_example.vim) (Подразумевано)"
LangString str_msg_keymap_title ${LANG_SERBIAN} \
" Мапирања "
LangString str_msg_keymap_desc ${LANG_SERBIAN} \
"&Ремапира неколико тастера за Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, итд.)"
LangString str_msg_keymap_default ${LANG_SERBIAN} \
"Немој да ремапираш тастере (Подразумевано)"
LangString str_msg_keymap_windows ${LANG_SERBIAN} \
"Ремапира неколико тастера"
LangString str_msg_mouse_title ${LANG_SERBIAN} \
" Миш "
LangString str_msg_mouse_desc ${LANG_SERBIAN} \
"&Понашање левог и десног тастера"
LangString str_msg_mouse_default ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: визуелни режим (Подразумевано)"
LangString str_msg_mouse_windows ${LANG_SERBIAN} \
"Десни: искачући мени, Леви: режим избора (Windows)"
LangString str_msg_mouse_unix ${LANG_SERBIAN} \
"Десни: проширује избор, Леви: визуелни режим (Unix)"

View File

@ -5,7 +5,7 @@
#
# Locale ID : 2052
# fileencoding : UTF-8
# Author : Guopeng Wen
# Author : Guopeng Wen, David Liu
!insertmacro MUI_LANGUAGE "SimpChinese"
@ -112,7 +112,7 @@ LangString str_desc_plugin ${LANG_SIMPCHINESE} \
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
"Create plugin directories in HOME directory."
"在主目录创建私有插件目录。"
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
@ -141,14 +141,14 @@ LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
"删除 Vim 的所有执行文件及脚本。"
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
"Remove plugin directories"
"移除插件目录"
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
"Remove the plugin directories if they are empty."
"移除插件目录(如果目录为空)。"
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
"私有插件目录"
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
"Remove the plugin directories from HOME directory."
"从主目录中移除私有插件目录。"
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
"公共插件目录"
@ -241,37 +241,37 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
"设置 _vimrc"
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
"选择键盘、鼠标和增强选项"
"选择键盘、鼠标和扩展设置"
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
"Vi / Vim 行为"
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
"&Compatibility and enhancements"
"兼容性与扩展(&B)"
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
"Vi compatible"
"原始 Vi"
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
"Vim original"
"原始 Vim"
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
"Vim with some enhancements (load defaults.vim)"
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
"Vim with all enhancements (load vimrc_example.vim) (Default)"
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
"键盘映射"
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F)"
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
"Do not remap keys (Default)"
"不映射按键 (缺省)"
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
"Remap a few keys"
"映射一些按键"
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
"鼠标"
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
"&Behavior of right and left buttons"
"左键和右键行为(&B)"
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: visual mode (Default)"
"右键:弹出菜单, 左键:可视化模式 (缺省)"
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
"Right: popup menu, Left: select mode (Windows)"
"右键:弹出菜单, 左键:选择模式 (Windows)"
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
"Right: extends selection, Left: visual mode (Unix)"
"右键: 扩展选择, 左键:可视化模式 (Unix)"

View File

@ -2,7 +2,7 @@
" Language: Haskell
" Maintainer: Daniel Campoverde <alx@sillybytes.net>
" URL: https://github.com/alx741/haskellcomplete.vim
" Last Change: 2018 Aug 26
" Last Change: 2019 May 14
" Usage: setlocal omnifunc=haskellcomplete#Complete
@ -63,6 +63,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, extension)
endif
endfor
let b:completingLangExtension = 0
return l:matches
endif
@ -78,6 +79,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, flag)
endif
endfor
let b:completingOptionsGHC = 0
return l:matches
endif
@ -93,6 +95,7 @@ function! haskellcomplete#Complete(findstart, base)
call add(l:matches, module)
endif
endfor
let b:completingModule = 0
return l:matches
endif

View File

@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2014 Jun 20
" Last Change: 2019 Sep 27
" Distinguish between HTML versions.
" To use with other HTML versions add another "elseif" condition to match
@ -245,7 +245,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
" If context contains white space it is attribute.
" It can be also value of attribute.
" We have to get first word to offer proper completions
if context == ''
if context =~ '^\s*$'
" empty or whitespace line
let tag = ''
else
let tag = split(context)[0]

View File

@ -2,7 +2,7 @@
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 13.0
" Last Change: 2013 May 14
" Last Change: 2019 Aug 08
" Usage: For detailed help, ":help ft-syntax-omni"
" History
@ -597,7 +597,7 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" Remove all non-word characters
" let syn_list = substitute( syn_list, '\<match /\zs.\{-}\<\W\+\>.\{-}\ze\/ ', "", 'g' )
" let syn_list = substitute( syn_list, '\%(\<match \/[^/]\{-}\)\@<=\W\+\ze.\{-}\/ ', ' ', 'g' )
" Do this by using the outer substitue() call to gather all
" Do this by using the outer substitute() call to gather all
" text between the match /.../ tags.
" The inner substitute() call operates on the text selected
" and replaces all non-word characters.

View File

@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2019 Feb 18
" Last change: 2019 Sep 28
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".

View File

@ -2,7 +2,7 @@
" Warning: This also deletes all menus defined by the user!
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2001 May 27
" Last Change: 2019 Sep 11
aunmenu *
tlunmenu *
@ -21,6 +21,11 @@ silent! unlet menutrans_path_dialog
silent! unlet menutrans_tags_dialog
silent! unlet menutrans_textwidth_dialog
silent! unlet menutrans_fileformat_dialog
silent! unlet menutrans_fileformat_choices
silent! unlet menutrans_no_file
silent! unlet menutrans_set_lang_to
silent! unlet menutrans_spell_change_ARG_to
silent! unlet menutrans_spell_add_ARG_to_word_list
silent! unlet menutrans_spell_ignore_ARG
" vim: set sw=2 :

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jun 26
*autocmd.txt* For Vim version 8.1. Last change: 2019 Sep 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -355,6 +355,10 @@ Name triggered by ~
when popup menu visible
|TextYankPost| after text has been yanked or deleted
|SafeState| nothing pending, going to wait for the user to type a
character
|SafeStateAgain| repeated SafeState
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
@ -554,16 +558,14 @@ CmdlineLeave Before leaving the command line.
*CmdwinEnter*
CmdwinEnter After entering the command-line window.
Useful for setting options specifically for
this special type of window. This is
triggered _instead_ of BufEnter and WinEnter.
this special type of window.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdwinLeave*
CmdwinLeave Before leaving the command-line window.
Useful to clean up any global setting done
with CmdwinEnter. This is triggered _instead_
of BufLeave and WinLeave.
with CmdwinEnter.
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
@ -579,7 +581,7 @@ ColorScheme After loading a color scheme. |:colorscheme|
ColorSchemePre Before loading a color scheme. |:colorscheme|
Useful to setup removing things added by a
color scheme, before another one is loaded.
CompleteChanged *CompleteChanged*
CompleteChanged *CompleteChanged*
After each time the Insert mode completion
menu changed. Not fired on popup menu hide,
use |CompleteDone| for that. Never triggered
@ -595,6 +597,10 @@ CompleteChanged *CompleteChanged*
scrollbar TRUE if visible
It is not allowed to change the text |textlock|.
The size and position of the popup are also
available by calling |pum_getpos()|.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
when something was completed or abandoning
@ -953,6 +959,32 @@ RemoteReply When a reply from a Vim that functions as
Note that even if an autocommand is defined,
the reply should be read with |remote_read()|
to consume it.
*SafeState*
SafeState When nothing is pending, going to wait for the
user to type a character.
This will not be triggered when:
- an operator is pending
- a register was entered with "r
- halfway executing a command
- executing a mapping
- there is typeahead
- Insert mode completion is active
- Command line completion is active
You can use `mode()` to find out what state
Vim is in. That may be:
- VIsual mode
- Normal mode
- Insert mode
- Command-line mode
Depending on what you want to do, you may also
check more with `state()`, e.g. whether the
screen was scrolled for messages.
*SafeStateAgain*
SafeStateAgain Like SafeState but after processing any
messages and invoking callbacks. This may be
triggered often, don't do something that takes
time.
*SessionLoadPost*
SessionLoadPost After loading the session file created using
the |:mksession| command.
@ -1085,8 +1117,8 @@ TextYankPost After text has been yanked or deleted in the
current buffer. The following values of
|v:event| can be used to determine the operation
that triggered this autocmd:
operator The operation performed.
regcontents Text that was stored in the
operator The operation performed.
regcontents Text that was stored in the
register, as a list of lines,
like with: >
getreg(r, 1, 1)
@ -1122,7 +1154,7 @@ VimEnter After doing all the startup stuff, including
if v:vim_did_enter
call s:init()
else
au VimEnter * call s:init()
au VimEnter * call s:init()
endif
< *VimLeave*
VimLeave Before exiting Vim, just after writing the

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2019 Jul 04
*change.txt* For Vim version 8.1. Last change: 2019 Sep 28
VIM REFERENCE MANUAL by Bram Moolenaar
@ -691,10 +691,8 @@ The flags that you can use for the substitute commands:
<Esc> to quit substituting
'a' to substitute this and all remaining matches
'q' to quit substituting
CTRL-E to scroll the screen up {not available when compiled
without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not available when compiled
without the |+insert_expand| feature}
CTRL-E to scroll the screen up
CTRL-Y to scroll the screen down
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
@ -1174,7 +1172,7 @@ Rationale: In Vi the "y" command followed by a backwards motion would
With a linewise yank command the cursor is put in the first line, but the
column is unmodified, thus it may not be on the first yanked character.
There are ten types of registers: *registers* *E354*
There are ten types of registers: *registers* *{register}* *E354*
1. The unnamed register ""
2. 10 numbered registers "0 to "9
3. The small delete register "-
@ -1314,7 +1312,7 @@ When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
nothing is returned.
10. Last search pattern register "/ *quote_/* *quote/*
10. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with `:let`, you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
@ -1620,8 +1618,6 @@ By default, "b:#" is included. This means that a line that starts with
"#include" is not recognized as a comment line. But a line that starts with
"# define" is recognized. This is a compromise.
{not available when compiled without the |+comments| feature}
*fo-table*
You can use the 'formatoptions' option to influence how Vim formats text.
'formatoptions' is a string that can contain any of the letters below. The

View File

@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.1. Last change: 2019 Jul 28
*channel.txt* For Vim version 8.1. Last change: 2019 Sep 11
VIM REFERENCE MANUAL by Bram Moolenaar
@ -474,18 +474,25 @@ ch_canread({handle}) *ch_canread()*
Note that messages are dropped when the channel does not have
a callback. Add a close callback to avoid that.
Can also be used as a |method|: >
GetChannel()->ch_canread()
ch_close({handle}) *ch_close()*
Close {handle}. See |channel-close|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close()
ch_close_in({handle}) *ch_close_in()*
Close the "in" part of {handle}. See |channel-close-in|.
{handle} can be a Channel or a Job that has a Channel.
A close callback is not invoked.
Can also be used as a |method|: >
GetChannel()->ch_close_in()
ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
Send {expr} over {handle}. The {expr} is encoded
@ -501,6 +508,12 @@ ch_evalexpr({handle}, {expr} [, {options}]) *ch_evalexpr()*
expression. When there is an error or timeout it returns an
empty string.
Note that while waiting for the response, Vim handles other
messages. You need to make sure this doesn't cause trouble.
Can also be used as a |method|: >
GetChannel()->ch_evalexpr(expr)
ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
Send {string} over {handle}.
@ -516,6 +529,8 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()*
need to use |ch_readraw()| to fetch the rest.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_evalraw(rawstring)
ch_getbufnr({handle}, {what}) *ch_getbufnr()*
Get the buffer number that {handle} is using for {what}.
@ -524,12 +539,17 @@ ch_getbufnr({handle}, {what}) *ch_getbufnr()*
socket output.
Returns -1 when there is no buffer.
Can also be used as a |method|: >
GetChannel()->ch_getbufnr(what)
ch_getjob({channel}) *ch_getjob()*
Get the Job associated with {channel}.
If there is no job calling |job_status()| on the returned Job
will result in "fail".
Can also be used as a |method|: >
GetChannel()->ch_getjob()
ch_info({handle}) *ch_info()*
Returns a Dictionary with information about {handle}. The
@ -558,6 +578,9 @@ ch_info({handle}) *ch_info()*
"in_io" "null", "pipe", "file" or "buffer"
"in_timeout" timeout in msec
Can also be used as a |method|: >
GetChannel()->ch_info()
ch_log({msg} [, {handle}]) *ch_log()*
Write {msg} in the channel log file, if it was opened with
@ -567,6 +590,9 @@ ch_log({msg} [, {handle}]) *ch_log()*
{handle} can be a Channel or a Job that has a Channel. The
Channel must be open for the channel number to be used.
Can also be used as a |method|: >
'did something'->ch_log()
ch_logfile({fname} [, {mode}]) *ch_logfile()*
Start logging channel activity to {fname}.
@ -584,6 +610,9 @@ ch_logfile({fname} [, {mode}]) *ch_logfile()*
aware that this may contain confidential and privacy sensitive
information, e.g. a password you type in a terminal window.
Can also be used as a |method|: >
'logfile'->ch_logfile('w')
ch_open({address} [, {options}]) *ch_open()*
Open a channel to {address}. See |channel|.
@ -595,6 +624,9 @@ ch_open({address} [, {options}]) *ch_open()*
If {options} is given it must be a |Dictionary|.
See |channel-open-options|.
Can also be used as a |method|: >
GetAddress()->ch_open()
ch_read({handle} [, {options}]) *ch_read()*
Read from {handle} and return the received message.
@ -603,11 +635,17 @@ ch_read({handle} [, {options}]) *ch_read()*
there is nothing more to read (channel was closed).
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_read()
ch_readblob({handle} [, {options}]) *ch_readblob()*
Like ch_read() but reads binary data and returns a |Blob|.
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readblob()
ch_readraw({handle} [, {options}]) *ch_readraw()*
Like ch_read() but for a JS and JSON channel does not decode
@ -615,6 +653,9 @@ ch_readraw({handle} [, {options}]) *ch_readraw()*
the NL to arrive, but otherwise works like ch_read().
See |channel-more|.
Can also be used as a |method|: >
GetChannel()->ch_readraw()
ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
Send {expr} over {handle}. The {expr} is encoded
@ -623,6 +664,9 @@ ch_sendexpr({handle}, {expr} [, {options}]) *ch_sendexpr()*
See |channel-use|. *E912*
{handle} can be a Channel or a Job that has a Channel.
Can also be used as a |method|: >
GetChannel()->ch_sendexpr(expr)
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
Send |String| or |Blob| {expr} over {handle}.
@ -633,6 +677,9 @@ ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
is removed.
See |channel-use|.
Can also be used as a |method|: >
GetChannel()->ch_sendraw(rawexpr)
ch_setoptions({handle}, {options}) *ch_setoptions()*
Set options on {handle}:
@ -648,6 +695,9 @@ ch_setoptions({handle}, {options}) *ch_setoptions()*
These options cannot be changed:
"waittime" only applies to |ch_open()|
Can also be used as a |method|: >
GetChannel()->ch_setoptions(options)
ch_status({handle} [, {options}]) *ch_status()*
Return the status of {handle}:
@ -664,6 +714,8 @@ ch_status({handle} [, {options}]) *ch_status()*
"err". For example, to get the error status: >
ch_status(job, {"part": "err"})
<
Can also be used as a |method|: >
GetChannel()->ch_status()
==============================================================================
9. Starting a job with a channel *job-start* *job*
@ -792,6 +844,8 @@ job_getchannel({job}) *job_getchannel()*
To check if the job has no channel: >
if string(job_getchannel()) == 'channel fail'
<
Can also be used as a |method|: >
GetJob()->job_getchannel()
job_info([{job}]) *job_info()*
Returns a Dictionary with information about {job}:
@ -817,12 +871,18 @@ job_info([{job}]) *job_info()*
Without any arguments, returns a List with all Job objects.
Can also be used as a |method|: >
GetJob()->job_info()
job_setoptions({job}, {options}) *job_setoptions()*
Change options for {job}. Supported are:
"stoponexit" |job-stoponexit|
"exit_cb" |job-exit_cb|
Can also be used as a |method|: >
GetJob()->job_setoptions(options)
job_start({command} [, {options}]) *job_start()*
Start a job and return a Job object. Unlike |system()| and
@ -881,6 +941,9 @@ job_start({command} [, {options}]) *job_start()*
{options} must be a Dictionary. It can contain many optional
items, see |job-options|.
Can also be used as a |method|: >
BuildCommand()->job_start()
job_status({job}) *job_status()* *E916*
Returns a String with the status of {job}:
@ -897,6 +960,9 @@ job_status({job}) *job_status()* *E916*
For more information see |job_info()|.
Can also be used as a |method|: >
GetJob()->job_status()
job_stop({job} [, {how}]) *job_stop()*
Stop the {job}. This can also be used to signal the job.
@ -940,6 +1006,9 @@ job_stop({job} [, {how}]) *job_stop()*
When using "kill" Vim will assume the job will die and close
the channel.
Can also be used as a |method|: >
GetJob()->job_stop()
==============================================================================
12. Job options *job-options*

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.1. Last change: 2019 Jul 21
*cmdline.txt* For Vim version 8.1. Last change: 2019 Sep 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -129,7 +129,7 @@ CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
key, the code for that key is inserted in <> form.
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
CTRL-R {register} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
typing CTRL-R and the second character '"' will be displayed
to indicate that you are expected to enter the name of a
@ -191,8 +191,8 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
*c_CTRL-R_CTRL-O* *c_<C-R>_<C-O>*
CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-R {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
CTRL-R CTRL-O {register CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L}
Insert register or object under the cursor. Works like
|c_CTRL-R| but inserts the text literally. For example, if
register a contains "xy^Hz" (where ^H is a backspace),
@ -380,10 +380,8 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
The number of help item matches is limited (currently to 300) to avoid a long
delay when there are very many matches.
These are the commands that can be used:
@ -702,7 +700,7 @@ commands ":write" and ":global" have the whole file (1,$) as default.
If more line specifiers are given than required for the command, the first
one(s) will be ignored.
Line numbers may be specified with: *:range* *E14* *{address}*
Line numbers may be specified with: *:range* *{address}*
{number} an absolute line number
. the current line *:.*
$ the last line in the file *:$*
@ -911,8 +909,7 @@ Note: these are typed literally, they are not special keys!
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
feature.
These modifiers can be given, in this order:
:p Make file name a full path. Must be the first modifier. Also
changes "~/" (and "~user/" for Unix and VMS) to the path for
@ -1174,11 +1171,9 @@ edited as described in |cmdwin-char|.
AUTOCOMMANDS
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. Since this
window is of a special type, the WinEnter, WinLeave, BufEnter and BufLeave
events are not triggered. You can use the Cmdwin events to do settings
specifically for the command-line window. Be careful not to cause side
effects!
Two autocommand events are used: |CmdwinEnter| and |CmdwinLeave|. You can use
the Cmdwin events to do settings specifically for the command-line window.
Be careful not to cause side effects!
Example: >
:au CmdwinEnter : let b:cpt_save = &cpt | set cpt=.
:au CmdwinLeave : let &cpt = b:cpt_save

View File

@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
*develop.txt* For Vim version 8.1. Last change: 2019 Aug 05
VIM REFERENCE MANUAL by Bram Moolenaar
@ -529,7 +529,7 @@ the best method is. Alternatives:
memory use, but takes a long time. On a fast PC it takes a couple of
seconds for English, which can be acceptable for interactive use. But for
some languages it takes more than ten seconds (e.g., German, Catalan),
which is unacceptable slow. For batch processing (automatic corrections)
which is unacceptably slow. For batch processing (automatic corrections)
it's too slow for all languages.
2. Use a trie for the soundfolded words, so that searching can be done just
like how it works without soundfolding. This requires remembering a list

View File

@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.1. Last change: 2019 Jun 10
*editing.txt* For Vim version 8.1. Last change: 2019 Sep 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -100,7 +100,7 @@ g CTRL-G Prints the current position of the cursor in five
:buffers
:files
:ls List all the currently known file names. See
'windows.txt' |:files| |:buffers| |:ls|.
|windows.txt| |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
@ -1233,7 +1233,7 @@ The syntax is best shown via some examples: >
< Open the browser in the C:/bar directory, with the current
buffer filename as default, and save the buffer under the
filename chosen.
Also see the |'browsedir'| option.
Also see the 'browsedir' option.
For versions of Vim where browsing is not supported, the command is executed
unmodified.
@ -1554,7 +1554,7 @@ focus.
If you want to automatically reload a file when it has been changed outside of
Vim, set the 'autoread' option. This doesn't work at the moment you write the
file though, only when the file wasn't changed inside of Vim.
*ignore-timestamp*
If you do not want to be asked or automatically reload the file, you can use
this: >
set buftype=nofile

File diff suppressed because it is too large Load Diff

View File

@ -595,6 +595,10 @@ If you do not like the default folding, use an autocommand to add your desired
folding style instead. For example: >
autocmd FileType man setlocal foldmethod=indent foldenable
If you would like :Man {number} {name} to behave like man {number} {name} by
not running man {name} if no page is found, then use this: >
let g:ft_man_no_sect_fallback = 1
You may also want to set 'keywordprg' to make the |K| command open a manual
page in a Vim window: >
set keywordprg=:Man

View File

@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.1. Last change: 2019 May 20
*gui.txt* For Vim version 8.1. Last change: 2019 Aug 21
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1013,7 +1013,7 @@ it behaves in a strange way.
have at least one subentry, but need not
appear on the menu-bar (see |hidden-menus|).
{only available for Win32 and GTK GUI or in
the terminal when compiled with +insert_expand}
the terminal}
:popu[p]! {name} Like above, but use the position of the mouse
pointer instead of the cursor.

View File

@ -171,14 +171,14 @@ you can.
path {path}\gvim.exe
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\vim 5.6
DisplayName Vim 5.6: Edit with Vim popup menu entry
UninstallString {path}\uninstal.exe
UninstallString {path}\uninstall.exe
Replace {path} with the path that leads to the executable.
Don't type {default}, this is the value for the key itself.
To remove "Edit with Vim" from the popup menu, just remove the registry
entries mentioned above. The "uninstal.exe" program can do this for you. You
can also use the entry in the Windows standard "Add/Remove Programs" list.
entries mentioned above. The "uninstall.exe" program can do this for you.
You can also use the entry in the Windows standard "Add/Remove Programs" list.
If you notice that this entry overrules other file type associations, set
those associations again by hand (using Windows Explorer, see above). This

View File

@ -55,14 +55,14 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << [endpattern]
:pe[rl] << [endmarker]
{script}
{endpattern}
{endmarker}
Execute Perl script {script}.
The {endpattern} after {script} must NOT be preceded
by any white space.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endpattern] is omitted, it defaults to a dot '.'
If [endmarker] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands. Using
'.' helps when inside a function, because "$i;" looks
like the start of an |:insert| command to Vim.

View File

@ -28,14 +28,14 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << [endpattern]
:rub[y] << [endmarker]
{script}
{endpattern}
{endmarker}
Execute Ruby script {script}.
The {endpattern} after {script} must NOT be preceded
by any white space.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endpattern] is omitted, it defaults to a dot '.'
If [endmarker] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
This form of the |:ruby| command is mainly useful for

View File

@ -1,4 +1,4 @@
*indent.txt* For Vim version 8.1. Last change: 2019 Jul 21
*indent.txt* For Vim version 8.1. Last change: 2019 Aug 01
VIM REFERENCE MANUAL by Bram Moolenaar
@ -831,7 +831,7 @@ PHP indenting can be altered in several ways by modifying the values of some
global variables:
*php-comment* *PHP_autoformatcomment*
To not enable auto-formating of comments by default (if you want to use your
To not enable auto-formatting of comments by default (if you want to use your
own 'formatoptions'): >
:let g:PHP_autoformatcomment = 0
@ -949,10 +949,12 @@ Function call arguments will indent 1 extra level. For two-space indentation: >
-------------
*PHP_IndentFunctionDeclarationParameters*
Extra indentation levels to add to arguments in multi-line function definitions. >
Extra indentation levels to add to arguments in multi-line function
definitions. >
let g:PHP_IndentFunctionDeclarationParameters = 1
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
Function arguments in declarations will indent 1 extra level. For two-space
indentation: >
function call_the_thing(
$with_this,

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 8.1. Last change: 2019 Jun 16
*index.txt* For Vim version 8.1. Last change: 2019 Sep 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -23,7 +23,7 @@ to look for deleting something, use: "/delete".
5. Terminal-Job mode |terminal-job-index|
6. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of options see |option-list|.
For an overview of built-in functions see |functions|.
For a list of Vim variables see |vim-variable|.
For a complete listing of all help items see |help-tags|.
@ -73,14 +73,14 @@ tag char action in Insert mode ~
the cursor
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
control flow
|i_CTRL-R| CTRL-R {0-9a-z"%#*:=}
|i_CTRL-R| CTRL-R {register}
insert the contents of a register
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:=}
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {register}
insert the contents of a register literally
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z"%#*:=}
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {register}
insert the contents of a register literally
and don't auto-indent
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z"%#*:=}
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
insert the contents of a register literally
and fix indent.
CTRL-S (used for terminal control flow)
@ -166,7 +166,6 @@ commands in CTRL-X submode *i_CTRL-X_index*
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the |+insert_expand| feature}
commands in completion mode (see |popupmenu-keys|)
@ -1129,6 +1128,8 @@ The commands are sorted on the non-optional part of their name.
tag command action ~
------------------------------------------------------------------------------
|:| : nothing
|:range| :{range} go to last line in {range}
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
|:#| :# same as ":number"
@ -1592,6 +1593,7 @@ tag command action ~
|:spelldump| :spelld[ump] split window and fill with all correct words
|:spellgood| :spe[llgood] add good word for spelling
|:spellinfo| :spelli[nfo] show info about loaded spell files
|:spellrare| :spellra[re] add rare word for spelling
|:spellrepall| :spellr[epall] replace all bad words like last |z=|
|:spellundo| :spellu[ndo] remove good or bad word
|:spellwrong| :spellw[rong] add spelling mistake

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.1. Last change: 2019 May 07
*insert.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -106,7 +106,7 @@ CTRL-K {char1} [char2]
CTRL-N Find next keyword (see |i_CTRL-N|).
CTRL-P Find previous keyword (see |i_CTRL-P|).
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
CTRL-R {register} *i_CTRL-R*
Insert the contents of a register. Between typing CTRL-R and
the second character, '"' will be displayed to indicate that
you are expected to enter the name of a register.
@ -143,7 +143,7 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
sequence will be broken.
See |registers| about registers.
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
CTRL-R CTRL-R {register} *i_CTRL-R_CTRL-R*
Insert the contents of a register. Works like using a single
CTRL-R, but the text is inserted literally, not as if typed.
This differs when the register contains characters like <BS>.
@ -155,7 +155,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
The '.' register (last inserted text) is still inserted as
typed.
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
CTRL-R CTRL-O {register} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't
auto-indent. Does the same as pasting with the mouse
|<MiddleMouse>|. When the register is linewise this will
@ -164,7 +164,7 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
The '.' register (last inserted text) is still inserted as
typed.
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
CTRL-R CTRL-P {register} *i_CTRL-R_CTRL-P*
Insert the contents of a register literally and fix the
indent, like |[<MiddleMouse>|.
Does not replace characters!
@ -300,8 +300,7 @@ character is written at the end of each line. Thus if you want to insert a
*i_CTRL-X* *insert_expand*
CTRL-X enters a sub-mode where several commands can be used. Most of these
commands do keyword completion; see |ins-completion|. These are not available
when Vim was compiled without the |+insert_expand| feature.
commands do keyword completion; see |ins-completion|.
Two commands can be used to scroll the window up or down, without exiting
insert mode:
@ -609,9 +608,6 @@ In Insert and Replace mode, there are several commands to complete part of a
keyword or line that has been typed. This is useful if you are using
complicated keywords (e.g., function names with capitals and underscores).
These commands are not available when the |+insert_expand| feature was
disabled at compile time.
Completion can be done for:
1. Whole lines |i_CTRL-X_CTRL-L|
@ -1092,7 +1088,7 @@ items:
menu extra text for the popup menu, displayed after "word"
or "abbr"
info more information about the item, can be displayed in a
preview window
preview or popup window
kind single letter indicating the type of completion
icase when non-zero case is to be ignored when comparing
items to be equal; when omitted zero is used, thus
@ -1114,12 +1110,55 @@ items in the returned list.
The "menu" item is used in the popup menu and may be truncated, thus it should
be relatively short. The "info" item can be longer, it will be displayed in
the preview window when "preview" appears in 'completeopt'. The "info" item
will also remain displayed after the popup menu has been removed. This is
useful for function arguments. Use a single space for "info" to remove
existing text in the preview window. The size of the preview window is three
lines, but 'previewheight' is used when it has a value of 1 or 2.
the preview window when "preview" appears in 'completeopt' or in a popup
window when "popup" appears in 'completeopt'. In the preview window the
"info" item will also remain displayed after the popup menu has been removed.
This is useful for function arguments. Use a single space for "info" to
remove existing text in the preview window. The size of the preview window is
three lines, but 'previewheight' is used when it has a value of 1 or 2.
*complete-popup*
When "popup" is in 'completeopt' a popup window is used to display the "info".
Then the 'completepopup' option specifies the properties of the popup. This
is used when the info popup is created. The option is a comma separated list
of values:
height maximum height of the popup
width maximum width of the popup
highlight highlight group of the popup (default is PmenuSel)
align "item" (default) or "menu"
border "on" (default) or "off"
Example: >
:set completepopup=height:10,width:60,highlight:InfoPopup
When the "align" value is "item" then the popup is positioned close to the
selected item. Changing the selection will also move the popup. When "align"
is "menu" then the popup is aligned with the top of the menu if the menu is
below the text, and the bottom of the menu otherwise.
After the info popup is created it can be found with |popup_findinfo()| and
properties can be changed with |popup_setoptions()|.
*complete-popuphidden*
If the information for the popup is obtained asynchronously, use "popuphidden"
in 'completeopt'. The info popup will then be initally hidden and
|popup_show()| must be called once it has been filled with the info. This can
be done with a |CompleteChanged| autocommand, something like this: >
set completeopt+=popuphidden
au CompleteChanged * call UpdateCompleteInfo()
func UpdateCompleteInfo()
" Cancel any pending info fetch
let item = v:event.completed_item
" Start fetching info for the item then call ShowCompleteInfo(info)
endfunc
func ShowCompleteInfo(info)
let id = popup_findinfo()
if id
call popup_settext(id, 'async info: ' .. a:info)
call popup_show(id)
endif
endfunc
< *complete-item-kind*
The "kind" item uses a single letter to indicate the kind of completion. This
may be used to show the completion differently (different color or icon).
Currently these types can be used:

View File

@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.1. Last change: 2019 Jun 26
*intro.txt* For Vim version 8.1. Last change: 2019 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -508,6 +508,9 @@ the ":map" command. The rules are:
<M-a> Meta- a ('a' with bit 8 set)
<M-A> Meta- A ('A' with bit 8 set)
<t_kd> "kd" termcap entry (cursor down key)
Although you can specify <M-{char}> with {char} being a multi-byte
character, Vim may not be able to know what byte sequence that is and then
it won't work.
If you want to use the full <> notation in Vim, you have to make sure the '<'
flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is

View File

@ -20,7 +20,8 @@ manual.
1.8 Examples |map-examples|
1.9 Using mappings |map-typing|
1.10 Mapping alt-keys |:map-alt-keys|
1.11 Mapping an operator |:map-operator|
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
1.12 Mapping an operator |:map-operator|
2. Abbreviations |abbreviations|
3. Local mappings and functions |script-local|
4. User-defined commands |user-commands|
@ -777,6 +778,9 @@ In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
always work. But in a terminal Vim gets a sequence of bytes and has to figure
out whether ALT was pressed or not.
If the terminal supports the modifyOtherKeys mode and it has been enabled,
then Vim can recognize more key combinations, see |modifyOtherKeys| below.
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
character. Most decent terminals can work that way, such as xterm, aterm and
rxvt. If your <A-k> mappings don't work it might be that the terminal is
@ -814,7 +818,31 @@ on the terminal; that's a good last resource in case you want to send ESC when
using other applications but not when inside Vim.
1.11 MAPPING AN OPERATOR *:map-operator*
1.11 MAPPING IN modifyOtherKeys mode *modifyOtherKeys*
Xterm and a few other terminals can be put in a mode where keys with modifiers
are sent with a special escape code. Vim recognizes these codes and can then
make a difference between CTRL-H and Backspace, even when Backspace sends the
character 8. And many more special keys.
For xterm modifyOtherKeys is enabled in the builtin termcap entry. If this is
not used you can enable modifyOtherKeys with these lines in your vimrc: >
let &t_TI = "\<Esc>[>4;2m"
let &t_TE = "\<Esc>[>4;m"
In case the modifyOtherKeys mode causes problems you can disable it: >
let &t_TI = ""
let &t_TE = ""
It does not take effect immediately. To have this work without restarting Vim
execute a shell command, e.g.: `!ls`
A known side effect effect is that in Insert mode the raw escape sequence is
inserted after the CTRL-V key. This can be used to check whether
modifyOtherKeys is enabled: In Insert mode type CTRL-V CTRL-V, if you get
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
1.12 MAPPING AN OPERATOR *:map-operator*
An operator is used before a {motion} command. To define your own operator
you must create mapping that first sets the 'operatorfunc' option and then

View File

@ -1,4 +1,4 @@
*message.txt* For Vim version 8.1. Last change: 2019 May 18
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -479,6 +479,9 @@ out-of-memory situation. First make sure that any changes are saved. Then
try to solve the memory shortage. To stay on the safe side, exit Vim and
start again.
If this happens while Vim is still initializing, editing files is very
unlikely to work, therefore Vim will exit with value 123.
Buffers are only partly kept in memory, thus editing a very large file is
unlikely to cause an out-of-memory situation. Undo information is completely
in memory, you can reduce that with these options:
@ -579,7 +582,8 @@ allowed for the command that was used.
Vim was not able to create a swap file. You can still edit the file, but if
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
memory when editing a big file. You may want to change the 'directory' option
to avoid this error. See |swap-file|.
to avoid this error. This error is not given when 'directory' is empty. See
|swap-file|.
*E140* >
Use ! to write partial buffer
@ -809,6 +813,8 @@ To reduce the number of hit-enter prompts:
- Set 'cmdheight' to 2 or higher.
- Add flags to 'shortmess'.
- Reset 'showcmd' and/or 'ruler'.
- Make sure `:echo` text is shorter than or equal to |v:echospace| screen
cells.
If your script causes the hit-enter prompt and you don't know why, you may
find the |v:scrollstart| variable useful.

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Jul 31
*options.txt* For Vim version 8.1. Last change: 2019 Oct 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -856,6 +856,8 @@ A jump table for the options with a short description can be found at |Q_op|.
:set background&
< Vim will guess the value. In the GUI this should work correctly,
in other cases Vim might not be able to guess the right value.
If the GUI supports a dark theme, you can use the "d" flag in
'guioptions', see 'go-d'.
When the |t_RB| option is set, Vim will use it to request the background
color from the terminal. If the returned RGB value is dark/light and
@ -1683,8 +1685,6 @@ A jump table for the options with a short description can be found at |Q_op|.
'comments' 'com' string (default
"s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-")
local to buffer
{not available when compiled without the |+comments|
feature}
A comma separated list of strings that can start a comment line. See
|format-comments|. See |option-backslash| about using backslashes to
insert a space.
@ -1866,7 +1866,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'completefunc' 'cfu' string (default: empty)
local to buffer
{not available when compiled without the |+eval|
or |+insert_expand| features}
feature}
This option specifies a function to be used for Insert mode completion
with CTRL-X CTRL-U. |i_CTRL-X_CTRL-U|
See |complete-functions| for an explanation of how the function is
@ -1877,7 +1877,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'completeslash'* *'csl'*
'completeslash' 'csl' string (default: "")
local to buffer
{not in Vi} {only for MS-Windows}
{only for MS-Windows}
When this option is set it overrules 'shellslash' for completion:
- When this option is set to "slash", a forward slash is used for path
completion in insert mode. This is useful when editing HTML tag, or
@ -1892,8 +1892,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'completeopt'* *'cot'*
'completeopt' 'cot' string (default: "menu,preview")
global
{not available when compiled without the
|+insert_expand| feature}
A comma separated list of options for Insert mode completion
|ins-completion|. The supported values are:
@ -1915,6 +1913,19 @@ A jump table for the options with a short description can be found at |Q_op|.
completion in the preview window. Only works in
combination with "menu" or "menuone".
popup Show extra information about the currently selected
completion in a popup window. Only works in combination
with "menu" or "menuone". Overrides "preview".
See |'completepopup'| for specifying properties.
{only works when compiled with the |+textprop| feature}
popuphidden
Just like "popup" but initially hide the popup. Use a
|CompleteChanged| autocommand to fetch the info and call
|popup_show()| once the popup has been filled.
See the example at |complete-popuphidden|.
{only works when compiled with the |+textprop| feature}
noinsert Do not insert any text for a match until the user selects
a match from the menu. Only works in combination with
"menu" or "menuone". No effect if "longest" is present.
@ -1924,6 +1935,17 @@ A jump table for the options with a short description can be found at |Q_op|.
"menu" or "menuone".
*'completepopup'* *'cpp'*
'completepopup' 'cpp' string (default empty)
global
{not available when compiled without the |+textprop|
or |+quickfix| feature}
When 'completeopt' contains "popup" then this option is used for the
properties of the info popup when it is created. You can also use
|popup_findinfo()| and then set properties for an existing info popup
with |popup_setoptions()|. See |complete-popup|.
*'concealcursor'* *'cocu'*
'concealcursor' 'cocu' string (default: "")
local to window
@ -2446,13 +2468,32 @@ A jump table for the options with a short description can be found at |Q_op|.
local to window
{not available when compiled without the |+syntax|
feature}
Highlight the screen line of the cursor with CursorLine
|hl-CursorLine|. Useful to easily spot the cursor. Will make screen
redrawing slower.
Highlight the text line of the cursor with CursorLine |hl-CursorLine|.
Useful to easily spot the cursor. Will make screen redrawing slower.
When Visual mode is active the highlighting isn't used to make it
easier to see the selected text.
*'cursorlineopt'* *'culopt'*
'cursorlineopt' 'culopt' string (default: "number,line")
local to window
{not available when compiled without the |+syntax|
feature}
Comma separated list of settings for how 'cursorline' is displayed.
Valid values:
"line" Highlight the text line of the cursor with
CursorLine |hl-CursorLine|.
"screenline" Highlight only the screen line of the cursor with
CursorLine |hl-CursorLine|.
"number" Highlight the line number of the cursor with
CursorLineNr |hl-CursorLineNr|.
Special value:
"both" Alias for the values "line,number".
"line" and "screenline" cannot be used together.
*'debug'*
'debug' string (default "")
global
@ -2659,7 +2700,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- The swap file will be created in the first directory where this is
possible.
- Empty means that no swap file will be used (recovery is
impossible!).
impossible!) and no |E303| error will be given.
- A directory "." means to put the swap file in the same directory as
the edited file. On Unix, a dot is prepended to the file name, so
it doesn't show in a directory listing. On MS-Windows the "hidden"
@ -3155,8 +3196,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'fillchars'* *'fcs'*
'fillchars' 'fcs' string (default "vert:|,fold:-")
global
{not available when compiled without the |+windows|
and |+folding| features}
{not available when compiled without the |+folding|
feature}
Characters to fill the statuslines and vertical separators.
It is a comma separated list of items:
@ -3705,6 +3746,9 @@ A jump table for the options with a short description can be found at |Q_op|.
*'go-c'*
'c' Use console dialogs instead of popup dialogs for simple
choices.
*'go-d'*
'd' Use dark theme variant if available. Currently only works for
GTK+ GUI.
*'go-e'*
'e' Add tab pages when indicated with 'showtabline'.
'guitablabel' can be used to change the text in the labels.
@ -3792,8 +3836,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'guitablabel'* *'gtl'*
'guitablabel' 'gtl' string (default empty)
global
{only available when compiled with GUI enabled and
with the |+windows| feature}
{only available when compiled with GUI enabled}
When nonempty describes the text to use in a label of the GUI tab
pages line. When empty and when the result is empty Vim will use a
default label. See |setting-guitablabel| for more info.
@ -3811,8 +3854,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'guitabtooltip'* *'gtt'*
'guitabtooltip' 'gtt' string (default empty)
global
{only available when compiled with GUI enabled and
with the |+windows| feature}
{only available when compiled with GUI enabled}
When nonempty describes the text to use in a tooltip for the GUI tab
pages line. When empty Vim will use a default tooltip.
This option is otherwise just like 'guitablabel' above.
@ -3837,8 +3879,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'helpheight'* *'hh'*
'helpheight' 'hh' number (default 20)
global
{not available when compiled without the |+windows|
feature}
Minimal initial height of the help window when it is opened with the
":help" command. The initial height of the help window is half of the
current window, or (when the 'ea' option is on) the same as other
@ -4806,9 +4846,9 @@ A jump table for the options with a short description can be found at |Q_op|.
off and the line continues beyond the right of the
screen.
*lcs-precedes*
precedes:c Character to show in the first column, when 'wrap'
is off and there is text preceding the character
visible in the first column.
precedes:c Character to show in the first visible column of the
physical line, when there is text preceding the
character visible in the first column.
*lcs-conceal*
conceal:c Character to show in place of concealed text, when
'conceallevel' is set to 1.
@ -5222,8 +5262,6 @@ A jump table for the options with a short description can be found at |Q_op|.
In the "popup" model the right mouse button produces a pop-up menu.
You need to define this first, see |popup-menu|.
In a terminal the popup menu works if Vim is compiled with the
|+insert_expand| option.
Note that you can further refine the meaning of buttons with mappings.
See |gui-mouse-mapping|. But mappings are NOT used for modeless
@ -5408,7 +5446,7 @@ A jump table for the options with a short description can be found at |Q_op|.
'omnifunc' 'ofu' string (default: empty)
local to buffer
{not available when compiled without the |+eval|
or |+insert_expand| features}
feature}
This option specifies a function to be used for Insert mode omni
completion with CTRL-X CTRL-O. |i_CTRL-X_CTRL-O|
See |complete-functions| for an explanation of how the function is
@ -5637,8 +5675,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'previewheight'* *'pvh'*
'previewheight' 'pvh' number (default 12)
global
{not available when compiled without the |+windows| or
|+quickfix| features}
{not available when compiled without the |+quickfix|
feature}
Default height for a preview window. Used for |:ptag| and associated
commands. Used for |CTRL-W_}| when no count is given. Not used when
'previewpopup' is set.
@ -5646,17 +5684,19 @@ A jump table for the options with a short description can be found at |Q_op|.
*'previewpopup'* *'pvp'*
'previewpopup' 'pvp' string (default empty)
global
{not available when compiled without the |+windows|,
|+textprop| or |+quickfix| feature}
{not available when compiled without the |+textprop|
or |+quickfix| feature}
When not empty a popup window is used for commands that would open a
preview window. See |preview-popup|.
Not used for the insert completion info, add "popup" to
'completeopt' for that.
*'previewwindow'* *'nopreviewwindow'*
*'pvw'* *'nopvw'* *E590*
'previewwindow' 'pvw' boolean (default off)
local to window
{not available when compiled without the |+windows| or
|+quickfix| features}
{not available when compiled without the |+quickfix|
feature}
Identifies the preview window. Only one window can have this option
set. It's normally not set directly, but by using one of the commands
|:ptag|, |:pedit|, etc.
@ -5736,8 +5776,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'pumheight'* *'ph'*
'pumheight' 'ph' number (default 0)
global
{not available when compiled without the
|+insert_expand| feature}
Determines the maximum number of items to show in the popup menu for
Insert mode completion. When zero as much space as available is used.
|ins-completion-menu|.
@ -5745,8 +5783,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'pumwidth'* *'pw'*
'pumwidth' 'pw' number (default 15)
global
{not available when compiled without the
|+insert_expand| feature}
Determines the minimum width to use for the popup menu for Insert mode
completion. |ins-completion-menu|.
@ -6774,8 +6810,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'showtabline'* *'stal'*
'showtabline' 'stal' number (default 1)
global
{not available when compiled without the |+windows|
feature}
The value of this option specifies when the line with tab page labels
will be displayed:
0: never
@ -7072,8 +7106,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
'splitbelow' 'sb' boolean (default off)
global
{not available when compiled without the |+windows|
feature}
When on, splitting a window will put the new window below the current
one. |:split|
@ -7394,8 +7426,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'tabline'* *'tal'*
'tabline' 'tal' string (default empty)
global
{not available when compiled without the |+windows|
feature}
When nonempty, this option determines the content of the tab pages
line at the top of the Vim window. When empty Vim will use a default
tab pages line. See |setting-tabline| for more info.
@ -7421,8 +7451,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'tabpagemax'* *'tpm'*
'tabpagemax' 'tpm' number (default 10)
global
{not available when compiled without the |+windows|
feature}
Maximum number of tab pages to be opened by the |-p| command line
argument or the ":tab all" command. |tabpage|
@ -8153,8 +8181,8 @@ A jump table for the options with a short description can be found at |Q_op|.
Win32 and OS/2)
global or local to buffer |global-local|
Maximum number of changes that can be undone. Since undo information
is kept in memory, higher numbers will cause more memory to be used
(nevertheless, a single change can use an unlimited amount of memory).
is kept in memory, higher numbers will cause more memory to be used.
Nevertheless, a single change can already use a large amount of memory.
Set to 0 for Vi compatibility: One level of undo and "u" undoes
itself: >
set ul=0
@ -8541,8 +8569,8 @@ A jump table for the options with a short description can be found at |Q_op|.
":map <BS> X" to make backspace delete the character in front of the
cursor.
When 'l' is included and it is used after an operator at the end of a
line then it will not move to the next line. This makes "dl", "cl",
"yl" etc. work normally.
line (not an empty line) then it will not move to the next line. This
makes "dl", "cl", "yl" etc. work normally.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
@ -8732,8 +8760,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winheight'* *'wh'* *E591*
'winheight' 'wh' number (default 1)
global
{not available when compiled without the |+windows|
feature}
Minimal number of lines for the current window. This is not a hard
minimum, Vim will use fewer lines if there is not enough room. If the
focus goes to a window that is smaller, its size is increased, at the
@ -8754,8 +8780,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winfixheight'* *'wfh'* *'nowinfixheight'* *'nowfh'*
'winfixheight' 'wfh' boolean (default off)
local to window
{not available when compiled without the |+windows|
feature}
Keep the window height when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|. Set by default for the
|preview-window| and |quickfix-window|.
@ -8764,8 +8788,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winfixwidth'* *'wfw'* *'nowinfixwidth'* *'nowfw'*
'winfixwidth' 'wfw' boolean (default off)
local to window
{not available when compiled without the |+windows|
feature}
Keep the window width when windows are opened or closed and
'equalalways' is set. Also for |CTRL-W_=|.
The width may be changed anyway when running out of room.
@ -8773,8 +8795,6 @@ A jump table for the options with a short description can be found at |Q_op|.
*'winminheight'* *'wmh'*
'winminheight' 'wmh' number (default 1)
global
{not available when compiled without the |+windows|
feature}
The minimal height of a window, when it's not the current window.
This is a hard minimum, windows will never become smaller.
When set to zero, windows may be "squashed" to zero lines (i.e. just a

View File

@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Oct 10
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@ -3512,7 +3512,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
- Click "Add..."
- Set External Editor (adjust path as needed, include
the quotes and !.! at the end):
"c:\Program Files\Vim\vim70\gvim.exe" !.!
"c:\Program Files\Vim\vim81\gvim.exe" !.!
- Check that the filetype in the box below is
{asterisk}.{asterisk} (all files), or whatever types
you want (cec: change {asterisk} to * ; I had to
@ -3762,8 +3762,8 @@ by obtaining a copy of the latest (often developmental) netrw at:
The <netrw.vim> script is typically installed on systems as something like:
>
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim7x/autoload/netrw.vim
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
/usr/local/share/vim/vim8x/autoload/netrw.vim
(see output of :echo &rtp)
<
which is loaded automatically at startup (assuming :set nocp). If you

View File

@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.1. Last change: 2019 Aug 01
*popup.txt* For Vim version 8.1. Last change: 2019 Sep 25
VIM REFERENCE MANUAL by Bram Moolenaar
@ -16,6 +16,7 @@ Displaying text in a floating window. *popup* *popup-window*
3. Usage |popup-usage|
popup_create() arguments |popup_create-arguments|
Popup text properties |popup-props|
Position popup with textprop |popup-textprop-pos|
Popup filter |popup-filter|
Popup callback |popup-callback|
Popup scrollbar |popup-scrollbar|
@ -124,7 +125,9 @@ is always associated with the popup window and manipulation is restricted:
It is possible to change the specifically mentioned options, but anything
might break then, so better leave them alone.
The window does have a cursor position, but the cursor is not displayed.
The window does have a cursor position, but the cursor is not displayed. In
fact, the cursor in the underlying window is displayed, as if it peeks through
the popup, so you can see where it is.
To execute a command in the context of the popup window and buffer use
`win_execute()`. Example: >
@ -134,9 +137,7 @@ Options can be set on the window with `setwinvar()`, e.g.: >
call setwinvar(winid, '&wrap', 0)
And options can be set on the buffer with `setbufvar()`, e.g.: >
call setbufvar(winbufnr(winid), '&filetype', 'java')
Note that this does not trigger autocommands. Use `win_execute()` if you do
need them.
You can also use `win_execute()` with a ":setlocal" command.
==============================================================================
@ -186,6 +187,9 @@ popup_atcursor({what}, {options}) *popup_atcursor()*
\ })
< Use {options} to change the properties.
Can also be used as a |method|: >
GetText()->popup_atcursor({})
popup_beval({what}, {options}) *popup_beval()*
Show the {what} above the position from 'ballooneval' and
@ -198,9 +202,11 @@ popup_beval({what}, {options}) *popup_beval()*
\ mousemoved: 'WORD',
\ })
< Use {options} to change the properties.
See |popup_beval_example| for an example use.
See |popup_beval_example| for an example.
Can also be used as a |method|: >
GetText()->popup_beval({})
<
*popup_clear()*
popup_clear() Emergency solution to a misbehaving plugin: close all popup
windows for the current tab and global popups.
@ -215,6 +221,8 @@ popup_close({id} [, {result}]) *popup_close()*
it will be passed as the second argument of the callback.
Otherwise zero is passed to the callback.
Can also be used as a |method|: >
GetPopup()->popup_close()
popup_create({what}, {options}) *popup_create()*
Open a popup window showing {what}, which is either:
@ -237,6 +245,8 @@ popup_create({what}, {options}) *popup_create()*
call setbufline(bufnr, 2, 'second line')
< In case of failure zero is returned.
Can also be used as a |method|: >
GetText()->popup_create({})
popup_dialog({what}, {options}) *popup_dialog()*
Just like |popup_create()| but with these default options: >
@ -258,6 +268,8 @@ popup_dialog({what}, {options}) *popup_dialog()*
< By default the dialog can be dragged, so that text below it
can be read if needed.
Can also be used as a |method|: >
GetText()->popup_dialog({})
popup_filter_menu({id}, {key}) *popup_filter_menu()*
Filter that can be used for a popup. These keys can be used:
@ -289,6 +301,20 @@ popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
See the example here: |popup_dialog-example|
popup_findinfo() *popup_findinfo()*
Get the |window-ID| for the popup info window, as it used by
the popup menu. See |complete-popup|. The info popup is
hidden when not used, it can be deleted with |popup_clear()|
and |popup_close()|.
Return zero if there is none.
popup_findpreview() *popup_findpreview()*
Get the |window-ID| for the popup preview window.
Return zero if there is none.
popup_getoptions({id}) *popup_getoptions()*
Return the {options} for popup {id} in a Dict.
A zero value means the option was not set. For "zindex" the
@ -300,6 +326,10 @@ popup_getoptions({id}) *popup_getoptions()*
The "mousemoved" entry is a list with screen row, minimum and
maximum screen column, [0, 0, 0] when not set.
"firstline" is the property set on the popup, unlike the
"firstline" obtained with |popup_getpos()| which is the actual
buffer line at the top of the popup window.
"border" and "padding" are not included when all values are
zero. When all values are one then an empty list is included.
@ -311,8 +341,13 @@ popup_getoptions({id}) *popup_getoptions()*
the current tabpage and a positive number for a popup on
another tabpage.
"textprop", "textpropid" and "textpropwin" are only present
when "textprop" was set.
If popup window {id} is not found an empty Dict is returned.
Can also be used as a |method|: >
GetPopup()->popup_getoptions()
popup_getpos({id}) *popup_getpos()*
Return the position and size of popup {id}. Returns a Dict
@ -326,6 +361,7 @@ popup_getpos({id}) *popup_getpos()*
core_width width of the text box in screen cells
core_height height of the text box in screen cells
firstline line of the buffer at top (1 unless scrolled)
(not the value of the "firstline" property)
scrollbar non-zero if a scrollbar is displayed
visible one if the popup is displayed, zero if hidden
Note that these are the actual screen positions. They differ
@ -336,10 +372,8 @@ popup_getpos({id}) *popup_getpos()*
If popup window {id} is not found an empty Dict is returned.
popup_getpreview() *popup_getpreview()*
Get the |window-ID| for the popup preview window.
Return zero if there is none.
Can also be used as a |method|: >
GetPopup()->popup_getpos()
popup_hide({id}) *popup_hide()*
If {id} is a displayed popup, hide it now. If the popup has a
@ -348,6 +382,8 @@ popup_hide({id}) *popup_hide()*
If window {id} does not exist nothing happens. If window {id}
exists but is not a popup window an error is given. *E993*
Can also be used as a |method|: >
GetPopup()->popup_hide()
popup_locate({row}, {col}) *popup_locate()*
Return the |window-ID| of the popup at screen position {row}
@ -385,6 +421,8 @@ popup_menu({what}, {options}) *popup_menu()*
\ callback: 'ColorSelected',
\ })
< Can also be used as a |method|: >
GetChoices()->popup_menu({})
popup_move({id}, {options}) *popup_move()*
Move popup {id} to the position specified with {options}.
@ -401,6 +439,8 @@ popup_move({id}, {options}) *popup_move()*
For {id} see `popup_hide()`.
For other options see |popup_setoptions()|.
Can also be used as a |method|: >
GetPopup()->popup_move(options)
popup_notification({what}, {options}) *popup_notification()*
Show the {what} for 3 seconds at the top of the Vim window.
@ -421,17 +461,21 @@ popup_notification({what}, {options}) *popup_notification()*
< The PopupNotification highlight group is used instead of
WarningMsg if it is defined.
Without the |+timers| feature the poup will not disappear
Without the |+timers| feature the popup will not disappear
automatically, the user has to click in it.
The position will be adjusted to avoid overlap with other
notifications.
Use {options} to change the properties.
Can also be used as a |method|: >
GetText()->popup_notification({})
popup_show({id}) *popup_show()*
If {id} is a hidden popup, show it now.
For {id} see `popup_hide()`.
If {id} is the info popup it will be positioned next to the
current popup menu item.
popup_setoptions({id}, {options}) *popup_setoptions()*
@ -464,13 +508,18 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
For "hidden" use |popup_hide()| and |popup_show()|.
"tabpage" cannot be changed.
Can also be used as a |method|: >
GetPopup()->popup_setoptions(options)
popup_settext({id}, {text}) *popup_settext()*
Set the text of the buffer in poup win {id}. {text} is the
Set the text of the buffer in popup win {id}. {text} is the
same as supplied to |popup_create()|, except that a buffer
number is not allowed.
Does not change the window size or position, other than caused
by the different text.
Can also be used as a |method|: >
GetPopup()->popup_settext('hello')
==============================================================================
3. Usage *popup-usage*
@ -491,23 +540,39 @@ properties. It is in one of four forms:
dictionary with a "col" entry, see below:
|popup-props|.
If you want to create a new buffer yourself use |bufadd()| and pass the buffer
number to popup_create().
It is not possible to use the buffer of a terminal window. *E278*
The second argument of |popup_create()| is a dictionary with options:
line Screen line where to position the popup. Can use a
number or "cursor", "cursor+1" or "cursor-1" to use
the line of the cursor and add or subtract a number of
lines. If omitted the popup is vertically centered.
The first line is 1.
When using "textprop" the number is relative to the
text property and can be negative.
col Screen column where to position the popup. Can use a
number or "cursor" to use the column of the cursor,
"cursor+9" or "cursor-9" to add or subtract a number
of columns. If omitted the popup is horizontally
centered. The first column is 1.
When using "textprop" the number is relative to the
text property and can be negative.
pos "topleft", "topright", "botleft" or "botright":
defines what corner of the popup "line" and "col" are
used for. When not set "topleft" is used.
Alternatively "center" can be used to position the
popup in the center of the Vim window, in which case
"line" and "col" are ignored.
textprop When present the popup is positioned next to a text
property with this name and will move when the text
property moves. Use an empty string to remove. See
|popup-textprop-pos|.
textpropwin What window to search for the text property. When
omitted or invalid the current window is used.
textpropid Used to identify the text property when "textprop" is
present. Use zero to reset.
fixed When FALSE (the default), and:
- "pos" is "botleft" or "topleft", and
- "wrap" is off, and
@ -533,6 +598,7 @@ The second argument of |popup_create()| is a dictionary with options:
firstline First buffer line to display. When larger than one it
looks like the text scrolled up. When out of range
the last buffer line will at the top of the window.
Set to zero to leave the position as set by commands.
Also see "scrollbar".
hidden When TRUE the popup exists but is not displayed; use
`popup_show()` to unhide it.
@ -549,13 +615,13 @@ The second argument of |popup_create()| is a dictionary with options:
start and end as padding.
wrap TRUE to make the lines wrap (default TRUE).
drag TRUE to allow the popup to be dragged with the mouse
by grabbing at at the border. Has no effect if the
by grabbing at the border. Has no effect if the
popup does not have a border. As soon as dragging
starts and "pos" is "center" it is changed to
"topleft".
resize TRUE to allow the popup to be resized with the mouse
by grabbing at at the bottom right cornder. Has no
effect if the popup does not have a border.
by grabbing at the bottom right corner. Has no effect
if the popup does not have a border.
close When "button" an X is displayed in the top-right, on
top of any border, padding or text. When clicked on
the X the popup will close. Any callback is invoked
@ -616,8 +682,13 @@ The second argument of |popup_create()| is a dictionary with options:
- "expr": if the cursor moved outside |<cexpr>|
- [{start}, {end}]: if the cursor moved before column
{start} or after {end}
- [{lnum}, {start}, {end}]: if the cursor moved away
from line {lnum}, before column {start} or after
{end}
The popup also closes if the cursor moves to another
line or to another window.
mousemoved Like "moved" but referring to the mouse pointer
position
cursorline non-zero: Highlight the cursor line. Also scrolls the
text to show this line (only works properly
when 'wrap' is off).
@ -628,6 +699,18 @@ The second argument of |popup_create()| is a dictionary with options:
mapping Allow for key mapping. When FALSE and the popup is
visible and has a filter callback key mapping is
disabled. Default value is TRUE.
filtermode In which modes the filter is used (same flags as with
|hasmapto()| plus "a"):
n Normal mode
v Visual and Select mode
x Visual mode
s Select mode
o Operator-pending mode
i Insert mode
l Language-Argument ("r", "f", "t", etc.)
c Command-line mode
a all modes
The default value is "a".
callback A callback that is called when the popup closes, e.g.
when using |popup_filter_menu()|, see |popup-callback|.
@ -660,6 +743,72 @@ So we get:
|prop_type_add()|
POSITION POPUP WITH TEXTPROP *popup-textprop-pos*
Positioning a popup next to a text property causes the popup to move when text
is inserted or deleted. The popup functions like a tooltip.
These steps are needed to make this work:
- Define a text property type, it defines the name. >
call prop_type_add('popupMarker', {})
- Place a text property at the desired text: >
let lnum = {line of the text}
let col = {start column of the text}
let len = {length of the text}
let propId = {arbitrary but unique number}
call prop_add(lnum, col, #{
\ length: len,
\ type: 'popupMarker',
\ id: propId,
\ })
- Create a popup: >
let winid = popup_create('the text', #{
\ pos: 'botleft',
\ textprop: 'popupMarker',
\ textpropid: propId,
\ border: [],
\ padding: [0,1,0,1],
\ close: 'click',
\ })
By default the popup is positioned at the corner of the text, opposite of the
"pos" specified for the popup. Thus when the popup uses "botleft", the
bottom-left corner of the popup is positioned next to the top-right corner of
the text property:
+----------+
| the text |
+----------+
just some PROPERTY as an example
Here the text property is on "PROPERTY". Move the popup to the left by
passing a negative "col" value to popup_create(). With "col: -5" you get:
+----------+
| the text |
+----------+
just some PROPERTY as an example
If the text property moves out of view then the popup will be hidden.
If the window for which the popup was defined is closed, the popup is closed.
If the popup cannot fit in the desired position, it may show at a nearby
position.
Some hints:
- To avoid collision with other plugins the text property type name has to be
unique. You can also use the "bufnr" item to make it local to a buffer.
- You can leave out the text property ID if there is only ever one text
property visible.
- The popup may be in the way of what the user is doing, making it close with
a click, as in the example above, helps for that.
- If the text property is removed the popup is closed. Use something like
this: >
call prop_remove(#{type: 'popupMarker', id: propId})
POPUP FILTER *popup-filter*
A callback that gets any typed keys while a popup is displayed. The filter is
@ -684,13 +833,20 @@ key as a string, e.g.: >
endif
return 0
endfunc
< *popup-mapping*
< *popup-filter-mode*
The "filtermode" property can be used to specify in what mode the filter is
invoked. The default is "a": all modes. When using "nvi" Command-line mode
is not included, so that any command typed on the command line is not
filtered. However, to get to Command-line mode the filter must not consume
":". Just like it must not consume "v" to allow for entering Visual mode.
*popup-mapping*
Normally the key is what results after any mapping, since the keys pass on as
normal input if the filter does not use it. If the filter consumes all the
keys, set the "mapping" property to zero so that mappings do not get in the
way. This is default for |popup_menu()| and |popup_dialog()|.
Some common key actions:
Some recommended key actions:
x close the popup (see note below)
cursor keys select another entry
Tab accept current suggestion
@ -841,7 +997,7 @@ this example simulated with a timer callback: >
call popup_close(s:winid)
let s:winid = 0
endif
" simulate an asynchronous loopup for the text to display
" simulate an asynchronous lookup for the text to display
let s:balloonText = v:beval_text
call timer_start(100, 'ShowPopup')
return ''

View File

@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.1. Last change: 2019 Jul 15
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1352,6 +1352,9 @@ replaced with SOH (0x01).
Note: By default the difference between upper and lowercase is ignored. If
you want to match case, add "\C" to the pattern |/\C|.
Vim will read lines of any length, but only the first 4095 bytes are used, the
rest is ignored. Items can only be 1023 bytes long.
Basic items

View File

@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.1. Last change: 2019 Jul 18
*quickref.txt* For Vim version 8.1. Last change: 2019 Sep 27
VIM REFERENCE MANUAL by Bram Moolenaar
@ -291,7 +291,7 @@ moving around:
|i_CTRL-A| CTRL-A insert previously inserted text
|i_CTRL-@| CTRL-@ insert previously inserted text and stop
Insert mode
|i_CTRL-R| CTRL-R {0-9a-z%#:.-="} insert the contents of a register
|i_CTRL-R| CTRL-R {register} insert the contents of a register
|i_CTRL-N| CTRL-N insert next match of identifier before the
cursor
@ -651,6 +651,8 @@ Short explanation of each option: *option-list*
'complete' 'cpt' specify how Insert mode completion works
'completefunc' 'cfu' function to be used for Insert mode completion
'completeopt' 'cot' options for Insert mode completion
'completepopup' 'cpp' options for the Insert mode completion info popup
'completeslash' 'csl' like 'shellslash' for completion
'concealcursor' 'cocu' whether concealable text is hidden in cursor line
'conceallevel' 'cole' whether concealable text is shown or hidden
'confirm' 'cf' ask what to do about unsaved/read-only files
@ -668,6 +670,7 @@ Short explanation of each option: *option-list*
'cursorbind' 'crb' move cursor in window as it moves in other windows
'cursorcolumn' 'cuc' highlight the screen column of the cursor
'cursorline' 'cul' highlight the screen line of the cursor
'cursorlineopt' 'culopt' settings for 'cursorline'
'debug' set to "msg" to see all error messages
'define' 'def' pattern to be used to find a macro definition
'delcombine' 'deco' delete combining characters on their own
@ -1074,8 +1077,7 @@ Short explanation of each option: *option-list*
three digits)
|c_CTRL-K| CTRL-K {char1} {char2}
enter digraph (See |Q_di|)
|c_CTRL-R| CTRL-R {0-9a-z"%#:-=}
insert the contents of a register
|c_CTRL-R| CTRL-R {register} insert the contents of a register
|c_<Left>| <Left>/<Right> cursor left/right
|c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.1. Last change: 2019 Jun 14
*repeat.txt* For Vim version 8.1. Last change: 2019 Sep 20
VIM REFERENCE MANUAL by Bram Moolenaar
@ -219,10 +219,10 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
When {file} contains wildcards it is expanded to all
matching files. Example: >
:runtime! plugin/*.vim
:runtime! plugin/**/*.vim
< This is what Vim uses to load the plugin files when
starting up. This similar command: >
:runtime plugin/*.vim
:runtime plugin/**/*.vim
< would source the first file only.
When 'verbose' is one or higher, there is a message

View File

@ -1,4 +1,4 @@
*sign.txt* For Vim version 8.1. Last change: 2019 Jul 21
*sign.txt* For Vim version 8.1. Last change: 2019 Sep 06
VIM REFERENCE MANUAL by Gordon Prieur
@ -389,6 +389,9 @@ sign_define({list})
\ 'text' : '!!'}
\ ])
<
Can also be used as a |method|: >
GetSignList()->sign_define()
sign_getdefined([{name}]) *sign_getdefined()*
Get a list of defined signs and their attributes.
This is similar to the |:sign-list| command.
@ -417,6 +420,9 @@ sign_getdefined([{name}]) *sign_getdefined()*
" Get the attribute of the sign named mySign
echo sign_getdefined("mySign")
<
Can also be used as a |method|: >
GetSignList()->sign_getdefined()
sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
Return a list of signs placed in a buffer or all the buffers.
This is similar to the |:sign-place-list| command.
@ -476,6 +482,9 @@ sign_getplaced([{expr} [, {dict}]]) *sign_getplaced()*
" Get a List of all the placed signs
echo sign_getplaced()
<
Can also be used as a |method|: >
GetBufname()->sign_getplaced()
<
*sign_jump()*
sign_jump({id}, {group}, {expr})
@ -492,7 +501,9 @@ sign_jump({id}, {group}, {expr})
" Jump to sign 10 in the current buffer
call sign_jump(10, '', '')
<
Can also be used as a |method|: >
GetSignid()->sign_jump()
<
*sign_place()*
sign_place({id}, {group}, {name}, {expr} [, {dict}])
Place the sign defined as {name} at line {lnum} in file or
@ -542,7 +553,9 @@ sign_place({id}, {group}, {name}, {expr} [, {dict}])
call sign_place(10, 'g3', 'sign4', 'json.c',
\ {'lnum' : 40, 'priority' : 90})
<
Can also be used as a |method|: >
GetSignid()->sign_place(group, name, expr)
<
*sign_placelist()*
sign_placelist({list})
Place one or more signs. This is similar to the
@ -602,6 +615,8 @@ sign_placelist({list})
\ 'lnum' : 50}
\ ])
<
Can also be used as a |method|: >
GetSignlist()->sign_placelist()
sign_undefine([{name}]) *sign_undefine()*
sign_undefine({list})
@ -626,6 +641,8 @@ sign_undefine({list})
" Delete all the signs
call sign_undefine()
<
Can also be used as a |method|: >
GetSignlist()->sign_undefine()
sign_unplace({group} [, {dict}]) *sign_unplace()*
Remove a previously placed sign in one or more buffers. This
@ -668,6 +685,9 @@ sign_unplace({group} [, {dict}]) *sign_unplace()*
" Remove all the placed signs from all the buffers
call sign_unplace('*')
< Can also be used as a |method|: >
GetSigngroup()->sign_unplace()
<
sign_unplacelist({list}) *sign_unplacelist()*
Remove previously placed signs from one or more buffers. This
@ -697,5 +717,8 @@ sign_unplacelist({list}) *sign_unplacelist()*
\ {'id' : 20, 'buffer' : 'b.vim'},
\ ])
<
Can also be used as a |method|: >
GetSignlist()->sign_unplacelist()
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*spell.txt* For Vim version 8.1. Last change: 2019 May 05
*spell.txt* For Vim version 8.1. Last change: 2019 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -121,6 +121,23 @@ zuG Undo |zW| and |zG|, remove the word from the internal
:spellw[rong]! {word} Add {word} as a wrong (bad) word to the internal word
list, like with |zW|.
*:spellra* *:spellrare*
:[count]spellr[are] {word}
Add {word} as a rare word to 'spellfile', similar to
|zw|. Without count the first name is used, with
a count of two the second entry, etc.
There are no normal mode commands to mark words as
rare as this is a fairly uncommon command and all
intuitive commands for this are already taken. If you
want you can add mappings with e.g.: >
nnoremap z? :exe ':spellrare ' . expand('<cWORD>')<CR>
nnoremap z/ :exe ':spellrare! ' . expand('<cWORD>')<CR>
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
:spellr[rare]! {word} Add {word} as a rare word to the internal word
list, similar to |zW|.
:[count]spellu[ndo] {word} *:spellu* *:spellundo*
Like |zuw|. [count] used as with |:spellgood|.

View File

@ -152,8 +152,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
This can be used to find out where time is spent while loading
your .vimrc, plugins and opening the first file.
When {fname} already exists new messages are appended.
(Only available when compiled with the |+startuptime|
feature).
{only available when compiled with the |+startuptime|
feature}
*--literal*
--literal Take file names literally, don't expand wildcards. Not needed
@ -311,10 +311,10 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
*-A*
-A Arabic mode. Sets the 'arabic' option on. (Only when
-A Arabic mode. Sets the 'arabic' option on. {only when
compiled with the |+arabic| features (which include
|+rightleft|), otherwise Vim gives an error message
and exits.)
and exits}
*-F*
-F This was used for Farsi mode, which has been removed.
@ -322,8 +322,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
(Only when compiled with the |+rightleft| feature, otherwise
Vim gives an error message and exits.)
{only when compiled with the |+rightleft| feature, otherwise
Vim gives an error message and exits}
*-V* *verbose*
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.1. Last change: 2019 Jul 15
*syntax.txt* For Vim version 8.1. Last change: 2019 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -60,8 +60,8 @@ If the VIM environment variable is not set, Vim will try to find
the path in another way (see |$VIMRUNTIME|). Usually this works just
fine. If it doesn't, try setting the VIM environment variable to the
directory where the Vim stuff is located. For example, if your syntax files
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
are in the "/usr/vim/vim81/syntax" directory, set $VIMRUNTIME to
"/usr/vim/vim81". You must do this in the shell, before starting Vim.
This command also sources the |menu.vim| script when the GUI is running or
will start soon. See |'go-M'| about avoiding that.
@ -1746,7 +1746,7 @@ There are several html preprocessor languages out there. html.vim has been
written such that it should be trivial to include it. To do so add the
following two lines to the syntax coloring file for that language
(the example comes from the asp.vim file):
>
runtime! syntax/html.vim
syn cluster htmlPreproc add=asp
@ -1923,6 +1923,16 @@ displayed line. The default value is 10. The disadvantage of using a larger
number is that redrawing can become slow.
JSON *json.vim* *ft-json-syntax*
The json syntax file provides syntax highlighting with conceal support by
default. To disable concealment: >
let g:vim_json_conceal = 0
To disable syntax highlighting of errors: >
let g:vim_json_warnings = 0
LACE *lace.vim* *ft-lace-syntax*
Lace (Language for Assembly of Classes in Eiffel) is case insensitive, but the
@ -5042,7 +5052,8 @@ IncSearch 'incsearch' highlighting; also used for the text replaced with
LineNr Line number for ":number" and ":#" commands, and when 'number'
or 'relativenumber' option is set.
*hl-CursorLineNr*
CursorLineNr Like LineNr when 'cursorline' or 'relativenumber' is set for
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' is
set to "number" or "both", or 'relativenumber' is set, for
the cursor line.
*hl-MatchParen*
MatchParen The character under the cursor or just before it, if it

View File

@ -1,6 +1,7 @@
! change.txt /*!*
!! change.txt /*!!*
# pattern.txt /*#*
#{} eval.txt /*#{}*
$ motion.txt /*$*
$HOME options.txt /*$HOME*
$HOME-use version5.txt /*$HOME-use*
@ -149,6 +150,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'complete' options.txt /*'complete'*
'completefunc' options.txt /*'completefunc'*
'completeopt' options.txt /*'completeopt'*
'completepopup' options.txt /*'completepopup'*
'completeslash' options.txt /*'completeslash'*
'concealcursor' options.txt /*'concealcursor'*
'conceallevel' options.txt /*'conceallevel'*
@ -160,6 +162,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'cp' options.txt /*'cp'*
'cpo' options.txt /*'cpo'*
'cpoptions' options.txt /*'cpoptions'*
'cpp' options.txt /*'cpp'*
'cpt' options.txt /*'cpt'*
'crb' options.txt /*'crb'*
'cryptmethod' options.txt /*'cryptmethod'*
@ -180,9 +183,11 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'csverb' options.txt /*'csverb'*
'cuc' options.txt /*'cuc'*
'cul' options.txt /*'cul'*
'culopt' options.txt /*'culopt'*
'cursorbind' options.txt /*'cursorbind'*
'cursorcolumn' options.txt /*'cursorcolumn'*
'cursorline' options.txt /*'cursorline'*
'cursorlineopt' options.txt /*'cursorlineopt'*
'cwh' options.txt /*'cwh'*
'debug' options.txt /*'debug'*
'deco' options.txt /*'deco'*
@ -307,6 +312,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
'go-a' options.txt /*'go-a'*
'go-b' options.txt /*'go-b'*
'go-c' options.txt /*'go-c'*
'go-d' options.txt /*'go-d'*
'go-e' options.txt /*'go-e'*
'go-f' options.txt /*'go-f'*
'go-g' options.txt /*'go-g'*
@ -1010,6 +1016,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
't_Sb' term.txt /*'t_Sb'*
't_Sf' term.txt /*'t_Sf'*
't_Si' term.txt /*'t_Si'*
't_TE' term.txt /*'t_TE'*
't_TI' term.txt /*'t_TI'*
't_Te' term.txt /*'t_Te'*
't_Ts' term.txt /*'t_Ts'*
't_VS' term.txt /*'t_VS'*
@ -1266,6 +1274,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
+cindent various.txt /*+cindent*
+clientserver various.txt /*+clientserver*
+clipboard various.txt /*+clipboard*
+clipboard_working various.txt /*+clipboard_working*
+cmd editing.txt /*+cmd*
+cmdline_compl various.txt /*+cmdline_compl*
+cmdline_hist various.txt /*+cmdline_hist*
@ -1434,6 +1443,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
--ttyfail starting.txt /*--ttyfail*
--version starting.txt /*--version*
--windowid starting.txt /*--windowid*
-> eval.txt /*->*
-? starting.txt /*-?*
-A starting.txt /*-A*
-C starting.txt /*-C*
@ -2382,6 +2392,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:ene! editing.txt /*:ene!*
:enew editing.txt /*:enew*
:enew! editing.txt /*:enew!*
:eval eval.txt /*:eval*
:ex editing.txt /*:ex*
:exe eval.txt /*:exe*
:exe-comment eval.txt /*:exe-comment*
@ -3092,6 +3103,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:spelli spell.txt /*:spelli*
:spellinfo spell.txt /*:spellinfo*
:spellr spell.txt /*:spellr*
:spellra spell.txt /*:spellra*
:spellrare spell.txt /*:spellrare*
:spellrepall spell.txt /*:spellrepall*
:spellu spell.txt /*:spellu*
:spellundo spell.txt /*:spellundo*
@ -3880,7 +3893,6 @@ E136 starting.txt /*E136*
E137 starting.txt /*E137*
E138 starting.txt /*E138*
E139 message.txt /*E139*
E14 cmdline.txt /*E14*
E140 message.txt /*E140*
E141 message.txt /*E141*
E142 message.txt /*E142*
@ -4027,7 +4039,11 @@ E270 if_ruby.txt /*E270*
E271 if_ruby.txt /*E271*
E272 if_ruby.txt /*E272*
E273 if_ruby.txt /*E273*
E274 eval.txt /*E274*
E275 textprop.txt /*E275*
E276 eval.txt /*E276*
E277 remote.txt /*E277*
E278 popup.txt /*E278*
E28 syntax.txt /*E28*
E280 if_tcl.txt /*E280*
E282 starting.txt /*E282*
@ -4991,6 +5007,8 @@ S change.txt /*S*
SHELL starting.txt /*SHELL*
SQLGetType ft_sql.txt /*SQLGetType*
SQLSetType ft_sql.txt /*SQLSetType*
SafeState autocmd.txt /*SafeState*
SafeStateAgain autocmd.txt /*SafeStateAgain*
Select visual.txt /*Select*
Select-mode visual.txt /*Select-mode*
Select-mode-mapping visual.txt /*Select-mode-mapping*
@ -5773,6 +5791,7 @@ compl-whole-line insert.txt /*compl-whole-line*
complete() eval.txt /*complete()*
complete-functions insert.txt /*complete-functions*
complete-items insert.txt /*complete-items*
complete-popup insert.txt /*complete-popup*
complete_CTRL-E insert.txt /*complete_CTRL-E*
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
@ -6061,6 +6080,7 @@ dtd2vim insert.txt /*dtd2vim*
dying-variable eval.txt /*dying-variable*
e motion.txt /*e*
easy starting.txt /*easy*
echospace-variable eval.txt /*echospace-variable*
edit-a-file editing.txt /*edit-a-file*
edit-binary editing.txt /*edit-binary*
edit-dialogs editing.txt /*edit-dialogs*
@ -6411,6 +6431,7 @@ ft-ia64-syntax syntax.txt /*ft-ia64-syntax*
ft-inform-syntax syntax.txt /*ft-inform-syntax*
ft-java-syntax syntax.txt /*ft-java-syntax*
ft-javascript-omni insert.txt /*ft-javascript-omni*
ft-json-syntax syntax.txt /*ft-json-syntax*
ft-ksh-syntax syntax.txt /*ft-ksh-syntax*
ft-lace-syntax syntax.txt /*ft-lace-syntax*
ft-lex-syntax syntax.txt /*ft-lex-syntax*
@ -6834,6 +6855,7 @@ getfperm() eval.txt /*getfperm()*
getfsize() eval.txt /*getfsize()*
getftime() eval.txt /*getftime()*
getftype() eval.txt /*getftype()*
getimstatus() eval.txt /*getimstatus()*
getjumplist() eval.txt /*getjumplist()*
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
getline() eval.txt /*getline()*
@ -7274,6 +7296,7 @@ if_ruby.txt if_ruby.txt /*if_ruby.txt*
if_sniff.txt if_sniff.txt /*if_sniff.txt*
if_tcl.txt if_tcl.txt /*if_tcl.txt*
ignore-errors eval.txt /*ignore-errors*
ignore-timestamp editing.txt /*ignore-timestamp*
improved-autocmds-5.4 version5.txt /*improved-autocmds-5.4*
improved-quickfix version5.txt /*improved-quickfix*
improved-sessions version5.txt /*improved-sessions*
@ -7396,6 +7419,7 @@ join() eval.txt /*join()*
js_decode() eval.txt /*js_decode()*
js_encode() eval.txt /*js_encode()*
jsbterm-mouse options.txt /*jsbterm-mouse*
json.vim syntax.txt /*json.vim*
json_decode() eval.txt /*json_decode()*
json_encode() eval.txt /*json_encode()*
jtags tagsrch.txt /*jtags*
@ -7653,6 +7677,7 @@ message-history message.txt /*message-history*
message.txt message.txt /*message.txt*
messages message.txt /*messages*
meta intro.txt /*meta*
method eval.txt /*method*
min() eval.txt /*min()*
missing-options vi_diff.txt /*missing-options*
mkdir() eval.txt /*mkdir()*
@ -8064,7 +8089,6 @@ new-vimgrep version7.txt /*new-vimgrep*
new-virtedit version6.txt /*new-virtedit*
news intro.txt /*news*
nextnonblank() eval.txt /*nextnonblank()*
nice todo.txt /*nice*
no-eval-feature eval.txt /*no-eval-feature*
no-type-checking eval.txt /*no-type-checking*
no_buffers_menu gui.txt /*no_buffers_menu*
@ -8243,15 +8267,18 @@ popup-callback popup.txt /*popup-callback*
popup-close popup.txt /*popup-close*
popup-examples popup.txt /*popup-examples*
popup-filter popup.txt /*popup-filter*
popup-filter-mode popup.txt /*popup-filter-mode*
popup-function-details popup.txt /*popup-function-details*
popup-functions popup.txt /*popup-functions*
popup-intro popup.txt /*popup-intro*
popup-mapping popup.txt /*popup-mapping*
popup-mask popup.txt /*popup-mask*
popup-menu gui.txt /*popup-menu*
popup-menu-added version5.txt /*popup-menu-added*
popup-position popup.txt /*popup-position*
popup-props popup.txt /*popup-props*
popup-scrollbar popup.txt /*popup-scrollbar*
popup-textprop-pos popup.txt /*popup-textprop-pos*
popup-usage popup.txt /*popup-usage*
popup-window popup.txt /*popup-window*
popup-window-functions usr_41.txt /*popup-window-functions*
@ -8267,9 +8294,10 @@ popup_dialog() popup.txt /*popup_dialog()*
popup_dialog-example popup.txt /*popup_dialog-example*
popup_filter_menu() popup.txt /*popup_filter_menu()*
popup_filter_yesno() popup.txt /*popup_filter_yesno()*
popup_findinfo() popup.txt /*popup_findinfo()*
popup_findpreview() popup.txt /*popup_findpreview()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_getpos() popup.txt /*popup_getpos()*
popup_getpreview() popup.txt /*popup_getpreview()*
popup_hide() popup.txt /*popup_hide()*
popup_locate() popup.txt /*popup_locate()*
popup_menu() popup.txt /*popup_menu()*
@ -8347,6 +8375,7 @@ prop_type_list() textprop.txt /*prop_type_list()*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
pum_getpos() eval.txt /*pum_getpos()*
pumvisible() eval.txt /*pumvisible()*
put change.txt /*put*
put-Visual-mode change.txt /*put-Visual-mode*
@ -8625,6 +8654,7 @@ scriptversion eval.txt /*scriptversion*
scriptversion-1 eval.txt /*scriptversion-1*
scriptversion-2 eval.txt /*scriptversion-2*
scriptversion-3 eval.txt /*scriptversion-3*
scriptversion-4 eval.txt /*scriptversion-4*
scroll-binding scroll.txt /*scroll-binding*
scroll-cursor scroll.txt /*scroll-cursor*
scroll-down scroll.txt /*scroll-down*
@ -8904,6 +8934,7 @@ starting.txt starting.txt /*starting.txt*
startup starting.txt /*startup*
startup-options starting.txt /*startup-options*
startup-terminal term.txt /*startup-terminal*
state() eval.txt /*state()*
static-tag tagsrch.txt /*static-tag*
status-line windows.txt /*status-line*
statusmsg-variable eval.txt /*statusmsg-variable*
@ -9074,6 +9105,8 @@ t_ST term.txt /*t_ST*
t_Sb term.txt /*t_Sb*
t_Sf term.txt /*t_Sf*
t_Si term.txt /*t_Si*
t_TE term.txt /*t_TE*
t_TI term.txt /*t_TI*
t_Te term.txt /*t_Te*
t_Ts term.txt /*t_Ts*
t_VS term.txt /*t_VS*
@ -9314,6 +9347,7 @@ term_list() terminal.txt /*term_list()*
term_scrape() terminal.txt /*term_scrape()*
term_sendkeys() terminal.txt /*term_sendkeys()*
term_setansicolors() terminal.txt /*term_setansicolors()*
term_setapi() terminal.txt /*term_setapi()*
term_setkill() terminal.txt /*term_setkill()*
term_setrestore() terminal.txt /*term_setrestore()*
term_setsize() terminal.txt /*term_setsize()*
@ -9563,6 +9597,7 @@ v:count eval.txt /*v:count*
v:count1 eval.txt /*v:count1*
v:ctype eval.txt /*v:ctype*
v:dying eval.txt /*v:dying*
v:echospace eval.txt /*v:echospace*
v:errmsg eval.txt /*v:errmsg*
v:errors eval.txt /*v:errors*
v:event eval.txt /*v:event*
@ -9948,6 +9983,7 @@ win_gotoid() eval.txt /*win_gotoid()*
win_id2tabwin() eval.txt /*win_id2tabwin()*
win_id2win() eval.txt /*win_id2win()*
win_screenpos() eval.txt /*win_screenpos()*
win_splitmove() eval.txt /*win_splitmove()*
winbufnr() eval.txt /*winbufnr()*
wincol() eval.txt /*wincol()*
window windows.txt /*window*
@ -10133,6 +10169,7 @@ zz scroll.txt /*zz*
{move-around} visual.txt /*{move-around}*
{offset} pattern.txt /*{offset}*
{pat} autocmd.txt /*{pat}*
{register} change.txt /*{register}*
{rhs} map.txt /*{rhs}*
{subject} helphelp.txt /*{subject}*
{} intro.txt /*{}*

View File

@ -1,4 +1,4 @@
*term.txt* For Vim version 8.1. Last change: 2019 May 07
*term.txt* For Vim version 8.1. Last change: 2019 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -80,14 +80,19 @@ can do this best in your .vimrc. Example: >
<
*raw-terminal-mode*
For normal editing the terminal will be put into "raw" mode. The strings
defined with 't_ti' and 't_ks' will be sent to the terminal. Normally this
puts the terminal in a state where the termcap codes are valid and activates
the cursor and function keys. When Vim exits the terminal will be put back
into the mode it was before Vim started. The strings defined with 't_te' and
't_ke' will be sent to the terminal. On the Amiga, with commands that execute
an external command (e.g., "!!"), the terminal will be put into Normal mode
for a moment. This means that you can stop the output to the screen by
hitting a printing key. Output resumes when you hit <BS>.
defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal. Normally
this puts the terminal in a state where the termcap codes are valid and
activates the cursor and function keys.
When Vim exits the terminal will be put back into the mode it was before Vim
started. The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
the terminal. On the Amiga, with commands that execute an external command
(e.g., "!!"), the terminal will be put into Normal mode for a moment. This
means that you can stop the output to the screen by hitting a printing key.
Output resumes when you hit <BS>.
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
alternate screen. This may slightly change what happens when executing a
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
*xterm-bracketed-paste*
When the 't_BE' option is set then 't_BE' will be sent to the
@ -297,8 +302,8 @@ OUTPUT CODES *terminal-output-codes*
t_se standout end *t_se* *'t_se'*
t_so standout mode *t_so* *'t_so'*
t_sr scroll reverse (backward) *t_sr* *'t_sr'*
t_te out of "termcap" mode *t_te* *'t_te'*
t_ti put terminal in "termcap" mode *t_ti* *'t_ti'*
t_te end of "termcap" mode *t_te* *'t_te'*
t_ti put terminal into "termcap" mode *t_ti* *'t_ti'*
t_ts set window title start (to status line) *t_ts* *'t_ts'*
t_ue underline end *t_ue* *'t_ue'*
t_us underline mode *t_us* *'t_us'*
@ -359,6 +364,8 @@ Added by Vim (there are no standard codes for these):
t_RT restore window title from stack *t_RT* *'t_RT'*
t_Si save icon text to stack *t_Si* *'t_Si'*
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
t_TE end of "raw" mode *t_TE* *'t_TE'*
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
Some codes have a start, middle and end part. The start and end are defined
by the termcap option, the middle part is text.

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2019 Jul 04
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 26
VIM REFERENCE MANUAL by Bram Moolenaar
@ -193,6 +193,7 @@ Command syntax ~
Supported [options] are:
++close The terminal window will close
automatically when the job terminates.
|terminal-close|
++noclose The terminal window will NOT close
automatically when the job terminates.
++open When the job terminates and no window
@ -222,7 +223,7 @@ Command syntax ~
Vim width (no window left or right of
the terminal window) this value is
ignored.
++eof={text} when using [range]: text to send after
++eof={text} When using [range]: text to send after
the last line was written. Cannot
contain white space. A CR is
appended. For MS-Windows the default
@ -234,6 +235,10 @@ Command syntax ~
++type={pty} (MS-Windows only): Use {pty} as the
virtual console. See 'termwintype'
for the values.
++api={expr} Permit the function name starting with
{expr} to be called as |terminal-api|
function. If {expr} is empty then no
function can be called.
If you want to use more options use the |term_start()|
function.
@ -263,6 +268,12 @@ hidden, the job keeps running. The `:buffer` command can be used to turn the
current window into a terminal window. If there are unsaved changes this
fails, use ! to force, as usual.
*terminal-close*
When the terminal window is closed, e.g. when the shell exits and "++close"
argument was used, and this is the last normal Vim window, then Vim will exit.
This is like using |:quit| in a normal window. Help and preview windows are
not counted.
To have a background job run without a window, and open the window when it's
done, use options like this: >
:term ++hidden ++open make
@ -479,6 +490,9 @@ term_dumpdiff({filename}, {filename} [, {options}])
Using the "s" key the top and bottom parts are swapped. This
makes it easy to spot a difference.
Can also be used as a |method|: >
GetFilename()->term_dumpdiff(otherfile)
<
*term_dumpload()*
term_dumpload({filename} [, {options}])
Open a new window displaying the contents of {filename}
@ -488,6 +502,9 @@ term_dumpload({filename} [, {options}])
For {options} see |term_dumpdiff()|.
Can also be used as a |method|: >
GetFilename()->term_dumpload()
<
*term_dumpwrite()*
term_dumpwrite({buf}, {filename} [, {options}])
Dump the contents of the terminal screen of {buf} in the file
@ -502,11 +519,18 @@ term_dumpwrite({buf}, {filename} [, {options}])
"rows" maximum number of rows to dump
"columns" maximum number of columns to dump
Can also be used as a |method|, the base is used for the file
name: >
GetFilename()->term_dumpwrite(bufnr)
term_getaltscreen({buf}) *term_getaltscreen()*
Returns 1 if the terminal of {buf} is using the alternate
screen.
{buf} is used as with |term_getsize()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getaltscreen()
term_getansicolors({buf}) *term_getansicolors()*
Get the ANSI color palette in use by terminal {buf}.
@ -517,8 +541,12 @@ term_getansicolors({buf}) *term_getansicolors()*
{buf} is used as with |term_getsize()|. If the buffer does not
exist or is not a terminal window, an empty list is returned.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
Can also be used as a |method|: >
GetBufnr()->term_getansicolors()
< {only available when compiled with GUI enabled and/or the
|+termguicolors| feature}
term_getattr({attr}, {what}) *term_getattr()*
Given {attr}, a value returned by term_scrape() in the "attr"
@ -528,7 +556,10 @@ term_getattr({attr}, {what}) *term_getattr()*
underline
strike
reverse
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetAttr()->term_getattr()
term_getcursor({buf}) *term_getcursor()*
Get the cursor position of terminal {buf}. Returns a list with
@ -550,13 +581,18 @@ term_getcursor({buf}) *term_getcursor()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
list is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getcursor()
term_getjob({buf}) *term_getjob()*
Get the Job associated with terminal window {buf}.
{buf} is used as with |term_getsize()|.
Returns |v:null| when there is no job.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getjob()
term_getline({buf}, {row}) *term_getline()*
Get a line of text from the terminal window of {buf}.
@ -567,7 +603,10 @@ term_getline({buf}, {row}) *term_getline()*
returned.
To get attributes of each character use |term_scrape()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getline(row)
term_getscrolled({buf}) *term_getscrolled()*
Return the number of lines that scrolled to above the top of
@ -579,7 +618,10 @@ term_getscrolled({buf}) *term_getscrolled()*
< (if that line exists).
{buf} is used as with |term_getsize()|.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getscrolled()
term_getsize({buf}) *term_getsize()*
Get the size of terminal {buf}. Returns a list with two
@ -589,7 +631,10 @@ term_getsize({buf}) *term_getsize()*
{buf} must be the buffer number of a terminal window. Use an
empty string for the current buffer. If the buffer does not
exist or is not a terminal window, an empty list is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getsize()
term_getstatus({buf}) *term_getstatus()*
Get the status of terminal {buf}. This returns a comma
@ -602,7 +647,10 @@ term_getstatus({buf}) *term_getstatus()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
string is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_getstatus()
term_gettitle({buf}) *term_gettitle()*
Get the title of terminal {buf}. This is the title that the
@ -611,7 +659,10 @@ term_gettitle({buf}) *term_gettitle()*
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
string is returned.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_gettitle()
term_gettty({buf} [, {input}]) *term_gettty()*
Get the name of the controlling terminal associated with
@ -620,12 +671,15 @@ term_gettty({buf} [, {input}]) *term_gettty()*
When {input} is omitted or 0, return the name for writing
(stdout). When {input} is 1 return the name for reading
(stdin). On UNIX, both return same name.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_gettty()
term_list() *term_list()*
Return a list with the buffer numbers of all buffers for
terminal windows.
{only available when compiled with the |+terminal| feature}
term_scrape({buf}, {row}) *term_scrape()*
Get the contents of {row} of terminal screen of {buf}.
@ -642,7 +696,10 @@ term_scrape({buf}, {row}) *term_scrape()*
"attr" attributes of the cell, use |term_getattr()|
to get the individual flags
"width" cell width: 1 or 2
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_scrape(row)
term_sendkeys({buf}, {keys}) *term_sendkeys()*
Send keystrokes {keys} to terminal {buf}.
@ -650,7 +707,19 @@ term_sendkeys({buf}, {keys}) *term_sendkeys()*
{keys} are translated as key sequences. For example, "\<c-x>"
means the character CTRL-X.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_sendkeys(keys)
term_setapi({buf}, {expr}) *term_setapi()*
Set the function name prefix to be used for the |terminal-api|
function in terminal {buf}. For example: >
:call term_setapi(buf, "Myapi_")
:call term_setapi(buf, "")
<
The default is "Tapi_". When {expr} is an empty string then
no |terminal-api| function can be used for {buf}.
term_setansicolors({buf}, {colors}) *term_setansicolors()*
Set the ANSI color palette used by terminal {buf}.
@ -680,8 +749,12 @@ term_setansicolors({buf}, {colors}) *term_setansicolors()*
'termguicolors' is set. When not using GUI colors (GUI mode
or 'termguicolors'), the terminal window always uses the 16
ANSI colors of the underlying terminal.
{only available when compiled with the |+terminal| feature and
with GUI enabled and/or the |+termguicolors| feature}
Can also be used as a |method|: >
GetBufnr()->term_setansicolors(colors)
< {only available with GUI enabled and/or the |+termguicolors|
feature}
term_setkill({buf}, {how}) *term_setkill()*
When exiting Vim or trying to close the terminal window in
@ -695,6 +768,10 @@ term_setkill({buf}, {how}) *term_setkill()*
After sending the signal Vim will wait for up to a second to
check that the job actually stopped.
Can also be used as a |method|: >
GetBufnr()->term_setkill(how)
term_setrestore({buf}, {command}) *term_setrestore()*
Set the command to write in a session file to restore the job
in this terminal. The line written in the session file is: >
@ -703,7 +780,10 @@ term_setrestore({buf}, {command}) *term_setrestore()*
Use an empty {command} to run 'shell'.
Use "NONE" to not restore this window.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_setrestore(command)
term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
Set the size of terminal {buf}. The size of the window
@ -714,7 +794,10 @@ term_setsize({buf}, {rows}, {cols}) *term_setsize()* *E955*
{buf} must be the buffer number of a terminal window. Use an
empty string for the current buffer. If the buffer does not
exist or is not a terminal window, an error is given.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_setsize(rows, cols)
term_start({cmd} [, {options}]) *term_start()*
Open a terminal window and run {cmd} in it.
@ -780,15 +863,22 @@ term_start({cmd} [, {options}]) *term_start()*
color modes. See |g:terminal_ansi_colors|.
"tty_type" (MS-Windows only): Specify which pty to
use. See 'termwintype' for the values.
"term_api" function name prefix for the
|terminal-api| function. See
|term_setapi()|.
Can also be used as a |method|: >
GetCommand()->term_start()
{only available when compiled with the |+terminal| feature}
term_wait({buf} [, {time}]) *term_wait()*
Wait for pending updates of {buf} to be handled.
{buf} is used as with |term_getsize()|.
{time} is how long to wait for updates to arrive in msec. If
not set then 10 msec will be used.
{only available when compiled with the |+terminal| feature}
Can also be used as a |method|: >
GetBufnr()->term_wait()
==============================================================================
3. Terminal communication *terminal-communication*
@ -833,9 +923,9 @@ Currently supported commands:
Call a user defined function with {argument}.
The function is called with two arguments: the buffer number
of the terminal and {argument}, the decoded JSON argument.
The function name must start with "Tapi_" to avoid
By default, the function name must start with "Tapi_" to avoid
accidentally calling a function not meant to be used for the
terminal API.
terminal API. This can be changed with |term_setapi()|.
The user function should sanity check the argument.
The function can use |term_sendkeys()| to send back a reply.
Example in JSON: >
@ -1156,8 +1246,10 @@ gdb:
`:Run` [args] run the program with [args] or the previous arguments
`:Arguments` {args} set arguments for the next `:Run`
*:Break* set a breakpoint at the current line; a sign will be displayed
*:Clear* delete the breakpoint at the current line
*:Break* set a breakpoint at the cursor position
:Break {position}
set a breakpoint at the specified position
*:Clear* delete the breakpoint at the cursor position
*:Step* execute the gdb "step" command
*:Over* execute the gdb "next" command (`:Next` is a Vim command)

View File

@ -1,4 +1,4 @@
*testing.txt* For Vim version 8.1. Last change: 2019 Aug 04
*testing.txt* For Vim version 8.1. Last change: 2019 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -44,6 +44,8 @@ test_alloc_fail({id}, {countdown}, {repeat}) *test_alloc_fail()*
let memory allocation fail {repeat} times. When {repeat} is
smaller than one it fails one time.
Can also be used as a |method|: >
GetAllocId()->test_alloc_fail()
test_autochdir() *test_autochdir()*
Set a flag to enable the effect of 'autochdir' before Vim
@ -55,6 +57,8 @@ test_feedinput({string}) *test_feedinput()*
were typed by the user. This uses a low level input buffer.
This function works only when with |+unix| or GUI is running.
Can also be used as a |method|: >
GetText()->test_feedinput()
test_garbagecollect_now() *test_garbagecollect_now()*
Like garbagecollect(), but executed right away. This must
@ -73,6 +77,8 @@ test_getvalue({name}) *test_getvalue()*
{name} are supported:
need_fileinfo
Can also be used as a |method|: >
GetName()->test_getvalue()
test_ignore_error({expr}) *test_ignore_error()*
Ignore any error containing {expr}. A normal message is given
@ -84,6 +90,8 @@ test_ignore_error({expr}) *test_ignore_error()*
When the {expr} is the string "RESET" then the list of ignored
errors is made empty.
Can also be used as a |method|: >
GetErrorText()->test_ignore_error()
test_null_blob() *test_null_blob()*
Return a |Blob| that is null. Only useful for testing.
@ -124,6 +132,9 @@ test_option_not_set({name}) *test_option_not_set()*
even though the value is "double".
Only to be used for testing!
Can also be used as a |method|: >
GetOptionName()->test_option_not_set()
test_override({name}, {val}) *test_override()*
Overrides certain parts of Vim's internal processing to be able
@ -155,12 +166,17 @@ test_override({name}, {val}) *test_override()*
< The value of "starting" is saved. It is restored by: >
call test_override('starting', 0)
< Can also be used as a |method|: >
GetOverrideVal()-> test_override('starting')
test_refcount({expr}) *test_refcount()*
Return the reference count of {expr}. When {expr} is of a
type that does not have a reference count, returns -1. Only
to be used for testing.
Can also be used as a |method|: >
GetVarname()->test_refcount()
test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
Pretend using scrollbar {which} to move it to position
@ -179,6 +195,8 @@ test_scrollbar({which}, {value}, {dragging}) *test_scrollbar()*
Only works when the {which} scrollbar actually exists,
obviously only when using the GUI.
Can also be used as a |method|: >
GetValue()->test_scrollbar('right', 0)
test_setmouse({row}, {col}) *test_setmouse()*
Set the mouse position to be used for the next mouse action.
@ -197,6 +215,9 @@ test_settime({expr}) *test_settime()*
{expr} must evaluate to a number. When the value is zero the
normal behavior is restored.
Can also be used as a |method|: >
GetTime()->test_settime()
==============================================================================
3. Assert functions *assert-functions-details*
@ -206,6 +227,9 @@ assert_beeps({cmd}) *assert_beeps()*
NOT produce a beep or visual bell.
Also see |assert_fails()| and |assert-return|.
Can also be used as a |method|: >
GetCmd()->assert_beeps()
<
*assert_equal()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
@ -235,6 +259,10 @@ assert_equalfile({fname-one}, {fname-two})
mention that.
Mainly useful with |terminal-diff|.
Can also be used as a |method|: >
GetLog()->assert_equalfile('expected.log')
assert_exception({error} [, {msg}]) *assert_exception()*
When v:exception does not contain the string {error} an error
message is added to |v:errors|. Also see |assert-return|.
@ -255,6 +283,9 @@ assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
Note that beeping is not considered an error, and some failing
commands only beep. Use |assert_beeps()| for those.
Can also be used as a |method|: >
GetCmd()->assert_fails('E99:')
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
|v:errors|, like with |assert_equal()|.
@ -264,6 +295,9 @@ assert_false({actual} [, {msg}]) *assert_false()*
When {msg} is omitted an error in the form
"Expected False but got {actual}" is produced.
Can also be used as a |method|: >
GetResult()->assert_false()
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number and |Float| values. When {actual} is lower
than {lower} or higher than {upper} an error message is added
@ -292,6 +326,9 @@ assert_match({pattern}, {actual} [, {msg}])
< Will result in a string to be added to |v:errors|:
test.vim line 12: Pattern '^f.*o$' does not match 'foobar' ~
Can also be used as a |method|: >
getFile()->assert_match('foo.*')
<
*assert_notequal()*
assert_notequal({expected}, {actual} [, {msg}])
The opposite of `assert_equal()`: add an error message to
@ -307,10 +344,18 @@ assert_notmatch({pattern}, {actual} [, {msg}])
|v:errors| when {pattern} matches {actual}.
Also see |assert-return|.
Can also be used as a |method|: >
getFile()->assert_notmatch('bar.*')
assert_report({msg}) *assert_report()*
Report a test failure directly, using {msg}.
Always returns one.
Can also be used as a |method|: >
GetMessage()->assert_report()
assert_true({actual} [, {msg}]) *assert_true()*
When {actual} is not true an error message is added to
|v:errors|, like with |assert_equal()|.
@ -320,5 +365,8 @@ assert_true({actual} [, {msg}]) *assert_true()*
When {msg} is omitted an error in the form "Expected True but
got {actual}" is produced.
Can also be used as a |method|: >
GetResult()->assert_true()
<
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@ -1,4 +1,4 @@
*textprop.txt* For Vim version 8.1. Last change: 2019 Jul 20
*textprop.txt* For Vim version 8.1. Last change: 2019 Sep 04
VIM REFERENCE MANUAL by Bram Moolenaar
@ -157,6 +157,9 @@ prop_add({lnum}, {col}, {props})
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_add(col, props)
prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
Remove all text properties from line {lnum}.
@ -168,9 +171,12 @@ prop_clear({lnum} [, {lnum-end} [, {props}]]) *prop_clear()*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_clear()
<
*prop_find()*
prop_find({props} [, {direction}])
NOT IMPLEMENTED YET
{not implemented yet}
Search for a text property as specified with {props}:
id property with this ID
type property with this type name
@ -220,7 +226,9 @@ prop_list({lnum} [, {props}]) *prop_list()*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetLnum()->prop_list()
<
*prop_remove()* *E968*
prop_remove({props} [, {lnum} [, {lnum-end}]])
Remove a matching text property from line {lnum}. When
@ -243,10 +251,13 @@ prop_remove({props} [, {lnum} [, {lnum-end}]])
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetProps()->prop_remove()
prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
Add a text property type {name}. If a property type with this
name already exists an error is given.
name already exists an error is given. Nothing is returned.
{props} is a dictionary with these optional fields:
bufnr define the property only for this buffer; this
avoids name collisions and automatically
@ -267,6 +278,8 @@ prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_add(props)
prop_type_change({name}, {props}) *prop_type_change()*
Change properties of an existing text property type. If a
@ -275,6 +288,8 @@ prop_type_change({name}, {props}) *prop_type_change()*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_change(props)
prop_type_delete({name} [, {props}]) *prop_type_delete()*
Remove the text property type {name}. When text properties
@ -289,6 +304,8 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
prop_type_get([{name} [, {props}]) *prop_type_get()*
Returns the properties of property type {name}. This is a
@ -302,6 +319,8 @@ prop_type_get([{name} [, {props}]) *prop_type_get()*
See |text-properties| for information about text properties.
Can also be used as a |method|: >
GetPropName()->prop_type_get()
prop_type_list([{props}]) *prop_type_list()*
Returns a list with all property type names.
@ -322,6 +341,11 @@ will move accordingly.
When text is deleted and a text property no longer includes any text, it is
deleted. However, a text property that was defined as zero-width will remain,
unless the whole line is deleted.
*E275*
When a buffer is unloaded, all the text properties are gone. There is no way
to store the properties in a file. You can only re-create them. When a
buffer is hidden the text is preserved and so are the text properties. It is
not possible to add text properties to an unloaded buffer.
When using replace mode, the text properties stay on the same character
positions, even though the characters themselves change.

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Jul 30
*todo.txt* For Vim version 8.1. Last change: 2019 Oct 16
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,34 +38,32 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
'completeopt' "popup" variant that uses a callback after the popup has been
created, so the contents can be changed. Make it hidden, callback
or later has to make it visible. #4924 Setting the buffer contents later
doesn't work well.
Popup windows:
- Always show the right border, not only when there is a close button?
- bug: double click in scrollbar starts selection
- modeless selection fails over ssh and with putty. Mouse dragging not
supported? Can we force it on?
- Allow resizing from the bottom-right corner
- Use popup (or popup menu) for command line completion
- Implement flip option
- Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
- Why does 'nrformats' leak from the popup window buffer???
Happens in Test_simple_popup() at the second screendump.
- Disable commands, feedkeys(), CTRL-W, etc. in a popup window.
Use ERROR_IF_POPUP_WINDOW for more commands.
Happens in Test_simple_popup() at:
call VerifyScreenDump(buf, 'Test_popupwin_04a', {})
Only when this line is in defaults.vim:
set nrformats-=octal
- For the "moved" property also include mouse movement?
- Can the buffer be re-used if it was the last one, to avoid using up lots of
buffer numbers?
- Have an option to attach the popup to a text position, like text properties
do. (#4560)
- Make redrawing more efficient and avoid flicker:
- put popup menu also put in popup_mask?
- Invoke filter with character before mapping?
- put popup menu also in popup_mask?
- Any other commands to disable in a popup window?
Use ERROR_IF_POPUP_WINDOW for more commands.
- Figure out the size and position better.
if wrapping splits a double-wide character
if wrapping inserts indent
- When drawing on top half a double-wide character, display ">" or "<" in the
incomplete cell.
- Use a popup window for the "info" item of completion instead of using a
preview window. Ideas in issue #4544.
How to add highlighting?
Text properties: See comment at top of src/textprop.c.
- Implement prop_find() #4970
'incsearch' with :s: (#3321)
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
@ -81,7 +79,7 @@ Popup windows:
Then :%s?foo should take the first match above the cursor line.
Prompt buffer:
- Add a command line history.
- Add a command line history, using up/down keys. #5010
- delay next prompt until plugin gives OK?
- add prompt_addtext({buf}, {expr}) none add text to a prompt buffer
@ -110,7 +108,6 @@ Terminal emulator window:
be redrawn.
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
(#3327)
- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
- GUI: hang until key typed. (#3530)
- Allow for specifying the directory, with ++cwd={dir}.
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
@ -135,29 +132,63 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
Error numbers available: E260, E274, E275, E276,
E278, E279, E290, E292, E362, E366, E450, E451, E452,
Error numbers available:
E279, E290, E292, E362, E366, E450, E451, E452,
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E860, E861, E863, E889, E900
Patch on issue #4661 to fix resolve(). (Ken Takata)
https://gist.github.com/k-takata/52d0a677ca9a27bdbaed21d77533244e
Try out enabling modifyOtherKeys in xterm:
CSI > 4 ; 2 m
Need to disable when going to cooked mode:
CSI > 4 ; m
Known problems:
- CTRL-V key inserts Esc sequence
Patch to split of map.c from getchar.c (Yegappan, #4740)
Patch to skip tests that don't work when run as root. (James McCoy, #5020)
Or just bail out completely?
Patch to test right click. (Dominique Pelle, #5018)
Python output doesn't stop when got_int is set. #5053
Check got_int in write_output() in if_py_both.h?
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
Improve running tests on MS-Windows: #4922
In a function these two lines are different:
let [a, b, c] =<< trim END fails
let [a,b,c] =<< trim END works
issue #5051
Patch to properly break CJK lines: Anton Kochkov, #3875
Should be ready to include now.
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
undo result wrong: Masato Nishihata, #4798
Undo puts cursor in wrong line after "cG<Esc>" undo.
Sound: support on Mac? Or does libcanberra work there?
Patch to add win_splitmove() function. (Andy Massimino, #4561)
Patch for #4733: #4734. Test needs improvements.
Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)
Patch to highlight the line number differently below the cursor line. (Shaun
Brady, #624)
Patch to add more tests for cmd.exe: #4928
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
20)
Also put :argadd commands at the start for all buffers, so that their order
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
Make heredoc-let a bit more restrictive:
https://github.com/vim/vim/issues/4705
Also #4994: window-local options not always restored, related to using :badd.
Completion mixes results from the current buffer with tags and other files.
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
@ -165,41 +196,71 @@ terminal.c and then CTRL-N twice.
Should do current file first and not split it up when more results are found.
(Also #1890)
Patch to add :spellrare. (#4291)
Patch to use timers in matchparen. (Daniel Hahler, #1338)
Ready to include now?
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087)
Patch to support 'cursorlineopt' - only highlight the line number of the
cursor line: #4693
Let plugins know how much space is available in the last line before
triggering the hit-enter prompt. Internally called "sc_col".
(Daniel Hahler, #4732)
Patch for Template string: #4491 Not ready yet. New pull: #4634
":helptags ALL" should skip directories where "tags" cannot be written.
(Matěj Cepl, #5026)
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
Patch to fix using zero sc_sid. (#4877)
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126
Make 'showbreak' global-local.
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
Patch to add v:argv, arguments that Vim was started with. (Dmitri
Vereshchagin, #1322)
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
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.
Problem showing a line if the number column width changes when using "o".
(Mateusz Morusiewicz, #4245)
When using :packadd for a replacement language plugin, it is loaded after the
default one. #4698
Patch to remove FORTIFY_SOURCE also from CPPFLAGS. (Benedikt Morbach, #2786)
Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
Modeless selection doesn't work in gvim. (#4783)
Caused by patch 8.1.1534.
Patch to add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
New one from Yasuhiro Matsumoto, #1277.
Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
fit. (Kevin Lawler, #4457)
Patch to add interrupt(). (Yasuhiro Matsumoto, #2834)
Patch to add per-tabpage and per-window previous directory: "lcd -" and "tcd
-". (Yegappan Lakshmanan, #4362)
Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h
- WINVER conflict, should use 0x0600 by default?
@ -207,11 +268,38 @@ Does not build with MinGW out of the box:
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
Columns and Rows are long, they should be int.
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)
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Check_external_diff() is used too often. (Daniel Hahler, #4800)
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
Errors found with random data:
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
files that source the actual file. E.g. menu_da_de -> menu_da
Include part of #3242?
@ -219,14 +307,35 @@ Include part of #3242?
When a terminal exit_cb closes the window, a following typed key is lost, if
it's in a mapping. (2018 Oct 6, #2302, #3522)
Patch for Inno Setup: #2739
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
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
t:diffexpr_option t:diffopt_option? (#4782)
Internal diff doesn't handle binary file like external diff does. (Mike
Williams, 2018 Oct 30)
'[ mark in wrong column after put. (#4776)
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
Error drawing the number column when 'cursorline' is set. (#3893)
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
The quoting of the [command] argument of :terminal is not clearly documented.
@ -235,6 +344,11 @@ Give a few examples. (#4288)
Opening a file with --remote-tab-silent that matches 'wildignore' does not
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
Console italic is wider than the normal font ("d" overlaps with next char).
Opposite of 'linespace': 'columnspace'.
Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
@ -244,6 +358,8 @@ be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
Patch for ambiguous width characters in libvterm on MS-Windows 10.
(Nobuhiro Takasaki, #4411)
Window size changes after closing a tab. (#4741)
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
Lifepillar: Updated/cleaned up color schemes:
@ -310,27 +426,12 @@ Support setting the character displayed below the last line? Neovim uses
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
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
negative. (see #4326)
All functions are global, which makes functions like get() and len() awkward.
For the future use the ~get() and ~len() syntax. It also allows for
chaining: >
mylist~get(idx)
mylist~uniq()~len()
mydict~get(idx)
mystring~len()
Or use -> (like C pointer dereference) >
mylist->get(idx)
mylist->uniq()->len()
mydict->get(idx)
mystring->len()
Alternatives for ~:
^ list^get() could also be used
. list.get() already means "member" in Dict
$ list$get() harder to read
@ list@get() harder to read
'cmdheight' has a tab-local value, but it cannot be obtained with
`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
tab page. (Ingo Karkat, #4324)
@ -363,11 +464,6 @@ Not existing directory in CDPATH leads to two shell calls. (#4525)
Use dict_iterate_start() / dict_iterate_next() instead of relying on the
internals of the dict structure.
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
nvo-mode mapping works on Windows, not on Linux. (#3678)
Missing tests for:
@ -490,9 +586,6 @@ Patch to implement 'diffref' option. (#3535)
Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
Patch #2405 does something like this, but in the wrong way.
:pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
#3536)
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
@ -522,9 +615,6 @@ Further xdiff changes:
Difference between two regexp engines: #3373
Patch to properly break CJK lines: #3875
Requires more tests. dbcs_ functions are not implemented.
Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639)
What is the practical use for this?
@ -532,13 +622,15 @@ When the last line wraps, selecting with the mouse below that line only
includes the first screen line. (2018 Aug 23, #3368)
Refactored HTML indent file. (Michael Lee, #1821)
Ask to write a test first.
Asked to write a test.
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
(lkintact, 2018 Sep 22, #3473)
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
Display error when a conceal match uses '\%>1l'. (#4854)
Request to add sign_setlist() to make it faster to add a lot of signs, e.g.
when adding a sign for every quickfix entry. (#4557)
@ -617,9 +709,6 @@ pass an expression to evaluate. Allow passing zero for "never skip".
Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function.
Universal solution to detect if t_RS is working, using cursor position.
Koichi Iwamoto, #2126
When using a menu item while the "more" prompt is displayed doesn't work well.
E.g. after using help->version. Have a key that ends the "more" prompt and
does nothing otherwise?
@ -657,6 +746,9 @@ Jan 15, #2555)
":bufdo e" disabled syntax HL in windows other than the current. (BPJ)
Patch for Template string: #4491. New pull: #4634
It's an awful lot of code for something that is just a bit nicer syntax.
Check argument of systemlist(). (Pavlov)
No maintainer for Vietnamese translations.
@ -790,7 +882,7 @@ Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
MS-Windows: buffer completion doesn't work when using backslash (or slash)
for a path separator. (xtal8, #2201)
Would be nice for insert mode completion to highlight the text that was added
Would be nice for Insert mode completion to highlight the text that was added
(and may change when picking another completion).
Test runtime files.
@ -813,15 +905,8 @@ The ":move" command does not honor closed folds. (Ryan Lue, #2351)
Patch to fix increment/decrement not working properly when 'virtualedit' is
set. (Hirohito Higashi, 2016 Aug 1, #923)
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
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.
Test_writefile_fails_conversion failure on Solaris because if different iconv
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
@ -918,8 +1003,6 @@ Memory leak in test97? The string is actually freed. Weird.
assert_fails() can only check for the first error. Make it possible to have
it catch multiple errors and check all of them.
New value "uselast" for 'switchbuf'. (Lemonboy, 2017 Apr 23, #1652)
Add a toolbar in the terminal. Can be global, above all windows, or specific
for one window.
@ -1007,10 +1090,6 @@ 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 add random number generator. (Hong Xu, 2010 Nov 8, update Nov 10)
Alternative from Christian Brabandt. (2010 Sep 19)
New one from Yasuhiro Matsumoto, #1277.
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
@ -1066,10 +1145,6 @@ Patch to make it possible to extend a list with itself.
Patch to add Zstandard compressed file support. (Nick Terrell, 2016 Oct 24)
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
Patch to change argument of :marks. (LemonBoy, 2017 Jan 29, #1426)
On Windows buffer completion sees backslash as escape char instead of path
separator. (Toffanim, 2016 Nov 24, #1274)
@ -1089,6 +1164,7 @@ sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
4#1038)
+channel:
- Add a in_cb, invoked when the write buffer has become empty. (Matteo Landi)
- Add a separate timeout for opening a socket. Currently it's fixed at 50
msec, which is too small for a remote connection. (tverniquet, #2130)
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@ -1168,8 +1244,6 @@ Regexp problems:
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
(2017 May 15, #1252)
Patch to add "cmdline" completion to getcompletion(). (Shougo, Oct 1, #1140)
Feature request: Complete members of a dictionary. (Luc Hermitte, 2017 Jan 4,
#1350)
@ -1185,11 +1259,6 @@ Include the test.
When 'keywordprg' starts with ":" the argument is still escaped as a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
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)
Idea from Sven: record sequence of keys. Useful to show others what they are
doing (look over the shoulder), and also to see what happened.
Probably list of keystrokes, with some annotations for mode changes.
@ -1272,9 +1341,6 @@ Reject the value? #710.
When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
Because of using the initial buffer? (Dun Peal, 2016 May 12)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Jun 10, #858 Update 2017 Mar 28: use <buffer>
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
@ -1336,10 +1402,6 @@ Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
Test object i{ and it do not behave the same. #1379
Do not include the linebreak at the start?
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Added tests (James McCoy, 2016 Aug 3). Still needs more work.
Feature request: add the "al" text object, to manipulate a screen line.
Especially useful when using 'linebreak'
@ -1355,9 +1417,6 @@ If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
@ -1476,18 +1535,6 @@ Patch to fix checking global option value when not using it.
When 'showbreak' is set repeating a Visual operation counts the size of the
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
Patch for 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 issue 543 (Roland Puntaier).
Also see #737: langmap not applied to replaying recording.
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
@ -1596,14 +1643,6 @@ compatible with Vim spell files. The old files can no longer be downloaded.
Spell checking: Add a feature to only consider two spaces after a dot to start
a new sentence. Don't give the capitalization error when there is one space.
xterm should be able to pass focus changes to Vim, so that Vim can check for
buffers that changed. Perhaps in misc.c, function selectwindow().
Xterm 224 supports it!
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Update 2016 Aug 12.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing
its height? It's like dragging the status bar above it at the same time.
@ -1904,12 +1943,6 @@ Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
21, Ben Fritz, 2010 Sep 14)
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell)
'cursorline' works on a text line only. Add 'cursorscreenline' for
highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
Win32: Patch to use task dialogs when available. (Sergiu Dotenco, 2011 Sep 17)
New feature, requires testing. Made some remarks.
@ -2153,10 +2186,6 @@ Looks like only bash can do it. (Yakov Lerner)
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
Jun 29) Caused by 7.2.433?
I often see pasted text (from Firefox, to Vim in xterm) appear twice.
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
an external command).
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)
Problem with transparent cmdline. Also: Terminal title is wrong with
@ -2752,10 +2781,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
Feature request: Command to go to previous tab, like what CTRL-W p does for
windows. (Adam George)
F1 - F4 in an xterm produce a different escape sequence when used with a
modifier key. Need to catch three different sequences. Use K_ZF1, like
K_ZHOME? (Dickey, 2007 Dec 2)
In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)
@ -2890,12 +2915,6 @@ Setting 'background' resets the Normal background color:
This is undesired, 'background' is supposed to tell Vim what the background
color is, not reset it.
Linux distributions:
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
known to Vim. 88 colors instead of 16 works better. See ":help
xfree-xterm".
- Suggest including bare "vi" and "vim" with X11, syntax, etc.
Completion menu: For a wrapping line, completing a long file name, only the
start of the path is shown in the menu. Should move the menu to the right to
show more text of the completions. Shorten the items that don't fit in the
@ -2910,12 +2929,6 @@ the buffer is displayed. (Antonios Tsakiridis)
When ":cn" moves to an error in the same line the message isn't shortened.
Only skip shortening for ":cc"?
Write "making vim work better" for the docs (mostly pointers): *nice*
- sourcing $VIMRUNTIME/vimrc_example.vim
- setting 'mouse' to "a"
- getting colors in xterm
- compiling Vim with X11, GUI, etc.
Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
Campbell 2006 Jul 06.
@ -3009,11 +3022,6 @@ When 'encoding' is utf-8 typing text at the end of the line causes previously
typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008
Sep 3, 11)
When Vim in an xterm owns the selection and the user does ":shell" Vim doesn't
respond to selection requests. Invoking XtDisownSelection() before executing
the shell doesn't help. Would require forking and doing a message loop, like
what happens for the GUI.
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
this, at least for Unix (using device/inode)?
@ -3102,11 +3110,6 @@ Awaiting updated patches:
use the patch that keeps using HLF_8 if HLF_WS has not
been given values.
Add section in help files for these highlight groups?
8 "fg" and "bg" don't work in an xterm. Get default colors from xterm
with an ESC sequence.
xterm can send colors for many things. E.g. for the cursor:
<Esc>]12;?<Bel>
Can use this to get the background color and restore the colors on exit.
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
Dalecki has a patch for Motif and Carbon)
- Add possibility to highlight specific columns (for Fortran). Or put a
@ -3308,9 +3311,6 @@ Win32 GUI known bugs:
8 When the 'shell' cannot be executed, should give an appropriate error msg.
Esp. for a filter command, currently it only complains the file could not
be read.
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).
Opposite of 'linespace': 'columnspace'.
7 At the hit-enter prompt scrolling now no longer works. Need to use the
keyboard to get around this. Pretend <CR> was hit when the user tries to
scroll?
@ -3703,7 +3703,6 @@ Macintosh:
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
recognize these keys? Mostly useful for xterm simulators, like gnometerm.
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
8 For xterm also recognize keypad up/down/left/right and insert.
8 '[ and '] should be set to start/end of line when using a linewise operator
(e.g., ":w").
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
@ -3718,10 +3717,6 @@ Macintosh:
filesystem, an illegal file name may be created: ".vim".
8 For each buffer that is opened, the viminfo file is opened and read to
check for file marks. This can be slow.
7 In xterm, recognize both vt100 and vt220 cursor keys. Change
add_termcode() to not remove an existing entry for a name, when it's
needed.
Need a generic solution to recognize different codes for the same key.
8 Core dump within signal function: gdb doesn't show stack backtrace! Option
to skip catch_signals()?
9 Repeating a "cw" with "." doesn't work if the text was pasted from the

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jul 06
*usr_41.txt* For Vim version 8.1. Last change: 2019 Sep 23
VIM USER MANUAL - by Bram Moolenaar
@ -856,6 +856,7 @@ Insert mode completion: *completion-functions*
complete_check() check if completion should be aborted
complete_info() get current completion information
pumvisible() check if the popup menu is displayed
pum_getpos() position and size of popup menu if visible
Folding: *folding-functions*
foldclosed() check for a closed fold at a specific line

View File

@ -480,9 +480,9 @@ probably contains your vimrc file and other runtime files that you created, so
be careful.
Else, if you installed Vim with the zip archives, the preferred way is to use
the "uninstal" program (note the missing l at the end). You can find it in
the same directory as the "install" program, e.g., "c:\vim\vim61". This
should also work from the usual "install/remove software" page.
the "uninstall" program. You can find it in the same directory as the
"install" program, e.g., "c:\vim\vim61". This should also work from the usual
"install/remove software" page.
However, this only removes the registry entries for Vim. You have to
delete the files yourself. Simply select the directory "vim\vim61" and delete
it recursively. There should be no files there that you changed, but you

View File

@ -1,4 +1,4 @@
*various.txt* For Vim version 8.1. Last change: 2019 Jul 21
*various.txt* For Vim version 8.1. Last change: 2019 Sep 28
VIM REFERENCE MANUAL by Bram Moolenaar
@ -332,11 +332,12 @@ N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
m *+channel* inter process communication |channel|
N *+cindent* |'cindent'|, C indenting
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support
N *+cmdline_compl* command line completion |cmdline-completion|
*+clipboard* |clipboard| support compiled-in
*+clipboard_working* |clipboard| support compiled-in and working
T *+cmdline_compl* command line completion |cmdline-completion|
S *+cmdline_hist* command line history |cmdline-history|
N *+cmdline_info* |'showcmd'| and |'ruler'|
N *+comments* |'comments'| support
T *+comments* |'comments'| support
B *+conceal* "conceal" support, see |conceal| |:syn-conceal| etc.
N *+cryptv* encryption support |encryption|
B *+cscope* |cscope| support
@ -371,7 +372,7 @@ N *+gettext* message translations |multi-lang|
m *+hangul_input* Hangul input support |hangul|
*+iconv* Compiled with the |iconv()| function
*+iconv/dyn* Likewise |iconv-dynamic| |/dyn|
N *+insert_expand* |insert_expand| Insert mode completion
T *+insert_expand* |insert_expand| Insert mode completion
m *+job* starting and stopping jobs |job|
S *+jumplist* |jumplist|
B *+keymap* |'keymap'|
@ -382,12 +383,12 @@ N *+linebreak* |'linebreak'|, |'breakat'| and |'showbreak'|
N *+lispindent* |'lisp'|
T *+listcmds* Vim commands for the list of buffers |buffer-hidden|
and argument list |:argdelete|
N *+localmap* Support for mappings local to a buffer |:map-local|
T *+localmap* Support for mappings local to a buffer |:map-local|
m *+lua* |Lua| interface
m *+lua/dyn* |Lua| interface |/dyn|
N *+menu* |:menu|
N *+mksession* |:mksession|
N *+modify_fname* |filename-modifiers|
T *+modify_fname* |filename-modifiers|
N *+mouse* Mouse handling |mouse-using|
N *+mouseshape* |'mouseshape'|
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|

View File

@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.1. Last change: 2019 May 13
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Oct 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -64,6 +64,9 @@ w300 number (default 23) *'w300'*
w1200 number (default 23) *'w1200'*
w9600 number (default 23) *'w9600'*
Vi did not allow for changing the termcap entries, you would have to exit Vi,
edit the termcap entry and try again. Vim has the |terminal-options|.
==============================================================================
3. Limits *limits*
@ -703,7 +706,7 @@ first character).
CTRL-A works like CTRL-@ but does not leave insert mode.
CTRL-R {0-9a-z..} can be used to insert the contents of a register.
CTRL-R {register} can be used to insert the contents of a register.
When the 'smartindent' option is set, C programs will be better auto-indented.
With 'cindent' even more.

View File

@ -266,7 +266,7 @@ Otherwise an error message is given and
aborts.
.TP
\-i {viminfo}
When using the viminfo file is enabled, this option sets the filename to use,
Specifies the filename to use when reading or writing the viminfo file,
instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file, by giving the name
"NONE".
@ -289,7 +289,7 @@ so that changes are not allowed and files can not be written. Note that these
options can be set to enable making modifications.
.TP
\-N
No-compatible mode. Reset the 'compatible' option.
No-compatible mode. Resets the 'compatible' option.
This will make
.B Vim
behave a bit better, but less Vi compatible, even though a .vimrc file does

View File

@ -62,10 +62,10 @@ DESCRIPTION
-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and
the first error is displayed. If [errorfile] is omitted,
the filename is obtained from the 'errorfile' option
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
other systems). Further errors can be jumped to with the
":cn" command. See ":help quickfix".
the filename is obtained from the 'errorfile' option (de
faults to "AztecC.Err" for the Amiga, "errors.err" on other
systems). Further errors can be jumped to with the ":cn"
command. See ":help quickfix".
Vim behaves differently, depending on the name of the command (the exe
cutable may still be the same file).
@ -92,8 +92,8 @@ DESCRIPTION
done with the "-Z" argument.
OPTIONS
The options may be given in any order, before or after filenames.
Options without an argument can be combined after a single dash.
The options may be given in any order, before or after filenames. Op
tions without an argument can be combined after a single dash.
+[num] For the first file the cursor will be positioned on line
"num". If "num" is missing, the cursor will be positioned
@ -132,8 +132,8 @@ OPTIONS
sible to edit a binary or executable file.
-C Compatible. Set the 'compatible' option. This will make
Vim behave mostly like Vi, even though a .vimrc file
exists.
Vim behave mostly like Vi, even though a .vimrc file ex
ists.
-d Start in diff mode. There should be two, three or four
file name arguments. Vim will open all the files and show
@ -151,15 +151,15 @@ OPTIONS
-E Start Vim in improved Ex mode, just like the executable was
called "exim".
-f Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in. On the Amiga, Vim
-f Foreground. For the GUI version, Vim will not fork and de
tach from the shell it was started in. On the Amiga, Vim
is not restarted to open a new window. This option should
be used when Vim is executed by a program that will wait
for the edit session to finish (e.g. mail). On the Amiga
the ":sh" and ":!" commands will not work.
--nofork Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in.
--nofork Foreground. For the GUI version, Vim will not fork and de
tach from the shell it was started in.
-F If Vim has been compiled with FKMAP support for editing
right-to-left oriented files and Farsi keyboard mapping,
@ -167,12 +167,12 @@ OPTIONS
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-g If Vim has been compiled with GUI support, this option
enables the GUI. If no GUI support was compiled in, an
error message is given and Vim aborts.
-g If Vim has been compiled with GUI support, this option en
ables the GUI. If no GUI support was compiled in, an error
message is given and Vim aborts.
-h Give a bit of help about the command line arguments and
options. After this Vim exits.
-h Give a bit of help about the command line arguments and op
tions. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
right-to-left oriented files and Hebrew keyboard mapping,
@ -181,10 +181,10 @@ OPTIONS
and Vim aborts.
-i {viminfo}
When using the viminfo file is enabled, this option sets
the filename to use, instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file,
by giving the name "NONE".
Specifies the filename to use when reading or writing the
viminfo file, instead of the default "~/.viminfo". This
can also be used to skip the use of the .viminfo file, by
giving the name "NONE".
-L Same as -r.
@ -199,7 +199,7 @@ OPTIONS
files can not be written. Note that these options can be
set to enable making modifications.
-N No-compatible mode. Reset the 'compatible' option. This
-N No-compatible mode. Resets the 'compatible' option. This
will make Vim behave a bit better, but less Vi compatible,
even though a .vimrc file does not exist.
@ -208,8 +208,8 @@ OPTIONS
slow medium (e.g. floppy). Can also be done with ":set
uc=0". Can be undone with ":set uc=200".
-nb Become an editor server for NetBeans. See the docs for
details.
-nb Become an editor server for NetBeans. See the docs for de
tails.
-o[N] Open N windows stacked. When N is omitted, open one window
for each file.
@ -228,8 +228,8 @@ OPTIONS
above). The 'readonly' option can be reset with ":set
noro". See ":help 'readonly'".
-r List swap files, with information about using them for
recovery.
-r List swap files, with information about using them for re
covery.
-r {file} Recovery mode. The swap file is used to recover a crashed
editing session. The swap file is a file with the same
@ -247,8 +247,8 @@ OPTIONS
characters are read from the keyboard.
-T {terminal}
Tells Vim the name of the terminal you are using. Only
required when the automatic way doesn't work. Should be a
Tells Vim the name of the terminal you are using. Only re
quired when the automatic way doesn't work. Should be a
terminal known to Vim (builtin) or defined in the termcap
or terminfo file.
@ -342,8 +342,8 @@ OPTIONS
the server to connect to.
--socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in
another window.
GTK GUI only: Use the GtkPlug mechanism to run gvim in an
other window.
--version Print version information and exit.

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 04
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 18
VIM REFERENCE MANUAL by Bram Moolenaar
@ -872,6 +872,7 @@ option. When set, it overrules the 'previewwindow' and 'previewheight'
settings. The option is a comma separated list of values:
height maximum height of the popup
width maximum width of the popup
highlight highlight group of the popup (default is Pmenu)
Example: >
:set previewpopup=height:10,width:60

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jul 27
" Last Change: 2019 Oct 04
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -425,6 +425,9 @@ au BufNewFile,BufRead *.csp,*.fdr setf csp
au BufNewFile,BufRead *.pld setf cupl
au BufNewFile,BufRead *.si setf cuplsim
" Dart
au BufRead,BufNewfile *.dart,*.drt setf dart
" Debian Control
au BufNewFile,BufRead */debian/control setf debcontrol
au BufNewFile,BufRead control
@ -701,6 +704,9 @@ au BufNewFile,BufRead *.vc,*.ev,*.sum,*.errsum setf hercules
" HEX (Intel)
au BufNewFile,BufRead *.hex,*.h32 setf hex
" Hollywood
au BufRead,BufNewFile *.hws setf hollywood
" Tilde (must be before HTML)
au BufNewFile,BufRead *.t.html setf tilde
@ -795,7 +801,10 @@ au BufNewFile,BufRead *.java,*.jav setf java
au BufNewFile,BufRead *.jj,*.jjt setf javacc
" JavaScript, ECMAScript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.jsx,*.mjs setf javascript
au BufNewFile,BufRead *.js,*.javascript,*.es,*.mjs setf javascript
" JavaScript with React
au BufNewFile,BufRead *.jsx setf javascriptreact
" Java Server Pages
au BufNewFile,BufRead *.jsp setf jsp
@ -973,6 +982,9 @@ au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
" Mercurial config (looks like generic config file)
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
" Meson Build system config
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
" Messages (logs mostly)
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
@ -1706,6 +1718,9 @@ au BufNewFile,BufReadPost *.twig setf twig
" Typescript
au BufNewFile,BufReadPost *.ts setf typescript
" TypeScript with React
au BufNewFile,BufRead *.tsx setf typescriptreact
" Motif UIT/UIL files
au BufNewFile,BufRead *.uit,*.uil setf uil

View File

@ -11,21 +11,10 @@ if exists("b:did_ftplugin")
finish
endif
unlet! b:is_sh
unlet! b:is_kornshell
let b:is_bash = 1
if exists("b:is_sh")
unlet b:is_sh
endif
if exists("b:is_kornshell")
unlet b:is_kornshell
endif
" Setting 'filetype' here directly won't work, since we are being invoked
" through an autocommand. Do it later, on the BufWinEnter event.
augroup bash_filetype
au BufWinEnter * call SetBashFt()
augroup END
runtime! ftplugin/sh.vim ftplugin/sh_*.vim ftplugin/sh/*.vim
func SetBashFt()
au! bash_filetype
set ft=sh
endfunc
" vim: ts=8

View File

@ -0,0 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! ftplugin/javascript.vim

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2019 Jul 22
" Last Change: 2019 Sep 26
" (fix by Jason Franklin)
" To make the ":Man" command available before editing a manual page, source
@ -132,11 +132,17 @@ func <SID>GetPage(cmdmods, ...)
let page = expand('<cword>')
endif
if sect != "" && s:FindPage(sect, page) == 0
let sect = ""
if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
if sect != "" && s:FindPage(sect, page) == 0
let sect = ""
endif
endif
if s:FindPage(sect, page) == 0
echo "\nCannot find a '".page."'."
let msg = "\nNo manual entry for ".page
if sect != ""
let msg .= " in section ".sect
endif
echo msg
return
endif
exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: matlab
" Maintainer: Jake Wasserman <jwasserman at gmail dot com>
" Last Changed: 2014 Dec 30
" Last Change: 2019 Sep 27
" Contributors:
" Charles Campbell
@ -24,8 +24,9 @@ endif
setlocal suffixesadd=.m
setlocal suffixes+=.asv
setlocal commentstring=%\ %s
let b:undo_ftplugin = "setlocal suffixesadd< suffixes< "
let b:undo_ftplugin = "setlocal suffixesadd< suffixes< commentstring< "
\ . "| unlet! b:match_words"
let &cpo = s:save_cpo

View File

@ -20,6 +20,7 @@ Comment=Edit text files
GenericName[da]=Teksteditor
GenericName[fr]=Éditeur de texte
GenericName[pl]=Edytor tekstu
GenericName[sr]=Едитор текста
GenericName[is]=Ritvinnsluforrit
Comment[af]=Redigeer tekslêers
Comment[am]=የጽሑፍ ፋይሎች ያስተካክሉ

18
runtime/indent/bash.vim Normal file
View File

@ -0,0 +1,18 @@
" Vim indent file
" Language: bash
" Maintainer: Bram
" Last Change: 2019 Sep 27
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
" The actual indenting is in sh.vim and controlled by buffer-local variables.
unlet! b:is_sh
unlet! b:is_kornshell
let b:is_bash = 1
runtime! indent/sh.vim
" vim: ts=8

View File

@ -0,0 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! indent/javascript.vim

View File

@ -1,7 +1,7 @@
" Vim indent file
" Language: SystemVerilog
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
" Last Change: 12-Aug-2013.
" Last Change: 05-Feb-2017 by Bilal Wasim
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@ -74,7 +74,7 @@ function SystemVerilogIndent()
" Indent after if/else/for/case/always/initial/specify/fork blocks
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|randcase\)\>' ||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|forever\|randcase\)\>' ||
\ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
\ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' ||
@ -129,9 +129,9 @@ function SystemVerilogIndent()
" De-indent for the end of one-line block
elseif ( last_line !~ '\<begin\>' ||
\ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>.*' .
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>.*' .
\ sv_comment . '*$' &&
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>' &&
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ ( last_line2 !~ '\<begin\>' ||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
@ -194,7 +194,7 @@ function SystemVerilogIndent()
\ last_line !~ '^\s*\<\(property\|checker\|program\)\>' &&
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . sv_comment . '*$' &&
\ ( last_line =~
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|randcase\|final\)\>' ||
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|forever\|randcase\|final\)\>' ||
\ last_line =~ ')\s*' . sv_comment . '*$' ||
\ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
let ind = ind - offset
@ -227,4 +227,4 @@ endfunction
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:sw=2
" vim:sw=2

View File

@ -1,8 +1,8 @@
" Vim indent file
" Language: Tcl
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Update: Chris Heithoff <chrisheithoff@gmail.com>
" Latest Revision: 2018-12-05
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2018-12-05
if exists("b:did_indent")
finish

View File

@ -20,6 +20,7 @@ func HandleSwapExists()
endif
endfunc
let failed_count = 0
for fname in glob('testdir/*.in', 1, 1)
let root = substitute(fname, '\.in', '', '')
@ -110,6 +111,7 @@ for fname in glob('testdir/*.in', 1, 1)
endif
if failed
let failed_count += 1
exe 'write ' . root . '.fail'
echoerr 'Test ' . fname . ' FAILED!'
else
@ -123,4 +125,8 @@ endfor
" Matching "if 1" at the start.
endif
if failed_count > 0
" have make report an error
cquit
endif
qall!

View File

@ -0,0 +1,14 @@
# vim: set ft=yaml sw=2 et :
# START_INDENT
map1:
sub1:
- list item
map2:
- another list
# END_INDENT
# START_INDENT
map: &anchor
map: val
# END_INDENT

View File

@ -0,0 +1,14 @@
# vim: set ft=yaml sw=2 et :
# START_INDENT
map1:
sub1:
- list item
map2:
- another list
# END_INDENT
# START_INDENT
map: &anchor
map: val
# END_INDENT

View File

@ -1,7 +1,7 @@
" Vim indent file
" Language: YAML
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" Last Change: 2017 Jun 13
" Last Change: 2019 Sep 28
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@ -29,7 +29,7 @@ function s:FindPrevLessIndentedLine(lnum, ...)
let curindent = a:0 ? a:1 : indent(a:lnum)
while prevlnum
\&& indent(prevlnum) >= curindent
\&& getline(prevlnum) =~# '^\s*#'
\&& getline(prevlnum) !~# '^\s*#'
let prevlnum = prevnonblank(prevlnum-1)
endwhile
return prevlnum

View File

@ -1,5 +1,6 @@
" Vim Keymap file for russian characters, layout 'jcuken', MS Windows variant
" (slightly incompatible with XFree86 'ru' keymap - makes use of NUMERO SIGN)
" Vim Keymap file for russian characters, layout 'jcuken', MS Windows
" Typewriter variant (slightly incompatible with XFree86 'ru' keymap -
" makes use of NUMERO SIGN)
" Useful mainly with utf-8 but may work with other encodings
" Derived from russian-jcuken.vim by Artem Chuprina <ran@ran.pp.ru>
@ -15,14 +16,13 @@ scriptencoding utf-8
let b:keymap_name = "ru"
loadkeymap
~ + CYRILLIC CAPITAL LETTER IO
` | CYRILLIC SMALL LETTER IO
F А CYRILLIC CAPITAL LETTER A
< Б CYRILLIC CAPITAL LETTER BE
D В CYRILLIC CAPITAL LETTER VE
U Г CYRILLIC CAPITAL LETTER GHE
L Д CYRILLIC CAPITAL LETTER DE
T Е CYRILLIC CAPITAL LETTER IE
? Ё CYRILLIC CAPITAL LETTER IO
: Ж CYRILLIC CAPITAL LETTER ZHE
P З CYRILLIC CAPITAL LETTER ZE
B И CYRILLIC CAPITAL LETTER I
@ -55,6 +55,7 @@ d в CYRILLIC SMALL LETTER VE
u г CYRILLIC SMALL LETTER GHE
l д CYRILLIC SMALL LETTER DE
t е CYRILLIC SMALL LETTER IE
/ ё CYRILLIC SMALL LETTER IO
; ж CYRILLIC SMALL LETTER ZHE
p з CYRILLIC SMALL LETTER ZE
b и CYRILLIC SMALL LETTER I
@ -81,13 +82,7 @@ m ь CYRILLIC SMALL LETTER SOFT SIGN
' э CYRILLIC SMALL LETTER E
. ю CYRILLIC SMALL LETTER YU
z я CYRILLIC SMALL LETTER YA
@ "
# № NUMERO SIGN
$ ;
^ :
& ?
/ ё
? Ё
` |
1
2 -
3 /
@ -100,5 +95,18 @@ $ ;
0 %
- !
= ;
~ +
! 1
@ 2
# 3
$ 4
% 5
^ 6
& 7
* 8
( 9
) 0
_ =
+ \\
\\ )
\| (

View File

@ -1,270 +1,452 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Last Change: 2019-09-10
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
let s:keepcpo = &cpo
set cpo&vim
scriptencoding cp936
" Help menu
menutrans &Help <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ links How-to\ ָ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <09><>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
menutrans &Help <09><><EFBFBD><EFBFBD>(&H)
" Help menuitems and dialog {{{1
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ Links <09><><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <EFBFBD><EFBFBD>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><><EFBFBD>ȹ<EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
" fun! s:Helpfind()
if !exists("g:menutrans_help_dialog")
let g:menutrans_help_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򵥴<EFBFBD><F2B5A5B4>Ի<EFBFBD><D4BB>ð<EFBFBD><C3B0><EFBFBD>:\n\nǰ׺ i_ <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>ģʽ<C4A3>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD>(<28><>: i_CTRL-X)\nǰ׺ c_ <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<C4B1><E0BCAD><EFBFBD><EFBFBD>(<28><>: c_<Del>)\nǰ׺ ' <20><>ʾѡ<CABE><D1A1><EFBFBD><EFBFBD>(<28><>: 'shiftwidth')"
endif
" }}}
" File menu
menutrans &File <09>ļ<EFBFBD>(&F)
menutrans &Open\.\.\.<Tab>:e <09><><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <09>򿪱<EFBFBD>ǩ\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. <09>ָ<EFBFBD><EFBFBD>Ƚ<EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09>ָ<EFBFBD><EFBFBD>򲹶<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
menutrans &File <09>ļ<EFBFBD>(&F)
" File menuitems {{{1
menutrans &Open\.\.\.<Tab>:e <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ڲ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <EFBFBD>ڱ<EFBFBD>ǩҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ With\.\.\. <09><><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԶԱȲ<EFBFBD><EFBFBD><EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09><><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Խ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>޲<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
" }}}
" Edit menu
menutrans &Edit <09>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD><EFBFBD>ϴβ<EFBFBD><EFBFBD><EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<EFBFBD><EFBFBD>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Edit <09>(&E)
" Edit menuitems {{{1
menutrans &Undo<Tab>u <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09>ָ<EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<><D5B3>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F><>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&G)
" Edit.Global Settings menuitems and dialogs {{{2
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ Lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
" Edit.Global Settings.Virtual Edit menuitems {{{3
menutrans Never <09>Ӳ<EFBFBD>
menutrans Block\ Selection <EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD>
menutrans Insert\ mode <09><EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Always <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ <20>ļ<EFBFBD>(&T)\.\.\.
menutrans Block\ Selection ֻ<EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>ʱ
menutrans Insert\ Mode ֻ<EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD>ģʽʱ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽʱ
menutrans Always ʼ<EFBFBD><EFBFBD>
" }}}
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)(&G)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҷ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
" fun! s:SearchP()
if !exists("g:menutrans_path_dialog")
let g:menutrans_path_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>\n<>ö<EFBFBD><C3B6>ŷָ<C5B7>Ŀ¼<C4BF><C2BC><EFBFBD><EFBFBD>"
endif
" fun! s:TagFiles()
if !exists("g:menutrans_tags_dialog")
let g:menutrans_tags_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)<29><><EFBFBD>ơ<EFBFBD>\n<>ö<EFBFBD><C3B6>ŷָ<C5B7><D6B8>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD>"
endif
" }}}
" Edit/File Settings
menutrans F&ile\ Settings <09>ļ<EFBFBD><EFBFBD>(&I)
menutrans F&ile\ Settings <EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&I)
" Edit.File Settings menuitems and dialogs {{{2
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! <09><>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <EFBFBD><EFBFBD>/<2F><>\ C\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <EFBFBD><EFBFBD>/<2F><><EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <EFBFBD><EFBFBD>/<2F><><EFBFBD>б<EFBFBD>ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! <09><>/<2F>ػ<EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! <09><>/<2F>ش<EFBFBD>β<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! <EFBFBD><EFBFBD>/<2F><><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>չ(&E)<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ <20><><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop <09><><EFBFBD>Ʊ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Soft Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
" fun! s:TextWidth()
if !exists("g:menutrans_textwidth_dialog")
let g:menutrans_textwidth_dialog = "<22><><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>(ÿ<><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>0 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>):"
endif
" fun! s:FileFormat()
if !exists("g:menutrans_fileformat_dialog")
let g:menutrans_fileformat_dialog = "ѡ<><D1A1><EFBFBD>ļ<EFBFBD><C4BC>ı<EFBFBD><C4B1><EFBFBD><EFBFBD><EFBFBD>ʽ:"
endif
if !exists("g:menutrans_fileformat_choices")
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nȡ<6E><C8A1>(&C)"
endif
" }}}
menutrans Show\ C&olor\ Schemes\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Show\ &Keymaps\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
" }}}
" Programming menu
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
" Tools menuitems {{{1
menutrans &Jump\ to\ This\ Tag<Tab>g^] <EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Tag)(&J)<Tab>g^]
menutrans Jump\ &Back<Tab>^T <09><>ת<EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Spell\ Check\ On <09><><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall <09>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ language\ to\ "en_ca" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ language\ to\ "en_gb" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ language\ to\ "en_nz" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ language\ to\ "en_us" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
" Tools.Spelling menuitems and dialog {{{2
menutrans &Spell\ Check\ On <09><EFBFBD><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ Error<Tab>]s <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ Language\ to\ "en" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ Language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ Language\ to\ "en_ca" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ Language\ to\ "en_gb" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ Language\ to\ "en_nz" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ Language\ to\ "en_us" <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
" func! s:SpellLang()
if !exists("g:menutrans_set_lang_to")
let g:menutrans_set_lang_to = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ"
endif
" }}}
" Tools.Fold Menu
menutrans &Folding <09>۵<EFBFBD>(&F)
" Tools.Fold menuitems {{{2
" open close folds
menutrans &Folding <EFBFBD>۵<EFBFBD>(&F)
menutrans &Enable/Disable\ folds<Tab>zi <EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <EFBFBD>رո<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <EFBFBD>򿪸<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&O)<Tab>zR
menutrans &Enable/Disable\ Folds<Tab>zi <09><><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv չ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx ֻչ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm <09>۵<EFBFBD>һ<EFBFBD><EFBFBD>(&L)<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM <09>۵<EFBFBD>ȫ<EFBFBD><EFBFBD>(&C)<Tab>zM
menutrans O&pen\ More\ Folds<Tab>zr չ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>(&P)<Tab>zr
menutrans &Open\ All\ Folds<Tab>zR չ<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans M&anual <09>ֹ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans Ma&rker <09><><EFBFBD><EFBFBD>(&R)
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD>ʽ(&H)
" Tools.Fold.Fold Method menuitems {{{3
menutrans M&anual <09>ֶ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09><><EFBFBD><EFBFBD>(Diff)(&D)
menutrans Ma&rker <09>Ǻ<EFBFBD>(Marker)(&R)
" }}}
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Fold\ Col&umn\ Width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
" }}}
" Tools.Diff Menu
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09>õ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ÿ<EFBFBD>(&P)
menutrans &Diff <09><><EFBFBD><EFBFBD>(Diff)(&D)
" Tools.Diff menuitems {{{2
menutrans &Update ˢ<EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09><><EFBFBD>öԲ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>(&P)
" }}}
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <EFBFBD><EFBFBD><EFBFBD>ɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
menutrans &Update<Tab>:cwin <09><><EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Make<Tab>:make <09><><EFBFBD><EFBFBD>(Make)(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <EFBFBD>ϾɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
" Tools.Error Window menuitems {{{2
menutrans &Update<Tab>:cwin ˢ<EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Open<Tab>:copen <09><><EFBFBD><EFBFBD>(&O)<Tab>:copen
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd\ -r
menutrans Se&T\ Compiler <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
" }}}
menutrans Show\ Compiler\ Se&ttings\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Se&t\ Compiler <09><><EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:%!xxd\ -r
" }}}
" Names for buffer menu.
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans &Refresh\ menu <09><><EFBFBD>²˵<C2B2>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" Buffer menu
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
" Buffer menuitems and dialog {{{1
menutrans &Refresh\ Menu ˢ<EFBFBD>±<EFBFBD><EFBFBD>˵<EFBFBD>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <09>л<EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" func! s:BMMunge(fname, bnum)
if !exists("g:menutrans_no_file")
let g:menutrans_no_file = "[<5B><><EFBFBD>ļ<EFBFBD>]"
endif
" }}}
" Window menu
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <EFBFBD>ָ<EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09>ָ\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD>ָ<EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09>ָ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <EFBFBD>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww <09><>һ<EFBFBD><D2BB>(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW <EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= <09>ȴ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
"
" The GUI toolbar
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
" Window menuitems {{{1
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <09><><EFBFBD><EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09><><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09><><EFBFBD>ֲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09><><EFBFBD><EFBFBD>֮<EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <09>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ Side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ Side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= ƽ<EFBFBD><EFBFBD><EFBFBD>ֲ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
" }}}
" The popup menu {{{1
menutrans &Undo <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Copy <EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise <09><>Ϊѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
" func! <SID>SpellPopup()
if !exists("g:menutrans_spell_change_ARG_to")
let g:menutrans_spell_change_ARG_to = '<27><>\ "%s"\ <20><><EFBFBD><EFBFBD>Ϊ'
endif
if !exists("g:menutrans_spell_add_ARG_to_word_list")
let g:menutrans_spell_add_ARG_to_word_list = '<27><>\ "%s"\ <20><><EFBFBD>ӵ<EFBFBD><D3B5>ʵ<EFBFBD>'
endif
if !exists("g:menutrans_spell_ignore_ARG")
let g:menutrans_spell_ignore_ARG = '<27><><EFBFBD><EFBFBD>\ "%s"'
endif
" }}}
" The GUI toolbar {{{1
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.LoadSesn <09><><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make ִ<EFBFBD><EFBFBD> Make (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> tags (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD> tag
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>
let did_toolbar_tmenu = 1
tmenu ToolBar.Open <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <EFBFBD>ָ<EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
if !has("gui_athena")
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
endif
tmenu ToolBar.LoadSesn <EFBFBD><EFBFBD><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <09><><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make <09><><EFBFBD>ɵ<EFBFBD>ǰ<EFBFBD><EFBFBD>Ŀ (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD>(Tags) (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>(Tag)
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><> Vim <20><><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
endfun
endif
" }}}
" Syntax menu
menutrans &Syntax <09>(&S)
menutrans &Show\ filetypes\ in\ menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <09>ֹ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans on/off\ for\ &This\ file <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ test <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
menutrans Set\ '&syntax'\ only <09><><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too Ҳ<EFBFBD>\ 'filetype'(&F)
menutrans &Syntax <09>(&S)
" Syntax menuitems {{{1
menutrans &Show\ File\ Types\ in\ Menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <EFBFBD>ֶ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans On/Off\ for\ &This\ File ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ Test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ Test <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
" From synmenu.vim
menutrans Set\ '&syntax'\ Only ֻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ Too Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ 'filetype'(&F)
" }}}
" Netrw menu {{{1
" Plugin loading may be after menu translation
" So giveup testing if Netrw Plugin is loaded
" if exists("g:loaded_netrwPlugin")
menutrans Help<tab><F1> <09><><EFBFBD><EFBFBD><tab><F1>
menutrans Bookmarks <09><>ǩ
menutrans History <09><>ʷ<EFBFBD><EFBFBD>¼
menutrans Go\ Up\ Directory<tab>- <09><><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><tab>-
menutrans Apply\ Special\ Viewer<tab>x <09><>Ĭ<EFBFBD>ϳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>x
menutrans Bookmarks\ and\ History <09><>ǩ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼
" Netrw.Bookmarks and History menuitems {{{2
menutrans Bookmark\ Current\ Directory<tab>mb <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩ<tab>mb
menutrans Bookmark\ Delete <09>Ƴ<EFBFBD><EFBFBD><EFBFBD>ǩ
menutrans Goto\ Prev\ Dir\ (History)<tab>u <09><><EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼)<tab>u
menutrans Goto\ Next\ Dir\ (History)<tab>U ǰ<EFBFBD><EFBFBD>(<EFBFBD><EFBFBD>ʷ<EFBFBD><EFBFBD>¼)<tab>U
menutrans List<tab>qb <09><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><tab>qb
" }}}
menutrans Browsing\ Control <09><><EFBFBD><EFBFBD>
" Netrw.Browsing Control menuitems {{{2
menutrans Horizontal\ Split<tab>o <09>ڲ<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><tab>o
menutrans Vertical\ Split<tab>v <09>ڴ<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><tab>v
menutrans New\ Tab<tab>t <09>ڱ<EFBFBD>ǩҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>t
menutrans Preview<tab>p Ԥ<EFBFBD><EFBFBD><tab>p
menutrans Edit\ File\ Hiding\ List<tab><ctrl-h> <09><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Hiding\ List)<tab><ctrl-h>
menutrans Edit\ Sorting\ Sequence<tab>S <09><EFBFBD><E0BCAD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Sorting\ Sequence)<tab>S
menutrans Quick\ Hide/Unhide\ Dot\ Files<tab>gh <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD>\.<2E><>ͷ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><tab>gh
menutrans Refresh\ Listing<tab><ctrl-l> ˢ<EFBFBD><EFBFBD><tab><ctrl-l>
menutrans Settings/Options<tab>:NetrwSettings <09><><EFBFBD><EFBFBD>/ѡ<EFBFBD><EFBFBD><tab>:NetrwSettings
" }}}
menutrans Delete\ File/Directory<tab>D ɾ<><C9BE><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>D
menutrans Edit\ File/Dir <09><EFBFBD>ļ<EFBFBD>/Ŀ¼
" Netrw.Edit File menuitems {{{2
menutrans Create\ New\ File<tab>% <09>½<EFBFBD><C2BD>ļ<EFBFBD><tab>%
menutrans In\ Current\ Window<tab><cr> <09>ڵ<EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab><cr>
menutrans Preview\ File/Directory<tab>p Ԥ<><D4A4><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>p
menutrans In\ Previous\ Window<tab>P <09><><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>P
menutrans In\ New\ Window<tab>o <09><><EFBFBD>´<EFBFBD><C2B4><EFBFBD><tab>o
menutrans In\ New\ Tab<tab>t <09><><EFBFBD>±<EFBFBD>ǩҳ<tab>t
menutrans In\ New\ Vertical\ Window<tab>v <09><><EFBFBD>´<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>v
" }}}
menutrans Explore <09><><EFBFBD><EFBFBD>
" Netrw.Explore menuitems {{{2
menutrans Directory\ Name ָ<EFBFBD><EFBFBD>Ŀ¼<EFBFBD><EFBFBD>
menutrans Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ ƥ<><C6A5>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ģʽ(<28><>ǰĿ¼)<tab>:Explore\ */
menutrans Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ ƥ<><C6A5>ָ<EFBFBD><D6B8><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ģʽ(<28><><EFBFBD><EFBFBD>Ŀ¼)<tab>:Explore\ **/
menutrans Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// <09><><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ģʽ(<EFBFBD><EFBFBD>ǰĿ¼)<tab>:Explore\ *//
menutrans Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// <09><><EFBFBD>ݰ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>ģʽ(<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼)<tab>:Explore\ **//
menutrans Next\ Match<tab>:Nexplore <09><>һ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>:Nexplore
menutrans Prev\ Match<tab>:Pexplore <09><>һ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>:Pexplore
" }}}
menutrans Make\ Subdirectory<tab>d <09>½<EFBFBD><C2BD><EFBFBD>Ŀ¼<tab>d
menutrans Marked\ Files ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(Marked)<EFBFBD>ļ<EFBFBD>
" Netrw.Marked Files menuitems {{{2
menutrans Mark\ File<tab>mf ѡ<EFBFBD><EFBFBD>(Mark)/ȡ<EFBFBD><EFBFBD><tab>mf
menutrans Mark\ Files\ by\ Regexp<tab>mr <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ(Regexp)ѡ<EFBFBD><EFBFBD><tab>mr
menutrans Hide-Show-List\ Control<tab>a <09><><EFBFBD><EFBFBD>/<2F><>ʾ<tab>a
menutrans Copy\ To\ Target<tab>mc <09><><EFBFBD>Ƶ<EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mc
menutrans Delete<tab>D ɾ<EFBFBD><EFBFBD><tab>D
menutrans Diff<tab>md <09><><EFBFBD><EFBFBD>(Diff)<tab>md
menutrans Edit<tab>me <09><tab>me
menutrans Exe\ Cmd<tab>mx <09><>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><tab>mx
menutrans Move\ To\ Target<tab>mm <09>ƶ<EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mm
menutrans Obtain<tab>O <09><>ȡ<tab>O
menutrans Print<tab>mp <09><>ӡ<tab>mp
menutrans Replace<tab>R <09><tab>R
menutrans Set\ Target<tab>mt <09><><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><tab>mt
menutrans Tag<tab>mT <09><><EFBFBD>ɱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>(Tags)<tab>mT
menutrans Zip/Unzip/Compress/Uncompress<tab>mz ѹ<><D1B9>/<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><tab>mz
" }}}
menutrans Obtain\ File<tab>O <09><>ȡ<EFBFBD>ļ<EFBFBD><tab>O
menutrans Style <09><>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
" Netrw.Style menuitems {{{2
menutrans Listing <09>б<EFBFBD><EFBFBD><EFBFBD>ʽ
" Netrw.Style.Listing menuitems {{{3
menutrans thin<tab>i <09><><EFBFBD><EFBFBD><thin)<tab>i
menutrans long<tab>i <09><>ϸ(long)<tab>i
menutrans wide<tab>i <09><><EFBFBD><EFBFBD>(wide)<tab>i
menutrans tree<tab>i <09><>״(tree)<tab>i
" }}}
menutrans Normal-Hide-Show <09><>ʾ/<2F><><EFBFBD><EFBFBD>
" Netrw.Style.Normal-Hide_show menuitems {{{3
menutrans Show\ All<tab>a <09><>ʾȫ<EFBFBD><EFBFBD>
menutrans Normal<tab>a <09><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
menutrans Hidden\ Only<tab>a ֻ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
" }}}
menutrans Reverse\ Sorting\ Order<tab>r <09><><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><tab>r
menutrans Sorting\ Method <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s <09>ļ<EFBFBD><EFBFBD><EFBFBD><tab>s
menutrans Time<tab>s <09>޸<EFBFBD>ʱ<EFBFBD><EFBFBD><tab>s
menutrans Size<tab>s <09><>С<tab>s
menutrans Exten<tab>s <09><>չ<EFBFBD><EFBFBD><tab>s
" }}}
" }}}
menutrans Rename\ File/Directory<tab>R <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>/Ŀ¼<tab>R
menutrans Set\ Current\ Directory<tab>c <09><><EFBFBD><EFBFBD>\ Vim\ <20><><EFBFBD><EFBFBD>Ŀ¼<tab>c
menutrans Targets Ŀ<EFBFBD><EFBFBD>
" endif
" }}}
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: set nu ts=4 sw=4 noet fdm=marker fdc=4 :

View File

@ -1,273 +1,13 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
set cpo&vim
" Last Change: 2019-09-09
" This causes trouble for a broken iconv (symptom: last character is always
" ??). Without this it works fine anyway, because gbk/cp936 is a superset of
" gb2312. (suggested by Edward L. Fox)
" scriptencoding gb2312
" Help menu
menutrans &Help <09><><EFBFBD><EFBFBD>(&H)
menutrans &Overview<Tab><F1> <09><><EFBFBD><EFBFBD>(&O)<Tab><F1>
menutrans &User\ Manual <09>û<EFBFBD><EFBFBD>ֲ<EFBFBD>(&U)
menutrans &How-to\ links How-to\ ָ<EFBFBD><EFBFBD>(&H)
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans &Credits <09><>л(&C)
menutrans Co&pying <09><>Ȩ(&P)
menutrans &Sponsor/Register <09><><EFBFBD><EFBFBD>/ע<EFBFBD><EFBFBD>(&S)
menutrans O&rphans <09><EFBFBD>(&R)
menutrans &Version <09>(&V)
menutrans &About <09><><EFBFBD><EFBFBD>(&A)
" File menu
menutrans &File <09>ļ<EFBFBD>(&F)
menutrans &Open\.\.\.<Tab>:e <09><><EFBFBD><EFBFBD>(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp <09>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew <09>򿪱<EFBFBD>ǩ\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew <09>½<EFBFBD>(&N)<Tab>:enew
menutrans &Close<Tab>:close <09>ر<EFBFBD>(&C)<Tab>:close
menutrans &Save<Tab>:w <09><><EFBFBD><EFBFBD>(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav <09><><EFBFBD><EFBFBD>Ϊ(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. <09>ָ<EFBFBD><EFBFBD>Ƚ<EFBFBD>(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. <09>ָ<EFBFBD><EFBFBD>򲹶<EFBFBD>(Patch)(&B)\.\.\.
menutrans &Print <09><>ӡ(&P)
menutrans Sa&ve-Exit<Tab>:wqa <09><><EFBFBD><EFBFBD>˳<EFBFBD>(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa <09>˳<EFBFBD>(&X)<Tab>:qa
" Edit menu
menutrans &Edit <09>(&E)
menutrans &Undo<Tab>u <09><><EFBFBD><EFBFBD>(&U)<Tab>u
menutrans &Redo<Tab>^R <09><><EFBFBD><EFBFBD>(&R)<Tab>^R
menutrans Rep&eat<Tab>\. <09>ظ<EFBFBD><EFBFBD>ϴβ<EFBFBD><EFBFBD><EFBFBD>(&E)<Tab>\.
menutrans Cu&t<Tab>"+x <09><><EFBFBD><EFBFBD>(&T)<Tab>"+x
menutrans &Copy<Tab>"+y <09><><EFBFBD><EFBFBD>(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP ճ<><D5B3>(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ(&B)<Tab>[p
menutrans Put\ &After<Tab>]p ճ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>]p
menutrans &Delete<Tab>x ɾ<EFBFBD><EFBFBD>(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG ȫѡ(&S)<Tab>ggVG
menutrans &Find\.\.\. <09><><EFBFBD><EFBFBD>(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)\.\.\.
menutrans &Find<Tab>/ <09><><EFBFBD><EFBFBD>(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s <09><><EFBFBD>Һ<EFBFBD><EFBFBD>(&L)<Tab>:%s
menutrans Settings\ &Window <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
menutrans Startup\ &Settings <09><><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Global\ Settings ȫ<EFBFBD><EFBFBD><EFBFBD>(&G)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! <09><>/<2F><>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! <09><>/<2F>غ<EFBFBD><EFBFBD>Դ<EFBFBD>Сд(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)<Tab>:set\ sm!
menutrans &Context\ lines <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)
menutrans &Virtual\ Edit <09><><EFBFBD><EFBFBD><EFBFBD>(&V)
menutrans Never <09>Ӳ<EFBFBD>
menutrans Block\ Selection <09><>ѡ<EFBFBD><EFBFBD>
menutrans Insert\ mode <09><><EFBFBD><EFBFBD>ģʽ
menutrans Block\ and\ Insert <09><>ѡ<EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD><EFBFBD>ģʽ
menutrans Always <09><><EFBFBD><EFBFBD>
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! <09><>/<2F>ز<EFBFBD><EFBFBD><EFBFBD>ģʽ(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! <09><>/<2F><>\ Vi\ <20><><EFBFBD><EFBFBD><Tab>:set\ cp!
menutrans Search\ &Path\.\.\. <09><><EFBFBD><EFBFBD>·<EFBFBD><C2B7>(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ <20>ļ<EFBFBD>(&T)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar <09><>/<2F>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans Toggle\ &Bottom\ Scrollbar <09><>/<2F>صײ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Toggle\ &Left\ Scrollbar <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD>˹<EFBFBD><CBB9><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Toggle\ &Right\ Scrollbar <09><>/<2F><><EFBFBD>Ҷ˹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
" Edit/File Settings
menutrans F&ile\ Settings <09>ļ<EFBFBD><EFBFBD>(&I)
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! <09><>/<2F><><EFBFBD><EFBFBD>ʾ<EFBFBD>к<EFBFBD>(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! <20><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! <09><>/<2F><>\ list\ ģʽ(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! <09><>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! <09><>/<2F><><EFBFBD><EFBFBD>չ\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! <09><>/<2F><><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! <09><>/<2F><>\ C\ <20><><EFBFBD><EFBFBD>(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ <20><><EFBFBD><EFBFBD>(&T)
menutrans Te&xt\ Width\.\.\. <09>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)\.\.\.
menutrans &File\ Format\.\.\. <09>ļ<EFBFBD><EFBFBD><EFBFBD>ʽ(&F)\.\.\.
menutrans C&olor\ Scheme <09><>ɫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans Select\ Fo&nt\.\.\. ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)\.\.\.
menutrans &Keymap <09><><EFBFBD><EFBFBD>ӳ<EFBFBD><EFBFBD>(&K)
" Programming menu
menutrans &Tools <09><><EFBFBD><EFBFBD>(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)<Tab>^T
menutrans Build\ &Tags\ File <09><><EFBFBD><EFBFBD>\ Tags\ <20>ļ<EFBFBD>(&T)
" Tools.Spelling Menu
menutrans &Spelling ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Spell\ Check\ On <09><><EFBFBD><EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Spell\ Check\ &Off <09>ر<EFBFBD>ƴд<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)
menutrans To\ &Next\ error<Tab>]s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall <09>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en"
menutrans Set\ language\ to\ "en_au" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_au"
menutrans Set\ language\ to\ "en_ca" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_ca"
menutrans Set\ language\ to\ "en_gb" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_gb"
menutrans Set\ language\ to\ "en_nz" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_nz"
menutrans Set\ language\ to\ "en_us" <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ\ "en_us"
menutrans &Find\ More\ Languages <09><><EFBFBD>Ҹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&F)
" Tools.Fold Menu
" open close folds
menutrans &Folding <09>۵<EFBFBD>(&F)
menutrans &Enable/Disable\ folds<Tab>zi <09><><EFBFBD><EFBFBD>/<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm <09>رո<EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr <09>򿪸<EFBFBD><F2BFAAB8><EFBFBD><EFBFBD>۵<EFBFBD>(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans M&anual <09>ֹ<EFBFBD>(&A)
menutrans I&ndent <09><><EFBFBD><EFBFBD>(&N)
menutrans E&xpression <09><><EFBFBD><EFBFBD>ʽ(&X)
menutrans S&yntax <09>(&Y)
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans Ma&rker <09><><EFBFBD><EFBFBD>(&R)
" create and delete folds
menutrans Create\ &Fold<Tab>zf <09><><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd ɾ<EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD>(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width <09>۵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)
" Tools.Diff Menu
menutrans &Diff <09>Ƚ<EFBFBD>(Diff)(&D)
menutrans &Update <09><><EFBFBD><EFBFBD>(&U)
menutrans &Get\ Block <09>õ<EFBFBD><EFBFBD><EFBFBD>(&G)
menutrans &Put\ Block <09><><EFBFBD>ÿ<EFBFBD>(&P)
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl <09>г<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! <09>г<EFBFBD><EFBFBD><EFBFBD>Ϣ(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp <09><>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold <09><><EFBFBD>ɵĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew <09><><EFBFBD>µĴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>(&E)<Tab>:cnew
menutrans Error\ &Window <09><><EFBFBD>󴰿<EFBFBD>(&W)
menutrans &Update<Tab>:cwin <09><><EFBFBD><EFBFBD>(&U)<Tab>:cwin
menutrans &Open<Tab>:copen <09><><EFBFBD><EFBFBD>(&O)<Tab>:copen
menutrans &Close<Tab>:cclose <09>ر<EFBFBD>(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʮ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><Tab>:%!xxd\ -r
menutrans Se&T\ Compiler <09><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&T)
" Names for buffer menu.
menutrans &Buffers <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans &Refresh\ menu <09><><EFBFBD>²˵<C2B2>(&R)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans &Alternate <09><><EFBFBD><EFBFBD>(&A)
menutrans &Next <09><>һ<EFBFBD><EFBFBD>(&N)
menutrans &Previous <09><>һ<EFBFBD><EFBFBD>(&P)
" Window menu
menutrans &Window <09><><EFBFBD><EFBFBD>(&W)
menutrans &New<Tab>^Wn <09>½<EFBFBD>(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws <09>ָ<EFBFBD>(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ <09>ָ\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv <09><>ֱ<EFBFBD>ָ<EFBFBD>(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer <09>ָ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&X)
menutrans &Close<Tab>^Wc <09>ر<EFBFBD>(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo <09>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&O)<Tab>^Wo
menutrans Move\ &To <09>ƶ<EFBFBD><EFBFBD><EFBFBD>(&T)
menutrans &Top<Tab>^WK <09><><EFBFBD><EFBFBD>(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ <09>׶<EFBFBD>(&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH <09><><EFBFBD><EFBFBD>(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL <09>ұ<EFBFBD>(&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww <09><>һ<EFBFBD><D2BB>(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW <09><>һ<EFBFBD><D2BB>(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr <09><><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= <09>ȴ<EFBFBD>(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ <09><><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ <09><>С<EFBFBD>߶<EFBFBD>(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| <09><>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo <09><><EFBFBD><EFBFBD>(&U)
menutrans Cu&t <09><><EFBFBD><EFBFBD>(&T)
menutrans &Copy <09><><EFBFBD><EFBFBD>(&C)
menutrans &Paste ճ<EFBFBD><EFBFBD>(&P)
menutrans &Delete ɾ<EFBFBD><EFBFBD>(&D)
menutrans Select\ Blockwise ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
menutrans Select\ &Word ѡ<EFBFBD>񵥴<EFBFBD>(&W)
menutrans Select\ &Sentence ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans Select\ Pa&ragraph ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&R)
menutrans Select\ &Line ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans Select\ &Block ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&B)
menutrans Select\ &All ȫѡ(&A)
"
" The GUI toolbar
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open <09><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Save <09><><EFBFBD>浱ǰ<EFBFBD>ļ<EFBFBD>
tmenu ToolBar.SaveAll <09><><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
tmenu ToolBar.Print <09><>ӡ
tmenu ToolBar.Undo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Redo <09><><EFBFBD><EFBFBD>
tmenu ToolBar.Cut <09><><EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Copy <09><><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tmenu ToolBar.Paste <09>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>
tmenu ToolBar.Find <09><><EFBFBD><EFBFBD>...
tmenu ToolBar.FindNext <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.FindPrev <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
tmenu ToolBar.Replace <09><><EFBFBD>Һ<EFBFBD><EFBFBD>...
tmenu ToolBar.LoadSesn <09><><EFBFBD>ػỰ
tmenu ToolBar.SaveSesn <09><><EFBFBD>浱ǰ<EFBFBD>
tmenu ToolBar.RunScript <09><><EFBFBD><EFBFBD> Vim <20>ű<EFBFBD>
tmenu ToolBar.Make ִ<EFBFBD><EFBFBD> Make (:make)
tmenu ToolBar.RunCtags <09>ڵ<EFBFBD>ǰĿ¼<EFBFBD><EFBFBD><EFBFBD><EFBFBD> tags (!ctags -R .)
tmenu ToolBar.TagJump <09><>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õ<EFBFBD> tag
tmenu ToolBar.Help Vim <20><><EFBFBD><EFBFBD>
tmenu ToolBar.FindHelp <09><><EFBFBD><EFBFBD> Vim <20><><EFBFBD><EFBFBD>
endfun
endif
" Syntax menu
menutrans &Syntax <09>(&S)
menutrans &Show\ filetypes\ in\ menu <09>ڲ˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&S)
menutrans &Off <09>ر<EFBFBD>(&O)
menutrans &Manual <09>ֹ<EFBFBD>(&M)
menutrans A&utomatic <09>Զ<EFBFBD>(&U)
menutrans on/off\ for\ &This\ file <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>/<EFBFBD><EFBFBD>(&T)
menutrans Co&lor\ test ɫ<EFBFBD>ʲ<EFBFBD><EFBFBD><EFBFBD>(&L)
menutrans &Highlight\ test <09><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(&H)
menutrans &Convert\ to\ HTML ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\ HTML(&C)
menutrans Set\ '&syntax'\ only <09><><EFBFBD>\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too Ҳ<EFBFBD>\ 'filetype'(&F)
let &cpo = s:keepcpo
unlet s:keepcpo
" As mentioned above, gbk/cp936 is a superset of (and backward compatible with)
" gb2312, then source the translation encoded in cp936 should be ok. -- Shun
source <sfile>:p:h/menu_zh_cn.cp936.vim

View File

@ -1,270 +1,452 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2014 Oct 15
" vim: ts=8 sw=8 noet
" Last Change: 2019 Sep 11
" Quit when menu translations have already been done.
if exists("did_menu_trans")
finish
endif
let did_menu_trans = 1
let s:keepcpo= &cpo
let s:keepcpo = &cpo
set cpo&vim
scriptencoding utf-8
" Help menu
menutrans &Help 帮助(&H)
menutrans &Overview<Tab><F1> 纵览(&O)<Tab><F1>
menutrans &User\ Manual 用户手册(&U)
menutrans &How-to\ links How-to\ 指引(&H)
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans &Credits 致谢(&C)
menutrans Co&pying 版权(&P)
menutrans &Sponsor/Register 赞助/注册(&S)
menutrans O&rphans 孤儿(&R)
menutrans &Version 版本(&V)
menutrans &About 关于(&A)
menutrans &Help 帮助(&H)
" Help menuitems and dialog {{{1
menutrans &Overview<Tab><F1> 概述(&O)<Tab><F1>
menutrans &User\ Manual 用户手册(&U)
menutrans &How-to\ Links 如何使用(&H)
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans &Credits 致谢(&C)
menutrans Co&pying 版权(&P)
menutrans &Sponsor/Register 赞助/注册(&S)
menutrans O&rphans 拯救孤儿(&R)
menutrans &Version 版本(&V)
menutrans &About 关于(&A)
" fun! s:Helpfind()
if !exists("g:menutrans_help_dialog")
let g:menutrans_help_dialog = "输入命令或单词以获得帮助:\n\n前缀 i_ 表示输入模式下的命令(如: i_CTRL-X)\n前缀 c_ 表示命令行下的编辑命令(如: c_<Del>)\n前缀 ' 表示选项名(如: 'shiftwidth')"
endif
" }}}
" File menu
menutrans &File 文件(&F)
menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp 分割并打开(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew 打开标签\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew 新建(&N)<Tab>:enew
menutrans &Close<Tab>:close 关闭(&C)<Tab>:close
menutrans &Save<Tab>:w 保存(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ with\.\.\. 分割比较(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. 分割打补丁(Patch)(&B)\.\.\.
menutrans &Print 打印(&P)
menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa
menutrans &File 文件(&F)
" File menuitems {{{1
menutrans &Open\.\.\.<Tab>:e 打开(&O)\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp 在拆分窗口打开(&L)\.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew 在标签页打开\.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew 新建(&N)<Tab>:enew
menutrans &Close<Tab>:close 关闭(&C)<Tab>:close
menutrans &Save<Tab>:w 保存(&S)<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav 另存为(&A)\.\.\.<Tab>:sav
menutrans Split\ &Diff\ With\.\.\. 拆分窗口以对比差异(Diff)(&D)\.\.\.
menutrans Split\ Patched\ &By\.\.\. 拆分窗口以进行修补(Patch)(&B)\.\.\.
menutrans &Print 打印(&P)
menutrans Sa&ve-Exit<Tab>:wqa 保存并退出(&V)<Tab>:wqa
menutrans E&xit<Tab>:qa 退出(&X)<Tab>:qa
" }}}
" Edit menu
menutrans &Edit 编辑(&E)
menutrans &Undo<Tab>u 撤销(&U)<Tab>u
menutrans &Redo<Tab>^R 重做(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 重复上次操作(&E)<Tab>\.
menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x
menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP 粘贴(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p 粘贴到光标前(&B)<Tab>[p
menutrans Put\ &After<Tab>]p 粘贴到光标(&A)<Tab>]p
menutrans &Delete<Tab>x 删除(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG 全选(&S)<Tab>ggVG
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. 查找和替换(&L)\.\.\.
menutrans &Find<Tab>/ 查找(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s 查找和替换(&L)<Tab>:%s
menutrans Settings\ &Window 设定窗口(&W)
menutrans Startup\ &Settings 启动设定(&S)
menutrans &Global\ Settings 全局设定(&G)
menutrans &Edit 编辑(&E)
" Edit menuitems {{{1
menutrans &Undo<Tab>u 撤销(&U)<Tab>u
menutrans &Redo<Tab>^R 恢复(&R)<Tab>^R
menutrans Rep&eat<Tab>\. 重复(&E)<Tab>\.
menutrans Cu&t<Tab>"+x 剪切(&T)<Tab>"+x
menutrans &Copy<Tab>"+y 复制(&C)<Tab>"+y
menutrans &Paste<Tab>"+gP 粘贴(&P)<Tab>"+gP
menutrans Put\ &Before<Tab>[p 粘贴到光标(&B)<Tab>[p
menutrans Put\ &After<Tab>]p 粘贴到光标后(&A)<Tab>]p
menutrans &Delete<Tab>x 删除(&D)<Tab>x
menutrans &Select\ All<Tab>ggVG 全选(&S)<Tab>ggVG
menutrans &Find\.\.\. 查找(&F)\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. 查找和替换(&L)\.\.\.
menutrans &Find<Tab>/ 查找(&F)<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s 查找和替换(&L)<Tab>:%s
menutrans Settings\ &Window 设置窗口(&W)
menutrans Startup\ &Settings 启动设置(&S)
" Edit/Global Settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /关模式高亮(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! /关忽略大小写(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! /显示配对(&S)<Tab>:set\ sm!
menutrans &Context\ lines 上下文行数(&C)
menutrans &Virtual\ Edit 虚拟编辑(&V)
menutrans &Global\ Settings 全局设置(&G)
" Edit.Global Settings menuitems and dialogs {{{2
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! /高亮查找内容(&H)<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! /关忽略大小写(&I)<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! /关显示括号匹配(&S)<Tab>:set\ sm!
menutrans &Context\ Lines 上下文行数(&C)
menutrans &Virtual\ Edit 虚拟编辑(&V)
" Edit.Global Settings.Virtual Edit menuitems {{{3
menutrans Never 从不
menutrans Block\ Selection 块选择
menutrans Insert\ mode 插入模式
menutrans Block\ and\ Insert 块选择和插入模式
menutrans Always 总是
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! /\ Vi\ 兼容<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. 查找路径(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. Tag\ 文件(&T)\.\.\.
menutrans Block\ Selection 只在选定矩形块时
menutrans Insert\ Mode 只在插入模式
menutrans Block\ and\ Insert 在选定矩形块和插入模式
menutrans Always 始终
" }}}
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! /关插入模式(&M)<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! /\ Vi\ 兼容(&O)<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. 搜索路径(&P)\.\.\.
menutrans Ta&g\ Files\.\.\. 标记文件(Tags)(&G)\.\.\.
" GUI options
menutrans Toggle\ &Toolbar /关工具栏(&T)
menutrans Toggle\ &Bottom\ Scrollbar /关底部滚动条(&B)
menutrans Toggle\ &Left\ Scrollbar /关左滚动条(&L)
menutrans Toggle\ &Right\ Scrollbar /关右滚动条(&R)
menutrans Toggle\ &Toolbar /关工具栏(&T)
menutrans Toggle\ &Bottom\ Scrollbar /关底部滚动条(&B)
menutrans Toggle\ &Left\ Scrollbar /关左滚动条(&L)
menutrans Toggle\ &Right\ Scrollbar /关右滚动条(&R)
" fun! s:SearchP()
if !exists("g:menutrans_path_dialog")
let g:menutrans_path_dialog = "输入搜索路径。\n用逗号分隔目录名。"
endif
" fun! s:TagFiles()
if !exists("g:menutrans_tags_dialog")
let g:menutrans_tags_dialog = "输入标记文件(Tags)名称。\n用逗号分隔文件名。"
endif
" }}}
" Edit/File Settings
menutrans F&ile\ Settings 文件设(&I)
menutrans F&ile\ Settings 文件设(&I)
" Edit.File Settings menuitems and dialogs {{{2
" Boolean options
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /显示行号(&N)<Tab>:set\ nu!
menutrans Toggle\ relati&ve\ Line\ Numbering<Tab>:set\ rnu! /关相对行号(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! /\ list\ 模式(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! /(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! /整词折(&R)<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! /关扩展\ tab(&E)<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! /关自动缩进(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! /\ C\ 缩进(&C)<Tab>:set\ cin!
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! /关行号(&N)<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! /关相对行号(&V)<Tab>:set\ rnu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! /列表模式(&L)<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! /(&W)<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! /词尾换(&R)<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! /制表符扩展(&E)<Tab>:set\ et!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! /关自动缩进(&A)<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! /\ C\ 语言式缩进(&C)<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop Soft\ Tab\ 宽度(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
menutrans C&olor\ Scheme 配色方案(&O)
menutrans Select\ Fo&nt\.\.\. 选择字体(&N)\.\.\.
menutrans &Keymap 键盘映射(&K)
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop 软制表位宽度(Soft Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
" fun! s:TextWidth()
if !exists("g:menutrans_textwidth_dialog")
let g:menutrans_textwidth_dialog = "输入文本宽度(每行最大字符数0 表示禁用):"
endif
" fun! s:FileFormat()
if !exists("g:menutrans_fileformat_dialog")
let g:menutrans_fileformat_dialog = "选择文件的保存格式:"
endif
if !exists("g:menutrans_fileformat_choices")
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n取消(&C)"
endif
" }}}
menutrans Show\ C&olor\ Schemes\ in\ Menu 在菜单中显示配色方案(&O)
menutrans C&olor\ Scheme 配色方案(&O)
menutrans Show\ &Keymaps\ in\ Menu 在菜单中显示键盘映射(&K)
menutrans &Keymap 键盘映射(&K)
menutrans Select\ Fo&nt\.\.\. 选择字体(&N)\.\.\.
" }}}
" Programming menu
menutrans &Tools 工具(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] 跳转到这个\ tag(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 跳转返回(&B)<Tab>^T
menutrans Build\ &Tags\ File 建立\ Tags\ 文件(&T)
menutrans &Tools 工具(&T)
" Tools menuitems {{{1
menutrans &Jump\ to\ This\ Tag<Tab>g^] 跳转到这个标记(Tag)(&J)<Tab>g^]
menutrans Jump\ &Back<Tab>^T 跳转回(&B)<Tab>^T
menutrans Build\ &Tags\ File 生成标记文件(Tags)(&T)
" Tools.Spelling Menu
menutrans &Spelling 拼写检查(&S)
menutrans &Spell\ Check\ On 打开拼写检查(&S)
menutrans Spell\ Check\ &Off 关闭拼写检查(&O)
menutrans To\ &Next\ error<Tab>]s 上一个错误(&N)<Tab>]s
menutrans To\ &Previous\ error<Tab>[s 一个错误(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 修正建议(&C)<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall 重复修正(&R)<Tab>:spellrepall
menutrans Set\ language\ to\ "en" 设定语言为\ "en"
menutrans Set\ language\ to\ "en_au" 语言为\ "en_au"
menutrans Set\ language\ to\ "en_ca" 语言为\ "en_ca"
menutrans Set\ language\ to\ "en_gb" 语言为\ "en_gb"
menutrans Set\ language\ to\ "en_nz" 语言为\ "en_nz"
menutrans Set\ language\ to\ "en_us" 语言为\ "en_us"
menutrans &Find\ More\ Languages 查找更多语言(&F)
menutrans &Spelling 拼写检查(&S)
" Tools.Spelling menuitems and dialog {{{2
menutrans &Spell\ Check\ On 打开拼写检查(&S)
menutrans Spell\ Check\ &Off 关闭拼写检查(&O)
menutrans To\ &Next\ Error<Tab>]s 一个错误(&N)<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s 下一个错误(&P)<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= 更正建议(&C)<Tab>z=
menutrans &Repeat\ Correction<Tab>:spellrepall 更正全部同类错误(&R)<Tab>:spellrepall
menutrans Set\ Language\ to\ "en" 语言为\ "en"
menutrans Set\ Language\ to\ "en_au" 语言为\ "en_au"
menutrans Set\ Language\ to\ "en_ca" 语言为\ "en_ca"
menutrans Set\ Language\ to\ "en_gb" 语言为\ "en_gb"
menutrans Set\ Language\ to\ "en_nz" 语言为\ "en_nz"
menutrans Set\ Language\ to\ "en_us" 设置语言为\ "en_us"
menutrans &Find\ More\ Languages 查找更多语言(&F)
" func! s:SpellLang()
if !exists("g:menutrans_set_lang_to")
let g:menutrans_set_lang_to = "设置语言为"
endif
" }}}
" Tools.Fold Menu
menutrans &Folding 折叠(&F)
" Tools.Fold menuitems {{{2
" open close folds
menutrans &Folding 折叠(&F)
menutrans &Enable/Disable\ folds<Tab>zi 启用/禁用折叠(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 查看此(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx 仅查看此行(&W)<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm 关闭更多折叠(&L)<Tab>zm
menutrans &Close\ all\ folds<Tab>zM 关闭所有折叠(&C)<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr 打开更多折叠(&P)<Tab>zr
menutrans &Open\ all\ folds<Tab>zR 打开所有折叠(&O)<Tab>zR
menutrans &Enable/Disable\ Folds<Tab>zi 启用/禁用折叠(&E)<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv 展开光标所在行(&V)<Tab>zv
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx 只展开光标所在(&W)<Tab>zMzx
menutrans C&lose\ More\ Folds<Tab>zm 折叠一级(&L)<Tab>zm
menutrans &Close\ All\ Folds<Tab>zM 折叠全部(&C)<Tab>zM
menutrans O&pen\ More\ Folds<Tab>zr 展开一级(&P)<Tab>zr
menutrans &Open\ All\ Folds<Tab>zR 展开全部(&O)<Tab>zR
" fold method
menutrans Fold\ Met&hod 折叠方(&H)
menutrans M&anual 手工(&A)
menutrans I&ndent 缩进(&N)
menutrans E&xpression 表达式(&X)
menutrans S&yntax 语法(&Y)
menutrans &Diff 比较(Diff)(&D)
menutrans Ma&rker 标记(&R)
menutrans Fold\ Met&hod 折叠方(&H)
" Tools.Fold.Fold Method menuitems {{{3
menutrans M&anual 手动(&A)
menutrans I&ndent 缩进(&N)
menutrans E&xpression 表达式(&X)
menutrans S&yntax 语法(&Y)
menutrans &Diff 差异(Diff)(&D)
menutrans Ma&rker 记号(Marker)(&R)
" }}}
" create and delete folds
menutrans Create\ &Fold<Tab>zf 创建折叠(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 删除折叠(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD 删除所有折叠(&A)<Tab>zD
menutrans Create\ &Fold<Tab>zf 创建折叠(&F)<Tab>zf
menutrans &Delete\ Fold<Tab>zd 删除折叠(&D)<Tab>zd
menutrans Delete\ &All\ Folds<Tab>zD 删除全部折叠(&A)<Tab>zD
" moving around in folds
menutrans Fold\ column\ &width 折叠栏宽度(&W)
menutrans Fold\ Col&umn\ Width 折叠操作栏宽度(&W)
" }}}
" Tools.Diff Menu
menutrans &Diff 比较(Diff)(&D)
menutrans &Update 更新(&U)
menutrans &Get\ Block 得到块(&G)
menutrans &Put\ Block 放置(&P)
menutrans &Diff 差异(Diff)(&D)
" Tools.Diff menuitems {{{2
menutrans &Update 刷新(&U)
menutrans &Get\ Block 采用对侧文本(&G)
menutrans &Put\ Block 采用本侧文本块(&P)
" }}}
menutrans &Make<Tab>:make Make(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl 列出错误(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! 列出消息(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 下一个错误(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp 上一个错误(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold 旧的错误列表(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew 新的错误列表(&E)<Tab>:cnew
menutrans Error\ &Window 错误窗口(&W)
menutrans &Update<Tab>:cwin 更新(&U)<Tab>:cwin
menutrans &Make<Tab>:make 生成(Make)(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl 列出错误(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! 列出消息(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 下一个错误(&N)<Tab>:cn
menutrans &Previous\ Error<Tab>:cp 上一个错误(&P)<Tab>:cp
menutrans &Older\ List<Tab>:cold 旧的错误列表(&O)<Tab>:cold
menutrans N&ewer\ List<Tab>:cnew 新的错误列表(&E)<Tab>:cnew
menutrans Error\ &Window 错误窗口(&W)
" Tools.Error Window menuitems {{{2
menutrans &Update<Tab>:cwin 刷新(&U)<Tab>:cwin
menutrans &Open<Tab>:copen 打开(&O)<Tab>:copen
menutrans &Close<Tab>:cclose 关闭(&C)<Tab>:cclose
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成十六进制<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r 转换返回<Tab>:%!xxd\ -r
menutrans Se&T\ Compiler 编译器(&T)
menutrans &Close<Tab>:cclose 关闭(&C)<Tab>:cclose
" }}}
menutrans Show\ Compiler\ Se&ttings\ in\ Menu 在菜单中显示编译器设置(&T)
menutrans Se&t\ Compiler 编译器(&T)
menutrans &Convert\ to\ HEX<Tab>:%!xxd 转换成十六进制(&C)<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r 转换回(&R)<Tab>:%!xxd\ -r
" }}}
" Names for buffer menu.
menutrans &Buffers 缓冲区(&B)
menutrans &Refresh\ menu 更新菜单(&R)
menutrans &Delete 删除(&D)
menutrans &Alternate 交替(&A)
menutrans &Next 下一个(&N)
menutrans &Previous 一个(&P)
" Buffer menu
menutrans &Buffers 缓冲区(&B)
" Buffer menuitems and dialog {{{1
menutrans &Refresh\ Menu 刷新本菜单(&R)
menutrans &Delete 删除(&D)
menutrans &Alternate 切换(&A)
menutrans &Next 一个(&N)
menutrans &Previous 上一个(&P)
" func! s:BMMunge(fname, bnum)
if !exists("g:menutrans_no_file")
let g:menutrans_no_file = "[无文件]"
endif
" }}}
" Window menu
menutrans &Window 窗口(&W)
menutrans &New<Tab>^Wn 新建(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws 分割(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ 分割到\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv 垂直分割(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer 分割文件浏览器(&X)
menutrans &Close<Tab>^Wc 关闭(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo 关闭其它窗口(&O)<Tab>^Wo
menutrans Move\ &To 移动到(&T)
menutrans &Top<Tab>^WK 顶端(&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ (&B)<Tab>^WJ
menutrans &Left\ side<Tab>^WH 左边(&L)<Tab>^WH
menutrans &Right\ side<Tab>^WL (&R)<Tab>^WL
" menutrans Ne&xt<Tab>^Ww 下一个(&X)<Tab>^Ww
" menutrans P&revious<Tab>^WW 上一个(&R)<Tab>^WW
menutrans Rotate\ &Up<Tab>^WR 轮换(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr 向下轮换(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= 等大(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ 高度(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ 小高(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| 宽度(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| 最小宽度(&H)<Tab>^W1\|
"
" The popup menu
menutrans &Undo 撤销(&U)
menutrans Cu&t 剪切(&T)
menutrans &Copy 复制(&C)
menutrans &Paste 粘贴(&P)
menutrans &Delete 删除(&D)
menutrans Select\ Blockwise 选择
menutrans Select\ &Word 单词(&W)
menutrans Select\ &Sentence 择句子(&S)
menutrans Select\ Pa&ragraph 段落(&R)
menutrans Select\ &Line (&L)
menutrans Select\ &Block (&B)
menutrans Select\ &All 全选(&A)
"
" The GUI toolbar
menutrans &Window 窗口(&W)
" Window menuitems {{{1
menutrans &New<Tab>^Wn 新建(&N)<Tab>^Wn
menutrans S&plit<Tab>^Ws 拆分(&P)<Tab>^Ws
menutrans Sp&lit\ To\ #<Tab>^W^^ 拆分并显示缓冲区\ #(&L)<Tab>^W^^
menutrans Split\ &Vertically<Tab>^Wv 垂直拆分(&V)<Tab>^Wv
menutrans Split\ File\ E&xplorer 拆分并打开文件浏览器(&X)
menutrans &Close<Tab>^Wc 关闭(&C)<Tab>^Wc
menutrans Close\ &Other(s)<Tab>^Wo 除此之外全部关闭(&O)<Tab>^Wo
menutrans Move\ &To 移动到(&T)
menutrans &Top<Tab>^WK (&T)<Tab>^WK
menutrans &Bottom<Tab>^WJ 底端(&B)<Tab>^WJ
menutrans &Left\ Side<Tab>^WH (&L)<Tab>^WH
menutrans &Right\ Side<Tab>^WL 右边(&R)<Tab>^WL
menutrans Rotate\ &Up<Tab>^WR 向上轮换(&U)<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr 轮换(&D)<Tab>^Wr
menutrans &Equal\ Size<Tab>^W= 平均分布(&E)<Tab>^W=
menutrans &Max\ Height<Tab>^W_ 最大高度(&M)<Tab>^W
menutrans M&in\ Height<Tab>^W1_ 高度(&I)<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| 大宽(&W)<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| 宽度(&H)<Tab>^W1\|
" }}}
" The popup menu {{{1
menutrans &Undo 撤销(&U)
menutrans Cu&t 剪切(&T)
menutrans &Copy 复制(&C)
menutrans &Paste 粘贴(&P)
menutrans &Delete 删除(&D)
menutrans Select\ Blockwise 改为选定矩形
menutrans Select\ &Word 单词(&W)
menutrans Select\ &Sentence 定句(&S)
menutrans Select\ Pa&ragraph 段落(&R)
menutrans Select\ &Line (&L)
menutrans Select\ &Block 定矩形(&B)
menutrans Select\ &All 全选(&A)
" func! <SID>SpellPopup()
if !exists("g:menutrans_spell_change_ARG_to")
let g:menutrans_spell_change_ARG_to = '将\ "%s"\ 更改为'
endif
if !exists("g:menutrans_spell_add_ARG_to_word_list")
let g:menutrans_spell_add_ARG_to_word_list = '将\ "%s"\ 添加到词典'
endif
if !exists("g:menutrans_spell_ignore_ARG")
let g:menutrans_spell_ignore_ARG = '忽略\ "%s"'
endif
" }}}
" The GUI toolbar {{{1
if has("toolbar")
if exists("*Do_toolbar_tmenu")
delfun Do_toolbar_tmenu
endif
fun Do_toolbar_tmenu()
tmenu ToolBar.Open 打开文件
tmenu ToolBar.Save 保存当前文件
tmenu ToolBar.SaveAll 保存全部文件
tmenu ToolBar.Print 打印
tmenu ToolBar.Undo 撤销
tmenu ToolBar.Redo 重做
tmenu ToolBar.Cut 剪切到剪贴板
tmenu ToolBar.Copy 复制到剪贴板
tmenu ToolBar.Paste 剪贴板粘贴
tmenu ToolBar.Find 查找...
tmenu ToolBar.FindNext 查找下一个
tmenu ToolBar.FindPrev 查找上一个
tmenu ToolBar.Replace 查找和替换...
tmenu ToolBar.LoadSesn 加载会话
tmenu ToolBar.SaveSesn 保存当前会话
tmenu ToolBar.RunScript 运行 Vim 脚本
tmenu ToolBar.Make 执行 Make (:make)
tmenu ToolBar.RunCtags 在当前目录建立 tags (!ctags -R .)
tmenu ToolBar.TagJump 跳转到光标位置的 tag
tmenu ToolBar.Help Vim 帮助
tmenu ToolBar.FindHelp 查找 Vim 帮助
let did_toolbar_tmenu = 1
tmenu ToolBar.Open 打开文件
tmenu ToolBar.Save 保存当前文件
tmenu ToolBar.SaveAll 全部保存
tmenu ToolBar.Print 打印
tmenu ToolBar.Undo 撤销
tmenu ToolBar.Redo 恢复
tmenu ToolBar.Cut 剪切到剪贴板
tmenu ToolBar.Copy 复制到剪贴板
tmenu ToolBar.Paste 从剪贴板粘贴
if !has("gui_athena")
tmenu ToolBar.Replace 查找和替换...
tmenu ToolBar.FindNext 查找下一个
tmenu ToolBar.FindPrev 查找上一个
endif
tmenu ToolBar.LoadSesn 加载会话
tmenu ToolBar.SaveSesn 保存当前会话
tmenu ToolBar.RunScript 运行 Vim 脚本
tmenu ToolBar.Make 生成当前项目 (:make)
tmenu ToolBar.RunCtags 在当前目录生成标记(Tags) (!ctags -R .)
tmenu ToolBar.TagJump 跳转到光标所在标记(Tag)
tmenu ToolBar.Help Vim 帮助
tmenu ToolBar.FindHelp Vim 帮助中查找
endfun
endif
" }}}
" Syntax menu
menutrans &Syntax 语法(&S)
menutrans &Show\ filetypes\ in\ menu 在菜单中显示文件类型(&S)
menutrans &Off 关闭(&O)
menutrans &Manual 手工(&M)
menutrans A&utomatic (&U)
menutrans on/off\ for\ &This\ file 仅对这个文件开/(&T)
menutrans Co&lor\ test 色彩测试(&L)
menutrans &Highlight\ test 高亮测试(&H)
menutrans &Convert\ to\ HTML 转换成\ HTML(&C)
menutrans Set\ '&syntax'\ only 仅设定\ 'syntax'(&S)
menutrans Set\ '&filetype'\ too 也设定\ 'filetype'(&F)
menutrans &Syntax 语法(&S)
" Syntax menuitems {{{1
menutrans &Show\ File\ Types\ in\ Menu 在菜单中显示文件类型(&S)
menutrans &Off 关闭(&O)
menutrans &Manual (&M)
menutrans A&utomatic 自动(&U)
menutrans On/Off\ for\ &This\ File 只对这个文件开/(&T)
menutrans Co&lor\ Test 色彩测试(&L)
menutrans &Highlight\ Test 高亮测试(&H)
menutrans &Convert\ to\ HTML 转换成\ HTML(&C)
" From synmenu.vim
menutrans Set\ '&syntax'\ Only 只设置\ 'syntax'(&S)
menutrans Set\ '&filetype'\ Too 也设置\ 'filetype'(&F)
" }}}
" Netrw menu {{{1
" Plugin loading may be after menu translation
" So giveup testing if Netrw Plugin is loaded
" if exists("g:loaded_netrwPlugin")
menutrans Help<tab><F1> 帮助<tab><F1>
menutrans Bookmarks 书签
menutrans History 历史记录
menutrans Go\ Up\ Directory<tab>- 向上一级<tab>-
menutrans Apply\ Special\ Viewer<tab>x 用默认程序打开<tab>x
menutrans Bookmarks\ and\ History 书签和历史记录
" Netrw.Bookmarks and History menuitems {{{2
menutrans Bookmark\ Current\ Directory<tab>mb 添加书签<tab>mb
menutrans Bookmark\ Delete 移除书签
menutrans Goto\ Prev\ Dir\ (History)<tab>u 后退(历史记录)<tab>u
menutrans Goto\ Next\ Dir\ (History)<tab>U 前进(历史记录)<tab>U
menutrans List<tab>qb 完整列表<tab>qb
" }}}
menutrans Browsing\ Control 控制
" Netrw.Browsing Control menuitems {{{2
menutrans Horizontal\ Split<tab>o 在拆分窗口打开<tab>o
menutrans Vertical\ Split<tab>v 在垂直拆分窗口打开<tab>v
menutrans New\ Tab<tab>t 在标签页打开<tab>t
menutrans Preview<tab>p 预览<tab>p
menutrans Edit\ File\ Hiding\ List<tab><ctrl-h> 编辑隐藏条件(Hiding\ List)<tab><ctrl-h>
menutrans Edit\ Sorting\ Sequence<tab>S 编辑排序条件(Sorting\ Sequence)<tab>S
menutrans Quick\ Hide/Unhide\ Dot\ Files<tab>gh 快速隐藏/显示以\.开头的文件<tab>gh
menutrans Refresh\ Listing<tab><ctrl-l> 刷新<tab><ctrl-l>
menutrans Settings/Options<tab>:NetrwSettings 设置/选项<tab>:NetrwSettings
" }}}
menutrans Delete\ File/Directory<tab>D 删除文件/目录<tab>D
menutrans Edit\ File/Dir 编辑文件/目录
" Netrw.Edit File menuitems {{{2
menutrans Create\ New\ File<tab>% 新建文件<tab>%
menutrans In\ Current\ Window<tab><cr> 在当前窗口<tab><cr>
menutrans Preview\ File/Directory<tab>p 预览文件/目录<tab>p
menutrans In\ Previous\ Window<tab>P 在上一个窗口<tab>P
menutrans In\ New\ Window<tab>o 在新窗口<tab>o
menutrans In\ New\ Tab<tab>t 在新标签页<tab>t
menutrans In\ New\ Vertical\ Window<tab>v 在新垂直窗口<tab>v
" }}}
menutrans Explore 浏览
" Netrw.Explore menuitems {{{2
menutrans Directory\ Name 指定目录名
menutrans Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ 匹配指定文件名模式(当前目录)<tab>:Explore\ */
menutrans Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ 匹配指定文件名模式(含子目录)<tab>:Explore\ **/
menutrans Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// 内容包含指定字符串模式(当前目录)<tab>:Explore\ *//
menutrans Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// 内容包含指定字符串模式(含子目录)<tab>:Explore\ **//
menutrans Next\ Match<tab>:Nexplore 下一个匹配项<tab>:Nexplore
menutrans Prev\ Match<tab>:Pexplore 上一个匹配项<tab>:Pexplore
" }}}
menutrans Make\ Subdirectory<tab>d 新建子目录<tab>d
menutrans Marked\ Files 选定的(Marked)文件
" Netrw.Marked Files menuitems {{{2
menutrans Mark\ File<tab>mf 选定(Mark)/取消<tab>mf
menutrans Mark\ Files\ by\ Regexp<tab>mr 用正则表达式(Regexp)选定<tab>mr
menutrans Hide-Show-List\ Control<tab>a 隐藏/显示<tab>a
menutrans Copy\ To\ Target<tab>mc 复制到目标<tab>mc
menutrans Delete<tab>D 删除<tab>D
menutrans Diff<tab>md 差异(Diff)<tab>md
menutrans Edit<tab>me 编辑<tab>me
menutrans Exe\ Cmd<tab>mx 作为参数运行命令<tab>mx
menutrans Move\ To\ Target<tab>mm 移动到目标<tab>mm
menutrans Obtain<tab>O 获取<tab>O
menutrans Print<tab>mp 打印<tab>mp
menutrans Replace<tab>R 替换<tab>R
menutrans Set\ Target<tab>mt 设置目标<tab>mt
menutrans Tag<tab>mT 生成标记文件(Tags)<tab>mT
menutrans Zip/Unzip/Compress/Uncompress<tab>mz 压缩/解压缩<tab>mz
" }}}
menutrans Obtain\ File<tab>O 获取文件<tab>O
menutrans Style 显示风格
" Netrw.Style menuitems {{{2
menutrans Listing 列表形式
" Netrw.Style.Listing menuitems {{{3
menutrans thin<tab>i 紧凑<thin)<tab>i
menutrans long<tab>i 详细(long)<tab>i
menutrans wide<tab>i 多列(wide)<tab>i
menutrans tree<tab>i 树状(tree)<tab>i
" }}}
menutrans Normal-Hide-Show 显示/隐藏
" Netrw.Style.Normal-Hide_show menuitems {{{3
menutrans Show\ All<tab>a 显示全部
menutrans Normal<tab>a 不显示隐藏文件
menutrans Hidden\ Only<tab>a 只显示隐藏文件
" }}}
menutrans Reverse\ Sorting\ Order<tab>r 升序/降序<tab>r
menutrans Sorting\ Method 排序方式
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s 文件名<tab>s
menutrans Time<tab>s 修改时间<tab>s
menutrans Size<tab>s 大小<tab>s
menutrans Exten<tab>s 扩展名<tab>s
" }}}
" }}}
menutrans Rename\ File/Directory<tab>R 重命名文件/目录<tab>R
menutrans Set\ Current\ Directory<tab>c 设置\ Vim\ 工作目录<tab>c
menutrans Targets 目标
" endif
" }}}
let &cpo = s:keepcpo
unlet s:keepcpo
" vim: set ts=4 sw=4 noet fdm=marker fdc=4 :

View File

@ -267,6 +267,7 @@ SynMenu HIJK.Hercules:hercules
SynMenu HIJK.Hex\ dump.XXD:xxd
SynMenu HIJK.Hex\ dump.Intel\ MCS51:hex
SynMenu HIJK.Hg\ commit:hgcommit
SynMenu HIJK.Hollywood:hollywood
SynMenu HIJK.HTML.HTML:html
SynMenu HIJK.HTML.HTML\ with\ M4:htmlm4
SynMenu HIJK.HTML.HTML\ with\ Ruby\ (eRuby):eruby

View File

@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 27
" Last Change: 2019 Sep 26
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@ -29,7 +29,8 @@ if exists("v:lang") || &langmenu != ""
let s:lang = v:lang
endif
" A language name must be at least two characters, don't accept "C"
if strlen(s:lang) > 1
" Also skip "en_US" to avoid picking up "en_gb" translations.
if strlen(s:lang) > 1 && s:lang !~? '^en_us'
" When the language does not include the charset add 'encoding'
if s:lang =~ '^\a\a$\|^\a\a_\a\a$'
let s:lang = s:lang . '.' . &enc
@ -359,8 +360,8 @@ func! s:SetupColorSchemes() abort
let s:did_setup_color_schemes = 1
let n = globpath(&runtimepath, "colors/*.vim", 1, 1)
let n += globpath(&runtimepath, "pack/*/start/*/colors/*.vim", 1, 1)
let n += globpath(&runtimepath, "pack/*/opt/*/colors/*.vim", 1, 1)
let n += globpath(&packpath, "pack/*/start/*/colors/*.vim", 1, 1)
let n += globpath(&packpath, "pack/*/opt/*/colors/*.vim", 1, 1)
" Ignore case for VMS and windows, sort on name
let names = sort(map(n, 'substitute(v:val, "\\c.*[/\\\\:\\]]\\([^/\\\\:]*\\)\\.vim", "\\1", "")'), 1)

View File

@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jul 18
" Last Change: 2019 Aug 20
" If there already is an option window, jump to that one.
let buf = bufnr('option-window')
@ -429,6 +429,9 @@ if has("syntax")
call append("$", "cursorline\thighlight the screen line of the cursor")
call append("$", "\t(local to window)")
call <SID>BinOptionL("cul")
call append("$", "cursorlineopt\tspecifies which area 'cursorline' highlights")
call append("$", "\t(local to window)")
call <SID>OptionL("culopt")
call append("$", "colorcolumn\tcolumns to highlight")
call append("$", "\t(local to window)")
call <SID>OptionL("cc")
@ -806,6 +809,10 @@ if has("insert_expand")
call <SID>OptionL("cpt")
call append("$", "completeopt\twhether to use a popup menu for Insert mode completion")
call <SID>OptionG("cot", &cot)
if exists("+completepopup")
call append("$", "completepopup\toptions for the Insert mode completion info popup")
call <SID>OptionG("cpp", &cpp)
endif
call append("$", "pumheight\tmaximum height of the popup menu")
call <SID>OptionG("ph", &ph)
call append("$", "pumwidth\tminimum width of the popup menu")
@ -1176,6 +1183,8 @@ if has("win32") || has("osfiletype")
if has("win32")
call append("$", "shellslash\tuse forward slashes in file names; for Unix-like shells")
call <SID>BinOptionG("ssl", &ssl)
call append("$", "completeslash\tspecifies slash/backslash used for completion")
call <SID>OptionG("csl", &csl)
endif
endif

View File

@ -65,8 +65,8 @@ command -nargs=* -complete=file -bang Termdebug call s:StartDebug(<bang>0, <f-ar
command -nargs=+ -complete=file -bang TermdebugCommand call s:StartDebugCommand(<bang>0, <f-args>)
" Name of the gdb command, defaults to "gdb".
if !exists('termdebugger')
let termdebugger = 'gdb'
if !exists('g:termdebugger')
let g:termdebugger = 'gdb'
endif
let s:pc_id = 12
@ -104,9 +104,14 @@ endfunc
func s:StartDebug_internal(dict)
if exists('s:gdbwin')
echoerr 'Terminal debugger already running'
echoerr 'Terminal debugger already running, cannot run two'
return
endif
if !executable(g:termdebugger)
echoerr 'Cannot execute debugger program "' .. g:termdebugger .. '"'
return
endif
let s:ptywin = 0
let s:pid = 0
@ -156,9 +161,9 @@ endfunc
func s:StartDebug_term(dict)
" Open a terminal window without a job, to run the debugged program in.
let s:ptybuf = term_start('NONE', {
\ 'term_name': 'debugged program',
\ 'vertical': s:vertical,
\ })
\ 'term_name': 'debugged program',
\ 'vertical': s:vertical,
\ })
if s:ptybuf == 0
echoerr 'Failed to open the program terminal window'
return
@ -177,10 +182,10 @@ func s:StartDebug_term(dict)
" Create a hidden terminal window to communicate with gdb
let s:commbuf = term_start('NONE', {
\ 'term_name': 'gdb communication',
\ 'out_cb': function('s:CommOutput'),
\ 'hidden': 1,
\ })
\ 'term_name': 'gdb communication',
\ 'out_cb': function('s:CommOutput'),
\ 'hidden': 1,
\ })
if s:commbuf == 0
echoerr 'Failed to open the communication terminal window'
exe 'bwipe! ' . s:ptybuf
@ -196,8 +201,8 @@ func s:StartDebug_term(dict)
let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
call ch_log('executing "' . join(cmd) . '"')
let s:gdbbuf = term_start(cmd, {
\ 'term_finish': 'close',
\ })
\ 'term_finish': 'close',
\ })
if s:gdbbuf == 0
echoerr 'Failed to open the gdb terminal window'
call s:CloseBuffers()
@ -225,19 +230,24 @@ func s:StartDebug_term(dict)
endif
let response = ''
for lnum in range(1,200)
if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
" response can be in the same line or the next line
let response = term_getline(s:gdbbuf, lnum) . term_getline(s:gdbbuf, lnum + 1)
if response =~ 'Undefined command'
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
for lnum in range(1, 200)
let line1 = term_getline(s:gdbbuf, lnum)
let line2 = term_getline(s:gdbbuf, lnum + 1)
if line1 =~ 'new-ui mi '
" response can be in the same line or the next line
let response = line1 . line2
if response =~ 'Undefined command'
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
call s:CloseBuffers()
return
endif
if response =~ 'New UI allocated'
" Success!
break
endif
return
endif
if response =~ 'New UI allocated'
" Success!
break
endif
elseif line1 =~ 'Reading symbols from' && line2 !~ 'new-ui mi '
" Reading symbols might take a while, try more times
let try_count -= 1
endif
endfor
if response =~ 'New UI allocated'
@ -295,9 +305,9 @@ func s:StartDebug_prompt(dict)
call ch_log('executing "' . join(cmd) . '"')
let s:gdbjob = job_start(cmd, {
\ 'exit_cb': function('s:EndPromptDebug'),
\ 'out_cb': function('s:GdbOutCallback'),
\ })
\ 'exit_cb': function('s:EndPromptDebug'),
\ 'out_cb': function('s:GdbOutCallback'),
\ })
if job_status(s:gdbjob) != "run"
echoerr 'Failed to start gdb'
exe 'bwipe! ' . s:promptbuf
@ -322,8 +332,8 @@ func s:StartDebug_prompt(dict)
" Unix: Run the debugged program in a terminal window. Open it below the
" gdb window.
belowright let s:ptybuf = term_start('NONE', {
\ 'term_name': 'debugged program',
\ })
\ 'term_name': 'debugged program',
\ })
if s:ptybuf == 0
echoerr 'Failed to open the program terminal window'
call job_stop(s:gdbjob)
@ -503,9 +513,14 @@ func s:DecodeMessage(quotedText)
if a:quotedText[i] == '\'
let i += 1
if a:quotedText[i] == 'n'
" drop \n
let i += 1
continue
" drop \n
let i += 1
continue
elseif a:quotedText[i] == 't'
" append \t
let i += 1
let result .= "\t"
continue
endif
endif
let result .= a:quotedText[i]
@ -589,28 +604,38 @@ func s:CommOutput(chan, msg)
endif
if msg != ''
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
call s:HandleCursor(msg)
call s:HandleCursor(msg)
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
call s:HandleNewBreakpoint(msg)
call s:HandleNewBreakpoint(msg)
elseif msg =~ '^=breakpoint-deleted,'
call s:HandleBreakpointDelete(msg)
call s:HandleBreakpointDelete(msg)
elseif msg =~ '^=thread-group-started'
call s:HandleProgramRun(msg)
call s:HandleProgramRun(msg)
elseif msg =~ '^\^done,value='
call s:HandleEvaluate(msg)
call s:HandleEvaluate(msg)
elseif msg =~ '^\^error,msg='
call s:HandleError(msg)
call s:HandleError(msg)
endif
endif
endfor
endfunc
func s:GotoProgram()
if has('win32')
if executable('powershell')
call system(printf('powershell -Command "add-type -AssemblyName microsoft.VisualBasic;[Microsoft.VisualBasic.Interaction]::AppActivate(%d);"', s:pid))
endif
else
win_gotoid(s:ptywin)
endif
endfunc
" Install commands in the current window to control the debugger.
func s:InstallCommands()
let save_cpo = &cpo
set cpo&vim
command Break call s:SetBreakpoint()
command -nargs=? Break call s:SetBreakpoint(<q-args>)
command Clear call s:ClearBreakpoint()
command Step call s:SendCommand('-exec-step')
command Over call s:SendCommand('-exec-next')
@ -628,7 +653,7 @@ func s:InstallCommands()
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
command Gdb call win_gotoid(s:gdbwin)
command Program call win_gotoid(s:ptywin)
command Program call s:GotoProgram()
command Source call s:GotoSourcewinOrCreateIt()
command Winbar call s:InstallWinbar()
@ -690,12 +715,12 @@ func s:DeleteCommands()
let curwinid = win_getid(winnr())
for winid in s:winbar_winids
if win_gotoid(winid)
aunmenu WinBar.Step
aunmenu WinBar.Next
aunmenu WinBar.Finish
aunmenu WinBar.Cont
aunmenu WinBar.Stop
aunmenu WinBar.Eval
aunmenu WinBar.Step
aunmenu WinBar.Next
aunmenu WinBar.Finish
aunmenu WinBar.Cont
aunmenu WinBar.Stop
aunmenu WinBar.Eval
endif
endfor
call win_gotoid(curwinid)
@ -728,7 +753,7 @@ func s:DeleteCommands()
endfunc
" :Break - Set a breakpoint at the cursor position.
func s:SetBreakpoint()
func s:SetBreakpoint(at)
" Setting a breakpoint may not work while the program is running.
" Interrupt to make it work.
let do_continue = 0
@ -741,9 +766,11 @@ func s:SetBreakpoint()
endif
sleep 10m
endif
" Use the fname:lnum format, older gdb can't handle --source.
call s:SendCommand('-break-insert '
\ . fnameescape(expand('%:p')) . ':' . line('.'))
let at = empty(a:at) ?
\ fnameescape(expand('%:p')) . ':' . line('.') : a:at
call s:SendCommand('-break-insert ' . at)
if do_continue
call s:SendCommand('-exec-continue')
endif
@ -758,14 +785,14 @@ func s:ClearBreakpoint()
let idx = 0
for id in s:breakpoint_locations[bploc]
if has_key(s:breakpoints, id)
" Assume this always works, the reply is simply "^done".
call s:SendCommand('-break-delete ' . id)
for subid in keys(s:breakpoints[id])
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
endfor
unlet s:breakpoints[id]
unlet s:breakpoint_locations[bploc][idx]
break
" Assume this always works, the reply is simply "^done".
call s:SendCommand('-break-delete ' . id)
for subid in keys(s:breakpoints[id])
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
endfor
unlet s:breakpoints[id]
unlet s:breakpoint_locations[bploc][idx]
break
else
let idx += 1
endif
@ -894,14 +921,14 @@ func s:HandleCursor(msg)
if lnum =~ '^[0-9]*$'
call s:GotoSourcewinOrCreateIt()
if expand('%:p') != fnamemodify(fname, ':p')
if &modified
" TODO: find existing window
exe 'split ' . fnameescape(fname)
let s:sourcewin = win_getid(winnr())
call s:InstallWinbar()
else
exe 'edit ' . fnameescape(fname)
endif
if &modified
" TODO: find existing window
exe 'split ' . fnameescape(fname)
let s:sourcewin = win_getid(winnr())
call s:InstallWinbar()
else
exe 'edit ' . fnameescape(fname)
endif
endif
exe lnum
exe 'sign unplace ' . s:pc_id
@ -996,8 +1023,8 @@ func s:HandleBreakpointDelete(msg)
if has_key(s:breakpoints, id)
for [subid, entry] in items(s:breakpoints[id])
if has_key(entry, 'placed')
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
unlet entry['placed']
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
unlet entry['placed']
endif
endfor
unlet s:breakpoints[id]
@ -1021,7 +1048,7 @@ func s:BufRead()
for [id, entries] in items(s:breakpoints)
for [subid, entry] in items(entries)
if entry['fname'] == fname
call s:PlaceSign(id, subid, entry)
call s:PlaceSign(id, subid, entry)
endif
endfor
endfor
@ -1033,7 +1060,7 @@ func s:BufUnloaded()
for [id, entries] in items(s:breakpoints)
for [subid, entry] in items(entries)
if entry['fname'] == fname
let entry['placed'] = 0
let entry['placed'] = 0
endif
endfor
endfor

View File

@ -1,6 +1,6 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Feb 08, 2016
" Date: Feb 08, 2016 (update for gx 2019 Sep 20)
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
@ -47,9 +47,9 @@ augroup Network
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,file://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
try
try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
catch /^Vim\%((\a\+)\)\=:E216/
au SourcePre ftp://*,rcp://*,scp://*,http://*,file://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
endtry
augroup END
@ -81,7 +81,7 @@ if !exists("g:netrw_nogx")
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(netrw#GX(),netrw#CheckIfRemote(netrw#GX()))<cr>
nno <silent> <Plug>NetrwBrowseX :call netrw#BrowseX(expand((exists("g:netrw_gx")? g:netrw_gx : '<cfile>')),netrw#CheckIfRemote())<cr>
endif
if maparg('gx','v') == ""
if !hasmapto('<Plug>NetrwBrowseXVis')
@ -103,7 +103,7 @@ fun! s:LocalBrowse(dirname)
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
" Otherwise, the BufEnter event gets triggered when attempts to write to
" the DBG buffer are made.
if !exists("s:vimentered")
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.

View File

@ -247,17 +247,18 @@ an 50.50.170 &Syntax.HIJK.Hercules :cal SetSyn("hercules")<CR>
an 50.50.180 &Syntax.HIJK.Hex\ dump.XXD :cal SetSyn("xxd")<CR>
an 50.50.190 &Syntax.HIJK.Hex\ dump.Intel\ MCS51 :cal SetSyn("hex")<CR>
an 50.50.200 &Syntax.HIJK.Hg\ commit :cal SetSyn("hgcommit")<CR>
an 50.50.210 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
an 50.50.220 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
an 50.50.230 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
an 50.50.240 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
an 50.50.250 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
an 50.50.260 &Syntax.HIJK.HTML.Vue.js\ HTML\ template :cal SetSyn("vuejs")<CR>
an 50.50.270 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
an 50.50.280 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
an 50.50.290 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
an 50.50.300 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
an 50.50.310 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
an 50.50.210 &Syntax.HIJK.Hollywood :cal SetSyn("hollywood")<CR>
an 50.50.220 &Syntax.HIJK.HTML.HTML :cal SetSyn("html")<CR>
an 50.50.230 &Syntax.HIJK.HTML.HTML\ with\ M4 :cal SetSyn("htmlm4")<CR>
an 50.50.240 &Syntax.HIJK.HTML.HTML\ with\ Ruby\ (eRuby) :cal SetSyn("eruby")<CR>
an 50.50.250 &Syntax.HIJK.HTML.Cheetah\ HTML\ template :cal SetSyn("htmlcheetah")<CR>
an 50.50.260 &Syntax.HIJK.HTML.Django\ HTML\ template :cal SetSyn("htmldjango")<CR>
an 50.50.270 &Syntax.HIJK.HTML.Vue.js\ HTML\ template :cal SetSyn("vuejs")<CR>
an 50.50.280 &Syntax.HIJK.HTML.HTML/OS :cal SetSyn("htmlos")<CR>
an 50.50.290 &Syntax.HIJK.HTML.XHTML :cal SetSyn("xhtml")<CR>
an 50.50.300 &Syntax.HIJK.Host\.conf :cal SetSyn("hostconf")<CR>
an 50.50.310 &Syntax.HIJK.Hosts\ access :cal SetSyn("hostsaccess")<CR>
an 50.50.320 &Syntax.HIJK.Hyper\ Builder :cal SetSyn("hb")<CR>
an 50.50.330 &Syntax.HIJK.Icewm\ menu :cal SetSyn("icemenu")<CR>
an 50.50.340 &Syntax.HIJK.Icon :cal SetSyn("icon")<CR>
an 50.50.350 &Syntax.HIJK.IDL\Generic\ IDL :cal SetSyn("idl")<CR>

20
runtime/syntax/bash.vim Normal file
View File

@ -0,0 +1,20 @@
" Vim syntax file
" Language: bash
" Maintainer: Bram
" Last Change: 2019 Sep 27
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" The actual syntax is in sh.vim and controlled by buffer-local variables.
unlet! b:is_sh
unlet! b:is_kornshell
let b:is_bash = 1
runtime! syntax/sh.vim
let b:current_syntax = 'bash'
" vim: ts=8

View File

@ -32,8 +32,8 @@ syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\
syn match zoneSpecial contained /^[@*.]\s/
syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
syn keyword zoneClass contained IN CHAOS nextgroup=zoneRRType,zoneTTL skipwhite
syn keyword zoneRRType contained A AAAA CNAME DNAME HINFO MX NS PTR SOA SRV TXT SPF nextgroup=zoneRData skipwhite
syn keyword zoneClass contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite
syn keyword zoneRRType contained A AAAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RP RRSIG SSHFP SOA SPF SRV TLSA TXT nextgroup=zoneRData skipwhite
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/

View File

@ -3,7 +3,7 @@
" Maintainer: Nick Jensen <nickspoon@gmail.com>
" Former Maintainers: Anduin Withers <awithers@anduin.com>
" Johannes Zellner <johannes@zellner.org>
" Last Change: 2018-11-26
" Last Change: 2019-08-01
" Filenames: *.cs
" License: Vim (see :h license)
" Repository: https://github.com/nickspoons/vim-cs
@ -51,9 +51,11 @@ syn region csTypeOfStatement start="typeof(" end=")" contains=csType, csTypeOf
" Punctuation
syn match csBraces "[{}\[\]]" display
syn match csParens "[()]" display
syn match csOpSymbols "[+\-=]\{1,2}" display
syn match csOpSymbols "[><]\{2}" display
syn match csOpSymbols "\s\zs[><]\ze\_s" display
syn match csOpSymbols "+\{1,2}" display
syn match csOpSymbols "-\{1,2}" display
syn match csOpSymbols "=\{1,2}" display
syn match csOpSymbols ">\{1,2}" display
syn match csOpSymbols "<\{1,2}" display
syn match csOpSymbols "[!><+\-*/]=" display
syn match csOpSymbols "[!*/^]" display
syn match csOpSymbols "=>" display
@ -63,6 +65,9 @@ syn match csLogicSymbols "||" display
syn match csLogicSymbols "?" display
syn match csLogicSymbols ":" display
" Generics
syn region csGeneric matchgroup=csGenericBraces start="<" end=">" oneline contains=csType,csGeneric,csUserType,csUserIdentifier,csUserInterface,csUserMethod
" Comments
"
" PROVIDES: @csCommentHook
@ -87,8 +92,8 @@ syn keyword csXmlTag contained list listheader item term description altcomplian
syn cluster xmlTagHook add=csXmlTag
syn match csXmlCommentLeader +\/\/\/+ contained
syn match csXmlComment +\/\/\/.*$+ contains=csXmlCommentLeader,@csXml,@Spell
syn match csXmlCommentLeader "///" contained
syn match csXmlComment "///.*$" contains=csXmlCommentLeader,@csXml,@Spell keepend
syn include @csXml syntax/xml.vim
hi def link xmlRegion Comment
@ -100,7 +105,8 @@ syn region csSummary start="^\s*/// <summary" end="^\%\(\s*///\)\@!" transparent
syn region csClassType start="@\@1<!\<class\>"hs=s+6 end="[:\n{]"me=e-1 contains=csClass
syn region csNewType start="@\@1<!\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew contains=csNewType
" csUserType may be defined by user scripts/plugins - it should be contained in csNewType
syn region csNewType start="@\@1<!\<new\>"hs=s+4 end="[;\n{(<\[]"me=e-1 contains=csNew,csUserType
syn region csIsType start=" is "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
syn region csIsType start=" as "hs=s+4 end="[A-Za-z0-9]\+" oneline contains=csIsAs
syn keyword csNew new contained
@ -146,7 +152,7 @@ syn region csInterVerbString matchgroup=csQuote start=+\$@"+ end=+"+ skip=+""+ e
syn region csBracketed matchgroup=csParens start=+(+ end=+)+ contained transparent contains=@csAll,csBracketed
syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString
syn cluster csAll contains=csCharacter,csClassType,csComment,csContextualStatement,csEndColon,csInterpolatedString,csIsType,csLabel,csLogicSymbols,csNewType,csConstant,csNumber,csOpSymbols,csOperatorError,csParens,csPreCondit,csRegion,csString,csSummary,csType,csUnicodeNumber,csUnicodeSpecifier,csVerbatimString,csUserType,csUserIdentifier,csUserInterface,csUserMethod
" The default highlighting.
hi def link csType Type
@ -160,7 +166,7 @@ hi def link csLabel Label
hi def link csModifier StorageClass
hi def link csConstant Constant
hi def link csException Exception
hi def link csTypeOf Operator
hi def link csTypeOf Keyword
hi def link csTypeOfStatement Typedef
hi def link csUnspecifiedStatement Statement
hi def link csUnsupportedStatement Statement
@ -198,6 +204,8 @@ hi def link csInterpolationAlignDel csInterpolationDelimiter
hi def link csInterpolationFormat csInterpolationDelimiter
hi def link csInterpolationFormatDel csInterpolationDelimiter
hi def link csGenericBraces csBraces
" xml markup
hi def link csXmlCommentLeader Comment
hi def link csXmlComment Comment

View File

@ -6,8 +6,7 @@
" Nikolai Weibull (Add CSS2 support)
" URL: https://github.com/JulesWang/css.vim
" Maintainer: Jules Wang <w.jq0722@gmail.com>
" Last Change: 2018 Feb. 27
" cssClassName updated by Ryuichi Hayashida Jan 2016
" Last Change: 2019 Jul. 29
" quit when a syntax file was already loaded
if !exists("main_syntax")
@ -69,7 +68,7 @@ endtry
" digits
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)\>" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|fr\|vw\|vh\|vmin\|vmax\)\>" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=%" contains=cssUnitDecorators
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)\>" contains=cssUnitDecorators
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)\>" contains=cssUnitDecorators
@ -114,6 +113,7 @@ syn keyword cssColor contained ActiveBorder ActiveCaption AppWorkspace ButtonFac
syn case ignore
syn match cssImportant contained "!\s*important\>"
syn match cssCustomProp contained "--[a-zA-Z0-9-_]*"
syn match cssColor contained "\<transparent\>"
syn match cssColor contained "\<currentColor\>"
@ -123,6 +123,7 @@ syn match cssColor contained "#\x\{6\}\>" contains=cssUnitDecorators
syn match cssColor contained "#\x\{8\}\>" contains=cssUnitDecorators
syn region cssURL contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(var\|calc\)\s*(" end=")" contains=cssCustomProp,cssValue.*,cssFunction,cssColor,cssStringQ,cssStringQQ oneline
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
@ -193,6 +194,9 @@ syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
syn keyword cssBoxAttr contained visible hidden scroll auto
syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
syn keyword cssCascadeProp contained all
syn keyword cssCascadeAttr contained initial unset revert
syn keyword cssColorProp contained opacity
syn match cssColorProp contained "\<color-profile\>"
syn match cssColorProp contained "\<rendering-intent\>"
@ -273,10 +277,10 @@ syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
" https://www.w3.org/TR/css-grid-1/
syn match cssGridProp contained "\<grid\>"
syn match cssGridProp contained "\<grid\(-\(template\|auto\)\)\=\(-\(columns\|rows\|areas\)\)\>"
syn match cssGridProp contained "\<grid-template\(-\(columns\|rows\|areas\)\)\=\>"
syn match cssGridProp contained "\<grid-\(column\|row\)\(-\(start\|end\|gap\)\)\=\>"
syn match cssGridProp contained "\<grid-\(area\|gap\)\>"
syn match cssGridProp contained "\<grid-auto-flow\>"
syn match cssGridProp contained "\<grid-auto-\(flow\|rows\|columns\)\>"
syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
@ -295,6 +299,7 @@ syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\
syn keyword cssPositioningAttr contained left right both
syn match cssPositioningAttr contained "\<list-item\>"
syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\|grid\|flex\)\)\=\>"
syn match cssPositioningAttr contained "\<flow\(-root\)\=\>"
syn keyword cssPositioningAttr contained static relative absolute fixed subgrid
syn keyword cssPrintAttr contained landscape portrait crop cross always
@ -303,12 +308,13 @@ syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collaps
syn keyword cssTableAttr contained fixed collapse separate show hide once always
syn keyword cssTextProp contained color direction
syn keyword cssTextProp contained color direction hyphens
syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
syn match cssTextProp contained "\<\(word\|line\)-break\|\(overflow\|word\)-wrap\>"
syn match cssTextProp contained "\<white-space\>"
syn match cssTextProp contained "\<hanging-punctuation\>"
syn match cssTextProp contained "\<tab-size\>"
syn match cssTextProp contained "\<punctuation-trim\>"
syn match cssTextAttr contained "\<line-through\>"
syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
@ -316,7 +322,7 @@ syn keyword cssTextAttr contained ltr rtl embed nowrap
syn keyword cssTextAttr contained underline overline blink sub super middle
syn keyword cssTextAttr contained capitalize uppercase lowercase
syn keyword cssTextAttr contained justify baseline sub super
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed geometricPrecision
syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
syn keyword cssTextAttr contained start end adjacent
@ -325,7 +331,7 @@ syn keyword cssTextAttr contained distribute kashida first last
syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
syn match cssTextAttr contained "\<break-all\>"
syn match cssTextAttr contained "\<break-word\>"
syn keyword cssTextAttr contained hyphenate
syn keyword cssTextAttr contained manual
syn match cssTextAttr contained "\<bidi-override\>"
syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
@ -408,13 +414,13 @@ syn keyword cssAuralAttr contained male female child code digits continuous
" mobile text
syn match cssMobileTextProp contained "\<text-size-adjust\>"
syn keyword cssMediaProp contained width height orientation scan grid
syn keyword cssMediaProp contained width height orientation scan
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(\(device\)-\)\=aspect-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
syn keyword cssMediaAttr contained portrait landscape progressive interlace
syn match cssKeyFrameProp /\d*%\|from\|to/ contained nextgroup=cssDefinition
syn match cssKeyFrameProp contained /\(\d\+\(\.\d\+\)\?%\|\(\<from\|to\>\)\)/ nextgroup=cssDefinition
syn match cssPageMarginProp /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition
syn keyword cssPageProp contained content size
syn keyword cssPageProp contained orphans widows
@ -426,7 +432,7 @@ syn match cssFontDescriptorAttr contained "U+\x\+-\x\+"
syn match cssBraces contained "[{}]"
syn match cssError contained "{@<>"
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssAttributeSelector,cssClassName,cssIdentifier,cssAtRule,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssCustomProp,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks,cssNoise fold
syn match cssBraceError "}"
syn match cssAttrComma ","
@ -437,7 +443,7 @@ syn keyword cssPseudoClassId contained link visited active hover before after le
syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ
" ------------------------------------
" Vendor specific properties
syn match cssPseudoClassId contained "\<selection\>"
@ -470,19 +476,20 @@ syn match cssHacks contained /\(_\|*\)/
" Attr Enhance
" Some keywords are both Prop and Attr, so we have to handle them
syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
" cssPseudoClassId is hidden by cssAttrRegion, so we add it here. see #69
syn region cssAttrRegion start=/:/ end=/\ze\(;\|)\|}\|{\)/ contained contains=cssPseudoClassId,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
" Hack for transition
" 'transition' has Props after ':'.
syn region cssAttrRegion start=/transition\s*:/ end=/\ze\(;\|)\|}\)/ contained contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/ contained
syn match cssAtKeyword /@\(font-face\|media\|keyframes\|import\|charset\|namespace\|page\|supports\)/
syn keyword cssAtRuleLogical only not and contained
" @media
" Reference: http://www.w3.org/TR/css3-mediaqueries/
syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment nextgroup=cssDefinition
syn region cssAtRule start=/@media\>/ end=/\ze{/ skipwhite skipnl matchgroup=cssAtKeyword contains=cssMediaProp,cssValueLength,cssAtRuleLogical,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssComment,cssCustomProp,cssFunctionName nextgroup=cssDefinition
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained
" @page
@ -497,9 +504,6 @@ syn region cssAtRule start=/@import\>/ end=/\ze;/ contains=cssStringQ,cssStri
syn region cssAtRule start=/@charset\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
syn region cssAtRule start=/@namespace\>/ end=/\ze;/ contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssAtKeyword
" @font-face
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
syn match cssAtRule "@font-face\>" nextgroup=cssFontDescriptorBlock
" @supports
" https://www.w3.org/TR/css3-conditional/#at-supports
syn region cssAtRule start=/@supports\>/ end=/\ze{/ skipwhite skipnl contains=cssAtRuleLogical,cssAttrRegion,css.*Prop,cssValue.*,cssVendor,cssAtKeyword,cssComment nextgroup=cssDefinition
@ -525,6 +529,7 @@ hi def link cssAnimationProp cssProp
hi def link cssBackgroundProp cssProp
hi def link cssBorderProp cssProp
hi def link cssBoxProp cssProp
hi def link cssCascadeProp cssProp
hi def link cssColorProp cssProp
hi def link cssContentForPagedMediaProp cssProp
hi def link cssDimensionProp cssProp
@ -585,6 +590,7 @@ hi def link cssUIAttr cssAttr
hi def link cssIEUIAttr cssAttr
hi def link cssAuralAttr cssAttr
hi def link cssRenderAttr cssAttr
hi def link cssCascadeAttr cssAttr
hi def link cssCommonAttr cssAttr
hi def link cssPseudoClassId PreProc
@ -604,6 +610,7 @@ hi def link cssIdentifier Function
hi def link cssAtRule Include
hi def link cssAtKeyword PreProc
hi def link cssImportant Special
hi def link cssCustomProp Special
hi def link cssBraces Function
hi def link cssBraceError Error
hi def link cssError Error

View File

@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2019 Apr 21
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|bookworm|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Debian copyright file
" Maintainer: Debian Vim Maintainers
" Last Change: 2018 Feb 05
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcopyright.vim
" Standard syntax initialization
@ -15,7 +15,7 @@ set cpo&vim
syn case match
syn match debcopyrightUrl "\vhttps?://[[:alnum:]][-[:alnum:]]*[[:alnum:]]?(\.[[:alnum:]][-[:alnum:]]*[[:alnum:]]?)*\.[[:alpha:]][-[:alnum:]]*[[:alpha:]]?(:\d+)?(/[^[:space:]]*)?$"
syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\): *"
syn match debcopyrightKey "^\%(Format\|Upstream-Name\|Upstream-Contact\|Disclaimer\|Source\|Comment\|Files\|Copyright\|License\|Files-Excluded\%(-[-a-zA-Z0-9]\+\)\=\): *"
syn match debcopyrightEmail "[_=[:alnum:]\.+-]\+@[[:alnum:]\./\-]\+"
syn match debcopyrightEmail "<.\{-}>"
syn match debcopyrightComment "^#.*$" contains=@Spell

View File

@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2019 Apr 21
" Last Change: 2019 Sep 07
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@ -26,7 +26,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'eoan', 'devel'
\ 'trusty', 'xenial', 'bionic', 'disco', 'eoan', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
@ -35,7 +35,7 @@ let s:unsupported = [
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
\ 'maverick', 'natty', 'oneiric', 'precise', 'quantal', 'raring', 'saucy',
\ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful'
\ 'utopic', 'vivid', 'wily', 'yakkety', 'zesty', 'artful', 'cosmic'
\ ]
let &cpo=s:cpo

View File

@ -1,7 +1,7 @@
" dockerfile.vim - Syntax highlighting for Dockerfiles
" Maintainer: Honza Pokorny <https://honza.ca>
" Version: 0.6
" Last Change: 2016 Aug 9
" Last Change: 2019 Aug 16
" License: BSD
@ -15,6 +15,8 @@ syntax case ignore
syntax match dockerfileKeyword /\v^\s*(ONBUILD\s+)?(ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)\s/
syntax match dockerfileKeyword /\v(AS)/
syntax region dockerfileString start=/\v"/ skip=/\v\\./ end=/\v"/
syntax match dockerfileComment "\v^\s*#.*$"

View File

@ -1,12 +1,13 @@
" Vim syntax file
" Language: FreeBasic
" Maintainer: Mark Manning <markem@airmail.net>
" Updated: 10/22/2006
" Maintainer: Mark Manning <markem@sim1.us>
" Updated: 10/9/2019
" Version: 7.0b
"
" Description:
"
" Based originally on the work done by Allan Kelly <Allan.Kelly@ed.ac.uk>
" Updated by Mark Manning <markem@airmail.net>
" Updated by Mark Manning <markem@sim1.us>
" Applied FreeBasic support to the already excellent support
" for standard basic syntax (like QB).
"
@ -138,7 +139,7 @@ syn keyword freebasicUserInput GETJOYSTICK GETKEY GETMOUSE INKEY INPUT MULTIKEY
" types of identifiers like functions, basic commands and
" such. MEM 9/9/2006
"
syn match freebasicIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match freebasicIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>"
syn match freebasicGenericFunction "\<[a-zA-Z_][a-zA-Z0-9_]*\>\s*("me=e-1,he=e-1
"
" Function list
@ -154,9 +155,13 @@ syn cluster freebasicParenGroup contains=freebasicParenError,freebasicSpecial,fr
"
" Integer number, or floating point number without a dot and with "f".
"
syn region freebasicHex start="&h" end="\W"
syn region freebasicHexError start="&h\x*[g-zG-Z]" end="\W"
syn match freebasicInteger "\<\d\+\(u\=l\=\|lu\|f\)\>"
syn region freebasicHex start="&h" end="\W"
syn region freebasicHexError start="&h\x*[g-zG-Z]" end="\W"
syn region freebasicOctal start="&o" end="\W"
syn region freebasicOctalError start="&o[0-7]*[89a-zA-Z]" end="\W"
syn region freebasicBinary start="&b" end="\W"
syn region freebasicBinaryError start="&b[01]*[2-9a-zA-Z]" end="\W"
syn match freebasicInteger "\<\d\+\(u\=l\=\|lu\|f\)\>"
"
" Floating point number, with dot, optional exponent
"
@ -170,11 +175,11 @@ syn match freebasicFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
"
syn match freebasicFloat "\<\d\+e[-+]\=\d\+[fl]\=\>"
"
" Hex number
" Octal number
"
syn case match
syn match freebasicOctal "\<0\o*\>"
syn match freebasicOctalError "\<0\o*[89]"
syn match freebasicOctal2 "\<0\o*\>"
syn match freebasicOctal2Error "\<0\o*[89a-zA-Z]"
"
" String and Character contstants
"
@ -183,7 +188,7 @@ syn region freebasicString start="'" end="'" contains=freebasicSpecial,freebasi
"
" Comments
"
syn match freebasicSpecial contained "\\."
syn match freebasicSpecial contained "\\\\."
syn region freebasicComment start="^rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start=":\s*rem" end="$" contains=freebasicSpecial,freebasicTodo
syn region freebasicComment start="\s*'" end="$" contains=freebasicSpecial,freebasicTodo
@ -197,12 +202,12 @@ syn region freebasicLineNumber start="^\d" end="\s"
"
" Create the clusters
"
syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicInteger,freebasicFloat
syn cluster freebasicError contains=freebasicHexError,freebasicOctalError
syn cluster freebasicNumber contains=freebasicHex,freebasicOctal,freebasicOctal2,freebasicBinary,freebasicInteger,freebasicFloat
syn cluster freebasicError contains=freebasicHexError,freebasicOctalError,freebasicOctal2,freebasicBinary
"
" Used with OPEN statement
"
syn match freebasicFilenumber "#\d\+"
syn match freebasicFilenumber "#\d\+"
syn match freebasicMathOperator "[\+\-\=\|\*\/\>\<\%\()[\]]" contains=freebasicParen
"
" The default methods for highlighting. Can be overridden later

View File

@ -2,7 +2,7 @@
" Language: git config file
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: gitconfig, .gitconfig, *.git/config
" Last Change: 2010 May 21
" Last Change: 2019 Sep 27
if exists("b:current_syntax")
finish
@ -13,7 +13,7 @@ setlocal iskeyword-=_
syn case ignore
syn sync minlines=10
syn match gitconfigComment "[#;].*"
syn match gitconfigComment "[#;].*" contains=@Spell
syn match gitconfigSection "\%(^\s*\)\@<=\[[a-z0-9.-]\+\]"
syn match gitconfigSection '\%(^\s*\)\@<=\[[a-z0-9.-]\+ \+\"\%([^\\"]\|\\.\)*"\]'
syn match gitconfigVariable "\%(^\s*\)\@<=\a\k*\%(\s*\%([=#;]\|$\)\)\@=" nextgroup=gitconfigAssignment skipwhite

View File

@ -1,8 +1,9 @@
" Vim syntax file
" Language: hog (Snort.conf + .rules)
" Maintainer: Victor Roemer, <vroemer@badsec.org>.
" Last Change: 2015 Oct 24 -> Rename syntax items from Snort -> Hog
" Last Change: 2019 Sep 22
" 2012 Oct 24 -> Originalish release
" 2019 Sep 22 -> included PR 3069
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@ -91,7 +92,7 @@ syn match HogOpRange ":" contained
" Rules
syn keyword HogRuleAction activate alert drop block dynamic log pass reject sdrop sblock skipwhite nextgroup=HogRuleProto,HogRuleBlock
syn keyword HogRuleProto ip tcp udp icmp skipwhite contained nextgroup=HogRuleSrcIP
syn keyword HogRuleProto ip tcp tcp-pkt tcp-stream udp icmp http ftp tls smb dns dcerpc ssh smtp imap msn modbus dnp3 enip nfs ikev2 ntp skipwhite contained nextgroup=HogRuleSrcIP
syn match HogRuleSrcIP "\S\+" transparent skipwhite contained contains=HogIPVarList,HogIPAddr,HogVar,HogOpNot nextgroup=HogRuleSrcPort
syn match HogRuleSrcPort "\S\+" transparent skipwhite contained contains=HogPortVarList,HogVar,HogPort,HogOpRange,HogOpNot nextgroup=HogRuleDir
syn match HogRuleDir "->\|<>" skipwhite contained nextgroup=HogRuleDstIP
@ -100,13 +101,21 @@ syn match HogRuleDstPort "\S\+" transparent skipwhite contained contain
syn region HogRuleBlock start="(" end=")" transparent skipwhite contained contains=HogRuleOption,HogComment fold
",HogString,HogComment,HogVar,HogOptNot
"syn region HogRuleOption start="\<gid\|sid\|rev\|depth\|offset\|distance\|within\>" end="\ze;" skipwhite contained contains=HogNumber
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP msg gid sid rev classtype priority metadata content nocase rawbytes
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP depth offset distance within http_client_body http_cookie http_raw_cookie http_header
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP http_raw_header http_method http_uri http_raw_uri http_stat_code http_stat_msg
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP fast_pattern uricontent urilen isdataat pcre pkt_data file_data base64_decode base64_data
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP byte_test byte_jump byte_extract ftpbounce asn1 cvs dce_iface dce_opnum dce_stub_data
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP msg gid sid rev classtype priority metadata target content nocase rawbytes
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP depth startswith offset distance within http_client_body http_cookie http_raw_cookie http_header
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP http_raw_header http_request_line http_method http_uri http_raw_uri http_protocol http_response_line http_stat_code http_stat_msg
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP http_user_agent http_accept http_accept_enc http_accept_lang http_connection http_content_type http_content_len
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP http_referer http_start http_header_names http_server_body http_host http_raw_host
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP filename fileext filemagic filestore filemd5 filesha1 filesha256 filesize
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP dns_query tls_cert_subject tls_cert_issuer tls_cert_serial tls_cert_fingerprint
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP tls_sni tls_cert_notbefore tls_cert_notafter tls_cert_expired tls_cert_valid
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP tls.version tls.subject tls.issuerdn tls.fingerprint tls.store ja3_hash ja3_string
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP modbus dnp3_func dnp3_ind dnp3_obj dnp3_data enip_command cip_service
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP app-layer-protocol app-layer-event xbits iprep lua luajit
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP fast_pattern prefilter uricontent urilen isdataat pcre pkt_data file_data base64_decode base64_data
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP byte_test byte_jump byte_extract ftpdata_command ftpbounce asn1 cvs dce_iface dce_opnum dce_stub_data
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP sip_method sip_stat_code sip_header sip_body gtp_type gtp_info gtp_version ssl_version
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP ssl_state fragoffset ttl tos id ipopts fragbits dsize flags flow flowbits seq ack window
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP ssl_state fragoffset ttl tos id ipopts geoip fragbits dsize flags flow flowbits flowint seq ack window
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP itype icode icmp_id icmp_seq rpc ip_proto sameip stream_reassemble stream_size
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP logto session resp react tag activates activated_by count replace detection_filter
syn keyword HogRuleOption skipwhite contained nextgroup=HogRuleSROP threshold reference sd_pattern file_type file_group

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
" Language: Inno Setup File (iss file) and My InnoSetup extension
" Maintainer: Jason Mills (jmills@cs.mun.ca)
" Previous Maintainer: Dominique St<53>phan (dominique@mggen.com)
" Last Change: 2004 Dec 14
" Last Change: 2019 Sep 27
"
" Todo:
" - The paramter String: is matched as flag string (because of case ignore).
@ -45,13 +45,13 @@ syn match issParam "Components:\|Description:\|GroupDescription:\|Types:\|Extra
syn match issParam "StatusMsg:\|RunOnceId:\|Tasks:"
syn match issParam "MessagesFile:\|LicenseFile:\|InfoBeforeFile:\|InfoAfterFile:"
syn match issComment "^\s*;.*$"
syn match issComment "^\s*;.*$" contains=@Spell
" folder constant
syn match issFolder "{[^{]*}"
syn match issFolder "{[^{]*}" contains=@NoSpell
" string
syn region issString start=+"+ end=+"+ contains=issFolder
syn region issString start=+"+ end=+"+ contains=issFolder,@Spell
" [Dirs]
syn keyword issDirsFlags deleteafterinstall uninsalwaysuninstall uninsneveruninstall

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Jargon File
" Maintainer: <rms@poczta.onet.pl>
" Last Change: 2001 May 26
" Maintainer: Dan Church (https://github.com/h3xx)
" Last Change: 2019 Sep 27
"
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@ -11,7 +11,7 @@ endif
syn match jargonChaptTitle /:[^:]*:/
syn match jargonEmailAddr /[^<@ ^I]*@[^ ^I>]*/
syn match jargonUrl +\(http\|ftp\)://[^\t )"]*+
syn match jargonMark /{[^}]*}/
syn region jargonMark start="{" end="}"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet

View File

@ -7,7 +7,7 @@
" (ss) repaired several quoting and grouping glitches
" (ss) fixed regex parsing issue with multiple qualifiers [gi]
" (ss) additional factoring of keywords, globals, and members
" Last Change: 2018 Jul 28
" Last Change: 2019 Sep 27
" 2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
" 2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
@ -48,7 +48,7 @@ syn keyword javaScriptRepeat while for do in
syn keyword javaScriptBranch break continue
syn keyword javaScriptOperator new delete instanceof typeof
syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp
syn keyword javaScriptStatement return with
syn keyword javaScriptStatement return with await
syn keyword javaScriptBoolean true false
syn keyword javaScriptNull null undefined
syn keyword javaScriptIdentifier arguments this var let
@ -58,7 +58,7 @@ syn keyword javaScriptMessage alert confirm prompt status
syn keyword javaScriptGlobal self window top parent
syn keyword javaScriptMember document event location
syn keyword javaScriptDeprecated escape unescape
syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile
syn keyword javaScriptReserved abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile async
syn cluster javaScriptEmbededExpr contains=javaScriptBoolean,javaScriptNull,javaScriptIdentifier,javaScriptStringD,javaScriptStringS,javaScriptStringT

View File

@ -0,0 +1,2 @@
" Placeholder for backwards compatilibity: .jsx used to stand for JavaScript.
runtime! syntax/javascript.vim

View File

@ -2,7 +2,7 @@
" Language: JSON
" Maintainer: vacancy
" Previous Maintainer: Eli Parra <eli@elzr.com>
" Last Change: 2019 Jul 08
" Last Change: 2019 Sep 17
" Version: 0.12
if !exists("main_syntax")
@ -20,7 +20,7 @@ syntax match jsonNoise /\%(:\|,\)/
" Syntax: JSON Keywords
" Separated into a match and region because a region by itself is always greedy
syn match jsonKeywordMatch /"\([^"]\|\\\"\)\+"[[:blank:]\r\n]*\:/ contains=jsonKeyword
if has('conceal')
if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ concealends contained
else
syn region jsonKeyword matchgroup=jsonQuote start=/"/ end=/"\ze[[:blank:]\r\n]*\:/ contained
@ -31,7 +31,7 @@ endif
" Needs to come after keywords or else a json encoded string will break the
" syntax
syn match jsonStringMatch /"\([^"]\|\\\"\)\+"\ze[[:blank:]\r\n]*[,}\]]/ contains=jsonString
if has('conceal')
if has('conceal') && (!exists("g:vim_json_conceal") || g:vim_json_conceal==1)
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ concealends contains=jsonEscape contained
else
syn region jsonString oneline matchgroup=jsonQuote start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=jsonEscape contained

View File

@ -48,7 +48,7 @@ syn match ldSpecSections '\.\%(text\|data\|bss\|symver\)\>'
syn match ldNumber display '\<0[xX]\x\+\>'
syn match ldNumber display '\d\+[KM]\>' contains=ldNumberMult
syn match ldNumberMult display '[KM]\>'
syn match ldNumberMult display '\(\d\+\)\@<=[KM]\>'
syn match ldOctal contained display '\<0\o\+\>'
\ contains=ldOctalZero
syn match ldOctalZero contained display '\<0'

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Murphi model checking language
" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com>
" Last Change: 2017 Aug 27
" Last Change: 2019 Aug 27
" Version: 2
" Remark: Originally authored by Diego Ongaro <ongaro@cs.stanford.edu>
@ -61,7 +61,6 @@ syn keyword murphiFunction multisetcount
syn keyword murphiFunction multisetremove
syn keyword murphiFunction multisetremovepred
syn keyword murphiKeyword procedure
syn keyword murphiKeyword process
syn keyword murphiKeyword program
syn keyword murphiKeyword put
syn keyword murphiStructure record
@ -89,7 +88,7 @@ syn match murphiNumber "\<\d\+\>"
" Operators and special characters.
syn match murphiOperator "[\+\-\*\/%&|=!<>:\?]\|\."
syn match murphiDelimiter "\(:[^=]\|[;,]\)"
syn match murphiDelimiter "\(:=\@!\|[;,]\)"
syn match murphiSpecial "[()\[\]]"
" Double equal sign is a common error: use one equal sign for equality testing.

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: BIND configuration file
" Maintainer: Nick Hibma <nick@van-laarhoven.org>
" Last Change: 2007-01-30
" Last Change: 2019 Oct 08
" Filenames: named.conf, rndc.conf
" Location: http://www.van-laarhoven.org/vim/syntax/named.vim
"
@ -54,7 +54,7 @@ syn match namedIntIdent contained /"\=\k\+"\=/ nextgroup=namedIntSection skipwhi
syn region namedSection contained start=+{+ end=+};+ contains=namedSection,namedIntKeyword
" --- IntSection: section that does not contain other sections
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError,namedComment
" --- IntKeyword: keywords contained within `{ ... }' sections only
" + these keywords are contained within `key' and `acl' sections

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